ppmd_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.71.1 */
2
3pub const PPMD7_MIN_ORDER: u32 = 2;
4pub const PPMD7_MAX_ORDER: u32 = 64;
5pub const PPMD7_MIN_MEM_SIZE: u32 = 2048;
6pub const PPMD7_MAX_MEM_SIZE: u32 = 4294967259;
7pub const PPMD7_SYM_END: i32 = -1;
8pub const PPMD7_SYM_ERROR: i32 = -2;
9pub const PPMD8_MIN_ORDER: u32 = 2;
10pub const PPMD8_MAX_ORDER: u32 = 16;
11pub const PPMD8_SYM_END: i32 = -1;
12pub const PPMD8_SYM_ERROR: i32 = -2;
13pub type Byte = ::std::os::raw::c_uchar;
14pub type UInt16 = ::std::os::raw::c_ushort;
15pub type Int32 = ::std::os::raw::c_int;
16pub type UInt32 = ::std::os::raw::c_uint;
17pub type UInt64 = u64;
18pub type BoolInt = ::std::os::raw::c_int;
19pub type IByteInPtr = *const IByteIn_;
20#[repr(C)]
21#[derive(Debug, Copy, Clone)]
22pub struct IByteIn_ {
23    pub Read: ::std::option::Option<unsafe extern "C" fn(p: IByteInPtr) -> Byte>,
24}
25#[allow(clippy::unnecessary_operation, clippy::identity_op)]
26const _: () = {
27    ["Size of IByteIn_"][::std::mem::size_of::<IByteIn_>() - 8usize];
28    ["Alignment of IByteIn_"][::std::mem::align_of::<IByteIn_>() - 8usize];
29    ["Offset of field: IByteIn_::Read"][::std::mem::offset_of!(IByteIn_, Read) - 0usize];
30};
31pub type IByteOutPtr = *const IByteOut_;
32#[repr(C)]
33#[derive(Debug, Copy, Clone)]
34pub struct IByteOut_ {
35    pub Write: ::std::option::Option<unsafe extern "C" fn(p: IByteOutPtr, b: Byte)>,
36}
37#[allow(clippy::unnecessary_operation, clippy::identity_op)]
38const _: () = {
39    ["Size of IByteOut_"][::std::mem::size_of::<IByteOut_>() - 8usize];
40    ["Alignment of IByteOut_"][::std::mem::align_of::<IByteOut_>() - 8usize];
41    ["Offset of field: IByteOut_::Write"][::std::mem::offset_of!(IByteOut_, Write) - 0usize];
42};
43pub type ISzAllocPtr = *const ISzAlloc;
44#[repr(C)]
45#[derive(Debug, Copy, Clone)]
46pub struct ISzAlloc {
47    pub Alloc: ::std::option::Option<
48        unsafe extern "C" fn(p: ISzAllocPtr, size: usize) -> *mut ::std::os::raw::c_void,
49    >,
50    pub Free: ::std::option::Option<
51        unsafe extern "C" fn(p: ISzAllocPtr, address: *mut ::std::os::raw::c_void),
52    >,
53}
54#[allow(clippy::unnecessary_operation, clippy::identity_op)]
55const _: () = {
56    ["Size of ISzAlloc"][::std::mem::size_of::<ISzAlloc>() - 16usize];
57    ["Alignment of ISzAlloc"][::std::mem::align_of::<ISzAlloc>() - 8usize];
58    ["Offset of field: ISzAlloc::Alloc"][::std::mem::offset_of!(ISzAlloc, Alloc) - 0usize];
59    ["Offset of field: ISzAlloc::Free"][::std::mem::offset_of!(ISzAlloc, Free) - 8usize];
60};
61#[repr(C, packed)]
62#[derive(Debug, Copy, Clone)]
63pub struct CPpmd_See {
64    pub Summ: UInt16,
65    pub Shift: Byte,
66    pub Count: Byte,
67}
68#[allow(clippy::unnecessary_operation, clippy::identity_op)]
69const _: () = {
70    ["Size of CPpmd_See"][::std::mem::size_of::<CPpmd_See>() - 4usize];
71    ["Alignment of CPpmd_See"][::std::mem::align_of::<CPpmd_See>() - 1usize];
72    ["Offset of field: CPpmd_See::Summ"][::std::mem::offset_of!(CPpmd_See, Summ) - 0usize];
73    ["Offset of field: CPpmd_See::Shift"][::std::mem::offset_of!(CPpmd_See, Shift) - 2usize];
74    ["Offset of field: CPpmd_See::Count"][::std::mem::offset_of!(CPpmd_See, Count) - 3usize];
75};
76#[repr(C, packed)]
77#[derive(Debug, Copy, Clone)]
78pub struct CPpmd_State {
79    pub Symbol: Byte,
80    pub Freq: Byte,
81    pub Successor_0: UInt16,
82    pub Successor_1: UInt16,
83}
84#[allow(clippy::unnecessary_operation, clippy::identity_op)]
85const _: () = {
86    ["Size of CPpmd_State"][::std::mem::size_of::<CPpmd_State>() - 6usize];
87    ["Alignment of CPpmd_State"][::std::mem::align_of::<CPpmd_State>() - 1usize];
88    ["Offset of field: CPpmd_State::Symbol"][::std::mem::offset_of!(CPpmd_State, Symbol) - 0usize];
89    ["Offset of field: CPpmd_State::Freq"][::std::mem::offset_of!(CPpmd_State, Freq) - 1usize];
90    ["Offset of field: CPpmd_State::Successor_0"]
91        [::std::mem::offset_of!(CPpmd_State, Successor_0) - 2usize];
92    ["Offset of field: CPpmd_State::Successor_1"]
93        [::std::mem::offset_of!(CPpmd_State, Successor_1) - 4usize];
94};
95#[repr(C)]
96#[derive(Debug, Copy, Clone)]
97pub struct CPpmd_State2_ {
98    pub Symbol: Byte,
99    pub Freq: Byte,
100}
101#[allow(clippy::unnecessary_operation, clippy::identity_op)]
102const _: () = {
103    ["Size of CPpmd_State2_"][::std::mem::size_of::<CPpmd_State2_>() - 2usize];
104    ["Alignment of CPpmd_State2_"][::std::mem::align_of::<CPpmd_State2_>() - 1usize];
105    ["Offset of field: CPpmd_State2_::Symbol"]
106        [::std::mem::offset_of!(CPpmd_State2_, Symbol) - 0usize];
107    ["Offset of field: CPpmd_State2_::Freq"][::std::mem::offset_of!(CPpmd_State2_, Freq) - 1usize];
108};
109pub type CPpmd_State2 = CPpmd_State2_;
110#[repr(C, packed)]
111#[derive(Debug, Copy, Clone)]
112pub struct CPpmd_State4_ {
113    pub Successor_0: UInt16,
114    pub Successor_1: UInt16,
115}
116#[allow(clippy::unnecessary_operation, clippy::identity_op)]
117const _: () = {
118    ["Size of CPpmd_State4_"][::std::mem::size_of::<CPpmd_State4_>() - 4usize];
119    ["Alignment of CPpmd_State4_"][::std::mem::align_of::<CPpmd_State4_>() - 1usize];
120    ["Offset of field: CPpmd_State4_::Successor_0"]
121        [::std::mem::offset_of!(CPpmd_State4_, Successor_0) - 0usize];
122    ["Offset of field: CPpmd_State4_::Successor_1"]
123        [::std::mem::offset_of!(CPpmd_State4_, Successor_1) - 2usize];
124};
125pub type CPpmd_State4 = CPpmd_State4_;
126pub type CPpmd_State_Ref = UInt32;
127pub type CPpmd_Void_Ref = UInt32;
128pub type CPpmd7_Context_Ref = UInt32;
129#[repr(C)]
130#[derive(Copy, Clone)]
131pub struct CPpmd7_Context_ {
132    pub NumStats: UInt16,
133    pub Union2: CPpmd7_Context___bindgen_ty_1,
134    pub Union4: CPpmd7_Context___bindgen_ty_2,
135    pub Suffix: CPpmd7_Context_Ref,
136}
137#[repr(C)]
138#[derive(Copy, Clone)]
139pub union CPpmd7_Context___bindgen_ty_1 {
140    pub SummFreq: UInt16,
141    pub State2: CPpmd_State2,
142}
143#[allow(clippy::unnecessary_operation, clippy::identity_op)]
144const _: () = {
145    ["Size of CPpmd7_Context___bindgen_ty_1"]
146        [::std::mem::size_of::<CPpmd7_Context___bindgen_ty_1>() - 2usize];
147    ["Alignment of CPpmd7_Context___bindgen_ty_1"]
148        [::std::mem::align_of::<CPpmd7_Context___bindgen_ty_1>() - 2usize];
149    ["Offset of field: CPpmd7_Context___bindgen_ty_1::SummFreq"]
150        [::std::mem::offset_of!(CPpmd7_Context___bindgen_ty_1, SummFreq) - 0usize];
151    ["Offset of field: CPpmd7_Context___bindgen_ty_1::State2"]
152        [::std::mem::offset_of!(CPpmd7_Context___bindgen_ty_1, State2) - 0usize];
153};
154#[repr(C)]
155#[derive(Copy, Clone)]
156pub union CPpmd7_Context___bindgen_ty_2 {
157    pub Stats: CPpmd_State_Ref,
158    pub State4: CPpmd_State4,
159}
160#[allow(clippy::unnecessary_operation, clippy::identity_op)]
161const _: () = {
162    ["Size of CPpmd7_Context___bindgen_ty_2"]
163        [::std::mem::size_of::<CPpmd7_Context___bindgen_ty_2>() - 4usize];
164    ["Alignment of CPpmd7_Context___bindgen_ty_2"]
165        [::std::mem::align_of::<CPpmd7_Context___bindgen_ty_2>() - 4usize];
166    ["Offset of field: CPpmd7_Context___bindgen_ty_2::Stats"]
167        [::std::mem::offset_of!(CPpmd7_Context___bindgen_ty_2, Stats) - 0usize];
168    ["Offset of field: CPpmd7_Context___bindgen_ty_2::State4"]
169        [::std::mem::offset_of!(CPpmd7_Context___bindgen_ty_2, State4) - 0usize];
170};
171#[allow(clippy::unnecessary_operation, clippy::identity_op)]
172const _: () = {
173    ["Size of CPpmd7_Context_"][::std::mem::size_of::<CPpmd7_Context_>() - 12usize];
174    ["Alignment of CPpmd7_Context_"][::std::mem::align_of::<CPpmd7_Context_>() - 4usize];
175    ["Offset of field: CPpmd7_Context_::NumStats"]
176        [::std::mem::offset_of!(CPpmd7_Context_, NumStats) - 0usize];
177    ["Offset of field: CPpmd7_Context_::Union2"]
178        [::std::mem::offset_of!(CPpmd7_Context_, Union2) - 2usize];
179    ["Offset of field: CPpmd7_Context_::Union4"]
180        [::std::mem::offset_of!(CPpmd7_Context_, Union4) - 4usize];
181    ["Offset of field: CPpmd7_Context_::Suffix"]
182        [::std::mem::offset_of!(CPpmd7_Context_, Suffix) - 8usize];
183};
184pub type CPpmd7_Context = CPpmd7_Context_;
185#[repr(C)]
186#[derive(Debug, Copy, Clone)]
187pub struct CPpmd7_RangeDec {
188    pub Range: UInt32,
189    pub Code: UInt32,
190    pub Low: UInt32,
191    pub Stream: IByteInPtr,
192}
193#[allow(clippy::unnecessary_operation, clippy::identity_op)]
194const _: () = {
195    ["Size of CPpmd7_RangeDec"][::std::mem::size_of::<CPpmd7_RangeDec>() - 24usize];
196    ["Alignment of CPpmd7_RangeDec"][::std::mem::align_of::<CPpmd7_RangeDec>() - 8usize];
197    ["Offset of field: CPpmd7_RangeDec::Range"]
198        [::std::mem::offset_of!(CPpmd7_RangeDec, Range) - 0usize];
199    ["Offset of field: CPpmd7_RangeDec::Code"]
200        [::std::mem::offset_of!(CPpmd7_RangeDec, Code) - 4usize];
201    ["Offset of field: CPpmd7_RangeDec::Low"]
202        [::std::mem::offset_of!(CPpmd7_RangeDec, Low) - 8usize];
203    ["Offset of field: CPpmd7_RangeDec::Stream"]
204        [::std::mem::offset_of!(CPpmd7_RangeDec, Stream) - 16usize];
205};
206#[repr(C)]
207#[derive(Debug, Copy, Clone)]
208pub struct CPpmd7z_RangeEnc {
209    pub Range: UInt32,
210    pub Cache: Byte,
211    pub Low: UInt64,
212    pub CacheSize: UInt64,
213    pub Stream: IByteOutPtr,
214}
215#[allow(clippy::unnecessary_operation, clippy::identity_op)]
216const _: () = {
217    ["Size of CPpmd7z_RangeEnc"][::std::mem::size_of::<CPpmd7z_RangeEnc>() - 32usize];
218    ["Alignment of CPpmd7z_RangeEnc"][::std::mem::align_of::<CPpmd7z_RangeEnc>() - 8usize];
219    ["Offset of field: CPpmd7z_RangeEnc::Range"]
220        [::std::mem::offset_of!(CPpmd7z_RangeEnc, Range) - 0usize];
221    ["Offset of field: CPpmd7z_RangeEnc::Cache"]
222        [::std::mem::offset_of!(CPpmd7z_RangeEnc, Cache) - 4usize];
223    ["Offset of field: CPpmd7z_RangeEnc::Low"]
224        [::std::mem::offset_of!(CPpmd7z_RangeEnc, Low) - 8usize];
225    ["Offset of field: CPpmd7z_RangeEnc::CacheSize"]
226        [::std::mem::offset_of!(CPpmd7z_RangeEnc, CacheSize) - 16usize];
227    ["Offset of field: CPpmd7z_RangeEnc::Stream"]
228        [::std::mem::offset_of!(CPpmd7z_RangeEnc, Stream) - 24usize];
229};
230#[repr(C)]
231#[derive(Copy, Clone)]
232pub struct CPpmd7 {
233    pub MinContext: *mut CPpmd7_Context,
234    pub MaxContext: *mut CPpmd7_Context,
235    pub FoundState: *mut CPpmd_State,
236    pub OrderFall: ::std::os::raw::c_uint,
237    pub InitEsc: ::std::os::raw::c_uint,
238    pub PrevSuccess: ::std::os::raw::c_uint,
239    pub MaxOrder: ::std::os::raw::c_uint,
240    pub HiBitsFlag: ::std::os::raw::c_uint,
241    pub RunLength: Int32,
242    pub InitRL: Int32,
243    pub Size: UInt32,
244    pub GlueCount: UInt32,
245    pub AlignOffset: UInt32,
246    pub Base: *mut Byte,
247    pub LoUnit: *mut Byte,
248    pub HiUnit: *mut Byte,
249    pub Text: *mut Byte,
250    pub UnitsStart: *mut Byte,
251    pub rc: CPpmd7__bindgen_ty_1,
252    pub Indx2Units: [Byte; 40usize],
253    pub Units2Indx: [Byte; 128usize],
254    pub FreeList: [CPpmd_Void_Ref; 38usize],
255    pub NS2BSIndx: [Byte; 256usize],
256    pub NS2Indx: [Byte; 256usize],
257    pub ExpEscape: [Byte; 16usize],
258    pub DummySee: CPpmd_See,
259    pub See: [[CPpmd_See; 16usize]; 25usize],
260    pub BinSumm: [[UInt16; 64usize]; 128usize],
261}
262#[repr(C)]
263#[derive(Copy, Clone)]
264pub union CPpmd7__bindgen_ty_1 {
265    pub dec: CPpmd7_RangeDec,
266    pub enc: CPpmd7z_RangeEnc,
267}
268#[allow(clippy::unnecessary_operation, clippy::identity_op)]
269const _: () = {
270    ["Size of CPpmd7__bindgen_ty_1"][::std::mem::size_of::<CPpmd7__bindgen_ty_1>() - 32usize];
271    ["Alignment of CPpmd7__bindgen_ty_1"][::std::mem::align_of::<CPpmd7__bindgen_ty_1>() - 8usize];
272    ["Offset of field: CPpmd7__bindgen_ty_1::dec"]
273        [::std::mem::offset_of!(CPpmd7__bindgen_ty_1, dec) - 0usize];
274    ["Offset of field: CPpmd7__bindgen_ty_1::enc"]
275        [::std::mem::offset_of!(CPpmd7__bindgen_ty_1, enc) - 0usize];
276};
277#[allow(clippy::unnecessary_operation, clippy::identity_op)]
278const _: () = {
279    ["Size of CPpmd7"][::std::mem::size_of::<CPpmd7>() - 18976usize];
280    ["Alignment of CPpmd7"][::std::mem::align_of::<CPpmd7>() - 8usize];
281    ["Offset of field: CPpmd7::MinContext"][::std::mem::offset_of!(CPpmd7, MinContext) - 0usize];
282    ["Offset of field: CPpmd7::MaxContext"][::std::mem::offset_of!(CPpmd7, MaxContext) - 8usize];
283    ["Offset of field: CPpmd7::FoundState"][::std::mem::offset_of!(CPpmd7, FoundState) - 16usize];
284    ["Offset of field: CPpmd7::OrderFall"][::std::mem::offset_of!(CPpmd7, OrderFall) - 24usize];
285    ["Offset of field: CPpmd7::InitEsc"][::std::mem::offset_of!(CPpmd7, InitEsc) - 28usize];
286    ["Offset of field: CPpmd7::PrevSuccess"][::std::mem::offset_of!(CPpmd7, PrevSuccess) - 32usize];
287    ["Offset of field: CPpmd7::MaxOrder"][::std::mem::offset_of!(CPpmd7, MaxOrder) - 36usize];
288    ["Offset of field: CPpmd7::HiBitsFlag"][::std::mem::offset_of!(CPpmd7, HiBitsFlag) - 40usize];
289    ["Offset of field: CPpmd7::RunLength"][::std::mem::offset_of!(CPpmd7, RunLength) - 44usize];
290    ["Offset of field: CPpmd7::InitRL"][::std::mem::offset_of!(CPpmd7, InitRL) - 48usize];
291    ["Offset of field: CPpmd7::Size"][::std::mem::offset_of!(CPpmd7, Size) - 52usize];
292    ["Offset of field: CPpmd7::GlueCount"][::std::mem::offset_of!(CPpmd7, GlueCount) - 56usize];
293    ["Offset of field: CPpmd7::AlignOffset"][::std::mem::offset_of!(CPpmd7, AlignOffset) - 60usize];
294    ["Offset of field: CPpmd7::Base"][::std::mem::offset_of!(CPpmd7, Base) - 64usize];
295    ["Offset of field: CPpmd7::LoUnit"][::std::mem::offset_of!(CPpmd7, LoUnit) - 72usize];
296    ["Offset of field: CPpmd7::HiUnit"][::std::mem::offset_of!(CPpmd7, HiUnit) - 80usize];
297    ["Offset of field: CPpmd7::Text"][::std::mem::offset_of!(CPpmd7, Text) - 88usize];
298    ["Offset of field: CPpmd7::UnitsStart"][::std::mem::offset_of!(CPpmd7, UnitsStart) - 96usize];
299    ["Offset of field: CPpmd7::rc"][::std::mem::offset_of!(CPpmd7, rc) - 104usize];
300    ["Offset of field: CPpmd7::Indx2Units"][::std::mem::offset_of!(CPpmd7, Indx2Units) - 136usize];
301    ["Offset of field: CPpmd7::Units2Indx"][::std::mem::offset_of!(CPpmd7, Units2Indx) - 176usize];
302    ["Offset of field: CPpmd7::FreeList"][::std::mem::offset_of!(CPpmd7, FreeList) - 304usize];
303    ["Offset of field: CPpmd7::NS2BSIndx"][::std::mem::offset_of!(CPpmd7, NS2BSIndx) - 456usize];
304    ["Offset of field: CPpmd7::NS2Indx"][::std::mem::offset_of!(CPpmd7, NS2Indx) - 712usize];
305    ["Offset of field: CPpmd7::ExpEscape"][::std::mem::offset_of!(CPpmd7, ExpEscape) - 968usize];
306    ["Offset of field: CPpmd7::DummySee"][::std::mem::offset_of!(CPpmd7, DummySee) - 984usize];
307    ["Offset of field: CPpmd7::See"][::std::mem::offset_of!(CPpmd7, See) - 988usize];
308    ["Offset of field: CPpmd7::BinSumm"][::std::mem::offset_of!(CPpmd7, BinSumm) - 2588usize];
309};
310unsafe extern "C" {
311    pub fn Ppmd7_Construct(p: *mut CPpmd7);
312}
313unsafe extern "C" {
314    pub fn Ppmd7_Alloc(p: *mut CPpmd7, size: UInt32, alloc: ISzAllocPtr) -> BoolInt;
315}
316unsafe extern "C" {
317    pub fn Ppmd7_Free(p: *mut CPpmd7, alloc: ISzAllocPtr);
318}
319unsafe extern "C" {
320    pub fn Ppmd7_Init(p: *mut CPpmd7, maxOrder: ::std::os::raw::c_uint);
321}
322unsafe extern "C" {
323    pub fn Ppmd7_Update1(p: *mut CPpmd7);
324}
325unsafe extern "C" {
326    pub fn Ppmd7_Update1_0(p: *mut CPpmd7);
327}
328unsafe extern "C" {
329    pub fn Ppmd7_Update2(p: *mut CPpmd7);
330}
331unsafe extern "C" {
332    pub fn Ppmd7_MakeEscFreq(
333        p: *mut CPpmd7,
334        numMasked: ::std::os::raw::c_uint,
335        scale: *mut UInt32,
336    ) -> *mut CPpmd_See;
337}
338unsafe extern "C" {
339    pub fn Ppmd7a_RangeDec_Init(p: *mut CPpmd7_RangeDec) -> BoolInt;
340}
341unsafe extern "C" {
342    pub fn Ppmd7a_DecodeSymbol(p: *mut CPpmd7) -> ::std::os::raw::c_int;
343}
344unsafe extern "C" {
345    pub fn Ppmd7z_RangeDec_Init(p: *mut CPpmd7_RangeDec) -> BoolInt;
346}
347unsafe extern "C" {
348    pub fn Ppmd7z_DecodeSymbol(p: *mut CPpmd7) -> ::std::os::raw::c_int;
349}
350unsafe extern "C" {
351    pub fn Ppmd7z_Init_RangeEnc(p: *mut CPpmd7);
352}
353unsafe extern "C" {
354    pub fn Ppmd7z_Flush_RangeEnc(p: *mut CPpmd7);
355}
356unsafe extern "C" {
357    pub fn Ppmd7z_EncodeSymbols(p: *mut CPpmd7, buf: *const Byte, lim: *const Byte);
358}
359pub type CPpmd8_Context_Ref = UInt32;
360#[repr(C)]
361#[derive(Copy, Clone)]
362pub struct CPpmd8_Context_ {
363    pub NumStats: Byte,
364    pub Flags: Byte,
365    pub Union2: CPpmd8_Context___bindgen_ty_1,
366    pub Union4: CPpmd8_Context___bindgen_ty_2,
367    pub Suffix: CPpmd8_Context_Ref,
368}
369#[repr(C)]
370#[derive(Copy, Clone)]
371pub union CPpmd8_Context___bindgen_ty_1 {
372    pub SummFreq: UInt16,
373    pub State2: CPpmd_State2,
374}
375#[allow(clippy::unnecessary_operation, clippy::identity_op)]
376const _: () = {
377    ["Size of CPpmd8_Context___bindgen_ty_1"]
378        [::std::mem::size_of::<CPpmd8_Context___bindgen_ty_1>() - 2usize];
379    ["Alignment of CPpmd8_Context___bindgen_ty_1"]
380        [::std::mem::align_of::<CPpmd8_Context___bindgen_ty_1>() - 2usize];
381    ["Offset of field: CPpmd8_Context___bindgen_ty_1::SummFreq"]
382        [::std::mem::offset_of!(CPpmd8_Context___bindgen_ty_1, SummFreq) - 0usize];
383    ["Offset of field: CPpmd8_Context___bindgen_ty_1::State2"]
384        [::std::mem::offset_of!(CPpmd8_Context___bindgen_ty_1, State2) - 0usize];
385};
386#[repr(C)]
387#[derive(Copy, Clone)]
388pub union CPpmd8_Context___bindgen_ty_2 {
389    pub Stats: CPpmd_State_Ref,
390    pub State4: CPpmd_State4,
391}
392#[allow(clippy::unnecessary_operation, clippy::identity_op)]
393const _: () = {
394    ["Size of CPpmd8_Context___bindgen_ty_2"]
395        [::std::mem::size_of::<CPpmd8_Context___bindgen_ty_2>() - 4usize];
396    ["Alignment of CPpmd8_Context___bindgen_ty_2"]
397        [::std::mem::align_of::<CPpmd8_Context___bindgen_ty_2>() - 4usize];
398    ["Offset of field: CPpmd8_Context___bindgen_ty_2::Stats"]
399        [::std::mem::offset_of!(CPpmd8_Context___bindgen_ty_2, Stats) - 0usize];
400    ["Offset of field: CPpmd8_Context___bindgen_ty_2::State4"]
401        [::std::mem::offset_of!(CPpmd8_Context___bindgen_ty_2, State4) - 0usize];
402};
403#[allow(clippy::unnecessary_operation, clippy::identity_op)]
404const _: () = {
405    ["Size of CPpmd8_Context_"][::std::mem::size_of::<CPpmd8_Context_>() - 12usize];
406    ["Alignment of CPpmd8_Context_"][::std::mem::align_of::<CPpmd8_Context_>() - 4usize];
407    ["Offset of field: CPpmd8_Context_::NumStats"]
408        [::std::mem::offset_of!(CPpmd8_Context_, NumStats) - 0usize];
409    ["Offset of field: CPpmd8_Context_::Flags"]
410        [::std::mem::offset_of!(CPpmd8_Context_, Flags) - 1usize];
411    ["Offset of field: CPpmd8_Context_::Union2"]
412        [::std::mem::offset_of!(CPpmd8_Context_, Union2) - 2usize];
413    ["Offset of field: CPpmd8_Context_::Union4"]
414        [::std::mem::offset_of!(CPpmd8_Context_, Union4) - 4usize];
415    ["Offset of field: CPpmd8_Context_::Suffix"]
416        [::std::mem::offset_of!(CPpmd8_Context_, Suffix) - 8usize];
417};
418pub type CPpmd8_Context = CPpmd8_Context_;
419pub const PPMD8_RESTORE_METHOD_RESTART: _bindgen_ty_1 = 0;
420pub const PPMD8_RESTORE_METHOD_CUT_OFF: _bindgen_ty_1 = 1;
421pub const PPMD8_RESTORE_METHOD_UNSUPPPORTED: _bindgen_ty_1 = 2;
422pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
423#[repr(C)]
424#[derive(Copy, Clone)]
425pub struct CPpmd8 {
426    pub MinContext: *mut CPpmd8_Context,
427    pub MaxContext: *mut CPpmd8_Context,
428    pub FoundState: *mut CPpmd_State,
429    pub OrderFall: ::std::os::raw::c_uint,
430    pub InitEsc: ::std::os::raw::c_uint,
431    pub PrevSuccess: ::std::os::raw::c_uint,
432    pub MaxOrder: ::std::os::raw::c_uint,
433    pub RestoreMethod: ::std::os::raw::c_uint,
434    pub RunLength: Int32,
435    pub InitRL: Int32,
436    pub Size: UInt32,
437    pub GlueCount: UInt32,
438    pub AlignOffset: UInt32,
439    pub Base: *mut Byte,
440    pub LoUnit: *mut Byte,
441    pub HiUnit: *mut Byte,
442    pub Text: *mut Byte,
443    pub UnitsStart: *mut Byte,
444    pub Range: UInt32,
445    pub Code: UInt32,
446    pub Low: UInt32,
447    pub Stream: CPpmd8__bindgen_ty_1,
448    pub Indx2Units: [Byte; 40usize],
449    pub Units2Indx: [Byte; 128usize],
450    pub FreeList: [CPpmd_Void_Ref; 38usize],
451    pub Stamps: [UInt32; 38usize],
452    pub NS2BSIndx: [Byte; 256usize],
453    pub NS2Indx: [Byte; 260usize],
454    pub ExpEscape: [Byte; 16usize],
455    pub DummySee: CPpmd_See,
456    pub See: [[CPpmd_See; 32usize]; 24usize],
457    pub BinSumm: [[UInt16; 64usize]; 25usize],
458}
459#[repr(C)]
460#[derive(Copy, Clone)]
461pub union CPpmd8__bindgen_ty_1 {
462    pub In: IByteInPtr,
463    pub Out: IByteOutPtr,
464}
465#[allow(clippy::unnecessary_operation, clippy::identity_op)]
466const _: () = {
467    ["Size of CPpmd8__bindgen_ty_1"][::std::mem::size_of::<CPpmd8__bindgen_ty_1>() - 8usize];
468    ["Alignment of CPpmd8__bindgen_ty_1"][::std::mem::align_of::<CPpmd8__bindgen_ty_1>() - 8usize];
469    ["Offset of field: CPpmd8__bindgen_ty_1::In"]
470        [::std::mem::offset_of!(CPpmd8__bindgen_ty_1, In) - 0usize];
471    ["Offset of field: CPpmd8__bindgen_ty_1::Out"]
472        [::std::mem::offset_of!(CPpmd8__bindgen_ty_1, Out) - 0usize];
473};
474#[allow(clippy::unnecessary_operation, clippy::identity_op)]
475const _: () = {
476    ["Size of CPpmd8"][::std::mem::size_of::<CPpmd8>() - 7408usize];
477    ["Alignment of CPpmd8"][::std::mem::align_of::<CPpmd8>() - 8usize];
478    ["Offset of field: CPpmd8::MinContext"][::std::mem::offset_of!(CPpmd8, MinContext) - 0usize];
479    ["Offset of field: CPpmd8::MaxContext"][::std::mem::offset_of!(CPpmd8, MaxContext) - 8usize];
480    ["Offset of field: CPpmd8::FoundState"][::std::mem::offset_of!(CPpmd8, FoundState) - 16usize];
481    ["Offset of field: CPpmd8::OrderFall"][::std::mem::offset_of!(CPpmd8, OrderFall) - 24usize];
482    ["Offset of field: CPpmd8::InitEsc"][::std::mem::offset_of!(CPpmd8, InitEsc) - 28usize];
483    ["Offset of field: CPpmd8::PrevSuccess"][::std::mem::offset_of!(CPpmd8, PrevSuccess) - 32usize];
484    ["Offset of field: CPpmd8::MaxOrder"][::std::mem::offset_of!(CPpmd8, MaxOrder) - 36usize];
485    ["Offset of field: CPpmd8::RestoreMethod"]
486        [::std::mem::offset_of!(CPpmd8, RestoreMethod) - 40usize];
487    ["Offset of field: CPpmd8::RunLength"][::std::mem::offset_of!(CPpmd8, RunLength) - 44usize];
488    ["Offset of field: CPpmd8::InitRL"][::std::mem::offset_of!(CPpmd8, InitRL) - 48usize];
489    ["Offset of field: CPpmd8::Size"][::std::mem::offset_of!(CPpmd8, Size) - 52usize];
490    ["Offset of field: CPpmd8::GlueCount"][::std::mem::offset_of!(CPpmd8, GlueCount) - 56usize];
491    ["Offset of field: CPpmd8::AlignOffset"][::std::mem::offset_of!(CPpmd8, AlignOffset) - 60usize];
492    ["Offset of field: CPpmd8::Base"][::std::mem::offset_of!(CPpmd8, Base) - 64usize];
493    ["Offset of field: CPpmd8::LoUnit"][::std::mem::offset_of!(CPpmd8, LoUnit) - 72usize];
494    ["Offset of field: CPpmd8::HiUnit"][::std::mem::offset_of!(CPpmd8, HiUnit) - 80usize];
495    ["Offset of field: CPpmd8::Text"][::std::mem::offset_of!(CPpmd8, Text) - 88usize];
496    ["Offset of field: CPpmd8::UnitsStart"][::std::mem::offset_of!(CPpmd8, UnitsStart) - 96usize];
497    ["Offset of field: CPpmd8::Range"][::std::mem::offset_of!(CPpmd8, Range) - 104usize];
498    ["Offset of field: CPpmd8::Code"][::std::mem::offset_of!(CPpmd8, Code) - 108usize];
499    ["Offset of field: CPpmd8::Low"][::std::mem::offset_of!(CPpmd8, Low) - 112usize];
500    ["Offset of field: CPpmd8::Stream"][::std::mem::offset_of!(CPpmd8, Stream) - 120usize];
501    ["Offset of field: CPpmd8::Indx2Units"][::std::mem::offset_of!(CPpmd8, Indx2Units) - 128usize];
502    ["Offset of field: CPpmd8::Units2Indx"][::std::mem::offset_of!(CPpmd8, Units2Indx) - 168usize];
503    ["Offset of field: CPpmd8::FreeList"][::std::mem::offset_of!(CPpmd8, FreeList) - 296usize];
504    ["Offset of field: CPpmd8::Stamps"][::std::mem::offset_of!(CPpmd8, Stamps) - 448usize];
505    ["Offset of field: CPpmd8::NS2BSIndx"][::std::mem::offset_of!(CPpmd8, NS2BSIndx) - 600usize];
506    ["Offset of field: CPpmd8::NS2Indx"][::std::mem::offset_of!(CPpmd8, NS2Indx) - 856usize];
507    ["Offset of field: CPpmd8::ExpEscape"][::std::mem::offset_of!(CPpmd8, ExpEscape) - 1116usize];
508    ["Offset of field: CPpmd8::DummySee"][::std::mem::offset_of!(CPpmd8, DummySee) - 1132usize];
509    ["Offset of field: CPpmd8::See"][::std::mem::offset_of!(CPpmd8, See) - 1136usize];
510    ["Offset of field: CPpmd8::BinSumm"][::std::mem::offset_of!(CPpmd8, BinSumm) - 4208usize];
511};
512unsafe extern "C" {
513    pub fn Ppmd8_Construct(p: *mut CPpmd8);
514}
515unsafe extern "C" {
516    pub fn Ppmd8_Alloc(p: *mut CPpmd8, size: UInt32, alloc: ISzAllocPtr) -> BoolInt;
517}
518unsafe extern "C" {
519    pub fn Ppmd8_Free(p: *mut CPpmd8, alloc: ISzAllocPtr);
520}
521unsafe extern "C" {
522    pub fn Ppmd8_Init(
523        p: *mut CPpmd8,
524        maxOrder: ::std::os::raw::c_uint,
525        restoreMethod: ::std::os::raw::c_uint,
526    );
527}
528unsafe extern "C" {
529    pub fn Ppmd8_Update1(p: *mut CPpmd8);
530}
531unsafe extern "C" {
532    pub fn Ppmd8_Update1_0(p: *mut CPpmd8);
533}
534unsafe extern "C" {
535    pub fn Ppmd8_Update2(p: *mut CPpmd8);
536}
537unsafe extern "C" {
538    pub fn Ppmd8_MakeEscFreq(
539        p: *mut CPpmd8,
540        numMasked: ::std::os::raw::c_uint,
541        scale: *mut UInt32,
542    ) -> *mut CPpmd_See;
543}
544unsafe extern "C" {
545    pub fn Ppmd8_Init_RangeDec(p: *mut CPpmd8) -> BoolInt;
546}
547unsafe extern "C" {
548    pub fn Ppmd8_DecodeSymbol(p: *mut CPpmd8) -> ::std::os::raw::c_int;
549}
550unsafe extern "C" {
551    pub fn Ppmd8_Flush_RangeEnc(p: *mut CPpmd8);
552}
553unsafe extern "C" {
554    pub fn Ppmd8_EncodeSymbol(p: *mut CPpmd8, symbol: ::std::os::raw::c_int);
555}