目录
原文:Linux errno 错误对照表-https://blog.youkuaiyun.com/gpengtao/article/details/7553307
错误码对应宏
EPERM 1 /* Operation not permitted*/
ENOENT 2 /* No such file or directory*/
ESRCH 3 /* No such process*/
EINTR 4 /* Interrupted system call*/
EIO 5 /* I/O error*/
ENXIO 6 /* No such device or address*/
E2BIG 7 /* Argument list too long*/
ENOEXEC 8 /* Exec format error*/
EBADF 9 /* Bad file number*/
ECHILD 10 /* No child processes*/
EAGAIN 11 /* Try again*/
ENOMEM 12 /* Out of memory*/
EACCES 13 /* Permission denied*/
EFAULT 14 /* Bad address*/
ENOTBLK 15 /* Block device required*/
EBUSY 16 /* Device or resource busy*/
EEXIST 17 /* File exists*/
EXDEV 18 /* Cross-device link*/
ENODEV 19 /* No such device*/
ENOTDIR 20 /* Not a directory*/
EISDIR 21 /* Is a directory*/
EINVAL 22 /* Invalid argument*/
ENFILE 23 /* File table overflow*/
EMFILE 24 /* Too many open files*/
ENOTTY 25 /* Not a typewriter*/
ETXTBSY 26 /* Text file busy*/
EFBIG 27 /* File too large*/
ENOSPC 28 /* No space left on device*/
ESPIPE 29 /* Illegal seek*/
EROFS 30 /* Read-only file system*/
EMLINK 31 /* Too many links*/
EPIPE 32 /* Broken pipe*/
EDOM 33 /* Math argument out of domainof func */
ERANGE 34 /* Math result notrepresentable */
EDEADLK 35 /* Resource deadlock wouldoccur */
ENAMETOOLONG 36 /* File name too long */
ENOLCK 37 /* No record locks available*/
ENOSYS 38 /* Function not implemented*/
ENOTEMPTY 39 /*Directory not empty */
ELOOP 40 /* Too many symbolic linksencountered */
EWOULDBLOCK EAGAIN /*Operation would block */
ENOMSG 42 /* No message of desired type*/
EIDRM 43 /* Identifier removed*/
ECHRNG 44 /* Channel number out of range*/
EL2NSYNC 45 /* Level2 not synchronized */
EL3HLT 46 /* Level 3 halted*/
EL3RST 47 /* Level 3 reset*/
ELNRNG 48 /* Link number out of range*/
EUNATCH 49 /* Protocol driver notattached */
ENOCSI 50 /* No CSI structure available*/
EL2HLT 51 /* Level 2 halted*/
EBADE 52 /* Invalid exchange*/
EBADR 53 /* Invalid request descriptor*/
EXFULL 54 /* Exchange full*/
ENOANO 55 /* No anode*/
EBADRQC 56 /* Invalid request code*/
EBADSLT 57 /* Invalid slot*/
EDEADLOCK EDEADLK
EBFONT 59 /* Bad font file format*/
ENOSTR 60 /* Device not a stream*/
ENODATA 61 /* No data available*/
ETIME 62 /* Timer expired*/
ENOSR 63 /* Out of streams resources*/
ENONET 64 /* Machine is not on thenetwork */
ENOPKG 65 /* Package not installed*/
EREMOTE 66 /* Object is remote*/
ENOLINK 67 /* Link has been severed*/
EADV 68 /* Advertise error*/
ESRMNT 69 /* Srmount error*/
ECOMM 70 /* Communication error on send*/
EPROTO 71 /* Protocol error*/
EMULTIHOP 72 /*Multihop attempted */
EDOTDOT 73 /* RFS specific error*/
EBADMSG 74 /* Not a data message*/
EOVERFLOW 75 /* Valuetoo large for defined data type */
ENOTUNIQ 76 /* Namenot unique on network */
EBADFD 77 /* File descriptor in badstate */
EREMCHG 78 /* Remote address changed*/
ELIBACC 79 /* Can not access a neededshared library */
ELIBBAD 80 /* Accessing a corruptedshared library */
ELIBSCN 81 /* .lib section in a.outcorrupted */
ELIBMAX 82 /* Attempting to link in toomany shared libraries */
ELIBEXEC 83 /* Cannotexec a shared library directly */
EILSEQ 84 /* Illegal byte sequence*/
ERESTART 85 /*Interrupted system call should be restarted */
ESTRPIPE 86 /*Streams pipe error */
EUSERS 87 /* Too many users*/
ENOTSOCK 88 /* Socketoperation on non-socket */
EDESTADDRREQ 89 /* Destination address required*/
EMSGSIZE 90 /*Message too long */
EPROTOTYPE 91 /*Protocol wrong type for socket */
ENOPROTOOPT 92 /*Protocol not available */
EPROTONOSUPPORT 93 /* Protocol not supported */
ESOCKTNOSUPPORT 94 /* Socket type not supported*/
EOPNOTSUPP 95 /*Operation not supported on transport endpoint*/
EPFNOSUPPORT 96 /* Protocol family not supported*/
EAFNOSUPPORT 97 /* Address family not supported by protocol*/
EADDRINUSE 98 /*Address already in use */
EADDRNOTAVAIL 99 /* Cannot assign requested address*/
ENETDOWN 100 /*Network is down */
ENETUNREACH 101 /*Network is unreachable */
ENETRESET 102 /*Network dropped connection because of reset */
ECONNABORTED 103 /* Software caused connection abort*/
ECONNRESET 104 /*Connection reset by peer */
ENOBUFS 105 /* No buffer space available*/
EISCONN 106 /* Transport endpoint isalready connected */
ENOTCONN 107 /*Transport endpoint is not connected */
ESHUTDOWN 108 /*Cannot send after transport endpoint shutdown*/
ETOOMANYREFS 109 /* Too many references: cannot splice*/
ETIMEDOUT 110 /*Connection timed out */
ECONNREFUSED 111 /* Connection refused */
EHOSTDOWN 112 /* Hostis down */
EHOSTUNREACH 113 /* No route to host */
EALREADY 114 /*Operation already in progress */
EINPROGRESS 115 /*Operation now in progress */
ESTALE 116 /* Stale NFS file handle*/
EUCLEAN 117 /* Structure needs cleaning*/
ENOTNAM 118 /* Not a XENIX named type file*/
ENAVAIL 119 /* No XENIX semaphoresavailable */
EISNAM 120 /* Is a named type file*/
EREMOTEIO 121 /*Remote I/O error */
EDQUOT 122 /* Quota exceeded*/
ENOMEDIUM 123 /* Nomedium found */
EMEDIUMTYPE 124 /* Wrongmedium type */
ECANCELED 125 /*Operation Canceled */
ENOKEY 126 /* Required key not available*/
EKEYEXPIRED 127 /* Keyhas expired */
EKEYREVOKED 128 /* Keyhas been revoked */
EKEYREJECTED 129 /* Key was rejected by service*/
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
根据错误码打印错误信息
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;
}
原文链接:https://blog.youkuaiyun.com/bandaoyu/article/details/124350500