1pub const _ERRNO_H: u32 = 1;
4pub const _FEATURES_H: u32 = 1;
5pub const _DEFAULT_SOURCE: u32 = 1;
6pub const __GLIBC_USE_ISOC23: u32 = 0;
7pub const __USE_ISOC11: u32 = 1;
8pub const __USE_ISOC99: u32 = 1;
9pub const __USE_ISOC95: u32 = 1;
10pub const __USE_POSIX_IMPLICITLY: u32 = 1;
11pub const _POSIX_SOURCE: u32 = 1;
12pub const _POSIX_C_SOURCE: u32 = 200809;
13pub const __USE_POSIX: u32 = 1;
14pub const __USE_POSIX2: u32 = 1;
15pub const __USE_POSIX199309: u32 = 1;
16pub const __USE_POSIX199506: u32 = 1;
17pub const __USE_XOPEN2K: u32 = 1;
18pub const __USE_XOPEN2K8: u32 = 1;
19pub const _ATFILE_SOURCE: u32 = 1;
20pub const __USE_LARGEFILE: u32 = 1;
21pub const __USE_FILE_OFFSET64: u32 = 1;
22pub const __WORDSIZE: u32 = 64;
23pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
24pub const __SYSCALL_WORDSIZE: u32 = 64;
25pub const __TIMESIZE: u32 = 64;
26pub const __USE_TIME_BITS64: u32 = 1;
27pub const __USE_MISC: u32 = 1;
28pub const __USE_ATFILE: u32 = 1;
29pub const __USE_FORTIFY_LEVEL: u32 = 0;
30pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
31pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
32pub const __GLIBC_USE_C23_STRTOL: u32 = 0;
33pub const _STDC_PREDEF_H: u32 = 1;
34pub const __STDC_IEC_559__: u32 = 1;
35pub const __STDC_IEC_60559_BFP__: u32 = 201404;
36pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
37pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
38pub const __STDC_ISO_10646__: u32 = 201706;
39pub const __GNU_LIBRARY__: u32 = 6;
40pub const __GLIBC__: u32 = 2;
41pub const __GLIBC_MINOR__: u32 = 40;
42pub const _SYS_CDEFS_H: u32 = 1;
43pub const __glibc_c99_flexarr_available: u32 = 1;
44pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
45pub const __HAVE_GENERIC_SELECTION: u32 = 1;
46pub const _BITS_ERRNO_H: u32 = 1;
47pub const EPERM: u32 = 1;
48pub const ENOENT: u32 = 2;
49pub const ESRCH: u32 = 3;
50pub const EINTR: u32 = 4;
51pub const EIO: u32 = 5;
52pub const ENXIO: u32 = 6;
53pub const E2BIG: u32 = 7;
54pub const ENOEXEC: u32 = 8;
55pub const EBADF: u32 = 9;
56pub const ECHILD: u32 = 10;
57pub const EAGAIN: u32 = 11;
58pub const ENOMEM: u32 = 12;
59pub const EACCES: u32 = 13;
60pub const EFAULT: u32 = 14;
61pub const ENOTBLK: u32 = 15;
62pub const EBUSY: u32 = 16;
63pub const EEXIST: u32 = 17;
64pub const EXDEV: u32 = 18;
65pub const ENODEV: u32 = 19;
66pub const ENOTDIR: u32 = 20;
67pub const EISDIR: u32 = 21;
68pub const EINVAL: u32 = 22;
69pub const ENFILE: u32 = 23;
70pub const EMFILE: u32 = 24;
71pub const ENOTTY: u32 = 25;
72pub const ETXTBSY: u32 = 26;
73pub const EFBIG: u32 = 27;
74pub const ENOSPC: u32 = 28;
75pub const ESPIPE: u32 = 29;
76pub const EROFS: u32 = 30;
77pub const EMLINK: u32 = 31;
78pub const EPIPE: u32 = 32;
79pub const EDOM: u32 = 33;
80pub const ERANGE: u32 = 34;
81pub const EDEADLK: u32 = 35;
82pub const ENAMETOOLONG: u32 = 36;
83pub const ENOLCK: u32 = 37;
84pub const ENOSYS: u32 = 38;
85pub const ENOTEMPTY: u32 = 39;
86pub const ELOOP: u32 = 40;
87pub const EWOULDBLOCK: u32 = 11;
88pub const ENOMSG: u32 = 42;
89pub const EIDRM: u32 = 43;
90pub const ECHRNG: u32 = 44;
91pub const EL2NSYNC: u32 = 45;
92pub const EL3HLT: u32 = 46;
93pub const EL3RST: u32 = 47;
94pub const ELNRNG: u32 = 48;
95pub const EUNATCH: u32 = 49;
96pub const ENOCSI: u32 = 50;
97pub const EL2HLT: u32 = 51;
98pub const EBADE: u32 = 52;
99pub const EBADR: u32 = 53;
100pub const EXFULL: u32 = 54;
101pub const ENOANO: u32 = 55;
102pub const EBADRQC: u32 = 56;
103pub const EBADSLT: u32 = 57;
104pub const EDEADLOCK: u32 = 35;
105pub const EBFONT: u32 = 59;
106pub const ENOSTR: u32 = 60;
107pub const ENODATA: u32 = 61;
108pub const ETIME: u32 = 62;
109pub const ENOSR: u32 = 63;
110pub const ENONET: u32 = 64;
111pub const ENOPKG: u32 = 65;
112pub const EREMOTE: u32 = 66;
113pub const ENOLINK: u32 = 67;
114pub const EADV: u32 = 68;
115pub const ESRMNT: u32 = 69;
116pub const ECOMM: u32 = 70;
117pub const EPROTO: u32 = 71;
118pub const EMULTIHOP: u32 = 72;
119pub const EDOTDOT: u32 = 73;
120pub const EBADMSG: u32 = 74;
121pub const EOVERFLOW: u32 = 75;
122pub const ENOTUNIQ: u32 = 76;
123pub const EBADFD: u32 = 77;
124pub const EREMCHG: u32 = 78;
125pub const ELIBACC: u32 = 79;
126pub const ELIBBAD: u32 = 80;
127pub const ELIBSCN: u32 = 81;
128pub const ELIBMAX: u32 = 82;
129pub const ELIBEXEC: u32 = 83;
130pub const EILSEQ: u32 = 84;
131pub const ERESTART: u32 = 85;
132pub const ESTRPIPE: u32 = 86;
133pub const EUSERS: u32 = 87;
134pub const ENOTSOCK: u32 = 88;
135pub const EDESTADDRREQ: u32 = 89;
136pub const EMSGSIZE: u32 = 90;
137pub const EPROTOTYPE: u32 = 91;
138pub const ENOPROTOOPT: u32 = 92;
139pub const EPROTONOSUPPORT: u32 = 93;
140pub const ESOCKTNOSUPPORT: u32 = 94;
141pub const EOPNOTSUPP: u32 = 95;
142pub const EPFNOSUPPORT: u32 = 96;
143pub const EAFNOSUPPORT: u32 = 97;
144pub const EADDRINUSE: u32 = 98;
145pub const EADDRNOTAVAIL: u32 = 99;
146pub const ENETDOWN: u32 = 100;
147pub const ENETUNREACH: u32 = 101;
148pub const ENETRESET: u32 = 102;
149pub const ECONNABORTED: u32 = 103;
150pub const ECONNRESET: u32 = 104;
151pub const ENOBUFS: u32 = 105;
152pub const EISCONN: u32 = 106;
153pub const ENOTCONN: u32 = 107;
154pub const ESHUTDOWN: u32 = 108;
155pub const ETOOMANYREFS: u32 = 109;
156pub const ETIMEDOUT: u32 = 110;
157pub const ECONNREFUSED: u32 = 111;
158pub const EHOSTDOWN: u32 = 112;
159pub const EHOSTUNREACH: u32 = 113;
160pub const EALREADY: u32 = 114;
161pub const EINPROGRESS: u32 = 115;
162pub const ESTALE: u32 = 116;
163pub const EUCLEAN: u32 = 117;
164pub const ENOTNAM: u32 = 118;
165pub const ENAVAIL: u32 = 119;
166pub const EISNAM: u32 = 120;
167pub const EREMOTEIO: u32 = 121;
168pub const EDQUOT: u32 = 122;
169pub const ENOMEDIUM: u32 = 123;
170pub const EMEDIUMTYPE: u32 = 124;
171pub const ECANCELED: u32 = 125;
172pub const ENOKEY: u32 = 126;
173pub const EKEYEXPIRED: u32 = 127;
174pub const EKEYREVOKED: u32 = 128;
175pub const EKEYREJECTED: u32 = 129;
176pub const EOWNERDEAD: u32 = 130;
177pub const ENOTRECOVERABLE: u32 = 131;
178pub const ERFKILL: u32 = 132;
179pub const EHWPOISON: u32 = 133;
180pub const ENOTSUP: u32 = 95;
181pub const SZ_OK: u32 = 0;
182pub const SZ_ERROR_DATA: u32 = 1;
183pub const SZ_ERROR_MEM: u32 = 2;
184pub const SZ_ERROR_CRC: u32 = 3;
185pub const SZ_ERROR_UNSUPPORTED: u32 = 4;
186pub const SZ_ERROR_PARAM: u32 = 5;
187pub const SZ_ERROR_INPUT_EOF: u32 = 6;
188pub const SZ_ERROR_OUTPUT_EOF: u32 = 7;
189pub const SZ_ERROR_READ: u32 = 8;
190pub const SZ_ERROR_WRITE: u32 = 9;
191pub const SZ_ERROR_PROGRESS: u32 = 10;
192pub const SZ_ERROR_FAIL: u32 = 11;
193pub const SZ_ERROR_THREAD: u32 = 12;
194pub const SZ_ERROR_ARCHIVE: u32 = 16;
195pub const SZ_ERROR_NO_ARCHIVE: u32 = 17;
196pub const MY_FACILITY_ERRNO: u32 = 2048;
197pub const MY_FACILITY_WIN32: u32 = 7;
198pub const MY_FACILITY_WRes: u32 = 2048;
199pub const ERROR_INVALID_PARAMETER: u32 = 22;
200pub const ERROR_INVALID_FUNCTION: u32 = 22;
201pub const ERROR_ALREADY_EXISTS: u32 = 17;
202pub const ERROR_FILE_EXISTS: u32 = 17;
203pub const ERROR_PATH_NOT_FOUND: u32 = 2;
204pub const ERROR_FILE_NOT_FOUND: u32 = 2;
205pub const ERROR_DISK_FULL: u32 = 28;
206pub const FILE_ATTRIBUTE_READONLY: u32 = 1;
207pub const FILE_ATTRIBUTE_HIDDEN: u32 = 2;
208pub const FILE_ATTRIBUTE_SYSTEM: u32 = 4;
209pub const FILE_ATTRIBUTE_DIRECTORY: u32 = 16;
210pub const FILE_ATTRIBUTE_ARCHIVE: u32 = 32;
211pub const FILE_ATTRIBUTE_DEVICE: u32 = 64;
212pub const FILE_ATTRIBUTE_NORMAL: u32 = 128;
213pub const FILE_ATTRIBUTE_TEMPORARY: u32 = 256;
214pub const FILE_ATTRIBUTE_SPARSE_FILE: u32 = 512;
215pub const FILE_ATTRIBUTE_REPARSE_POINT: u32 = 1024;
216pub const FILE_ATTRIBUTE_COMPRESSED: u32 = 2048;
217pub const FILE_ATTRIBUTE_OFFLINE: u32 = 4096;
218pub const FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: u32 = 8192;
219pub const FILE_ATTRIBUTE_ENCRYPTED: u32 = 16384;
220pub const FILE_ATTRIBUTE_UNIX_EXTENSION: u32 = 32768;
221pub const _STDINT_H: u32 = 1;
222pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
223pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
224pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23: u32 = 0;
225pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
226pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
227pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23: u32 = 0;
228pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
229pub const _BITS_TYPES_H: u32 = 1;
230pub const _BITS_TYPESIZES_H: u32 = 1;
231pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
232pub const __INO_T_MATCHES_INO64_T: u32 = 1;
233pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
234pub const __STATFS_MATCHES_STATFS64: u32 = 1;
235pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
236pub const __FD_SETSIZE: u32 = 1024;
237pub const _BITS_TIME64_H: u32 = 1;
238pub const _BITS_WCHAR_H: u32 = 1;
239pub const _BITS_STDINT_INTN_H: u32 = 1;
240pub const _BITS_STDINT_UINTN_H: u32 = 1;
241pub const _BITS_STDINT_LEAST_H: u32 = 1;
242pub const INT8_MIN: i32 = -128;
243pub const INT16_MIN: i32 = -32768;
244pub const INT32_MIN: i32 = -2147483648;
245pub const INT8_MAX: u32 = 127;
246pub const INT16_MAX: u32 = 32767;
247pub const INT32_MAX: u32 = 2147483647;
248pub const UINT8_MAX: u32 = 255;
249pub const UINT16_MAX: u32 = 65535;
250pub const UINT32_MAX: u32 = 4294967295;
251pub const INT_LEAST8_MIN: i32 = -128;
252pub const INT_LEAST16_MIN: i32 = -32768;
253pub const INT_LEAST32_MIN: i32 = -2147483648;
254pub const INT_LEAST8_MAX: u32 = 127;
255pub const INT_LEAST16_MAX: u32 = 32767;
256pub const INT_LEAST32_MAX: u32 = 2147483647;
257pub const UINT_LEAST8_MAX: u32 = 255;
258pub const UINT_LEAST16_MAX: u32 = 65535;
259pub const UINT_LEAST32_MAX: u32 = 4294967295;
260pub const INT_FAST8_MIN: i32 = -128;
261pub const INT_FAST16_MIN: i64 = -9223372036854775808;
262pub const INT_FAST32_MIN: i64 = -9223372036854775808;
263pub const INT_FAST8_MAX: u32 = 127;
264pub const INT_FAST16_MAX: u64 = 9223372036854775807;
265pub const INT_FAST32_MAX: u64 = 9223372036854775807;
266pub const UINT_FAST8_MAX: u32 = 255;
267pub const UINT_FAST16_MAX: i32 = -1;
268pub const UINT_FAST32_MAX: i32 = -1;
269pub const INTPTR_MIN: i64 = -9223372036854775808;
270pub const INTPTR_MAX: u64 = 9223372036854775807;
271pub const UINTPTR_MAX: i32 = -1;
272pub const PTRDIFF_MIN: i64 = -9223372036854775808;
273pub const PTRDIFF_MAX: u64 = 9223372036854775807;
274pub const SIG_ATOMIC_MIN: i32 = -2147483648;
275pub const SIG_ATOMIC_MAX: u32 = 2147483647;
276pub const SIZE_MAX: i32 = -1;
277pub const WINT_MIN: u32 = 0;
278pub const WINT_MAX: u32 = 4294967295;
279pub const True: u32 = 1;
280pub const False: u32 = 0;
281pub const CHAR_PATH_SEPARATOR: u8 = 47u8;
282pub const WCHAR_PATH_SEPARATOR: u8 = 47u8;
283pub const STRING_PATH_SEPARATOR: &[u8; 2] = b"/\0";
284pub const WSTRING_PATH_SEPARATOR: &[u8; 2] = b"/\0";
285pub const k_PropVar_TimePrec_0: u32 = 0;
286pub const k_PropVar_TimePrec_Unix: u32 = 1;
287pub const k_PropVar_TimePrec_DOS: u32 = 2;
288pub const k_PropVar_TimePrec_HighPrec: u32 = 3;
289pub const k_PropVar_TimePrec_Base: u32 = 16;
290pub const k_PropVar_TimePrec_100ns: u32 = 23;
291pub const k_PropVar_TimePrec_1ns: u32 = 25;
292pub const LZMA_PROPS_SIZE: u32 = 5;
293pub const LZMA_REQUIRED_INPUT_MAX: u32 = 20;
294pub const LZMA2_ENC_PROPS_BLOCK_SIZE_AUTO: u32 = 0;
295pub const _PTHREAD_H: u32 = 1;
296pub const _SCHED_H: u32 = 1;
297pub const __time_t_defined: u32 = 1;
298pub const _STRUCT_TIMESPEC: u32 = 1;
299pub const _BITS_ENDIAN_H: u32 = 1;
300pub const __LITTLE_ENDIAN: u32 = 1234;
301pub const __BIG_ENDIAN: u32 = 4321;
302pub const __PDP_ENDIAN: u32 = 3412;
303pub const _BITS_ENDIANNESS_H: u32 = 1;
304pub const __BYTE_ORDER: u32 = 1234;
305pub const __FLOAT_WORD_ORDER: u32 = 1234;
306pub const _BITS_SCHED_H: u32 = 1;
307pub const SCHED_OTHER: u32 = 0;
308pub const SCHED_FIFO: u32 = 1;
309pub const SCHED_RR: u32 = 2;
310pub const _BITS_TYPES_STRUCT_SCHED_PARAM: u32 = 1;
311pub const _BITS_CPU_SET_H: u32 = 1;
312pub const __CPU_SETSIZE: u32 = 1024;
313pub const _TIME_H: u32 = 1;
314pub const _BITS_TIME_H: u32 = 1;
315pub const CLOCK_REALTIME: u32 = 0;
316pub const CLOCK_MONOTONIC: u32 = 1;
317pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
318pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
319pub const CLOCK_MONOTONIC_RAW: u32 = 4;
320pub const CLOCK_REALTIME_COARSE: u32 = 5;
321pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
322pub const CLOCK_BOOTTIME: u32 = 7;
323pub const CLOCK_REALTIME_ALARM: u32 = 8;
324pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
325pub const CLOCK_TAI: u32 = 11;
326pub const TIMER_ABSTIME: u32 = 1;
327pub const __clock_t_defined: u32 = 1;
328pub const __struct_tm_defined: u32 = 1;
329pub const __clockid_t_defined: u32 = 1;
330pub const __timer_t_defined: u32 = 1;
331pub const __itimerspec_defined: u32 = 1;
332pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
333pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
334pub const TIME_UTC: u32 = 1;
335pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
336pub const _THREAD_SHARED_TYPES_H: u32 = 1;
337pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
338pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
339pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
340pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
341pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
342pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
343pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
344pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
345pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
346pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
347pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
348pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
349pub const __have_pthread_attr_t: u32 = 1;
350pub const _BITS_SETJMP_H: u32 = 1;
351pub const __jmp_buf_tag_defined: u32 = 1;
352pub const PTHREAD_STACK_MIN: u32 = 16384;
353pub const PTHREAD_ONCE_INIT: u32 = 0;
354pub const PTHREAD_BARRIER_SERIAL_THREAD: i32 = -1;
355pub const kMtCacheLineDummy: u32 = 128;
356pub const MY_CPU_NAME: &[u8; 4] = b"x64\0";
357pub const MY_CPU_SIZEOF_POINTER: u32 = 8;
358pub const kEmptyHashValue: u32 = 0;
359pub type Z7_void_Function = ::core::option::Option<unsafe extern "C" fn()>;
360unsafe extern "C" {
361 pub fn __errno_location() -> *mut ::core::ffi::c_int;
362}
363pub type wchar_t = ::core::ffi::c_int;
364#[repr(C)]
365#[repr(align(16))]
366#[derive(Debug, Default, Copy, Clone, PartialOrd, PartialEq)]
367pub struct max_align_t {
368 pub __clang_max_align_nonce1: ::core::ffi::c_longlong,
369 pub __bindgen_padding_0: [u8; 8usize],
370 pub __clang_max_align_nonce2: u128,
371}
372pub type SRes = ::core::ffi::c_int;
373pub type WRes = ::core::ffi::c_int;
374pub type Byte = ::core::ffi::c_uchar;
375pub type Int16 = ::core::ffi::c_short;
376pub type UInt16 = ::core::ffi::c_ushort;
377pub type Int32 = ::core::ffi::c_int;
378pub type UInt32 = ::core::ffi::c_uint;
379pub type INT = ::core::ffi::c_int;
380pub type INT32 = Int32;
381pub type UINT = ::core::ffi::c_uint;
382pub type UINT32 = UInt32;
383pub type LONG = INT32;
384pub type ULONG = UINT32;
385pub type DWORD = UINT32;
386pub type LPVOID = *mut ::core::ffi::c_void;
387pub type INT_PTR = ::core::ffi::c_long;
388pub type UINT_PTR = ::core::ffi::c_ulong;
389pub type LONG_PTR = ::core::ffi::c_long;
390pub type DWORD_PTR = ::core::ffi::c_ulong;
391pub type SIZE_T = usize;
392pub type __u_char = ::core::ffi::c_uchar;
393pub type __u_short = ::core::ffi::c_ushort;
394pub type __u_int = ::core::ffi::c_uint;
395pub type __u_long = ::core::ffi::c_ulong;
396pub type __int8_t = ::core::ffi::c_schar;
397pub type __uint8_t = ::core::ffi::c_uchar;
398pub type __int16_t = ::core::ffi::c_short;
399pub type __uint16_t = ::core::ffi::c_ushort;
400pub type __int32_t = ::core::ffi::c_int;
401pub type __uint32_t = ::core::ffi::c_uint;
402pub type __int64_t = ::core::ffi::c_long;
403pub type __uint64_t = ::core::ffi::c_ulong;
404pub type __int_least8_t = __int8_t;
405pub type __uint_least8_t = __uint8_t;
406pub type __int_least16_t = __int16_t;
407pub type __uint_least16_t = __uint16_t;
408pub type __int_least32_t = __int32_t;
409pub type __uint_least32_t = __uint32_t;
410pub type __int_least64_t = __int64_t;
411pub type __uint_least64_t = __uint64_t;
412pub type __quad_t = ::core::ffi::c_long;
413pub type __u_quad_t = ::core::ffi::c_ulong;
414pub type __intmax_t = ::core::ffi::c_long;
415pub type __uintmax_t = ::core::ffi::c_ulong;
416pub type __dev_t = ::core::ffi::c_ulong;
417pub type __uid_t = ::core::ffi::c_uint;
418pub type __gid_t = ::core::ffi::c_uint;
419pub type __ino_t = ::core::ffi::c_ulong;
420pub type __ino64_t = ::core::ffi::c_ulong;
421pub type __mode_t = ::core::ffi::c_uint;
422pub type __nlink_t = ::core::ffi::c_ulong;
423pub type __off_t = ::core::ffi::c_long;
424pub type __off64_t = ::core::ffi::c_long;
425pub type __pid_t = ::core::ffi::c_int;
426#[repr(C)]
427#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
428pub struct __fsid_t {
429 pub __val: [::core::ffi::c_int; 2usize],
430}
431pub type __clock_t = ::core::ffi::c_long;
432pub type __rlim_t = ::core::ffi::c_ulong;
433pub type __rlim64_t = ::core::ffi::c_ulong;
434pub type __id_t = ::core::ffi::c_uint;
435pub type __time_t = ::core::ffi::c_long;
436pub type __useconds_t = ::core::ffi::c_uint;
437pub type __suseconds_t = ::core::ffi::c_long;
438pub type __suseconds64_t = ::core::ffi::c_long;
439pub type __daddr_t = ::core::ffi::c_int;
440pub type __key_t = ::core::ffi::c_int;
441pub type __clockid_t = ::core::ffi::c_int;
442pub type __timer_t = *mut ::core::ffi::c_void;
443pub type __blksize_t = ::core::ffi::c_long;
444pub type __blkcnt_t = ::core::ffi::c_long;
445pub type __blkcnt64_t = ::core::ffi::c_long;
446pub type __fsblkcnt_t = ::core::ffi::c_ulong;
447pub type __fsblkcnt64_t = ::core::ffi::c_ulong;
448pub type __fsfilcnt_t = ::core::ffi::c_ulong;
449pub type __fsfilcnt64_t = ::core::ffi::c_ulong;
450pub type __fsword_t = ::core::ffi::c_long;
451pub type __ssize_t = ::core::ffi::c_long;
452pub type __syscall_slong_t = ::core::ffi::c_long;
453pub type __syscall_ulong_t = ::core::ffi::c_ulong;
454pub type __loff_t = __off64_t;
455pub type __caddr_t = *mut ::core::ffi::c_char;
456pub type __intptr_t = ::core::ffi::c_long;
457pub type __socklen_t = ::core::ffi::c_uint;
458pub type __sig_atomic_t = ::core::ffi::c_int;
459pub type int_least8_t = __int_least8_t;
460pub type int_least16_t = __int_least16_t;
461pub type int_least32_t = __int_least32_t;
462pub type int_least64_t = __int_least64_t;
463pub type uint_least8_t = __uint_least8_t;
464pub type uint_least16_t = __uint_least16_t;
465pub type uint_least32_t = __uint_least32_t;
466pub type uint_least64_t = __uint_least64_t;
467pub type int_fast8_t = ::core::ffi::c_schar;
468pub type int_fast16_t = ::core::ffi::c_long;
469pub type int_fast32_t = ::core::ffi::c_long;
470pub type int_fast64_t = ::core::ffi::c_long;
471pub type uint_fast8_t = ::core::ffi::c_uchar;
472pub type uint_fast16_t = ::core::ffi::c_ulong;
473pub type uint_fast32_t = ::core::ffi::c_ulong;
474pub type uint_fast64_t = ::core::ffi::c_ulong;
475pub type intmax_t = __intmax_t;
476pub type uintmax_t = __uintmax_t;
477pub type Int64 = i64;
478pub type UInt64 = u64;
479pub type SizeT = usize;
480pub type BoolInt = ::core::ffi::c_int;
481pub type IByteInPtr = *const IByteIn_;
482pub type IByteIn = IByteIn_;
483#[repr(C)]
484#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
485pub struct IByteIn_ {
486 pub Read: ::core::option::Option<unsafe extern "C" fn(p: IByteInPtr) -> Byte>,
487}
488pub type IByteOutPtr = *const IByteOut_;
489pub type IByteOut = IByteOut_;
490#[repr(C)]
491#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
492pub struct IByteOut_ {
493 pub Write: ::core::option::Option<unsafe extern "C" fn(p: IByteOutPtr, b: Byte)>,
494}
495pub type ISeqInStreamPtr = *const ISeqInStream_;
496pub type ISeqInStream = ISeqInStream_;
497#[repr(C)]
498#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
499pub struct ISeqInStream_ {
500 pub Read: ::core::option::Option<
501 unsafe extern "C" fn(
502 p: ISeqInStreamPtr,
503 buf: *mut ::core::ffi::c_void,
504 size: *mut usize,
505 ) -> SRes,
506 >,
507}
508unsafe extern "C" {
509 pub fn SeqInStream_ReadMax(
510 stream: ISeqInStreamPtr,
511 buf: *mut ::core::ffi::c_void,
512 processedSize: *mut usize,
513 ) -> SRes;
514}
515unsafe extern "C" {
516 pub fn SeqInStream_ReadByte(stream: ISeqInStreamPtr, buf: *mut Byte) -> SRes;
517}
518pub type ISeqOutStreamPtr = *const ISeqOutStream_;
519pub type ISeqOutStream = ISeqOutStream_;
520#[repr(C)]
521#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
522pub struct ISeqOutStream_ {
523 pub Write: ::core::option::Option<
524 unsafe extern "C" fn(
525 p: ISeqOutStreamPtr,
526 buf: *const ::core::ffi::c_void,
527 size: usize,
528 ) -> usize,
529 >,
530}
531#[repr(u32)]
532#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
533pub enum ESzSeek {
534 SZ_SEEK_SET = 0,
535 SZ_SEEK_CUR = 1,
536 SZ_SEEK_END = 2,
537}
538pub type ISeekInStreamPtr = *const ISeekInStream_;
539pub type ISeekInStream = ISeekInStream_;
540#[repr(C)]
541#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
542pub struct ISeekInStream_ {
543 pub Read: ::core::option::Option<
544 unsafe extern "C" fn(
545 p: ISeekInStreamPtr,
546 buf: *mut ::core::ffi::c_void,
547 size: *mut usize,
548 ) -> SRes,
549 >,
550 pub Seek: ::core::option::Option<
551 unsafe extern "C" fn(p: ISeekInStreamPtr, pos: *mut Int64, origin: ESzSeek) -> SRes,
552 >,
553}
554pub type ILookInStreamPtr = *const ILookInStream_;
555pub type ILookInStream = ILookInStream_;
556#[repr(C)]
557#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
558pub struct ILookInStream_ {
559 pub Look: ::core::option::Option<
560 unsafe extern "C" fn(
561 p: ILookInStreamPtr,
562 buf: *mut *const ::core::ffi::c_void,
563 size: *mut usize,
564 ) -> SRes,
565 >,
566 pub Skip:
567 ::core::option::Option<unsafe extern "C" fn(p: ILookInStreamPtr, offset: usize) -> SRes>,
568 pub Read: ::core::option::Option<
569 unsafe extern "C" fn(
570 p: ILookInStreamPtr,
571 buf: *mut ::core::ffi::c_void,
572 size: *mut usize,
573 ) -> SRes,
574 >,
575 pub Seek: ::core::option::Option<
576 unsafe extern "C" fn(p: ILookInStreamPtr, pos: *mut Int64, origin: ESzSeek) -> SRes,
577 >,
578}
579unsafe extern "C" {
580 pub fn LookInStream_LookRead(
581 stream: ILookInStreamPtr,
582 buf: *mut ::core::ffi::c_void,
583 size: *mut usize,
584 ) -> SRes;
585}
586unsafe extern "C" {
587 pub fn LookInStream_SeekTo(stream: ILookInStreamPtr, offset: UInt64) -> SRes;
588}
589unsafe extern "C" {
590 pub fn LookInStream_Read2(
591 stream: ILookInStreamPtr,
592 buf: *mut ::core::ffi::c_void,
593 size: usize,
594 errorType: SRes,
595 ) -> SRes;
596}
597unsafe extern "C" {
598 pub fn LookInStream_Read(
599 stream: ILookInStreamPtr,
600 buf: *mut ::core::ffi::c_void,
601 size: usize,
602 ) -> SRes;
603}
604#[repr(C)]
605#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
606pub struct CLookToRead2 {
607 pub vt: ILookInStream,
608 pub realStream: ISeekInStreamPtr,
609 pub pos: usize,
610 pub size: usize,
611 pub buf: *mut Byte,
612 pub bufSize: usize,
613}
614impl Default for CLookToRead2 {
615 fn default() -> Self {
616 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
617 unsafe {
618 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
619 s.assume_init()
620 }
621 }
622}
623unsafe extern "C" {
624 pub fn LookToRead2_CreateVTable(p: *mut CLookToRead2, lookahead: ::core::ffi::c_int);
625}
626#[repr(C)]
627#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
628pub struct CSecToLook {
629 pub vt: ISeqInStream,
630 pub realStream: ILookInStreamPtr,
631}
632impl Default for CSecToLook {
633 fn default() -> Self {
634 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
635 unsafe {
636 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
637 s.assume_init()
638 }
639 }
640}
641unsafe extern "C" {
642 pub fn SecToLook_CreateVTable(p: *mut CSecToLook);
643}
644#[repr(C)]
645#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
646pub struct CSecToRead {
647 pub vt: ISeqInStream,
648 pub realStream: ILookInStreamPtr,
649}
650impl Default for CSecToRead {
651 fn default() -> Self {
652 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
653 unsafe {
654 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
655 s.assume_init()
656 }
657 }
658}
659unsafe extern "C" {
660 pub fn SecToRead_CreateVTable(p: *mut CSecToRead);
661}
662pub type ICompressProgressPtr = *const ICompressProgress_;
663pub type ICompressProgress = ICompressProgress_;
664#[repr(C)]
665#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
666pub struct ICompressProgress_ {
667 pub Progress: ::core::option::Option<
668 unsafe extern "C" fn(p: ICompressProgressPtr, inSize: UInt64, outSize: UInt64) -> SRes,
669 >,
670}
671pub type ISzAllocPtr = *const ISzAlloc;
672#[repr(C)]
673#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
674pub struct ISzAlloc {
675 pub Alloc: ::core::option::Option<
676 unsafe extern "C" fn(p: ISzAllocPtr, size: usize) -> *mut ::core::ffi::c_void,
677 >,
678 pub Free: ::core::option::Option<
679 unsafe extern "C" fn(p: ISzAllocPtr, address: *mut ::core::ffi::c_void),
680 >,
681}
682pub type CLzmaProb = UInt16;
683#[repr(C)]
684#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
685pub struct CLzmaProps {
686 pub lc: Byte,
687 pub lp: Byte,
688 pub pb: Byte,
689 pub _pad_: Byte,
690 pub dicSize: UInt32,
691}
692unsafe extern "C" {
693 pub fn LzmaProps_Decode(
694 p: *mut CLzmaProps,
695 data: *const Byte,
696 size: ::core::ffi::c_uint,
697 ) -> SRes;
698}
699#[repr(C)]
700#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
701pub struct CLzmaDec {
702 pub prop: CLzmaProps,
703 pub probs: *mut CLzmaProb,
704 pub probs_1664: *mut CLzmaProb,
705 pub dic: *mut Byte,
706 pub dicBufSize: SizeT,
707 pub dicPos: SizeT,
708 pub buf: *const Byte,
709 pub range: UInt32,
710 pub code: UInt32,
711 pub processedPos: UInt32,
712 pub checkDicSize: UInt32,
713 pub reps: [UInt32; 4usize],
714 pub state: UInt32,
715 pub remainLen: UInt32,
716 pub numProbs: UInt32,
717 pub tempBufSize: ::core::ffi::c_uint,
718 pub tempBuf: [Byte; 20usize],
719 pub __bindgen_padding_0: [u8; 4usize],
720}
721impl Default for CLzmaDec {
722 fn default() -> Self {
723 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
724 unsafe {
725 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
726 s.assume_init()
727 }
728 }
729}
730unsafe extern "C" {
731 pub fn LzmaDec_Init(p: *mut CLzmaDec);
732}
733#[repr(u32)]
734#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
735pub enum ELzmaFinishMode {
736 LZMA_FINISH_ANY = 0,
737 LZMA_FINISH_END = 1,
738}
739#[repr(u32)]
740#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
741pub enum ELzmaStatus {
742 LZMA_STATUS_NOT_SPECIFIED = 0,
743 LZMA_STATUS_FINISHED_WITH_MARK = 1,
744 LZMA_STATUS_NOT_FINISHED = 2,
745 LZMA_STATUS_NEEDS_MORE_INPUT = 3,
746 LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK = 4,
747}
748unsafe extern "C" {
749 pub fn LzmaDec_AllocateProbs(
750 p: *mut CLzmaDec,
751 props: *const Byte,
752 propsSize: ::core::ffi::c_uint,
753 alloc: ISzAllocPtr,
754 ) -> SRes;
755}
756unsafe extern "C" {
757 pub fn LzmaDec_FreeProbs(p: *mut CLzmaDec, alloc: ISzAllocPtr);
758}
759unsafe extern "C" {
760 pub fn LzmaDec_Allocate(
761 p: *mut CLzmaDec,
762 props: *const Byte,
763 propsSize: ::core::ffi::c_uint,
764 alloc: ISzAllocPtr,
765 ) -> SRes;
766}
767unsafe extern "C" {
768 pub fn LzmaDec_Free(p: *mut CLzmaDec, alloc: ISzAllocPtr);
769}
770unsafe extern "C" {
771 pub fn LzmaDec_DecodeToDic(
772 p: *mut CLzmaDec,
773 dicLimit: SizeT,
774 src: *const Byte,
775 srcLen: *mut SizeT,
776 finishMode: ELzmaFinishMode,
777 status: *mut ELzmaStatus,
778 ) -> SRes;
779}
780unsafe extern "C" {
781 pub fn LzmaDec_DecodeToBuf(
782 p: *mut CLzmaDec,
783 dest: *mut Byte,
784 destLen: *mut SizeT,
785 src: *const Byte,
786 srcLen: *mut SizeT,
787 finishMode: ELzmaFinishMode,
788 status: *mut ELzmaStatus,
789 ) -> SRes;
790}
791unsafe extern "C" {
792 pub fn LzmaDecode(
793 dest: *mut Byte,
794 destLen: *mut SizeT,
795 src: *const Byte,
796 srcLen: *mut SizeT,
797 propData: *const Byte,
798 propSize: ::core::ffi::c_uint,
799 finishMode: ELzmaFinishMode,
800 status: *mut ELzmaStatus,
801 alloc: ISzAllocPtr,
802 ) -> SRes;
803}
804#[repr(C)]
805#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
806pub struct CLzmaEncProps {
807 pub level: ::core::ffi::c_int,
808 pub dictSize: UInt32,
809 pub lc: ::core::ffi::c_int,
810 pub lp: ::core::ffi::c_int,
811 pub pb: ::core::ffi::c_int,
812 pub algo: ::core::ffi::c_int,
813 pub fb: ::core::ffi::c_int,
814 pub btMode: ::core::ffi::c_int,
815 pub numHashBytes: ::core::ffi::c_int,
816 pub numHashOutBits: ::core::ffi::c_uint,
817 pub mc: UInt32,
818 pub writeEndMark: ::core::ffi::c_uint,
819 pub numThreads: ::core::ffi::c_int,
820 pub affinityGroup: Int32,
821 pub reduceSize: UInt64,
822 pub affinity: UInt64,
823 pub affinityInGroup: UInt64,
824}
825unsafe extern "C" {
826 pub fn LzmaEncProps_Init(p: *mut CLzmaEncProps);
827}
828unsafe extern "C" {
829 pub fn LzmaEncProps_Normalize(p: *mut CLzmaEncProps);
830}
831unsafe extern "C" {
832 pub fn LzmaEncProps_GetDictSize(props2: *const CLzmaEncProps) -> UInt32;
833}
834#[repr(C)]
835#[derive(Debug, Copy, Clone)]
836pub struct CLzmaEnc {
837 _unused: [u8; 0],
838}
839pub type CLzmaEncHandle = *mut CLzmaEnc;
840unsafe extern "C" {
841 pub fn LzmaEnc_Create(alloc: ISzAllocPtr) -> CLzmaEncHandle;
842}
843unsafe extern "C" {
844 pub fn LzmaEnc_Destroy(p: CLzmaEncHandle, alloc: ISzAllocPtr, allocBig: ISzAllocPtr);
845}
846unsafe extern "C" {
847 pub fn LzmaEnc_SetProps(p: CLzmaEncHandle, props: *const CLzmaEncProps) -> SRes;
848}
849unsafe extern "C" {
850 pub fn LzmaEnc_SetDataSize(p: CLzmaEncHandle, expectedDataSiize: UInt64);
851}
852unsafe extern "C" {
853 pub fn LzmaEnc_WriteProperties(
854 p: CLzmaEncHandle,
855 properties: *mut Byte,
856 size: *mut SizeT,
857 ) -> SRes;
858}
859unsafe extern "C" {
860 pub fn LzmaEnc_IsWriteEndMark(p: CLzmaEncHandle) -> ::core::ffi::c_uint;
861}
862unsafe extern "C" {
863 pub fn LzmaEnc_Encode(
864 p: CLzmaEncHandle,
865 outStream: ISeqOutStreamPtr,
866 inStream: ISeqInStreamPtr,
867 progress: ICompressProgressPtr,
868 alloc: ISzAllocPtr,
869 allocBig: ISzAllocPtr,
870 ) -> SRes;
871}
872unsafe extern "C" {
873 pub fn LzmaEnc_MemEncode(
874 p: CLzmaEncHandle,
875 dest: *mut Byte,
876 destLen: *mut SizeT,
877 src: *const Byte,
878 srcLen: SizeT,
879 writeEndMark: ::core::ffi::c_int,
880 progress: ICompressProgressPtr,
881 alloc: ISzAllocPtr,
882 allocBig: ISzAllocPtr,
883 ) -> SRes;
884}
885unsafe extern "C" {
886 pub fn LzmaEncode(
887 dest: *mut Byte,
888 destLen: *mut SizeT,
889 src: *const Byte,
890 srcLen: SizeT,
891 props: *const CLzmaEncProps,
892 propsEncoded: *mut Byte,
893 propsSize: *mut SizeT,
894 writeEndMark: ::core::ffi::c_int,
895 progress: ICompressProgressPtr,
896 alloc: ISzAllocPtr,
897 allocBig: ISzAllocPtr,
898 ) -> SRes;
899}
900#[repr(C)]
901#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
902pub struct CLzma2Dec {
903 pub state: ::core::ffi::c_uint,
904 pub control: Byte,
905 pub needInitLevel: Byte,
906 pub isExtraMode: Byte,
907 pub _pad_: Byte,
908 pub packSize: UInt32,
909 pub unpackSize: UInt32,
910 pub decoder: CLzmaDec,
911}
912impl Default for CLzma2Dec {
913 fn default() -> Self {
914 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
915 unsafe {
916 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
917 s.assume_init()
918 }
919 }
920}
921unsafe extern "C" {
922 pub fn Lzma2Dec_AllocateProbs(p: *mut CLzma2Dec, prop: Byte, alloc: ISzAllocPtr) -> SRes;
923}
924unsafe extern "C" {
925 pub fn Lzma2Dec_Allocate(p: *mut CLzma2Dec, prop: Byte, alloc: ISzAllocPtr) -> SRes;
926}
927unsafe extern "C" {
928 pub fn Lzma2Dec_Init(p: *mut CLzma2Dec);
929}
930unsafe extern "C" {
931 pub fn Lzma2Dec_DecodeToDic(
932 p: *mut CLzma2Dec,
933 dicLimit: SizeT,
934 src: *const Byte,
935 srcLen: *mut SizeT,
936 finishMode: ELzmaFinishMode,
937 status: *mut ELzmaStatus,
938 ) -> SRes;
939}
940unsafe extern "C" {
941 pub fn Lzma2Dec_DecodeToBuf(
942 p: *mut CLzma2Dec,
943 dest: *mut Byte,
944 destLen: *mut SizeT,
945 src: *const Byte,
946 srcLen: *mut SizeT,
947 finishMode: ELzmaFinishMode,
948 status: *mut ELzmaStatus,
949 ) -> SRes;
950}
951#[repr(u32)]
952#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
953pub enum ELzma2ParseStatus {
954 LZMA2_PARSE_STATUS_NEW_BLOCK = 5,
955 LZMA2_PARSE_STATUS_NEW_CHUNK = 6,
956}
957unsafe extern "C" {
958 pub fn Lzma2Dec_Parse(
959 p: *mut CLzma2Dec,
960 outSize: SizeT,
961 src: *const Byte,
962 srcLen: *mut SizeT,
963 checkFinishBlock: ::core::ffi::c_int,
964 ) -> ELzma2ParseStatus;
965}
966unsafe extern "C" {
967 pub fn Lzma2Decode(
968 dest: *mut Byte,
969 destLen: *mut SizeT,
970 src: *const Byte,
971 srcLen: *mut SizeT,
972 prop: Byte,
973 finishMode: ELzmaFinishMode,
974 status: *mut ELzmaStatus,
975 alloc: ISzAllocPtr,
976 ) -> SRes;
977}
978#[repr(C)]
979#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
980pub struct CLzma2EncProps {
981 pub lzmaProps: CLzmaEncProps,
982 pub blockSize: UInt64,
983 pub numBlockThreads_Reduced: ::core::ffi::c_int,
984 pub numBlockThreads_Max: ::core::ffi::c_int,
985 pub numTotalThreads: ::core::ffi::c_int,
986 pub numThreadGroups: ::core::ffi::c_uint,
987}
988unsafe extern "C" {
989 pub fn Lzma2EncProps_Init(p: *mut CLzma2EncProps);
990}
991unsafe extern "C" {
992 pub fn Lzma2EncProps_Normalize(p: *mut CLzma2EncProps);
993}
994#[repr(C)]
995#[derive(Debug, Copy, Clone)]
996pub struct CLzma2Enc {
997 _unused: [u8; 0],
998}
999pub type CLzma2EncHandle = *mut CLzma2Enc;
1000unsafe extern "C" {
1001 pub fn Lzma2Enc_Create(alloc: ISzAllocPtr, allocBig: ISzAllocPtr) -> CLzma2EncHandle;
1002}
1003unsafe extern "C" {
1004 pub fn Lzma2Enc_Destroy(p: CLzma2EncHandle);
1005}
1006unsafe extern "C" {
1007 pub fn Lzma2Enc_SetProps(p: CLzma2EncHandle, props: *const CLzma2EncProps) -> SRes;
1008}
1009unsafe extern "C" {
1010 pub fn Lzma2Enc_SetDataSize(p: CLzma2EncHandle, expectedDataSiize: UInt64);
1011}
1012unsafe extern "C" {
1013 pub fn Lzma2Enc_WriteProperties(p: CLzma2EncHandle) -> Byte;
1014}
1015unsafe extern "C" {
1016 pub fn Lzma2Enc_Encode2(
1017 p: CLzma2EncHandle,
1018 outStream: ISeqOutStreamPtr,
1019 outBuf: *mut Byte,
1020 outBufSize: *mut usize,
1021 inStream: ISeqInStreamPtr,
1022 inData: *const Byte,
1023 inDataSize: usize,
1024 progress: ICompressProgressPtr,
1025 ) -> SRes;
1026}
1027pub type CLzRef = UInt32;
1028#[repr(C)]
1029#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1030pub struct CMatchFinder {
1031 pub buffer: *const Byte,
1032 pub pos: UInt32,
1033 pub posLimit: UInt32,
1034 pub streamPos: UInt32,
1035 pub lenLimit: UInt32,
1036 pub cyclicBufferPos: UInt32,
1037 pub cyclicBufferSize: UInt32,
1038 pub streamEndWasReached: Byte,
1039 pub btMode: Byte,
1040 pub bigHash: Byte,
1041 pub directInput: Byte,
1042 pub matchMaxLen: UInt32,
1043 pub hash: *mut CLzRef,
1044 pub son: *mut CLzRef,
1045 pub hashMask: UInt32,
1046 pub cutValue: UInt32,
1047 pub bufBase: *mut Byte,
1048 pub stream: ISeqInStreamPtr,
1049 pub blockSize: UInt32,
1050 pub keepSizeBefore: UInt32,
1051 pub keepSizeAfter: UInt32,
1052 pub numHashBytes: UInt32,
1053 pub directInputRem: usize,
1054 pub historySize: UInt32,
1055 pub fixedHashSize: UInt32,
1056 pub numHashBytes_Min: Byte,
1057 pub numHashOutBits: Byte,
1058 pub _pad2_: [Byte; 2usize],
1059 pub result: SRes,
1060 pub crc: [UInt32; 256usize],
1061 pub numRefs: usize,
1062 pub expectedDataSize: UInt64,
1063}
1064impl Default for CMatchFinder {
1065 fn default() -> Self {
1066 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1067 unsafe {
1068 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1069 s.assume_init()
1070 }
1071 }
1072}
1073unsafe extern "C" {
1074 pub fn MatchFinder_NeedMove(p: *mut CMatchFinder) -> ::core::ffi::c_int;
1075}
1076unsafe extern "C" {
1077 pub fn MatchFinder_MoveBlock(p: *mut CMatchFinder);
1078}
1079unsafe extern "C" {
1080 pub fn MatchFinder_ReadIfRequired(p: *mut CMatchFinder);
1081}
1082unsafe extern "C" {
1083 pub fn MatchFinder_Construct(p: *mut CMatchFinder);
1084}
1085unsafe extern "C" {
1086 pub fn MatchFinder_Create(
1087 p: *mut CMatchFinder,
1088 historySize: UInt32,
1089 keepAddBufferBefore: UInt32,
1090 matchMaxLen: UInt32,
1091 keepAddBufferAfter: UInt32,
1092 alloc: ISzAllocPtr,
1093 ) -> ::core::ffi::c_int;
1094}
1095unsafe extern "C" {
1096 pub fn MatchFinder_Free(p: *mut CMatchFinder, alloc: ISzAllocPtr);
1097}
1098unsafe extern "C" {
1099 pub fn MatchFinder_Normalize3(subValue: UInt32, items: *mut CLzRef, numItems: usize);
1100}
1101unsafe extern "C" {
1102 pub fn GetMatchesSpec1(
1103 lenLimit: UInt32,
1104 curMatch: UInt32,
1105 pos: UInt32,
1106 buffer: *const Byte,
1107 son: *mut CLzRef,
1108 _cyclicBufferPos: usize,
1109 _cyclicBufferSize: UInt32,
1110 _cutValue: UInt32,
1111 distances: *mut UInt32,
1112 maxLen: UInt32,
1113 ) -> *mut UInt32;
1114}
1115pub type Mf_Init_Func =
1116 ::core::option::Option<unsafe extern "C" fn(object: *mut ::core::ffi::c_void)>;
1117pub type Mf_GetNumAvailableBytes_Func =
1118 ::core::option::Option<unsafe extern "C" fn(object: *mut ::core::ffi::c_void) -> UInt32>;
1119pub type Mf_GetPointerToCurrentPos_Func =
1120 ::core::option::Option<unsafe extern "C" fn(object: *mut ::core::ffi::c_void) -> *const Byte>;
1121pub type Mf_GetMatches_Func = ::core::option::Option<
1122 unsafe extern "C" fn(object: *mut ::core::ffi::c_void, distances: *mut UInt32) -> *mut UInt32,
1123>;
1124pub type Mf_Skip_Func =
1125 ::core::option::Option<unsafe extern "C" fn(object: *mut ::core::ffi::c_void, arg1: UInt32)>;
1126#[repr(C)]
1127#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1128pub struct IMatchFinder2 {
1129 pub Init: Mf_Init_Func,
1130 pub GetNumAvailableBytes: Mf_GetNumAvailableBytes_Func,
1131 pub GetPointerToCurrentPos: Mf_GetPointerToCurrentPos_Func,
1132 pub GetMatches: Mf_GetMatches_Func,
1133 pub Skip: Mf_Skip_Func,
1134}
1135unsafe extern "C" {
1136 pub fn MatchFinder_CreateVTable(p: *mut CMatchFinder, vTable: *mut IMatchFinder2);
1137}
1138unsafe extern "C" {
1139 pub fn MatchFinder_Init_LowHash(p: *mut CMatchFinder);
1140}
1141unsafe extern "C" {
1142 pub fn MatchFinder_Init_HighHash(p: *mut CMatchFinder);
1143}
1144unsafe extern "C" {
1145 pub fn MatchFinder_Init_4(p: *mut CMatchFinder);
1146}
1147unsafe extern "C" {
1148 pub fn MatchFinder_Init(p: *mut ::core::ffi::c_void);
1149}
1150unsafe extern "C" {
1151 pub fn Bt3Zip_MatchFinder_GetMatches(
1152 p: *mut CMatchFinder,
1153 distances: *mut UInt32,
1154 ) -> *mut UInt32;
1155}
1156unsafe extern "C" {
1157 pub fn Hc3Zip_MatchFinder_GetMatches(
1158 p: *mut CMatchFinder,
1159 distances: *mut UInt32,
1160 ) -> *mut UInt32;
1161}
1162unsafe extern "C" {
1163 pub fn Bt3Zip_MatchFinder_Skip(p: *mut CMatchFinder, num: UInt32);
1164}
1165unsafe extern "C" {
1166 pub fn Hc3Zip_MatchFinder_Skip(p: *mut CMatchFinder, num: UInt32);
1167}
1168unsafe extern "C" {
1169 pub fn LzFindPrepare();
1170}
1171pub type time_t = __time_t;
1172#[repr(C)]
1173#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1174pub struct timespec {
1175 pub tv_sec: __time_t,
1176 pub tv_nsec: __syscall_slong_t,
1177}
1178pub type pid_t = __pid_t;
1179#[repr(C)]
1180#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1181pub struct sched_param {
1182 pub sched_priority: ::core::ffi::c_int,
1183}
1184pub type __cpu_mask = ::core::ffi::c_ulong;
1185#[repr(C)]
1186#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1187pub struct cpu_set_t {
1188 pub __bits: [__cpu_mask; 16usize],
1189}
1190unsafe extern "C" {
1191 pub fn __sched_cpucount(__setsize: usize, __setp: *const cpu_set_t) -> ::core::ffi::c_int;
1192}
1193unsafe extern "C" {
1194 pub fn __sched_cpualloc(__count: usize) -> *mut cpu_set_t;
1195}
1196unsafe extern "C" {
1197 pub fn __sched_cpufree(__set: *mut cpu_set_t);
1198}
1199unsafe extern "C" {
1200 pub fn sched_setparam(__pid: __pid_t, __param: *const sched_param) -> ::core::ffi::c_int;
1201}
1202unsafe extern "C" {
1203 pub fn sched_getparam(__pid: __pid_t, __param: *mut sched_param) -> ::core::ffi::c_int;
1204}
1205unsafe extern "C" {
1206 pub fn sched_setscheduler(
1207 __pid: __pid_t,
1208 __policy: ::core::ffi::c_int,
1209 __param: *const sched_param,
1210 ) -> ::core::ffi::c_int;
1211}
1212unsafe extern "C" {
1213 pub fn sched_getscheduler(__pid: __pid_t) -> ::core::ffi::c_int;
1214}
1215unsafe extern "C" {
1216 pub fn sched_yield() -> ::core::ffi::c_int;
1217}
1218unsafe extern "C" {
1219 pub fn sched_get_priority_max(__algorithm: ::core::ffi::c_int) -> ::core::ffi::c_int;
1220}
1221unsafe extern "C" {
1222 pub fn sched_get_priority_min(__algorithm: ::core::ffi::c_int) -> ::core::ffi::c_int;
1223}
1224unsafe extern "C" {
1225 pub fn sched_rr_get_interval(__pid: __pid_t, __t: *mut timespec) -> ::core::ffi::c_int;
1226}
1227pub type clock_t = __clock_t;
1228#[repr(C)]
1229#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1230pub struct tm {
1231 pub tm_sec: ::core::ffi::c_int,
1232 pub tm_min: ::core::ffi::c_int,
1233 pub tm_hour: ::core::ffi::c_int,
1234 pub tm_mday: ::core::ffi::c_int,
1235 pub tm_mon: ::core::ffi::c_int,
1236 pub tm_year: ::core::ffi::c_int,
1237 pub tm_wday: ::core::ffi::c_int,
1238 pub tm_yday: ::core::ffi::c_int,
1239 pub tm_isdst: ::core::ffi::c_int,
1240 pub __bindgen_padding_0: [u8; 4usize],
1241 pub tm_gmtoff: ::core::ffi::c_long,
1242 pub tm_zone: *const ::core::ffi::c_char,
1243}
1244impl Default for tm {
1245 fn default() -> Self {
1246 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1247 unsafe {
1248 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1249 s.assume_init()
1250 }
1251 }
1252}
1253pub type clockid_t = __clockid_t;
1254pub type timer_t = __timer_t;
1255#[repr(C)]
1256#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1257pub struct itimerspec {
1258 pub it_interval: timespec,
1259 pub it_value: timespec,
1260}
1261#[repr(C)]
1262#[derive(Debug, Copy, Clone)]
1263pub struct sigevent {
1264 _unused: [u8; 0],
1265}
1266#[repr(C)]
1267#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1268pub struct __locale_struct {
1269 pub __locales: [*mut __locale_data; 13usize],
1270 pub __ctype_b: *const ::core::ffi::c_ushort,
1271 pub __ctype_tolower: *const ::core::ffi::c_int,
1272 pub __ctype_toupper: *const ::core::ffi::c_int,
1273 pub __names: [*const ::core::ffi::c_char; 13usize],
1274}
1275impl Default for __locale_struct {
1276 fn default() -> Self {
1277 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1278 unsafe {
1279 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1280 s.assume_init()
1281 }
1282 }
1283}
1284pub type __locale_t = *mut __locale_struct;
1285pub type locale_t = __locale_t;
1286unsafe extern "C" {
1287 pub fn clock() -> clock_t;
1288}
1289unsafe extern "C" {
1290 pub fn time(__timer: *mut time_t) -> time_t;
1291}
1292unsafe extern "C" {
1293 pub fn difftime(__time1: time_t, __time0: time_t) -> f64;
1294}
1295unsafe extern "C" {
1296 pub fn mktime(__tp: *mut tm) -> time_t;
1297}
1298unsafe extern "C" {
1299 pub fn strftime(
1300 __s: *mut ::core::ffi::c_char,
1301 __maxsize: usize,
1302 __format: *const ::core::ffi::c_char,
1303 __tp: *const tm,
1304 ) -> usize;
1305}
1306unsafe extern "C" {
1307 pub fn strftime_l(
1308 __s: *mut ::core::ffi::c_char,
1309 __maxsize: usize,
1310 __format: *const ::core::ffi::c_char,
1311 __tp: *const tm,
1312 __loc: locale_t,
1313 ) -> usize;
1314}
1315unsafe extern "C" {
1316 pub fn gmtime(__timer: *const time_t) -> *mut tm;
1317}
1318unsafe extern "C" {
1319 pub fn localtime(__timer: *const time_t) -> *mut tm;
1320}
1321unsafe extern "C" {
1322 pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
1323}
1324unsafe extern "C" {
1325 pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
1326}
1327unsafe extern "C" {
1328 pub fn asctime(__tp: *const tm) -> *mut ::core::ffi::c_char;
1329}
1330unsafe extern "C" {
1331 pub fn ctime(__timer: *const time_t) -> *mut ::core::ffi::c_char;
1332}
1333unsafe extern "C" {
1334 pub fn asctime_r(__tp: *const tm, __buf: *mut ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
1335}
1336unsafe extern "C" {
1337 pub fn ctime_r(
1338 __timer: *const time_t,
1339 __buf: *mut ::core::ffi::c_char,
1340 ) -> *mut ::core::ffi::c_char;
1341}
1342unsafe extern "C" {
1343 pub static mut __tzname: [*mut ::core::ffi::c_char; 2usize];
1344}
1345unsafe extern "C" {
1346 pub static mut __daylight: ::core::ffi::c_int;
1347}
1348unsafe extern "C" {
1349 pub static mut __timezone: ::core::ffi::c_long;
1350}
1351unsafe extern "C" {
1352 pub static mut tzname: [*mut ::core::ffi::c_char; 2usize];
1353}
1354unsafe extern "C" {
1355 pub fn tzset();
1356}
1357unsafe extern "C" {
1358 pub static mut daylight: ::core::ffi::c_int;
1359}
1360unsafe extern "C" {
1361 pub static mut timezone: ::core::ffi::c_long;
1362}
1363unsafe extern "C" {
1364 pub fn timegm(__tp: *mut tm) -> time_t;
1365}
1366unsafe extern "C" {
1367 pub fn timelocal(__tp: *mut tm) -> time_t;
1368}
1369unsafe extern "C" {
1370 pub fn dysize(__year: ::core::ffi::c_int) -> ::core::ffi::c_int;
1371}
1372unsafe extern "C" {
1373 pub fn nanosleep(
1374 __requested_time: *const timespec,
1375 __remaining: *mut timespec,
1376 ) -> ::core::ffi::c_int;
1377}
1378unsafe extern "C" {
1379 pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::core::ffi::c_int;
1380}
1381unsafe extern "C" {
1382 pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::core::ffi::c_int;
1383}
1384unsafe extern "C" {
1385 pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::core::ffi::c_int;
1386}
1387unsafe extern "C" {
1388 pub fn clock_nanosleep(
1389 __clock_id: clockid_t,
1390 __flags: ::core::ffi::c_int,
1391 __req: *const timespec,
1392 __rem: *mut timespec,
1393 ) -> ::core::ffi::c_int;
1394}
1395unsafe extern "C" {
1396 pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::core::ffi::c_int;
1397}
1398unsafe extern "C" {
1399 pub fn timer_create(
1400 __clock_id: clockid_t,
1401 __evp: *mut sigevent,
1402 __timerid: *mut timer_t,
1403 ) -> ::core::ffi::c_int;
1404}
1405unsafe extern "C" {
1406 pub fn timer_delete(__timerid: timer_t) -> ::core::ffi::c_int;
1407}
1408unsafe extern "C" {
1409 pub fn timer_settime(
1410 __timerid: timer_t,
1411 __flags: ::core::ffi::c_int,
1412 __value: *const itimerspec,
1413 __ovalue: *mut itimerspec,
1414 ) -> ::core::ffi::c_int;
1415}
1416unsafe extern "C" {
1417 pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::core::ffi::c_int;
1418}
1419unsafe extern "C" {
1420 pub fn timer_getoverrun(__timerid: timer_t) -> ::core::ffi::c_int;
1421}
1422unsafe extern "C" {
1423 pub fn timespec_get(__ts: *mut timespec, __base: ::core::ffi::c_int) -> ::core::ffi::c_int;
1424}
1425#[repr(C)]
1426#[derive(Copy, Clone)]
1427pub union __atomic_wide_counter {
1428 pub __value64: ::core::ffi::c_ulonglong,
1429 pub __value32: __atomic_wide_counter__bindgen_ty_1,
1430}
1431#[repr(C)]
1432#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1433pub struct __atomic_wide_counter__bindgen_ty_1 {
1434 pub __low: ::core::ffi::c_uint,
1435 pub __high: ::core::ffi::c_uint,
1436}
1437impl Default for __atomic_wide_counter {
1438 fn default() -> Self {
1439 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1440 unsafe {
1441 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1442 s.assume_init()
1443 }
1444 }
1445}
1446impl ::core::fmt::Debug for __atomic_wide_counter {
1447 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1448 write!(f, "__atomic_wide_counter {{ union }}")
1449 }
1450}
1451#[repr(C)]
1452#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1453pub struct __pthread_internal_list {
1454 pub __prev: *mut __pthread_internal_list,
1455 pub __next: *mut __pthread_internal_list,
1456}
1457impl Default for __pthread_internal_list {
1458 fn default() -> Self {
1459 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1460 unsafe {
1461 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1462 s.assume_init()
1463 }
1464 }
1465}
1466pub type __pthread_list_t = __pthread_internal_list;
1467#[repr(C)]
1468#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1469pub struct __pthread_internal_slist {
1470 pub __next: *mut __pthread_internal_slist,
1471}
1472impl Default for __pthread_internal_slist {
1473 fn default() -> Self {
1474 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1475 unsafe {
1476 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1477 s.assume_init()
1478 }
1479 }
1480}
1481pub type __pthread_slist_t = __pthread_internal_slist;
1482#[repr(C)]
1483#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1484pub struct __pthread_mutex_s {
1485 pub __lock: ::core::ffi::c_int,
1486 pub __count: ::core::ffi::c_uint,
1487 pub __owner: ::core::ffi::c_int,
1488 pub __nusers: ::core::ffi::c_uint,
1489 pub __kind: ::core::ffi::c_int,
1490 pub __spins: ::core::ffi::c_short,
1491 pub __elision: ::core::ffi::c_short,
1492 pub __list: __pthread_list_t,
1493}
1494impl Default for __pthread_mutex_s {
1495 fn default() -> Self {
1496 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1497 unsafe {
1498 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1499 s.assume_init()
1500 }
1501 }
1502}
1503#[repr(C)]
1504#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1505pub struct __pthread_rwlock_arch_t {
1506 pub __readers: ::core::ffi::c_uint,
1507 pub __writers: ::core::ffi::c_uint,
1508 pub __wrphase_futex: ::core::ffi::c_uint,
1509 pub __writers_futex: ::core::ffi::c_uint,
1510 pub __pad3: ::core::ffi::c_uint,
1511 pub __pad4: ::core::ffi::c_uint,
1512 pub __cur_writer: ::core::ffi::c_int,
1513 pub __shared: ::core::ffi::c_int,
1514 pub __rwelision: ::core::ffi::c_schar,
1515 pub __pad1: [::core::ffi::c_uchar; 7usize],
1516 pub __pad2: ::core::ffi::c_ulong,
1517 pub __flags: ::core::ffi::c_uint,
1518 pub __bindgen_padding_0: [u8; 4usize],
1519}
1520#[repr(C)]
1521#[derive(Copy, Clone)]
1522pub struct __pthread_cond_s {
1523 pub __wseq: __atomic_wide_counter,
1524 pub __g1_start: __atomic_wide_counter,
1525 pub __g_size: [::core::ffi::c_uint; 2usize],
1526 pub __g1_orig_size: ::core::ffi::c_uint,
1527 pub __wrefs: ::core::ffi::c_uint,
1528 pub __g_signals: [::core::ffi::c_uint; 2usize],
1529 pub __unused_initialized_1: ::core::ffi::c_uint,
1530 pub __unused_initialized_2: ::core::ffi::c_uint,
1531}
1532impl Default for __pthread_cond_s {
1533 fn default() -> Self {
1534 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1535 unsafe {
1536 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1537 s.assume_init()
1538 }
1539 }
1540}
1541impl ::core::fmt::Debug for __pthread_cond_s {
1542 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1543 write!(
1544 f,
1545 "__pthread_cond_s {{ __wseq: {:?}, __g1_start: {:?}, __g_size: {:?}, __g1_orig_size: {:?}, __wrefs: {:?}, __g_signals: {:?}, __unused_initialized_1: {:?}, __unused_initialized_2: {:?} }}",
1546 self.__wseq,
1547 self.__g1_start,
1548 self.__g_size,
1549 self.__g1_orig_size,
1550 self.__wrefs,
1551 self.__g_signals,
1552 self.__unused_initialized_1,
1553 self.__unused_initialized_2
1554 )
1555 }
1556}
1557pub type __tss_t = ::core::ffi::c_uint;
1558pub type __thrd_t = ::core::ffi::c_ulong;
1559#[repr(C)]
1560#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1561pub struct __once_flag {
1562 pub __data: ::core::ffi::c_int,
1563}
1564pub type pthread_t = ::core::ffi::c_ulong;
1565#[repr(C)]
1566#[derive(Copy, Clone)]
1567pub union pthread_mutexattr_t {
1568 pub __size: [::core::ffi::c_char; 4usize],
1569 pub __align: ::core::ffi::c_int,
1570}
1571impl Default for pthread_mutexattr_t {
1572 fn default() -> Self {
1573 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1574 unsafe {
1575 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1576 s.assume_init()
1577 }
1578 }
1579}
1580impl ::core::fmt::Debug for pthread_mutexattr_t {
1581 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1582 write!(f, "pthread_mutexattr_t {{ union }}")
1583 }
1584}
1585#[repr(C)]
1586#[derive(Copy, Clone)]
1587pub union pthread_condattr_t {
1588 pub __size: [::core::ffi::c_char; 4usize],
1589 pub __align: ::core::ffi::c_int,
1590}
1591impl Default for pthread_condattr_t {
1592 fn default() -> Self {
1593 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1594 unsafe {
1595 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1596 s.assume_init()
1597 }
1598 }
1599}
1600impl ::core::fmt::Debug for pthread_condattr_t {
1601 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1602 write!(f, "pthread_condattr_t {{ union }}")
1603 }
1604}
1605pub type pthread_key_t = ::core::ffi::c_uint;
1606pub type pthread_once_t = ::core::ffi::c_int;
1607#[repr(C)]
1608#[derive(Copy, Clone)]
1609pub union pthread_attr_t {
1610 pub __size: [::core::ffi::c_char; 56usize],
1611 pub __align: ::core::ffi::c_long,
1612}
1613impl Default for pthread_attr_t {
1614 fn default() -> Self {
1615 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1616 unsafe {
1617 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1618 s.assume_init()
1619 }
1620 }
1621}
1622impl ::core::fmt::Debug for pthread_attr_t {
1623 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1624 write!(f, "pthread_attr_t {{ union }}")
1625 }
1626}
1627#[repr(C)]
1628#[derive(Copy, Clone)]
1629pub union pthread_mutex_t {
1630 pub __data: __pthread_mutex_s,
1631 pub __size: [::core::ffi::c_char; 40usize],
1632 pub __align: ::core::ffi::c_long,
1633}
1634impl Default for pthread_mutex_t {
1635 fn default() -> Self {
1636 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1637 unsafe {
1638 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1639 s.assume_init()
1640 }
1641 }
1642}
1643impl ::core::fmt::Debug for pthread_mutex_t {
1644 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1645 write!(f, "pthread_mutex_t {{ union }}")
1646 }
1647}
1648#[repr(C)]
1649#[derive(Copy, Clone)]
1650pub union pthread_cond_t {
1651 pub __data: __pthread_cond_s,
1652 pub __size: [::core::ffi::c_char; 48usize],
1653 pub __align: ::core::ffi::c_longlong,
1654}
1655impl Default for pthread_cond_t {
1656 fn default() -> Self {
1657 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1658 unsafe {
1659 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1660 s.assume_init()
1661 }
1662 }
1663}
1664impl ::core::fmt::Debug for pthread_cond_t {
1665 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1666 write!(f, "pthread_cond_t {{ union }}")
1667 }
1668}
1669#[repr(C)]
1670#[derive(Copy, Clone)]
1671pub union pthread_rwlock_t {
1672 pub __data: __pthread_rwlock_arch_t,
1673 pub __size: [::core::ffi::c_char; 56usize],
1674 pub __align: ::core::ffi::c_long,
1675}
1676impl Default for pthread_rwlock_t {
1677 fn default() -> Self {
1678 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1679 unsafe {
1680 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1681 s.assume_init()
1682 }
1683 }
1684}
1685impl ::core::fmt::Debug for pthread_rwlock_t {
1686 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1687 write!(f, "pthread_rwlock_t {{ union }}")
1688 }
1689}
1690#[repr(C)]
1691#[derive(Copy, Clone)]
1692pub union pthread_rwlockattr_t {
1693 pub __size: [::core::ffi::c_char; 8usize],
1694 pub __align: ::core::ffi::c_long,
1695}
1696impl Default for pthread_rwlockattr_t {
1697 fn default() -> Self {
1698 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1699 unsafe {
1700 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1701 s.assume_init()
1702 }
1703 }
1704}
1705impl ::core::fmt::Debug for pthread_rwlockattr_t {
1706 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1707 write!(f, "pthread_rwlockattr_t {{ union }}")
1708 }
1709}
1710pub type pthread_spinlock_t = ::core::ffi::c_int;
1711#[repr(C)]
1712#[derive(Copy, Clone)]
1713pub union pthread_barrier_t {
1714 pub __size: [::core::ffi::c_char; 32usize],
1715 pub __align: ::core::ffi::c_long,
1716}
1717impl Default for pthread_barrier_t {
1718 fn default() -> Self {
1719 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1720 unsafe {
1721 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1722 s.assume_init()
1723 }
1724 }
1725}
1726impl ::core::fmt::Debug for pthread_barrier_t {
1727 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1728 write!(f, "pthread_barrier_t {{ union }}")
1729 }
1730}
1731#[repr(C)]
1732#[derive(Copy, Clone)]
1733pub union pthread_barrierattr_t {
1734 pub __size: [::core::ffi::c_char; 4usize],
1735 pub __align: ::core::ffi::c_int,
1736}
1737impl Default for pthread_barrierattr_t {
1738 fn default() -> Self {
1739 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1740 unsafe {
1741 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1742 s.assume_init()
1743 }
1744 }
1745}
1746impl ::core::fmt::Debug for pthread_barrierattr_t {
1747 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1748 write!(f, "pthread_barrierattr_t {{ union }}")
1749 }
1750}
1751pub type __jmp_buf = [::core::ffi::c_long; 8usize];
1752#[repr(C)]
1753#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1754pub struct __sigset_t {
1755 pub __val: [::core::ffi::c_ulong; 16usize],
1756}
1757#[repr(C)]
1758#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1759pub struct __jmp_buf_tag {
1760 pub __jmpbuf: __jmp_buf,
1761 pub __mask_was_saved: ::core::ffi::c_int,
1762 pub __bindgen_padding_0: [u8; 4usize],
1763 pub __saved_mask: __sigset_t,
1764}
1765pub const PTHREAD_CREATE_JOINABLE: _bindgen_ty_1 = _bindgen_ty_1::PTHREAD_CREATE_JOINABLE;
1766pub const PTHREAD_CREATE_DETACHED: _bindgen_ty_1 = _bindgen_ty_1::PTHREAD_CREATE_DETACHED;
1767#[repr(u32)]
1768#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1769pub enum _bindgen_ty_1 {
1770 PTHREAD_CREATE_JOINABLE = 0,
1771 PTHREAD_CREATE_DETACHED = 1,
1772}
1773pub const PTHREAD_MUTEX_TIMED_NP: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_TIMED_NP;
1774pub const PTHREAD_MUTEX_RECURSIVE_NP: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_RECURSIVE_NP;
1775pub const PTHREAD_MUTEX_ERRORCHECK_NP: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_ERRORCHECK_NP;
1776pub const PTHREAD_MUTEX_ADAPTIVE_NP: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_ADAPTIVE_NP;
1777pub const PTHREAD_MUTEX_NORMAL: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_TIMED_NP;
1778pub const PTHREAD_MUTEX_RECURSIVE: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_RECURSIVE_NP;
1779pub const PTHREAD_MUTEX_ERRORCHECK: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_ERRORCHECK_NP;
1780pub const PTHREAD_MUTEX_DEFAULT: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_TIMED_NP;
1781#[repr(u32)]
1782#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1783pub enum _bindgen_ty_2 {
1784 PTHREAD_MUTEX_TIMED_NP = 0,
1785 PTHREAD_MUTEX_RECURSIVE_NP = 1,
1786 PTHREAD_MUTEX_ERRORCHECK_NP = 2,
1787 PTHREAD_MUTEX_ADAPTIVE_NP = 3,
1788}
1789pub const PTHREAD_MUTEX_STALLED: _bindgen_ty_3 = _bindgen_ty_3::PTHREAD_MUTEX_STALLED;
1790pub const PTHREAD_MUTEX_STALLED_NP: _bindgen_ty_3 = _bindgen_ty_3::PTHREAD_MUTEX_STALLED;
1791pub const PTHREAD_MUTEX_ROBUST: _bindgen_ty_3 = _bindgen_ty_3::PTHREAD_MUTEX_ROBUST;
1792pub const PTHREAD_MUTEX_ROBUST_NP: _bindgen_ty_3 = _bindgen_ty_3::PTHREAD_MUTEX_ROBUST;
1793#[repr(u32)]
1794#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1795pub enum _bindgen_ty_3 {
1796 PTHREAD_MUTEX_STALLED = 0,
1797 PTHREAD_MUTEX_ROBUST = 1,
1798}
1799pub const PTHREAD_PRIO_NONE: _bindgen_ty_4 = _bindgen_ty_4::PTHREAD_PRIO_NONE;
1800pub const PTHREAD_PRIO_INHERIT: _bindgen_ty_4 = _bindgen_ty_4::PTHREAD_PRIO_INHERIT;
1801pub const PTHREAD_PRIO_PROTECT: _bindgen_ty_4 = _bindgen_ty_4::PTHREAD_PRIO_PROTECT;
1802#[repr(u32)]
1803#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1804pub enum _bindgen_ty_4 {
1805 PTHREAD_PRIO_NONE = 0,
1806 PTHREAD_PRIO_INHERIT = 1,
1807 PTHREAD_PRIO_PROTECT = 2,
1808}
1809pub const PTHREAD_RWLOCK_PREFER_READER_NP: _bindgen_ty_5 =
1810 _bindgen_ty_5::PTHREAD_RWLOCK_PREFER_READER_NP;
1811pub const PTHREAD_RWLOCK_PREFER_WRITER_NP: _bindgen_ty_5 =
1812 _bindgen_ty_5::PTHREAD_RWLOCK_PREFER_WRITER_NP;
1813pub const PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP: _bindgen_ty_5 =
1814 _bindgen_ty_5::PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP;
1815pub const PTHREAD_RWLOCK_DEFAULT_NP: _bindgen_ty_5 = _bindgen_ty_5::PTHREAD_RWLOCK_PREFER_READER_NP;
1816#[repr(u32)]
1817#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1818pub enum _bindgen_ty_5 {
1819 PTHREAD_RWLOCK_PREFER_READER_NP = 0,
1820 PTHREAD_RWLOCK_PREFER_WRITER_NP = 1,
1821 PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP = 2,
1822}
1823pub const PTHREAD_INHERIT_SCHED: _bindgen_ty_6 = _bindgen_ty_6::PTHREAD_INHERIT_SCHED;
1824pub const PTHREAD_EXPLICIT_SCHED: _bindgen_ty_6 = _bindgen_ty_6::PTHREAD_EXPLICIT_SCHED;
1825#[repr(u32)]
1826#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1827pub enum _bindgen_ty_6 {
1828 PTHREAD_INHERIT_SCHED = 0,
1829 PTHREAD_EXPLICIT_SCHED = 1,
1830}
1831pub const PTHREAD_SCOPE_SYSTEM: _bindgen_ty_7 = _bindgen_ty_7::PTHREAD_SCOPE_SYSTEM;
1832pub const PTHREAD_SCOPE_PROCESS: _bindgen_ty_7 = _bindgen_ty_7::PTHREAD_SCOPE_PROCESS;
1833#[repr(u32)]
1834#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1835pub enum _bindgen_ty_7 {
1836 PTHREAD_SCOPE_SYSTEM = 0,
1837 PTHREAD_SCOPE_PROCESS = 1,
1838}
1839pub const PTHREAD_PROCESS_PRIVATE: _bindgen_ty_8 = _bindgen_ty_8::PTHREAD_PROCESS_PRIVATE;
1840pub const PTHREAD_PROCESS_SHARED: _bindgen_ty_8 = _bindgen_ty_8::PTHREAD_PROCESS_SHARED;
1841#[repr(u32)]
1842#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1843pub enum _bindgen_ty_8 {
1844 PTHREAD_PROCESS_PRIVATE = 0,
1845 PTHREAD_PROCESS_SHARED = 1,
1846}
1847#[repr(C)]
1848#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1849pub struct _pthread_cleanup_buffer {
1850 pub __routine: ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void)>,
1851 pub __arg: *mut ::core::ffi::c_void,
1852 pub __canceltype: ::core::ffi::c_int,
1853 pub __bindgen_padding_0: [u8; 4usize],
1854 pub __prev: *mut _pthread_cleanup_buffer,
1855}
1856impl Default for _pthread_cleanup_buffer {
1857 fn default() -> Self {
1858 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1859 unsafe {
1860 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1861 s.assume_init()
1862 }
1863 }
1864}
1865pub const PTHREAD_CANCEL_ENABLE: _bindgen_ty_9 = _bindgen_ty_9::PTHREAD_CANCEL_ENABLE;
1866pub const PTHREAD_CANCEL_DISABLE: _bindgen_ty_9 = _bindgen_ty_9::PTHREAD_CANCEL_DISABLE;
1867#[repr(u32)]
1868#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1869pub enum _bindgen_ty_9 {
1870 PTHREAD_CANCEL_ENABLE = 0,
1871 PTHREAD_CANCEL_DISABLE = 1,
1872}
1873pub const PTHREAD_CANCEL_DEFERRED: _bindgen_ty_10 = _bindgen_ty_10::PTHREAD_CANCEL_DEFERRED;
1874pub const PTHREAD_CANCEL_ASYNCHRONOUS: _bindgen_ty_10 = _bindgen_ty_10::PTHREAD_CANCEL_ASYNCHRONOUS;
1875#[repr(u32)]
1876#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1877pub enum _bindgen_ty_10 {
1878 PTHREAD_CANCEL_DEFERRED = 0,
1879 PTHREAD_CANCEL_ASYNCHRONOUS = 1,
1880}
1881unsafe extern "C" {
1882 pub fn pthread_create(
1883 __newthread: *mut pthread_t,
1884 __attr: *const pthread_attr_t,
1885 __start_routine: ::core::option::Option<
1886 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> *mut ::core::ffi::c_void,
1887 >,
1888 __arg: *mut ::core::ffi::c_void,
1889 ) -> ::core::ffi::c_int;
1890}
1891unsafe extern "C" {
1892 pub fn pthread_exit(__retval: *mut ::core::ffi::c_void) -> !;
1893}
1894unsafe extern "C" {
1895 pub fn pthread_join(
1896 __th: pthread_t,
1897 __thread_return: *mut *mut ::core::ffi::c_void,
1898 ) -> ::core::ffi::c_int;
1899}
1900unsafe extern "C" {
1901 pub fn pthread_detach(__th: pthread_t) -> ::core::ffi::c_int;
1902}
1903unsafe extern "C" {
1904 pub fn pthread_self() -> pthread_t;
1905}
1906unsafe extern "C" {
1907 pub fn pthread_equal(__thread1: pthread_t, __thread2: pthread_t) -> ::core::ffi::c_int;
1908}
1909unsafe extern "C" {
1910 pub fn pthread_attr_init(__attr: *mut pthread_attr_t) -> ::core::ffi::c_int;
1911}
1912unsafe extern "C" {
1913 pub fn pthread_attr_destroy(__attr: *mut pthread_attr_t) -> ::core::ffi::c_int;
1914}
1915unsafe extern "C" {
1916 pub fn pthread_attr_getdetachstate(
1917 __attr: *const pthread_attr_t,
1918 __detachstate: *mut ::core::ffi::c_int,
1919 ) -> ::core::ffi::c_int;
1920}
1921unsafe extern "C" {
1922 pub fn pthread_attr_setdetachstate(
1923 __attr: *mut pthread_attr_t,
1924 __detachstate: ::core::ffi::c_int,
1925 ) -> ::core::ffi::c_int;
1926}
1927unsafe extern "C" {
1928 pub fn pthread_attr_getguardsize(
1929 __attr: *const pthread_attr_t,
1930 __guardsize: *mut usize,
1931 ) -> ::core::ffi::c_int;
1932}
1933unsafe extern "C" {
1934 pub fn pthread_attr_setguardsize(
1935 __attr: *mut pthread_attr_t,
1936 __guardsize: usize,
1937 ) -> ::core::ffi::c_int;
1938}
1939unsafe extern "C" {
1940 pub fn pthread_attr_getschedparam(
1941 __attr: *const pthread_attr_t,
1942 __param: *mut sched_param,
1943 ) -> ::core::ffi::c_int;
1944}
1945unsafe extern "C" {
1946 pub fn pthread_attr_setschedparam(
1947 __attr: *mut pthread_attr_t,
1948 __param: *const sched_param,
1949 ) -> ::core::ffi::c_int;
1950}
1951unsafe extern "C" {
1952 pub fn pthread_attr_getschedpolicy(
1953 __attr: *const pthread_attr_t,
1954 __policy: *mut ::core::ffi::c_int,
1955 ) -> ::core::ffi::c_int;
1956}
1957unsafe extern "C" {
1958 pub fn pthread_attr_setschedpolicy(
1959 __attr: *mut pthread_attr_t,
1960 __policy: ::core::ffi::c_int,
1961 ) -> ::core::ffi::c_int;
1962}
1963unsafe extern "C" {
1964 pub fn pthread_attr_getinheritsched(
1965 __attr: *const pthread_attr_t,
1966 __inherit: *mut ::core::ffi::c_int,
1967 ) -> ::core::ffi::c_int;
1968}
1969unsafe extern "C" {
1970 pub fn pthread_attr_setinheritsched(
1971 __attr: *mut pthread_attr_t,
1972 __inherit: ::core::ffi::c_int,
1973 ) -> ::core::ffi::c_int;
1974}
1975unsafe extern "C" {
1976 pub fn pthread_attr_getscope(
1977 __attr: *const pthread_attr_t,
1978 __scope: *mut ::core::ffi::c_int,
1979 ) -> ::core::ffi::c_int;
1980}
1981unsafe extern "C" {
1982 pub fn pthread_attr_setscope(
1983 __attr: *mut pthread_attr_t,
1984 __scope: ::core::ffi::c_int,
1985 ) -> ::core::ffi::c_int;
1986}
1987unsafe extern "C" {
1988 pub fn pthread_attr_getstackaddr(
1989 __attr: *const pthread_attr_t,
1990 __stackaddr: *mut *mut ::core::ffi::c_void,
1991 ) -> ::core::ffi::c_int;
1992}
1993unsafe extern "C" {
1994 pub fn pthread_attr_setstackaddr(
1995 __attr: *mut pthread_attr_t,
1996 __stackaddr: *mut ::core::ffi::c_void,
1997 ) -> ::core::ffi::c_int;
1998}
1999unsafe extern "C" {
2000 pub fn pthread_attr_getstacksize(
2001 __attr: *const pthread_attr_t,
2002 __stacksize: *mut usize,
2003 ) -> ::core::ffi::c_int;
2004}
2005unsafe extern "C" {
2006 pub fn pthread_attr_setstacksize(
2007 __attr: *mut pthread_attr_t,
2008 __stacksize: usize,
2009 ) -> ::core::ffi::c_int;
2010}
2011unsafe extern "C" {
2012 pub fn pthread_attr_getstack(
2013 __attr: *const pthread_attr_t,
2014 __stackaddr: *mut *mut ::core::ffi::c_void,
2015 __stacksize: *mut usize,
2016 ) -> ::core::ffi::c_int;
2017}
2018unsafe extern "C" {
2019 pub fn pthread_attr_setstack(
2020 __attr: *mut pthread_attr_t,
2021 __stackaddr: *mut ::core::ffi::c_void,
2022 __stacksize: usize,
2023 ) -> ::core::ffi::c_int;
2024}
2025unsafe extern "C" {
2026 pub fn pthread_setschedparam(
2027 __target_thread: pthread_t,
2028 __policy: ::core::ffi::c_int,
2029 __param: *const sched_param,
2030 ) -> ::core::ffi::c_int;
2031}
2032unsafe extern "C" {
2033 pub fn pthread_getschedparam(
2034 __target_thread: pthread_t,
2035 __policy: *mut ::core::ffi::c_int,
2036 __param: *mut sched_param,
2037 ) -> ::core::ffi::c_int;
2038}
2039unsafe extern "C" {
2040 pub fn pthread_setschedprio(
2041 __target_thread: pthread_t,
2042 __prio: ::core::ffi::c_int,
2043 ) -> ::core::ffi::c_int;
2044}
2045unsafe extern "C" {
2046 pub fn pthread_once(
2047 __once_control: *mut pthread_once_t,
2048 __init_routine: ::core::option::Option<unsafe extern "C" fn()>,
2049 ) -> ::core::ffi::c_int;
2050}
2051unsafe extern "C" {
2052 pub fn pthread_setcancelstate(
2053 __state: ::core::ffi::c_int,
2054 __oldstate: *mut ::core::ffi::c_int,
2055 ) -> ::core::ffi::c_int;
2056}
2057unsafe extern "C" {
2058 pub fn pthread_setcanceltype(
2059 __type: ::core::ffi::c_int,
2060 __oldtype: *mut ::core::ffi::c_int,
2061 ) -> ::core::ffi::c_int;
2062}
2063unsafe extern "C" {
2064 pub fn pthread_cancel(__th: pthread_t) -> ::core::ffi::c_int;
2065}
2066unsafe extern "C" {
2067 pub fn pthread_testcancel();
2068}
2069#[repr(C)]
2070#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2071pub struct __cancel_jmp_buf_tag {
2072 pub __cancel_jmp_buf: __jmp_buf,
2073 pub __mask_was_saved: ::core::ffi::c_int,
2074 pub __bindgen_padding_0: [u8; 4usize],
2075}
2076#[repr(C)]
2077#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2078pub struct __pthread_unwind_buf_t {
2079 pub __cancel_jmp_buf: [__cancel_jmp_buf_tag; 1usize],
2080 pub __pad: [*mut ::core::ffi::c_void; 4usize],
2081}
2082impl Default for __pthread_unwind_buf_t {
2083 fn default() -> Self {
2084 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
2085 unsafe {
2086 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2087 s.assume_init()
2088 }
2089 }
2090}
2091#[repr(C)]
2092#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2093pub struct __pthread_cleanup_frame {
2094 pub __cancel_routine:
2095 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void)>,
2096 pub __cancel_arg: *mut ::core::ffi::c_void,
2097 pub __do_it: ::core::ffi::c_int,
2098 pub __cancel_type: ::core::ffi::c_int,
2099}
2100impl Default for __pthread_cleanup_frame {
2101 fn default() -> Self {
2102 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
2103 unsafe {
2104 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2105 s.assume_init()
2106 }
2107 }
2108}
2109unsafe extern "C" {
2110 pub fn __pthread_register_cancel(__buf: *mut __pthread_unwind_buf_t);
2111}
2112unsafe extern "C" {
2113 pub fn __pthread_unregister_cancel(__buf: *mut __pthread_unwind_buf_t);
2114}
2115unsafe extern "C" {
2116 pub fn __pthread_unwind_next(__buf: *mut __pthread_unwind_buf_t) -> !;
2117}
2118unsafe extern "C" {
2119 pub fn __sigsetjmp(
2120 __env: *mut __jmp_buf_tag,
2121 __savemask: ::core::ffi::c_int,
2122 ) -> ::core::ffi::c_int;
2123}
2124unsafe extern "C" {
2125 pub fn pthread_mutex_init(
2126 __mutex: *mut pthread_mutex_t,
2127 __mutexattr: *const pthread_mutexattr_t,
2128 ) -> ::core::ffi::c_int;
2129}
2130unsafe extern "C" {
2131 pub fn pthread_mutex_destroy(__mutex: *mut pthread_mutex_t) -> ::core::ffi::c_int;
2132}
2133unsafe extern "C" {
2134 pub fn pthread_mutex_trylock(__mutex: *mut pthread_mutex_t) -> ::core::ffi::c_int;
2135}
2136unsafe extern "C" {
2137 pub fn pthread_mutex_lock(__mutex: *mut pthread_mutex_t) -> ::core::ffi::c_int;
2138}
2139unsafe extern "C" {
2140 pub fn pthread_mutex_timedlock(
2141 __mutex: *mut pthread_mutex_t,
2142 __abstime: *const timespec,
2143 ) -> ::core::ffi::c_int;
2144}
2145unsafe extern "C" {
2146 pub fn pthread_mutex_unlock(__mutex: *mut pthread_mutex_t) -> ::core::ffi::c_int;
2147}
2148unsafe extern "C" {
2149 pub fn pthread_mutex_getprioceiling(
2150 __mutex: *const pthread_mutex_t,
2151 __prioceiling: *mut ::core::ffi::c_int,
2152 ) -> ::core::ffi::c_int;
2153}
2154unsafe extern "C" {
2155 pub fn pthread_mutex_setprioceiling(
2156 __mutex: *mut pthread_mutex_t,
2157 __prioceiling: ::core::ffi::c_int,
2158 __old_ceiling: *mut ::core::ffi::c_int,
2159 ) -> ::core::ffi::c_int;
2160}
2161unsafe extern "C" {
2162 pub fn pthread_mutex_consistent(__mutex: *mut pthread_mutex_t) -> ::core::ffi::c_int;
2163}
2164unsafe extern "C" {
2165 pub fn pthread_mutexattr_init(__attr: *mut pthread_mutexattr_t) -> ::core::ffi::c_int;
2166}
2167unsafe extern "C" {
2168 pub fn pthread_mutexattr_destroy(__attr: *mut pthread_mutexattr_t) -> ::core::ffi::c_int;
2169}
2170unsafe extern "C" {
2171 pub fn pthread_mutexattr_getpshared(
2172 __attr: *const pthread_mutexattr_t,
2173 __pshared: *mut ::core::ffi::c_int,
2174 ) -> ::core::ffi::c_int;
2175}
2176unsafe extern "C" {
2177 pub fn pthread_mutexattr_setpshared(
2178 __attr: *mut pthread_mutexattr_t,
2179 __pshared: ::core::ffi::c_int,
2180 ) -> ::core::ffi::c_int;
2181}
2182unsafe extern "C" {
2183 pub fn pthread_mutexattr_gettype(
2184 __attr: *const pthread_mutexattr_t,
2185 __kind: *mut ::core::ffi::c_int,
2186 ) -> ::core::ffi::c_int;
2187}
2188unsafe extern "C" {
2189 pub fn pthread_mutexattr_settype(
2190 __attr: *mut pthread_mutexattr_t,
2191 __kind: ::core::ffi::c_int,
2192 ) -> ::core::ffi::c_int;
2193}
2194unsafe extern "C" {
2195 pub fn pthread_mutexattr_getprotocol(
2196 __attr: *const pthread_mutexattr_t,
2197 __protocol: *mut ::core::ffi::c_int,
2198 ) -> ::core::ffi::c_int;
2199}
2200unsafe extern "C" {
2201 pub fn pthread_mutexattr_setprotocol(
2202 __attr: *mut pthread_mutexattr_t,
2203 __protocol: ::core::ffi::c_int,
2204 ) -> ::core::ffi::c_int;
2205}
2206unsafe extern "C" {
2207 pub fn pthread_mutexattr_getprioceiling(
2208 __attr: *const pthread_mutexattr_t,
2209 __prioceiling: *mut ::core::ffi::c_int,
2210 ) -> ::core::ffi::c_int;
2211}
2212unsafe extern "C" {
2213 pub fn pthread_mutexattr_setprioceiling(
2214 __attr: *mut pthread_mutexattr_t,
2215 __prioceiling: ::core::ffi::c_int,
2216 ) -> ::core::ffi::c_int;
2217}
2218unsafe extern "C" {
2219 pub fn pthread_mutexattr_getrobust(
2220 __attr: *const pthread_mutexattr_t,
2221 __robustness: *mut ::core::ffi::c_int,
2222 ) -> ::core::ffi::c_int;
2223}
2224unsafe extern "C" {
2225 pub fn pthread_mutexattr_setrobust(
2226 __attr: *mut pthread_mutexattr_t,
2227 __robustness: ::core::ffi::c_int,
2228 ) -> ::core::ffi::c_int;
2229}
2230unsafe extern "C" {
2231 pub fn pthread_rwlock_init(
2232 __rwlock: *mut pthread_rwlock_t,
2233 __attr: *const pthread_rwlockattr_t,
2234 ) -> ::core::ffi::c_int;
2235}
2236unsafe extern "C" {
2237 pub fn pthread_rwlock_destroy(__rwlock: *mut pthread_rwlock_t) -> ::core::ffi::c_int;
2238}
2239unsafe extern "C" {
2240 pub fn pthread_rwlock_rdlock(__rwlock: *mut pthread_rwlock_t) -> ::core::ffi::c_int;
2241}
2242unsafe extern "C" {
2243 pub fn pthread_rwlock_tryrdlock(__rwlock: *mut pthread_rwlock_t) -> ::core::ffi::c_int;
2244}
2245unsafe extern "C" {
2246 pub fn pthread_rwlock_timedrdlock(
2247 __rwlock: *mut pthread_rwlock_t,
2248 __abstime: *const timespec,
2249 ) -> ::core::ffi::c_int;
2250}
2251unsafe extern "C" {
2252 pub fn pthread_rwlock_wrlock(__rwlock: *mut pthread_rwlock_t) -> ::core::ffi::c_int;
2253}
2254unsafe extern "C" {
2255 pub fn pthread_rwlock_trywrlock(__rwlock: *mut pthread_rwlock_t) -> ::core::ffi::c_int;
2256}
2257unsafe extern "C" {
2258 pub fn pthread_rwlock_timedwrlock(
2259 __rwlock: *mut pthread_rwlock_t,
2260 __abstime: *const timespec,
2261 ) -> ::core::ffi::c_int;
2262}
2263unsafe extern "C" {
2264 pub fn pthread_rwlock_unlock(__rwlock: *mut pthread_rwlock_t) -> ::core::ffi::c_int;
2265}
2266unsafe extern "C" {
2267 pub fn pthread_rwlockattr_init(__attr: *mut pthread_rwlockattr_t) -> ::core::ffi::c_int;
2268}
2269unsafe extern "C" {
2270 pub fn pthread_rwlockattr_destroy(__attr: *mut pthread_rwlockattr_t) -> ::core::ffi::c_int;
2271}
2272unsafe extern "C" {
2273 pub fn pthread_rwlockattr_getpshared(
2274 __attr: *const pthread_rwlockattr_t,
2275 __pshared: *mut ::core::ffi::c_int,
2276 ) -> ::core::ffi::c_int;
2277}
2278unsafe extern "C" {
2279 pub fn pthread_rwlockattr_setpshared(
2280 __attr: *mut pthread_rwlockattr_t,
2281 __pshared: ::core::ffi::c_int,
2282 ) -> ::core::ffi::c_int;
2283}
2284unsafe extern "C" {
2285 pub fn pthread_rwlockattr_getkind_np(
2286 __attr: *const pthread_rwlockattr_t,
2287 __pref: *mut ::core::ffi::c_int,
2288 ) -> ::core::ffi::c_int;
2289}
2290unsafe extern "C" {
2291 pub fn pthread_rwlockattr_setkind_np(
2292 __attr: *mut pthread_rwlockattr_t,
2293 __pref: ::core::ffi::c_int,
2294 ) -> ::core::ffi::c_int;
2295}
2296unsafe extern "C" {
2297 pub fn pthread_cond_init(
2298 __cond: *mut pthread_cond_t,
2299 __cond_attr: *const pthread_condattr_t,
2300 ) -> ::core::ffi::c_int;
2301}
2302unsafe extern "C" {
2303 pub fn pthread_cond_destroy(__cond: *mut pthread_cond_t) -> ::core::ffi::c_int;
2304}
2305unsafe extern "C" {
2306 pub fn pthread_cond_signal(__cond: *mut pthread_cond_t) -> ::core::ffi::c_int;
2307}
2308unsafe extern "C" {
2309 pub fn pthread_cond_broadcast(__cond: *mut pthread_cond_t) -> ::core::ffi::c_int;
2310}
2311unsafe extern "C" {
2312 pub fn pthread_cond_wait(
2313 __cond: *mut pthread_cond_t,
2314 __mutex: *mut pthread_mutex_t,
2315 ) -> ::core::ffi::c_int;
2316}
2317unsafe extern "C" {
2318 pub fn pthread_cond_timedwait(
2319 __cond: *mut pthread_cond_t,
2320 __mutex: *mut pthread_mutex_t,
2321 __abstime: *const timespec,
2322 ) -> ::core::ffi::c_int;
2323}
2324unsafe extern "C" {
2325 pub fn pthread_condattr_init(__attr: *mut pthread_condattr_t) -> ::core::ffi::c_int;
2326}
2327unsafe extern "C" {
2328 pub fn pthread_condattr_destroy(__attr: *mut pthread_condattr_t) -> ::core::ffi::c_int;
2329}
2330unsafe extern "C" {
2331 pub fn pthread_condattr_getpshared(
2332 __attr: *const pthread_condattr_t,
2333 __pshared: *mut ::core::ffi::c_int,
2334 ) -> ::core::ffi::c_int;
2335}
2336unsafe extern "C" {
2337 pub fn pthread_condattr_setpshared(
2338 __attr: *mut pthread_condattr_t,
2339 __pshared: ::core::ffi::c_int,
2340 ) -> ::core::ffi::c_int;
2341}
2342unsafe extern "C" {
2343 pub fn pthread_condattr_getclock(
2344 __attr: *const pthread_condattr_t,
2345 __clock_id: *mut __clockid_t,
2346 ) -> ::core::ffi::c_int;
2347}
2348unsafe extern "C" {
2349 pub fn pthread_condattr_setclock(
2350 __attr: *mut pthread_condattr_t,
2351 __clock_id: __clockid_t,
2352 ) -> ::core::ffi::c_int;
2353}
2354unsafe extern "C" {
2355 pub fn pthread_spin_init(
2356 __lock: *mut pthread_spinlock_t,
2357 __pshared: ::core::ffi::c_int,
2358 ) -> ::core::ffi::c_int;
2359}
2360unsafe extern "C" {
2361 pub fn pthread_spin_destroy(__lock: *mut pthread_spinlock_t) -> ::core::ffi::c_int;
2362}
2363unsafe extern "C" {
2364 pub fn pthread_spin_lock(__lock: *mut pthread_spinlock_t) -> ::core::ffi::c_int;
2365}
2366unsafe extern "C" {
2367 pub fn pthread_spin_trylock(__lock: *mut pthread_spinlock_t) -> ::core::ffi::c_int;
2368}
2369unsafe extern "C" {
2370 pub fn pthread_spin_unlock(__lock: *mut pthread_spinlock_t) -> ::core::ffi::c_int;
2371}
2372unsafe extern "C" {
2373 pub fn pthread_barrier_init(
2374 __barrier: *mut pthread_barrier_t,
2375 __attr: *const pthread_barrierattr_t,
2376 __count: ::core::ffi::c_uint,
2377 ) -> ::core::ffi::c_int;
2378}
2379unsafe extern "C" {
2380 pub fn pthread_barrier_destroy(__barrier: *mut pthread_barrier_t) -> ::core::ffi::c_int;
2381}
2382unsafe extern "C" {
2383 pub fn pthread_barrier_wait(__barrier: *mut pthread_barrier_t) -> ::core::ffi::c_int;
2384}
2385unsafe extern "C" {
2386 pub fn pthread_barrierattr_init(__attr: *mut pthread_barrierattr_t) -> ::core::ffi::c_int;
2387}
2388unsafe extern "C" {
2389 pub fn pthread_barrierattr_destroy(__attr: *mut pthread_barrierattr_t) -> ::core::ffi::c_int;
2390}
2391unsafe extern "C" {
2392 pub fn pthread_barrierattr_getpshared(
2393 __attr: *const pthread_barrierattr_t,
2394 __pshared: *mut ::core::ffi::c_int,
2395 ) -> ::core::ffi::c_int;
2396}
2397unsafe extern "C" {
2398 pub fn pthread_barrierattr_setpshared(
2399 __attr: *mut pthread_barrierattr_t,
2400 __pshared: ::core::ffi::c_int,
2401 ) -> ::core::ffi::c_int;
2402}
2403unsafe extern "C" {
2404 pub fn pthread_key_create(
2405 __key: *mut pthread_key_t,
2406 __destr_function: ::core::option::Option<
2407 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
2408 >,
2409 ) -> ::core::ffi::c_int;
2410}
2411unsafe extern "C" {
2412 pub fn pthread_key_delete(__key: pthread_key_t) -> ::core::ffi::c_int;
2413}
2414unsafe extern "C" {
2415 pub fn pthread_getspecific(__key: pthread_key_t) -> *mut ::core::ffi::c_void;
2416}
2417unsafe extern "C" {
2418 pub fn pthread_setspecific(
2419 __key: pthread_key_t,
2420 __pointer: *const ::core::ffi::c_void,
2421 ) -> ::core::ffi::c_int;
2422}
2423unsafe extern "C" {
2424 pub fn pthread_getcpuclockid(
2425 __thread_id: pthread_t,
2426 __clock_id: *mut __clockid_t,
2427 ) -> ::core::ffi::c_int;
2428}
2429unsafe extern "C" {
2430 pub fn pthread_atfork(
2431 __prepare: ::core::option::Option<unsafe extern "C" fn()>,
2432 __parent: ::core::option::Option<unsafe extern "C" fn()>,
2433 __child: ::core::option::Option<unsafe extern "C" fn()>,
2434 ) -> ::core::ffi::c_int;
2435}
2436#[repr(C)]
2437#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2438pub struct CThread {
2439 pub _tid: pthread_t,
2440 pub _created: ::core::ffi::c_int,
2441 pub __bindgen_padding_0: [u8; 4usize],
2442}
2443unsafe extern "C" {
2444 pub fn Thread_Close(p: *mut CThread) -> WRes;
2445}
2446pub type THREAD_FUNC_RET_TYPE = *mut ::core::ffi::c_void;
2447pub type CAffinityMask = UInt64;
2448pub type CCpuSet = cpu_set_t;
2449pub type THREAD_FUNC_TYPE = ::core::option::Option<
2450 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> THREAD_FUNC_RET_TYPE,
2451>;
2452unsafe extern "C" {
2453 pub fn Thread_Create(p: *mut CThread, func: THREAD_FUNC_TYPE, param: LPVOID) -> WRes;
2454}
2455unsafe extern "C" {
2456 pub fn Thread_Create_With_Affinity(
2457 p: *mut CThread,
2458 func: THREAD_FUNC_TYPE,
2459 param: LPVOID,
2460 affinity: CAffinityMask,
2461 ) -> WRes;
2462}
2463unsafe extern "C" {
2464 pub fn Thread_Wait_Close(p: *mut CThread) -> WRes;
2465}
2466unsafe extern "C" {
2467 pub fn Thread_Create_With_CpuSet(
2468 p: *mut CThread,
2469 func: THREAD_FUNC_TYPE,
2470 param: LPVOID,
2471 cpuSet: *const CCpuSet,
2472 ) -> WRes;
2473}
2474#[repr(C)]
2475#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2476pub struct CThreadNextGroup {
2477 pub NumGroups: ::core::ffi::c_uint,
2478 pub NextGroup: ::core::ffi::c_uint,
2479}
2480unsafe extern "C" {
2481 pub fn ThreadNextGroup_Init(
2482 p: *mut CThreadNextGroup,
2483 numGroups: ::core::ffi::c_uint,
2484 startGroup: ::core::ffi::c_uint,
2485 );
2486}
2487unsafe extern "C" {
2488 pub fn ThreadNextGroup_GetNext(p: *mut CThreadNextGroup) -> ::core::ffi::c_uint;
2489}
2490#[repr(C)]
2491#[derive(Copy, Clone)]
2492pub struct CEvent {
2493 pub _created: ::core::ffi::c_int,
2494 pub _manual_reset: ::core::ffi::c_int,
2495 pub _state: ::core::ffi::c_int,
2496 pub __bindgen_padding_0: [u8; 4usize],
2497 pub _mutex: pthread_mutex_t,
2498 pub _cond: pthread_cond_t,
2499}
2500impl Default for CEvent {
2501 fn default() -> Self {
2502 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
2503 unsafe {
2504 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2505 s.assume_init()
2506 }
2507 }
2508}
2509impl ::core::fmt::Debug for CEvent {
2510 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2511 write!(
2512 f,
2513 "CEvent {{ _created: {:?}, _manual_reset: {:?}, _state: {:?}, _mutex: {:?}, _cond: {:?} }}",
2514 self._created, self._manual_reset, self._state, self._mutex, self._cond
2515 )
2516 }
2517}
2518pub type CAutoResetEvent = CEvent;
2519pub type CManualResetEvent = CEvent;
2520unsafe extern "C" {
2521 pub fn ManualResetEvent_Create(p: *mut CManualResetEvent, signaled: ::core::ffi::c_int)
2522 -> WRes;
2523}
2524unsafe extern "C" {
2525 pub fn ManualResetEvent_CreateNotSignaled(p: *mut CManualResetEvent) -> WRes;
2526}
2527unsafe extern "C" {
2528 pub fn AutoResetEvent_Create(p: *mut CAutoResetEvent, signaled: ::core::ffi::c_int) -> WRes;
2529}
2530unsafe extern "C" {
2531 pub fn AutoResetEvent_CreateNotSignaled(p: *mut CAutoResetEvent) -> WRes;
2532}
2533unsafe extern "C" {
2534 pub fn Event_Set(p: *mut CEvent) -> WRes;
2535}
2536unsafe extern "C" {
2537 pub fn Event_Reset(p: *mut CEvent) -> WRes;
2538}
2539unsafe extern "C" {
2540 pub fn Event_Wait(p: *mut CEvent) -> WRes;
2541}
2542unsafe extern "C" {
2543 pub fn Event_Close(p: *mut CEvent) -> WRes;
2544}
2545#[repr(C)]
2546#[derive(Copy, Clone)]
2547pub struct CSemaphore {
2548 pub _created: ::core::ffi::c_int,
2549 pub _count: UInt32,
2550 pub _maxCount: UInt32,
2551 pub __bindgen_padding_0: [u8; 4usize],
2552 pub _mutex: pthread_mutex_t,
2553 pub _cond: pthread_cond_t,
2554}
2555impl Default for CSemaphore {
2556 fn default() -> Self {
2557 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
2558 unsafe {
2559 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2560 s.assume_init()
2561 }
2562 }
2563}
2564impl ::core::fmt::Debug for CSemaphore {
2565 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2566 write!(
2567 f,
2568 "CSemaphore {{ _created: {:?}, _count: {:?}, _maxCount: {:?}, _mutex: {:?}, _cond: {:?} }}",
2569 self._created, self._count, self._maxCount, self._mutex, self._cond
2570 )
2571 }
2572}
2573unsafe extern "C" {
2574 pub fn Semaphore_Create(p: *mut CSemaphore, initCount: UInt32, maxCount: UInt32) -> WRes;
2575}
2576unsafe extern "C" {
2577 pub fn Semaphore_OptCreateInit(p: *mut CSemaphore, initCount: UInt32, maxCount: UInt32)
2578 -> WRes;
2579}
2580unsafe extern "C" {
2581 pub fn Semaphore_ReleaseN(p: *mut CSemaphore, num: UInt32) -> WRes;
2582}
2583unsafe extern "C" {
2584 pub fn Semaphore_Wait(p: *mut CSemaphore) -> WRes;
2585}
2586unsafe extern "C" {
2587 pub fn Semaphore_Close(p: *mut CSemaphore) -> WRes;
2588}
2589#[repr(C)]
2590#[derive(Copy, Clone)]
2591pub struct CCriticalSection {
2592 pub _mutex: pthread_mutex_t,
2593}
2594impl Default for CCriticalSection {
2595 fn default() -> Self {
2596 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
2597 unsafe {
2598 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2599 s.assume_init()
2600 }
2601 }
2602}
2603impl ::core::fmt::Debug for CCriticalSection {
2604 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2605 write!(f, "CCriticalSection {{ _mutex: {:?} }}", self._mutex)
2606 }
2607}
2608unsafe extern "C" {
2609 pub fn CriticalSection_Init(p: *mut CCriticalSection) -> WRes;
2610}
2611unsafe extern "C" {
2612 pub fn CriticalSection_Delete(cs: *mut CCriticalSection);
2613}
2614unsafe extern "C" {
2615 pub fn CriticalSection_Enter(cs: *mut CCriticalSection);
2616}
2617unsafe extern "C" {
2618 pub fn CriticalSection_Leave(cs: *mut CCriticalSection);
2619}
2620unsafe extern "C" {
2621 pub fn InterlockedIncrement(addend: *mut LONG) -> LONG;
2622}
2623unsafe extern "C" {
2624 pub fn InterlockedDecrement(addend: *mut LONG) -> LONG;
2625}
2626unsafe extern "C" {
2627 pub fn AutoResetEvent_OptCreate_And_Reset(p: *mut CAutoResetEvent) -> WRes;
2628}
2629#[repr(C)]
2630#[derive(Copy, Clone)]
2631pub struct CMtSync {
2632 pub numProcessedBlocks: UInt32,
2633 pub affinityGroup: Int32,
2634 pub affinityInGroup: UInt64,
2635 pub affinity: UInt64,
2636 pub thread: CThread,
2637 pub wasCreated: BoolInt,
2638 pub needStart: BoolInt,
2639 pub csWasInitialized: BoolInt,
2640 pub csWasEntered: BoolInt,
2641 pub exit: BoolInt,
2642 pub stopWriting: BoolInt,
2643 pub canStart: CAutoResetEvent,
2644 pub wasStopped: CAutoResetEvent,
2645 pub freeSemaphore: CSemaphore,
2646 pub filledSemaphore: CSemaphore,
2647 pub cs: CCriticalSection,
2648}
2649impl Default for CMtSync {
2650 fn default() -> Self {
2651 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
2652 unsafe {
2653 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2654 s.assume_init()
2655 }
2656 }
2657}
2658impl ::core::fmt::Debug for CMtSync {
2659 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2660 write!(
2661 f,
2662 "CMtSync {{ numProcessedBlocks: {:?}, affinityGroup: {:?}, affinityInGroup: {:?}, affinity: {:?}, thread: {:?}, wasCreated: {:?}, needStart: {:?}, csWasInitialized: {:?}, csWasEntered: {:?}, exit: {:?}, stopWriting: {:?}, canStart: {:?}, wasStopped: {:?}, freeSemaphore: {:?}, filledSemaphore: {:?}, cs: {:?} }}",
2663 self.numProcessedBlocks,
2664 self.affinityGroup,
2665 self.affinityInGroup,
2666 self.affinity,
2667 self.thread,
2668 self.wasCreated,
2669 self.needStart,
2670 self.csWasInitialized,
2671 self.csWasEntered,
2672 self.exit,
2673 self.stopWriting,
2674 self.canStart,
2675 self.wasStopped,
2676 self.freeSemaphore,
2677 self.filledSemaphore,
2678 self.cs
2679 )
2680 }
2681}
2682pub type Mf_Mix_Matches = ::core::option::Option<
2683 unsafe extern "C" fn(
2684 p: *mut CMatchFinderMt_,
2685 matchMinPos: UInt32,
2686 distances: *mut UInt32,
2687 ) -> *mut UInt32,
2688>;
2689pub type Mf_GetHeads = ::core::option::Option<
2690 unsafe extern "C" fn(
2691 buffer: *const Byte,
2692 pos: UInt32,
2693 hash: *mut UInt32,
2694 hashMask: UInt32,
2695 heads: *mut UInt32,
2696 numHeads: UInt32,
2697 crc: *const UInt32,
2698 ),
2699>;
2700#[repr(C)]
2701#[derive(Copy, Clone)]
2702pub struct CMatchFinderMt_ {
2703 pub pointerToCurPos: *const Byte,
2704 pub btBuf: *mut UInt32,
2705 pub btBufPos: *const UInt32,
2706 pub btBufPosLimit: *const UInt32,
2707 pub lzPos: UInt32,
2708 pub btNumAvailBytes: UInt32,
2709 pub hash: *mut UInt32,
2710 pub fixedHashSize: UInt32,
2711 pub historySize: UInt32,
2712 pub crc: *const UInt32,
2713 pub MixMatchesFunc: Mf_Mix_Matches,
2714 pub failure_LZ_BT: UInt32,
2715 pub failureBuf: [UInt32; 1usize],
2716 pub btSync: CMtSync,
2717 pub btDummy: [Byte; 128usize],
2718 pub hashBuf: *mut UInt32,
2719 pub hashBufPos: UInt32,
2720 pub hashBufPosLimit: UInt32,
2721 pub hashNumAvail: UInt32,
2722 pub failure_BT: UInt32,
2723 pub son: *mut CLzRef,
2724 pub matchMaxLen: UInt32,
2725 pub numHashBytes: UInt32,
2726 pub pos: UInt32,
2727 pub __bindgen_padding_0: [u8; 4usize],
2728 pub buffer: *const Byte,
2729 pub cyclicBufferPos: UInt32,
2730 pub cyclicBufferSize: UInt32,
2731 pub cutValue: UInt32,
2732 pub __bindgen_padding_1: [u8; 4usize],
2733 pub hashSync: CMtSync,
2734 pub GetHeadsFunc: Mf_GetHeads,
2735 pub MatchFinder: *mut CMatchFinder,
2736}
2737impl Default for CMatchFinderMt_ {
2738 fn default() -> Self {
2739 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
2740 unsafe {
2741 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2742 s.assume_init()
2743 }
2744 }
2745}
2746impl ::core::fmt::Debug for CMatchFinderMt_ {
2747 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2748 write!(
2749 f,
2750 "CMatchFinderMt_ {{ pointerToCurPos: {:?}, btBuf: {:?}, btBufPos: {:?}, btBufPosLimit: {:?}, lzPos: {:?}, btNumAvailBytes: {:?}, hash: {:?}, fixedHashSize: {:?}, historySize: {:?}, crc: {:?}, MixMatchesFunc: {:?}, failure_LZ_BT: {:?}, failureBuf: {:?}, btSync: {:?}, btDummy: {:?}, hashBuf: {:?}, hashBufPos: {:?}, hashBufPosLimit: {:?}, hashNumAvail: {:?}, failure_BT: {:?}, son: {:?}, matchMaxLen: {:?}, numHashBytes: {:?}, pos: {:?}, buffer: {:?}, cyclicBufferPos: {:?}, cyclicBufferSize: {:?}, cutValue: {:?}, hashSync: {:?}, GetHeadsFunc: {:?}, MatchFinder: {:?} }}",
2751 self.pointerToCurPos,
2752 self.btBuf,
2753 self.btBufPos,
2754 self.btBufPosLimit,
2755 self.lzPos,
2756 self.btNumAvailBytes,
2757 self.hash,
2758 self.fixedHashSize,
2759 self.historySize,
2760 self.crc,
2761 self.MixMatchesFunc,
2762 self.failure_LZ_BT,
2763 self.failureBuf,
2764 self.btSync,
2765 self.btDummy,
2766 self.hashBuf,
2767 self.hashBufPos,
2768 self.hashBufPosLimit,
2769 self.hashNumAvail,
2770 self.failure_BT,
2771 self.son,
2772 self.matchMaxLen,
2773 self.numHashBytes,
2774 self.pos,
2775 self.buffer,
2776 self.cyclicBufferPos,
2777 self.cyclicBufferSize,
2778 self.cutValue,
2779 self.hashSync,
2780 self.GetHeadsFunc,
2781 self.MatchFinder
2782 )
2783 }
2784}
2785pub type CMatchFinderMt = CMatchFinderMt_;
2786unsafe extern "C" {
2787 pub fn MatchFinderMt_Construct(p: *mut CMatchFinderMt);
2788}
2789unsafe extern "C" {
2790 pub fn MatchFinderMt_Destruct(p: *mut CMatchFinderMt, alloc: ISzAllocPtr);
2791}
2792unsafe extern "C" {
2793 pub fn MatchFinderMt_Create(
2794 p: *mut CMatchFinderMt,
2795 historySize: UInt32,
2796 keepAddBufferBefore: UInt32,
2797 matchMaxLen: UInt32,
2798 keepAddBufferAfter: UInt32,
2799 alloc: ISzAllocPtr,
2800 ) -> SRes;
2801}
2802unsafe extern "C" {
2803 pub fn MatchFinderMt_CreateVTable(p: *mut CMatchFinderMt, vTable: *mut IMatchFinder2);
2804}
2805unsafe extern "C" {
2806 pub fn MatchFinderMt_InitMt(p: *mut CMatchFinderMt) -> SRes;
2807}
2808unsafe extern "C" {
2809 pub fn MatchFinderMt_ReleaseStream(p: *mut CMatchFinderMt);
2810}
2811unsafe extern "C" {
2812 pub fn z7_x86_cpuid(a: *mut UInt32, function: UInt32);
2813}
2814unsafe extern "C" {
2815 pub fn z7_x86_cpuid_GetMaxFunc() -> UInt32;
2816}
2817unsafe extern "C" {
2818 pub fn CPU_IsSupported_AES() -> BoolInt;
2819}
2820unsafe extern "C" {
2821 pub fn CPU_IsSupported_AVX() -> BoolInt;
2822}
2823unsafe extern "C" {
2824 pub fn CPU_IsSupported_AVX2() -> BoolInt;
2825}
2826unsafe extern "C" {
2827 pub fn CPU_IsSupported_AVX512F_AVX512VL() -> BoolInt;
2828}
2829unsafe extern "C" {
2830 pub fn CPU_IsSupported_VAES_AVX2() -> BoolInt;
2831}
2832unsafe extern "C" {
2833 pub fn CPU_IsSupported_CMOV() -> BoolInt;
2834}
2835unsafe extern "C" {
2836 pub fn CPU_IsSupported_SSE() -> BoolInt;
2837}
2838unsafe extern "C" {
2839 pub fn CPU_IsSupported_SSE2() -> BoolInt;
2840}
2841unsafe extern "C" {
2842 pub fn CPU_IsSupported_SSSE3() -> BoolInt;
2843}
2844unsafe extern "C" {
2845 pub fn CPU_IsSupported_SSE41() -> BoolInt;
2846}
2847unsafe extern "C" {
2848 pub fn CPU_IsSupported_SHA() -> BoolInt;
2849}
2850unsafe extern "C" {
2851 pub fn CPU_IsSupported_SHA512() -> BoolInt;
2852}
2853unsafe extern "C" {
2854 pub fn CPU_IsSupported_PageGB() -> BoolInt;
2855}
2856unsafe extern "C" {
2857 pub fn GetMatchesSpecN_2(
2858 lenLimit: *const Byte,
2859 pos: usize,
2860 cur: *const Byte,
2861 son: *mut CLzRef,
2862 _cutValue: UInt32,
2863 d: *mut UInt32,
2864 _maxLen: usize,
2865 hash: *const UInt32,
2866 limit: *const UInt32,
2867 size: *const UInt32,
2868 _cyclicBufferPos: usize,
2869 _cyclicBufferSize: UInt32,
2870 posRes: *mut UInt32,
2871 ) -> *mut UInt32;
2872}
2873#[repr(C)]
2874#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2875pub struct __locale_data {
2876 pub _address: u8,
2877}