Crates.io | linux-rust-bindings |
lib.rs | linux-rust-bindings |
version | 0.1.3 |
source | src |
created_at | 2023-07-23 08:43:06.883527 |
updated_at | 2023-12-13 22:54:40.832227 |
description | Rust structs for Linux kernel structures |
homepage | https://github.com/MarcusGrass/linux-rust-bindings |
repository | https://github.com/MarcusGrass/linux-rust-bindings |
max_upload_size | |
id | 923656 |
size | 193,517 |
Constants only, since there is to my knowledge only one way to call functions directly from
the kernel, and that's through the vDSO
, only constants needed to communicate through
the syscall API are generated.
The generated code is separated into features based on kernel headers, structs from fcntl.h
is under
the feature #[cfg(feature = "fcntl)]
, and so forth.
Get from git, kernel archives, or wherever.
[<Linux source root>/tools/include/nolibc] make ARCH=<arch-linux> OUTPUT=<here>/include-kernel-headers/<arch>/ headers_standalone
.
<Linux source root>
is where the linux sources are installed.
<arch-linux>
is the Linux naming for the architecture, aarch64
is arm64
here.
<here>
is this repo's root directory
<arch>
is the rust notation of the architecture, ie 64-bit arm is aarch64
.
Will generate the kernel headers, mind that they are licensed under LGPL
or MIT
.
This project is licensed under MPL-2.0, see the license here.