1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// SPDX-License-Identifier: MIT OR Apache-2.0
//! `lamexfat` — a `no_std` + `alloc` **read-only** exFAT filesystem reader for
//! UEFI bootloaders.
//!
//! exFAT is never on the UEFI ESP (always FAT32 by spec), so `lamexfat` serves
//! **removable/utility media** — reading a kernel + initrd or a boot image off an
//! exFAT-formatted USB stick or SD card, including the `> 4 GiB` payloads FAT32
//! cannot hold. The public surface mirrors `lamxfs::Xfs` / the `lam*` family, so a
//! bootloader `FsBackend` adapter is a one-for-one mirror of the others.
//!
//! Read-only by construction: there is no write path, allocator, or bitmap
//! mutation. Every on-disk count/offset/cluster-chain is bounds- and
//! cycle-checked, and [`ExFat::read`] caps its allocation at [`MAX_FILE_BYTES`]
//! so a hostile `DataLength` cannot drive a denial-of-boot.
//!
//! Clean-room status: the on-disk parsing is adapted from `exfat-slim`
//! (`github.com/ninjasource/exfat-slim`, Apache-2.0) — see `NOTICE` and the
//! per-file headers. New code is `MIT OR Apache-2.0`.
extern crate alloc;
pub use BlockRead;
pub use ;
pub use ;
pub use Path;