The strerror () function returns the error description String Based on the errno value. The following program prints the comparison table:
<! -
Code highlighting produced by Actipro CodeHighlighter (freeware)
Http://www.CodeHighlighter.com/
-> 01. # include <errno. h>
02. # include <string. h>
03. # include <stdio. h>
04.
05. int main ()
06 .{
07. int I;
08. for (I = 0; I <140; ++ I)
09 .{
10. errno = I;
11. printf ("errno % d: \ t % s \ n", I, strerror (errno ));
12 .}
13. return0;
14 .}
Error table:
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 program open files in system
Errno24: Too enabled 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 connector 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 successfully upted sharedlibrary
Errno81:. lib section in a. out partition upted
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 shocould berestarted
Errno86: Streams pipe error
Errno87: Too extends 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 required 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
Errnoodle: Unknown error 133
Errno134: Unknown error 134
Errno135: Unknown error 135
Errno136: Unknown error 136
Errnoodle: Unknown error 137
Errno138: Unknown error 138
Errno139: Unknown error 139
The definition of error Macros in Linux.
Header file/usr/include/asm-generic/errno-base.h source code:
# Ifndef _ ASM_GENERIC_ERRNO_BASE_H
# Define _ ASM_GENERIC_ERRNO_BASE_H
# DefineEPERM1/* Operation not permitted */
# DefineENOENT2/* No such file or directory */
# DefineESRCH3/* No such process */
# DefineEINTR4/* Interrupted system call */
# DefineEIO5/* I/O error */
# DefineENXIO6/* No such device or address */
# DefineE2BIG7/* Argument list too long */
# DefineENOEXEC8/* Exec format error */
# DefineEBADF9/* Bad file number */
# DefineECHILD10/* No child processes */
# DefineEAGAIN11/* Try again */
# DefineENOMEM12/* Out of memory */
# DefineEACCES13/* Permission denied */
# DefineEFAULT14/* Bad address */
# DefineENOTBLK15/* Block device required */
# DefineEBUSY16/* Device or resource busy */
# DefineEEXIST17/* File exists */
# DefineEXDEV18/* Cross-device link */
# DefineENODEV19/* No such device */
# DefineENOTDIR20/* Not a directory */
# DefineEISDIR21/* Is a directory */
# DefineEINVAL22/* Invalid argument */
# DefineENFILE23/* File table overflow */
# DefineEMFILE24/* Too program open files */
# DefineENOTTY25/* Not a typewriter */
# DefineETXTBSY26/* Text file busy */
# DefineEFBIG27/* File too large */
# DefineENOSPC28/* No space left on device */
# DefineESPIPE29/* Illegal seek */
# DefineEROFS30/* Read-only file system */
# DefineEMLINK31/* Too many links */
# DefineEPIPE32/* Broken pipe */
# DefineEDOM33/* Math argument out of domain of func */
# DefineERANGE34/* Math result not representable */
# Endif
Header file/usr/include/asm-generic/erno. h source code:
# Ifndef _ ASM_GENERIC_ERRNO_H
# Define _ ASM_GENERIC_ERRNO_H
# Include <asm-generic/errno-base.h>
# DefineEDEADLK35/* Resource deadlock wocould occur */
# DefineENAMETOOLONG36/* File name too long */
# DefineENOLCK37/* No record locks available */
# DefineENOSYS38/* Function not implemented */
# DefineENOTEMPTY39/* Directory not empty */
# DefineELOOP40/* Too define symbolic links encountered */
# DefineEWOULDBLOCKEAGAIN/* Operation wo'd block */
# DefineENOMSG42/* No message of desired type */
# DefineEIDRM43/* Identifier removed */
# DefineECHRNG44/* Channel number out of range */
# DefineEL2NSYNC45/* Level 2 not synchronized */
# DefineEL3HLT46/* Level 3 halted */
# DefineEL3RST47/* Level 3 reset */
# DefineELNRNG48/* Link number out of range */
# DefineEUNATCH49/* Protocol driver not attached */
# DefineENOCSI50/* No CSI structure available */
# DefineEL2HLT51/* Level 2 halted */
# DefineEBADE52/* Invalid exchange */
# DefineEBADR53/* Invalid request descriptor */
# DefineEXFULL54/* Exchange full */
# DefineENOANO55/* No anode */
# DefineEBADRQC56/* Invalid request code */
# DefineEBADSLT57/* Invalid slot */
# DefineEDEADLOCKEDEADLK
# DefineEBFONT59/* Bad font file format */
# DefineENOSTR60/* Device not a stream */
# DefineENODATA61/* No data available */
# DefineETIME62/* Timer expired */
# DefineENOSR63/* Out of streams resources */
# DefineENONET64/* Machine is not on the network */
# DefineENOPKG65/* Package not installed */
# DefineEREMOTE66/* Object is remote */
# DefineENOLINK67/* Link has been severed */
# DefineEADV68/* Advertise error */
# DefineESRMNT69/* Srmount error */
# DefineECOMM70/* Communication error on send */
# DefineEPROTO71/* Protocol error */
# Defineemulti21372/* Multihop attempted */
# DefineEDOTDOT73/* RFS specific error */
# DefineEBADMSG74/* Not a data message */
# DefineEOVERFLOW75/* Value too large for defined data type */
# DefineENOTUNIQ76/* Name not unique on network */
# DefineEBADFD77/* File descriptor in bad state */
# DefineEREMCHG78/* Remote address changed */
# DefineELIBACC79/* Can not access a needed shared library */
# DefineELIBBAD80/* Accessing a specified upted shared library */
# DefineELIBSCN81/*. lib section in a. out writable upted */
# DefineELIBMAX82/* Attempting to link in too functions shared libraries */
# DefineELIBEXEC83/* Cannot exec a shared library directly */
# DefineEILSEQ84/* Illegal byte sequence */
# DefineERESTART85/* Interrupted system call shoshould be restarted */
# DefineESTRPIPE86/* Streams pipe error */
# DefineEUSERS87/* Too kerberusers */
# DefineENOTSOCK88/* Socket operation on non-socket */
# DefineEDESTADDRREQ89/* Destination address required */
# DefineEMSGSIZE90/* Message too long */
# DefineEPROTOTYPE91/* Protocol wrong type for socket */
# DefineENOPROTOOPT92/* Protocol not available */
# Defineeprotonosupp93 93/* Protocol not supported */
# Defineesocktnosupp94 94/* Socket type not supported */
# DefineEOPNOTSUPP95/* Operation not supported on transport endpoint */
# Defineepfnosupp96 96/* Protocol family not supported */
# DefineEAFNOSUPPORT97/* Address family not supported by protocol */
# DefineEADDRINUSE98/* Address already in use */
# DefineEADDRNOTAVAIL99/* Cannot assign requested address */
# DefineENETDOWN100/* Network is down */
# DefineENETUNREACH101/* Network is unreachable */
# DefineENETRESET102/* Network dropped connection because of reset */
# DefineECONNABORTED103/* Software caused connection abort */
# DefineECONNRESET104/* Connection reset by peer */
# DefineENOBUFS105/* No buffer space available */
# DefineEISCONN106/* Transport endpoint is already connected */
# DefineENOTCONN107/* Transport endpoint is not connected */
# Defineeshudown108/* Cannot send after transport endpoint shutdown */
# Definepolicmanyrefs109/* Too limit references: cannot splice */
# DefineETIMEDOUT110/* Connection timed out */
# DefineECONNREFUSED111/* Connection refused */
# DefineEHOSTDOWN112/* Host is down */
# DefineEHOSTUNREACH113/* No route to host */
# DefineEALREADY114/* Operation already in progress */
# DefineEINPROGRESS115/* Operation now in progress */
# DefineESTALE116/* Stale NFS file handle */
# DefineEUCLEAN117/* Structure needs cleaning */
# DefineENOTNAM118/* Not a XENIX named type file */
# DefineENAVAIL119/* No XENIX semaphores available */
# DefineEISNAM120/* Is a named type file */
# DefineEREMOTEIO121/* Remote I/O error */
# DefineEDQUOT122/* Quota exceeded */
# DefineENOMEDIUM123/* No medium found */
# DefineEMEDIUMTYPE124/* Wrong medium type */
# DefineECANCELED125/* Operation Canceled */
# DefineENOKEY126/* Required key not available */
# DefineEKEYEXPIRED127/* Key has expired */
# DefineEKEYREVOKED128/* Key has been revoked */
# DefineEKEYREJECTED129/* Key was rejected by service */
/* For robust mutexes */
# DefineEOWNERDEAD130/* Owner died */
# DefineENOTRECOVERABLE131/* State not recoverable */
# Define ERFKILL132/* Operation not possible due to RF-kill */
# Endif