错误代码 - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki
Unix代码通过设置u.u_error的方法来向调用函数返回错误代码
定义在user.h
错误名 | 值 | 含义 |
---|---|---|
EPERM | 1 | 当前用户不是超级用户 |
ENOENT | 2 |
企图对根目录进行操作 欲添加已存在的目录项,参看namei |
ESRCH | 3 | 未找到 匹配进程 |
EINTR | 4 | 系统调用 嵌套错误 |
EIO | 5 | IO错误 |
ENXIO | 6 | 设备号越界 |
E2BIG | 7 | exec 中 参数过长 |
ENOEXEC | 8 | exec 含义不明... |
EBADF | 9 | 关于文件结构struct file的错误 |
ECHILD | 10 | 不存在子进程 |
EAGAIN | 11 | PROC 表 没有空闲项 |
ENOMEM | 12 | 没有足够的内存空间 |
EACCES | 13 | 文件 执行权限 验证错误,参看access |
ENOTBLK | 15 | INODE 不是 块设备装载INODE,参看文件系统#装载文件系统 |
EBUSY | 16 |
装载子文件系统 抛出错误,参看smount 内存INODE表中存在对应于待卸载文件系统的inode,无法卸载 参看sumount |
EEXIST | 17 | 欲创建的目录项 已经存在 |
EXDEV | 18 | 文件别名 跨越 设备 |
ENODEV | 19 | 无效设备函数 |
ENOTDIR | 20 | 目录搜索时匹配的并不是目录项 |
EISDIR | 21 | 写文件时INODE为目录INODE,见open1 |
EINVAL | 22 |
找不到当前装载文件系统对应的装载块,参看sumount 信号类型号非法,参看ssig |
ENFILE | 23 |
INODE数组用尽 file数组用尽 |
EMFILE | 24 | u_ofile数组用尽 |
ENOTTY | 25 | 指定的tty设备装载文件 不是 字符设备装载文件 |
ETXTBSY | 26 | 尝试修改 作为程序正文的文件 |
EFBIG | 27 | 文件块号越界 |
ENOSPC | 28 |
磁盘空间用尽 INODE区用尽 |
ESPIPE | 29 | 管道文件,无法seek,参看seek |
EROFS | 30 | 尝试写 只读的文件系统 |
EMLINK | 31 | 文件勾连数 超过限制 |
EPIPE | 32 | 管道错误 |
EFAULT | 106 | 从 指定地址空间获取内容 失败 |