23 releases (13 stable)
2022.12.24 |
|
---|---|
1.2024.4 | Jul 8, 2024 |
1.2024.3 | Apr 26, 2024 |
1.2024.2 | Jan 31, 2024 |
0.0.2 | Dec 27, 2020 |
#38 in Hardware support
1,959 downloads per month
Used in 11 crates
(9 directly)
270KB
958 lines
usb-ids
Cross-platform Rust wrappers for the USB ID Repository.
This library bundles the USB ID database, allowing platforms other than Linux to query it as a source of canonical USB metadata.
Usage
Iterating over all known vendors:
use usb_ids::Vendors;
for vendor in Vendors::iter() {
for device in vendor.devices() {
println!("vendor: {}, device: {}", vendor.name(), device.name());
}
}
See the documentation for more details.
lib.rs
:
Rust wrappers for the USB ID Repository.
The USB ID Repository is the canonical source of USB device information for most Linux userspaces; this crate vendors the USB ID database to allow non-Linux hosts to access the same canonical information.
Usage
Iterating over all known vendors:
use usb_ids::Vendors;
for vendor in Vendors::iter() {
for device in vendor.devices() {
println!("vendor: {}, device: {}", vendor.name(), device.name());
}
}
Iterating over all known classes:
use usb_ids::Classes;
for class in Classes::iter() {
println!("class: {}", class.name());
for subclass in class.sub_classes() {
println!("\tsubclass: {}", subclass.name());
for protocol in subclass.protocols() {
println!("\t\tprotocol: {}", protocol.name());
}
}
}
See the individual documentation for each structure for more details.