Linux errno 列表

amc發表於2019-05-10

網上關於 errno 的資料,要麼沒有錯誤名,要麼沒有錯誤號,要麼格式編排混亂……算了,自己記一個吧

本文地址:https://segmentfault.com/a/1190000006544500


1~16

#define EPERM           1   /* Operation not permitted */      操作不允許
#define ENOENT          2   /* No such file or directory */    檔案或者目錄不存在
#define ESRCH           3   /* No such process */              程式不存在
#define EINTR           4   /* Interrupted system call */      系統呼叫被中斷
#define EIO             5   /* I/O error */                    I/O 錯誤
#define ENXIO           6   /* No such device or address */    裝置或地址不存在
#define E2BIG           7   /* Arg list too long */            引數列表太長
#define ENOEXEC         8   /* Exec format error */            執行格式錯誤
#define EBADF           9   /* Bad file number */              檔案描述符錯誤
#define ECHILD          10  /* No child processes */           沒有子程式
#define EAGAIN          11  /* Try again */                    請重試
#define ENOMEM          12  /* Out of memory */                記憶體不足
#define EACCES          13  /* Permission denied */            認證被拒絕
#define EFAULT          14  /* Bad address */                  不可用的地址
#define ENOTBLK         15  /* Block device required */        要求使用塊裝置
#define EBUSY           16  /* Device or resource busy */      裝置或資源忙

17~32

#define EEXIST          17  /* File exists */                  檔案已經存在
#define EXDEV           18  /* Cross-device link */            交叉裝置連結?
#define ENODEV          19  /* No such device */               沒有這個裝置
#define ENOTDIR         20  /* Not a directory */              不是一個目錄
#define EISDIR          21  /* Is a directory */               是一個目錄
#define EINVAL          22  /* Invalid argument */             不可用的引數
#define ENFILE          23  /* File table overflow */          檔案表溢位
#define EMFILE          24  /* Too many open files */          開啟檔案太多
#define ENOTTY          25  /* Not a typewriter */    
#define ETXTBSY         26  /* Text file busy */               文字檔案忙
#define EFBIG           27  /* File too large */               檔案太大
#define ENOSPC          28  /* No space left on device */      裝置剩餘空間不足
#define ESPIPE          29  /* Illegal seek */                 不合法的seek
#define EROFS           30  /* Read-only file system */        檔案系統只讀
#define EMLINK          31  /* Too many links */               連結太多
#define EPIPE           32  /* Broken pipe */                  斷掉的管道

33~48

#define EDOM            33  /* Math argument out of domain of func */
#define ERANGE          34  /* Math result not representable */    計算結果無法表示出來
#define EDEADLK         35  /* Resource deadlock would occur */    可能發生資源死鎖
#define ENAMETOOLONG    36  /* File name too long */               檔名太長
#define ENOLCK          37  /* No record locks available */        沒有可用的記錄鎖
#define ENOSYS          38  /* Function not implemented */         函式還沒有被實現
#define ENOTEMPTY       39  /* Directory not empty */              目錄非空
#define ELOOP           40  /* Too many symbolic links encountered */            太多軟連結 
#define EWOULDBLOCK     EAGAIN /* Operation would block / (12) Try again */
#define ENOMSG          42  /* No message of desired type */       針對指定的型別,沒有資訊可用
#define EIDRM           43  /* Identifier removed */               識別符號已經被移除掉
#define ECHRNG          44  /* Channel number out of range */      通道號超出範圍  
#define EL2NSYNC        45  /* Level 2 not synchronized */
#define EL3HLT          46  /* Level 3 halted */
#define EL3RST          47  /* Level 3 reset */
#define ELNRNG          48  /* Link number out of range */         連結數超出範圍

49~64

#define EUNATCH         49  /* Protocol driver not attached */
#define ENOCSI          50  /* No CSI structure available */
#define EL2HLT          51  /* Level 2 halted */
#define EBADE           52  /* Invalid exchange */
#define EBADR           53  /* Invalid request descriptor */
#define EXFULL          54  /* Exchange full */
#define ENOANO          55  /* No anode */
#define EBADRQC         56  /* Invalid request code */
#define EBADSLT         57  /* Invalid slot */
#define EDEADLOCK       EDEADLK    /* (35) Resource deadlock would occur */
#define EBFONT          59  /* Bad font file format */
#define ENOSTR          60  /* Device not a stream */
#define ENODATA         61  /* No data available */
#define ETIME           62  /* Timer expired */
#define ENOSR           63  /* Out of streams resources */
#define ENONET          64  /* Machine is not on the network */

65~80

#define ENOPKG          65  /* Package not installed */
#define EREMOTE         66  /* Object is remote */
#define ENOLINK         67  /* Link has been severed */
#define EADV            68  /* Advertise error */
#define ESRMNT          69  /* Srmount error */
#define ECOMM           70  /* Communication error on send */
#define EPROTO          71  /* Protocol error */
#define EMULTIHOP       72  /* Multihop attempted */
#define EDOTDOT         73  /* RFS specific error */
#define EBADMSG         74  /* Not a data message */
#define EOVERFLOW       75  /* Value too large for defined data type */
#define ENOTUNIQ        76  /* Name not unique on network */
#define EBADFD          77  /* File descriptor in bad state */
#define EREMCHG         78  /* Remote address changed */
#define ELIBACC         79  /* Can not access a needed shared library */
#define ELIBBAD         80  /* Accessing a corrupted shared library */

81~96

#define ELIBSCN         81  /* .lib section in a.out corrupted */
#define ELIBMAX         82  /* Attempting to link in too many shared libraries */
#define ELIBEXEC        83  /* Cannot exec a shared library directly */
#define EILSEQ          84  /* Illegal byte sequence */
#define ERESTART        85  /* Interrupted system call should be restarted */
#define ESTRPIPE        86  /* Streams pipe error */
#define EUSERS          87  /* Too many users */
#define ENOTSOCK        88  /* Socket operation on non-socket */
#define EDESTADDRREQ    89  /* Destination address required */
#define EMSGSIZE        90  /* Message too long */
#define EPROTOTYPE      91  /* Protocol wrong type for socket */
#define ENOPROTOOPT     92  /* Protocol not available */
#define EPROTONOSUPPORT 93  /* Protocol not supported */
#define ESOCKTNOSUPPORT 94  /* Socket type not supported */
#define EOPNOTSUPP      95  /* Operation not supported on transport endpoint */
#define EPFNOSUPPORT    96  /* Protocol family not supported */

97~112

#define EAFNOSUPPORT    97  /* Address family not supported by protocol */
#define EADDRINUSE      98  /* Address already in use */
#define EADDRNOTAVAIL   99  /* Cannot assign requested address */
#define ENETDOWN        100 /* Network is down */
#define ENETUNREACH     101 /* Network is unreachable */
#define ENETRESET       102 /* Network dropped connection because of reset */
#define ECONNABORTED    103 /* Software caused connection abort */
#define ECONNRESET      104 /* Connection reset by peer */
#define ENOBUFS         105 /* No buffer space available */
#define EISCONN         106 /* Transport endpoint is already connected */
#define ENOTCONN        107 /* Transport endpoint is not connected */
#define ESHUTDOWN       108 /* Cannot send after transport endpoint shutdown */
#define ETOOMANYREFS    109 /* Too many references: cannot splice */
#define ETIMEDOUT       110 /* Connection timed out */
#define ECONNREFUSED    111 /* Connection refused */
#define EHOSTDOWN       112 /* Host is down */

113~124

#define EHOSTUNREACH    113 /* No route to host */
#define EALREADY        114 /* Operation already in progress */
#define EINPROGRESS     115 /* Operation now in progress */
#define ESTALE          116 /* Stale NFS file handle */
#define EUCLEAN         117 /* Structure needs cleaning */
#define ENOTNAM         118 /* Not a XENIX named type file */
#define ENAVAIL         119 /* No XENIX semaphores available */
#define EISNAM          120 /* Is a named type file */
#define EREMOTEIO       121 /* Remote I/O error */
#define EDQUOT          122 /* Quota exceeded */
#define ENOMEDIUM       123 /* No medium found */
#define EMEDIUMTYPE     124 /* Wrong medium type */

相關文章