Linux错误代码定义表

http://www.vimer.cn/2009/11/linux%E9%94%99%E8%AF%AF%E4%BB%A3%E7%A0%81%E5%AE%9A%E4%B9%89%E8%A1%A8.html

查看错误代码errno是调试程序的一个重要方法。当linuc C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值, 不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不少原本看来莫名其妙的问题。比较麻烦的是每次都要去linux源代码里面查找错误代码的含义,现在把它贴出来,以后需要查时就来这里看了。以下来自linux 的内核代码中的/usr/include/asm/errno.h

#ifndef _I386_ERRNO_H#define _I386_ERRNO_H#define EPERM1/* Operation not permitted */#define ENOENT2/* No such file or directory */#define ESRCH3/* No such process */#define EINTR4/* Interrupted system call */#define EIO5/* I/O error */#define ENXIO6/* No such device or address */#define E2BIG7/* Arg list too long */#define ENOEXEC8/* Exec format error */#define EBADF9/* Bad file number */#define ECHILD10/* No child processes */#define EAGAIN11/* Try again */#define ENOMEM12/* Out of memory */#define EACCES13/* Permission denied */#define EFAULT14/* Bad address */#define ENOTBLK15/* Block device required */#define EBUSY16/* Device or resource busy */#define EEXIST17/* File exists */#define EXDEV18/* Cross-device link */#define ENODEV19/* No such device */#define ENOTDIR20/* Not a directory */#define EISDIR21/* Is a directory */#define EINVAL22/* Invalid argument */#define ENFILE23/* File table overflow */#define EMFILE24/* Too many open files */#define ENOTTY25/* Not a typewriter */#define ETXTBSY26/* Text file busy */#define EFBIG27/* File too large */#define ENOSPC28/* No space left on device */#define ESPIPE29/* Illegal seek */#define EROFS30/* Read-only file system */#define EMLINK31/* Too many links */#define EPIPE32/* Broken pipe */#define EDOM33/* Math argument out of domain of func */#define ERANGE34/* Math result not representable */#define EDEADLK35/* Resource deadlock would occur */#define ENAMETOOLONG36/* File name too long */#define ENOLCK37/* No record locks available */#define ENOSYS38/* Function not implemented */#define ENOTEMPTY39/* Directory not empty */#define ELOOP40/* Too many symbolic links encountered */#define EWOULDBLOCKEAGAIN/* Operation would block */#define ENOMSG42/* No message of desired type */#define EIDRM43/* Identifier removed */#define ECHRNG44/* Channel number out of range */#define EL2NSYNC45/* Level 2 not synchronized */#define EL3HLT46/* Level 3 halted */#define EL3RST47/* Level 3 reset */#define ELNRNG48/* Link number out of range */#define EUNATCH49/* Protocol driver not attached */#define ENOCSI50/* No CSI structure available */#define EL2HLT51/* Level 2 halted */#define EBADE52/* Invalid exchange */#define EBADR53/* Invalid request descriptor */#define EXFULL54/* Exchange full */#define ENOANO55/* No anode */#define EBADRQC56/* Invalid request code */#define EBADSLT57/* Invalid slot */#define EDEADLOCKEDEADLK#define EBFONT59/* Bad font file format */#define ENOSTR60/* Device not a stream */#define ENODATA61/* No data available */#define ETIME62/* Timer expired */#define ENOSR63/* Out of streams resources */#define ENONET64/* Machine is not on the network */#define ENOPKG65/* Package not installed */#define EREMOTE66/* Object is remote */#define ENOLINK67/* Link has been severed */#define EADV68/* Advertise error */#define ESRMNT69/* Srmount error */#define ECOMM70/* Communication error on send */#define EPROTO71/* Protocol error */#define EMULTIHOP72/* Multihop attempted */#define EDOTDOT73/* RFS specific error */#define EBADMSG74/* Not a data message */#define EOVERFLOW75/* Value too large for defined data type */#define ENOTUNIQ76/* Name not unique on network */#define EBADFD77/* File descriptor in bad state */#define EREMCHG78/* Remote address changed */#define ELIBACC79/* Can not access a needed shared library */#define ELIBBAD80/* Accessing a corrupted shared library */#define ELIBSCN81/* .lib div in a.out corrupted */#define ELIBMAX82/* Attempting to link in too many shared libraries */#define ELIBEXEC83/* Cannot exec a shared library directly */#define EILSEQ84/* Illegal byte sequence */#define ERESTART85/* Interrupted system call should be restarted */#define ESTRPIPE86/* Streams pipe error */#define EUSERS87/* Too many users */#define ENOTSOCK88/* Socket operation on non-socket */#define EDESTADDRREQ89/* Destination address required */#define EMSGSIZE90/* Message too long */#define EPROTOTYPE91/* Protocol wrong type for socket */#define ENOPROTOOPT92/* Protocol not available */#define EPROTONOSUPPORT 93/* Protocol not supported */#define ESOCKTNOSUPPORT 94/* Socket type not supported */#define EOPNOTSUPP95/* Operation not supported on transport endpoint */#define EPFNOSUPPORT96/* Protocol family not supported */#define EAFNOSUPPORT97/* Address family not supported by protocol */#define EADDRINUSE98/* Address already in use */#define EADDRNOTAVAIL99/* Cannot assign requested address */#define ENETDOWN100/* Network is down */#define ENETUNREACH101/* Network is unreachable */#define ENETRESET102/* Network dropped connection because of reset */#define ECONNABORTED103/* Software caused connection abort */#define ECONNRESET104/* Connection reset by peer */#define ENOBUFS105/* No buffer space available */#define EISCONN106/* Transport endpoint is already connected */#define ENOTCONN107/* Transport endpoint is not connected */#define ESHUTDOWN108/* Cannot send after transport endpoint shutdown */#define ETOOMANYREFS109/* Too many references: cannot splice */#define ETIMEDOUT110/* Connection timed out */#define ECONNREFUSED111/* Connection refused */#define EHOSTDOWN112/* Host is down */#define EHOSTUNREACH113/* No route to host */#define EALREADY114/* Operation already in progress */#define EINPROGRESS115/* Operation now in progress */#define ESTALE116/* Stale NFS file handle */#define EUCLEAN117/* Structure needs cleaning */#define ENOTNAM118/* Not a XENIX named type file */#define ENAVAIL119/* No XENIX semaphores available */#define EISNAM120/* Is a named type file */#define EREMOTEIO121/* Remote I/O error */#define EDQUOT122/* Quota exceeded */#define ENOMEDIUM123/* No medium found */#define EMEDIUMTYPE124/* Wrong medium type */#define ECANCELED125/* Operation Canceled */#define ENOKEY126/* Required key not available */#define EKEYEXPIRED127/* Key has expired */#define EKEYREVOKED128/* Key has been revoked */#define EKEYREJECTED129/* Key was rejected by service *//* for robust mutexes */#define EOWNERDEAD130/* Owner died */#define ENOTRECOVERABLE 131/* State not recoverable */#endif

http://www.vimer.cn

生活中最基本的技巧是交流,最可依赖的品质是耐心,

Linux错误代码定义表

相关文章:

你感兴趣的文章:

标签云: