1 /** 2 * @file errno.h 3 * @author fslongjin (longjin@RinGoTek.cn) 4 * @brief 5 * @version 0.1 6 * @date 2022-04-22 7 * 8 * @copyright Copyright (c) 2022 9 * 10 */ 11 #pragma once 12 #define EPERM 1 /* 操作不被允许 Operation not permitted. */ 13 #define ENOENT 2 /* 没有指定的文件或目录 No such file or directory. */ 14 #define ESRCH 3 /* 没有这样的进程 No such process. */ 15 #define EINTR 4 /* 被中断的函数 Interrupted function. */ 16 #define EIO 5 /* I/O错误 I/O error. */ 17 #define ENXIO 6 /* 没有这样的设备或地址 No such device or address. */ 18 #define E2BIG 7 /* 参数列表过长,或者在输出buffer中缺少空间 或者参数比系统内建的最大值要大 Argument list too long. */ 19 #define ENOEXEC 8 /* 可执行文件格式错误 Executable file format error */ 20 #define EBADF 9 /* 错误的文件描述符 Bad file descriptor. */ 21 #define ECHILD 10 /* 没有子进程 No child processes. */ 22 #define EAGAIN 11 /* 资源不可用,请重试。 Resource unavailable try again.(may be the same value as [EWOULDBLOCK]) */ 23 #define EWOULDBLOCK 11 /* 操作将被禁止 Operation would block.(may be the same value as [EAGAIN]). */ 24 #define ENOMEM 12 /* 没有足够的空间 Not enough space. */ 25 #define EACCES 13 /* 访问被拒绝 Permission denied */ 26 #define EFAULT 14 /* 错误的地址 Bad address */ 27 #define ENOTBLK 15 /* 需要块设备 Block device required */ 28 #define EBUSY 16 /* 设备或资源忙 Device or resource busy. */ 29 #define EEXIST 17 /* 文件已存在 File exists. */ 30 #define EXDEV 18 /* 跨设备连接 Cross-device link. */ 31 #define ENODEV 19 /* 没有指定的设备 No such device. */ 32 #define ENOTDIR 20 /* 不是目录 Not a directory. */ 33 #define EISDIR 21 /* 是一个目录 Is a directory */ 34 #define EINVAL 22 /* 不可用的参数 Invalid argument. */ 35 #define ENFILE 23 /* 系统中打开的文件过多 Too many files open in system. */ 36 #define EMFILE 24 /* 文件描述符的值过大 File descriptor value too large. */ 37 #define ENOTTY 25 /* 不正确的I/O控制操作 Inappropriate I/O control operation. */ 38 #define ETXTBSY 26 /* 文本文件忙 Text file busy. */ 39 #define EFBIG 27 /* 文件太大 File too large. */ 40 #define ENOSPC 28 /* 设备上没有空间 No space left on device. */ 41 #define ESPIPE 29 /* 错误的寻道.当前文件是pipe,不允许seek请求 Invalid seek. */ 42 #define EROFS 30 /* 只读的文件系统 Read-only file system. */ 43 #define EMLINK 31 /* 链接数过多 Too many links. */ 44 #define EPIPE 32 /* 断开的管道 Broken pipe. */ 45 #define EDOM 33 /* 数学参数超出作用域 Mathematics argument out of domain of function. */ 46 #define ERANGE 34 /* 结果过大 Result too large. */ 47 #define EDEADLK 35 /* 资源死锁将要发生 Resource deadlock would occur. */ 48 #define ENAMETOOLONG 36 /* 文件名过长 Filename too long. */ 49 #define ENOLCK 37 /* 没有可用的锁 No locks available. */ 50 #define ENOSYS 38 /* 功能不支持 Function not supported. */ 51 #define ENOTEMPTY 39 /* 目录非空 Directory not empty. */ 52 #define ELOOP 40 /* 符号链接级别过多 Too many levels of symbolic links. */ 53 #define ENOMSG 42 /* 没有期待类型的消息 No message of the desired type. */ 54 #define EIDRM 43 /* 标志符被移除 Identifier removed. */ 55 #define ECHRNG 44 /* 通道号超出范围 Channel number out of range */ 56 #define EL2NSYNC 45 /* 二级不同步 Level 2 not synchronized */ 57 #define EL3HLT 46 /* 三级暂停 Level 3 halted */ 58 #define EL3RST 47 /* 三级重置 Level 3 reset */ 59 #define ELNRNG 48 /* 链接号超出范围 Link number out of range */ 60 #define EUNATCH 49 /* 未连接协议驱动程序 Protocol driver not attached */ 61 #define ENOCSI 50 /* 没有可用的CSI结构 No CSI structure available */ 62 #define EL2HLT 51 /* 二级暂停 Level 2 halted */ 63 #define EBADE 52 /* 无效交换 Invalid exchange */ 64 #define EBADR 53 /* 无效的请求描述符 Invalid request descriptor */ 65 #define EXFULL 54 /* 交换满 Exchange full */ 66 #define ENOANO 55 /* 无阳极 No anode */ 67 #define EBADRQC 56 /* 请求码无效 Invalid request code */ 68 #define EBADSLT 57 /* 无效插槽 Invalid slot */ 69 #define EDEADLOCK EDEADLK /* 资源死锁 Resource deadlock would occur */ 70 #define EBFONT 59 /* 错误的字体文件格式 Bad font file format */ 71 #define ENOSTR 60 /* 不是STREAM Not a STREAM */ 72 #define ENODATA 61 /* 队列头没有可读取的消息 No message is available on the STREAM head read queue. */ 73 #define ETIME 62 /* 流式ioctl()超时 Stream ioctl() timeout */ 74 #define ENOSR 63 /* 没有STREAM资源 No STREAM resources. */ 75 #define ENONET 64 /* 机器不在网络上 Machine is not on the network */ 76 #define ENOPKG 65 /* 未安装软件包 Package not installed */ 77 #define EREMOTE 66 /* 远程对象 Object is remote */ 78 #define ENOLINK 67 /* 保留 Reserved. */ 79 #define EADV 68 /* 外设错误 Advertise error. */ 80 #define ESRMNT 69 /* 安装错误 Srmount error */ 81 #define ECOMM 70 /* 发送时发生通信错误 Communication error on send */ 82 #define EPROTO 71 /* 协议错误 Protocol error. */ 83 #define EMULTIHOP 72 /* 保留使用 Reserved. */ 84 #define EDOTDOT 73 /* RFS特定错误 RFS specific error */ 85 #define EBADMSG 74 /* 错误的消息 Bad message. */ 86 #define EOVERFLOW 75 /* 数值过大,产生溢出 Value too large to be stored in data type. */ 87 #define ENOTUNIQ 76 /* 名称在网络上不是唯一的 Name not unique on network */ 88 #define EBADFD 77 /* 处于不良状态的文件描述符 File descriptor in bad state */ 89 #define EREMCHG 78 /* 远程地址已更改 Remote address changed */ 90 #define ELIBACC 79 /* 无法访问所需的共享库 Can not access a needed shared library */ 91 #define ELIBBAD 80 /* 访问损坏的共享库 Accessing a corrupted shared library */ 92 #define ELIBSCN 81 /* a. out中的.lib部分已损坏 .lib section in a.out corrupted */ 93 #define ELIBMAX 82 /* 尝试链接太多共享库 Attempting to link in too many shared libraries */ 94 #define ELIBEXEC 83 /* 无法直接执行共享库 Cannot exec a shared library directly */ 95 #define EILSEQ 84 /* 不合法的字符序列 Illegal byte sequence. */ 96 #define ERESTART 85 /* 中断的系统调用应该重新启动 Interrupted system call should be restarted */ 97 #define ESTRPIPE 86 /* 流管道错误 Streams pipe error */ 98 #define EUSERS 87 /* 用户太多 Too many users */ 99 #define ENOTSOCK 88 /* 不是一个套接字 Not a socket. */ 100 #define EDESTADDRREQ 89 /* 需要目标地址 Destination address required. */ 101 #define EMSGSIZE 90 /* 消息过大 Message too large. */ 102 #define EPROTOTYPE 91 /* 对于套接字而言,错误的协议 Protocol wrong type for socket. */ 103 #define ENOPROTOOPT 92 /* 协议不可用 Protocol not available. */ 104 #define EPROTONOSUPPORT 93 /* 协议不被支持 Protocol not supported. */ 105 #define ESOCKTNOSUPPORT 94 /* 不支持套接字类型 Socket type not supported */ 106 #define EOPNOTSUPP 95 /* 套接字不支持该操作 Operation not supported on socket (may be the same value as [ENOTSUP]). */ 107 #define ENOTSUP EOPNOTSUPP /* 不被支持 Not supported (may be the same value as [EOPNOTSUPP]). */ 108 #define EPFNOSUPPORT 96 /* 不支持协议系列 Protocol family not supported */ 109 #define EAFNOSUPPORT 97 /* 地址family不支持 Address family not supported. */ 110 #define EADDRINUSE 98 /* 地址正在被使用 Address in use. */ 111 #define EADDRNOTAVAIL 99 /* 地址不可用 Address not available. */ 112 #define ENETDOWN 100 /* 网络已关闭 Network is down. */ 113 #define ENETUNREACH 101 /* 网络不可达 Network unreachable. */ 114 #define ENETRESET 102 /* 网络连接已断开 Connection aborted by network. */ 115 #define ECONNABORTED 103 /* 连接已断开 Connection aborted. */ 116 #define ECONNRESET 104 /* 连接被重置 Connection reset. */ 117 #define ENOBUFS 105 /* 缓冲区空间不足 No buffer space available. */ 118 #define EISCONN 106 /* 套接字已连接 Socket is connected. */ 119 #define ENOTCONN 107 /* 套接字未连接 The socket is not connected. */ 120 #define ESHUTDOWN 108 /* 传输端点关闭后无法发送 Cannot send after transport endpoint shutdown */ 121 #define ETOOMANYREFS 109 /* 引用太多:无法拼接 Too many references: cannot splice */ 122 #define ETIMEDOUT 110 /* 连接超时 Connection timed out. */ 123 #define ECONNREFUSED 111 /* 连接被拒绝 Connection refused. */ 124 #define EHOSTDOWN 112 /* 主机已关闭 Host is down */ 125 #define EHOSTUNREACH 113 /* 主机不可达 Host is unreachable. */ 126 #define EALREADY 114 /* 连接已经在处理 Connection already in progress. */ 127 #define EINPROGRESS 115 /* 操作正在处理 Operation in progress. */ 128 #define ESTALE 116 /* 保留 Reserved. */ 129 #define EUCLEAN 117 /* 结构需要清理 Structure needs cleaning */ 130 #define ENOTNAM 118 /* 不是XENIX命名类型文件 Not a XENIX named type file */ 131 #define ENAVAIL 119 /* 没有可用的XENIX信号量 No XENIX semaphores available */ 132 #define EISNAM 120 /* 是命名类型文件 Is a named type file */ 133 #define EREMOTEIO 121 /* 远程I/O错误 Remote I/O error */ 134 #define EDQUOT 122 /* 保留使用 Reserved */ 135 #define ENOMEDIUM 123 /* 没有找到媒介 No medium found */ 136 #define EMEDIUMTYPE 124 /* 介质类型错误 Wrong medium type */ 137 #define ECANCELED 125 /* 操作被取消 Operation canceled. */ 138 #define ENOKEY 126 /* 所需的密钥不可用 Required key not available */ 139 #define EKEYEXPIRED 127 /* 密钥已过期 Key has expired */ 140 #define EKEYREVOKED 128 /* 密钥已被撤销 Key has been revoked */ 141 #define EKEYREJECTED 129 /* 密钥被服务拒绝 Key has been revoked */ 142 #define EOWNERDEAD 130 /* 之前的拥有者挂了 Previous owner died. */ 143 #define ENOTRECOVERABLE 131 /* 状态不可恢复 State not recoverable. */ 144 #define ERFKILL 132 /* 由于射频终止,无法操作 Operation not possible due to RF-kill */ 145 #define EHWPOISON 132 /* 内存页面有硬件错误 Memory page has hardware error */ 146