[![Build and Tests](https://github.com/sorcerersr/drives/actions/workflows/build_and_test.yml/badge.svg)](https://github.com/sorcerersr/drives/actions/workflows/build_and_test.yml) [![codecov](https://codecov.io/gh/sorcerersr/drives/branch/main/graph/badge.svg?token=4ATZX63FP6)](https://codecov.io/gh/sorcerersr/drives) # drives A rust library (crate) for listing mounted or mountable drives on linux (flash drives, sd-cards, etc.) Uses the virtual kernel filesystems (/sys, /proc and /dev) to gather information about the block devices known by the linux kernel. Optionally reads the GUID Partition Table (GPT) to enrich gathered data with informations from the partition table. ## Data * devices * name * model, serial * size * partitions * is removable * uuid (optionally from GPT) * partition * name * size * mountpoint (path, filesystem) * part_uuid (optionally from GPT) ## Example For an simple example see [simple_main.rs](examples/simple_main.rs): ``` cargo run --example simple_main ``` ## Documentation Documentation can be found on [docs.rs](https://docs.rs/drives/latest/drives/). ## Optional Data from GUID Partition Table (GPT) Currently only the UUID for a device and the PART_UUID of partitions are retreived using the GPT. This needs the feature "gpt" to be enabled. ## License Licensed under either of Apache License, Version 2.0 or MIT license at your option.