#kernel-module #linux-kernel #manage #bindings #kmod #libkmod

sys kmod-sys

Bindings to libkmod to manage linux kernel modules

4 releases

0.2.0 Dec 6, 2022
0.1.2 Mar 6, 2018
0.1.1 Mar 5, 2018
0.1.0 Mar 5, 2018

#26 in #kernel-module

23 downloads per month
Used in kmod

MIT/Apache

5KB

kmod-rs Build Status crates.io docs.rs

Bindings to libkmod to manage linux kernel modules.

# Cargo.toml
[dependencies]
kmod = "0.4"

To get started, see the docs and the examples/ folder.

extern crate kmod;
extern crate env_logger;

fn main() {
    env_logger::init();

    let ctx = kmod::Context::new().expect("kmod ctx failed");

    for module in ctx.modules_loaded().unwrap() {
        let name = module.name();
        let refcount = module.refcount();
        let size = module.size();

        let holders: Vec<_> = module.holders()
                                .map(|x| x.name().to_owned())
                                .collect();

        println!("{:<19} {:8}  {} {:?}", name, size, refcount, holders);
    }
}

License

MIT/Apache-2.0

Dependencies

~0–1.8MB
~36K SLoC