1use libscu::hardware::disk;
4
5fn main() {
6 if let Ok(all_drives) = disk::fetch_all() {
7 for mut disk in all_drives {
8 println!("Device: {:?}", disk.dev_path);
9 if let Some(model) = disk.model.clone() {
10 println!("- Model: {model}");
11 }
12 println!("- Size: {:.1}GiB", disk.size.gb);
13 println!("- Technology: {:?}", disk.technology);
14 println!("- Is removable: {}", disk.removable);
15 if disk.fetch_table_type().is_ok() {
16 println!("- Partition table: {:?}", disk.partition_table_type);
17 }
18 match disk.fetch_partitions() {
19 Ok(_) => {
20 if !disk.partitions.is_empty() {
21 disk.sort_partitions();
22 println!("- Partitions:");
23 for partition in disk.partitions.clone().into_iter() {
24 println!(" Device: {}", partition.dev_path.to_string_lossy());
25 println!(" - Partition number: {}", partition.number);
26 println!(" - Size: {:.1}GiB", partition.size.gb);
27 println!(" - Is read-only: {}", partition.readonly);
28 }
29 }
30 }
31 Err(err) => eprintln!("encountered error during partitions fetching: {err:#?}"),
32 }
33 }
34 } else {
35 println!("Platform not supported.");
36 }
37}