/* automatically generated by rust-bindgen 0.72.1 */
pub const _ERRNO_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const __GLIBC_USE_ISOC23: u32 = 0;
pub const __USE_ISOC11: u32 = 1;
pub const __USE_ISOC99: u32 = 1;
pub const __USE_ISOC95: u32 = 1;
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
pub const _POSIX_SOURCE: u32 = 1;
pub const _POSIX_C_SOURCE: u32 = 200809;
pub const __USE_POSIX: u32 = 1;
pub const __USE_POSIX2: u32 = 1;
pub const __USE_POSIX199309: u32 = 1;
pub const __USE_POSIX199506: u32 = 1;
pub const __USE_XOPEN2K: u32 = 1;
pub const __USE_XOPEN2K8: u32 = 1;
pub const _ATFILE_SOURCE: u32 = 1;
pub const __USE_LARGEFILE: u32 = 1;
pub const __USE_FILE_OFFSET64: u32 = 1;
pub const __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __TIMESIZE: u32 = 64;
pub const __USE_TIME_BITS64: u32 = 1;
pub const __USE_MISC: u32 = 1;
pub const __USE_ATFILE: u32 = 1;
pub const __USE_FORTIFY_LEVEL: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
pub const __GLIBC_USE_C23_STRTOL: u32 = 0;
pub const _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_60559_BFP__: u32 = 201404;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 40;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
pub const __HAVE_GENERIC_SELECTION: u32 = 1;
pub const _BITS_ERRNO_H: u32 = 1;
pub const EPERM: u32 = 1;
pub const ENOENT: u32 = 2;
pub const ESRCH: u32 = 3;
pub const EINTR: u32 = 4;
pub const EIO: u32 = 5;
pub const ENXIO: u32 = 6;
pub const E2BIG: u32 = 7;
pub const ENOEXEC: u32 = 8;
pub const EBADF: u32 = 9;
pub const ECHILD: u32 = 10;
pub const EAGAIN: u32 = 11;
pub const ENOMEM: u32 = 12;
pub const EACCES: u32 = 13;
pub const EFAULT: u32 = 14;
pub const ENOTBLK: u32 = 15;
pub const EBUSY: u32 = 16;
pub const EEXIST: u32 = 17;
pub const EXDEV: u32 = 18;
pub const ENODEV: u32 = 19;
pub const ENOTDIR: u32 = 20;
pub const EISDIR: u32 = 21;
pub const EINVAL: u32 = 22;
pub const ENFILE: u32 = 23;
pub const EMFILE: u32 = 24;
pub const ENOTTY: u32 = 25;
pub const ETXTBSY: u32 = 26;
pub const EFBIG: u32 = 27;
pub const ENOSPC: u32 = 28;
pub const ESPIPE: u32 = 29;
pub const EROFS: u32 = 30;
pub const EMLINK: u32 = 31;
pub const EPIPE: u32 = 32;
pub const EDOM: u32 = 33;
pub const ERANGE: u32 = 34;
pub const EDEADLK: u32 = 35;
pub const ENAMETOOLONG: u32 = 36;
pub const ENOLCK: u32 = 37;
pub const ENOSYS: u32 = 38;
pub const ENOTEMPTY: u32 = 39;
pub const ELOOP: u32 = 40;
pub const EWOULDBLOCK: u32 = 11;
pub const ENOMSG: u32 = 42;
pub const EIDRM: u32 = 43;
pub const ECHRNG: u32 = 44;
pub const EL2NSYNC: u32 = 45;
pub const EL3HLT: u32 = 46;
pub const EL3RST: u32 = 47;
pub const ELNRNG: u32 = 48;
pub const EUNATCH: u32 = 49;
pub const ENOCSI: u32 = 50;
pub const EL2HLT: u32 = 51;
pub const EBADE: u32 = 52;
pub const EBADR: u32 = 53;
pub const EXFULL: u32 = 54;
pub const ENOANO: u32 = 55;
pub const EBADRQC: u32 = 56;
pub const EBADSLT: u32 = 57;
pub const EDEADLOCK: u32 = 35;
pub const EBFONT: u32 = 59;
pub const ENOSTR: u32 = 60;
pub const ENODATA: u32 = 61;
pub const ETIME: u32 = 62;
pub const ENOSR: u32 = 63;
pub const ENONET: u32 = 64;
pub const ENOPKG: u32 = 65;
pub const EREMOTE: u32 = 66;
pub const ENOLINK: u32 = 67;
pub const EADV: u32 = 68;
pub const ESRMNT: u32 = 69;
pub const ECOMM: u32 = 70;
pub const EPROTO: u32 = 71;
pub const EMULTIHOP: u32 = 72;
pub const EDOTDOT: u32 = 73;
pub const EBADMSG: u32 = 74;
pub const EOVERFLOW: u32 = 75;
pub const ENOTUNIQ: u32 = 76;
pub const EBADFD: u32 = 77;
pub const EREMCHG: u32 = 78;
pub const ELIBACC: u32 = 79;
pub const ELIBBAD: u32 = 80;
pub const ELIBSCN: u32 = 81;
pub const ELIBMAX: u32 = 82;
pub const ELIBEXEC: u32 = 83;
pub const EILSEQ: u32 = 84;
pub const ERESTART: u32 = 85;
pub const ESTRPIPE: u32 = 86;
pub const EUSERS: u32 = 87;
pub const ENOTSOCK: u32 = 88;
pub const EDESTADDRREQ: u32 = 89;
pub const EMSGSIZE: u32 = 90;
pub const EPROTOTYPE: u32 = 91;
pub const ENOPROTOOPT: u32 = 92;
pub const EPROTONOSUPPORT: u32 = 93;
pub const ESOCKTNOSUPPORT: u32 = 94;
pub const EOPNOTSUPP: u32 = 95;
pub const EPFNOSUPPORT: u32 = 96;
pub const EAFNOSUPPORT: u32 = 97;
pub const EADDRINUSE: u32 = 98;
pub const EADDRNOTAVAIL: u32 = 99;
pub const ENETDOWN: u32 = 100;
pub const ENETUNREACH: u32 = 101;
pub const ENETRESET: u32 = 102;
pub const ECONNABORTED: u32 = 103;
pub const ECONNRESET: u32 = 104;
pub const ENOBUFS: u32 = 105;
pub const EISCONN: u32 = 106;
pub const ENOTCONN: u32 = 107;
pub const ESHUTDOWN: u32 = 108;
pub const ETOOMANYREFS: u32 = 109;
pub const ETIMEDOUT: u32 = 110;
pub const ECONNREFUSED: u32 = 111;
pub const EHOSTDOWN: u32 = 112;
pub const EHOSTUNREACH: u32 = 113;
pub const EALREADY: u32 = 114;
pub const EINPROGRESS: u32 = 115;
pub const ESTALE: u32 = 116;
pub const EUCLEAN: u32 = 117;
pub const ENOTNAM: u32 = 118;
pub const ENAVAIL: u32 = 119;
pub const EISNAM: u32 = 120;
pub const EREMOTEIO: u32 = 121;
pub const EDQUOT: u32 = 122;
pub const ENOMEDIUM: u32 = 123;
pub const EMEDIUMTYPE: u32 = 124;
pub const ECANCELED: u32 = 125;
pub const ENOKEY: u32 = 126;
pub const EKEYEXPIRED: u32 = 127;
pub const EKEYREVOKED: u32 = 128;
pub const EKEYREJECTED: u32 = 129;
pub const EOWNERDEAD: u32 = 130;
pub const ENOTRECOVERABLE: u32 = 131;
pub const ERFKILL: u32 = 132;
pub const EHWPOISON: u32 = 133;
pub const ENOTSUP: u32 = 95;
pub const SZ_OK: u32 = 0;
pub const SZ_ERROR_DATA: u32 = 1;
pub const SZ_ERROR_MEM: u32 = 2;
pub const SZ_ERROR_CRC: u32 = 3;
pub const SZ_ERROR_UNSUPPORTED: u32 = 4;
pub const SZ_ERROR_PARAM: u32 = 5;
pub const SZ_ERROR_INPUT_EOF: u32 = 6;
pub const SZ_ERROR_OUTPUT_EOF: u32 = 7;
pub const SZ_ERROR_READ: u32 = 8;
pub const SZ_ERROR_WRITE: u32 = 9;
pub const SZ_ERROR_PROGRESS: u32 = 10;
pub const SZ_ERROR_FAIL: u32 = 11;
pub const SZ_ERROR_THREAD: u32 = 12;
pub const SZ_ERROR_ARCHIVE: u32 = 16;
pub const SZ_ERROR_NO_ARCHIVE: u32 = 17;
pub const MY_FACILITY_ERRNO: u32 = 2048;
pub const MY_FACILITY_WIN32: u32 = 7;
pub const MY_FACILITY_WRes: u32 = 2048;
pub const ERROR_INVALID_PARAMETER: u32 = 22;
pub const ERROR_INVALID_FUNCTION: u32 = 22;
pub const ERROR_ALREADY_EXISTS: u32 = 17;
pub const ERROR_FILE_EXISTS: u32 = 17;
pub const ERROR_PATH_NOT_FOUND: u32 = 2;
pub const ERROR_FILE_NOT_FOUND: u32 = 2;
pub const ERROR_DISK_FULL: u32 = 28;
pub const FILE_ATTRIBUTE_READONLY: u32 = 1;
pub const FILE_ATTRIBUTE_HIDDEN: u32 = 2;
pub const FILE_ATTRIBUTE_SYSTEM: u32 = 4;
pub const FILE_ATTRIBUTE_DIRECTORY: u32 = 16;
pub const FILE_ATTRIBUTE_ARCHIVE: u32 = 32;
pub const FILE_ATTRIBUTE_DEVICE: u32 = 64;
pub const FILE_ATTRIBUTE_NORMAL: u32 = 128;
pub const FILE_ATTRIBUTE_TEMPORARY: u32 = 256;
pub const FILE_ATTRIBUTE_SPARSE_FILE: u32 = 512;
pub const FILE_ATTRIBUTE_REPARSE_POINT: u32 = 1024;
pub const FILE_ATTRIBUTE_COMPRESSED: u32 = 2048;
pub const FILE_ATTRIBUTE_OFFLINE: u32 = 4096;
pub const FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: u32 = 8192;
pub const FILE_ATTRIBUTE_ENCRYPTED: u32 = 16384;
pub const FILE_ATTRIBUTE_UNIX_EXTENSION: u32 = 32768;
pub const _STDINT_H: u32 = 1;
pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23: u32 = 0;
pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23: u32 = 0;
pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
pub const _BITS_TYPES_H: u32 = 1;
pub const _BITS_TYPESIZES_H: u32 = 1;
pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
pub const __INO_T_MATCHES_INO64_T: u32 = 1;
pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
pub const __STATFS_MATCHES_STATFS64: u32 = 1;
pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
pub const __FD_SETSIZE: u32 = 1024;
pub const _BITS_TIME64_H: u32 = 1;
pub const _BITS_WCHAR_H: u32 = 1;
pub const _BITS_STDINT_INTN_H: u32 = 1;
pub const _BITS_STDINT_UINTN_H: u32 = 1;
pub const _BITS_STDINT_LEAST_H: u32 = 1;
pub const INT8_MIN: i32 = -128;
pub const INT16_MIN: i32 = -32768;
pub const INT32_MIN: i32 = -2147483648;
pub const INT8_MAX: u32 = 127;
pub const INT16_MAX: u32 = 32767;
pub const INT32_MAX: u32 = 2147483647;
pub const UINT8_MAX: u32 = 255;
pub const UINT16_MAX: u32 = 65535;
pub const UINT32_MAX: u32 = 4294967295;
pub const INT_LEAST8_MIN: i32 = -128;
pub const INT_LEAST16_MIN: i32 = -32768;
pub const INT_LEAST32_MIN: i32 = -2147483648;
pub const INT_LEAST8_MAX: u32 = 127;
pub const INT_LEAST16_MAX: u32 = 32767;
pub const INT_LEAST32_MAX: u32 = 2147483647;
pub const UINT_LEAST8_MAX: u32 = 255;
pub const UINT_LEAST16_MAX: u32 = 65535;
pub const UINT_LEAST32_MAX: u32 = 4294967295;
pub const INT_FAST8_MIN: i32 = -128;
pub const INT_FAST16_MIN: i64 = -9223372036854775808;
pub const INT_FAST32_MIN: i64 = -9223372036854775808;
pub const INT_FAST8_MAX: u32 = 127;
pub const INT_FAST16_MAX: u64 = 9223372036854775807;
pub const INT_FAST32_MAX: u64 = 9223372036854775807;
pub const UINT_FAST8_MAX: u32 = 255;
pub const UINT_FAST16_MAX: i32 = -1;
pub const UINT_FAST32_MAX: i32 = -1;
pub const INTPTR_MIN: i64 = -9223372036854775808;
pub const INTPTR_MAX: u64 = 9223372036854775807;
pub const UINTPTR_MAX: i32 = -1;
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
pub const SIZE_MAX: i32 = -1;
pub const WINT_MIN: u32 = 0;
pub const WINT_MAX: u32 = 4294967295;
pub const True: u32 = 1;
pub const False: u32 = 0;
pub const CHAR_PATH_SEPARATOR: u8 = 47u8;
pub const WCHAR_PATH_SEPARATOR: u8 = 47u8;
pub const STRING_PATH_SEPARATOR: &[u8; 2] = b"/\0";
pub const WSTRING_PATH_SEPARATOR: &[u8; 2] = b"/\0";
pub const k_PropVar_TimePrec_0: u32 = 0;
pub const k_PropVar_TimePrec_Unix: u32 = 1;
pub const k_PropVar_TimePrec_DOS: u32 = 2;
pub const k_PropVar_TimePrec_HighPrec: u32 = 3;
pub const k_PropVar_TimePrec_Base: u32 = 16;
pub const k_PropVar_TimePrec_100ns: u32 = 23;
pub const k_PropVar_TimePrec_1ns: u32 = 25;
pub const LZMA_PROPS_SIZE: u32 = 5;
pub const LZMA_REQUIRED_INPUT_MAX: u32 = 20;
pub const LZMA2_ENC_PROPS_BLOCK_SIZE_AUTO: u32 = 0;
pub const _PTHREAD_H: u32 = 1;
pub const _SCHED_H: u32 = 1;
pub const __time_t_defined: u32 = 1;
pub const _STRUCT_TIMESPEC: u32 = 1;
pub const _BITS_ENDIAN_H: u32 = 1;
pub const __LITTLE_ENDIAN: u32 = 1234;
pub const __BIG_ENDIAN: u32 = 4321;
pub const __PDP_ENDIAN: u32 = 3412;
pub const _BITS_ENDIANNESS_H: u32 = 1;
pub const __BYTE_ORDER: u32 = 1234;
pub const __FLOAT_WORD_ORDER: u32 = 1234;
pub const _BITS_SCHED_H: u32 = 1;
pub const SCHED_OTHER: u32 = 0;
pub const SCHED_FIFO: u32 = 1;
pub const SCHED_RR: u32 = 2;
pub const _BITS_TYPES_STRUCT_SCHED_PARAM: u32 = 1;
pub const _BITS_CPU_SET_H: u32 = 1;
pub const __CPU_SETSIZE: u32 = 1024;
pub const _TIME_H: u32 = 1;
pub const _BITS_TIME_H: u32 = 1;
pub const CLOCK_REALTIME: u32 = 0;
pub const CLOCK_MONOTONIC: u32 = 1;
pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
pub const CLOCK_MONOTONIC_RAW: u32 = 4;
pub const CLOCK_REALTIME_COARSE: u32 = 5;
pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
pub const CLOCK_BOOTTIME: u32 = 7;
pub const CLOCK_REALTIME_ALARM: u32 = 8;
pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
pub const CLOCK_TAI: u32 = 11;
pub const TIMER_ABSTIME: u32 = 1;
pub const __clock_t_defined: u32 = 1;
pub const __struct_tm_defined: u32 = 1;
pub const __clockid_t_defined: u32 = 1;
pub const __timer_t_defined: u32 = 1;
pub const __itimerspec_defined: u32 = 1;
pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
pub const TIME_UTC: u32 = 1;
pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
pub const _THREAD_SHARED_TYPES_H: u32 = 1;
pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
pub const __have_pthread_attr_t: u32 = 1;
pub const _BITS_SETJMP_H: u32 = 1;
pub const __jmp_buf_tag_defined: u32 = 1;
pub const PTHREAD_STACK_MIN: u32 = 16384;
pub const PTHREAD_ONCE_INIT: u32 = 0;
pub const PTHREAD_BARRIER_SERIAL_THREAD: i32 = -1;
pub const kMtCacheLineDummy: u32 = 128;
pub const MY_CPU_NAME: &[u8; 4] = b"x64\0";
pub const MY_CPU_SIZEOF_POINTER: u32 = 8;
pub const kEmptyHashValue: u32 = 0;
pub type Z7_void_Function = ::core::option::Option<unsafe extern "C" fn()>;
unsafe extern "C" {
pub fn __errno_location() -> *mut ::core::ffi::c_int;
}
pub type wchar_t = ::core::ffi::c_int;
#[repr(C)]
#[repr(align(16))]
#[derive(Debug, Default, Copy, Clone, PartialOrd, PartialEq)]
pub struct max_align_t {
pub __clang_max_align_nonce1: ::core::ffi::c_longlong,
pub __bindgen_padding_0: [u8; 8usize],
pub __clang_max_align_nonce2: u128,
}
pub type SRes = ::core::ffi::c_int;
pub type WRes = ::core::ffi::c_int;
pub type Byte = ::core::ffi::c_uchar;
pub type Int16 = ::core::ffi::c_short;
pub type UInt16 = ::core::ffi::c_ushort;
pub type Int32 = ::core::ffi::c_int;
pub type UInt32 = ::core::ffi::c_uint;
pub type INT = ::core::ffi::c_int;
pub type INT32 = Int32;
pub type UINT = ::core::ffi::c_uint;
pub type UINT32 = UInt32;
pub type LONG = INT32;
pub type ULONG = UINT32;
pub type DWORD = UINT32;
pub type LPVOID = *mut ::core::ffi::c_void;
pub type INT_PTR = ::core::ffi::c_long;
pub type UINT_PTR = ::core::ffi::c_ulong;
pub type LONG_PTR = ::core::ffi::c_long;
pub type DWORD_PTR = ::core::ffi::c_ulong;
pub type SIZE_T = usize;
pub type __u_char = ::core::ffi::c_uchar;
pub type __u_short = ::core::ffi::c_ushort;
pub type __u_int = ::core::ffi::c_uint;
pub type __u_long = ::core::ffi::c_ulong;
pub type __int8_t = ::core::ffi::c_schar;
pub type __uint8_t = ::core::ffi::c_uchar;
pub type __int16_t = ::core::ffi::c_short;
pub type __uint16_t = ::core::ffi::c_ushort;
pub type __int32_t = ::core::ffi::c_int;
pub type __uint32_t = ::core::ffi::c_uint;
pub type __int64_t = ::core::ffi::c_long;
pub type __uint64_t = ::core::ffi::c_ulong;
pub type __int_least8_t = __int8_t;
pub type __uint_least8_t = __uint8_t;
pub type __int_least16_t = __int16_t;
pub type __uint_least16_t = __uint16_t;
pub type __int_least32_t = __int32_t;
pub type __uint_least32_t = __uint32_t;
pub type __int_least64_t = __int64_t;
pub type __uint_least64_t = __uint64_t;
pub type __quad_t = ::core::ffi::c_long;
pub type __u_quad_t = ::core::ffi::c_ulong;
pub type __intmax_t = ::core::ffi::c_long;
pub type __uintmax_t = ::core::ffi::c_ulong;
pub type __dev_t = ::core::ffi::c_ulong;
pub type __uid_t = ::core::ffi::c_uint;
pub type __gid_t = ::core::ffi::c_uint;
pub type __ino_t = ::core::ffi::c_ulong;
pub type __ino64_t = ::core::ffi::c_ulong;
pub type __mode_t = ::core::ffi::c_uint;
pub type __nlink_t = ::core::ffi::c_ulong;
pub type __off_t = ::core::ffi::c_long;
pub type __off64_t = ::core::ffi::c_long;
pub type __pid_t = ::core::ffi::c_int;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __fsid_t {
pub __val: [::core::ffi::c_int; 2usize],
}
pub type __clock_t = ::core::ffi::c_long;
pub type __rlim_t = ::core::ffi::c_ulong;
pub type __rlim64_t = ::core::ffi::c_ulong;
pub type __id_t = ::core::ffi::c_uint;
pub type __time_t = ::core::ffi::c_long;
pub type __useconds_t = ::core::ffi::c_uint;
pub type __suseconds_t = ::core::ffi::c_long;
pub type __suseconds64_t = ::core::ffi::c_long;
pub type __daddr_t = ::core::ffi::c_int;
pub type __key_t = ::core::ffi::c_int;
pub type __clockid_t = ::core::ffi::c_int;
pub type __timer_t = *mut ::core::ffi::c_void;
pub type __blksize_t = ::core::ffi::c_long;
pub type __blkcnt_t = ::core::ffi::c_long;
pub type __blkcnt64_t = ::core::ffi::c_long;
pub type __fsblkcnt_t = ::core::ffi::c_ulong;
pub type __fsblkcnt64_t = ::core::ffi::c_ulong;
pub type __fsfilcnt_t = ::core::ffi::c_ulong;
pub type __fsfilcnt64_t = ::core::ffi::c_ulong;
pub type __fsword_t = ::core::ffi::c_long;
pub type __ssize_t = ::core::ffi::c_long;
pub type __syscall_slong_t = ::core::ffi::c_long;
pub type __syscall_ulong_t = ::core::ffi::c_ulong;
pub type __loff_t = __off64_t;
pub type __caddr_t = *mut ::core::ffi::c_char;
pub type __intptr_t = ::core::ffi::c_long;
pub type __socklen_t = ::core::ffi::c_uint;
pub type __sig_atomic_t = ::core::ffi::c_int;
pub type int_least8_t = __int_least8_t;
pub type int_least16_t = __int_least16_t;
pub type int_least32_t = __int_least32_t;
pub type int_least64_t = __int_least64_t;
pub type uint_least8_t = __uint_least8_t;
pub type uint_least16_t = __uint_least16_t;
pub type uint_least32_t = __uint_least32_t;
pub type uint_least64_t = __uint_least64_t;
pub type int_fast8_t = ::core::ffi::c_schar;
pub type int_fast16_t = ::core::ffi::c_long;
pub type int_fast32_t = ::core::ffi::c_long;
pub type int_fast64_t = ::core::ffi::c_long;
pub type uint_fast8_t = ::core::ffi::c_uchar;
pub type uint_fast16_t = ::core::ffi::c_ulong;
pub type uint_fast32_t = ::core::ffi::c_ulong;
pub type uint_fast64_t = ::core::ffi::c_ulong;
pub type intmax_t = __intmax_t;
pub type uintmax_t = __uintmax_t;
pub type Int64 = i64;
pub type UInt64 = u64;
pub type SizeT = usize;
pub type BoolInt = ::core::ffi::c_int;
pub type IByteInPtr = *const IByteIn_;
pub type IByteIn = IByteIn_;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct IByteIn_ {
pub Read: ::core::option::Option<unsafe extern "C" fn(p: IByteInPtr) -> Byte>,
}
pub type IByteOutPtr = *const IByteOut_;
pub type IByteOut = IByteOut_;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct IByteOut_ {
pub Write: ::core::option::Option<unsafe extern "C" fn(p: IByteOutPtr, b: Byte)>,
}
pub type ISeqInStreamPtr = *const ISeqInStream_;
pub type ISeqInStream = ISeqInStream_;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct ISeqInStream_ {
pub Read: ::core::option::Option<
unsafe extern "C" fn(
p: ISeqInStreamPtr,
buf: *mut ::core::ffi::c_void,
size: *mut usize,
) -> SRes,
>,
}
unsafe extern "C" {
pub fn SeqInStream_ReadMax(
stream: ISeqInStreamPtr,
buf: *mut ::core::ffi::c_void,
processedSize: *mut usize,
) -> SRes;
}
unsafe extern "C" {
pub fn SeqInStream_ReadByte(stream: ISeqInStreamPtr, buf: *mut Byte) -> SRes;
}
pub type ISeqOutStreamPtr = *const ISeqOutStream_;
pub type ISeqOutStream = ISeqOutStream_;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct ISeqOutStream_ {
pub Write: ::core::option::Option<
unsafe extern "C" fn(
p: ISeqOutStreamPtr,
buf: *const ::core::ffi::c_void,
size: usize,
) -> usize,
>,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum ESzSeek {
SZ_SEEK_SET = 0,
SZ_SEEK_CUR = 1,
SZ_SEEK_END = 2,
}
pub type ISeekInStreamPtr = *const ISeekInStream_;
pub type ISeekInStream = ISeekInStream_;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct ISeekInStream_ {
pub Read: ::core::option::Option<
unsafe extern "C" fn(
p: ISeekInStreamPtr,
buf: *mut ::core::ffi::c_void,
size: *mut usize,
) -> SRes,
>,
pub Seek: ::core::option::Option<
unsafe extern "C" fn(p: ISeekInStreamPtr, pos: *mut Int64, origin: ESzSeek) -> SRes,
>,
}
pub type ILookInStreamPtr = *const ILookInStream_;
pub type ILookInStream = ILookInStream_;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct ILookInStream_ {
pub Look: ::core::option::Option<
unsafe extern "C" fn(
p: ILookInStreamPtr,
buf: *mut *const ::core::ffi::c_void,
size: *mut usize,
) -> SRes,
>,
pub Skip:
::core::option::Option<unsafe extern "C" fn(p: ILookInStreamPtr, offset: usize) -> SRes>,
pub Read: ::core::option::Option<
unsafe extern "C" fn(
p: ILookInStreamPtr,
buf: *mut ::core::ffi::c_void,
size: *mut usize,
) -> SRes,
>,
pub Seek: ::core::option::Option<
unsafe extern "C" fn(p: ILookInStreamPtr, pos: *mut Int64, origin: ESzSeek) -> SRes,
>,
}
unsafe extern "C" {
pub fn LookInStream_LookRead(
stream: ILookInStreamPtr,
buf: *mut ::core::ffi::c_void,
size: *mut usize,
) -> SRes;
}
unsafe extern "C" {
pub fn LookInStream_SeekTo(stream: ILookInStreamPtr, offset: UInt64) -> SRes;
}
unsafe extern "C" {
pub fn LookInStream_Read2(
stream: ILookInStreamPtr,
buf: *mut ::core::ffi::c_void,
size: usize,
errorType: SRes,
) -> SRes;
}
unsafe extern "C" {
pub fn LookInStream_Read(
stream: ILookInStreamPtr,
buf: *mut ::core::ffi::c_void,
size: usize,
) -> SRes;
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct CLookToRead2 {
pub vt: ILookInStream,
pub realStream: ISeekInStreamPtr,
pub pos: usize,
pub size: usize,
pub buf: *mut Byte,
pub bufSize: usize,
}
impl Default for CLookToRead2 {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
unsafe extern "C" {
pub fn LookToRead2_CreateVTable(p: *mut CLookToRead2, lookahead: ::core::ffi::c_int);
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct CSecToLook {
pub vt: ISeqInStream,
pub realStream: ILookInStreamPtr,
}
impl Default for CSecToLook {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
unsafe extern "C" {
pub fn SecToLook_CreateVTable(p: *mut CSecToLook);
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct CSecToRead {
pub vt: ISeqInStream,
pub realStream: ILookInStreamPtr,
}
impl Default for CSecToRead {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
unsafe extern "C" {
pub fn SecToRead_CreateVTable(p: *mut CSecToRead);
}
pub type ICompressProgressPtr = *const ICompressProgress_;
pub type ICompressProgress = ICompressProgress_;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct ICompressProgress_ {
pub Progress: ::core::option::Option<
unsafe extern "C" fn(p: ICompressProgressPtr, inSize: UInt64, outSize: UInt64) -> SRes,
>,
}
pub type ISzAllocPtr = *const ISzAlloc;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct ISzAlloc {
pub Alloc: ::core::option::Option<
unsafe extern "C" fn(p: ISzAllocPtr, size: usize) -> *mut ::core::ffi::c_void,
>,
pub Free: ::core::option::Option<
unsafe extern "C" fn(p: ISzAllocPtr, address: *mut ::core::ffi::c_void),
>,
}
pub type CLzmaProb = UInt16;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct CLzmaProps {
pub lc: Byte,
pub lp: Byte,
pub pb: Byte,
pub _pad_: Byte,
pub dicSize: UInt32,
}
unsafe extern "C" {
pub fn LzmaProps_Decode(
p: *mut CLzmaProps,
data: *const Byte,
size: ::core::ffi::c_uint,
) -> SRes;
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct CLzmaDec {
pub prop: CLzmaProps,
pub probs: *mut CLzmaProb,
pub probs_1664: *mut CLzmaProb,
pub dic: *mut Byte,
pub dicBufSize: SizeT,
pub dicPos: SizeT,
pub buf: *const Byte,
pub range: UInt32,
pub code: UInt32,
pub processedPos: UInt32,
pub checkDicSize: UInt32,
pub reps: [UInt32; 4usize],
pub state: UInt32,
pub remainLen: UInt32,
pub numProbs: UInt32,
pub tempBufSize: ::core::ffi::c_uint,
pub tempBuf: [Byte; 20usize],
pub __bindgen_padding_0: [u8; 4usize],
}
impl Default for CLzmaDec {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
unsafe extern "C" {
pub fn LzmaDec_Init(p: *mut CLzmaDec);
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum ELzmaFinishMode {
LZMA_FINISH_ANY = 0,
LZMA_FINISH_END = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum ELzmaStatus {
LZMA_STATUS_NOT_SPECIFIED = 0,
LZMA_STATUS_FINISHED_WITH_MARK = 1,
LZMA_STATUS_NOT_FINISHED = 2,
LZMA_STATUS_NEEDS_MORE_INPUT = 3,
LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK = 4,
}
unsafe extern "C" {
pub fn LzmaDec_AllocateProbs(
p: *mut CLzmaDec,
props: *const Byte,
propsSize: ::core::ffi::c_uint,
alloc: ISzAllocPtr,
) -> SRes;
}
unsafe extern "C" {
pub fn LzmaDec_FreeProbs(p: *mut CLzmaDec, alloc: ISzAllocPtr);
}
unsafe extern "C" {
pub fn LzmaDec_Allocate(
p: *mut CLzmaDec,
props: *const Byte,
propsSize: ::core::ffi::c_uint,
alloc: ISzAllocPtr,
) -> SRes;
}
unsafe extern "C" {
pub fn LzmaDec_Free(p: *mut CLzmaDec, alloc: ISzAllocPtr);
}
unsafe extern "C" {
pub fn LzmaDec_DecodeToDic(
p: *mut CLzmaDec,
dicLimit: SizeT,
src: *const Byte,
srcLen: *mut SizeT,
finishMode: ELzmaFinishMode,
status: *mut ELzmaStatus,
) -> SRes;
}
unsafe extern "C" {
pub fn LzmaDec_DecodeToBuf(
p: *mut CLzmaDec,
dest: *mut Byte,
destLen: *mut SizeT,
src: *const Byte,
srcLen: *mut SizeT,
finishMode: ELzmaFinishMode,
status: *mut ELzmaStatus,
) -> SRes;
}
unsafe extern "C" {
pub fn LzmaDecode(
dest: *mut Byte,
destLen: *mut SizeT,
src: *const Byte,
srcLen: *mut SizeT,
propData: *const Byte,
propSize: ::core::ffi::c_uint,
finishMode: ELzmaFinishMode,
status: *mut ELzmaStatus,
alloc: ISzAllocPtr,
) -> SRes;
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct CLzmaEncProps {
pub level: ::core::ffi::c_int,
pub dictSize: UInt32,
pub lc: ::core::ffi::c_int,
pub lp: ::core::ffi::c_int,
pub pb: ::core::ffi::c_int,
pub algo: ::core::ffi::c_int,
pub fb: ::core::ffi::c_int,
pub btMode: ::core::ffi::c_int,
pub numHashBytes: ::core::ffi::c_int,
pub numHashOutBits: ::core::ffi::c_uint,
pub mc: UInt32,
pub writeEndMark: ::core::ffi::c_uint,
pub numThreads: ::core::ffi::c_int,
pub affinityGroup: Int32,
pub reduceSize: UInt64,
pub affinity: UInt64,
pub affinityInGroup: UInt64,
}
unsafe extern "C" {
pub fn LzmaEncProps_Init(p: *mut CLzmaEncProps);
}
unsafe extern "C" {
pub fn LzmaEncProps_Normalize(p: *mut CLzmaEncProps);
}
unsafe extern "C" {
pub fn LzmaEncProps_GetDictSize(props2: *const CLzmaEncProps) -> UInt32;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CLzmaEnc {
_unused: [u8; 0],
}
pub type CLzmaEncHandle = *mut CLzmaEnc;
unsafe extern "C" {
pub fn LzmaEnc_Create(alloc: ISzAllocPtr) -> CLzmaEncHandle;
}
unsafe extern "C" {
pub fn LzmaEnc_Destroy(p: CLzmaEncHandle, alloc: ISzAllocPtr, allocBig: ISzAllocPtr);
}
unsafe extern "C" {
pub fn LzmaEnc_SetProps(p: CLzmaEncHandle, props: *const CLzmaEncProps) -> SRes;
}
unsafe extern "C" {
pub fn LzmaEnc_SetDataSize(p: CLzmaEncHandle, expectedDataSiize: UInt64);
}
unsafe extern "C" {
pub fn LzmaEnc_WriteProperties(
p: CLzmaEncHandle,
properties: *mut Byte,
size: *mut SizeT,
) -> SRes;
}
unsafe extern "C" {
pub fn LzmaEnc_IsWriteEndMark(p: CLzmaEncHandle) -> ::core::ffi::c_uint;
}
unsafe extern "C" {
pub fn LzmaEnc_Encode(
p: CLzmaEncHandle,
outStream: ISeqOutStreamPtr,
inStream: ISeqInStreamPtr,
progress: ICompressProgressPtr,
alloc: ISzAllocPtr,
allocBig: ISzAllocPtr,
) -> SRes;
}
unsafe extern "C" {
pub fn LzmaEnc_MemEncode(
p: CLzmaEncHandle,
dest: *mut Byte,
destLen: *mut SizeT,
src: *const Byte,
srcLen: SizeT,
writeEndMark: ::core::ffi::c_int,
progress: ICompressProgressPtr,
alloc: ISzAllocPtr,
allocBig: ISzAllocPtr,
) -> SRes;
}
unsafe extern "C" {
pub fn LzmaEncode(
dest: *mut Byte,
destLen: *mut SizeT,
src: *const Byte,
srcLen: SizeT,
props: *const CLzmaEncProps,
propsEncoded: *mut Byte,
propsSize: *mut SizeT,
writeEndMark: ::core::ffi::c_int,
progress: ICompressProgressPtr,
alloc: ISzAllocPtr,
allocBig: ISzAllocPtr,
) -> SRes;
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct CLzma2Dec {
pub state: ::core::ffi::c_uint,
pub control: Byte,
pub needInitLevel: Byte,
pub isExtraMode: Byte,
pub _pad_: Byte,
pub packSize: UInt32,
pub unpackSize: UInt32,
pub decoder: CLzmaDec,
}
impl Default for CLzma2Dec {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
unsafe extern "C" {
pub fn Lzma2Dec_AllocateProbs(p: *mut CLzma2Dec, prop: Byte, alloc: ISzAllocPtr) -> SRes;
}
unsafe extern "C" {
pub fn Lzma2Dec_Allocate(p: *mut CLzma2Dec, prop: Byte, alloc: ISzAllocPtr) -> SRes;
}
unsafe extern "C" {
pub fn Lzma2Dec_Init(p: *mut CLzma2Dec);
}
unsafe extern "C" {
pub fn Lzma2Dec_DecodeToDic(
p: *mut CLzma2Dec,
dicLimit: SizeT,
src: *const Byte,
srcLen: *mut SizeT,
finishMode: ELzmaFinishMode,
status: *mut ELzmaStatus,
) -> SRes;
}
unsafe extern "C" {
pub fn Lzma2Dec_DecodeToBuf(
p: *mut CLzma2Dec,
dest: *mut Byte,
destLen: *mut SizeT,
src: *const Byte,
srcLen: *mut SizeT,
finishMode: ELzmaFinishMode,
status: *mut ELzmaStatus,
) -> SRes;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum ELzma2ParseStatus {
LZMA2_PARSE_STATUS_NEW_BLOCK = 5,
LZMA2_PARSE_STATUS_NEW_CHUNK = 6,
}
unsafe extern "C" {
pub fn Lzma2Dec_Parse(
p: *mut CLzma2Dec,
outSize: SizeT,
src: *const Byte,
srcLen: *mut SizeT,
checkFinishBlock: ::core::ffi::c_int,
) -> ELzma2ParseStatus;
}
unsafe extern "C" {
pub fn Lzma2Decode(
dest: *mut Byte,
destLen: *mut SizeT,
src: *const Byte,
srcLen: *mut SizeT,
prop: Byte,
finishMode: ELzmaFinishMode,
status: *mut ELzmaStatus,
alloc: ISzAllocPtr,
) -> SRes;
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct CLzma2EncProps {
pub lzmaProps: CLzmaEncProps,
pub blockSize: UInt64,
pub numBlockThreads_Reduced: ::core::ffi::c_int,
pub numBlockThreads_Max: ::core::ffi::c_int,
pub numTotalThreads: ::core::ffi::c_int,
pub numThreadGroups: ::core::ffi::c_uint,
}
unsafe extern "C" {
pub fn Lzma2EncProps_Init(p: *mut CLzma2EncProps);
}
unsafe extern "C" {
pub fn Lzma2EncProps_Normalize(p: *mut CLzma2EncProps);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CLzma2Enc {
_unused: [u8; 0],
}
pub type CLzma2EncHandle = *mut CLzma2Enc;
unsafe extern "C" {
pub fn Lzma2Enc_Create(alloc: ISzAllocPtr, allocBig: ISzAllocPtr) -> CLzma2EncHandle;
}
unsafe extern "C" {
pub fn Lzma2Enc_Destroy(p: CLzma2EncHandle);
}
unsafe extern "C" {
pub fn Lzma2Enc_SetProps(p: CLzma2EncHandle, props: *const CLzma2EncProps) -> SRes;
}
unsafe extern "C" {
pub fn Lzma2Enc_SetDataSize(p: CLzma2EncHandle, expectedDataSiize: UInt64);
}
unsafe extern "C" {
pub fn Lzma2Enc_WriteProperties(p: CLzma2EncHandle) -> Byte;
}
unsafe extern "C" {
pub fn Lzma2Enc_Encode2(
p: CLzma2EncHandle,
outStream: ISeqOutStreamPtr,
outBuf: *mut Byte,
outBufSize: *mut usize,
inStream: ISeqInStreamPtr,
inData: *const Byte,
inDataSize: usize,
progress: ICompressProgressPtr,
) -> SRes;
}
pub type CLzRef = UInt32;
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct CMatchFinder {
pub buffer: *const Byte,
pub pos: UInt32,
pub posLimit: UInt32,
pub streamPos: UInt32,
pub lenLimit: UInt32,
pub cyclicBufferPos: UInt32,
pub cyclicBufferSize: UInt32,
pub streamEndWasReached: Byte,
pub btMode: Byte,
pub bigHash: Byte,
pub directInput: Byte,
pub matchMaxLen: UInt32,
pub hash: *mut CLzRef,
pub son: *mut CLzRef,
pub hashMask: UInt32,
pub cutValue: UInt32,
pub bufBase: *mut Byte,
pub stream: ISeqInStreamPtr,
pub blockSize: UInt32,
pub keepSizeBefore: UInt32,
pub keepSizeAfter: UInt32,
pub numHashBytes: UInt32,
pub directInputRem: usize,
pub historySize: UInt32,
pub fixedHashSize: UInt32,
pub numHashBytes_Min: Byte,
pub numHashOutBits: Byte,
pub _pad2_: [Byte; 2usize],
pub result: SRes,
pub crc: [UInt32; 256usize],
pub numRefs: usize,
pub expectedDataSize: UInt64,
}
impl Default for CMatchFinder {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
unsafe extern "C" {
pub fn MatchFinder_NeedMove(p: *mut CMatchFinder) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn MatchFinder_MoveBlock(p: *mut CMatchFinder);
}
unsafe extern "C" {
pub fn MatchFinder_ReadIfRequired(p: *mut CMatchFinder);
}
unsafe extern "C" {
pub fn MatchFinder_Construct(p: *mut CMatchFinder);
}
unsafe extern "C" {
pub fn MatchFinder_Create(
p: *mut CMatchFinder,
historySize: UInt32,
keepAddBufferBefore: UInt32,
matchMaxLen: UInt32,
keepAddBufferAfter: UInt32,
alloc: ISzAllocPtr,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn MatchFinder_Free(p: *mut CMatchFinder, alloc: ISzAllocPtr);
}
unsafe extern "C" {
pub fn MatchFinder_Normalize3(subValue: UInt32, items: *mut CLzRef, numItems: usize);
}
unsafe extern "C" {
pub fn GetMatchesSpec1(
lenLimit: UInt32,
curMatch: UInt32,
pos: UInt32,
buffer: *const Byte,
son: *mut CLzRef,
_cyclicBufferPos: usize,
_cyclicBufferSize: UInt32,
_cutValue: UInt32,
distances: *mut UInt32,
maxLen: UInt32,
) -> *mut UInt32;
}
pub type Mf_Init_Func =
::core::option::Option<unsafe extern "C" fn(object: *mut ::core::ffi::c_void)>;
pub type Mf_GetNumAvailableBytes_Func =
::core::option::Option<unsafe extern "C" fn(object: *mut ::core::ffi::c_void) -> UInt32>;
pub type Mf_GetPointerToCurrentPos_Func =
::core::option::Option<unsafe extern "C" fn(object: *mut ::core::ffi::c_void) -> *const Byte>;
pub type Mf_GetMatches_Func = ::core::option::Option<
unsafe extern "C" fn(object: *mut ::core::ffi::c_void, distances: *mut UInt32) -> *mut UInt32,
>;
pub type Mf_Skip_Func =
::core::option::Option<unsafe extern "C" fn(object: *mut ::core::ffi::c_void, arg1: UInt32)>;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct IMatchFinder2 {
pub Init: Mf_Init_Func,
pub GetNumAvailableBytes: Mf_GetNumAvailableBytes_Func,
pub GetPointerToCurrentPos: Mf_GetPointerToCurrentPos_Func,
pub GetMatches: Mf_GetMatches_Func,
pub Skip: Mf_Skip_Func,
}
unsafe extern "C" {
pub fn MatchFinder_CreateVTable(p: *mut CMatchFinder, vTable: *mut IMatchFinder2);
}
unsafe extern "C" {
pub fn MatchFinder_Init_LowHash(p: *mut CMatchFinder);
}
unsafe extern "C" {
pub fn MatchFinder_Init_HighHash(p: *mut CMatchFinder);
}
unsafe extern "C" {
pub fn MatchFinder_Init_4(p: *mut CMatchFinder);
}
unsafe extern "C" {
pub fn MatchFinder_Init(p: *mut ::core::ffi::c_void);
}
unsafe extern "C" {
pub fn Bt3Zip_MatchFinder_GetMatches(
p: *mut CMatchFinder,
distances: *mut UInt32,
) -> *mut UInt32;
}
unsafe extern "C" {
pub fn Hc3Zip_MatchFinder_GetMatches(
p: *mut CMatchFinder,
distances: *mut UInt32,
) -> *mut UInt32;
}
unsafe extern "C" {
pub fn Bt3Zip_MatchFinder_Skip(p: *mut CMatchFinder, num: UInt32);
}
unsafe extern "C" {
pub fn Hc3Zip_MatchFinder_Skip(p: *mut CMatchFinder, num: UInt32);
}
unsafe extern "C" {
pub fn LzFindPrepare();
}
pub type time_t = __time_t;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct timespec {
pub tv_sec: __time_t,
pub tv_nsec: __syscall_slong_t,
}
pub type pid_t = __pid_t;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct sched_param {
pub sched_priority: ::core::ffi::c_int,
}
pub type __cpu_mask = ::core::ffi::c_ulong;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct cpu_set_t {
pub __bits: [__cpu_mask; 16usize],
}
unsafe extern "C" {
pub fn __sched_cpucount(__setsize: usize, __setp: *const cpu_set_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn __sched_cpualloc(__count: usize) -> *mut cpu_set_t;
}
unsafe extern "C" {
pub fn __sched_cpufree(__set: *mut cpu_set_t);
}
unsafe extern "C" {
pub fn sched_setparam(__pid: __pid_t, __param: *const sched_param) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn sched_getparam(__pid: __pid_t, __param: *mut sched_param) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn sched_setscheduler(
__pid: __pid_t,
__policy: ::core::ffi::c_int,
__param: *const sched_param,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn sched_getscheduler(__pid: __pid_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn sched_yield() -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn sched_get_priority_max(__algorithm: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn sched_get_priority_min(__algorithm: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn sched_rr_get_interval(__pid: __pid_t, __t: *mut timespec) -> ::core::ffi::c_int;
}
pub type clock_t = __clock_t;
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct tm {
pub tm_sec: ::core::ffi::c_int,
pub tm_min: ::core::ffi::c_int,
pub tm_hour: ::core::ffi::c_int,
pub tm_mday: ::core::ffi::c_int,
pub tm_mon: ::core::ffi::c_int,
pub tm_year: ::core::ffi::c_int,
pub tm_wday: ::core::ffi::c_int,
pub tm_yday: ::core::ffi::c_int,
pub tm_isdst: ::core::ffi::c_int,
pub __bindgen_padding_0: [u8; 4usize],
pub tm_gmtoff: ::core::ffi::c_long,
pub tm_zone: *const ::core::ffi::c_char,
}
impl Default for tm {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type clockid_t = __clockid_t;
pub type timer_t = __timer_t;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct itimerspec {
pub it_interval: timespec,
pub it_value: timespec,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sigevent {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __locale_struct {
pub __locales: [*mut __locale_data; 13usize],
pub __ctype_b: *const ::core::ffi::c_ushort,
pub __ctype_tolower: *const ::core::ffi::c_int,
pub __ctype_toupper: *const ::core::ffi::c_int,
pub __names: [*const ::core::ffi::c_char; 13usize],
}
impl Default for __locale_struct {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type __locale_t = *mut __locale_struct;
pub type locale_t = __locale_t;
unsafe extern "C" {
pub fn clock() -> clock_t;
}
unsafe extern "C" {
pub fn time(__timer: *mut time_t) -> time_t;
}
unsafe extern "C" {
pub fn difftime(__time1: time_t, __time0: time_t) -> f64;
}
unsafe extern "C" {
pub fn mktime(__tp: *mut tm) -> time_t;
}
unsafe extern "C" {
pub fn strftime(
__s: *mut ::core::ffi::c_char,
__maxsize: usize,
__format: *const ::core::ffi::c_char,
__tp: *const tm,
) -> usize;
}
unsafe extern "C" {
pub fn strftime_l(
__s: *mut ::core::ffi::c_char,
__maxsize: usize,
__format: *const ::core::ffi::c_char,
__tp: *const tm,
__loc: locale_t,
) -> usize;
}
unsafe extern "C" {
pub fn gmtime(__timer: *const time_t) -> *mut tm;
}
unsafe extern "C" {
pub fn localtime(__timer: *const time_t) -> *mut tm;
}
unsafe extern "C" {
pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
}
unsafe extern "C" {
pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
}
unsafe extern "C" {
pub fn asctime(__tp: *const tm) -> *mut ::core::ffi::c_char;
}
unsafe extern "C" {
pub fn ctime(__timer: *const time_t) -> *mut ::core::ffi::c_char;
}
unsafe extern "C" {
pub fn asctime_r(__tp: *const tm, __buf: *mut ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
}
unsafe extern "C" {
pub fn ctime_r(
__timer: *const time_t,
__buf: *mut ::core::ffi::c_char,
) -> *mut ::core::ffi::c_char;
}
unsafe extern "C" {
pub static mut __tzname: [*mut ::core::ffi::c_char; 2usize];
}
unsafe extern "C" {
pub static mut __daylight: ::core::ffi::c_int;
}
unsafe extern "C" {
pub static mut __timezone: ::core::ffi::c_long;
}
unsafe extern "C" {
pub static mut tzname: [*mut ::core::ffi::c_char; 2usize];
}
unsafe extern "C" {
pub fn tzset();
}
unsafe extern "C" {
pub static mut daylight: ::core::ffi::c_int;
}
unsafe extern "C" {
pub static mut timezone: ::core::ffi::c_long;
}
unsafe extern "C" {
pub fn timegm(__tp: *mut tm) -> time_t;
}
unsafe extern "C" {
pub fn timelocal(__tp: *mut tm) -> time_t;
}
unsafe extern "C" {
pub fn dysize(__year: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn nanosleep(
__requested_time: *const timespec,
__remaining: *mut timespec,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn clock_nanosleep(
__clock_id: clockid_t,
__flags: ::core::ffi::c_int,
__req: *const timespec,
__rem: *mut timespec,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn timer_create(
__clock_id: clockid_t,
__evp: *mut sigevent,
__timerid: *mut timer_t,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn timer_delete(__timerid: timer_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn timer_settime(
__timerid: timer_t,
__flags: ::core::ffi::c_int,
__value: *const itimerspec,
__ovalue: *mut itimerspec,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn timer_getoverrun(__timerid: timer_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn timespec_get(__ts: *mut timespec, __base: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __atomic_wide_counter {
pub __value64: ::core::ffi::c_ulonglong,
pub __value32: __atomic_wide_counter__bindgen_ty_1,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __atomic_wide_counter__bindgen_ty_1 {
pub __low: ::core::ffi::c_uint,
pub __high: ::core::ffi::c_uint,
}
impl Default for __atomic_wide_counter {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for __atomic_wide_counter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "__atomic_wide_counter {{ union }}")
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __pthread_internal_list {
pub __prev: *mut __pthread_internal_list,
pub __next: *mut __pthread_internal_list,
}
impl Default for __pthread_internal_list {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type __pthread_list_t = __pthread_internal_list;
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __pthread_internal_slist {
pub __next: *mut __pthread_internal_slist,
}
impl Default for __pthread_internal_slist {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type __pthread_slist_t = __pthread_internal_slist;
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __pthread_mutex_s {
pub __lock: ::core::ffi::c_int,
pub __count: ::core::ffi::c_uint,
pub __owner: ::core::ffi::c_int,
pub __nusers: ::core::ffi::c_uint,
pub __kind: ::core::ffi::c_int,
pub __spins: ::core::ffi::c_short,
pub __elision: ::core::ffi::c_short,
pub __list: __pthread_list_t,
}
impl Default for __pthread_mutex_s {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __pthread_rwlock_arch_t {
pub __readers: ::core::ffi::c_uint,
pub __writers: ::core::ffi::c_uint,
pub __wrphase_futex: ::core::ffi::c_uint,
pub __writers_futex: ::core::ffi::c_uint,
pub __pad3: ::core::ffi::c_uint,
pub __pad4: ::core::ffi::c_uint,
pub __cur_writer: ::core::ffi::c_int,
pub __shared: ::core::ffi::c_int,
pub __rwelision: ::core::ffi::c_schar,
pub __pad1: [::core::ffi::c_uchar; 7usize],
pub __pad2: ::core::ffi::c_ulong,
pub __flags: ::core::ffi::c_uint,
pub __bindgen_padding_0: [u8; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __pthread_cond_s {
pub __wseq: __atomic_wide_counter,
pub __g1_start: __atomic_wide_counter,
pub __g_size: [::core::ffi::c_uint; 2usize],
pub __g1_orig_size: ::core::ffi::c_uint,
pub __wrefs: ::core::ffi::c_uint,
pub __g_signals: [::core::ffi::c_uint; 2usize],
pub __unused_initialized_1: ::core::ffi::c_uint,
pub __unused_initialized_2: ::core::ffi::c_uint,
}
impl Default for __pthread_cond_s {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for __pthread_cond_s {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(
f,
"__pthread_cond_s {{ __wseq: {:?}, __g1_start: {:?}, __g_size: {:?}, __g1_orig_size: {:?}, __wrefs: {:?}, __g_signals: {:?}, __unused_initialized_1: {:?}, __unused_initialized_2: {:?} }}",
self.__wseq,
self.__g1_start,
self.__g_size,
self.__g1_orig_size,
self.__wrefs,
self.__g_signals,
self.__unused_initialized_1,
self.__unused_initialized_2
)
}
}
pub type __tss_t = ::core::ffi::c_uint;
pub type __thrd_t = ::core::ffi::c_ulong;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __once_flag {
pub __data: ::core::ffi::c_int,
}
pub type pthread_t = ::core::ffi::c_ulong;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutexattr_t {
pub __size: [::core::ffi::c_char; 4usize],
pub __align: ::core::ffi::c_int,
}
impl Default for pthread_mutexattr_t {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for pthread_mutexattr_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_mutexattr_t {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_condattr_t {
pub __size: [::core::ffi::c_char; 4usize],
pub __align: ::core::ffi::c_int,
}
impl Default for pthread_condattr_t {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for pthread_condattr_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_condattr_t {{ union }}")
}
}
pub type pthread_key_t = ::core::ffi::c_uint;
pub type pthread_once_t = ::core::ffi::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_attr_t {
pub __size: [::core::ffi::c_char; 56usize],
pub __align: ::core::ffi::c_long,
}
impl Default for pthread_attr_t {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for pthread_attr_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_attr_t {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutex_t {
pub __data: __pthread_mutex_s,
pub __size: [::core::ffi::c_char; 40usize],
pub __align: ::core::ffi::c_long,
}
impl Default for pthread_mutex_t {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for pthread_mutex_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_mutex_t {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_cond_t {
pub __data: __pthread_cond_s,
pub __size: [::core::ffi::c_char; 48usize],
pub __align: ::core::ffi::c_longlong,
}
impl Default for pthread_cond_t {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for pthread_cond_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_cond_t {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlock_t {
pub __data: __pthread_rwlock_arch_t,
pub __size: [::core::ffi::c_char; 56usize],
pub __align: ::core::ffi::c_long,
}
impl Default for pthread_rwlock_t {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for pthread_rwlock_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_rwlock_t {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlockattr_t {
pub __size: [::core::ffi::c_char; 8usize],
pub __align: ::core::ffi::c_long,
}
impl Default for pthread_rwlockattr_t {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for pthread_rwlockattr_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_rwlockattr_t {{ union }}")
}
}
pub type pthread_spinlock_t = ::core::ffi::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrier_t {
pub __size: [::core::ffi::c_char; 32usize],
pub __align: ::core::ffi::c_long,
}
impl Default for pthread_barrier_t {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for pthread_barrier_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_barrier_t {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrierattr_t {
pub __size: [::core::ffi::c_char; 4usize],
pub __align: ::core::ffi::c_int,
}
impl Default for pthread_barrierattr_t {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for pthread_barrierattr_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_barrierattr_t {{ union }}")
}
}
pub type __jmp_buf = [::core::ffi::c_long; 8usize];
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __sigset_t {
pub __val: [::core::ffi::c_ulong; 16usize],
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __jmp_buf_tag {
pub __jmpbuf: __jmp_buf,
pub __mask_was_saved: ::core::ffi::c_int,
pub __bindgen_padding_0: [u8; 4usize],
pub __saved_mask: __sigset_t,
}
pub const PTHREAD_CREATE_JOINABLE: _bindgen_ty_1 = _bindgen_ty_1::PTHREAD_CREATE_JOINABLE;
pub const PTHREAD_CREATE_DETACHED: _bindgen_ty_1 = _bindgen_ty_1::PTHREAD_CREATE_DETACHED;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum _bindgen_ty_1 {
PTHREAD_CREATE_JOINABLE = 0,
PTHREAD_CREATE_DETACHED = 1,
}
pub const PTHREAD_MUTEX_TIMED_NP: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_TIMED_NP;
pub const PTHREAD_MUTEX_RECURSIVE_NP: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_RECURSIVE_NP;
pub const PTHREAD_MUTEX_ERRORCHECK_NP: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_ERRORCHECK_NP;
pub const PTHREAD_MUTEX_ADAPTIVE_NP: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_ADAPTIVE_NP;
pub const PTHREAD_MUTEX_NORMAL: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_TIMED_NP;
pub const PTHREAD_MUTEX_RECURSIVE: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_RECURSIVE_NP;
pub const PTHREAD_MUTEX_ERRORCHECK: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_ERRORCHECK_NP;
pub const PTHREAD_MUTEX_DEFAULT: _bindgen_ty_2 = _bindgen_ty_2::PTHREAD_MUTEX_TIMED_NP;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum _bindgen_ty_2 {
PTHREAD_MUTEX_TIMED_NP = 0,
PTHREAD_MUTEX_RECURSIVE_NP = 1,
PTHREAD_MUTEX_ERRORCHECK_NP = 2,
PTHREAD_MUTEX_ADAPTIVE_NP = 3,
}
pub const PTHREAD_MUTEX_STALLED: _bindgen_ty_3 = _bindgen_ty_3::PTHREAD_MUTEX_STALLED;
pub const PTHREAD_MUTEX_STALLED_NP: _bindgen_ty_3 = _bindgen_ty_3::PTHREAD_MUTEX_STALLED;
pub const PTHREAD_MUTEX_ROBUST: _bindgen_ty_3 = _bindgen_ty_3::PTHREAD_MUTEX_ROBUST;
pub const PTHREAD_MUTEX_ROBUST_NP: _bindgen_ty_3 = _bindgen_ty_3::PTHREAD_MUTEX_ROBUST;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum _bindgen_ty_3 {
PTHREAD_MUTEX_STALLED = 0,
PTHREAD_MUTEX_ROBUST = 1,
}
pub const PTHREAD_PRIO_NONE: _bindgen_ty_4 = _bindgen_ty_4::PTHREAD_PRIO_NONE;
pub const PTHREAD_PRIO_INHERIT: _bindgen_ty_4 = _bindgen_ty_4::PTHREAD_PRIO_INHERIT;
pub const PTHREAD_PRIO_PROTECT: _bindgen_ty_4 = _bindgen_ty_4::PTHREAD_PRIO_PROTECT;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum _bindgen_ty_4 {
PTHREAD_PRIO_NONE = 0,
PTHREAD_PRIO_INHERIT = 1,
PTHREAD_PRIO_PROTECT = 2,
}
pub const PTHREAD_RWLOCK_PREFER_READER_NP: _bindgen_ty_5 =
_bindgen_ty_5::PTHREAD_RWLOCK_PREFER_READER_NP;
pub const PTHREAD_RWLOCK_PREFER_WRITER_NP: _bindgen_ty_5 =
_bindgen_ty_5::PTHREAD_RWLOCK_PREFER_WRITER_NP;
pub const PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP: _bindgen_ty_5 =
_bindgen_ty_5::PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP;
pub const PTHREAD_RWLOCK_DEFAULT_NP: _bindgen_ty_5 = _bindgen_ty_5::PTHREAD_RWLOCK_PREFER_READER_NP;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum _bindgen_ty_5 {
PTHREAD_RWLOCK_PREFER_READER_NP = 0,
PTHREAD_RWLOCK_PREFER_WRITER_NP = 1,
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP = 2,
}
pub const PTHREAD_INHERIT_SCHED: _bindgen_ty_6 = _bindgen_ty_6::PTHREAD_INHERIT_SCHED;
pub const PTHREAD_EXPLICIT_SCHED: _bindgen_ty_6 = _bindgen_ty_6::PTHREAD_EXPLICIT_SCHED;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum _bindgen_ty_6 {
PTHREAD_INHERIT_SCHED = 0,
PTHREAD_EXPLICIT_SCHED = 1,
}
pub const PTHREAD_SCOPE_SYSTEM: _bindgen_ty_7 = _bindgen_ty_7::PTHREAD_SCOPE_SYSTEM;
pub const PTHREAD_SCOPE_PROCESS: _bindgen_ty_7 = _bindgen_ty_7::PTHREAD_SCOPE_PROCESS;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum _bindgen_ty_7 {
PTHREAD_SCOPE_SYSTEM = 0,
PTHREAD_SCOPE_PROCESS = 1,
}
pub const PTHREAD_PROCESS_PRIVATE: _bindgen_ty_8 = _bindgen_ty_8::PTHREAD_PROCESS_PRIVATE;
pub const PTHREAD_PROCESS_SHARED: _bindgen_ty_8 = _bindgen_ty_8::PTHREAD_PROCESS_SHARED;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum _bindgen_ty_8 {
PTHREAD_PROCESS_PRIVATE = 0,
PTHREAD_PROCESS_SHARED = 1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct _pthread_cleanup_buffer {
pub __routine: ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void)>,
pub __arg: *mut ::core::ffi::c_void,
pub __canceltype: ::core::ffi::c_int,
pub __bindgen_padding_0: [u8; 4usize],
pub __prev: *mut _pthread_cleanup_buffer,
}
impl Default for _pthread_cleanup_buffer {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub const PTHREAD_CANCEL_ENABLE: _bindgen_ty_9 = _bindgen_ty_9::PTHREAD_CANCEL_ENABLE;
pub const PTHREAD_CANCEL_DISABLE: _bindgen_ty_9 = _bindgen_ty_9::PTHREAD_CANCEL_DISABLE;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum _bindgen_ty_9 {
PTHREAD_CANCEL_ENABLE = 0,
PTHREAD_CANCEL_DISABLE = 1,
}
pub const PTHREAD_CANCEL_DEFERRED: _bindgen_ty_10 = _bindgen_ty_10::PTHREAD_CANCEL_DEFERRED;
pub const PTHREAD_CANCEL_ASYNCHRONOUS: _bindgen_ty_10 = _bindgen_ty_10::PTHREAD_CANCEL_ASYNCHRONOUS;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum _bindgen_ty_10 {
PTHREAD_CANCEL_DEFERRED = 0,
PTHREAD_CANCEL_ASYNCHRONOUS = 1,
}
unsafe extern "C" {
pub fn pthread_create(
__newthread: *mut pthread_t,
__attr: *const pthread_attr_t,
__start_routine: ::core::option::Option<
unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> *mut ::core::ffi::c_void,
>,
__arg: *mut ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_exit(__retval: *mut ::core::ffi::c_void) -> !;
}
unsafe extern "C" {
pub fn pthread_join(
__th: pthread_t,
__thread_return: *mut *mut ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_detach(__th: pthread_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_self() -> pthread_t;
}
unsafe extern "C" {
pub fn pthread_equal(__thread1: pthread_t, __thread2: pthread_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_init(__attr: *mut pthread_attr_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_destroy(__attr: *mut pthread_attr_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_getdetachstate(
__attr: *const pthread_attr_t,
__detachstate: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_setdetachstate(
__attr: *mut pthread_attr_t,
__detachstate: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_getguardsize(
__attr: *const pthread_attr_t,
__guardsize: *mut usize,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_setguardsize(
__attr: *mut pthread_attr_t,
__guardsize: usize,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_getschedparam(
__attr: *const pthread_attr_t,
__param: *mut sched_param,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_setschedparam(
__attr: *mut pthread_attr_t,
__param: *const sched_param,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_getschedpolicy(
__attr: *const pthread_attr_t,
__policy: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_setschedpolicy(
__attr: *mut pthread_attr_t,
__policy: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_getinheritsched(
__attr: *const pthread_attr_t,
__inherit: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_setinheritsched(
__attr: *mut pthread_attr_t,
__inherit: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_getscope(
__attr: *const pthread_attr_t,
__scope: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_setscope(
__attr: *mut pthread_attr_t,
__scope: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_getstackaddr(
__attr: *const pthread_attr_t,
__stackaddr: *mut *mut ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_setstackaddr(
__attr: *mut pthread_attr_t,
__stackaddr: *mut ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_getstacksize(
__attr: *const pthread_attr_t,
__stacksize: *mut usize,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_setstacksize(
__attr: *mut pthread_attr_t,
__stacksize: usize,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_getstack(
__attr: *const pthread_attr_t,
__stackaddr: *mut *mut ::core::ffi::c_void,
__stacksize: *mut usize,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_attr_setstack(
__attr: *mut pthread_attr_t,
__stackaddr: *mut ::core::ffi::c_void,
__stacksize: usize,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_setschedparam(
__target_thread: pthread_t,
__policy: ::core::ffi::c_int,
__param: *const sched_param,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_getschedparam(
__target_thread: pthread_t,
__policy: *mut ::core::ffi::c_int,
__param: *mut sched_param,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_setschedprio(
__target_thread: pthread_t,
__prio: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_once(
__once_control: *mut pthread_once_t,
__init_routine: ::core::option::Option<unsafe extern "C" fn()>,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_setcancelstate(
__state: ::core::ffi::c_int,
__oldstate: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_setcanceltype(
__type: ::core::ffi::c_int,
__oldtype: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_cancel(__th: pthread_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_testcancel();
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __cancel_jmp_buf_tag {
pub __cancel_jmp_buf: __jmp_buf,
pub __mask_was_saved: ::core::ffi::c_int,
pub __bindgen_padding_0: [u8; 4usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __pthread_unwind_buf_t {
pub __cancel_jmp_buf: [__cancel_jmp_buf_tag; 1usize],
pub __pad: [*mut ::core::ffi::c_void; 4usize],
}
impl Default for __pthread_unwind_buf_t {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __pthread_cleanup_frame {
pub __cancel_routine:
::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void)>,
pub __cancel_arg: *mut ::core::ffi::c_void,
pub __do_it: ::core::ffi::c_int,
pub __cancel_type: ::core::ffi::c_int,
}
impl Default for __pthread_cleanup_frame {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
unsafe extern "C" {
pub fn __pthread_register_cancel(__buf: *mut __pthread_unwind_buf_t);
}
unsafe extern "C" {
pub fn __pthread_unregister_cancel(__buf: *mut __pthread_unwind_buf_t);
}
unsafe extern "C" {
pub fn __pthread_unwind_next(__buf: *mut __pthread_unwind_buf_t) -> !;
}
unsafe extern "C" {
pub fn __sigsetjmp(
__env: *mut __jmp_buf_tag,
__savemask: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutex_init(
__mutex: *mut pthread_mutex_t,
__mutexattr: *const pthread_mutexattr_t,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutex_destroy(__mutex: *mut pthread_mutex_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutex_trylock(__mutex: *mut pthread_mutex_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutex_lock(__mutex: *mut pthread_mutex_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutex_timedlock(
__mutex: *mut pthread_mutex_t,
__abstime: *const timespec,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutex_unlock(__mutex: *mut pthread_mutex_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutex_getprioceiling(
__mutex: *const pthread_mutex_t,
__prioceiling: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutex_setprioceiling(
__mutex: *mut pthread_mutex_t,
__prioceiling: ::core::ffi::c_int,
__old_ceiling: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutex_consistent(__mutex: *mut pthread_mutex_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutexattr_init(__attr: *mut pthread_mutexattr_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutexattr_destroy(__attr: *mut pthread_mutexattr_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutexattr_getpshared(
__attr: *const pthread_mutexattr_t,
__pshared: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutexattr_setpshared(
__attr: *mut pthread_mutexattr_t,
__pshared: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutexattr_gettype(
__attr: *const pthread_mutexattr_t,
__kind: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutexattr_settype(
__attr: *mut pthread_mutexattr_t,
__kind: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutexattr_getprotocol(
__attr: *const pthread_mutexattr_t,
__protocol: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutexattr_setprotocol(
__attr: *mut pthread_mutexattr_t,
__protocol: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutexattr_getprioceiling(
__attr: *const pthread_mutexattr_t,
__prioceiling: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutexattr_setprioceiling(
__attr: *mut pthread_mutexattr_t,
__prioceiling: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutexattr_getrobust(
__attr: *const pthread_mutexattr_t,
__robustness: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_mutexattr_setrobust(
__attr: *mut pthread_mutexattr_t,
__robustness: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlock_init(
__rwlock: *mut pthread_rwlock_t,
__attr: *const pthread_rwlockattr_t,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlock_destroy(__rwlock: *mut pthread_rwlock_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlock_rdlock(__rwlock: *mut pthread_rwlock_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlock_tryrdlock(__rwlock: *mut pthread_rwlock_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlock_timedrdlock(
__rwlock: *mut pthread_rwlock_t,
__abstime: *const timespec,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlock_wrlock(__rwlock: *mut pthread_rwlock_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlock_trywrlock(__rwlock: *mut pthread_rwlock_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlock_timedwrlock(
__rwlock: *mut pthread_rwlock_t,
__abstime: *const timespec,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlock_unlock(__rwlock: *mut pthread_rwlock_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlockattr_init(__attr: *mut pthread_rwlockattr_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlockattr_destroy(__attr: *mut pthread_rwlockattr_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlockattr_getpshared(
__attr: *const pthread_rwlockattr_t,
__pshared: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlockattr_setpshared(
__attr: *mut pthread_rwlockattr_t,
__pshared: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlockattr_getkind_np(
__attr: *const pthread_rwlockattr_t,
__pref: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_rwlockattr_setkind_np(
__attr: *mut pthread_rwlockattr_t,
__pref: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_cond_init(
__cond: *mut pthread_cond_t,
__cond_attr: *const pthread_condattr_t,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_cond_destroy(__cond: *mut pthread_cond_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_cond_signal(__cond: *mut pthread_cond_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_cond_broadcast(__cond: *mut pthread_cond_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_cond_wait(
__cond: *mut pthread_cond_t,
__mutex: *mut pthread_mutex_t,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_cond_timedwait(
__cond: *mut pthread_cond_t,
__mutex: *mut pthread_mutex_t,
__abstime: *const timespec,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_condattr_init(__attr: *mut pthread_condattr_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_condattr_destroy(__attr: *mut pthread_condattr_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_condattr_getpshared(
__attr: *const pthread_condattr_t,
__pshared: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_condattr_setpshared(
__attr: *mut pthread_condattr_t,
__pshared: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_condattr_getclock(
__attr: *const pthread_condattr_t,
__clock_id: *mut __clockid_t,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_condattr_setclock(
__attr: *mut pthread_condattr_t,
__clock_id: __clockid_t,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_spin_init(
__lock: *mut pthread_spinlock_t,
__pshared: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_spin_destroy(__lock: *mut pthread_spinlock_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_spin_lock(__lock: *mut pthread_spinlock_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_spin_trylock(__lock: *mut pthread_spinlock_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_spin_unlock(__lock: *mut pthread_spinlock_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_barrier_init(
__barrier: *mut pthread_barrier_t,
__attr: *const pthread_barrierattr_t,
__count: ::core::ffi::c_uint,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_barrier_destroy(__barrier: *mut pthread_barrier_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_barrier_wait(__barrier: *mut pthread_barrier_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_barrierattr_init(__attr: *mut pthread_barrierattr_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_barrierattr_destroy(__attr: *mut pthread_barrierattr_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_barrierattr_getpshared(
__attr: *const pthread_barrierattr_t,
__pshared: *mut ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_barrierattr_setpshared(
__attr: *mut pthread_barrierattr_t,
__pshared: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_key_create(
__key: *mut pthread_key_t,
__destr_function: ::core::option::Option<
unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
>,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_key_delete(__key: pthread_key_t) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_getspecific(__key: pthread_key_t) -> *mut ::core::ffi::c_void;
}
unsafe extern "C" {
pub fn pthread_setspecific(
__key: pthread_key_t,
__pointer: *const ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_getcpuclockid(
__thread_id: pthread_t,
__clock_id: *mut __clockid_t,
) -> ::core::ffi::c_int;
}
unsafe extern "C" {
pub fn pthread_atfork(
__prepare: ::core::option::Option<unsafe extern "C" fn()>,
__parent: ::core::option::Option<unsafe extern "C" fn()>,
__child: ::core::option::Option<unsafe extern "C" fn()>,
) -> ::core::ffi::c_int;
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct CThread {
pub _tid: pthread_t,
pub _created: ::core::ffi::c_int,
pub __bindgen_padding_0: [u8; 4usize],
}
unsafe extern "C" {
pub fn Thread_Close(p: *mut CThread) -> WRes;
}
pub type THREAD_FUNC_RET_TYPE = *mut ::core::ffi::c_void;
pub type CAffinityMask = UInt64;
pub type CCpuSet = cpu_set_t;
pub type THREAD_FUNC_TYPE = ::core::option::Option<
unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> THREAD_FUNC_RET_TYPE,
>;
unsafe extern "C" {
pub fn Thread_Create(p: *mut CThread, func: THREAD_FUNC_TYPE, param: LPVOID) -> WRes;
}
unsafe extern "C" {
pub fn Thread_Create_With_Affinity(
p: *mut CThread,
func: THREAD_FUNC_TYPE,
param: LPVOID,
affinity: CAffinityMask,
) -> WRes;
}
unsafe extern "C" {
pub fn Thread_Wait_Close(p: *mut CThread) -> WRes;
}
unsafe extern "C" {
pub fn Thread_Create_With_CpuSet(
p: *mut CThread,
func: THREAD_FUNC_TYPE,
param: LPVOID,
cpuSet: *const CCpuSet,
) -> WRes;
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct CThreadNextGroup {
pub NumGroups: ::core::ffi::c_uint,
pub NextGroup: ::core::ffi::c_uint,
}
unsafe extern "C" {
pub fn ThreadNextGroup_Init(
p: *mut CThreadNextGroup,
numGroups: ::core::ffi::c_uint,
startGroup: ::core::ffi::c_uint,
);
}
unsafe extern "C" {
pub fn ThreadNextGroup_GetNext(p: *mut CThreadNextGroup) -> ::core::ffi::c_uint;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct CEvent {
pub _created: ::core::ffi::c_int,
pub _manual_reset: ::core::ffi::c_int,
pub _state: ::core::ffi::c_int,
pub __bindgen_padding_0: [u8; 4usize],
pub _mutex: pthread_mutex_t,
pub _cond: pthread_cond_t,
}
impl Default for CEvent {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for CEvent {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(
f,
"CEvent {{ _created: {:?}, _manual_reset: {:?}, _state: {:?}, _mutex: {:?}, _cond: {:?} }}",
self._created, self._manual_reset, self._state, self._mutex, self._cond
)
}
}
pub type CAutoResetEvent = CEvent;
pub type CManualResetEvent = CEvent;
unsafe extern "C" {
pub fn ManualResetEvent_Create(p: *mut CManualResetEvent, signaled: ::core::ffi::c_int)
-> WRes;
}
unsafe extern "C" {
pub fn ManualResetEvent_CreateNotSignaled(p: *mut CManualResetEvent) -> WRes;
}
unsafe extern "C" {
pub fn AutoResetEvent_Create(p: *mut CAutoResetEvent, signaled: ::core::ffi::c_int) -> WRes;
}
unsafe extern "C" {
pub fn AutoResetEvent_CreateNotSignaled(p: *mut CAutoResetEvent) -> WRes;
}
unsafe extern "C" {
pub fn Event_Set(p: *mut CEvent) -> WRes;
}
unsafe extern "C" {
pub fn Event_Reset(p: *mut CEvent) -> WRes;
}
unsafe extern "C" {
pub fn Event_Wait(p: *mut CEvent) -> WRes;
}
unsafe extern "C" {
pub fn Event_Close(p: *mut CEvent) -> WRes;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct CSemaphore {
pub _created: ::core::ffi::c_int,
pub _count: UInt32,
pub _maxCount: UInt32,
pub __bindgen_padding_0: [u8; 4usize],
pub _mutex: pthread_mutex_t,
pub _cond: pthread_cond_t,
}
impl Default for CSemaphore {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for CSemaphore {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(
f,
"CSemaphore {{ _created: {:?}, _count: {:?}, _maxCount: {:?}, _mutex: {:?}, _cond: {:?} }}",
self._created, self._count, self._maxCount, self._mutex, self._cond
)
}
}
unsafe extern "C" {
pub fn Semaphore_Create(p: *mut CSemaphore, initCount: UInt32, maxCount: UInt32) -> WRes;
}
unsafe extern "C" {
pub fn Semaphore_OptCreateInit(p: *mut CSemaphore, initCount: UInt32, maxCount: UInt32)
-> WRes;
}
unsafe extern "C" {
pub fn Semaphore_ReleaseN(p: *mut CSemaphore, num: UInt32) -> WRes;
}
unsafe extern "C" {
pub fn Semaphore_Wait(p: *mut CSemaphore) -> WRes;
}
unsafe extern "C" {
pub fn Semaphore_Close(p: *mut CSemaphore) -> WRes;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct CCriticalSection {
pub _mutex: pthread_mutex_t,
}
impl Default for CCriticalSection {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for CCriticalSection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "CCriticalSection {{ _mutex: {:?} }}", self._mutex)
}
}
unsafe extern "C" {
pub fn CriticalSection_Init(p: *mut CCriticalSection) -> WRes;
}
unsafe extern "C" {
pub fn CriticalSection_Delete(cs: *mut CCriticalSection);
}
unsafe extern "C" {
pub fn CriticalSection_Enter(cs: *mut CCriticalSection);
}
unsafe extern "C" {
pub fn CriticalSection_Leave(cs: *mut CCriticalSection);
}
unsafe extern "C" {
pub fn InterlockedIncrement(addend: *mut LONG) -> LONG;
}
unsafe extern "C" {
pub fn InterlockedDecrement(addend: *mut LONG) -> LONG;
}
unsafe extern "C" {
pub fn AutoResetEvent_OptCreate_And_Reset(p: *mut CAutoResetEvent) -> WRes;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct CMtSync {
pub numProcessedBlocks: UInt32,
pub affinityGroup: Int32,
pub affinityInGroup: UInt64,
pub affinity: UInt64,
pub thread: CThread,
pub wasCreated: BoolInt,
pub needStart: BoolInt,
pub csWasInitialized: BoolInt,
pub csWasEntered: BoolInt,
pub exit: BoolInt,
pub stopWriting: BoolInt,
pub canStart: CAutoResetEvent,
pub wasStopped: CAutoResetEvent,
pub freeSemaphore: CSemaphore,
pub filledSemaphore: CSemaphore,
pub cs: CCriticalSection,
}
impl Default for CMtSync {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for CMtSync {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(
f,
"CMtSync {{ numProcessedBlocks: {:?}, affinityGroup: {:?}, affinityInGroup: {:?}, affinity: {:?}, thread: {:?}, wasCreated: {:?}, needStart: {:?}, csWasInitialized: {:?}, csWasEntered: {:?}, exit: {:?}, stopWriting: {:?}, canStart: {:?}, wasStopped: {:?}, freeSemaphore: {:?}, filledSemaphore: {:?}, cs: {:?} }}",
self.numProcessedBlocks,
self.affinityGroup,
self.affinityInGroup,
self.affinity,
self.thread,
self.wasCreated,
self.needStart,
self.csWasInitialized,
self.csWasEntered,
self.exit,
self.stopWriting,
self.canStart,
self.wasStopped,
self.freeSemaphore,
self.filledSemaphore,
self.cs
)
}
}
pub type Mf_Mix_Matches = ::core::option::Option<
unsafe extern "C" fn(
p: *mut CMatchFinderMt_,
matchMinPos: UInt32,
distances: *mut UInt32,
) -> *mut UInt32,
>;
pub type Mf_GetHeads = ::core::option::Option<
unsafe extern "C" fn(
buffer: *const Byte,
pos: UInt32,
hash: *mut UInt32,
hashMask: UInt32,
heads: *mut UInt32,
numHeads: UInt32,
crc: *const UInt32,
),
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct CMatchFinderMt_ {
pub pointerToCurPos: *const Byte,
pub btBuf: *mut UInt32,
pub btBufPos: *const UInt32,
pub btBufPosLimit: *const UInt32,
pub lzPos: UInt32,
pub btNumAvailBytes: UInt32,
pub hash: *mut UInt32,
pub fixedHashSize: UInt32,
pub historySize: UInt32,
pub crc: *const UInt32,
pub MixMatchesFunc: Mf_Mix_Matches,
pub failure_LZ_BT: UInt32,
pub failureBuf: [UInt32; 1usize],
pub btSync: CMtSync,
pub btDummy: [Byte; 128usize],
pub hashBuf: *mut UInt32,
pub hashBufPos: UInt32,
pub hashBufPosLimit: UInt32,
pub hashNumAvail: UInt32,
pub failure_BT: UInt32,
pub son: *mut CLzRef,
pub matchMaxLen: UInt32,
pub numHashBytes: UInt32,
pub pos: UInt32,
pub __bindgen_padding_0: [u8; 4usize],
pub buffer: *const Byte,
pub cyclicBufferPos: UInt32,
pub cyclicBufferSize: UInt32,
pub cutValue: UInt32,
pub __bindgen_padding_1: [u8; 4usize],
pub hashSync: CMtSync,
pub GetHeadsFunc: Mf_GetHeads,
pub MatchFinder: *mut CMatchFinder,
}
impl Default for CMatchFinderMt_ {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl ::core::fmt::Debug for CMatchFinderMt_ {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(
f,
"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: {:?} }}",
self.pointerToCurPos,
self.btBuf,
self.btBufPos,
self.btBufPosLimit,
self.lzPos,
self.btNumAvailBytes,
self.hash,
self.fixedHashSize,
self.historySize,
self.crc,
self.MixMatchesFunc,
self.failure_LZ_BT,
self.failureBuf,
self.btSync,
self.btDummy,
self.hashBuf,
self.hashBufPos,
self.hashBufPosLimit,
self.hashNumAvail,
self.failure_BT,
self.son,
self.matchMaxLen,
self.numHashBytes,
self.pos,
self.buffer,
self.cyclicBufferPos,
self.cyclicBufferSize,
self.cutValue,
self.hashSync,
self.GetHeadsFunc,
self.MatchFinder
)
}
}
pub type CMatchFinderMt = CMatchFinderMt_;
unsafe extern "C" {
pub fn MatchFinderMt_Construct(p: *mut CMatchFinderMt);
}
unsafe extern "C" {
pub fn MatchFinderMt_Destruct(p: *mut CMatchFinderMt, alloc: ISzAllocPtr);
}
unsafe extern "C" {
pub fn MatchFinderMt_Create(
p: *mut CMatchFinderMt,
historySize: UInt32,
keepAddBufferBefore: UInt32,
matchMaxLen: UInt32,
keepAddBufferAfter: UInt32,
alloc: ISzAllocPtr,
) -> SRes;
}
unsafe extern "C" {
pub fn MatchFinderMt_CreateVTable(p: *mut CMatchFinderMt, vTable: *mut IMatchFinder2);
}
unsafe extern "C" {
pub fn MatchFinderMt_InitMt(p: *mut CMatchFinderMt) -> SRes;
}
unsafe extern "C" {
pub fn MatchFinderMt_ReleaseStream(p: *mut CMatchFinderMt);
}
unsafe extern "C" {
pub fn z7_x86_cpuid(a: *mut UInt32, function: UInt32);
}
unsafe extern "C" {
pub fn z7_x86_cpuid_GetMaxFunc() -> UInt32;
}
unsafe extern "C" {
pub fn CPU_IsSupported_AES() -> BoolInt;
}
unsafe extern "C" {
pub fn CPU_IsSupported_AVX() -> BoolInt;
}
unsafe extern "C" {
pub fn CPU_IsSupported_AVX2() -> BoolInt;
}
unsafe extern "C" {
pub fn CPU_IsSupported_AVX512F_AVX512VL() -> BoolInt;
}
unsafe extern "C" {
pub fn CPU_IsSupported_VAES_AVX2() -> BoolInt;
}
unsafe extern "C" {
pub fn CPU_IsSupported_CMOV() -> BoolInt;
}
unsafe extern "C" {
pub fn CPU_IsSupported_SSE() -> BoolInt;
}
unsafe extern "C" {
pub fn CPU_IsSupported_SSE2() -> BoolInt;
}
unsafe extern "C" {
pub fn CPU_IsSupported_SSSE3() -> BoolInt;
}
unsafe extern "C" {
pub fn CPU_IsSupported_SSE41() -> BoolInt;
}
unsafe extern "C" {
pub fn CPU_IsSupported_SHA() -> BoolInt;
}
unsafe extern "C" {
pub fn CPU_IsSupported_SHA512() -> BoolInt;
}
unsafe extern "C" {
pub fn CPU_IsSupported_PageGB() -> BoolInt;
}
unsafe extern "C" {
pub fn GetMatchesSpecN_2(
lenLimit: *const Byte,
pos: usize,
cur: *const Byte,
son: *mut CLzRef,
_cutValue: UInt32,
d: *mut UInt32,
_maxLen: usize,
hash: *const UInt32,
limit: *const UInt32,
size: *const UInt32,
_cyclicBufferPos: usize,
_cyclicBufferSize: UInt32,
posRes: *mut UInt32,
) -> *mut UInt32;
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub struct __locale_data {
pub _address: u8,
}