2 unstable releases
Uses old Rust 2015
0.2.0 | Sep 18, 2018 |
---|---|
0.1.0 | Sep 16, 2018 |
#33 in #kernel-module
17KB
285 lines
likemod
A pure-Rust library to work with Linux kernel modules.
It provides support for loading and unloading kernel modules on Linux.
For further details, see init_module(2)
and delete_module(2)
manpages.
Example
extern crate likemod;
use likemod::errors;
fn load_modfile(fpath: &std::path::Path) -> errors::Result<()> {
// Get a file descriptor to the kernel module object.
let fmod = std::fs::File::open(fpath)?;
// Assemble module parameters for loading.
let mut params = likemod::ModParams::new();
params.insert("bus_delay".to_string(), likemod::ModParamValue::Int(5));
// Try to load the module. It can fail if the kernel
// version and signature don't match.
let loader = likemod::ModLoader::default().set_parameters(params);
loader.load_module_file(&fmod)
}
Some more examples are available under examples.
Features
This crate supports the following optional features:
async
: this provides anunload_async
method, using futures.
License
Licensed under either of
- MIT license - http://opensource.org/licenses/MIT
- Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0
at your option.
Dependencies
~0–1.1MB
~15K SLoC