Linux errno 错误对照表

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

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

<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)

–>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\t%s\n“,i,strerror(errno)); 
12.    } 
13.    return 0; 
14.} 
 

错误对照表: 

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 的源码:

#ifndef _ASM_GENERIC_ERRNO_BASE_H
#define _ASM_GENERIC_ERRNO_BASE_H

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/19288.html