errno.h

All the Linux/C error codes are listed below.

I occasionally google C error codes, but always end up grepping through /usr/include to find the answer. To save myself, and a few others, some time in the future...

/usr/include/asm-generic/errno-base.h

 1 #ifndef _ASM_GENERIC_ERRNO_BASE_H
 2 #define _ASM_GENERIC_ERRNO_BASE_H
 3 
 4 #define EPERM        1  /* Operation not permitted */
 5 #define ENOENT       2  /* No such file or directory */
 6 #define ESRCH        3  /* No such process */
 7 #define EINTR        4  /* Interrupted system call */
 8 #define EIO      5  /* I/O error */
 9 #define ENXIO        6  /* No such device or address */
10 #define E2BIG        7  /* Argument list too long */
11 #define ENOEXEC      8  /* Exec format error */
12 #define EBADF        9  /* Bad file number */
13 #define ECHILD      10  /* No child processes */
14 #define EAGAIN      11  /* Try again */
15 #define ENOMEM      12  /* Out of memory */
16 #define EACCES      13  /* Permission denied */
17 #define EFAULT      14  /* Bad address */
18 #define ENOTBLK     15  /* Block device required */
19 #define EBUSY       16  /* Device or resource busy */
20 #define EEXIST      17  /* File exists */
21 #define EXDEV       18  /* Cross-device link */
22 #define ENODEV      19  /* No such device */
23 #define ENOTDIR     20  /* Not a directory */
24 #define EISDIR      21  /* Is a directory */
25 #define EINVAL      22  /* Invalid argument */
26 #define ENFILE      23  /* File table overflow */
27 #define EMFILE      24  /* Too many open files */
28 #define ENOTTY      25  /* Not a typewriter */
29 #define ETXTBSY     26  /* Text file busy */
30 #define EFBIG       27  /* File too large */
31 #define ENOSPC      28  /* No space left on device */
32 #define ESPIPE      29  /* Illegal seek */
33 #define EROFS       30  /* Read-only file system */
34 #define EMLINK      31  /* Too many links */
35 #define EPIPE       32  /* Broken pipe */
36 #define EDOM        33  /* Math argument out of domain of func */
37 #define ERANGE      34  /* Math result not representable */
38 
39 #endif

