Thanks to visit codestin.com
Credit goes to github.com

Skip to content

wiggels/blockdev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blockdev

Crates.io Documentation License

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
}

About

Rust library for parsing and working with lsblk JSON output 💾

Resources

License

Stars

Watchers

Forks

Languages