api

deflate.ch

Declarations in deflate.ch

1 declarationsarchive

Declarations

Public only
archive#
Publicnamespace
namespace archive
BitReader#
struct
struct BitReader { var data : *u8 var data_len : size_t var byte_pos : size_t var bit_buf : u32 var bits_in_buf : int }
init#
Publicfunction
func init(d : *u8, d_len : size_t) : BitReader
read_bits#
Publicfunction
func read_bits(self : &BitReader, n : int) : u32
read_bits_reversed#
Publicfunction
func read_bits_reversed(self : &BitReader, n : int) : u32
align_to_byte#
Publicfunction
func align_to_byte(self : &BitReader) : void
HuffEntry#
struct
struct HuffEntry { var code : u16 var bits : u8 var value : u16 }
HuffTable#
struct
struct HuffTable { var entries : vector<HuffEntry> var min_bits : int var max_bits : int }
delete#
function
func delete(self : *HuffTable) : void
build_huffman_table#
function
func build_huffman_table(lengths : *u8, num_codes : int, output : *HuffTable) : Result<Unit, ArchiveError>
decode_huffman#
function
func decode_huffman(reader : *BitReader, table : *HuffTable) : u16
deflate_decompress#
Publicfunction
func deflate_decompress(input : *u8, input_len : size_t, output : *u8, output_capacity : size_t) : Result<size_t, ArchiveError>