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
05-17 02:54