aboutsummaryrefslogtreecommitdiffstats
path: root/ioerrs.c
diff options
context:
space:
mode:
Diffstat (limited to 'ioerrs.c')
-rw-r--r--ioerrs.c193
1 files changed, 193 insertions, 0 deletions
diff --git a/ioerrs.c b/ioerrs.c
new file mode 100644
index 0000000..7efa5d7
--- /dev/null
+++ b/ioerrs.c
@@ -0,0 +1,193 @@
+/* ioerrs.c */
+/*****************************************************************************/
+/* AS-Portierung */
+/* */
+/* Abliefern der I/O-Fehlermeldungen */
+/* */
+/* Historie: 11.10.1996 Grundsteinlegung */
+/* */
+/*****************************************************************************/
+
+#include "stdinc.h"
+#include <errno.h>
+#include "nlmessages.h"
+#include "ioerrs.rsc"
+#include "ioerrs.h"
+
+typedef struct
+ {
+ int Code;
+ int Msg;
+ } ErrorDef;
+
+static TMsgCat MsgCat;
+
+static ErrorDef ErrorDefs[]={
+#ifdef EPERM
+ {EPERM , Num_IoErr_EPERM},
+#endif
+#ifdef ENOENT
+ {ENOENT , Num_IoErr_ENOENT},
+#endif
+#ifdef ESRCH
+ {ESRCH , Num_IoErr_ESRCH},
+#endif
+#ifdef EINTR
+ {EINTR , Num_IoErr_EINTR},
+#endif
+#ifdef EIO
+ {EIO , Num_IoErr_EIO},
+#endif
+#ifdef ENXIO
+ {ENXIO , Num_IoErr_ENXIO},
+#endif
+#ifdef E2BIG
+ {E2BIG , Num_IoErr_E2BIG},
+#endif
+#ifdef ENOEXEC
+ {ENOEXEC , Num_IoErr_ENOEXEC},
+#endif
+#ifdef EBADF
+ {EBADF , Num_IoErr_EBADF},
+#endif
+#ifdef ECHILD
+ {ECHILD , Num_IoErr_ECHILD},
+#endif
+#ifdef EDEADLK
+ {EDEADLK , Num_IoErr_EDEADLK},
+#endif
+#ifdef ENOMEM
+ {ENOMEM , Num_IoErr_ENOMEM},
+#endif
+#ifdef EACCES
+ {EACCES , Num_IoErr_EACCES},
+#endif
+#ifdef EFAULT
+ {EFAULT , Num_IoErr_EFAULT},
+#endif
+#ifdef ENOTBLK
+ {ENOTBLK , Num_IoErr_ENOTBLK},
+#endif
+#ifdef EBUSY
+ {EBUSY , Num_IoErr_EBUSY},
+#endif
+#ifdef EEXIST
+ {EEXIST , Num_IoErr_EEXIST},
+#endif
+#ifdef EXDEV
+ {EXDEV , Num_IoErr_EXDEV},
+#endif
+#ifdef ENODEV
+ {ENODEV , Num_IoErr_ENODEV},
+#endif
+#ifdef ENOTDIR
+ {ENOTDIR , Num_IoErr_ENOTDIR},
+#endif
+#ifdef EISDIR
+ {EISDIR , Num_IoErr_EISDIR},
+#endif
+#ifdef EINVAL
+ {EINVAL , Num_IoErr_EINVAL},
+#endif
+#ifdef ENFILE
+ {ENFILE , Num_IoErr_ENFILE},
+#endif
+#ifdef EMFILE
+ {EMFILE , Num_IoErr_EMFILE},
+#endif
+#ifdef ENOTTY
+ {ENOTTY , Num_IoErr_ENOTTY},
+#endif
+#ifdef ETXTBSY
+ {ETXTBSY , Num_IoErr_ETXTBSY},
+#endif
+#ifdef EFBIG
+ {EFBIG , Num_IoErr_EFBIG},
+#endif
+#ifdef ENOSPC
+ {ENOSPC , Num_IoErr_ENOSPC},
+#endif
+#ifdef ESPIPE
+ {ESPIPE , Num_IoErr_ESPIPE},
+#endif
+#ifdef EROFS
+ {EROFS , Num_IoErr_EROFS},
+#endif
+#ifdef EMLINK
+ {EMLINK , Num_IoErr_EMLINK},
+#endif
+#ifdef EPIPE
+ {EPIPE , Num_IoErr_EPIPE},
+#endif
+#ifdef EDOM
+ {EDOM , Num_IoErr_EDOM},
+#endif
+#ifdef ERANGE
+ {ERANGE , Num_IoErr_ERANGE},
+#endif
+#ifdef ENAMETOOLONG
+ {ENAMETOOLONG, Num_IoErr_ENAMETOOLONG},
+#endif
+#ifdef ENOLCK
+ {ENOLCK , Num_IoErr_ENOLCK},
+#endif
+#ifdef ENOSYS
+ {ENOSYS , Num_IoErr_ENOSYS},
+#endif
+#ifdef ENOTEMPTY
+ {ENOTEMPTY , Num_IoErr_ENOTEMPTY},
+#endif
+#ifdef ELOOP
+ {ELOOP , Num_IoErr_ELOOP},
+#endif
+#ifdef EWOULDBLOCK
+ {EWOULDBLOCK , Num_IoErr_EWOULDBLOCK},
+#endif
+#ifdef ENOMSG
+ {ENOMSG , Num_IoErr_ENOMSG},
+#endif
+#ifdef EIDRM
+ {EIDRM , Num_IoErr_EIDRM},
+#endif
+#ifdef ECHRNG
+ {ECHRNG , Num_IoErr_ECHRNG},
+#endif
+#ifdef EL2NSYNC
+ {EL2NSYNC , Num_IoErr_EL2NSYNC},
+#endif
+#ifdef EL3HLT
+ {EL3HLT , Num_IoErr_EL3HLT},
+#endif
+#ifdef EL3RST
+ {EL3RST , Num_IoErr_EL3RST},
+#endif
+#ifdef ELNRNG
+ {ELNRNG , Num_IoErr_ELNRNG},
+#endif
+#ifdef EUNATCH
+ {EUNATCH , Num_IoErr_EUNATCH},
+#endif
+#ifdef ENOCSI
+ {ENOCSI , Num_IoErr_ENOCSI},
+#endif
+ {-1,-1}};
+
+ char *GetErrorMsg(int number)
+BEGIN
+ static String hs;
+ ErrorDef *z;
+
+ for (z=ErrorDefs; z->Msg!=-1; z++)
+ if (number==z->Code) break;
+
+ if (z->Msg!=-1) return catgetmessage(&MsgCat,z->Msg);
+ else
+ BEGIN
+ sprintf(hs,"%s%d",catgetmessage(&MsgCat,Num_IoErrUnknown),number); return hs;
+ END
+END
+
+ void ioerrs_init(char *ProgPath)
+BEGIN
+ opencatalog(&MsgCat,"ioerrs.msg",ProgPath,MsgId1,MsgId2);
+END