Expand description
Pure-Rust compressor and decompressor for the Amiga LZX archive
format (the format produced by Jonathan Forbes’ LZX tool on Amiga,
as distributed via Aminet). This is not Microsoft LZX (the variant
used in .cab, .chm, .wim files); the two formats share an
algorithmic family but have different wire formats, repeat-offset
caches, and container layers. For MS-LZX, see crates such as lzxd.
The implementation is based on reverse-engineered specs in
ALGORITHM.md and CONSTANTS.md at the workspace root, cross-verified
against the canonical unlzx.c decompressor from Aminet.
Re-exports§
pub use crate::archive::writer::Level;pub use crate::archive::ArchiveReader;pub use crate::archive::ArchiveWriter;pub use crate::archive::DateTime;pub use crate::archive::Entry;pub use crate::archive::EntryAttrs;pub use crate::archive::EntryBuilder;pub use crate::archive::EntryWriter;pub use crate::error::Error;pub use crate::error::Result;
Modules§
- archive
- Archive container format.
- bitio
- Bit-level I/O.
- block
- Block writer.
- constants
- Canonical LZX tables and magic numbers.
- crc32
- CRC32 (zlib / pkzip).
- decoder
- LZX stream decoder, ported from
unlzx.c(read_literal_table,decrunch). - error
- hash
- 3-byte rolling hash and zlib-style hash chains.
- huffman
- Huffman coding for LZX.
- lz77
- LZ77 token stream producer.
- matcher
- Match finder.