2 releases
0.1.2 | Feb 24, 2025 |
---|---|
0.1.1 | Feb 24, 2025 |
#990 in Parser implementations
400 downloads per month
26KB
415 lines
blockdev
blockdev is a lightweight Rust library for parsing and working with the output of the lsblk --json
command on Linux. It leverages Serde for JSON deserialization, providing a type-safe representation of block devices and a set of utilities to inspect their properties.
Features
- JSON Parsing: Easily parse the JSON output of
lsblk --json
into Rust data structures. - Flexible Mountpoint Support: Handles both single mountpoint values (which may be null) and arrays of mountpoints.
- System Device Detection: Determine whether a block device (or any of its nested children) is a system device (i.e. has a mountpoint of
/
). - Filtering Utilities: Provides helper functions to filter out non-system devices.
Installation
Add blockdev
to your Cargo.toml
:
[dependencies]
blockdev = "0.1.0"
Then run:
cargo build
Usage
Get devices
use blockdev::get_devices;
fn example_devices() -> Result<BlockDevices, Box<dyn Error>> {
let devices = get_devices();
devices
}
Dependencies
~0.6–1.5MB
~33K SLoC