1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! Native readers for classic Macintosh archive formats.
//!
//! These archives are trees of Mac files, each preserving a data fork, a
//! resource fork, and Finder info (type/creator/flags). The reader exposes
//! entries that map cleanly onto the rest of rusty-backup's fork-aware tooling
//! (BinHex export, MacBinary, HFS import).
//!
//! - [`stuffit`] — classic StuffIt (`.sit`, `SIT!` magic) and StuffIt
//! self-extracting archives (`.sea`).
//! - [`compactpro`] — Compact Pro (`.cpt`, and `.sea` self-extracting),
//! commonly distributed BinHex-wrapped.
//! - [`mar`] — Hampa Hug's `mar` archive (`.mar`): a single Mac file or folder
//! tree, read + written (stored).
//!
//! See `docs/native_mac_archives.md` in rusty-backup for the format references and roadmap.
//!
//! Licensing is per file (each starts with an SPDX line): the StuffIt / Compact Pro
//! decompressors and parsers ported from XADMaster are LGPL-2.1-or-later, everything else is
//! MIT. See `THIRD_PARTY_NOTICES.md`.
// `is_multiple_of` & co. come from disk-core's rust173 polyfill on 1.73; the real floor check is a 1.73 build.