21个版本 (4个稳定版)
4.0.0-rc.3 | 2024年4月21日 |
---|---|
4.0.0-rc.1 | 2023年11月18日 |
3.1.0 | 2023年7月4日 |
3.0.0 | 2021年10月15日 |
0.1.7 | 2017年4月24日 |
#44 在 文件系统
24,915 每月下载量
被 19 个Crates 使用(15个直接使用)
110KB
2K SLoC
gpt
一个用于操作GPT分区表的纯Rust库。
gpt
提供了操作(R/W)GPT头部和分区表的支持。它支持任何实现了 Read + Write + Seek + Debug
特性的类型。
示例
use gpt;
use std::io;
fn main() {
// Inspect disk image, handling errors.
if let Err(e) = run() {
eprintln!("Failed to inspect image: {}", e);
std::process::exit(1)
}
}
fn run() -> io::Result<()> {
// First parameter is target disk image (optional, default: fixtures sample)
let sample = "tests/fixtures/gpt-linux-disk-01.img".to_string();
let input = std::env::args().nth(1).unwrap_or(sample);
// Open disk image.
let diskpath = std::path::Path::new(&input);
let cfg = gpt::GptConfig::new().writable(false);
let disk = cfg.open(diskpath)?;
// Print GPT layout.
println!("Disk (primary) header: {:#?}", disk.primary_header());
println!("Partition layout: {:#?}", disk.partitions());
Ok(())
}
依赖项
~435–580KB
~11K SLoC