use gudev::prelude::*;
use gudev::Client;
use gudev::Device;
fn print_device(device: &Device, action: &str) {
println!(
"{}: {} {} (subsystem={}, sysname={}, devtype={})",
device.seqnum(),
action,
device.sysfs_path().unwrap_or_else(|| "---".into()),
device.subsystem().unwrap_or_else(|| "---".into()),
device.device_file().unwrap_or_else(|| "---".into()),
device.devtype().unwrap_or_else(|| "---".into()),
);
}
fn main() {
let client = Client::new(&["block"]);
client.connect_uevent(move |_, action, device| print_device(device, action));
glib::MainLoop::new(None, false).run();
}