use cyme::profiler::{self, Device};
fn recursive_map_devices(device: &Device) {
println!("Device: {device:#}");
if let Some(v) = device.devices.as_ref() {
for d in v {
recursive_map_devices(d)
}
};
}
fn main() -> Result<(), String> {
let sp_usb = profiler::get_spusb()
.map_err(|e| format!("Failed to gather system USB data from libusb, Error({e})"))?;
for bus in sp_usb.buses {
if let Some(devices) = bus.devices {
for device in devices {
recursive_map_devices(&device);
}
}
}
Ok(())
}