7 unstable releases

Uses old Rust 2015

0.3.0 Jan 17, 2021
0.2.0 Apr 16, 2016
0.1.2 Nov 5, 2015
0.1.1 Oct 3, 2015
0.0.2 Apr 14, 2015

#118 in Unix APIs

Download history 42426/week @ 2024-10-28 47286/week @ 2024-11-04 47360/week @ 2024-11-11 46296/week @ 2024-11-18 32311/week @ 2024-11-25 41319/week @ 2024-12-02 46901/week @ 2024-12-09 47985/week @ 2024-12-16 12968/week @ 2024-12-23 17615/week @ 2024-12-30 46942/week @ 2025-01-06 56363/week @ 2025-01-13 47351/week @ 2025-01-20 56169/week @ 2025-01-27 59387/week @ 2025-02-03 61358/week @ 2025-02-10

225,400 downloads per month
Used in 283 crates (18 directly)

MIT license

32KB
640 lines

Libudev

This crate provides a safe wrapper around the native libudev library.

Dependencies

In order to use the libudev crate, you must have a Linux system with the libudev library installed where it can be found by pkg-config. To install libudev on Debian-based Linux distributions, execute the following command:

sudo apt-get install libudev-dev

libudev is a Linux-specific package. It is not available for Windows, OS X, or other operating systems.

Cross-Compiling

The libudev crate can be used when cross-compiling to a foreign target. Details on how to cross-compile libudev are explained in the libudev-sys crate's README.

Usage

Add libudev as a dependency in Cargo.toml:

[dependencies]
libudev = "0.3"

If you plan to support operating systems other than Linux, you'll need to add libudev as a target-specific dependency:

[target.x86_64-unknown-linux-gnu.dependencies]
libudev = "0.3"

Import the libudev crate. The starting point for nearly all libudev functionality is to create a context object.

extern crate libudev;

fn main() {
    let context = libudev::Context::new().unwrap();
    let mut enumerator = libudev::Enumerator::new(&context).unwrap();

    enumerator.match_subsystem("tty").unwrap();

    for device in enumerator.scan_devices().unwrap() {
        println!("found device: {:?}", device.syspath());
    }
}

License

Copyright © 2015 David Cuddeback

Distributed under the MIT License.

Dependencies

~61KB