Crates.io | penguincrab |
lib.rs | penguincrab |
version | 0.1.63 |
source | src |
created_at | 2022-09-24 08:03:00.214793 |
updated_at | 2023-01-11 22:20:25.105613 |
description | Rust wrapper for Linux Kernel as a Library |
homepage | https://github.com/docfate111/penguincrab |
repository | https://github.com/docfate111/penguincrab |
max_upload_size | |
id | 672935 |
size | 158,780 |
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