Get the FREE Ultimate OpenClaw Setup Guide →

api-mapping

npx machina-cli add skill Jiusi-pys/agent-plugins/api-mapping --openclaw
Files (1)
SKILL.md
1.3 KB

API Mapping Skill

概述

提供 Linux API 到 OpenHarmony API 的映射关系和适配代码模板。

快速查询

查询特定 API 的 OHOS 替代方案:

grep -A 10 "epoll" references/linux-api-mapping.md

映射分类

事件机制

Linux APIOHOS 替代复杂度
epollpoll/select
inotifyOHOS FileWatcher
eventfdpipe
signalfdsignal handler
timerfdtimer_create

进程/线程

Linux APIOHOS 替代复杂度
clone (线程)pthread_create
clone (namespace)不支持-
prctl部分支持
sched_setaffinity部分支持

文件系统

Linux APIOHOS 替代复杂度
/proc/self/*受限访问
/sys/*不支持-
statfsstatvfs

代码模板

详见 references/code-templates.md

参考

Source

git clone https://github.com/Jiusi-pys/agent-plugins/blob/main/plugins/ohos-porting/skills/api-mapping/SKILL.mdView on GitHub

Overview

API Mapping Skill 提供 Linux API 到 OpenHarmony API 的映射关系和适配代码模板,帮助在 OHOS 上实现替代方案。通过快速查询定位替代点,编写适配代码时自动加载模板,提升移植效率。覆盖事件机制、进程/线程和文件系统等核心领域。

How This Skill Works

技能按分类表组织映射关系,例如 epoll→poll/select、inotify→OHOS FileWatcher、statfs→statvfs 等。你可以用 grep 等命令快速查询替代方案,模板存放在 references/code-templates.md,编写适配代码时会自动加载相应模板以加速实现。

When to Use It

  • 将 Linux 应用移植到 OHOS 时需要替换特定 API 的场景。
  • 需要查询 epoll、inotify、eventfd、signalfd、timerfd 的 OHOS 对应实现及复杂度时。
  • 评估进程/线程相关 API 的兼容性,如 clone、pthread_create、prctl、sched_setaffinity 时。
  • 分析文件系统相关 API 的可用性与替代,如 /proc/self、/sys、statfs 的映射。
  • 在编写适配代码时希望快速应用代码模板并自动加载相应实现片段。

Quick Start

  1. Step 1: grep -A 10 "epoll" references/linux-api-mapping.md
  2. Step 2: 查看对应 OHOS 替代与复杂度列,判断是否可直接替代或需替代设计
  3. Step 3: 打开 references/code-templates.md,应用适配代码模板,编写时模板会自动加载

Best Practices

  • 在迁移前先梳理替代方案的行为差异与限制,避免功能偏差。
  • 使用 grep 进行快速定位,确保覆盖所有调用点和路径。
  • 结合 references/code-templates.md 的模板进行实现,减少重复性工作。
  • 关注并发和时序相关 API 的潜在 race / 兼容性问题,编写回归测试。
  • 记录对不可替代映射的取舍与设计决策,如 namespace 下的 clone 不受支持的情况。

Example Use Cases

  • 将使用 epoll 的 Linux I/O 监听程序迁移到 OHOS 时,改用 OHOS 支持的替代机制(如 poll/select 的等效实现)。
  • 将 inotify 的文件监控改为 OHOS 的 FileWatcher 方案以实现事件驱动的文件变更通知。
  • 将 eventfd 的事件通知替换为 pipe 的实现以满足 OHOS 的 IPC 需求。
  • 将 signalfd 的信号处理改为直接的 signal handler 逻辑,确保信号处理行为在 OHOS 中可控。
  • 将 timerfd 的定时功能替换为 timer_create 的 OHOS 定时任务实现。

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers