Skip to main content

amiga_lzx/
lib.rs

1//! Pure-Rust compressor and decompressor for the **Amiga LZX** archive
2//! format (the format produced by Jonathan Forbes' `LZX` tool on Amiga,
3//! as distributed via Aminet). This is **not** Microsoft LZX (the variant
4//! used in `.cab`, `.chm`, `.wim` files); the two formats share an
5//! algorithmic family but have different wire formats, repeat-offset
6//! caches, and container layers. For MS-LZX, see crates such as `lzxd`.
7//!
8//! The implementation is based on reverse-engineered specs in
9//! `ALGORITHM.md` and `CONSTANTS.md` at the workspace root, cross-verified
10//! against the canonical `unlzx.c` decompressor from Aminet.
11
12pub mod archive;
13pub mod bitio;
14pub mod block;
15pub mod constants;
16pub mod crc32;
17pub mod decoder;
18pub mod error;
19pub mod hash;
20pub mod huffman;
21pub mod lz77;
22pub mod matcher;
23
24pub use crate::archive::writer::Level;
25pub use crate::archive::{
26    ArchiveReader, ArchiveWriter, DateTime, Entry, EntryAttrs, EntryBuilder, EntryWriter,
27};
28
29pub use crate::error::{Error, Result};