7 个不稳定版本

使用旧的 Rust 2015

0.3.0 2021年1月17日
0.2.0 2016年4月16日
0.1.2 2015年11月5日
0.1.1 2015年10月3日
0.0.2 2015年4月14日

#158 in Unix API

Download history 21539/week @ 2023-12-16 9171/week @ 2023-12-23 24984/week @ 2023-12-30 29235/week @ 2024-01-06 32237/week @ 2024-01-13 34321/week @ 2024-01-20 40093/week @ 2024-01-27 31596/week @ 2024-02-03 43218/week @ 2024-02-10 39556/week @ 2024-02-17 48796/week @ 2024-02-24 45978/week @ 2024-03-02 39881/week @ 2024-03-09 45125/week @ 2024-03-16 44002/week @ 2024-03-23 37750/week @ 2024-03-30

176,464 每月下载量
用于 212 个 crate(16 个直接使用)

MIT 许可证

32KB
640 行代码(不包括注释)

Libudev

此 crate 为原生 libudev 库提供了一个安全的封装。

依赖项

为了使用 libudev crate,您必须有一个 Linux 系统,其中已安装 libudev 库,并且可以通过 pkg-config 找到。要在 Debian 基础上安装 libudev,请执行以下命令:

sudo apt-get install libudev-dev

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

交叉编译

当交叉编译到外国目标时,可以使用 libudev crate。有关如何交叉编译 libudev 的详细信息,请参阅 libudev-sys crate 的 README

用法

Cargo.toml 中添加 libudev 作为依赖项。

[dependencies]
libudev = "0.3"

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

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

导入 libudev crate。几乎所有 libudev 功能的起点是创建一个上下文对象。

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());
    }
}

许可证

版权所有 © 2015 David Cuddeback

MIT 许可证 下分发。

依赖项

~61KB