Skip to main content

lamfold_udf/
lib.rs

1//! # lamfold-udf — the UDF frontend of the lamfold read-only media stack.
2//!
3//! Clean-room UDF (ECMA-167 / OSTA UDF **1.02**) reader: the descriptor chain
4//! AVDP → VDS (Partition + Logical Volume) → File Set → root ICB, then File
5//! Entries and File Identifier Descriptors. Reads over a lamfold
6//! [`lamfold::BlockSource`] and implements [`lamfold::FoldFrontend`], so it
7//! composes through `dispatch_fs_over_source` like every other frontend, and
8//! co-resides with `lamfold-iso` on UDF-Bridge optical media.
9//!
10//! Scope: UDF 1.02 with a single physical (Type-1) partition map, File
11//! Entry (tag 261) inodes, and inline / short_ad / long_ad data. Deferred (the
12//! 2.50+ surface): Extended File Entry (266), metadata/sparable/virtual (VAT)
13//! partition maps, extended_ad, and named streams — see `the lamfold design spec` §4.
14//!
15//! Derived only from the free ECMA-167 + OSTA UDF specifications (see `NOTICE`);
16//! the GPL Linux `fs/udf` and `udftools` are fenced off — never read or copied.
17
18#![cfg_attr(not(any(test, feature = "std")), no_std)]
19#![forbid(unsafe_code)]
20
21extern crate alloc;
22
23mod udf;
24
25pub use udf::Udf;