pci_fetch

Get information about connected PCI devices; essentially "lspci" for Rust 🦀. Version Docs
### Usage Add the following to your project's *Cargo.toml* file: ```toml pci_fetch = "2.1.0" ``` ### Examples ```rust use pci_fetch::classes::DeviceClass; use pci_fetch::linux::*; use pci_fetch::traits::*; use std::path::PathBuf; fn main() { // Instantiate a new PCIDevice so we can get to know it a bit. let mut device: PCIDevice = PCIDevice::new(PathBuf::from("/sys/bus/pci/devices/0000:00:02.0")); // This little guy is important :) device.init(); println!("Path: {:?}", device.path()); // e.g. /sys/bus/pci/devices/0000:00:02.0 println!("Address: {}", device.address()); // e.g. 00:02.0 println!("Class ID: {}", device.class_id()); // e.g. 03 println!("Class Name: {}", device.class_name()); // e.g. Display Controller // Alternatively, we can get information on PCI devices through fetching them in bulk! // Return a list of the available PCI devices of a specific class. // Example: This should return all the available GPUs but with little amount of information. let list: Vec = fetch_by_class(DeviceClass::DisplayController); println!("{:?}", list); // Return a list of the available PCI devices of a specific class with detailed information. // Example: This should return all the available GPUs. let gpus: Vec = fetch_by_class_detailed(DeviceClass::DisplayController); println!("{:?}", gpus); // Return a list of available PCI devices with detailed information. let detailed_list: Vec = fetch_detailed(); println!("{:?}", detailed_list); } ``` --- ### Platform Support | Platform | Support | | :-------: | :-----: | | Linux | ✓ |