likemod

Crates.iolikemod
lib.rslikemod
version0.2.0
sourcesrc
created_at2018-09-16 20:53:34.951364
updated_at2018-09-18 20:17:53.408541
descriptionA pure-Rust library to work with Linux kernel modules
homepage
repositoryhttps://github.com/lucab/likemod-rs
max_upload_size
id85032
size17,184
Luca Bruno (lucab)

documentation

https://docs.rs/likemod

README

likemod

Build Status crates.io Documentation

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 an unload_async method, using futures.

License

Licensed under either of

at your option.

Commit count: 18

cargo fmt