1pub use brotli_decompressor::ffi;
2pub use brotli_decompressor::ffi::interface::{brotli_alloc_func, brotli_free_func, c_void};
3pub use brotli_decompressor::{BrotliDecoderReturnInfo, HuffmanCode};
4
5pub unsafe extern "C" fn CBrotliDecoderCreateInstance(
6 alloc_func: brotli_alloc_func,
7 free_func: brotli_free_func,
8 opaque: *mut c_void,
9) -> *mut ffi::BrotliDecoderState {
10 ffi::BrotliDecoderCreateInstance(alloc_func, free_func, opaque)
11}
12
13pub unsafe extern "C" fn CBrotliDecoderSetParameter(
14 state_ptr: *mut ffi::BrotliDecoderState,
15 selector: ffi::interface::BrotliDecoderParameter,
16 value: u32,
17) {
18 ffi::BrotliDecoderSetParameter(state_ptr, selector, value)
19}
20
21#[cfg(feature = "std")] pub unsafe extern "C" fn CBrotliDecoderDecompress(
23 encoded_size: usize,
24 encoded_buffer: *const u8,
25 decoded_size: *mut usize,
26 decoded_buffer: *mut u8,
27) -> ffi::interface::BrotliDecoderResult {
28 ffi::BrotliDecoderDecompress(encoded_size, encoded_buffer, decoded_size, decoded_buffer)
29}
30
31pub unsafe extern "C" fn CBrotliDecoderDecompressStream(
32 state_ptr: *mut ffi::BrotliDecoderState,
33 available_in: *mut usize,
34 input_buf_ptr: *mut *const u8,
35 available_out: *mut usize,
36 output_buf_ptr: *mut *mut u8,
37 total_out: *mut usize,
38) -> ffi::interface::BrotliDecoderResult {
39 ffi::BrotliDecoderDecompressStream(
40 state_ptr,
41 available_in,
42 input_buf_ptr,
43 available_out,
44 output_buf_ptr,
45 total_out,
46 )
47}
48
49pub unsafe extern "C" fn CBrotliDecoderDecompressStreaming(
50 state_ptr: *mut ffi::BrotliDecoderState,
51 available_in: *mut usize,
52 input_buf_ptr: *const u8,
53 available_out: *mut usize,
54 output_buf_ptr: *mut u8,
55) -> ffi::interface::BrotliDecoderResult {
56 ffi::BrotliDecoderDecompressStreaming(
57 state_ptr,
58 available_in,
59 input_buf_ptr,
60 available_out,
61 output_buf_ptr,
62 )
63}
64
65pub unsafe extern "C" fn CBrotliDecoderDecompressWithReturnInfo(
66 available_in: usize,
67 input_buf_ptr: *const u8,
68 available_out_and_scratch: usize,
69 output_buf_and_scratch: *mut u8,
70) -> BrotliDecoderReturnInfo {
71 ffi::BrotliDecoderDecompressWithReturnInfo(
72 available_in,
73 input_buf_ptr,
74 available_out_and_scratch,
75 output_buf_and_scratch,
76 )
77}
78
79pub unsafe extern "C" fn CBrotliDecoderDecompressPrealloc(
80 available_in: usize,
81 input_buf_ptr: *const u8,
82 available_out: usize,
83 output_buf_ptr: *mut u8,
84 available_u8: usize,
85 u8_ptr: *mut u8,
86 available_u32: usize,
87 u32_ptr: *mut u32,
88 available_hc: usize,
89 hc_ptr: *mut HuffmanCode,
90) -> BrotliDecoderReturnInfo {
91 ffi::BrotliDecoderDecompressPrealloc(
92 available_in,
93 input_buf_ptr,
94 available_out,
95 output_buf_ptr,
96 available_u8,
97 u8_ptr,
98 available_u32,
99 u32_ptr,
100 available_hc,
101 hc_ptr,
102 )
103}
104
105pub unsafe extern "C" fn CBrotliDecoderMallocU8(
106 state_ptr: *mut ffi::BrotliDecoderState,
107 size: usize,
108) -> *mut u8 {
109 ffi::BrotliDecoderMallocU8(state_ptr, size)
110}
111
112pub unsafe extern "C" fn CBrotliDecoderFreeU8(
113 state_ptr: *mut ffi::BrotliDecoderState,
114 data: *mut u8,
115 size: usize,
116) {
117 ffi::BrotliDecoderFreeU8(state_ptr, data, size)
118}
119
120pub unsafe extern "C" fn CBrotliDecoderMallocUsize(
121 state_ptr: *mut ffi::BrotliDecoderState,
122 size: usize,
123) -> *mut usize {
124 ffi::BrotliDecoderMallocUsize(state_ptr, size)
125}
126
127pub unsafe extern "C" fn CBrotliDecoderFreeUsize(
128 state_ptr: *mut ffi::BrotliDecoderState,
129 data: *mut usize,
130 size: usize,
131) {
132 ffi::BrotliDecoderFreeUsize(state_ptr, data, size)
133}
134
135pub unsafe extern "C" fn CBrotliDecoderDestroyInstance(state_ptr: *mut ffi::BrotliDecoderState) {
136 ffi::BrotliDecoderDestroyInstance(state_ptr)
137}
138
139pub extern "C" fn CBrotliDecoderVersion() -> u32 {
140 ffi::BrotliDecoderVersion()
141}
142
143#[no_mangle]
144pub extern "C" fn CBrotliDecoderErrorString(c: ffi::BrotliDecoderErrorCode) -> *const u8 {
145 ffi::BrotliDecoderErrorString(c)
146}
147
148#[no_mangle]
149pub unsafe extern "C" fn CBrotliDecoderHasMoreOutput(
150 state_ptr: *const ffi::BrotliDecoderState,
151) -> i32 {
152 ffi::BrotliDecoderHasMoreOutput(state_ptr)
153}
154
155#[no_mangle]
156pub unsafe extern "C" fn CBrotliDecoderTakeOutput(
157 state_ptr: *mut ffi::BrotliDecoderState,
158 size: *mut usize,
159) -> *const u8 {
160 ffi::BrotliDecoderTakeOutput(state_ptr, size)
161}
162
163#[no_mangle]
164pub unsafe extern "C" fn CBrotliDecoderIsUsed(state_ptr: *const ffi::BrotliDecoderState) -> i32 {
165 ffi::BrotliDecoderIsUsed(state_ptr)
166}
167#[no_mangle]
168pub unsafe extern "C" fn CBrotliDecoderIsFinished(
169 state_ptr: *const ffi::BrotliDecoderState,
170) -> i32 {
171 ffi::BrotliDecoderIsFinished(state_ptr)
172}
173#[no_mangle]
174pub unsafe extern "C" fn CBrotliDecoderGetErrorCode(
175 state_ptr: *const ffi::BrotliDecoderState,
176) -> ffi::BrotliDecoderErrorCode {
177 ffi::BrotliDecoderGetErrorCode(state_ptr)
178}
179#[no_mangle]
180pub unsafe extern "C" fn CBrotliDecoderGetErrorString(
181 state_ptr: *const ffi::BrotliDecoderState,
182) -> *const u8 {
183 ffi::BrotliDecoderGetErrorString(state_ptr)
184}