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//!
15//! These were four separate crates (`ud-format-elf`,
16//! `-pe`, `-macho`, `-raw`); they were merged because they
17//! share one role — "parse and rewrite a binary container" —
18//! and four single-file crates was more granularity than the
19//! project's scope warranted.
20
21pub mod elf;
22pub mod macho;
23pub mod pe;
24pub mod raw;