Expand description
§Hadris
The Rust storage stack.
Hadris is a pure Rust toolkit for block devices, partition tables,
filesystems, archives, and disk images. Its feature model supports desktop
applications and no_std bootloaders, kernels, firmware, and embedded
systems.
The umbrella crate groups the individual libraries by storage access model:
block— block filesystems and partition tablesoptical— optical filesystems and disc image compositionarchive— sequential archive formatspath— lexical virtual-path parsing and normalizationfixed— fixed-capacity byte and text types
§Feature flags
Leaf features (storage, fat, part, iso, udf, cd, and cpio) enable one
library at a time. The block, optical, and archive features enable all
libraries in their respective category. Platform (std, alloc), I/O mode
(sync, async), and capability (read, write) features are forwarded
independently to enabled leaves. The default set is the hosted synchronous
read/write configuration with fat, iso, and cpio.
Hybrid CD image creation is currently sync-only. Enabling cd—directly or
through optical—therefore enables the CD writer’s sync API, even when the
umbrella async feature is also selected. ISO and UDF still expose their
async modules in that configuration.
§Quick start
use hadris::optical::iso::sync::IsoImage;
let file = std::fs::File::open("image.iso").unwrap();
let iso = IsoImage::open(file).unwrap();
let pvd = iso.read_pvd().unwrap();
println!("Volume: {}", pvd.volume_identifier);Re-exports§
pub use hadris_block as block;pub use hadris_optical as optical;pub use hadris_archive as archive;pub use hadris_path as path;pub use hadris_fixed as fixed;