The header <errno.h> defines several macros, all relating to the reporting of\r
error conditions.\r
\r
- The macros expand to integral constant expressions\r
- with distinct nonzero values, suitable for use in #if preprocessing\r
- directives.\r
-\r
The ISO/IEC 9899 specification requires that these be macros.\r
\r
The macros expand to integral constant expressions\r
\r
#define ERESTART -1 /* restart syscall */\r
\r
-#define EMINERRORVAL __EMINERRORVAL /* The lowest valid error value */\r
-\r
-#define EPERM __EPERM /* Operation not permitted */\r
-#define ENOENT __ENOENT /* No such file or directory */\r
-#define ESRCH __ESRCH /* No such process */\r
-#define EINTR __EINTR /* Interrupted system call */\r
-#define EIO __EIO /* Input/output error */\r
-#define ENXIO __ENXIO /* Device not configured */\r
-#define E2BIG __E2BIG /* Argument list too long */\r
-#define ENOEXEC __ENOEXEC /* Exec format error */\r
-#define EBADF __EBADF /* Bad file descriptor */\r
-#define ECHILD __ECHILD /* No child processes */\r
-#define EDEADLK __EDEADLK /* Resource deadlock avoided */\r
-#define ENOMEM __ENOMEM /* Cannot allocate memory */\r
-#define EACCES __EACCES /* Permission denied */\r
-#define EFAULT __EFAULT /* Bad address */\r
-#define ENOTBLK __ENOTBLK /* Block device required */\r
-#define EBUSY __EBUSY /* Device busy */\r
-#define EEXIST __EEXIST /* File exists */\r
-#define EXDEV __EXDEV /* Cross-device link */\r
-#define ENODEV __ENODEV /* Operation not supported by device */\r
-#define ENOTDIR __ENOTDIR /* Not a directory */\r
-#define EISDIR __EISDIR /* Is a directory */\r
-#define EINVAL __EINVAL /* Invalid argument */\r
-#define ENFILE __ENFILE /* Too many open files in system */\r
-#define EMFILE __EMFILE /* Too many open file descriptors */\r
-#define ENOTTY __ENOTTY /* Inappropriate ioctl for device */\r
-#define ETXTBSY __ETXTBSY /* Text file busy */\r
-#define EFBIG __EFBIG /* File too large */\r
-#define ENOSPC __ENOSPC /* No space left on device */\r
-#define ESPIPE __ESPIPE /* Illegal seek */\r
-#define EROFS __EROFS /* Read-only filesystem */\r
-#define EMLINK __EMLINK /* Too many links */\r
-#define EPIPE __EPIPE /* Broken pipe */\r
+#define EMINERRORVAL __EMINERRORVAL /* 1 The lowest valid error value */\r
+\r
+#define EPERM __EPERM /* 1 Operation not permitted */\r
+#define ENOENT __ENOENT /* 2 No such file or directory */\r
+#define ESRCH __ESRCH /* 3 No such process */\r
+#define EINTR __EINTR /* 4 Interrupted system call */\r
+#define EIO __EIO /* 5 Input/output error */\r
+#define ENXIO __ENXIO /* 6 Device not configured */\r
+#define E2BIG __E2BIG /* 7 Argument list too long */\r
+#define ENOEXEC __ENOEXEC /* 8 Exec format error */\r
+#define EBADF __EBADF /* 9 Bad file descriptor */\r
+#define ECHILD __ECHILD /* 10 No child processes */\r
+#define EDEADLK __EDEADLK /* 11 Resource deadlock avoided */\r
+#define ENOMEM __ENOMEM /* 12 Cannot allocate memory */\r
+#define EACCES __EACCES /* 13 Permission denied */\r
+#define EFAULT __EFAULT /* 14 Bad address */\r
+#define ENOTBLK __ENOTBLK /* 15 Block device required */\r
+#define EBUSY __EBUSY /* 16 Device busy */\r
+#define EEXIST __EEXIST /* 17 File exists */\r
+#define EXDEV __EXDEV /* 18 Cross-device link */\r
+#define ENODEV __ENODEV /* 19 Operation not supported by device */\r
+#define ENOTDIR __ENOTDIR /* 20 Not a directory */\r
+#define EISDIR __EISDIR /* 21 Is a directory */\r
+#define EINVAL __EINVAL /* 22 Invalid argument */\r
+#define ENFILE __ENFILE /* 23 Too many open files in system */\r
+#define EMFILE __EMFILE /* 24 Too many open file descriptors */\r
+#define ENOTTY __ENOTTY /* 25 Inappropriate ioctl for device */\r
+#define ETXTBSY __ETXTBSY /* 26 Text file busy */\r
+#define EFBIG __EFBIG /* 27 File too large */\r
+#define ENOSPC __ENOSPC /* 28 No space left on device */\r
+#define ESPIPE __ESPIPE /* 29 Illegal seek */\r
+#define EROFS __EROFS /* 30 Read-only filesystem */\r
+#define EMLINK __EMLINK /* 31 Too many links */\r
+#define EPIPE __EPIPE /* 32 Broken pipe */\r
\r
/* math software -- these are the only two values required by the C Standard */\r
-#define EDOM __EDOM /* 3umerical argument out of domain */\r
-#define ERANGE __ERANGE /* 3esult too large */\r
+#define EDOM __EDOM /* 33 Numerical argument out of domain */\r
+#define ERANGE __ERANGE /* 34 Result too large */\r
\r
/* non-blocking and interrupt i/o */\r
#define EAGAIN __EAGAIN /* 35 Resource temporarily unavailable */\r