Skip to main content

fs_mac/
lib.rs

1//! Classic Mac filesystems, each behind its own Cargo feature.
2//!
3//! | Feature | Modules | What |
4//! |---|---|---|
5//! | `hfs` | [`hfs`], [`hfs_fsck`], [`hfs_clone`], [`hfs_boot`], [`hfv`], [`mac_alias`] | HFS: read, edit, create, check, clone to a new block size, boot blocks, flat BasiliskII `.hfv` volumes |
6//! | `mfs` | [`mfs`] | Macintosh File System (the 400K-floppy filesystem): read, edit, create |
7//! | `hfsplus` | [`hfsplus`], [`hfsplus_fsck`], [`hfsplus_journal`], [`hfsplus_clone`], [`hfsplus_defrag`], [`hfsplus_wrapper_clone`] | HFS+ / HFSX: read, edit, create, check, journal replay, defragmenting clone (flat or HFS-wrapped) |
8//! | `lisa` | [`lisa`] | Lisa File System, read-only, from DiskCopy 4.2 images with tags |
9//! | `forks` | [`resource_fork`], [`binhex`], [`fork_export`] | resource forks, BinHex 4.0, fork-aware export |
10//!
11//! [`hfs_common`] (B-trees, dates, type/creator codes) is always built. Name ordering comes
12//! from the GPL `fs-mac-unicode` crate. All fields are big-endian.
13
14// `is_multiple_of` & co. come from disk-core's rust173 polyfill on 1.73; the real floor check is a 1.73 build.
15#![allow(clippy::incompatible_msrv)]
16
17#[cfg(feature = "forks")]
18pub mod binhex;
19#[cfg(feature = "forks")]
20pub mod fork_export;
21#[cfg(feature = "hfs")]
22pub mod hfs;
23#[cfg(feature = "hfs")]
24pub mod hfs_boot;
25#[cfg(feature = "hfs")]
26pub mod hfs_clone;
27pub mod hfs_common;
28#[cfg(feature = "hfs")]
29pub mod hfs_fsck;
30#[cfg(feature = "hfsplus")]
31pub mod hfsplus;
32#[cfg(feature = "hfsplus")]
33pub mod hfsplus_clone;
34#[cfg(feature = "hfsplus")]
35pub mod hfsplus_defrag;
36#[cfg(feature = "hfsplus")]
37pub mod hfsplus_fsck;
38#[cfg(feature = "hfsplus")]
39pub mod hfsplus_journal;
40#[cfg(feature = "hfsplus")]
41pub mod hfsplus_wrapper_clone;
42#[cfg(feature = "hfs")]
43pub mod hfv;
44#[cfg(feature = "lisa")]
45pub mod lisa;
46#[cfg(feature = "hfs")]
47pub mod mac_alias;
48#[cfg(feature = "mfs")]
49pub mod mfs;
50#[cfg(feature = "forks")]
51pub mod resource_fork;