程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> Linux errno 錯誤對照表

Linux errno 錯誤對照表

編輯:關於C++

errno 在 <errno.h> 中定義,錯誤 Exx 的宏定義在 /usr/include/asm-generic 文件夾下面的 errno-base.h 和 errno.h,分別定義了 1-34 、35-132 的錯誤定義。

strerror() 函數依據 errno 值返回錯誤描述字符串,下面程序打印對照表:

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

#define EPERM 1 /* Operation not permitted */

#define ENOENT2 /* 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 ENOEXEC8 /* Exec format error */

#define EBADF 9 /* 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 EBUSY 16 /* Device or resource busy */

#define EEXIST17 /* File exists */

#define EXDEV 18 /* 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 EFBIG 27 /* File too large */

#define ENOSPC28 /* No space left on device */

#define ESPIPE29 /* Illegal seek */

#define EROFS 30 /* Read-only file system */

#define EMLINK31 /* Too many links */

#define EPIPE 32 /* Broken pipe */

#define EDOM 33 /* Math argument out of domain of func */

#define ERANGE34 /* Math result not representable */

#endif

頭文件/usr/include/asm-generic/erno.h源碼:

#ifndef _ASM_GENERIC_ERRNO_H

#define _ASM_GENERIC_ERRNO_H

#include <asm-generic/errno-base.h>

#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 ELOOP 40 /* Too many symbolic links encountered */

#define EWOULDBLOCKEAGAIN /* Operation would block */

#define ENOMSG42 /* No message of desired type */

#define EIDRM 43 /* 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 EBADE 52 /* Invalid exchange */

#define EBADR 53 /* 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 ETIME 62 /* Timer expired */

#define ENOSR 63 /* 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 EADV 68 /* Advertise error */

#define ESRMNT69 /* Srmount error */

#define ECOMM 70 /* 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 section 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 EPROTONOSUPPORT93 /* Protocol not supported */

#define ESOCKTNOSUPPORT94 /* 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 ENOTRECOVERABLE131 /* State not recoverable */

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

#endif

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved