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 13 #if defined(__cplusplus) 14 extern "C" { 15 #endif 16 17 #define E2BIG 1 /* 参数列表过长,或者在输出buffer中缺少空间 或者参数比系统内建的最大值要大 Argument list too long. */ 18 #define EACCES 2 /* 访问被拒绝 Permission denied */ 19 #define EADDRINUSE 3 /* 地址正在被使用 Address in use.*/ 20 #define EADDRNOTAVAIL 4 /* 地址不可用 Address not available.*/ 21 #define EAFNOSUPPORT 5 /* 地址family不支持 Address family not supported. */ 22 #define EAGAIN 6 /* 资源不可用,请重试。 Resource unavailable, try again (may be the same value as [EWOULDBLOCK]).*/ 23 #define EALREADY 7 /* 连接已经在处理 Connection already in progress. */ 24 #define EBADF 8 /* 错误的文件描述符 Bad file descriptor. */ 25 #define EBADMSG 9 /* 错误的消息 Bad message. */ 26 27 #define EBUSY 10 /* 设备或资源忙 Device or resource busy. */ 28 #define ECANCELED 11 /* 操作被取消 Operation canceled. */ 29 #define ECHILD 12 /* 没有子进程 No child processes. */ 30 #define ECONNABORTED 13 /* 连接已断开 Connection aborted. */ 31 #define ECONNREFUSED 14 /* 连接被拒绝 Connection refused. */ 32 #define ECONNRESET 15 /* 连接被重置 Connection reset. */ 33 #define EDEADLK 16 /* 资源死锁将要发生 Resource deadlock would occur. */ 34 #define EDESTADDRREQ 17 /* 需要目标地址 Destination address required.*/ 35 #define EDOM 18 /* 数学参数超出作用域 Mathematics argument out of domain of function. */ 36 #define EDQUOT 19 /* 保留使用 Reserved */ 37 38 #define EEXIST 20 /* 文件已存在 File exists. */ 39 #define EFAULT 21 /* 错误的地址 Bad address */ 40 #define EFBIG 22 /* 文件太大 File too large. */ 41 #define EHOSTUNREACH 23 /* 主机不可达 Host is unreachable.*/ 42 #define EIDRM 24 /* 标志符被移除 Identifier removed. */ 43 #define EILSEQ 25 /* 不合法的字符序列 Illegal byte sequence. */ 44 #define EINPROGRESS 26 /* 操作正在处理 Operation in progress. */ 45 #define EINTR 27 /* 被中断的函数 Interrupted function. */ 46 #define EINVAL 28 /* 不可用的参数 Invalid argument. */ 47 #define EIO 29 /* I/O错误 I/O error. */ 48 49 #define EISCONN 30 /* 套接字已连接 Socket is connected. */ 50 #define EISDIR 31 /* 是一个目录 Is a directory */ 51 #define ELOOP 32 /* 符号链接级别过多 Too many levels of symbolic links. */ 52 #define EMFILE 33 /* 文件描述符的值过大 File descriptor value too large. */ 53 #define EMLINK 34 /* 链接数过多 Too many links. */ 54 #define EMSGSIZE 35 /* 消息过大 Message too large. */ 55 #define EMULTIHOP 36 /* 保留使用 Reserved. */ 56 #define ENAMETOOLONG 37 /* 文件名过长 Filename too long. */ 57 #define ENETDOWN 38 /* 网络已关闭 Network is down. */ 58 #define ENETRESET 39 /* 网络连接已断开 Connection aborted by network. */ 59 60 #define ENETUNREACH 40 /* 网络不可达 Network unreachable. */ 61 #define ENFILE 41 /* 系统中打开的文件过多 Too many files open in system.*/ 62 #define ENOBUFS 42 /* 缓冲区空间不足 No buffer space available. */ 63 #define ENODATA 43 /* 队列头没有可读取的消息 No message is available on the STREAM head read queue. */ 64 #define ENODEV 44 /* 没有指定的设备 No such device. */ 65 #define ENOENT 45 /* 没有指定的文件或目录 No such file or directory. */ 66 #define ENOEXEC 46 /* 可执行文件格式错误 Executable file format error. */ 67 #define ENOLCK 47 /* 没有可用的锁 No locks available. */ 68 #define ENOLINK 48 /* 保留 Reserved. */ 69 #define ENOMEM 49 /* 没有足够的空间 Not enough space. */ 70 71 #define ENOMSG 50 /* 没有期待类型的消息 No message of the desired type. */ 72 #define ENOPROTOOPT 51 /* 协议不可用 Protocol not available. */ 73 #define ENOSPC 52 /* 设备上没有空间 No space left on device. */ 74 #define ENOSR 53 /* 没有STREAM资源 No STREAM resources.*/ 75 #define ENOSTR 54 /* 不是STREAM Not a STREAM */ 76 #define ENOSYS 55 /* 功能不支持 Function not supported. */ 77 #define ENOTCONN 56 /* 套接字未连接 The socket is not connected. */ 78 #define ENOTDIR 57 /* 不是目录 Not a directory. */ 79 #define ENOTEMPTY 58 /* 目录非空 Directory not empty. */ 80 #define ENOTRECOVERABLE 59 /* 状态不可覆盖 State not recoverable. */ 81 82 #define ENOTSOCK 60 /* 不是一个套接字 Not a socket.*/ 83 #define ENOTSUP 61 /* 不被支持 Not supported (may be the same value as [EOPNOTSUPP]). */ 84 #define ENOTTY 62 /* 不正确的I/O控制操作 Inappropriate I/O control operation. */ 85 #define ENXIO 63 /* 没有这样的设备或地址 No such device or address. */ 86 #define EOPNOTSUPP 64 /* 套接字不支持该操作 Operation not supported on socket (may be the same value as [ENOTSUP]). */ 87 #define EOVERFLOW 65 /* 数值过大,产生溢出 Value too large to be stored in data type. */ 88 #define EOWNERDEAD 66 /* 之前的拥有者挂了 Previous owner died. */ 89 #define EPERM 67 /* 操作不被允许 Operation not permitted. */ 90 #define EPIPE 68 /* 断开的管道 Broken pipe. */ 91 #define EPROTO 69 /* 协议错误 Protocol error. */ 92 93 #define EPROTONOSUPPORT 70 /* 协议不被支持 Protocol not supported. */ 94 #define EPROTOTYPE 71 /* 对于套接字而言,错误的协议 Protocol wrong type for socket. */ 95 #define ERANGE 72 /* 结果过大 Result too large. */ 96 #define EROFS 73 /* 只读的文件系统 Read-only file system. */ 97 #define ESPIPE 74 /* 错误的寻道 Invalid seek. */ 98 #define ESRCH 75 /* 没有这样的进程 No such process. */ 99 #define ESTALE 76 /* 保留 Reserved. */ 100 #define ETIME 77 /* 流式ioctl()超时 Stream ioctl() timeout */ 101 #define ETIMEDOUT 78 /* 连接超时 Connection timed out.*/ 102 #define ETXTBSY 79 /* 文本文件忙 Text file busy. */ 103 104 #define EWOULDBLOCK 80 /* 操作将被禁止 Operation would block (may be the same value as [EAGAIN]). */ 105 #define EXDEV 81 /* 跨设备连接 Cross-device link. */ 106 107 extern int errno; 108 109 #if defined(__cplusplus) 110 } /* extern "C" */ 111 #endif