API
CoolPotOS 拥有 Linux 兼容层, 可以直接运行 Linux 下的二进制文件
默认的
cpos-rootfs仅提供musllibc构建出来的 linux 程序.
Syscalls
以下列举出来所有已经实现的 linux 系统调用, 因各架构的调用号略有差异, 故不会按照固定顺序排序.
具体的系统调用号遵循 Linux 的各个平台编号.
sys_open
以指定路径打开一个文件句柄
Parameters:
argv0: path - 绝对路径或进程工作目录的相对路径
Returns:
return: 返回文件描述符表句柄索引-EINVAL: 路径指针为空-ENOENT: 找不到指定文件
sys_close
关闭指定索引的文件句柄
argv0: fd - 文件句柄索引return: 成功关闭-EINVAL: 文件句柄有误-EBADF: 文件句柄索引无效
sys_read
读取一个文件句柄的内容到指定缓冲区
argv0: fd - 文件描述符表句柄索引argv1: buffer - 读取缓冲区argv2: size - 需要读取的长度return: 返回读取的长度-EINVAL: 文件句柄索引异常或缓冲区地址有误-EBADF: 文件句柄索引无效-EIO: 读取出现问题-EWOULDBLOCK: PIPE管道禁止采用O_NONBLOCK标志
sys_write
将缓冲区的内容写入文件句柄
argv0: fd - 文件描述符表句柄索引argv1: buffer - 写入缓冲区argv2: size - 需要写入的长度return: 返回写入的长度-EINVAL: 文件句柄索引异常或缓冲区地址有误-EBADF: 文件句柄索引无效-EIO: 写入出现问题-EWOULDBLOCK: PIPE管道禁止采用O_NONBLOCK标志
Last updated on