6g下载网
当前位置: 主页 > 软件教程 > 编程开发 >

Linux errno 错误对照表

时间: 2017-11-18 22:57 来源: 本站整理

分享到:

今天小编整理一篇Linux errno 错误对照表的文章和大家分享,希望能给大家提供帮助。

errno 在 <errno.h> 中定义,错误 Exx 的宏定义在 /usr/include/asm-generic 文件夹下面的 errno-base.h 和 errno.h,分别定义了 1-34 、35-132 的错误定义。

strerror() 函数依据 errno 值返回错误描述字符串,下面程序打印对照表:

  1. #include <errno.h>  
  2. #include <string.h>  
  3. #include <stdio.h>  
  4.  
  5. int main()  
  6. {  
  7.     int i;  
  8.     for(i = 0; i < 140; ++i)  
  9.     {  
  10.         errno = i;  
  11.         printf("errno %d :\t\t%s\n",i,strerror(errno));  
  12.     }  
  13.     return 0;  

错误对照表:

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

由上可见Linux对错误宏的定义。

头文件 /usr/include/asm-generic/errno-base.h 的源码:

  1. #ifndef _ASM_GENERIC_ERRNO_BASE_H  
  2. #define _ASM_GENERIC_ERRNO_BASE_H  
  3.  
  4. #defineEPERM 1/* Operation not permitted */  
  5. #defineENOENT2/* No such file or directory */  
  6. #defineESRCH 3/* No such process */  
  7. #defineEINTR 4/* Interrupted system call */  
  8. #defineEIO 5/* I/O error */  
  9. #defineENXIO 6/* No such device or address */  
  10. #defineE2BIG 7/* Argument list too long */  
  11. #defineENOEXEC8/* Exec format error */  
  12. #defineEBADF 9/* Bad file number */  
  13. #defineECHILD10/* No child processes */  
  14. #defineEAGAIN11/* Try again */  
  15. #defineENOMEM12/* Out of memory */  
  16. #defineEACCES13/* Permission denied */  
  17. #defineEFAULT14/* Bad address */  
  18. #defineENOTBLK15/* Block device required */  
  19. #defineEBUSY 16/* Device or resource busy */  
  20. #defineEEXIST17/* File exists */  
  21. #defineEXDEV 18/* Cross-device link */  
  22. #defineENODEV19/* No such device */  
  23. #defineENOTDIR20/* Not a directory */  
  24. #defineEISDIR21/* Is a directory */  
  25. #defineEINVAL22/* Invalid argument */  
  26. #defineENFILE23/* File table overflow */  
  27. #defineEMFILE24/* Too many open files */  
  28. #defineENOTTY25/* Not a typewriter */  
  29. #defineETXTBSY26/* Text file busy */  
  30. #defineEFBIG 27/* File too large */  
  31. #defineENOSPC28/* No space left on device */  
  32. #defineESPIPE29/* Illegal seek */  
  33. #defineEROFS 30/* Read-only file system */  
  34. #defineEMLINK31/* Too many links */  
  35. #defineEPIPE 32/* Broken pipe */  
  36. #defineEDOM 33/* Math argument out of domain of func */  
  37. #defineERANGE34/* Math result not representable */  
  38.  
  39. #endif  
  40.  

头文件/usr/include/asm-generic/erno.h源码:

  1. #ifndef _ASM_GENERIC_ERRNO_H  
  2. #define _ASM_GENERIC_ERRNO_H  
  3.  
  4. #include <asm-generic/errno-base.h> 
  5.  
  6. #defineEDEADLK35/* Resource deadlock would occur */  
  7. #defineENAMETOOLONG36/* File name too long */  
  8. #defineENOLCK37/* No record locks available */  
  9. #defineENOSYS38/* Function not implemented */  
  10. #defineENOTEMPTY39/* Directory not empty */  
  11. #defineELOOP 40/* Too many symbolic links encountered */  
  12. #defineEWOULDBLOCKEAGAIN/* Operation would block */  
  13. #defineENOMSG42/* No message of desired type */  
  14. #defineEIDRM 43/* Identifier removed */  
  15. #defineECHRNG44/* Channel number out of range */  
  16. #defineEL2NSYNC45/* Level 2 not synchronized */  
  17. #defineEL3HLT46/* Level 3 halted */  
  18. #defineEL3RST47/* Level 3 reset */  
  19. #defineELNRNG48/* Link number out of range */  
  20. #defineEUNATCH49/* Protocol driver not attached */  
  21. #defineENOCSI50/* No CSI structure available */  
  22. #defineEL2HLT51/* Level 2 halted */  
  23. #defineEBADE 52/* Invalid exchange */  
  24. #defineEBADR 53/* Invalid request descriptor */  
  25. #defineEXFULL54/* Exchange full */  
  26. #defineENOANO55/* No anode */  
  27. #defineEBADRQC56/* Invalid request code */  
  28. #defineEBADSLT57/* Invalid slot */  
  29.  
  30. #defineEDEADLOCKEDEADLK  
  31.  
  32. #defineEBFONT59/* Bad font file format */  
  33. #defineENOSTR60/* Device not a stream */  
  34. #defineENODATA61/* No data available */  
  35. #defineETIME 62/* Timer expired */  
  36. #defineENOSR 63/* Out of streams resources */  
  37. #defineENONET64/* Machine is not on the network */  
  38. #defineENOPKG65/* Package not installed */  
  39. #defineEREMOTE66/* Object is remote */  
  40. #defineENOLINK67/* Link has been severed */  
  41. #defineEADV 68/* Advertise error */  
  42. #defineESRMNT69/* Srmount error */  
  43. #defineECOMM 70/* Communication error on send */  
  44. #defineEPROTO71/* Protocol error */  
  45. #defineEMULTIHOP72/* Multihop attempted */  
  46. #defineEDOTDOT73/* RFS specific error */  
  47. #defineEBADMSG74/* Not a data message */  
  48. #defineEOVERFLOW75/* Value too large for defined data type */  
  49. #defineENOTUNIQ76/* Name not unique on network */  
  50. #defineEBADFD77/* File descriptor in bad state */  
  51. #defineEREMCHG78/* Remote address changed */  
  52. #defineELIBACC79/* Can not access a needed shared library */  
  53. #defineELIBBAD80/* Accessing a corrupted shared library */  
  54. #defineELIBSCN81/* .lib section in a.out corrupted */  
  55. #defineELIBMAX82/* Attempting to link in too many shared libraries */  
  56. #defineELIBEXEC83/* Cannot exec a shared library directly */  
  57. #defineEILSEQ84/* Illegal byte sequence */  
  58. #defineERESTART85/* Interrupted system call should be restarted */  
  59. #defineESTRPIPE86/* Streams pipe error */  
  60. #defineEUSERS87/* Too many users */  
  61. #defineENOTSOCK88/* Socket operation on non-socket */  
  62. #defineEDESTADDRREQ89/* Destination address required */  
  63. #defineEMSGSIZE90/* Message too long */  
  64. #defineEPROTOTYPE91/* Protocol wrong type for socket */  
  65. #defineENOPROTOOPT92/* Protocol not available */  
  66. #defineEPROTONOSUPPORT93/* Protocol not supported */  
  67. #defineESOCKTNOSUPPORT94/* Socket type not supported */  
  68. #defineEOPNOTSUPP95/* Operation not supported on transport endpoint */  
  69. #defineEPFNOSUPPORT96/* Protocol family not supported */  
  70. #defineEAFNOSUPPORT97/* Address family not supported by protocol */  
  71. #defineEADDRINUSE98/* Address already in use */  
  72. #defineEADDRNOTAVAIL99/* Cannot assign requested address */  
  73. #defineENETDOWN100/* Network is down */  
  74. #defineENETUNREACH101/* Network is unreachable */  
  75. #defineENETRESET102/* Network dropped connection because of reset */  
  76. #defineECONNABORTED103/* Software caused connection abort */  
  77. #defineECONNRESET104/* Connection reset by peer */  
  78. #defineENOBUFS105/* No buffer space available */  
  79. #defineEISCONN106/* Transport endpoint is already connected */  
  80. #defineENOTCONN107/* Transport endpoint is not connected */  
  81. #defineESHUTDOWN108/* Cannot send after transport endpoint shutdown */  
  82. #defineETOOMANYREFS109/* Too many references: cannot splice */  
  83. #defineETIMEDOUT110/* Connection timed out */  
  84. #defineECONNREFUSED111/* Connection refused */  
  85. #defineEHOSTDOWN112/* Host is down */  
  86. #defineEHOSTUNREACH113/* No route to host */  
  87. #defineEALREADY114/* Operation already in progress */  
  88. #defineEINPROGRESS115/* Operation now in progress */  
  89. #defineESTALE116/* Stale NFS file handle */  
  90. #defineEUCLEAN117/* Structure needs cleaning */  
  91. #defineENOTNAM118/* Not a XENIX named type file */  
  92. #defineENAVAIL119/* No XENIX semaphores available */  
  93. #defineEISNAM120/* Is a named type file */  
  94. #defineEREMOTEIO121/* Remote I/O error */  
  95. #defineEDQUOT122/* Quota exceeded */  
  96.  
  97. #defineENOMEDIUM123/* No medium found */  
  98. #defineEMEDIUMTYPE124/* Wrong medium type */  
  99. #defineECANCELED125/* Operation Canceled */  
  100. #defineENOKEY126/* Required key not available */  
  101. #defineEKEYEXPIRED127/* Key has expired */  
  102. #defineEKEYREVOKED128/* Key has been revoked */  
  103. #defineEKEYREJECTED129/* Key was rejected by service */  
  104.  
  105. /* for robust mutexes */  
  106. #defineEOWNERDEAD130/* Owner died */  
  107. #defineENOTRECOVERABLE131/* State not recoverable */  
  108.  
  109. #define ERFKILL132/* Operation not possible due to RF-kill */  
  110.  
  111. #endif 

Linux errno 错误对照表的文章和大家分享结束,感谢阅读!

(责任编辑:大卫)
标签:linux

分享到:

------分隔线----------------------------