添加新对象类型

系统调用接口

系统调用接口在 //zircon/vdso/ 中的 .fidl 文件中定义。如需向该 FIDL 定义添加新对象类型,请执行以下操作:

FIDL 工具链内置了对象类型的知识。这并不优雅,但可以避免一些循环依赖项。您必须更新 FIDL 工具链的部分内容,才能了解新对象类型。具体而言,请更新:

内核实现

TODO(b/383761360):在内核中添加

用户空间支持

用户空间开发者不仅希望获得原始 C ABI,还希望获得语言绑定和工具支持。

C++

C++ 系统调用绑定在 //zircon/system/ulib/zx/ 中实现。为新对象类型实现适当的 zx::object 子类。

Rust

Rust 系统调用绑定是在 //sdk/rust/zx/ 中实现的。为您的新对象类型实现适当的 Handle 封装容器类型。

fidlcat

ffx debug fidl(也称为 fidlcat)工具与 Linux 上的 strace 大致类似。它基于 //src/lib/fidl_codec/ 中实现的 fidl_codec 库。向模型介绍新对象类型包括更新以下内容: