12 个版本 (破坏性更新)

使用旧 Rust 2015

0.9.0 2024年7月17日
0.8.0 2023年9月22日
0.7.0 2022年11月2日
0.6.3 2022年1月31日
0.1.0 2014年11月21日

#18 in 硬件支持

Download history 15030/week @ 2024-05-03 17725/week @ 2024-05-10 15185/week @ 2024-05-17 15647/week @ 2024-05-24 16367/week @ 2024-05-31 27378/week @ 2024-06-07 29982/week @ 2024-06-14 30767/week @ 2024-06-21 27338/week @ 2024-06-28 21931/week @ 2024-07-05 22840/week @ 2024-07-12 22986/week @ 2024-07-19 24243/week @ 2024-07-26 22594/week @ 2024-08-02 26562/week @ 2024-08-09 23311/week @ 2024-08-16

101,125 每月下载量
80 个crate中使用 (直接使用19个)

MIT 许可证

60KB
1K SLoC

udev

此crate提供对原生libudev库的安全包装。它应用RAII模式和Rust生命周期来确保对所有libudev功能的安全使用。RAII模式确保在不再需要时释放所有获取的资源,而Rust生命周期确保按正确顺序释放资源。

依赖项

为了使用libudevcrate,您必须有一个安装了libudev库的Linux系统,该库可以通过pkg-config找到。要在基于Debian的Linux发行版上安装libudev,请执行以下命令

sudo apt-get install libudev-dev

libudev是一个针对Linux的特定包。它不可用于Windows、OS X或其他操作系统。

交叉编译

在交叉编译到外国目标时可以使用libudevcrate。如何在libudev-syscrate中交叉编译libudev的说明在libudev-syscrate的README中。

使用方法

Cargo.toml中添加udev作为依赖项

[dependencies]
udev = "^0.9.0"

如果您打算支持除Linux以外的操作系统,您需要将udev作为特定目标的依赖项添加

[target.x86_64-unknown-linux-gnu.dependencies]
udev = "^0.9.0"

导入udevcrate。

extern crate udev;

fn main() {
  let mut enumerator = udev::Enumerator::new().unwrap();

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

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

贡献者

许可证

版权©2017 Victoria Brekenfeld 版权©2015 David Cuddeback

项目的部分版权由[David Cuddeback, 2015]持有,作为项目的一部分。项目的所有其他版权由[Victoria Brekenfeld, 2017]持有。

MIT许可证下分发。

依赖项

~0–11MB
~52K SLoC