chdlady 0.3.1

High-level facade API for reading and creating CHD files
docs.rs failed to build chdlady-0.3.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

chdlady

Rust library for reading, writing, and manipulating MAME CHD (Compressed Hunks of Data) containers.

This crate serves as the primary facade for the project, re-exporting modules from internal workspace crates (chdlady-core, chdlady-disc, chdlady-huffman, chdlady-av, and chdlady-physical). It handles CD-ROM (CUE, TOC, GDI, CloneCD CCD, Alcohol 120% MDS, Nero NRG), DVD ISO, hard disk raw images with CHS geometry, laserdisc AVI files, and direct physical optical drives (CD and DVD). CHD versions 3, 4, and 5 can be read; version 5 can be written.

Safety Scope

Container parsing, compression codecs, disc geometry engines, and CLI subcommands enforce #![deny(unsafe_code)].

The only exception in the workspace is chdlady-physical: communicating with optical drives requires calling OS-level pass-through ioctls (SG_IO on Linux, IOCTL_SCSI_PASS_THROUGH_DIRECT on Windows). Those raw kernel pointer operations are strictly isolated inside platform-specific modules (linux.rs and windows.rs), leaving all high-level decoding and conversion code safe.

Usage

Add chdlady to your dependencies:

[dependencies]
chdlady = "0.3"

The default feature enables all media types, compression codecs, and Rayon parallelization. If you only need specific capabilities, disable default features:

[dependencies]
chdlady = { version = "0.3", default-features = false, features = ["cd", "zlib", "lzma"] }

Features

Feature Default Description
full ✓ Enables all media handlers, codecs, and physical drive reading
cd ✓ CD-ROM creation and extraction (FLAC-based)
dvd ✓ DVD ISO creation and extraction
gdrom ✓ GD-ROM support (implies cd)
hd ✓ Hard disk image creation and extraction
ld ✓ Laserdisc creation and extraction
physical ✓ Direct conversion from optical drives (CD/DVD) via SCSI/MMC
zlib ✓ Deflate codec
lzma ✓ LZMA codec
zstd ✓ Zstandard codec
flac ✓ FLAC codec for CD hunks
rayon ✓ Parallel compression and decompression

Part of the chdlady workspace.