The codec module (src/appledouble.rs) lifted verbatim from ad-decoder's working tree at extraction time — including its uncommitted entry-ID constant additions — with only the crate-level docs rewritten. 17 in-module tests carried over and green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
793 B
793 B
appledouble
AppleSingle/AppleDouble container codec: exhaustive parse, lossless build.
Extracted from ad-decoder as a shared crate. Entries decode into a
BTreeMap<u32, Vec<u8>> with typed views over Real Name (3), Comment (4),
File Dates (8), Finder Info (9), and Macintosh File Info (10) — everything
else is preserved as raw bytes, so parse → build round trips are lossless
even for entry types this crate has no opinion about. The macOS ATTR
extension (arbitrary xattrs packed after Finder Info) is parsed and rebuilt.
Consumers:
- ad-decoder — assertive (non-obliterative) sidecar folding onto APFS
- adx — AS/AD inspection and editing
- fsinspect — FUSE-side AppleDouble synthesis for Linux EA recovery