4 个版本

0.1.3 2023年12月13日
0.1.2 2023年12月7日
0.1.1 2023年7月23日
0.1.0 2023年7月23日

#503操作系统 类别

Download history • Rust 包仓库 18/week @ 2024-03-11 • Rust 包仓库 3/week @ 2024-03-18 • Rust 包仓库 14/week @ 2024-03-25 • Rust 包仓库 33/week @ 2024-04-01 • Rust 包仓库 13/week @ 2024-04-08 • Rust 包仓库 54/week @ 2024-04-15 • Rust 包仓库 29/week @ 2024-04-22 • Rust 包仓库 31/week @ 2024-04-29 • Rust 包仓库 10/week @ 2024-05-06 • Rust 包仓库 10/week @ 2024-05-13 • Rust 包仓库 18/week @ 2024-05-20 • Rust 包仓库 15/week @ 2024-05-27 • Rust 包仓库 15/week @ 2024-06-03 • Rust 包仓库 15/week @ 2024-06-10 • Rust 包仓库 24/week @ 2024-06-17 • Rust 包仓库 22/week @ 2024-06-24 • Rust 包仓库

每月 下载量 77
6 个 crate 中使用 (通过 rusl)

MPL-2.0 许可证

195KB
5.5K SLoC

直接从 Linux 源码生成的 Rust 绑定

仅包含常量,因为据我所知,从内核直接调用函数只有一种方式,那就是通过 vDSO,通过 syscall API 通信所需的常量已生成。

生成的代码根据内核头文件分为特性,例如 fcntl.h 中的结构体在特性 #[cfg(feature = "fcntl)] 下,等等。

获取源代码

git内核存档 或其他地方获取。

从架构生成 nolibc

[<Linux 源代码根目录>/工具/include/nolibc]makeARCH=<架构-linux> OUTPUT=<这里>/include-kernel-headers/<架构>/headers_standalone.
<Linux source root> 是 Linux 源代码安装的位置。
<arch-linux> 是 Linux 对架构的命名,aarch64 是这里的 arm64
<here> 是此仓库的根目录 <arch> 是 rust 对架构的表示,即 64 位 arm 是 aarch64

将生成内核头文件,请注意,它们根据 LGPLMIT 许可证授权。

许可证

此项目根据 MPL-2.0 许可证授权,请参阅许可证

无运行时依赖

特性