errno 在 <errno.h> 中定义,错误 Exx 的宏定义在 /usr/include/asm-generic 文件夹下面的 errno-base.h 和 errno.h,分别定义了 1-34 、35-132 的错误定义。
strerror() 函数依据 errno 值返回错误描述字符串,下面程序打印对照表:
#include <errno.h> #include <string.h> #include <stdio.h> int main() { int i; for(i = 0; i < 140; ++i) { errno = i; printf("errno %d :\t\t%s\n",i,strerror(errno)); } return 0; } 错误对照表: errno0 : Success errno1 : Operation not permitted errno2 : No such file or directory errno3 : No such process errno4 : Interrupted system call errno5 : Input/output error errno6 : No such device or address errno7 : Argument list too long errno8 : Exec format error errno9 : Bad file descriptor errno10 : No child processes errno11 : Resource temporarily unavailable errno12 : Cannot allocate memory errno13 : Permission denied errno14 : Bad address errno15 : Block device required errno16 : Device or resource busy errno17 : File exists errno18 : Invalid cross-device link errno19 : No such device errno20 : Not a directory errno21 : Is a directory errno22 : Invalid argument errno23 : Too many open files in system errno24 : Too many open files errno25 : Inappropriate ioctl for device errno26 : Text file busy errno27 : File too large errno28 : No space left on device errno29 : Illegal seek errno30 : Read-only file system errno31 : Too many links errno32 : Broken pipe errno33 : Numerical argument out of domain errno34 : Numerical result out of range errno35 : Resource deadlock avoided errno36 : File name too long errno37 : No locks available errno38 : Function not implemented errno39 : Directory not empty errno40 : Too many levels of symbolic links errno41 : Unknown error 41 errno42 : No message of desired type errno43 : Identifier removed errno44 : Channel number out of range errno45 : Level 2 not synchronized errno46 : Level 3 halted errno47 : Level 3 reset errno48 : Link number out of range errno49 : Protocol driver not attached errno50 : No CSI structure available errno51 : Level 2 halted errno52 : Invalid exchange errno53 : Invalid request descriptor errno54 : Exchange full errno55 : No anode errno56 : Invalid request code errno57 : Invalid slot errno58 : Unknown error 58 errno59 : Bad font file format errno60 : Device not a stream errno61 : No data available errno62 : Timer expired errno63 : Out of streams resources errno64 : Machine is not on the network errno65 : Package not installed errno66 : Object is remote errno67 : Link has been severed errno68 : Advertise error errno69 : Srmount error errno70 : Communication error on send errno71 : Protocol error errno72 : Multihop attempted errno73 : RFS specific error errno74 : Bad message errno75 : Value too large for defined datatype errno76 : Name not unique on network errno77 : File descriptor in bad state errno78 : Remote address changed errno79 : Can not access a needed sharedlibrary errno80 : Accessing a corrupted sharedlibrary errno81 : .lib section in a.out corrupted errno82 : Attempting to link in too manyshared libraries errno83 : Cannot exec a shared librarydirectly errno84 : Invalid or incomplete multibyte orwide character errno85 : Interrupted system call should berestarted errno86 : Streams pipe error errno87 : Too many users errno88 : Socket operation on non-socket errno89 : Destinationaddress required errno90 : Message too long errno91 : Protocol wrong type for socket errno92 : Protocol not available errno93 : Protocol not supported errno94 : Socket type not supported errno95 : Operation not supported errno96 : Protocol family not supported errno97 : Address family not supported byprotocol errno98 : Address already in use errno99 : Cannot assign requested address errno100 : Network is down errno101 : Network is unreachable errno102 : Network dropped connection onreset errno103 : Software caused connection abort errno104 : Connection reset by peer errno105 : No buffer space available errno106 : Transport endpoint is alreadyconnected errno107 : Transport endpoint is notconnected errno108 : Cannot send after transportendpoint shutdown errno109 : Too many references: cannot splice errno110 : Connection timed out errno111 : Connection refused errno112 : Host is down errno113 : No route to host errno114 : Operation already in progress errno115 : Operation now in progress errno116 : Stale NFS file handle errno117 : Structure needs cleaning errno118 : Not a XENIX named type file errno119 : No XENIX semaphores available errno120 : Is a named type file errno121 : Remote I/O error errno122 : Disk quota exceeded errno123 : No medium found errno124 : Wrong medium type errno125 : Operation canceled errno126 : Required key not available errno127 : Key has expired errno128 : Key has been revoked errno129 : Key was rejected by service errno130 : Owner died errno131 : State not recoverable errno132 : Operation not possible due toRF-kill errno133 : Unknown error 133 errno134 : Unknown error 134 errno135 : Unknown error 135 errno136 : Unknown error 136 errno137 : Unknown error 137 errno138 : Unknown error 138 errno139 : Unknown error 139