/usr/include/asm-generic/errno.h

  1 #ifndef _ASM_GENERIC_ERRNO_H
  2 #define _ASM_GENERIC_ERRNO_H
  3 
  4 #include <asm-generic/errno-base.h>
  5 
  6 #define EDEADLK     35  /* Resource deadlock would occur */
  7 #define ENAMETOOLONG    36  /* File name too long */
  8 #define ENOLCK      37  /* No record locks available */
  9 #define ENOSYS      38  /* Function not implemented */
 10 #define ENOTEMPTY   39  /* Directory not empty */
 11 #define ELOOP       40  /* Too many symbolic links encountered */
 12 #define EWOULDBLOCK EAGAIN  /* Operation would block */
 13 #define ENOMSG      42  /* No message of desired type */
 14 #define EIDRM       43  /* Identifier removed */
 15 #define ECHRNG      44  /* Channel number out of range */
 16 #define EL2NSYNC    45  /* Level 2 not synchronized */
 17 #define EL3HLT      46  /* Level 3 halted */
 18 #define EL3RST      47  /* Level 3 reset */
 19 #define ELNRNG      48  /* Link number out of range */
 20 #define EUNATCH     49  /* Protocol driver not attached */
 21 #define ENOCSI      50  /* No CSI structure available */
 22 #define EL2HLT      51  /* Level 2 halted */
 23 #define EBADE       52  /* Invalid exchange */
 24 #define EBADR       53  /* Invalid request descriptor */
 25 #define EXFULL      54  /* Exchange full */
 26 #define ENOANO      55  /* No anode */
 27 #define EBADRQC     56  /* Invalid request code */
 28 #define EBADSLT     57  /* Invalid slot */
 29 
 30 #define EDEADLOCK   EDEADLK
 31 
 32 #define EBFONT      59  /* Bad font file format */
 33 #define ENOSTR      60  /* Device not a stream */
 34 #define ENODATA     61  /* No data available */
 35 #define ETIME       62  /* Timer expired */
 36 #define ENOSR       63  /* Out of streams resources */
 37 #define ENONET      64  /* Machine is not on the network */
 38 #define ENOPKG      65  /* Package not installed */
 39 #define EREMOTE     66  /* Object is remote */
 40 #define ENOLINK     67  /* Link has been severed */
 41 #define EADV        68  /* Advertise error */
 42 #define ESRMNT      69  /* Srmount error */
 43 #define ECOMM       70  /* Communication error on send */
 44 #define EPROTO      71  /* Protocol error */
 45 #define EMULTIHOP   72  /* Multihop attempted */
 46 #define EDOTDOT     73  /* RFS specific error */
 47 #define EBADMSG     74  /* Not a data message */
 48 #define EOVERFLOW   75  /* Value too large for defined data type */
 49 #define ENOTUNIQ    76  /* Name not unique on network */
 50 #define EBADFD      77  /* File descriptor in bad state */
 51 #define EREMCHG     78  /* Remote address changed */
 52 #define ELIBACC     79  /* Can not access a needed shared library */
 53 #define ELIBBAD     80  /* Accessing a corrupted shared library */
 54 #define ELIBSCN     81  /* .lib section in a.out corrupted */
 55 #define ELIBMAX     82  /* Attempting to link in too many shared libraries */
 56 #define ELIBEXEC    83  /* Cannot exec a shared library directly */
 57 #define EILSEQ      84  /* Illegal byte sequence */
 58 #define ERESTART    85  /* Interrupted system call should be restarted */
 59 #define ESTRPIPE    86  /* Streams pipe error */
 60 #define EUSERS      87  /* Too many users */
 61 #define ENOTSOCK    88  /* Socket operation on non-socket */
 62 #define EDESTADDRREQ    89  /* Destination address required */
 63 #define EMSGSIZE    90  /* Message too long */
 64 #define EPROTOTYPE  91  /* Protocol wrong type for socket */
 65 #define ENOPROTOOPT 92  /* Protocol not available */
 66 #define EPROTONOSUPPORT 93  /* Protocol not supported */
 67 #define ESOCKTNOSUPPORT 94  /* Socket type not supported */
 68 #define EOPNOTSUPP  95  /* Operation not supported on transport endpoint */
 69 #define EPFNOSUPPORT    96  /* Protocol family not supported */
 70 #define EAFNOSUPPORT    97  /* Address family not supported by protocol */
 71 #define EADDRINUSE  98  /* Address already in use */
 72 #define EADDRNOTAVAIL   99  /* Cannot assign requested address */
 73 #define ENETDOWN    100 /* Network is down */
 74 #define ENETUNREACH 101 /* Network is unreachable */
 75 #define ENETRESET   102 /* Network dropped connection because of reset */
 76 #define ECONNABORTED    103 /* Software caused connection abort */
 77 #define ECONNRESET  104 /* Connection reset by peer */
 78 #define ENOBUFS     105 /* No buffer space available */
 79 #define EISCONN     106 /* Transport endpoint is already connected */
 80 #define ENOTCONN    107 /* Transport endpoint is not connected */
 81 #define ESHUTDOWN   108 /* Cannot send after transport endpoint shutdown */
 82 #define ETOOMANYREFS    109 /* Too many references: cannot splice */
 83 #define ETIMEDOUT   110 /* Connection timed out */
 84 #define ECONNREFUSED    111 /* Connection refused */
 85 #define EHOSTDOWN   112 /* Host is down */
 86 #define EHOSTUNREACH    113 /* No route to host */
 87 #define EALREADY    114 /* Operation already in progress */
 88 #define EINPROGRESS 115 /* Operation now in progress */
 89 #define ESTALE      116 /* Stale NFS file handle */
 90 #define EUCLEAN     117 /* Structure needs cleaning */
 91 #define ENOTNAM     118 /* Not a XENIX named type file */
 92 #define ENAVAIL     119 /* No XENIX semaphores available */
 93 #define EISNAM      120 /* Is a named type file */
 94 #define EREMOTEIO   121 /* Remote I/O error */
 95 #define EDQUOT      122 /* Quota exceeded */
 96 
 97 #define ENOMEDIUM   123 /* No medium found */
 98 #define EMEDIUMTYPE 124 /* Wrong medium type */
 99 #define ECANCELED   125 /* Operation Canceled */
100 #define ENOKEY      126 /* Required key not available */
101 #define EKEYEXPIRED 127 /* Key has expired */
102 #define EKEYREVOKED 128 /* Key has been revoked */
103 #define EKEYREJECTED    129 /* Key was rejected by service */
104 
105 /* for robust mutexes */
106 #define EOWNERDEAD  130 /* Owner died */
107 #define ENOTRECOVERABLE 131 /* State not recoverable */
108 
109 #endif
原文地址:https://www.cnblogs.com/jikexianfeng/p/6392295.html