Linux中的错误码

简介: Linux中的错误码

include\uapi\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 domain of func */
#define ERANGE    34  /* Math result not representable */

include\uapi\asm-generic\errno.h

#define EDEADLK   35  /* Resource deadlock would occur */
#define ENAMETOOLONG  36  /* File name too long */
#define ENOLCK    37  /* No record locks available */
/*
 * This error code is special: arch syscall entry code will return
 * -ENOSYS if users try to call a syscall that doesn't exist.  To keep
 * failures of syscalls that really do exist distinguishable from
 * failures due to attempts to use a nonexistent syscall, syscall
 * implementations should refrain from returning -ENOSYS.
 */
#define ENOSYS    38  /* Invalid system call number */
#define ENOTEMPTY 39  /* Directory not empty */
#define ELOOP   40  /* Too many symbolic links encountered */
#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  /* Level 2 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 not attached */
#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 the network */
#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  /* Value too large for defined data type */
#define ENOTUNIQ  76  /* Name not unique on network */
#define EBADFD    77  /* File descriptor in bad state */
#define EREMCHG   78  /* Remote address changed */
#define ELIBACC   79  /* Can not access a needed shared library */
#define ELIBBAD   80  /* Accessing a corrupted shared library */
#define ELIBSCN   81  /* .lib section in a.out corrupted */
#define ELIBMAX   82  /* Attempting to link in too many shared libraries */
#define ELIBEXEC  83  /* Cannot exec 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  /* Socket operation 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 is already 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 /* Host is 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 file handle */
#define EUCLEAN   117 /* Structure needs cleaning */
#define ENOTNAM   118 /* Not a XENIX named type file */
#define ENAVAIL   119 /* No XENIX semaphores available */
#define EISNAM    120 /* Is a named type file */
#define EREMOTEIO 121 /* Remote I/O error */
#define EDQUOT    122 /* Quota exceeded */
#define ENOMEDIUM 123 /* No medium found */
#define EMEDIUMTYPE 124 /* Wrong medium type */
#define ECANCELED 125 /* Operation Canceled */
#define ENOKEY    126 /* Required key not available */
#define EKEYEXPIRED 127 /* Key has expired */
#define EKEYREVOKED 128 /* Key has been revoked */
#define EKEYREJECTED  129 /* Key was rejected by service */
/* for robust mutexes */
#define EOWNERDEAD  130 /* Owner died */
#define ENOTRECOVERABLE 131 /* State not recoverable */
#define ERFKILL   132 /* Operation not possible due to RF-kill */
#define EHWPOISON 133 /* Memory page has hardware error */

include\linux\errno.h

/*
 * These should never be seen by 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 debugged user
 * process to see.
 */
#define ERESTARTSYS 512
#define ERESTARTNOINTR  513
#define ERESTARTNOHAND  514 /* restart if no handler.. */
#define ENOIOCTLCMD 515 /* No ioctl command */
#define ERESTART_RESTARTBLOCK 516 /* restart by calling sys_restart_syscall */
#define EPROBE_DEFER  517 /* Driver requests probe retry */
#define EOPENSTALE  518 /* open found a stale dentry */
#define ENOPARAM  519 /* Parameter not supported */
/* Defined for the NFSv3 protocol */
#define EBADHANDLE  521 /* Illegal NFS file handle */
#define ENOTSYNC  522 /* Update synchronization mismatch */
#define EBADCOOKIE  523 /* Cookie is stale */
#define ENOTSUPP  524 /* Operation is not supported */
#define ETOOSMALL 525 /* Buffer or request is too small */
#define ESERVERFAULT  526 /* An untranslatable error occurred */
#define EBADTYPE  527 /* Type not supported by server */
#define EJUKEBOX  528 /* Request initiated, but will not complete before timeout */
#define EIOCBQUEUED 529 /* iocb queued, will get completion event */
#define ERECALLCONFLICT 530 /* conflict with recalled state */
#define ENOGRACE  531 /* NFS file lock reclaim refused */
相关文章
Linux系统调试篇——Linux错误码介绍
Linux系统调试篇——Linux错误码介绍
|
存储 Linux Shell
Linux系统调用十、进程地址空间、文件描述符、errno错误码、dup()重定向
Linux系统调用十、进程地址空间、文件描述符、errno错误码、dup()重定向
249 0
Linux系统调用十、进程地址空间、文件描述符、errno错误码、dup()重定向
|
Linux
Linux错误码
1-34号错误号是在内核源码的include/asm-generic/errno-base.h定义35-132则是在include/asm-generic/errno.h中定义   #define   EPERM        1   /* Operation not permitted*/ #de...
1266 0
|
15天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
111 5
|
15天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
51 4
|
2天前
|
缓存 监控 Linux
|
5天前
|
Linux Shell 数据安全/隐私保护
|
6天前
|
域名解析 网络协议 安全
|
13天前
|
监控 Linux Shell