Crate lznt1

Crate lznt1 

Source
Expand description

§LZNT1 Decompression

lznt1 is a safe, pure-Rust implementation of the LZNT1 decompression algorithm. This compression format is commonly used by the Windows NT kernel and in NTFS compression.

§Example

extern crate alloc;
use lznt1::decompress;
use alloc::vec::Vec;

// "Hello world" compressed
// Header: Size 13 (0xC + 1)
// Tag 1: 8 literals ("Hello wo")
// Tag 2: 3 literals ("rld")
let compressed_data = [
    0x0c, 0xb0,
    0x00,       
    b'H', b'e', b'l', b'l', b'o', b' ', b'w', b'o',
    0x00,
    b'r', b'l', b'd',
];

let mut buffer = Vec::new();
decompress(&compressed_data, &mut buffer).expect("Decompression failed");
assert_eq!(buffer, b"Hello world");

Re-exports§

pub use compress::compress;
pub use decompress::decompress;
pub use error::DecompressionError;

Modules§

compress
decompress
error