Skip to content

Interfaces Reference

Z User edited this page Oct 23, 2026 · 3 revisions

语言:简体中文 | Interfaces-Reference-EN

 Do not hand-edit the tables; edit the generator or the
 surface headers instead. -->

Open Cube OS 接口参考

以下每一项都是在生成时从实际代码树中提取的:来自实时 help -a 运行时捕获的 shell 命令表,直接来自扩展接口面的接口声明。使用 make api-docs 重新生成。

  • Shell 命令(运行时权限):233
  • L1 扩展接口(编号接口面,README 公式 57+8+13+7+26+11+7+9+8+16):162
  • 13 个扩展接口头文件中的可调用声明(包含内部辅助函数和未编号项):278
  • 系统调用:53 个(grep -c '#define SYS_' kernel/core/core_syscall.h)
  • 源代码行数:140,672,分布在 353 个文件中(README 验证命令;.c/.h/.S 文件,已排除生成的数据块)

第 1 部分 - Shell 命令(233 个)

来自运行时 help -a 捕获(evidence/help_a_runtime.txt)。

Command One-line help
ab_partition_test A/B 磁盘发现 + 槽位 + 标志 (WP-10u)
abcfg 显示 grub.cfg 文件的 abdisk/install 写入
abdisk 创建可启动的 A/B 更新磁盘 (abdisk <dev>; 会销毁数据)
ac97 AC'97 状态
ac97_test AC'97 初始化/播放测试
acpi 转储 ACPI 表 (RSDP/FADT/DSDT/MCFG)
acpidev 列出 ACPI 命名空间设备 (AML)
acpipow ACPI 电源状态 (S1-S5/SCI/GPE/FACS)
acpitest AML 解释器自检 + DSDT 检查
ahci AHCI 控制器/端口状态
ahci_test WP-10a: AHCI 初始化/端口/读写测试
alias 设置/显示别名
arp 显示 ARP 缓存
ata ATA (PIO + Bus-Master DMA) 状态
ata_dma_test WP-10a: ATA Bus-Master DMA 测试 + PIO 时序
audio_rw_test 在每张卡上执行播放/停止往返测试
bcm57xx BCM57xx 网卡状态
bcm57xx_test WP-10b: BCM57xx 存在性/链接/发送-接收测试
bt 蓝牙:状态/usb/uart/测试 (HCI/L2CAP/RFCOMM/SDP/SPP/HID)
cat 打印文件内容 (cat <file>)
cd 更改目录 (cd [path])
checkupdate 通过 /etc/opencube.conf 检查更新 (http/https)
checkupdate_test 更新检查自检 (URL/JSON 单元 + 实时探测)
chinese 中文支持状态 (字体/编码/渲染/输入法)
chinesetest 运行完整的中文支持回归测试套件
clear 清空屏幕
config 读写系统配置 (config list|get|set|restore|path)
config_test 配置子系统自检 (写入/读取/获取全部/删除/恢复)
cp 复制文件 (cp <src> <dst>)
cr3test 测试 CR3 切换
crashlog 显示最近的异常崩溃记录
crashtest 触发内核崩溃测试 (panic/exc/pf/assert/wd/dump/policy)
cryptotest 使用 NIST 向量测试 AES/SHA-256/HMAC
df 显示磁盘/挂载使用情况
dhcp 通过 DHCP 获取 IP
dhtest DH 模指数运算 1024 位 (Oakley Group 1) 时序 + 正确性
disk_rw_test WP-10a: 在单个设备上执行读写往返测试 (disk_rw_test <dev>)
dmesg 显示内核日志环 (dmesg [N])
dns 解析域名 (dns <name> [aaaa|cname|mx|txt|ns|srv])
dnstest DNS 记录类型自检 (A/AAAA/MX/TXT/NS/SRV 实时)
dskstat 显示块设备
du 目录使用情况 (du [path])
dumpinfo 显示核心转储状态 (大小/持久化/头信息)
e1000e e1000e 网卡状态
e1000e_test WP-10b: e1000e 初始化/链接/发送-接收测试
echo 回显文本
edit 行编辑器 (edit <file>; :i :d :p :w :q :wq)
encoding 编解码器状态 (gb2312/utf-8/ascii)
encoding-test 快速编解码器往返检查 (完整测试:chinesetest)
es1370 ES1370/1371 状态
es1370_test ES1370 初始化/播放测试
exc 运行异常自检 (#DE/#UD/#PF)
export 设置环境变量 (export NAME=value)
fatmount 挂载 FAT32 (fatmount <dev> <path>)
fatstat 显示 FAT32 统计信息
firewall 显示/添加/删除防火墙规则 (链、状态、策略、连接跟踪)
font 列出已注册字体和活动渲染器
font-test 在控制台上渲染混合 CJK/ASCII 示例行
frag 显示内存碎片
fs_mount_test WP-10a: mkfs+mount FAT32 文件往返测试 (fs_mount_test <dev>)
fsck 文件系统检查
fstest 运行 VFS 自检 (mkdir/write/read/ls)
gameport 游戏端口状态 (轴、按钮、校准)
gameporttest 游戏端口自检 (轴读取、按钮、校准)
grep 过滤匹配模式的行 (grep <pattern> [file])
grub-install 写入 GRUB BIOS 引导加载器 (grub-install <dev>)
halt 停止内核
halt_test 验证停止路径 (通过 'halt' 实时停止)
hda Intel HDA 状态
hda_test Intel HDA 初始化/编解码器/播放测试
health 系统健康监控器 (health [watch|export])
health export 将健康 JSON 写入 /var/log/health.json
health watch 实时健康监控,1 秒刷新 (ENTER 退出)
heap 显示内核堆统计
heapbounds 堆边界回归 (BUG-0140 包装 / BUG-0141 上限)
heaptest 通过 100 次分配测试堆开销
help 显示此消息
help_a_test 验证 help -a A-Z 排序
help_default_test 验证默认 help A-Z 排序
help_wp_test 验证 help -w 组排序
hpet HPET:功能 + 计数器 + 单次/周期性 IRQ8 测试
i2cdetect 扫描 I2C/SMBus 总线上的设备
i2cget 读取 I2C 字节 (i2cget <bus> <addr> [reg])
i2cset 写入 I2C 字节 (i2cset <bus> <addr> <reg> <val>)
i2ctest I2C 核心/控制器自检
ifconfig 显示网络接口信息
igb igb 网卡状态
igb_test WP-10b: igb 初始化/链接/发送-接收测试
ime 拼音输入法状态;"ime -i" 打开交互式控制台行
ime-test 快速输入法音节解析检查
install 将运行中的系统安装到磁盘 (install <dev>; 会销毁数据)
ip 显示/设置 IP 地址
ir 红外状态 (CIR/SIR 设备、载波、计数器)
irqabitest IRQ 进入 ABI 回归 (BUG-0137 对齐 / BUG-0138 DF)
irtest 红外自检 (NEC/RC5/RC6/SIRC 往返)
ixgbe ixgbe 网卡状态
ixgbe_test WP-10b: ixgbe 存在性/链接/发送-接收测试
kill 终止任务 (kill <tid>)
l1test 使用运行中进程测试 L1 job_create/job_list/job_control
lang 显示或设置 Shell 输出语言 (lang [en|zh])
ldd 列出动态依赖 (ldd <program>)
logcat 过滤内核日志 (logcat -l lvl -m mod -k key -t sec -n N [-f])
logctl 控制内核日志 (logctl status|level|enable|disable|clear|flush|rotate|e
ls 列出目录 (ls [path])
lsblk 列出块设备
lspci 列出 PCI 设备
mem 显示物理内存统计
memtest 运行内存测试 (PMM + heap)
mkdir 创建目录 (mkdir <path>)
mkfs.exfat 格式化 exFAT (mkfs.exfat <dev> confirm)
mkfs.ext4 格式化 ext4 (mkfs.ext4 <dev> confirm)
mkfs.fat32 格式化 FAT32 (mkfs.fat32 <dev> confirm)
mount 列出挂载点,或挂载文件系统:mount <type> <device> <path>
mounts 列出 VFS 挂载表 (mount 的别名)
msitest LAPIC 自 IPI + MSI/MSI-X 设备触发测试
multi 生成 3 个具有交错输出的任务
mv 移动/重命名文件 (mv <src> <dst>)
nano nano 风格编辑器 (nano <file>; ^O 保存 ^X 退出)
netstat 显示网络统计和套接字
nf_test netfilter 自检 (规则、连接跟踪、策略、实际路径)
nic_rw_test WP-10b: 在所有网卡上发送/接收正确性测试
nice 更改优先级 (nice <tid> <prio>)
nvme NVMe 控制器/队列状态
nvme_test WP-10a: NVMe 初始化/队列/读写测试
other_nic_test WP-10b: 传统网卡 (3c59x/nForce/AR81xx/Yukon)
parallel 并行端口状态 (IEEE 1284 模式、计数器)
paralleltest 并行自检 (SPP 写入、EPP 周期、ECP 探测)
parted 显示分区表 (parted [dev])
partition_test WP-10a: MBR+GPT 解析测试 (partition_test [dev])
pcibars 列出带大小 BAR 的 PCI 设备
pcidump 转储 PCI 配置空间 (pcidump <b:d.f>)
pcie PCIe MMCONFIG 状态 + 功能遍历
pftest 测试缺页异常处理
ping 发送 ICMP 回显 (ping <host>)
play 播放测试音 (play [rate])
pmmrace BUG-0043 复现:PMM 位图竞争 线程-vs-IRQ
pmtimer ACPI PM 定时器:读取 + PIT 校准 + 包装测试
poweroff shutdown 的别名
poweroff_test 实际关机尝试 (QEMU 退出)
ps 列出所有任务
pwd 打印工作目录

| real_hw_test | WP-10a: 真实硬件检测报告 | | real_update_test | 端到端更新阶段 1 (WP-10u) | | reboot | 重启机器 (reboot) | | reboot_test | 验证重启路径(通过 'reboot' 进行实时重置) | | rm | 删除文件 (rm <file>) | | rmdir | 移除目录 (rmdir <path>) | | rollback | 回滚到槽位 A (rollback) | | route | 显示/添加/删除路由表 (route add <dst> <mask> <gw>) | | rtc | CMOS RTC:时间 + 状态 + UIE/PIE/报警中断测试 | | rtl810x | RTL810x 网卡状态 | | rtl810x_test | WP-10b:RTL810x 存在性/链路/发送-接收测试 | | rtl8125 | RTL8125 网卡状态 | | rtl8125_test | WP-10b:RTL8125 存在性/链路/发送-接收测试 | | rtl8139 | RTL8139 网卡状态 | | rtl8139_test | WP-10b:RTL8139 初始化/链路/发送-接收测试 | | rtl8168 | RTL8168 网卡状态 | | rtl8168_test | WP-10b:RTL8168 存在性/链路/发送-接收测试 | | run | 运行一个用户程序 (hello/badapp/loop/fork_test/.../dyn_test/so_test/dyn_hello/ | | sample_rate_test | 44100/48000 速率配置测试 | | sb16 | Sound Blaster 16 状态 | | sb16_test | SB16 初始化/播放测试 | | sched | 显示调度器统计信息 | | scsi | SCSI 状态(HBA、目标、容量、块设备名称) | | scsitest | SCSI 自检(CDB 标准值、解析器、实时目标) | | set | 列出环境变量 | | shutdown | 关机(刷新 + ACPI/Bochs/APM 端口) | | sleep | 延迟 N 秒 (sleep <sec>) | | smbus | 列出扫描到的 SMBus 设备 | | smbustest | SMBus 协议测试(字节/字/块) | | sound | 列出已注册的声卡 | | spawn | 生成一个测试内核线程 | | ssh | SSH 客户端连接 (ssh <ip> [port] [user] [password]) | | sshd | SSH 服务器 (sshd [port=22] [user=oc] [password=oc]) | | stats | 显示中断/定时器统计信息 | | sync | 刷新磁盘缓存 | | syncstat | 显示同步原语统计信息 | | synctest | 测试同步原语(自旋锁/互斥锁/信号量) | | tcpcc_test | CUBIC 拥塞控制自检向量 | | tcpstats | 显示 TCP 可靠性统计信息(cwnd、rto 等) | | tcptest | TCP 选项协商自检(MSS/WScale/SACK/TS 实时) | | timer | 注册一个 500ms 单次定时器 | | touch | 创建空文件 (touch <path>) | | touchpad | 触摸板状态 + 待处理的手势事件 | | touchtest | 多点触控流水线自检(点击/滚动/捏合/滑动手势) | | tree | 目录的树状视图 (tree [path]) | | tsc | TSC:读取 + PIT/HPET/PMTimer 校准 + 延迟测试 | | tui | 全屏 TUI 主菜单(方向键/Tab/Enter/Esc) | | tui-drv | 驱动配置 TUI(tui-hw 的别名;可选页面名称) | | tui-ext | TUI L1 扩展实验室:自检 + 注册表 | | tui-hw | 硬件配置 TUI(可选:页面名称) | | tui-net | 无线网络 TUI(Wi-Fi + 蓝牙) | | tui-sys | 系统设置 TUI(主机/网络/存储/用户/安全/更新/日志/TUI) | | tui-sysinfo | 系统信息 TUI(可选:页面名称) | | tui-test | 运行 TUI 自检套件(输入/预期/实际/判定) | | tui-time | 时间 TUI:时钟/源/设置 RTC/时区 | | umount | 卸载 (umount <path>) | | unalias | 删除一个别名 | | uname | 打印操作系统名称 (uname [-a|-s|-r|-m]) | | update | 检查 + 安装系统更新 (update [local <pkg> | --local <pkg> | --status]) | | update_check_test | 带有包字段的更新清单检查 (WP-10u) | | update_download_test | 下载更新包 (WP-10u) | | update_install_test | 将包安装到槽位 B (WP-10u) | | update_local_test | 通过 cmd_update --local 进行离线更新流程 (WP-10u) | | update_pkg_test | gzip/DEFLATE + tar 单元测试 (WP-10u) | | update_rollback_test | 启动标志 + 回滚 (WP-10u) | | update_status_test | ota_update_get_status 覆盖测试 (WP-10u) | | update_verify_test | 包的 SHA256 验证 (WP-10u) | | usb | USB 主机/设备 + 类驱动状态 | | usb_audio_test | USB 音频初始化/播放测试 | | usb_core_test | USB 核心不变性 + 实时传输 | | usb_hotplug_test | USB 热插拔 (usb_hotplug_test [wait-new N|wait-leave N]) | | usb_hub_test | USB 外部集线器 + 子设备 | | usb_kbd_test | USB HID 键盘存在性 + 注入 | | usb_mouse_test | USB HID 鼠标存在性 + 事件清空 | | usb_serial_test | USB 串行 TX/RX 循环 | | usb_storage_test | USB MSC 驱动器容量/读写/分区 | | usbaudio | USB 音频状态 | | usbdev | USB 设备详细信息 (usbdev [slot]) | | uvc | 摄像头子系统状态(UVC 设备、格式、帧) | | uvctest | 摄像头自检(JPEG 解码、UVC 描述符解析、核心) | | vi | vi 编辑器,双模式(hjkl 移动,i/a/o 插入,ESC,:w :q :wq :q!) | | virtio_blk_test | WP-10a:virtio-blk 容量 + 读写测试 | | virtio_snd_test | virtio-snd 初始化/播放测试 | | virtiosnd | virtio-snd 状态 | | vmkernelpt | VMM PT-所有权回归测试 (BUG-0136) | | vmmap | 显示地址空间映射 | | vmtest | 运行虚拟内存测试 | | volume | 获取/设置音量 (volume [0-100]) | | watchdog | 看门狗状态/控制(硬件 TCO/WDAT + 被监控槽位 + 策略测试) | | wget | 通过 HTTP 下载文件 (wget <host> [port] [path]) | | wifi | 无线:状态/扫描/测试/sdio(802.11 家族 + SDIO 总线) | | write | 将文本写入文件 (write <path> <text>) | | ab_partition_test | A/B 磁盘发现 + 槽位 + 标志 (WP-10u) | | abcfg | 显示 grub.cfg 文件的 abdisk/install 写入 | | abdisk | 创建一个可启动的 A/B 更新磁盘 (abdisk <dev>;会销毁数据) | | ac97 | AC'97 状态 | | ac97_test | AC'97 初始化/播放测试 | | acpi | 转储 ACPI 表(RSDP/FADT/DSDT/MCFG) | | acpidev | 列出 ACPI 命名空间设备(AML) | | acpipow | ACPI 电源状态(S1-S5/SCI/GPE/FACS) | | acpitest | AML 解释器自检 + DSDT 检查 | | ahci | AHCI 控制器/端口状态 | | ahci_test | WP-10a:AHCI 初始化/端口/读写测试 | | alias | 设置/显示别名 | | arp | 显示 ARP 缓存 | | ata | ATA(PIO + 总线主控 DMA)状态 | | ata_dma_test | WP-10a:ATA 总线主控 DMA 测试 + PIO 时序 | | audio_rw_test | 在每张卡上进行播放/停止往返测试 | | bcm57xx | BCM57xx 网卡状态 | | bcm57xx_test | WP-10b:BCM57xx 存在性/链路/发送-接收测试 | | bt | 蓝牙:状态/usb/uart/测试(HCI/L2CAP/RFCOMM/SDP/SPP/HID) | | cat | 打印文件内容 (cat <file>) | | cd | 更改目录 (cd [path]) | | checkupdate | 通过 /etc/opencube.conf 检查更新(http/https) | | checkupdate_test | 更新检查自检(URL/JSON 单元 + 实时探测) | | chinese | 中文支持状态(字体/编码/渲染/输入法) | | chinesetest | 运行完整的中文支持回归测试套件 | | clear | 清屏 | | config | 读写系统配置 (config list|get|set|restore|path) | | config_test | 配置子系统自检(写入/读取/获取全部/删除/恢复) | | cp | 复制文件 (cp <src> <dst>) | | cr3test | 测试 CR3 切换 | | crashlog | 显示最后一次异常崩溃 | | crashtest | 触发内核崩溃测试(panic/异常/缺页断言/看门狗/转储/策略) | | cryptotest | 使用 NIST 向量测试 AES/SHA-256/HMAC | | df | 显示磁盘/挂载使用情况 | | dhcp | 通过 DHCP 获取 IP | | dhtest | DH 模指数运算 1024 位(Oakley 组 1)时序 + 正确性 | | disk_rw_test | WP-10a:在一个设备上进行读写往返测试 (disk_rw_test <dev>) | | dmesg | 显示内核日志环 (dmesg [N]) | | dns | 解析域名 (dns <name> [aaaa|cname|mx|txt|ns|srv]) | | dnstest | DNS 记录类型自检(A/AAAA/MX/TXT/NS/SRV 实时) | | dskstat | 显示块设备 | | du | 目录使用情况 (du [path]) | | dumpinfo | 显示核心转储状态(大小/持久化/头信息) | | e1000e | e1000e 网卡状态 | | e1000e_test | WP-10b:e1000e 初始化/链路/发送-接收测试 | | echo | 回显文本 | | edit | 行编辑器 (edit <file>;:i :d :p :w :q :wq) | | encoding | 编解码器状态(gb2312/utf-8/ascii) |

| encoding-test | 快速编解码往返测试(完整:chinesetest) | | es1370 | ES1370/1371 状态 | | es1370_test | ES1370 初始化/播放测试 | | exc | 运行异常自测(#DE/#UD/#PF) | | export | 设置环境变量(export NAME=value) | | fatmount | 挂载 FAT32(fatmount <dev> <path>) | | fatstat | 显示 FAT32 统计信息 | | firewall | 显示/添加/删除防火墙规则(chains、states、policies、conntrack) | | font | 列出已注册的字体和当前渲染器 | | font-test | 在控制台上渲染混合 CJK/ASCII 示例行 | | frag | 显示内存碎片情况 | | fs_mount_test | WP-10a:创建文件系统+挂载 FAT32 文件往返测试(fs_mount_test <dev>) | | fsck | 文件系统检查 | | fstest | 运行 VFS 自测(mkdir/write/read/ls) | | gameport | 游戏端口状态(axes、buttons、calibration) | | gameporttest | 游戏端口自测(axis reads、buttons、calibration) | | grep | 过滤匹配模式的行(grep <pattern> [file]) | | grub-install | 写入 GRUB BIOS 引导加载器(grub-install <dev>) | | halt | 停止内核 | | halt_test | 验证停止路径(通过 'halt' 实时停止) | | hda | Intel HDA 状态 | | hda_test | Intel HDA 初始化/编解码/播放测试 | | health | 系统健康监控(health [watch|export]) | | health export | 将健康 JSON 写入 /var/log/health.json | | health watch | 实时健康监控,1 秒刷新(ENTER 退出) | | heap | 显示内核堆统计 | | heapbounds | 堆边界回归测试(BUG-0140 包装 / BUG-0141 上限) | | heaptest | 通过 100 次分配测试堆开销 | | help | 显示此消息 | | help_a_test | 验证 help -a A-Z 排序 | | help_default_test | 验证默认 help A-Z 排序 | | help_wp_test | 验证 help -w 组排序 | | hpet | HPET:功能 + 计数器 + 单次/周期性 IRQ8 测试 | | i2cdetect | 扫描 I2C/SMBus 总线上的设备 | | i2cget | 读取 I2C 字节(i2cget <bus> <addr> [reg]) | | i2cset | 写入 I2C 字节(i2cset <bus> <addr> <reg> <val>) | | i2ctest | I2C 核心/控制器自测 | | ifconfig | 显示网络接口信息 | | igb | igb 网卡状态 | | igb_test | WP-10b:igb 初始化/链路/发送-接收测试 | | ime | 拼音输入法状态;"ime -i" 打开交互式控制台行 | | ime-test | 快速 IME 音节解析检查 | | install | 将运行中的系统安装到磁盘(install <dev>;会销毁数据) | | ip | 显示/设置 IP 地址 | | ir | 红外状态(CIR/SIR 设备、carrier、counters) | | irqabitest | IRQ 入口 ABI 回归测试(BUG-0137 对齐 / BUG-0138 DF) | | irtest | 红外自测(NEC/RC5/RC6/SIRC 往返) | | ixgbe | ixgbe 网卡状态 | | ixgbe_test | WP-10b:ixgbe 检测/链路/发送-接收测试 | | kill | 终止任务(kill <tid>) | | l1test | 使用运行中的进程测试 L1 job_create/job_list/job_control | | lang | 显示或设置 shell 输出语言(lang [en|zh]) | | ldd | 列出动态依赖(ldd <program>) | | logcat | 过滤内核日志(logcat -l lvl -m mod -k key -t sec -n N [-f]) | | logctl | 控制内核日志(logctl status|level|enable|disable|clear|flush|rotate|e | | ls | 列出目录(ls [path]) | | lsblk | 列出块设备 | | lspci | 列出 PCI 设备 | | mem | 显示物理内存统计 | | memtest | 运行内存测试(PMM + heap) | | mkdir | 创建目录(mkdir <path>) | | mkfs.exfat | 格式化 exFAT(mkfs.exfat <dev> confirm) | | mkfs.ext4 | 格式化 ext4(mkfs.ext4 <dev> confirm) | | mkfs.fat32 | 格式化 FAT32(mkfs.fat32 <dev> confirm) | | mount | 列出挂载点,或挂载文件系统:mount <type> <device> <path> | | mounts | 列出 VFS 挂载表(mount 的别名) | | msitest | LAPIC 自 IPI + MSI/MSI-X 设备触发测试 | | multi | 生成 3 个任务并交错输出 | | mv | 移动/重命名文件(mv <src> <dst>) | | nano | nano 风格编辑器(nano <file>;^O 保存 ^X 退出) | | netstat | 显示网络统计和套接字 | | nf_test | netfilter 自测(rules、conntrack、policies、real-path) | | nic_rw_test | WP-10b:所有网卡上的发送/接收正确性测试 | | nice | 更改优先级(nice <tid> <prio>) | | nvme | NVMe 控制器/队列状态 | | nvme_test | WP-10a:NVMe 初始化/队列/读写测试 | | other_nic_test | WP-10b:传统网卡(3c59x/nForce/AR81xx/Yukon) | | parallel | 并行端口状态(IEEE 1284 模式、counters) | | paralleltest | 并行自测(SPP 写入、EPP 周期、ECP 探测) | | parted | 显示分区表(parted [dev]) | | partition_test | WP-10a:MBR+GPT 解析测试(partition_test [dev]) | | pcibars | 列出带大小 BAR 的 PCI 设备 | | pcidump | 转储 PCI 配置空间(pcidump <b:d.f>) | | pcie | PCIe MMCONFIG 状态 + 能力遍历 | | pftest | 测试缺页异常处理 | | ping | 发送 ICMP 回显(ping <host>) | | play | 播放测试音(play [rate]) | | pmmrace | BUG-0043 复现:PMM 位图竞争 线程-对-IRQ | | pmtimer | ACPI PM 定时器:读取 + PIT 校准 + 包装测试 | | poweroff | shutdown 的别名 | | poweroff_test | 实际关机尝试(QEMU 退出) | | ps | 列出所有任务 | | pwd | 显示当前工作目录 | | real_hw_test | WP-10a:真实硬件检测报告 | | real_update_test | 端到端更新阶段 1(WP-10u) | | reboot | 重启机器(reboot) | | reboot_test | 验证重启路径(通过 'reboot' 实时重置) | | rm | 删除文件(rm <file>) | | rmdir | 删除目录(rmdir <path>) | | rollback | 回滚到槽位 A(rollback) | | route | 显示/添加/删除路由表(route add <dst> <mask> <gw>) | | rtc | CMOS RTC:时间 + 状态 + UIE/PIE/alarm 中断测试 | | rtl810x | RTL810x 网卡状态 | | rtl810x_test | WP-10b:RTL810x 检测/链路/发送-接收测试 | | rtl8125 | RTL8125 网卡状态 | | rtl8125_test | WP-10b:RTL8125 检测/链路/发送-接收测试 | | rtl8139 | RTL8139 网卡状态 | | rtl8139_test | WP-10b:RTL8139 初始化/链路/发送-接收测试 | | rtl8168 | RTL8168 网卡状态 | | rtl8168_test | WP-10b:RTL8168 检测/链路/发送-接收测试 | | run | 运行用户程序(hello/badapp/loop/fork_test/.../dyn_test/so_test/dyn_hello/ | | sample_rate_test | 44100/48000 速率配置测试 | | sb16 | Sound Blaster 16 状态 | | sb16_test | SB16 初始化/播放测试 | | sched | 显示调度器统计 | | scsi | SCSI 状态(HBAs、targets、capacity、blk 名称) | | scsitest | SCSI 自测(CDB goldens、parsers、live target) | | set | 列出环境变量 | | shutdown | 关机(刷新 + ACPI/Bochs/APM 端口) | | sleep | 延迟 N 秒(sleep <sec>) | | smbus | 从扫描中列出 SMBus 设备 | | smbustest | SMBus 协议测试(byte/word/block) | | sound | 列出已注册的声卡 | | spawn | 生成测试内核线程 | | ssh | SSH 客户端连接(ssh <ip> [port] [user] [password]) | | sshd | SSH 服务器(sshd [port=22] [user=oc] [password=oc]) | | stats | 显示中断/定时器统计 | | sync | 刷新磁盘缓存 | | syncstat | 显示同步原语统计 | | synctest | 测试同步原语(spinlock/mutex/sem) | | tcpcc_test | CUBIC 拥塞控制自测向量 | | tcpstats | 显示 TCP 可靠性统计(cwnd、rto 等) | | tcptest | TCP 选项协商自测(MSS/WScale/SACK/TS 实时) | | timer | 注册一个 500ms 单次定时器 | | touch | 创建空文件(touch <path>) | | touchpad | 触摸板状态 + 待处理的手势事件 | | touchtest | 多点触控流水线自测(tap/scroll/pinch/swipe) | | tree | 目录的树状视图(tree [path]) | | tsc | TSC:读取 + PIT/HPET/PMTimer 校准 + 延迟测试 | | tui | 全屏 TUI 主菜单(arrows/Tab/Enter/Esc) | | tui-drv | 驱动设置 TUI(tui-hw 的别名;页面名可选) | | tui-ext | TUI L1 扩展实验室:自测 + 注册表 |

| tui-hw | 硬件配置 TUI(可选:页面名称) | | tui-net | 无线网络 TUI(WiFi + 蓝牙) | | tui-sys | 系统设置 TUI(主机/网络/存储/用户/安全/更新/日志/TUI) | | tui-sysinfo | 系统信息 TUI(可选:页面名称) | | tui-test | 运行 TUI 自测试套件(输入/预期/实际/判定) | | tui-time | 时间 TUI:时钟/源/设置 RTC/时区 | | umount | 卸载(umount <路径>) | | unalias | 移除别名 | | uname | 打印操作系统名称(uname [-a|-s|-r|-m]) | | update | 检查并安装系统更新(update [local <包> | --local <包> | --status]) | | update_check_test | 使用包字段进行更新清单检查(WP-10u) | | update_download_test | 下载更新包(WP-10u) | | update_install_test | 将包安装到槽位 B(WP-10u) | | update_local_test | 通过 cmd_update --local 的离线更新流程(WP-10u) | | update_pkg_test | gzip/DEFLATE + tar 单元测试(WP-10u) | | update_rollback_test | 启动标志 + 回滚(WP-10u) | | update_status_test | ota_update_get_status 覆盖(WP-10u) | | update_verify_test | 包的 SHA256 验证(WP-10u) | | usb | USB 主机/设备 + 类驱动状态 | | usb_audio_test | USB 音频初始化/播放测试 | | usb_core_test | USB 核心不变式 + 实时传输 | | usb_hotplug_test | USB 热插拔(usb_hotplug_test [wait-new N|wait-leave N]) | | usb_hub_test | USB 外部集线器 + 子设备 | | usb_kbd_test | USB HID 键盘存在性 + 注入 | | usb_mouse_test | USB HID 鼠标存在性 + 事件消耗 | | usb_serial_test | USB 串行 TX/RX 循环 | | usb_storage_test | USB MSC 驱动器容量/读写/分区 | | usbaudio | USB 音频状态 | | usbdev | USB 设备详情(usbdev [槽位]) | | uvc | 摄像头子系统状态(UVC 设备、格式、帧) | | uvctest | 摄像头自测试(JPEG 解码、UVC 描述符解析、核心) | | vi | vi 编辑器,双模式(hjkl 移动,i/a/o 插入,ESC,:w :q :wq :q!) | | virtio_blk_test | WP-10a:virtio-blk 容量 + 读写测试 | | virtio_snd_test | virtio-snd 初始化/播放测试 | | virtiosnd | virtio-snd 状态 | | vmkernelpt | VMM PT 所有权回归(BUG-0136) | | vmmap | 显示地址空间映射 | | vmtest | 运行虚拟内存测试 | | volume | 获取/设置音量(volume [0-100]) | | watchdog | 看门狗状态/控制(硬件 TCO/WDAT + 监控的槽位 + 策略测试) | | wget | 通过 HTTP 下载文件(wget <主机> [端口] [路径]) | | wifi | 无线:状态/扫描/测试/sdio(802.11 系列 + SDIO 总线) | | write | 向文件写入文本(write <路径> <文本>) |

第二部分 - L1 接口面头文件声明

13 个 L1 接口面头文件中的每个可调用声明,按文件和声明顺序排列。 编号的 L1 扩展数量为 162(README 公式);下表是这些头文件的完整、未经过滤的声明真实情况。

drivers/block/driver_block_blk.h

行号 声明
86 void driver_block_init(void);
89 int driver_block_register_device(const char *name, driver_block_type_t type, u64 sectors, u32 sector_size, const driver_block_ops_t *ops, void *priv);
94 int driver_block_unregister_device(int index);
97 int driver_block_find_device(const char *name);
100 driver_block_device_t *driver_block_get_device(int index);
104 int driver_block_read_sectors(int dev_idx, u64 lba, u32 count, void *buf);
105 int driver_block_write_sectors(int dev_idx, u64 lba, u32 count, const void *buf);
109 int driver_block_read_sectors_raw(int dev_idx, u64 lba, u32 count, void *buf);
110 int driver_block_write_sectors_raw(int dev_idx, u64 lba, u32 count, const void *buf);
133 int driver_block_register(driver_block_device_t *dev, const driver_block_ops_t *ops);
134 int driver_block_read (driver_block_device_t *dev, u64 lba, u32 count, void *buf);
135 int driver_block_write(driver_block_device_t *dev, u64 lba, u32 count, const void *buf);
136 int driver_block_flush(driver_block_device_t *dev);
141 int driver_block_set_ops(int dev_idx, const driver_block_ops_t *ops);
144 void driver_block_list_devices(void);
147 void driver_block_get_stats(int dev_idx, driver_block_stats_t *out);
150 int driver_block_num_devices(void);

drivers/nic/driver_nic.h

行号 声明
108 void driver_nic_init(void);
111 int driver_nic_register(driver_nic_device_t *dev, const driver_nic_ops_t *ops);
114 int driver_nic_send(driver_nic_device_t *dev, const void *buf, int len);
115 int driver_nic_recv(driver_nic_device_t *dev, void *buf, int maxlen);
118 int driver_nic_link_status(driver_nic_device_t *dev);
121 int driver_nic_get_mac(driver_nic_device_t *dev, u8 mac[6]);
124 int driver_nic_num_devices(void);
125 driver_nic_device_t *driver_nic_get_device(int idx);
126 int driver_nic_find_by_type(driver_nic_type_t type);
127 int driver_nic_find_first_present(void);
128 void driver_nic_list_devices(void);
134 int driver_nic_probe_all(void);
137 driver_nic_device_t *driver_nic_active(void);
140 int driver_nic_e1000e_init(driver_pci_dev_t *pdev);
141 void driver_nic_e1000e_resume(void);
142 int driver_nic_igb_init(driver_pci_dev_t *pdev);
143 int driver_nic_ixgbe_init(driver_pci_dev_t *pdev);
144 int driver_nic_rtl8139_init(driver_pci_dev_t *pdev);
145 int rtl8168_init(driver_pci_dev_t *pdev);
146 int rtl8125_init(driver_pci_dev_t *pdev);
147 int rtl810x_init(driver_pci_dev_t *pdev);
148 int bcm57xx_init(driver_pci_dev_t *pdev);
153 int other_nics_init(driver_pci_dev_t *pdev);
154 void other_nics_print_state(void);
157 void shell_cmds_nic_test_register(void);
160 void driver_nic_e1000e_print_state(void);
161 void driver_nic_igb_print_state(void);
162 void driver_nic_ixgbe_print_state(void);
163 void driver_nic_rtl8139_print_state(void);
164 void rtl8168_print_state(void);
165 void rtl8125_print_state(void);
166 void rtl810x_print_state(void);
167 void bcm57xx_print_state(void);
174 void driver_nic_resume(void);

drivers/snd/driver_snd.h

Line Declaration
149 void driver_snd_init(void);
152 int driver_snd_register(driver_snd_device_t *dev, const driver_snd_ops_t *ops);
155 int driver_snd_play(driver_snd_device_t *dev, const void *buf, int len);
158 int driver_snd_stop(driver_snd_device_t *dev);
161 int driver_snd_set_rate(driver_snd_device_t *dev, u32 rate);
164 int driver_snd_set_volume(driver_snd_device_t *dev, u32 vol);
167 int driver_snd_get_caps(driver_snd_device_t *dev, driver_snd_caps_t *caps);
170 int driver_snd_num_devices(void);
171 driver_snd_device_t *driver_snd_get_device(int idx);
172 int driver_snd_find_by_type(driver_snd_type_t type);
173 int driver_snd_find_first_present(void);
174 void driver_snd_list_devices(void);
175 const char *driver_snd_type_name(driver_snd_type_t type);
181 int driver_snd_probe_all(void);
184 int driver_snd_hda_init(driver_pci_dev_t *pdev);
185 int driver_snd_ac97_init(driver_pci_dev_t *pdev);
186 int driver_snd_sb16_init(void *isa_dev);
187 int driver_snd_es1370_init(driver_pci_dev_t *pdev);
188 int driver_snd_virtio_init(driver_pci_dev_t *pdev);
189 int driver_usb_audio_init(void *driver_usb_dev);
192 void driver_snd_hda_print_state(void);
193 void driver_snd_ac97_print_state(void);
194 void driver_snd_sb16_print_state(void);
195 void driver_snd_es1370_print_state(void);
196 void driver_snd_virtio_print_state(void);
197 void driver_usb_audio_print_state(void);
200 void shell_cmds_snd_test_register(void);
205 int driver_snd_make_tone(void *buf, int cap_bytes, u32 rate, u32 freq, int channels, int ms);

kernel/core/core_health.h

Line Declaration
76 int health_get_cpu(u32 *busy_pct);
77 int health_get_mem(u64 *total_kb, u64 *used_kb, u64 *free_kb);
78 int health_get_tasks(u32 *total, u32 *running, u32 *ready, u32 *blocked);
79 int health_get_io(u64 *disk_read_bytes, u64 *disk_write_bytes, u64 *net_tx_bytes, u64 *net_rx_bytes);
85 int health_export(char *out, int cap);
89 void health_init(void);
92 int health_last(health_sample_t *out);
95 u64 health_sample_count(void);

kernel/core/core_watchdog.h

Line Declaration
74 int watchdog_register(const char *name, u32 timeout_ms, int policy);
80 int watchdog_start(int id);
81 int watchdog_feed(int id);
82 int watchdog_stop(int id);
83 int watchdog_set_timeout(int id, u32 timeout_ms);
87 void watchdog_init(void);
100 int watchdog_count(void);
101 int watchdog_get_info(int id, watchdog_info_t *out);
104 int watchdog_hw_present(void);
105 const char *watchdog_hw_name(void);
106 int watchdog_hw_start(u32 seconds);
107 int watchdog_hw_feed(void);
108 int watchdog_hw_stop(void);
109 int watchdog_hw_set_timeout(u32 seconds);
110 u32 watchdog_hw_timeout(void);
111 u64 watchdog_hw_base(void);
112 int watchdog_hw_armed(void);
113 int watchdog_hw_gcs_noreboot(void);

kernel/lib/lib_klog.h

Line Declaration
72 int klog_write(int level, const char *module, const char *fmt, ...);
77 int klog_set_level(int level);
78 int klog_get_level(void);
83 int klog_set_level_enabled(int level, int on);
84 int klog_get_level_enabled(int level);
89 int klog_flush(void);
93 int klog_flush_panic(void);
98 int klog_rotate(void);
106 void klog_filter_set(int level, const char *module, const char *keyword);
107 void klog_filter_clear(void);
111 void klog_init(void);
112 void klog_grow(void);
113 void klog_on_mount(void);
114 int klog_ring_count(void);
115 int klog_ring_get(int idx, char *out, int cap);
116 void klog_clear(void);
121 void klog_record(int level, const char *module, const char *msg);
124 int klog_filter_active(void);
125 int klog_filter_level(void);
126 const char *klog_filter_module(void);
127 const char *klog_filter_keyword(void);
130 u64 klog_file_bytes(void);
131 int klog_file_open(void);
132 u64 klog_dropped(void);
139 u64 klog_set_rotate_bytes(u64 bytes);
140 u32 klog_set_rotate_keep(u32 keep);
141 u64 klog_get_rotate_bytes(void);
142 u32 klog_get_rotate_keep(void);
144 const char *klog_level_name(int level);

kernel/ota/ota_ab.h

Line Declaration
114 int ota_ab_init(void);
119 int ota_ab_rescan(void);
123 void ota_ab_set_boot_slot_arg(const char *cmdline);
129 void ota_ab_boot_early(void);
133 void ota_update_confirm_boot(void);
138 int ota_ab_current_slot(void);
141 const char *ota_ab_slot_name(int slot);
144 const char *ota_ab_slot_path(int slot);
148 const char *ota_ab_disk_name(void);
151 int ota_ab_flags_ready(void);
155 int ota_ab_read_flags(int *next_boot, int *ok_b, int *bootfail_b);
162 int ota_update_set_boot(const char *slot);
166 int ota_update_rollback(void);
169 int ota_update_get_status(ota_update_status_t *out);
173 int ota_update_download(const char *url, const char *path);
177 int ota_update_verify(const char *path, const char *crypto_sha256_hex);
183 int ota_update_install(const char *pkg_path, const char *slot);
186 const char *ota_update_strerror(int rc);
190 int shell_cmd_update(const char *args);
191 int shell_cmd_rollback(const char *args);
192 int shell_cmd_reboot(const char *args);

kernel/ota/ota_update.h

Line Declaration
112 int ota_update_check(ota_update_info_t *out);
118 int ota_update_check_async(void);
121 const char *ota_update_check_strerror(int rc);
124 int shell_cmd_checkupdate(const char *args);
125 int shell_cmd_checkupdate_test(const char *args);
153 int ota_update_check_pkg(ota_update_pkg_info_t *out);
164 int ota_update_url_parse(const char *url, ota_update_url_t *out);
169 int ota_update_json_string(const char *json, const char *key, char *out, int outlen);
171 int ota_update_json_uint(const char *json, const char *key, u64 *out);
187 int ota_update_changes_v2_url(const char *body, char *url, int cap);
188 int ota_update_fetch_changes_v2(const char *v2url, char *out, int outcap);
192 void ota_update_cache_check(int rc, const char *version);

l1/l1_ext.h

Line Declaration
48 const screen_fb_info_t* l1_ext_fb_get_info(void);
67 screen_renderer_t* l1_ext_set_renderer(screen_renderer_t* new_renderer);
100 int l1_ext_register_font_engine(screen_font_engine_t* engine);
101 screen_font_engine_t* l1_ext_font_engine_by_name(const char* name);
102 screen_font_engine_t* l1_ext_default_font_engine(void);
125 void l1_ext_set_console_hook(screen_console_hook_fn hook, void* ctx);
131 int l1_ext_console_hook(u8 ch);
147 int l1_ext_config_read(const char *key, char *val_out, int outlen);
148 int l1_ext_config_write(const char *key, const char *value);
149 int l1_ext_config_get_all(char *buf, int buflen);
168 int l1_ext_check_update(l1_ext_update_info_t *out);
169 int l1_ext_check_update_async(void);
193 int l1_ext_update_check_pkg(l1_ext_update_pkg_info_t *out);
194 int l1_ext_update_download(const char *url, const char *path);
195 int l1_ext_update_verify(const char *path, const char *crypto_sha256_hex);
196 int l1_ext_update_install(const char *pkg_path, const char *slot);
197 int l1_ext_update_rollback(void);
198 int l1_ext_update_set_boot(const char *slot);
199 int l1_ext_update_get_status(ota_update_status_t *out);
211 int l1_ext_power_shutdown(void);
212 int l1_ext_power_suspend(void);
214 void l1_ext_power_halt(void);
215 void l1_ext_power_reboot(void);
216 int l1_ext_shell_register_command_ex(const char *name, int (*fn)(const char *), const char *help, const char *wp);
218 void l1_ext_shell_list_commands_a_z(void);
219 void l1_ext_shell_list_commands_by_wp(void);
226 int l1_ext_self_test(void);

l1/l1_wp8a.h

Line Declaration
18 pid_t sys_proc_fork(void);
19 int sys_proc_exec(const char *path, const char *argv[], const char *envp[]);
20 pid_t sys_proc_wait(pid_t pid, int *status);
21 void sys_proc_exit(int code) __attribute__((noreturn));
22 pid_t sys_proc_getpid(void);
23 pid_t sys_proc_getppid(void);
24 int pipe_create(int pipefd[2]);
25 int fd_dup(int oldfd);
26 int fd_dup2(int oldfd, int newfd);
27 signal_handler_fn signal_register(int sig, signal_handler_fn handler);
28 int signal_send(pid_t pid, int sig);
29 int signal_return(void);
30 void *sys_mem_mmap(void *addr, u64 length, int prot);
31 int sys_mem_munmap(void *addr, u64 length);
32 int sys_mem_mprotect(void *addr, u64 length, int prot);
33 void *sys_mem_brk(void *addr);
34 int sys_chdir(const char *path);
35 char *sys_getcwd(char *buf, u64 size);
36 int sys_ioctl(int fd, u64 cmd, void *arg);
37 int sys_select(int nfds, void *readfds, u32 timeout_ms);
39 int sys_poll(pollfd_t *fds, u64 nfds, i64 timeout_ms);
54 int l1_socket(int type);
55 int l1_net_bind(int sock, u32 ip, u16 port);
56 int l1_net_connect(int sock, u32 ip, u16 port);
57 int l1_net_accept(int lsock, u32 *client_ip, u16 *client_port);
58 int l1_net_send(int sock, const void *buf, int len);
59 int l1_net_recv(int sock, void *buf, int maxlen);
60 int l1_net_close(int sock);

l1/l1_wp8b.h

Line Declaration
35 int elf_load_dynamic(const u8 *elf_data, u64 elf_size, const char *name);
44 u64 ldso_run(void);
56 u64 so_load(const char *name, u64 flags);
66 int so_unload(u64 handle);
77 u64 symbol_resolve(u64 handle, const char *name);
81 u64 dlsym_impl(u64 handle, const char *name);
85 u64 dlopen_impl(const char *name, u64 flags);
89 int dlclose_impl(u64 handle);
108 void reloc_apply(const void *rela_data, u64 count, u64 base, u64 symtab_addr, u64 strtab_addr, u64 libfoo_base, u64 libfoo_symtab, u64 libfoo_strtab);
130 int elf_get_needed(const u8 *elf_data, u64 elf_size, const char *needed_out[], int max_count);
137 int ext_wp8b_selftest(void);

l1/l1_wp8cd.h

Line Declaration
24 int shell_run(void);
33 int shell_register_builtin(const char *name, shell_builtin_fn fn, const char *help);
37 int shell_unregister_builtin(const char *name);
45 int tool_register(const char *name, const u8 *elf_data, u64 elf_size);
50 int tool_list(char *buf, int bufsize);
59 int job_create(const char *cmd);
65 int job_list(char *buf, int bufsize);
74 int job_control(int job_id, int action);

tui/tui_ext.h

Line Declaration
55 int tui_menu_register(const char *owner, const char *name, const char *desc, const char *icon, const char *group, int hotkey, int priority, int (*action)(void), void *userptr);
59 int tui_menu_unregister(const char *name);
60 int tui_menu_list(tui_menuext_item_t *out, int cap);
61 int tui_menu_sort(void);
83 int tui_page_register(const char *owner, const char *name, const char *title, const char *group, int priority, int (*render)(tui_window_t *, int), int (*input)(int), void *userptr);
88 int tui_page_unregister(const char *name);
89 int tui_page_list(char (*out)[TUI_EXT_NAME_MAX], int cap);
90 int tui_page_render(const char *name, tui_window_t *win, int scroll);
91 int tui_page_input(const char *name, int key);
92 int tui_ext_page_main(const char *name);
119 int tui_widget_register(const char *owner, const char *type, const char *name, int x, int y, int w, int h, tui_attr_t attr, int (*render)(tui_window_t *, int, int, int, int), int (*event)(int), void *userptr);
124 int tui_widget_unregister(const char *name);
125 int tui_widget_list(tui_widgetext_t *out, int cap);
126 int tui_widget_render(const char *name, tui_window_t *win);
127 int tui_widget_event(const char *name, int ev);
143 int tui_cmd_register(const char *owner, const char *name, const char *args, const char *desc, int (*fn)(int argc, char **argv), void *userptr);
146 int tui_cmd_unregister(const char *name);
147 int tui_cmd_list(tui_cmdext_t *out, int cap);
148 int tui_cmd_execute(const char *line);
163 int tui_theme_register(const char *owner, const char *name, const char *desc, int fg, int bg, void *userptr);
165 int tui_theme_unregister(const char *name);
166 int tui_theme_list(tui_themeext_t *out, int cap);
167 int tui_theme_set(const char *name);
168 const char *tui_theme_current(void);
185 int tui_key_register(const char *owner, int key, int mods, const char *name, const char *desc, int (*fn)(void), void *userptr);
188 int tui_key_unregister(const char *name);
189 int tui_key_list(tui_keyext_t *out, int cap);
190 int tui_key_conflict(int key, int mods);
192 int tui_key_dispatch(int key, int mods);
211 int tui_event_register(const char *owner, const char *type, const char *name, int (*handler)(const char *, void *), void *userptr);
214 int tui_event_unregister(const char *name);
215 int tui_event_list(tui_eventext_t *out, int cap);
216 int tui_event_dispatch(const char *type, void *payload);
222 void tui_ext_init(void);
223 void tui_ext_register_ext_page(void);
224 void tui_ext_reset(void);
225 int tui_ext_selftest(void);

第 3 部分 - 系统调用接口 (53)

定义于 kernel/core/core_syscall.h (#define SYS_*)。 ABI:rax = 编号,rdi/rsi/rdx/r10 = 参数,rax = 结果 (>= 0 成功,< 0 错误)。权威列表请见头文件; L1 系统调用包装函数声明于 l1/l1_wp8a.h。

Clone this wiki locally