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>
18 lines
793 B
Markdown
18 lines
793 B
Markdown
# 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
|
|
|
|
[ad-decoder]: https://code.movq.us/movq/ad-decoder
|