errno.mh

来自「开放源码的编译器open watcom 1.6.0版的源代码」· MH 代码 · 共 228 行

MH
228
字号
/*
 *  errno.h     Error numbers
 *
:include crwatqnx.sp
 */
#ifndef _ERRNO_H_INCLUDED
#define _ERRNO_H_INCLUDED
:include readonly.sp
:include cpluspro.sp

#ifndef _COMDEF_H_INCLUDED
 #include <_comdef.h>
#endif

:include errno.sp

:segment !CNAME
:include saferpro.sp

:include errnot.sp

:include saferepi.sp
:endsegment

:segment QNX

/* --- Symbolic names of the error return conditions --- */

#define EOK              0  /* No error                                 */
#define EPERM            1  /* Not owner                                */
#define ENOENT           2  /* No such file or directory                */
#define ESRCH            3  /* No such process                          */
#define EINTR            4  /* Interrupted system call                  */
#define EIO              5  /* I/O error                                */
#define ENXIO            6  /* No such device or address                */
#define E2BIG            7  /* Arg list too big                         */
#define ENOEXEC          8  /* Exec format error                        */
#define EBADF            9  /* Bad file number                          */
#define ECHILD          10  /* No child processes                       */
#define EAGAIN          11  /* Resource unavailable, try again          */
#define ENOMEM          12  /* Not enough space                         */
#define EACCES          13  /* Permission denied                        */
#define EFAULT          14  /* Bad address                              */
#define ENOTBLK         15  /* Block device required                    */
#define EBUSY           16  /* Device or resource busy                  */
#define EEXIST          17  /* File exists                              */
#define EXDEV           18  /* Cross-device link                        */
#define ENODEV          19  /* No such device                           */
#define ENOTDIR         20  /* Not a directory                          */
#define EISDIR          21  /* Is a directory                           */
#define EINVAL          22  /* Invalid argument                         */
#define ENFILE          23  /* File table overflow                      */
#define EMFILE          24  /* Too many open files                      */
#define ENOTTY          25  /* Not a character device                   */
#define ETXTBSY         26  /* Text file busy                           */
#define EFBIG           27  /* File too large                           */
#define ENOSPC          28  /* No space left on device                  */
#define ESPIPE          29  /* Illegal seek                             */
#define EROFS           30  /* Read-only file system                    */
#define EMLINK          31  /* Too many links                           */
#define EPIPE           32  /* Broken pipe                              */
#define EDOM            33  /* Math argument out of domain of function  */
#define ERANGE          34  /* Result too large                         */
#define ENOMSG          35  /* No message of desired type               */
#define EIDRM           36  /* Identifier removed                       */
#define ECHRNG          37  /* Channel number out of range              */
#define EL2NSYNC        38  /* Level 2 not synchronized                 */
#define EL3HLT          39  /* Level 3 halted                           */
#define EL3RST          40  /* Level 3 reset                            */
#define ELNRNG          41  /* Link number out of range                 */
#define EUNATCH         42  /* Protocol driver not attached             */
#define ENOCSI          43  /* No CSI structure available               */
#define EL2HLT          44  /* Level 2 halted                           */
#define EDEADLK         45  /* Deadlock avoided                         */
#define ENOLCK          46  /* No locks available in system             */
#define EILSEQ          47  /* Multibyte/wide character encoding error  */

#define ENOTSUP         77  /* Not supported (1003.4)                   */
#define ENAMETOOLONG    78  /* Name too long                            */

/* --- Shared library errors --- */

#define ELIBACC         83  /* Can't access shared library              */
#define ELIBBAD         84  /* Accessing a corrupted shared library     */
#define ELIBSCN         85  /* .lib section in a.out corrupted          */
#define ELIBMAX         86  /* Attempting to link in too many libraries */
#define ELIBEXEC        87  /* Attempting to exec a shared library      */

/* ----------------------------- */

#define ENOSYS          89  /* Unknown system call                      */
#define ELOOP           90  /* Too many symbolic link or prefix loops   */

#define ENOTEMPTY       93  /* Directory not empty                      */

#define EOPNOTSUPP      103 /* Operation not supported                  */

#define ESTALE          122 /* Potentially recoverable i/o error        */

/* --- Sockets --- */

/* non-blocking and interrupt i/o */
/*        EAGAIN           35        */    /* Resource temporarily unavailable */
/*        EWOULDBLOCK      35        */    /* Operation would block */
#define EWOULDBLOCK    EAGAIN              /* Operation would block */
#define EINPROGRESS       236              /* Operation now in progress */
/*        EALREADY         37        */    /* Operation already in progress */
#define EALREADY        EBUSY              /* Operation already in progress */

/* ipc/network software -- argument errors */
#define ENOTSOCK        238                /* Socket operation on non-socket */
#define EDESTADDRREQ    239                /* Destination address required */
#define EMSGSIZE        240                /* Message too long */
#define EPROTOTYPE      241                /* Protocol wrong type for socket */
#define ENOPROTOOPT     242                /* Protocol not available */
#define EPROTONOSUPPORT 243                /* Protocol not supported */
#define ESOCKTNOSUPPORT 244                /* Socket type not supported */
#define EPFNOSUPPORT    246                /* Protocol family not supported */
#define EAFNOSUPPORT    247                /* Address family not supported by protocol family */
#define EADDRINUSE      248                /* Address already in use */
#define EADDRNOTAVAIL   249                /* Can't assign requested address */

