dect
/
asl
Archived
13
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
asl/ioerrs.c

194 lines
4.2 KiB
C

/* 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