Crates.io | libudev |
lib.rs | libudev |
version | 0.3.0 |
source | src |
created_at | 2015-04-05 05:18:25.351272 |
updated_at | 2021-01-17 22:31:33.596843 |
description | Rust wrapper for libudev |
homepage | https://github.com/dcuddeback/libudev-rs |
repository | https://github.com/dcuddeback/libudev-rs |
max_upload_size | |
id | 1775 |
size | 41,357 |
This crate provides a safe wrapper around the native libudev
library.
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.
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.
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());
}
}
Copyright © 2015 David Cuddeback
Distributed under the MIT License.