/* ipc/network software -- operational errors */
#define ENETDOWN        250                /* Network is down */
#define ENETUNREACH     251                /* Network is unreachable */
#define ENETRESET       252                /* Network dropped connection on reset */
#define ECONNABORTED    253                /* Software caused connection abort */
#define ECONNRESET      254                /* Connection reset by peer */
#define ENOBUFS         255                /* No buffer space available */
#define EISCONN         256                /* Socket is already connected */
#define ENOTCONN        257                /* Socket is not connected */
#define ESHUTDOWN       258                /* Can't send after socket shutdown */
#define ETOOMANYREFS    259                /* Too many references: can't splice */
#define ETIMEDOUT       260                /* Connection timed out */
#define ECONNREFUSED    261                /* Connection refused */

/*      ELOOP          62        */        /* Too many levels of symbolic links */
/*      ENAMETOOLONG   63        */        /* File name too long */

#define EHOSTDOWN        264                /* Host is down */
#define EHOSTUNREACH     265                /* No route to host */

/* Network File System */
/*      ESTALE           70     */          /* Stale NFS file handle */
#define EREMOTE         271                 /* Too many levels of remote in path */
#define EBADRPC         272                 /* RPC struct is bad */
#define ERPCMISMATCH    273                 /* RPC version wrong */
#define EPROGUNAVAIL    274                 /* RPC prog. not avail */
#define EPROGMISMATCH   275                 /* Program version wrong */
#define EPROCUNAVAIL    276                 /* Bad procedure for program */


/* --- QNX 4.0 specific --- */

#define ENOREMOTE       1000 /* Must be done on local machine           */
#define ENONDP          1001 /* Need an NDP (8087...) to run            */
#define EBADFSYS        1002 /* Corrupted file system detected          */
#define ENO32BIT        1003 /* 32-bit integer fields were used         */
#define ENOVPE          1004 /* No proc entry avail for virtual process */
#define ENONETQ         1005 /* Process manager-to-net enqueuing failed */
#define ENONETMAN       1006 /* Could not find net manager for node no. */
#define EVIDBUF2SML     1007 /* Told to allocate a vid buf too small    */
#define EVIDBUF2BIG     1008 /* Told to allocate a vid buf too big      */
#define EMORE           1009 /* More to do, send message again          */
#define ECTRLTERM       1010 /* Remap to the controlling terminal       */
#define ENOLIC          1011 /* No license                              */
#define EDSTFAULT       1012 /* Destination fault on msg pass           */
:elsesegment LINUX
:include incdir.sp

:: Calling the header 'errno.h' is no good because there's already a macro
:: called 'errno' which will fuck us up
#include _ARCH_INCLUDE(err_no.h)
:elsesegment DOS
/*
 * Error codes
 */
#define EZERO   0       /* No error */
#define ENOENT  1       /* No such file or directory */
#define E2BIG   2       /* Arg list too big */
#define ENOEXEC 3       /* Exec format error */
#define EBADF   4       /* Bad file number */
#define ENOMEM  5       /* Not enough memory */
#define EACCES  6       /* Permission denied */
#define EEXIST  7       /* File exists */
#define EXDEV   8       /* Cross-device link */
#define EINVAL  9       /* Invalid argument */
#define ENFILE  10      /* File table overflow */
#define EMFILE  11      /* Too many open files */
#define ENOSPC  12      /* No space left on device */
/* math errors */
#define EDOM    13      /* Argument too large */
#define ERANGE  14      /* Result too large */
/* file locking error */
#define EDEADLK 15      /* Resource deadlock would occur */
#define EDEADLOCK 15    /* ... */
#define EINTR   16      /* System call interrupted */
#define ECHILD  17      /* Child does not exist */
/* POSIX errors */
#define EAGAIN  18      /* Resource unavailable, try again */
#define EBUSY   19      /* Device or resource busy */
#define EFBIG   20      /* File too large */
#define EIO     21      /* I/O error */
#define EISDIR  22      /* Is a directory */
#define ENOTDIR 23      /* Not a directory */
#define EMLINK  24      /* Too many links */
#define ENOTBLK 25      /* Block device required */
#define ENOTTY  26      /* Not a character device */
#define ENXIO   27      /* No such device or address */
#define EPERM   28      /* Not owner */
#define EPIPE   29      /* Broken pipe */
#define EROFS   30      /* Read-only file system */
#define ESPIPE  31      /* Illegal seek */
#define ESRCH   32      /* No such process */
#define ETXTBSY 33      /* Text file busy */
#define EFAULT  34      /* Bad address */
#define ENAMETOOLONG 35 /* Filename too long */
#define ENODEV  36      /* No such device */
#define ENOLCK  37      /* No locks available in system */
#define ENOSYS  38      /* Unknown system call */
#define ENOTEMPTY 39    /* Directory not empty */
/* additional Standard C error */
#define EILSEQ  40      /* Illegal multibyte sequence */
:endsegment

:include cplusepi.sp
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?