7 releases
0.1.63 | Jan 11, 2023 |
---|---|
0.1.62 | Nov 30, 2022 |
0.1.4 | Oct 30, 2022 |
0.1.3 | Sep 26, 2022 |
#732 in Unix APIs
Used in hdexecutor
160KB
3.5K
SLoC
penguincrab
unsafe wrapper for Linux Kernel Library in Rust
This command will take a while to compile since it also builds the kernel:
$ cargo build && cargo test -- --nocapture
if you have docker
$ sudo docker build --progress=plain . -f Dockerfile
File naming
lkl/ syscall_wrappers - wrappers for syscalls and tests lklh/
lkl_specific.rs - defines general structs like lkl_host_ops and functions from the C library
syscall_nos.rs - system call numbers. If you don't see the one you want compile the kernel with the settings you want and then use bindgen to get the value.
consts.rs - constants like LKL_O_RDONLY and other flags
rests.rs - all the other constants
Examples of how to use it
To use penguincrab as a crate either copy the build.rs into the crate that uses it or compile liblkl.so and run your crate with LD_LIBARAY_PATH=(directory with liblkl.so)
Working on fixing Dockerfile no file error will put commands and then publish
Dependencies
~1.5MB
~36K SLoC