v0.1.0
Prelude bytes + offset math for the fixed two-entry (Finder Info + resource fork) container, so a consumer serving a virtual sidecar (fsinspect's FUSE AppleDouble mode) can answer getattr from total_len and dispatch range reads via plan_read without materializing the container. Byte-equivalence with build_appledouble is pinned by test. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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
Description
Languages
Rust
100%