Linux errno 列表

网上关于 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 */
    原文作者:amc
    原文地址: https://segmentfault.com/a/1190000006544500
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