brotli/
lib.rs

1#![no_std]
2#![allow(non_snake_case)]
3#![allow(unused_parens)]
4#![allow(non_camel_case_types)]
5#![allow(non_snake_case)]
6#![allow(non_upper_case_globals)]
7#![cfg_attr(feature = "benchmark", feature(test))]
8#![cfg_attr(feature = "simd", feature(portable_simd))]
9#![cfg_attr(
10    feature = "no-stdlib-ffi-binding",
11    cfg_attr(not(feature = "std"), feature(lang_items))
12)]
13#[macro_use]
14// <-- for debugging, remove xprintln from bit_reader and replace with println
15#[cfg(feature = "std")]
16extern crate std;
17#[cfg(feature = "std")]
18extern crate alloc_stdlib;
19#[allow(unused_imports)]
20#[macro_use]
21extern crate alloc_no_stdlib as alloc;
22extern crate brotli_decompressor;
23pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
24pub const VERSION: u8 = 1;
25#[cfg(feature = "std")]
26pub use alloc_stdlib::HeapAlloc;
27pub mod enc;
28pub use self::enc::combined_alloc::CombiningAllocator;
29pub mod concat;
30pub use brotli_decompressor::dictionary;
31pub use brotli_decompressor::reader;
32#[cfg(feature = "std")]
33pub use brotli_decompressor::reader::Decompressor;
34pub use brotli_decompressor::reader::DecompressorCustomIo;
35pub use brotli_decompressor::transform;
36pub use brotli_decompressor::transform::TransformDictionaryWord;
37pub use brotli_decompressor::writer;
38pub use brotli_decompressor::BrotliState;
39pub use brotli_decompressor::HuffmanCode; // so we can make custom allocator for decompression
40
41pub use brotli_decompressor::writer::DecompressorWriterCustomIo;
42
43#[cfg(feature = "std")]
44pub use brotli_decompressor::writer::DecompressorWriter;
45
46pub use brotli_decompressor::io_wrappers::{CustomRead, CustomWrite};
47
48#[cfg(feature = "std")]
49pub use brotli_decompressor::io_wrappers::{IntoIoReader, IoReaderWrapper, IoWriterWrapper};
50pub use enc::input_pair::InputPair;
51pub use enc::input_pair::InputReference;
52pub use enc::input_pair::InputReferenceMut;
53pub use enc::interface;
54pub use enc::interface::SliceOffset;
55#[cfg(feature = "ffi-api")]
56pub mod ffi;
57// interface
58// pub fn BrotliDecompressStream(mut available_in: &mut usize,
59//                               input_offset: &mut usize,
60//                               input: &[u8],
61//                               mut available_out: &mut usize,
62//                               mut output_offset: &mut usize,
63//                               mut output: &mut [u8],
64//                               mut total_out: &mut usize,
65//                               mut s: &mut BrotliState<AllocU8, AllocU32, AllocHC>);
66
67pub use brotli_decompressor::{BrotliDecompressStream, BrotliResult};
68#[cfg(feature = "std")]
69pub use enc::{BrotliCompress, BrotliCompressCustomAlloc};
70pub use enc::{BrotliCompressCustomIo, BrotliCompressCustomIoCustomDict};
71
72#[cfg(feature = "std")]
73pub use enc::reader::CompressorReader;
74pub use enc::reader::CompressorReaderCustomIo;
75
76#[cfg(feature = "std")]
77pub use enc::writer::CompressorWriter;
78pub use enc::writer::CompressorWriterCustomIo;
79
80#[cfg(feature = "std")]
81pub use brotli_decompressor::BrotliDecompress;
82
83#[cfg(feature = "std")]
84pub use brotli_decompressor::BrotliDecompressCustomAlloc;
85
86pub use brotli_decompressor::BrotliDecompressCustomIo;
87pub use brotli_decompressor::BrotliDecompressCustomIoCustomDict;
88
89#[cfg(feature = "std")]
90pub use brotli_decompressor::copy_from_to;