blob: bd0a7ebcc2bcdf3f3ad1783f783b5ef203163688 [file] [log] [blame]
#![allow(bad_style)]
#![doc(html_root_url = "https://docs.rs/brotli-sys/0.2")]
extern crate libc;
use libc::{c_void, size_t, c_int, c_char};
#[cfg(target_env = "msvc")]
#[doc(hidden)]
pub type __enum_ty = libc::c_int;
#[cfg(not(target_env = "msvc"))]
#[doc(hidden)]
pub type __enum_ty = libc::c_uint;
pub type __enum_ty_s = libc::c_int;
pub type brotli_alloc_func = Option<extern "C" fn(*mut c_void, size_t) -> *mut c_void>;
pub type brotli_free_func = Option<extern "C" fn(*mut c_void, *mut c_void)>;
// ========== Decoder functionality ==========
pub type BrotliDecoderResult = __enum_ty;
pub type BrotliDecoderErrorCode = __enum_ty_s;
pub enum BrotliDecoderState {}
pub const BROTLI_DECODER_RESULT_ERROR: BrotliDecoderResult = 0;
pub const BROTLI_DECODER_RESULT_SUCCESS: BrotliDecoderResult = 1;
pub const BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: BrotliDecoderResult = 2;
pub const BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: BrotliDecoderResult = 3;
pub const BROTLI_DECODER_NO_ERROR: BrotliDecoderErrorCode = 0;
pub const BROTLI_DECODER_SUCCESS: BrotliDecoderErrorCode = 1;
pub const BROTLI_DECODER_NEEDS_MORE_INPUT: BrotliDecoderErrorCode = 2;
pub const BROTLI_DECODER_NEEDS_MORE_OUTPUT: BrotliDecoderErrorCode = 3;
pub const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: BrotliDecoderErrorCode = -1;
pub const BROTLI_DECODER_ERROR_FORMAT_RESERVED: BrotliDecoderErrorCode = -2;
pub const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: BrotliDecoderErrorCode = -3;
pub const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: BrotliDecoderErrorCode = -4;
pub const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: BrotliDecoderErrorCode = -5;
pub const BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: BrotliDecoderErrorCode = -6;
pub const BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: BrotliDecoderErrorCode = -7;
pub const BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: BrotliDecoderErrorCode = -8;
pub const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: BrotliDecoderErrorCode = -9;
pub const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: BrotliDecoderErrorCode = -10;
pub const BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: BrotliDecoderErrorCode = -11;
pub const BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: BrotliDecoderErrorCode = -12;
pub const BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: BrotliDecoderErrorCode = -13;
pub const BROTLI_DECODER_ERROR_FORMAT_PADDING_1: BrotliDecoderErrorCode = -14;
pub const BROTLI_DECODER_ERROR_FORMAT_PADDING_2: BrotliDecoderErrorCode = -15;
pub const BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: BrotliDecoderErrorCode = -20;
pub const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: BrotliDecoderErrorCode = -21;
pub const BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: BrotliDecoderErrorCode = -22;
pub const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: BrotliDecoderErrorCode = -25;
pub const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: BrotliDecoderErrorCode = -26;
pub const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: BrotliDecoderErrorCode = -27;
pub const BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: BrotliDecoderErrorCode = -30;
pub const BROTLI_DECODER_ERROR_UNREACHABLE: BrotliDecoderErrorCode = -31;
extern "C" {
pub fn BrotliDecoderCreateInstance(alloc_func: brotli_alloc_func,
free_func: brotli_free_func,
opaque: *mut c_void)
-> *mut BrotliDecoderState;
pub fn BrotliDecoderDestroyInstance(state: *mut BrotliDecoderState);
pub fn BrotliDecoderDecompress(encoded_size: size_t,
encoded_buffer: *const u8,
decoded_size: *mut size_t,
decoded_buffer: *mut u8) ->
BrotliDecoderResult;
pub fn BrotliDecoderDecompressStream(state: *mut BrotliDecoderState,
available_in: *mut size_t,
next_in: *mut *const u8,
available_out: *mut size_t,
next_out: *mut *mut u8,
total_out: *mut size_t)
-> BrotliDecoderResult;
pub fn BrotliDecoderSetCustomDictionary(state: *mut BrotliDecoderState,
size: size_t,
dict: *const u8);
pub fn BrotliDecoderHasMoreOutput(state: *const BrotliDecoderState) -> c_int;
pub fn BrotliDecoderTakeOutput(state: *mut BrotliDecoderState,
size: *mut size_t)
-> *const u8;
pub fn BrotliDecoderIsUsed(state: *const BrotliDecoderState) -> c_int;
pub fn BrotliDecoderIsFinished(state: *const BrotliDecoderState) -> c_int;
pub fn BrotliDecoderGetErrorCode(state: *const BrotliDecoderState) -> BrotliDecoderErrorCode;
pub fn BrotliDecoderErrorString(c: BrotliDecoderErrorCode) -> *const c_char;
pub fn BrotliDecoderVersion() -> u32;
}
// ========== Encoder functionality ==========
pub type BrotliEncoderMode = __enum_ty;
pub type BrotliEncoderParameter = __enum_ty;
pub type BrotliEncoderOperation = __enum_ty;
pub const BROTLI_MODE_GENERIC: BrotliEncoderMode = 0;
pub const BROTLI_MODE_TEXT: BrotliEncoderMode = 1;
pub const BROTLI_MODE_FONT: BrotliEncoderMode = 2;
pub const BROTLI_PARAM_MODE: BrotliEncoderParameter = 0;
pub const BROTLI_PARAM_QUALITY: BrotliEncoderParameter = 1;
pub const BROTLI_PARAM_LGWIN: BrotliEncoderParameter = 2;
pub const BROTLI_PARAM_LGBLOCK: BrotliEncoderParameter = 3;
pub const BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: BrotliEncoderParameter = 4;
pub const BROTLI_PARAM_SIZE_HINT: BrotliEncoderParameter = 5;
pub const BROTLI_OPERATION_PROCESS: BrotliEncoderOperation = 0;
pub const BROTLI_OPERATION_FLUSH: BrotliEncoderOperation = 1;
pub const BROTLI_OPERATION_FINISH: BrotliEncoderOperation = 2;
pub const BROTLI_OPERATION_EMIT_METADATA: BrotliEncoderOperation = 3;
pub const BROTLI_DEFAULT_QUALITY: u32 = 11;
pub const BROTLI_DEFAULT_WINDOW: u32 = 22;
pub const BROTLI_DEFAULT_MODE: u32 = 0;
pub enum BrotliEncoderState {}
extern "C" {
pub fn BrotliEncoderSetParameter(state: *mut BrotliEncoderState,
param: BrotliEncoderParameter,
value: u32)
-> c_int;
pub fn BrotliEncoderCreateInstance(alloc_func: brotli_alloc_func,
free_func: brotli_free_func,
opaque: *mut c_void)
-> *mut BrotliEncoderState;
pub fn BrotliEncoderDestroyInstance(state: *mut BrotliEncoderState);
// These three are deprecated
//pub fn BrotliEncoderInputBlockSize(state: *mut BrotliEncoderState) -> size_t;
//pub fn BrotliEncoderCopyInputToRingBuffer(state: *mut BrotliEncoderState,
// input_size: size_t,
// input_buffer: *const u8);
//pub fn BrotliEncoderWriteData(state: *mut BrotliEncoderState,
// is_last: c_int,
// force_flush: c_int,
// out_size: *mut size_t,
// output: *mut *mut u8)
// -> c_int;
pub fn BrotliEncoderSetCustomDictionary(state: *mut BrotliEncoderState,
size: size_t,
dict: *const u8);
pub fn BrotliEncoderMaxCompressedSize(input_size: size_t) -> size_t;
pub fn BrotliEncoderCompress(quality: c_int,
lgwin: c_int,
mode: BrotliEncoderMode,
input_size: size_t,
input_buffer: *const u8,
encoded_size: *mut size_t,
encoded_buffer: *mut u8)
-> c_int;
pub fn BrotliEncoderCompressStream(state: *mut BrotliEncoderState,
op: BrotliEncoderOperation,
available_in: *mut size_t,
next_in: *mut *const u8,
available_out: *mut size_t,
next_out: *mut *mut u8,
total_out: *mut size_t)
-> c_int;
pub fn BrotliEncoderIsFinished(state: *mut BrotliEncoderState) -> c_int;
pub fn BrotliEncoderHasMoreOutput(state: *mut BrotliEncoderState) -> c_int;
pub fn BrotliEncoderTakeOutput(state: *mut BrotliEncoderState,
size: *mut usize)
-> *const u8;
pub fn BrotliEncoderVersion() -> u32;
}