Skip to main content

Use Hadris without the standard library

Disable default features, then select the platform, I/O mode, and capabilities that the target needs:

[dependencies]
hadris-fat = {
version = "2.1.0",
default-features = false,
features = ["read", "sync"]
}

Add alloc for APIs backed by Vec, String, or owned trees. Add write only when mutation or image creation is required. std implies allocation but does not implicitly select sync or async.

All storage I/O flows through hadris-io, allowing callers to adapt firmware, kernel, memory, or device-specific readers rather than depending on std::io.

Choose the narrowest tier

NeedFeatures
Allocation-free synchronous readerread,sync
Allocation-free asynchronous readerread,async
Owned names or buffersAdd alloc
Filesystem mutationAdd write and its required platform tier
Both I/O modesEnable sync,async and use explicit namespaces

The exact minimum differs by format. NTFS reading requires alloc; ISO and UDF image creation require std. See the complete feature and capability matrix.

For integration examples, see Adapt a custom device and Use asynchronous I/O.