udevrs

Crates.ioudevrs
lib.rsudevrs
version0.3.0
sourcesrc
created_at2023-12-06 18:40:43.820414
updated_at2024-06-24 16:46:58.686409
descriptionPure Rust implementation of the user-land udev library
homepage
repositoryhttps://github.com/cr8t/udev
max_upload_size
id1060318
size13,384,423
(cr8t)

documentation

README

udev

Rust port of the eudev project for interacting with the Linux devfs filesystem.

The project attempts to maintain a public API as close to possible with the original C project.

This library is an init-system independent implementation, just like eudev.

Safety

As much as possible, code is written in safe Rust. Some points of interaction with the Linux API require unsafe code.

All unsafe code is wrapped in safe interfaces, and documented with SAFETY comments.

There are no C dependencies.

Rust API

All Rust structs have a public API that is somewhat close to counterparts in the eudev library.

See library documentation for usage.

To generate documentation locally:

$ cd udev
$ cargo doc --all --open

As the project matures, use-case examples will be added to doc-tests.

WIP

Currently, there is only a Rust public API. Work is still ongoing to expose remaining subsystems via the top-level API:

  • public C API via FFI
    • after the Rust API stabilizes, work can start on a C API
    • some abstractions will take some work to expose safely through the FFI barrier, e.g. Arc<Udev>
Commit count: 53

cargo fmt