linux错误码大全

linux错误码大全

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


1-34号错误号是在内核源码的include/asm-generic/errno-base.h定义


35-132则是在include/asm-generic/errno.h中定义


剩下还有一些更大的错误号是留给内核级别的,如系统调用等,用户程序一般是看不见的这些号的,Ubuntu9.10中/usr/src/linux-headers-2.6.31-21-generic/include/linux/errno.h

#ifndef_ASM_GENERIC_ERRNO_BASE_H
#define_ASM_GENERIC_ERRNO_BASE_H

#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*/
#define   ENXIO        6   /* No such device or address*/
#define   E2BIG        7   /* Argument 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*/
#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*/
#define   EROFS       30   /* Read-only file system*/
#define   EMLINK       31   /* Too many links*/
#define   EPIPE       32   /* Broken pipe*/
#define   EDOM       33   /* Math argument out of domainof func */
#define   ERANGE       34   /* Math result notrepresentable */

#endif


#include

#define   EDEADLK       35   /* Resource deadlock wouldoccur */
#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 linksencountered */
#define   EWOULDBLOCK   EAGAIN    /*Operation would block */
#define   ENOMSG       42   /* No message of desired type*/
#define   EIDRM       43   /* Identifier removed*/
#define   ECHRNG       44   /* Channel number out of range*/
#define   EL2NSYNC   45    /* Level2 not synchronized */
#define   EL3HLT       46   /* Level 3 halted*/
#define   EL3RST       47   /* Level 3 reset*/
#define   ELNRNG       48   /* Link number out of range*/
#define   EUNATCH       49   /* Protocol driver notattached */
#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
#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 thenetwork */
#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    /* Valuetoo large for defined data type */
#define   ENOTUNIQ   76    /* Namenot unique on network */
#define   EBADFD       77   /* File descriptor in badstate */
#define   EREMCHG       78   /* Remote address changed*/
#define   ELIBACC       79   /* Can not access a neededshared library */
#define   ELIBBAD       80   /* Accessing a corruptedshared library */
#define   ELIBSCN       81   /* .lib section in a.outcorrupted */
#define   ELIBMAX       82   /* Attempting to link in toomany shared libraries */
#define   ELIBEXEC   83    /* Cannotexec 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    /* Socketoperation 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*/
#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 isalready 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    /* Hostis down */
#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 semaphoresavailable */
#define   EISNAM       120   /* Is a named type file*/
#define   EREMOTEIO   121    /*Remote I/O error */
#define   EDQUOT       122   /* Quota exceeded*/
#define   ENOMEDIUM   123    /* Nomedium found */
#define   EMEDIUMTYPE   124    /* Wrongmedium type */
#define   ECANCELED   125    /*Operation Canceled */
#define   ENOKEY       126   /* Required key not available*/
#define   EKEYEXPIRED   127    /* Keyhas expired */
#define   EKEYREVOKED   128    /* Keyhas been revoked */
#define   EKEYREJECTED   129   /* Key was rejected by service*/

/* forrobust mutexes */
#define   EOWNERDEAD   130    /* Ownerdied */
#define   ENOTRECOVERABLE   131   /* State not recoverable */

#defineERFKILL       132    /*Operation not possible due to RF-kill */


#ifdef__KERNEL__

/*
 * These should never be seenby user programs. To return one of ERESTART*
 * codes, signal_pending()MUST be set. Note that ptrace can observe these
 * at syscall exit tracing,but they will never be left for the debuggeduser
 * process tosee.
*/
#defineERESTARTSYS   512
#defineERESTARTNOINTR   513
#defineERESTARTNOHAND    514   /* restart if no handler..*/
#defineENOIOCTLCMD    515   /* No ioctl command*/
#defineERESTART_RESTARTBLOCK 516 /* restart by calling sys_restart_syscall*/

/*Defined for the NFSv3 protocol */
#defineEBADHANDLE    521   /* Illegal NFS file handle*/
#defineENOTSYNC    522   /* Update synchronizationmismatch */
#defineEBADCOOKIE    523   /* Cookie is stale*/
#defineENOTSUPP    524   /* Operation is not supported*/
#defineETOOSMALL    525   /* Buffer or request is toosmall */
#defineESERVERFAULT    526   /* An untranslatable erroroccurred */
#defineEBADTYPE    527   /* Type not supported byserver */
#defineEJUKEBOX    528   /* Request initiated, but willnot complete before timeout */
#defineEIOCBQUEUED    529   /* iocb queued, will getcompletion event */
#defineEIOCBRETRY    530   /* iocb queued, will trigger aretry */

#endif



你可能感兴趣的:(linux)