Skip to Content
CoolPotOS 4.0 rebuild developing
文档图标CoolPotOS用户接口

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