ud_format/lib.rs
1//! Binary container formats — parse + byte-identical write.
2//!
3//! One module per format, each a self-contained reader/writer
4//! with the same shape: `parse(bytes)` produces a structured
5//! view, `write_to_vec()` reproduces the input byte-for-byte
6//! (the round-trip invariant the whole univdreams pipeline
7//! rests on).
8//!
9//! * [`elf`] — ELF32 / ELF64 (`Elf64File`).
10//! * [`pe`] — PE / COFF, PE32 and PE32+ (`PeFile`).
11//! * [`macho`] — thin 64-bit Mach-O (`MachoFile`).
12//! * [`raw`] — headerless flat images, e.g. 6502 ROMs
13//! (`RawImage`).
14//! * [`wasm`] — WebAssembly modules (`WasmFile`).
15//!
16//! These were four separate crates (`ud-format-elf`,
17//! `-pe`, `-macho`, `-raw`); they were merged because they
18//! share one role — "parse and rewrite a binary container" —
19//! and four single-file crates was more granularity than the
20//! project's scope warranted.
21
22pub mod elf;
23pub mod macho;
24pub mod pe;
25pub mod raw;
26pub mod solana;
27pub mod wasm;