From 386972bb6173faed131c579d925434aa021ff960 Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:14:37 -0400 Subject: [PATCH 01/13] Add generated bindings for Apple M1 --- onnxruntime-sys/src/generated/bindings.rs | 6 + .../src/generated/macos/aarch64/bindings.rs | 9651 +++++++++++++++++ 2 files changed, 9657 insertions(+) create mode 100644 onnxruntime-sys/src/generated/macos/aarch64/bindings.rs diff --git a/onnxruntime-sys/src/generated/bindings.rs b/onnxruntime-sys/src/generated/bindings.rs index 54adfca3..02813c50 100644 --- a/onnxruntime-sys/src/generated/bindings.rs +++ b/onnxruntime-sys/src/generated/bindings.rs @@ -10,6 +10,12 @@ include!(concat!( "/src/generated/macos/x86_64/bindings.rs" )); +#[cfg(all(target_os = "macos", target_arch = "aarch64"))] +include!(concat!( + env!("CARGO_MANIFEST_DIR"), + "/src/generated/macos/aarch64/bindings.rs" +)); + #[cfg(all(target_os = "windows", target_arch = "x86"))] include!(concat!( env!("CARGO_MANIFEST_DIR"), diff --git a/onnxruntime-sys/src/generated/macos/aarch64/bindings.rs b/onnxruntime-sys/src/generated/macos/aarch64/bindings.rs new file mode 100644 index 00000000..bf2ad6ce --- /dev/null +++ b/onnxruntime-sys/src/generated/macos/aarch64/bindings.rs @@ -0,0 +1,9651 @@ +/* automatically generated by rust-bindgen 0.55.1 */ + +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { + storage: Storage, + align: [Align; 0], +} +impl __BindgenBitfieldUnit { + #[inline] + pub const fn new(storage: Storage) -> Self { + Self { storage, align: [] } + } +} +impl __BindgenBitfieldUnit +where + Storage: AsRef<[u8]> + AsMut<[u8]>, +{ + #[inline] + pub fn get_bit(&self, index: usize) -> bool { + debug_assert!(index / 8 < self.storage.as_ref().len()); + let byte_index = index / 8; + let byte = self.storage.as_ref()[byte_index]; + let bit_index = if cfg!(target_endian = "big") { + 7 - (index % 8) + } else { + index % 8 + }; + let mask = 1 << bit_index; + byte & mask == mask + } + #[inline] + pub fn set_bit(&mut self, index: usize, val: bool) { + debug_assert!(index / 8 < self.storage.as_ref().len()); + let byte_index = index / 8; + let byte = &mut self.storage.as_mut()[byte_index]; + let bit_index = if cfg!(target_endian = "big") { + 7 - (index % 8) + } else { + index % 8 + }; + let mask = 1 << bit_index; + if val { + *byte |= mask; + } else { + *byte &= !mask; + } + } + #[inline] + pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { + debug_assert!(bit_width <= 64); + debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); + let mut val = 0; + for i in 0..(bit_width as usize) { + if self.get_bit(i + bit_offset) { + let index = if cfg!(target_endian = "big") { + bit_width as usize - 1 - i + } else { + i + }; + val |= 1 << index; + } + } + val + } + #[inline] + pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { + debug_assert!(bit_width <= 64); + debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); + for i in 0..(bit_width as usize) { + let mask = 1 << i; + let val_bit_is_set = val & mask == mask; + let index = if cfg!(target_endian = "big") { + bit_width as usize - 1 - i + } else { + i + }; + self.set_bit(index + bit_offset, val_bit_is_set); + } + } +} +pub const __API_TO_BE_DEPRECATED: u32 = 100000; +pub const __MAC_10_0: u32 = 1000; +pub const __MAC_10_1: u32 = 1010; +pub const __MAC_10_2: u32 = 1020; +pub const __MAC_10_3: u32 = 1030; +pub const __MAC_10_4: u32 = 1040; +pub const __MAC_10_5: u32 = 1050; +pub const __MAC_10_6: u32 = 1060; +pub const __MAC_10_7: u32 = 1070; +pub const __MAC_10_8: u32 = 1080; +pub const __MAC_10_9: u32 = 1090; +pub const __MAC_10_10: u32 = 101000; +pub const __MAC_10_10_2: u32 = 101002; +pub const __MAC_10_10_3: u32 = 101003; +pub const __MAC_10_11: u32 = 101100; +pub const __MAC_10_11_2: u32 = 101102; +pub const __MAC_10_11_3: u32 = 101103; +pub const __MAC_10_11_4: u32 = 101104; +pub const __MAC_10_12: u32 = 101200; +pub const __MAC_10_12_1: u32 = 101201; +pub const __MAC_10_12_2: u32 = 101202; +pub const __MAC_10_12_4: u32 = 101204; +pub const __MAC_10_13: u32 = 101300; +pub const __MAC_10_13_1: u32 = 101301; +pub const __MAC_10_13_2: u32 = 101302; +pub const __MAC_10_13_4: u32 = 101304; +pub const __MAC_10_14: u32 = 101400; +pub const __MAC_10_14_1: u32 = 101401; +pub const __MAC_10_14_4: u32 = 101404; +pub const __MAC_10_14_6: u32 = 101406; +pub const __MAC_10_15: u32 = 101500; +pub const __MAC_10_15_1: u32 = 101501; +pub const __MAC_10_15_4: u32 = 101504; +pub const __MAC_10_16: u32 = 101600; +pub const __MAC_11_0: u32 = 110000; +pub const __MAC_11_1: u32 = 110100; +pub const __IPHONE_2_0: u32 = 20000; +pub const __IPHONE_2_1: u32 = 20100; +pub const __IPHONE_2_2: u32 = 20200; +pub const __IPHONE_3_0: u32 = 30000; +pub const __IPHONE_3_1: u32 = 30100; +pub const __IPHONE_3_2: u32 = 30200; +pub const __IPHONE_4_0: u32 = 40000; +pub const __IPHONE_4_1: u32 = 40100; +pub const __IPHONE_4_2: u32 = 40200; +pub const __IPHONE_4_3: u32 = 40300; +pub const __IPHONE_5_0: u32 = 50000; +pub const __IPHONE_5_1: u32 = 50100; +pub const __IPHONE_6_0: u32 = 60000; +pub const __IPHONE_6_1: u32 = 60100; +pub const __IPHONE_7_0: u32 = 70000; +pub const __IPHONE_7_1: u32 = 70100; +pub const __IPHONE_8_0: u32 = 80000; +pub const __IPHONE_8_1: u32 = 80100; +pub const __IPHONE_8_2: u32 = 80200; +pub const __IPHONE_8_3: u32 = 80300; +pub const __IPHONE_8_4: u32 = 80400; +pub const __IPHONE_9_0: u32 = 90000; +pub const __IPHONE_9_1: u32 = 90100; +pub const __IPHONE_9_2: u32 = 90200; +pub const __IPHONE_9_3: u32 = 90300; +pub const __IPHONE_10_0: u32 = 100000; +pub const __IPHONE_10_1: u32 = 100100; +pub const __IPHONE_10_2: u32 = 100200; +pub const __IPHONE_10_3: u32 = 100300; +pub const __IPHONE_11_0: u32 = 110000; +pub const __IPHONE_11_1: u32 = 110100; +pub const __IPHONE_11_2: u32 = 110200; +pub const __IPHONE_11_3: u32 = 110300; +pub const __IPHONE_11_4: u32 = 110400; +pub const __IPHONE_12_0: u32 = 120000; +pub const __IPHONE_12_1: u32 = 120100; +pub const __IPHONE_12_2: u32 = 120200; +pub const __IPHONE_12_3: u32 = 120300; +pub const __IPHONE_12_4: u32 = 120400; +pub const __IPHONE_13_0: u32 = 130000; +pub const __IPHONE_13_1: u32 = 130100; +pub const __IPHONE_13_2: u32 = 130200; +pub const __IPHONE_13_3: u32 = 130300; +pub const __IPHONE_13_4: u32 = 130400; +pub const __IPHONE_13_5: u32 = 130500; +pub const __IPHONE_13_6: u32 = 130600; +pub const __IPHONE_13_7: u32 = 130700; +pub const __IPHONE_14_0: u32 = 140000; +pub const __IPHONE_14_1: u32 = 140100; +pub const __IPHONE_14_2: u32 = 140200; +pub const __IPHONE_14_3: u32 = 140300; +pub const __TVOS_9_0: u32 = 90000; +pub const __TVOS_9_1: u32 = 90100; +pub const __TVOS_9_2: u32 = 90200; +pub const __TVOS_10_0: u32 = 100000; +pub const __TVOS_10_0_1: u32 = 100001; +pub const __TVOS_10_1: u32 = 100100; +pub const __TVOS_10_2: u32 = 100200; +pub const __TVOS_11_0: u32 = 110000; +pub const __TVOS_11_1: u32 = 110100; +pub const __TVOS_11_2: u32 = 110200; +pub const __TVOS_11_3: u32 = 110300; +pub const __TVOS_11_4: u32 = 110400; +pub const __TVOS_12_0: u32 = 120000; +pub const __TVOS_12_1: u32 = 120100; +pub const __TVOS_12_2: u32 = 120200; +pub const __TVOS_12_3: u32 = 120300; +pub const __TVOS_12_4: u32 = 120400; +pub const __TVOS_13_0: u32 = 130000; +pub const __TVOS_13_2: u32 = 130200; +pub const __TVOS_13_3: u32 = 130300; +pub const __TVOS_13_4: u32 = 130400; +pub const __TVOS_14_0: u32 = 140000; +pub const __TVOS_14_1: u32 = 140100; +pub const __TVOS_14_2: u32 = 140200; +pub const __TVOS_14_3: u32 = 140300; +pub const __WATCHOS_1_0: u32 = 10000; +pub const __WATCHOS_2_0: u32 = 20000; +pub const __WATCHOS_2_1: u32 = 20100; +pub const __WATCHOS_2_2: u32 = 20200; +pub const __WATCHOS_3_0: u32 = 30000; +pub const __WATCHOS_3_1: u32 = 30100; +pub const __WATCHOS_3_1_1: u32 = 30101; +pub const __WATCHOS_3_2: u32 = 30200; +pub const __WATCHOS_4_0: u32 = 40000; +pub const __WATCHOS_4_1: u32 = 40100; +pub const __WATCHOS_4_2: u32 = 40200; +pub const __WATCHOS_4_3: u32 = 40300; +pub const __WATCHOS_5_0: u32 = 50000; +pub const __WATCHOS_5_1: u32 = 50100; +pub const __WATCHOS_5_2: u32 = 50200; +pub const __WATCHOS_5_3: u32 = 50300; +pub const __WATCHOS_6_0: u32 = 60000; +pub const __WATCHOS_6_1: u32 = 60100; +pub const __WATCHOS_6_2: u32 = 60200; +pub const __WATCHOS_7_0: u32 = 70000; +pub const __WATCHOS_7_1: u32 = 70100; +pub const __WATCHOS_7_2: u32 = 70200; +pub const MAC_OS_X_VERSION_10_0: u32 = 1000; +pub const MAC_OS_X_VERSION_10_1: u32 = 1010; +pub const MAC_OS_X_VERSION_10_2: u32 = 1020; +pub const MAC_OS_X_VERSION_10_3: u32 = 1030; +pub const MAC_OS_X_VERSION_10_4: u32 = 1040; +pub const MAC_OS_X_VERSION_10_5: u32 = 1050; +pub const MAC_OS_X_VERSION_10_6: u32 = 1060; +pub const MAC_OS_X_VERSION_10_7: u32 = 1070; +pub const MAC_OS_X_VERSION_10_8: u32 = 1080; +pub const MAC_OS_X_VERSION_10_9: u32 = 1090; +pub const MAC_OS_X_VERSION_10_10: u32 = 101000; +pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002; +pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003; +pub const MAC_OS_X_VERSION_10_11: u32 = 101100; +pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102; +pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103; +pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104; +pub const MAC_OS_X_VERSION_10_12: u32 = 101200; +pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201; +pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202; +pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204; +pub const MAC_OS_X_VERSION_10_13: u32 = 101300; +pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301; +pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302; +pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304; +pub const MAC_OS_X_VERSION_10_14: u32 = 101400; +pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401; +pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404; +pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406; +pub const MAC_OS_X_VERSION_10_15: u32 = 101500; +pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501; +pub const MAC_OS_X_VERSION_10_16: u32 = 101600; +pub const MAC_OS_VERSION_11_0: u32 = 110000; +pub const __DRIVERKIT_19_0: u32 = 190000; +pub const __DRIVERKIT_20_0: u32 = 200000; +pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 110100; +pub const __ENABLE_LEGACY_MAC_AVAILABILITY: u32 = 1; +pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1; +pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1; +pub const __DARWIN_ONLY_VERS_1050: u32 = 1; +pub const __DARWIN_UNIX03: u32 = 1; +pub const __DARWIN_64_BIT_INO_T: u32 = 1; +pub const __DARWIN_VERS_1050: u32 = 1; +pub const __DARWIN_NON_CANCELABLE: u32 = 0; +pub const __DARWIN_SUF_EXTSN: &'static [u8; 14usize] = b"$DARWIN_EXTSN\0"; +pub const __DARWIN_C_ANSI: u32 = 4096; +pub const __DARWIN_C_FULL: u32 = 900000; +pub const __DARWIN_C_LEVEL: u32 = 900000; +pub const __STDC_WANT_LIB_EXT1__: u32 = 1; +pub const __DARWIN_NO_LONG_LONG: u32 = 0; +pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1; +pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1; +pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1; +pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1; +pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3; +pub const __PTHREAD_SIZE__: u32 = 8176; +pub const __PTHREAD_ATTR_SIZE__: u32 = 56; +pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8; +pub const __PTHREAD_MUTEX_SIZE__: u32 = 56; +pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8; +pub const __PTHREAD_COND_SIZE__: u32 = 40; +pub const __PTHREAD_ONCE_SIZE__: u32 = 8; +pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192; +pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16; +pub const __DARWIN_WCHAR_MIN: i32 = -2147483648; +pub const _FORTIFY_SOURCE: u32 = 2; +pub const __DARWIN_NSIG: u32 = 32; +pub const NSIG: u32 = 32; +pub const _ARM_SIGNAL_: u32 = 1; +pub const SIGHUP: u32 = 1; +pub const SIGINT: u32 = 2; +pub const SIGQUIT: u32 = 3; +pub const SIGILL: u32 = 4; +pub const SIGTRAP: u32 = 5; +pub const SIGABRT: u32 = 6; +pub const SIGIOT: u32 = 6; +pub const SIGEMT: u32 = 7; +pub const SIGFPE: u32 = 8; +pub const SIGKILL: u32 = 9; +pub const SIGBUS: u32 = 10; +pub const SIGSEGV: u32 = 11; +pub const SIGSYS: u32 = 12; +pub const SIGPIPE: u32 = 13; +pub const SIGALRM: u32 = 14; +pub const SIGTERM: u32 = 15; +pub const SIGURG: u32 = 16; +pub const SIGSTOP: u32 = 17; +pub const SIGTSTP: u32 = 18; +pub const SIGCONT: u32 = 19; +pub const SIGCHLD: u32 = 20; +pub const SIGTTIN: u32 = 21; +pub const SIGTTOU: u32 = 22; +pub const SIGIO: u32 = 23; +pub const SIGXCPU: u32 = 24; +pub const SIGXFSZ: u32 = 25; +pub const SIGVTALRM: u32 = 26; +pub const SIGPROF: u32 = 27; +pub const SIGWINCH: u32 = 28; +pub const SIGINFO: u32 = 29; +pub const SIGUSR1: u32 = 30; +pub const SIGUSR2: u32 = 31; +pub const __DARWIN_OPAQUE_ARM_THREAD_STATE64: u32 = 0; +pub const SIGEV_NONE: u32 = 0; +pub const SIGEV_SIGNAL: u32 = 1; +pub const SIGEV_THREAD: u32 = 3; +pub const ILL_NOOP: u32 = 0; +pub const ILL_ILLOPC: u32 = 1; +pub const ILL_ILLTRP: u32 = 2; +pub const ILL_PRVOPC: u32 = 3; +pub const ILL_ILLOPN: u32 = 4; +pub const ILL_ILLADR: u32 = 5; +pub const ILL_PRVREG: u32 = 6; +pub const ILL_COPROC: u32 = 7; +pub const ILL_BADSTK: u32 = 8; +pub const FPE_NOOP: u32 = 0; +pub const FPE_FLTDIV: u32 = 1; +pub const FPE_FLTOVF: u32 = 2; +pub const FPE_FLTUND: u32 = 3; +pub const FPE_FLTRES: u32 = 4; +pub const FPE_FLTINV: u32 = 5; +pub const FPE_FLTSUB: u32 = 6; +pub const FPE_INTDIV: u32 = 7; +pub const FPE_INTOVF: u32 = 8; +pub const SEGV_NOOP: u32 = 0; +pub const SEGV_MAPERR: u32 = 1; +pub const SEGV_ACCERR: u32 = 2; +pub const BUS_NOOP: u32 = 0; +pub const BUS_ADRALN: u32 = 1; +pub const BUS_ADRERR: u32 = 2; +pub const BUS_OBJERR: u32 = 3; +pub const TRAP_BRKPT: u32 = 1; +pub const TRAP_TRACE: u32 = 2; +pub const CLD_NOOP: u32 = 0; +pub const CLD_EXITED: u32 = 1; +pub const CLD_KILLED: u32 = 2; +pub const CLD_DUMPED: u32 = 3; +pub const CLD_TRAPPED: u32 = 4; +pub const CLD_STOPPED: u32 = 5; +pub const CLD_CONTINUED: u32 = 6; +pub const POLL_IN: u32 = 1; +pub const POLL_OUT: u32 = 2; +pub const POLL_MSG: u32 = 3; +pub const POLL_ERR: u32 = 4; +pub const POLL_PRI: u32 = 5; +pub const POLL_HUP: u32 = 6; +pub const SA_ONSTACK: u32 = 1; +pub const SA_RESTART: u32 = 2; +pub const SA_RESETHAND: u32 = 4; +pub const SA_NOCLDSTOP: u32 = 8; +pub const SA_NODEFER: u32 = 16; +pub const SA_NOCLDWAIT: u32 = 32; +pub const SA_SIGINFO: u32 = 64; +pub const SA_USERTRAMP: u32 = 256; +pub const SA_64REGSET: u32 = 512; +pub const SA_USERSPACE_MASK: u32 = 127; +pub const SIG_BLOCK: u32 = 1; +pub const SIG_UNBLOCK: u32 = 2; +pub const SIG_SETMASK: u32 = 3; +pub const SI_USER: u32 = 65537; +pub const SI_QUEUE: u32 = 65538; +pub const SI_TIMER: u32 = 65539; +pub const SI_ASYNCIO: u32 = 65540; +pub const SI_MESGQ: u32 = 65541; +pub const SS_ONSTACK: u32 = 1; +pub const SS_DISABLE: u32 = 4; +pub const MINSIGSTKSZ: u32 = 32768; +pub const SIGSTKSZ: u32 = 131072; +pub const SV_ONSTACK: u32 = 1; +pub const SV_INTERRUPT: u32 = 2; +pub const SV_RESETHAND: u32 = 4; +pub const SV_NODEFER: u32 = 16; +pub const SV_NOCLDSTOP: u32 = 8; +pub const SV_SIGINFO: u32 = 64; +pub const __WORDSIZE: u32 = 64; +pub const INT8_MAX: u32 = 127; +pub const INT16_MAX: u32 = 32767; +pub const INT32_MAX: u32 = 2147483647; +pub const INT64_MAX: u64 = 9223372036854775807; +pub const INT8_MIN: i32 = -128; +pub const INT16_MIN: i32 = -32768; +pub const INT32_MIN: i32 = -2147483648; +pub const INT64_MIN: i64 = -9223372036854775808; +pub const UINT8_MAX: u32 = 255; +pub const UINT16_MAX: u32 = 65535; +pub const UINT32_MAX: u32 = 4294967295; +pub const UINT64_MAX: i32 = -1; +pub const INT_LEAST8_MIN: i32 = -128; +pub const INT_LEAST16_MIN: i32 = -32768; +pub const INT_LEAST32_MIN: i32 = -2147483648; +pub const INT_LEAST64_MIN: i64 = -9223372036854775808; +pub const INT_LEAST8_MAX: u32 = 127; +pub const INT_LEAST16_MAX: u32 = 32767; +pub const INT_LEAST32_MAX: u32 = 2147483647; +pub const INT_LEAST64_MAX: u64 = 9223372036854775807; +pub const UINT_LEAST8_MAX: u32 = 255; +pub const UINT_LEAST16_MAX: u32 = 65535; +pub const UINT_LEAST32_MAX: u32 = 4294967295; +pub const UINT_LEAST64_MAX: i32 = -1; +pub const INT_FAST8_MIN: i32 = -128; +pub const INT_FAST16_MIN: i32 = -32768; +pub const INT_FAST32_MIN: i32 = -2147483648; +pub const INT_FAST64_MIN: i64 = -9223372036854775808; +pub const INT_FAST8_MAX: u32 = 127; +pub const INT_FAST16_MAX: u32 = 32767; +pub const INT_FAST32_MAX: u32 = 2147483647; +pub const INT_FAST64_MAX: u64 = 9223372036854775807; +pub const UINT_FAST8_MAX: u32 = 255; +pub const UINT_FAST16_MAX: u32 = 65535; +pub const UINT_FAST32_MAX: u32 = 4294967295; +pub const UINT_FAST64_MAX: i32 = -1; +pub const INTPTR_MAX: u64 = 9223372036854775807; +pub const INTPTR_MIN: i64 = -9223372036854775808; +pub const UINTPTR_MAX: i32 = -1; +pub const SIZE_MAX: i32 = -1; +pub const RSIZE_MAX: i32 = -1; +pub const WINT_MIN: i32 = -2147483648; +pub const WINT_MAX: u32 = 2147483647; +pub const SIG_ATOMIC_MIN: i32 = -2147483648; +pub const SIG_ATOMIC_MAX: u32 = 2147483647; +pub const PRIO_PROCESS: u32 = 0; +pub const PRIO_PGRP: u32 = 1; +pub const PRIO_USER: u32 = 2; +pub const PRIO_DARWIN_THREAD: u32 = 3; +pub const PRIO_DARWIN_PROCESS: u32 = 4; +pub const PRIO_MIN: i32 = -20; +pub const PRIO_MAX: u32 = 20; +pub const PRIO_DARWIN_BG: u32 = 4096; +pub const PRIO_DARWIN_NONUI: u32 = 4097; +pub const RUSAGE_SELF: u32 = 0; +pub const RUSAGE_CHILDREN: i32 = -1; +pub const RUSAGE_INFO_V0: u32 = 0; +pub const RUSAGE_INFO_V1: u32 = 1; +pub const RUSAGE_INFO_V2: u32 = 2; +pub const RUSAGE_INFO_V3: u32 = 3; +pub const RUSAGE_INFO_V4: u32 = 4; +pub const RUSAGE_INFO_V5: u32 = 5; +pub const RUSAGE_INFO_CURRENT: u32 = 5; +pub const RU_PROC_RUNS_RESLIDE: u32 = 1; +pub const RLIMIT_CPU: u32 = 0; +pub const RLIMIT_FSIZE: u32 = 1; +pub const RLIMIT_DATA: u32 = 2; +pub const RLIMIT_STACK: u32 = 3; +pub const RLIMIT_CORE: u32 = 4; +pub const RLIMIT_AS: u32 = 5; +pub const RLIMIT_RSS: u32 = 5; +pub const RLIMIT_MEMLOCK: u32 = 6; +pub const RLIMIT_NPROC: u32 = 7; +pub const RLIMIT_NOFILE: u32 = 8; +pub const RLIM_NLIMITS: u32 = 9; +pub const _RLIMIT_POSIX_FLAG: u32 = 4096; +pub const RLIMIT_WAKEUPS_MONITOR: u32 = 1; +pub const RLIMIT_CPU_USAGE_MONITOR: u32 = 2; +pub const RLIMIT_THREAD_CPULIMITS: u32 = 3; +pub const RLIMIT_FOOTPRINT_INTERVAL: u32 = 4; +pub const WAKEMON_ENABLE: u32 = 1; +pub const WAKEMON_DISABLE: u32 = 2; +pub const WAKEMON_GET_PARAMS: u32 = 4; +pub const WAKEMON_SET_DEFAULTS: u32 = 8; +pub const WAKEMON_MAKE_FATAL: u32 = 16; +pub const CPUMON_MAKE_FATAL: u32 = 4096; +pub const FOOTPRINT_INTERVAL_RESET: u32 = 1; +pub const IOPOL_TYPE_DISK: u32 = 0; +pub const IOPOL_TYPE_VFS_ATIME_UPDATES: u32 = 2; +pub const IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES: u32 = 3; +pub const IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME: u32 = 4; +pub const IOPOL_TYPE_VFS_TRIGGER_RESOLVE: u32 = 5; +pub const IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION: u32 = 6; +pub const IOPOL_SCOPE_PROCESS: u32 = 0; +pub const IOPOL_SCOPE_THREAD: u32 = 1; +pub const IOPOL_SCOPE_DARWIN_BG: u32 = 2; +pub const IOPOL_DEFAULT: u32 = 0; +pub const IOPOL_IMPORTANT: u32 = 1; +pub const IOPOL_PASSIVE: u32 = 2; +pub const IOPOL_THROTTLE: u32 = 3; +pub const IOPOL_UTILITY: u32 = 4; +pub const IOPOL_STANDARD: u32 = 5; +pub const IOPOL_APPLICATION: u32 = 5; +pub const IOPOL_NORMAL: u32 = 1; +pub const IOPOL_ATIME_UPDATES_DEFAULT: u32 = 0; +pub const IOPOL_ATIME_UPDATES_OFF: u32 = 1; +pub const IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT: u32 = 0; +pub const IOPOL_MATERIALIZE_DATALESS_FILES_OFF: u32 = 1; +pub const IOPOL_MATERIALIZE_DATALESS_FILES_ON: u32 = 2; +pub const IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT: u32 = 0; +pub const IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME: u32 = 1; +pub const IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT: u32 = 0; +pub const IOPOL_VFS_TRIGGER_RESOLVE_OFF: u32 = 1; +pub const IOPOL_VFS_CONTENT_PROTECTION_DEFAULT: u32 = 0; +pub const IOPOL_VFS_CONTENT_PROTECTION_IGNORE: u32 = 1; +pub const WNOHANG: u32 = 1; +pub const WUNTRACED: u32 = 2; +pub const WCOREFLAG: u32 = 128; +pub const _WSTOPPED: u32 = 127; +pub const WEXITED: u32 = 4; +pub const WSTOPPED: u32 = 8; +pub const WCONTINUED: u32 = 16; +pub const WNOWAIT: u32 = 32; +pub const WAIT_ANY: i32 = -1; +pub const WAIT_MYPGRP: u32 = 0; +pub const _QUAD_HIGHWORD: u32 = 1; +pub const _QUAD_LOWWORD: u32 = 0; +pub const __DARWIN_LITTLE_ENDIAN: u32 = 1234; +pub const __DARWIN_BIG_ENDIAN: u32 = 4321; +pub const __DARWIN_PDP_ENDIAN: u32 = 3412; +pub const __DARWIN_BYTE_ORDER: u32 = 1234; +pub const LITTLE_ENDIAN: u32 = 1234; +pub const BIG_ENDIAN: u32 = 4321; +pub const PDP_ENDIAN: u32 = 3412; +pub const BYTE_ORDER: u32 = 1234; +pub const EXIT_FAILURE: u32 = 1; +pub const EXIT_SUCCESS: u32 = 0; +pub const RAND_MAX: u32 = 2147483647; +pub const _USE_FORTIFY_LEVEL: u32 = 2; +pub const __HAS_FIXED_CHK_PROTOTYPES: u32 = 1; +pub const ORT_API_VERSION: u32 = 7; +pub type __int8_t = ::std::os::raw::c_schar; +pub type __uint8_t = ::std::os::raw::c_uchar; +pub type __int16_t = ::std::os::raw::c_short; +pub type __uint16_t = ::std::os::raw::c_ushort; +pub type __int32_t = ::std::os::raw::c_int; +pub type __uint32_t = ::std::os::raw::c_uint; +pub type __int64_t = ::std::os::raw::c_longlong; +pub type __uint64_t = ::std::os::raw::c_ulonglong; +pub type __darwin_intptr_t = ::std::os::raw::c_long; +pub type __darwin_natural_t = ::std::os::raw::c_uint; +pub type __darwin_ct_rune_t = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union __mbstate_t { + pub __mbstate8: [::std::os::raw::c_char; 128usize], + pub _mbstateL: ::std::os::raw::c_longlong, + _bindgen_union_align: [u64; 16usize], +} +#[test] +fn bindgen_test_layout___mbstate_t() { + assert_eq!( + ::std::mem::size_of::<__mbstate_t>(), + 128usize, + concat!("Size of: ", stringify!(__mbstate_t)) + ); + assert_eq!( + ::std::mem::align_of::<__mbstate_t>(), + 8usize, + concat!("Alignment of ", stringify!(__mbstate_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__mbstate_t>())).__mbstate8 as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__mbstate_t), + "::", + stringify!(__mbstate8) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__mbstate_t>()))._mbstateL as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__mbstate_t), + "::", + stringify!(_mbstateL) + ) + ); +} +pub type __darwin_mbstate_t = __mbstate_t; +pub type __darwin_ptrdiff_t = ::std::os::raw::c_long; +pub type __darwin_size_t = ::std::os::raw::c_ulong; +pub type __darwin_va_list = __builtin_va_list; +pub type __darwin_wchar_t = ::std::os::raw::c_int; +pub type __darwin_rune_t = __darwin_wchar_t; +pub type __darwin_wint_t = ::std::os::raw::c_int; +pub type __darwin_clock_t = ::std::os::raw::c_ulong; +pub type __darwin_socklen_t = __uint32_t; +pub type __darwin_ssize_t = ::std::os::raw::c_long; +pub type __darwin_time_t = ::std::os::raw::c_long; +pub type __darwin_blkcnt_t = __int64_t; +pub type __darwin_blksize_t = __int32_t; +pub type __darwin_dev_t = __int32_t; +pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint; +pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint; +pub type __darwin_gid_t = __uint32_t; +pub type __darwin_id_t = __uint32_t; +pub type __darwin_ino64_t = __uint64_t; +pub type __darwin_ino_t = __darwin_ino64_t; +pub type __darwin_mach_port_name_t = __darwin_natural_t; +pub type __darwin_mach_port_t = __darwin_mach_port_name_t; +pub type __darwin_mode_t = __uint16_t; +pub type __darwin_off_t = __int64_t; +pub type __darwin_pid_t = __int32_t; +pub type __darwin_sigset_t = __uint32_t; +pub type __darwin_suseconds_t = __int32_t; +pub type __darwin_uid_t = __uint32_t; +pub type __darwin_useconds_t = __uint32_t; +pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize]; +pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize]; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_pthread_handler_rec { + pub __routine: ::std::option::Option, + pub __arg: *mut ::std::os::raw::c_void, + pub __next: *mut __darwin_pthread_handler_rec, +} +#[test] +fn bindgen_test_layout___darwin_pthread_handler_rec() { + assert_eq!( + ::std::mem::size_of::<__darwin_pthread_handler_rec>(), + 24usize, + concat!("Size of: ", stringify!(__darwin_pthread_handler_rec)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_pthread_handler_rec>(), + 8usize, + concat!("Alignment of ", stringify!(__darwin_pthread_handler_rec)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_pthread_handler_rec>())).__routine as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_pthread_handler_rec), + "::", + stringify!(__routine) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_pthread_handler_rec>())).__arg as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__darwin_pthread_handler_rec), + "::", + stringify!(__arg) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_pthread_handler_rec>())).__next as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__darwin_pthread_handler_rec), + "::", + stringify!(__next) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _opaque_pthread_attr_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 56usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_attr_t() { + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_attr_t>(), + 64usize, + concat!("Size of: ", stringify!(_opaque_pthread_attr_t)) + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_attr_t>(), + 8usize, + concat!("Alignment of ", stringify!(_opaque_pthread_attr_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_opaque_pthread_attr_t>())).__sig as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_attr_t), + "::", + stringify!(__sig) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_opaque_pthread_attr_t>())).__opaque as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_attr_t), + "::", + stringify!(__opaque) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _opaque_pthread_cond_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 40usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_cond_t() { + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_cond_t>(), + 48usize, + concat!("Size of: ", stringify!(_opaque_pthread_cond_t)) + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_cond_t>(), + 8usize, + concat!("Alignment of ", stringify!(_opaque_pthread_cond_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_opaque_pthread_cond_t>())).__sig as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_cond_t), + "::", + stringify!(__sig) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_opaque_pthread_cond_t>())).__opaque as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_cond_t), + "::", + stringify!(__opaque) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_condattr_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 8usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_condattr_t() { + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_condattr_t>(), + 16usize, + concat!("Size of: ", stringify!(_opaque_pthread_condattr_t)) + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_condattr_t>(), + 8usize, + concat!("Alignment of ", stringify!(_opaque_pthread_condattr_t)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_opaque_pthread_condattr_t>())).__sig as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_condattr_t), + "::", + stringify!(__sig) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_opaque_pthread_condattr_t>())).__opaque as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_condattr_t), + "::", + stringify!(__opaque) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _opaque_pthread_mutex_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 56usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_mutex_t() { + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_mutex_t>(), + 64usize, + concat!("Size of: ", stringify!(_opaque_pthread_mutex_t)) + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_mutex_t>(), + 8usize, + concat!("Alignment of ", stringify!(_opaque_pthread_mutex_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_opaque_pthread_mutex_t>())).__sig as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_mutex_t), + "::", + stringify!(__sig) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_opaque_pthread_mutex_t>())).__opaque as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_mutex_t), + "::", + stringify!(__opaque) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_mutexattr_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 8usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_mutexattr_t() { + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_mutexattr_t>(), + 16usize, + concat!("Size of: ", stringify!(_opaque_pthread_mutexattr_t)) + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_mutexattr_t>(), + 8usize, + concat!("Alignment of ", stringify!(_opaque_pthread_mutexattr_t)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_opaque_pthread_mutexattr_t>())).__sig as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_mutexattr_t), + "::", + stringify!(__sig) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_opaque_pthread_mutexattr_t>())).__opaque as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_mutexattr_t), + "::", + stringify!(__opaque) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_once_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 8usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_once_t() { + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_once_t>(), + 16usize, + concat!("Size of: ", stringify!(_opaque_pthread_once_t)) + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_once_t>(), + 8usize, + concat!("Alignment of ", stringify!(_opaque_pthread_once_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_opaque_pthread_once_t>())).__sig as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_once_t), + "::", + stringify!(__sig) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_opaque_pthread_once_t>())).__opaque as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_once_t), + "::", + stringify!(__opaque) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _opaque_pthread_rwlock_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 192usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_rwlock_t() { + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_rwlock_t>(), + 200usize, + concat!("Size of: ", stringify!(_opaque_pthread_rwlock_t)) + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_rwlock_t>(), + 8usize, + concat!("Alignment of ", stringify!(_opaque_pthread_rwlock_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_opaque_pthread_rwlock_t>())).__sig as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_rwlock_t), + "::", + stringify!(__sig) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_opaque_pthread_rwlock_t>())).__opaque as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_rwlock_t), + "::", + stringify!(__opaque) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_rwlockattr_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 16usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_rwlockattr_t() { + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_rwlockattr_t>(), + 24usize, + concat!("Size of: ", stringify!(_opaque_pthread_rwlockattr_t)) + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_rwlockattr_t>(), + 8usize, + concat!("Alignment of ", stringify!(_opaque_pthread_rwlockattr_t)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_opaque_pthread_rwlockattr_t>())).__sig as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_rwlockattr_t), + "::", + stringify!(__sig) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_opaque_pthread_rwlockattr_t>())).__opaque as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_rwlockattr_t), + "::", + stringify!(__opaque) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _opaque_pthread_t { + pub __sig: ::std::os::raw::c_long, + pub __cleanup_stack: *mut __darwin_pthread_handler_rec, + pub __opaque: [::std::os::raw::c_char; 8176usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_t() { + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_t>(), + 8192usize, + concat!("Size of: ", stringify!(_opaque_pthread_t)) + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_t>(), + 8usize, + concat!("Alignment of ", stringify!(_opaque_pthread_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_opaque_pthread_t>())).__sig as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_t), + "::", + stringify!(__sig) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_opaque_pthread_t>())).__cleanup_stack as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_t), + "::", + stringify!(__cleanup_stack) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_opaque_pthread_t>())).__opaque as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_opaque_pthread_t), + "::", + stringify!(__opaque) + ) + ); +} +pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t; +pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t; +pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t; +pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong; +pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t; +pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t; +pub type __darwin_pthread_once_t = _opaque_pthread_once_t; +pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t; +pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t; +pub type __darwin_pthread_t = *mut _opaque_pthread_t; +pub type __darwin_nl_item = ::std::os::raw::c_int; +pub type __darwin_wctrans_t = ::std::os::raw::c_int; +pub type __darwin_wctype_t = __uint32_t; +#[repr(u32)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub enum idtype_t { + P_ALL = 0, + P_PID = 1, + P_PGID = 2, +} +pub type pid_t = __darwin_pid_t; +pub type id_t = __darwin_id_t; +pub type sig_atomic_t = ::std::os::raw::c_int; +pub type u_int8_t = ::std::os::raw::c_uchar; +pub type u_int16_t = ::std::os::raw::c_ushort; +pub type u_int32_t = ::std::os::raw::c_uint; +pub type u_int64_t = ::std::os::raw::c_ulonglong; +pub type register_t = i64; +pub type user_addr_t = u_int64_t; +pub type user_size_t = u_int64_t; +pub type user_ssize_t = i64; +pub type user_long_t = i64; +pub type user_ulong_t = u_int64_t; +pub type user_time_t = i64; +pub type user_off_t = i64; +pub type syscall_arg_t = u_int64_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_exception_state { + pub __exception: __uint32_t, + pub __fsr: __uint32_t, + pub __far: __uint32_t, +} +#[test] +fn bindgen_test_layout___darwin_arm_exception_state() { + assert_eq!( + ::std::mem::size_of::<__darwin_arm_exception_state>(), + 12usize, + concat!("Size of: ", stringify!(__darwin_arm_exception_state)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_exception_state>(), + 4usize, + concat!("Alignment of ", stringify!(__darwin_arm_exception_state)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_exception_state>())).__exception as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_exception_state), + "::", + stringify!(__exception) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_exception_state>())).__fsr as *const _ as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_exception_state), + "::", + stringify!(__fsr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_exception_state>())).__far as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_exception_state), + "::", + stringify!(__far) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_exception_state64 { + pub __far: __uint64_t, + pub __esr: __uint32_t, + pub __exception: __uint32_t, +} +#[test] +fn bindgen_test_layout___darwin_arm_exception_state64() { + assert_eq!( + ::std::mem::size_of::<__darwin_arm_exception_state64>(), + 16usize, + concat!("Size of: ", stringify!(__darwin_arm_exception_state64)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_exception_state64>(), + 8usize, + concat!("Alignment of ", stringify!(__darwin_arm_exception_state64)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_exception_state64>())).__far as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_exception_state64), + "::", + stringify!(__far) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_exception_state64>())).__esr as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_exception_state64), + "::", + stringify!(__esr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_exception_state64>())).__exception as *const _ + as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_exception_state64), + "::", + stringify!(__exception) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_thread_state { + pub __r: [__uint32_t; 13usize], + pub __sp: __uint32_t, + pub __lr: __uint32_t, + pub __pc: __uint32_t, + pub __cpsr: __uint32_t, +} +#[test] +fn bindgen_test_layout___darwin_arm_thread_state() { + assert_eq!( + ::std::mem::size_of::<__darwin_arm_thread_state>(), + 68usize, + concat!("Size of: ", stringify!(__darwin_arm_thread_state)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_thread_state>(), + 4usize, + concat!("Alignment of ", stringify!(__darwin_arm_thread_state)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_thread_state>())).__r as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_thread_state), + "::", + stringify!(__r) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_thread_state>())).__sp as *const _ as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_thread_state), + "::", + stringify!(__sp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_thread_state>())).__lr as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_thread_state), + "::", + stringify!(__lr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_thread_state>())).__pc as *const _ as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_thread_state), + "::", + stringify!(__pc) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_thread_state>())).__cpsr as *const _ as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_thread_state), + "::", + stringify!(__cpsr) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_thread_state64 { + pub __x: [__uint64_t; 29usize], + pub __fp: __uint64_t, + pub __lr: __uint64_t, + pub __sp: __uint64_t, + pub __pc: __uint64_t, + pub __cpsr: __uint32_t, + pub __pad: __uint32_t, +} +#[test] +fn bindgen_test_layout___darwin_arm_thread_state64() { + assert_eq!( + ::std::mem::size_of::<__darwin_arm_thread_state64>(), + 272usize, + concat!("Size of: ", stringify!(__darwin_arm_thread_state64)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_thread_state64>(), + 8usize, + concat!("Alignment of ", stringify!(__darwin_arm_thread_state64)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__x as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_thread_state64), + "::", + stringify!(__x) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__fp as *const _ as usize + }, + 232usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_thread_state64), + "::", + stringify!(__fp) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__lr as *const _ as usize + }, + 240usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_thread_state64), + "::", + stringify!(__lr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__sp as *const _ as usize + }, + 248usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_thread_state64), + "::", + stringify!(__sp) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__pc as *const _ as usize + }, + 256usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_thread_state64), + "::", + stringify!(__pc) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__cpsr as *const _ as usize + }, + 264usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_thread_state64), + "::", + stringify!(__cpsr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__pad as *const _ as usize + }, + 268usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_thread_state64), + "::", + stringify!(__pad) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __darwin_arm_vfp_state { + pub __r: [__uint32_t; 64usize], + pub __fpscr: __uint32_t, +} +#[test] +fn bindgen_test_layout___darwin_arm_vfp_state() { + assert_eq!( + ::std::mem::size_of::<__darwin_arm_vfp_state>(), + 260usize, + concat!("Size of: ", stringify!(__darwin_arm_vfp_state)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_vfp_state>(), + 4usize, + concat!("Alignment of ", stringify!(__darwin_arm_vfp_state)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_vfp_state>())).__r as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_vfp_state), + "::", + stringify!(__r) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_vfp_state>())).__fpscr as *const _ as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_vfp_state), + "::", + stringify!(__fpscr) + ) + ); +} +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_neon_state64 { + pub __v: [__uint128_t; 32usize], + pub __fpsr: __uint32_t, + pub __fpcr: __uint32_t, +} +#[test] +fn bindgen_test_layout___darwin_arm_neon_state64() { + assert_eq!( + ::std::mem::size_of::<__darwin_arm_neon_state64>(), + 528usize, + concat!("Size of: ", stringify!(__darwin_arm_neon_state64)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_neon_state64>(), + 16usize, + concat!("Alignment of ", stringify!(__darwin_arm_neon_state64)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_neon_state64>())).__v as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_neon_state64), + "::", + stringify!(__v) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_neon_state64>())).__fpsr as *const _ as usize + }, + 512usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_neon_state64), + "::", + stringify!(__fpsr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_neon_state64>())).__fpcr as *const _ as usize + }, + 516usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_neon_state64), + "::", + stringify!(__fpcr) + ) + ); +} +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_neon_state { + pub __v: [__uint128_t; 16usize], + pub __fpsr: __uint32_t, + pub __fpcr: __uint32_t, +} +#[test] +fn bindgen_test_layout___darwin_arm_neon_state() { + assert_eq!( + ::std::mem::size_of::<__darwin_arm_neon_state>(), + 272usize, + concat!("Size of: ", stringify!(__darwin_arm_neon_state)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_neon_state>(), + 16usize, + concat!("Alignment of ", stringify!(__darwin_arm_neon_state)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_neon_state>())).__v as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_neon_state), + "::", + stringify!(__v) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_neon_state>())).__fpsr as *const _ as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_neon_state), + "::", + stringify!(__fpsr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_neon_state>())).__fpcr as *const _ as usize }, + 260usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_neon_state), + "::", + stringify!(__fpcr) + ) + ); +} +#[repr(C)] +#[repr(align(64))] +#[derive(Copy, Clone)] +pub struct __darwin_arm_amx_state_v1 { + pub __x: [[__uint8_t; 64usize]; 8usize], + pub __y: [[__uint8_t; 64usize]; 8usize], + pub __z: [[__uint8_t; 64usize]; 64usize], + pub __amx_state_t_el1: __uint64_t, +} +#[test] +fn bindgen_test_layout___darwin_arm_amx_state_v1() { + assert_eq!( + ::std::mem::size_of::<__darwin_arm_amx_state_v1>(), + 5184usize, + concat!("Size of: ", stringify!(__darwin_arm_amx_state_v1)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_amx_state_v1>(), + 64usize, + concat!("Alignment of ", stringify!(__darwin_arm_amx_state_v1)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_amx_state_v1>())).__x as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_amx_state_v1), + "::", + stringify!(__x) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_amx_state_v1>())).__y as *const _ as usize }, + 512usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_amx_state_v1), + "::", + stringify!(__y) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_arm_amx_state_v1>())).__z as *const _ as usize }, + 1024usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_amx_state_v1), + "::", + stringify!(__z) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_amx_state_v1>())).__amx_state_t_el1 as *const _ + as usize + }, + 5120usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_amx_state_v1), + "::", + stringify!(__amx_state_t_el1) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __arm_pagein_state { + pub __pagein_error: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout___arm_pagein_state() { + assert_eq!( + ::std::mem::size_of::<__arm_pagein_state>(), + 4usize, + concat!("Size of: ", stringify!(__arm_pagein_state)) + ); + assert_eq!( + ::std::mem::align_of::<__arm_pagein_state>(), + 4usize, + concat!("Alignment of ", stringify!(__arm_pagein_state)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__arm_pagein_state>())).__pagein_error as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__arm_pagein_state), + "::", + stringify!(__pagein_error) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __arm_legacy_debug_state { + pub __bvr: [__uint32_t; 16usize], + pub __bcr: [__uint32_t; 16usize], + pub __wvr: [__uint32_t; 16usize], + pub __wcr: [__uint32_t; 16usize], +} +#[test] +fn bindgen_test_layout___arm_legacy_debug_state() { + assert_eq!( + ::std::mem::size_of::<__arm_legacy_debug_state>(), + 256usize, + concat!("Size of: ", stringify!(__arm_legacy_debug_state)) + ); + assert_eq!( + ::std::mem::align_of::<__arm_legacy_debug_state>(), + 4usize, + concat!("Alignment of ", stringify!(__arm_legacy_debug_state)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__arm_legacy_debug_state>())).__bvr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__arm_legacy_debug_state), + "::", + stringify!(__bvr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__arm_legacy_debug_state>())).__bcr as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(__arm_legacy_debug_state), + "::", + stringify!(__bcr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__arm_legacy_debug_state>())).__wvr as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(__arm_legacy_debug_state), + "::", + stringify!(__wvr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__arm_legacy_debug_state>())).__wcr as *const _ as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(__arm_legacy_debug_state), + "::", + stringify!(__wcr) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_debug_state32 { + pub __bvr: [__uint32_t; 16usize], + pub __bcr: [__uint32_t; 16usize], + pub __wvr: [__uint32_t; 16usize], + pub __wcr: [__uint32_t; 16usize], + pub __mdscr_el1: __uint64_t, +} +#[test] +fn bindgen_test_layout___darwin_arm_debug_state32() { + assert_eq!( + ::std::mem::size_of::<__darwin_arm_debug_state32>(), + 264usize, + concat!("Size of: ", stringify!(__darwin_arm_debug_state32)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_debug_state32>(), + 8usize, + concat!("Alignment of ", stringify!(__darwin_arm_debug_state32)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_debug_state32>())).__bvr as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_debug_state32), + "::", + stringify!(__bvr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_debug_state32>())).__bcr as *const _ as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_debug_state32), + "::", + stringify!(__bcr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_debug_state32>())).__wvr as *const _ as usize + }, + 128usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_debug_state32), + "::", + stringify!(__wvr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_debug_state32>())).__wcr as *const _ as usize + }, + 192usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_debug_state32), + "::", + stringify!(__wcr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_debug_state32>())).__mdscr_el1 as *const _ as usize + }, + 256usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_debug_state32), + "::", + stringify!(__mdscr_el1) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_debug_state64 { + pub __bvr: [__uint64_t; 16usize], + pub __bcr: [__uint64_t; 16usize], + pub __wvr: [__uint64_t; 16usize], + pub __wcr: [__uint64_t; 16usize], + pub __mdscr_el1: __uint64_t, +} +#[test] +fn bindgen_test_layout___darwin_arm_debug_state64() { + assert_eq!( + ::std::mem::size_of::<__darwin_arm_debug_state64>(), + 520usize, + concat!("Size of: ", stringify!(__darwin_arm_debug_state64)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_debug_state64>(), + 8usize, + concat!("Alignment of ", stringify!(__darwin_arm_debug_state64)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_debug_state64>())).__bvr as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_debug_state64), + "::", + stringify!(__bvr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_debug_state64>())).__bcr as *const _ as usize + }, + 128usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_debug_state64), + "::", + stringify!(__bcr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_debug_state64>())).__wvr as *const _ as usize + }, + 256usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_debug_state64), + "::", + stringify!(__wvr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_debug_state64>())).__wcr as *const _ as usize + }, + 384usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_debug_state64), + "::", + stringify!(__wcr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_debug_state64>())).__mdscr_el1 as *const _ as usize + }, + 512usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_debug_state64), + "::", + stringify!(__mdscr_el1) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_cpmu_state64 { + pub __ctrs: [__uint64_t; 16usize], +} +#[test] +fn bindgen_test_layout___darwin_arm_cpmu_state64() { + assert_eq!( + ::std::mem::size_of::<__darwin_arm_cpmu_state64>(), + 128usize, + concat!("Size of: ", stringify!(__darwin_arm_cpmu_state64)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_cpmu_state64>(), + 8usize, + concat!("Alignment of ", stringify!(__darwin_arm_cpmu_state64)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__darwin_arm_cpmu_state64>())).__ctrs as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_arm_cpmu_state64), + "::", + stringify!(__ctrs) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __darwin_mcontext32 { + pub __es: __darwin_arm_exception_state, + pub __ss: __darwin_arm_thread_state, + pub __fs: __darwin_arm_vfp_state, +} +#[test] +fn bindgen_test_layout___darwin_mcontext32() { + assert_eq!( + ::std::mem::size_of::<__darwin_mcontext32>(), + 340usize, + concat!("Size of: ", stringify!(__darwin_mcontext32)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_mcontext32>(), + 4usize, + concat!("Alignment of ", stringify!(__darwin_mcontext32)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_mcontext32>())).__es as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_mcontext32), + "::", + stringify!(__es) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_mcontext32>())).__ss as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__darwin_mcontext32), + "::", + stringify!(__ss) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_mcontext32>())).__fs as *const _ as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(__darwin_mcontext32), + "::", + stringify!(__fs) + ) + ); +} +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_mcontext64 { + pub __es: __darwin_arm_exception_state64, + pub __ss: __darwin_arm_thread_state64, + pub __ns: __darwin_arm_neon_state64, +} +#[test] +fn bindgen_test_layout___darwin_mcontext64() { + assert_eq!( + ::std::mem::size_of::<__darwin_mcontext64>(), + 816usize, + concat!("Size of: ", stringify!(__darwin_mcontext64)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_mcontext64>(), + 16usize, + concat!("Alignment of ", stringify!(__darwin_mcontext64)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_mcontext64>())).__es as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_mcontext64), + "::", + stringify!(__es) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_mcontext64>())).__ss as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__darwin_mcontext64), + "::", + stringify!(__ss) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_mcontext64>())).__ns as *const _ as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(__darwin_mcontext64), + "::", + stringify!(__ns) + ) + ); +} +pub type mcontext_t = *mut __darwin_mcontext64; +pub type pthread_attr_t = __darwin_pthread_attr_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_sigaltstack { + pub ss_sp: *mut ::std::os::raw::c_void, + pub ss_size: __darwin_size_t, + pub ss_flags: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout___darwin_sigaltstack() { + assert_eq!( + ::std::mem::size_of::<__darwin_sigaltstack>(), + 24usize, + concat!("Size of: ", stringify!(__darwin_sigaltstack)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_sigaltstack>(), + 8usize, + concat!("Alignment of ", stringify!(__darwin_sigaltstack)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_sigaltstack>())).ss_sp as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_sigaltstack), + "::", + stringify!(ss_sp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_sigaltstack>())).ss_size as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__darwin_sigaltstack), + "::", + stringify!(ss_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_sigaltstack>())).ss_flags as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__darwin_sigaltstack), + "::", + stringify!(ss_flags) + ) + ); +} +pub type stack_t = __darwin_sigaltstack; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_ucontext { + pub uc_onstack: ::std::os::raw::c_int, + pub uc_sigmask: __darwin_sigset_t, + pub uc_stack: __darwin_sigaltstack, + pub uc_link: *mut __darwin_ucontext, + pub uc_mcsize: __darwin_size_t, + pub uc_mcontext: *mut __darwin_mcontext64, +} +#[test] +fn bindgen_test_layout___darwin_ucontext() { + assert_eq!( + ::std::mem::size_of::<__darwin_ucontext>(), + 56usize, + concat!("Size of: ", stringify!(__darwin_ucontext)) + ); + assert_eq!( + ::std::mem::align_of::<__darwin_ucontext>(), + 8usize, + concat!("Alignment of ", stringify!(__darwin_ucontext)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_ucontext>())).uc_onstack as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__darwin_ucontext), + "::", + stringify!(uc_onstack) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_ucontext>())).uc_sigmask as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__darwin_ucontext), + "::", + stringify!(uc_sigmask) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_ucontext>())).uc_stack as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__darwin_ucontext), + "::", + stringify!(uc_stack) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_ucontext>())).uc_link as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(__darwin_ucontext), + "::", + stringify!(uc_link) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_ucontext>())).uc_mcsize as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(__darwin_ucontext), + "::", + stringify!(uc_mcsize) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__darwin_ucontext>())).uc_mcontext as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(__darwin_ucontext), + "::", + stringify!(uc_mcontext) + ) + ); +} +pub type ucontext_t = __darwin_ucontext; +pub type sigset_t = __darwin_sigset_t; +pub type size_t = __darwin_size_t; +pub type uid_t = __darwin_uid_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sigval { + pub sival_int: ::std::os::raw::c_int, + pub sival_ptr: *mut ::std::os::raw::c_void, + _bindgen_union_align: u64, +} +#[test] +fn bindgen_test_layout_sigval() { + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(sigval)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigval)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sival_int as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigval), + "::", + stringify!(sival_int) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sival_ptr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigval), + "::", + stringify!(sival_ptr) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sigevent { + pub sigev_notify: ::std::os::raw::c_int, + pub sigev_signo: ::std::os::raw::c_int, + pub sigev_value: sigval, + pub sigev_notify_function: ::std::option::Option, + pub sigev_notify_attributes: *mut pthread_attr_t, +} +#[test] +fn bindgen_test_layout_sigevent() { + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(sigevent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigevent)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sigev_notify as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigevent), + "::", + stringify!(sigev_notify) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sigev_signo as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(sigevent), + "::", + stringify!(sigev_signo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sigev_value as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sigevent), + "::", + stringify!(sigev_value) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sigev_notify_function as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(sigevent), + "::", + stringify!(sigev_notify_function) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).sigev_notify_attributes as *const _ as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(sigevent), + "::", + stringify!(sigev_notify_attributes) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __siginfo { + pub si_signo: ::std::os::raw::c_int, + pub si_errno: ::std::os::raw::c_int, + pub si_code: ::std::os::raw::c_int, + pub si_pid: pid_t, + pub si_uid: uid_t, + pub si_status: ::std::os::raw::c_int, + pub si_addr: *mut ::std::os::raw::c_void, + pub si_value: sigval, + pub si_band: ::std::os::raw::c_long, + pub __pad: [::std::os::raw::c_ulong; 7usize], +} +#[test] +fn bindgen_test_layout___siginfo() { + assert_eq!( + ::std::mem::size_of::<__siginfo>(), + 104usize, + concat!("Size of: ", stringify!(__siginfo)) + ); + assert_eq!( + ::std::mem::align_of::<__siginfo>(), + 8usize, + concat!("Alignment of ", stringify!(__siginfo)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__siginfo>())).si_signo as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__siginfo), + "::", + stringify!(si_signo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__siginfo>())).si_errno as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__siginfo), + "::", + stringify!(si_errno) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__siginfo>())).si_code as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__siginfo), + "::", + stringify!(si_code) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__siginfo>())).si_pid as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__siginfo), + "::", + stringify!(si_pid) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__siginfo>())).si_uid as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__siginfo), + "::", + stringify!(si_uid) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__siginfo>())).si_status as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(__siginfo), + "::", + stringify!(si_status) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__siginfo>())).si_addr as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(__siginfo), + "::", + stringify!(si_addr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__siginfo>())).si_value as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(__siginfo), + "::", + stringify!(si_value) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__siginfo>())).si_band as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(__siginfo), + "::", + stringify!(si_band) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__siginfo>())).__pad as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(__siginfo), + "::", + stringify!(__pad) + ) + ); +} +pub type siginfo_t = __siginfo; +#[repr(C)] +#[derive(Copy, Clone)] +pub union __sigaction_u { + pub __sa_handler: ::std::option::Option, + pub __sa_sigaction: ::std::option::Option< + unsafe extern "C" fn( + arg1: ::std::os::raw::c_int, + arg2: *mut __siginfo, + arg3: *mut ::std::os::raw::c_void, + ), + >, + _bindgen_union_align: u64, +} +#[test] +fn bindgen_test_layout___sigaction_u() { + assert_eq!( + ::std::mem::size_of::<__sigaction_u>(), + 8usize, + concat!("Size of: ", stringify!(__sigaction_u)) + ); + assert_eq!( + ::std::mem::align_of::<__sigaction_u>(), + 8usize, + concat!("Alignment of ", stringify!(__sigaction_u)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__sigaction_u>())).__sa_handler as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__sigaction_u), + "::", + stringify!(__sa_handler) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__sigaction_u>())).__sa_sigaction as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__sigaction_u), + "::", + stringify!(__sa_sigaction) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __sigaction { + pub __sigaction_u: __sigaction_u, + pub sa_tramp: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + arg4: *mut siginfo_t, + arg5: *mut ::std::os::raw::c_void, + ), + >, + pub sa_mask: sigset_t, + pub sa_flags: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout___sigaction() { + assert_eq!( + ::std::mem::size_of::<__sigaction>(), + 24usize, + concat!("Size of: ", stringify!(__sigaction)) + ); + assert_eq!( + ::std::mem::align_of::<__sigaction>(), + 8usize, + concat!("Alignment of ", stringify!(__sigaction)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__sigaction>())).__sigaction_u as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__sigaction), + "::", + stringify!(__sigaction_u) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__sigaction>())).sa_tramp as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__sigaction), + "::", + stringify!(sa_tramp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__sigaction>())).sa_mask as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__sigaction), + "::", + stringify!(sa_mask) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__sigaction>())).sa_flags as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(__sigaction), + "::", + stringify!(sa_flags) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sigaction { + pub __sigaction_u: __sigaction_u, + pub sa_mask: sigset_t, + pub sa_flags: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_sigaction() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(sigaction)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigaction)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__sigaction_u as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigaction), + "::", + stringify!(__sigaction_u) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sa_mask as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sigaction), + "::", + stringify!(sa_mask) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sa_flags as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(sigaction), + "::", + stringify!(sa_flags) + ) + ); +} +pub type sig_t = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sigvec { + pub sv_handler: ::std::option::Option, + pub sv_mask: ::std::os::raw::c_int, + pub sv_flags: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_sigvec() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(sigvec)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigvec)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sv_handler as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigvec), + "::", + stringify!(sv_handler) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sv_mask as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sigvec), + "::", + stringify!(sv_mask) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sv_flags as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(sigvec), + "::", + stringify!(sv_flags) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sigstack { + pub ss_sp: *mut ::std::os::raw::c_char, + pub ss_onstack: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_sigstack() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(sigstack)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigstack)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ss_sp as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigstack), + "::", + stringify!(ss_sp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ss_onstack as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sigstack), + "::", + stringify!(ss_onstack) + ) + ); +} +extern "C" { + pub fn signal( + arg1: ::std::os::raw::c_int, + arg2: ::std::option::Option, + ) -> ::std::option::Option< + unsafe extern "C" fn( + arg1: ::std::os::raw::c_int, + arg2: ::std::option::Option, + ), + >; +} +pub type int_least8_t = i8; +pub type int_least16_t = i16; +pub type int_least32_t = i32; +pub type int_least64_t = i64; +pub type uint_least8_t = u8; +pub type uint_least16_t = u16; +pub type uint_least32_t = u32; +pub type uint_least64_t = u64; +pub type int_fast8_t = i8; +pub type int_fast16_t = i16; +pub type int_fast32_t = i32; +pub type int_fast64_t = i64; +pub type uint_fast8_t = u8; +pub type uint_fast16_t = u16; +pub type uint_fast32_t = u32; +pub type uint_fast64_t = u64; +pub type intmax_t = ::std::os::raw::c_long; +pub type uintmax_t = ::std::os::raw::c_ulong; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timeval { + pub tv_sec: __darwin_time_t, + pub tv_usec: __darwin_suseconds_t, +} +#[test] +fn bindgen_test_layout_timeval() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(timeval)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(timeval)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tv_sec as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(timeval), + "::", + stringify!(tv_sec) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tv_usec as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(timeval), + "::", + stringify!(tv_usec) + ) + ); +} +pub type rlim_t = __uint64_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rusage { + pub ru_utime: timeval, + pub ru_stime: timeval, + pub ru_maxrss: ::std::os::raw::c_long, + pub ru_ixrss: ::std::os::raw::c_long, + pub ru_idrss: ::std::os::raw::c_long, + pub ru_isrss: ::std::os::raw::c_long, + pub ru_minflt: ::std::os::raw::c_long, + pub ru_majflt: ::std::os::raw::c_long, + pub ru_nswap: ::std::os::raw::c_long, + pub ru_inblock: ::std::os::raw::c_long, + pub ru_oublock: ::std::os::raw::c_long, + pub ru_msgsnd: ::std::os::raw::c_long, + pub ru_msgrcv: ::std::os::raw::c_long, + pub ru_nsignals: ::std::os::raw::c_long, + pub ru_nvcsw: ::std::os::raw::c_long, + pub ru_nivcsw: ::std::os::raw::c_long, +} +#[test] +fn bindgen_test_layout_rusage() { + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(rusage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(rusage)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_utime as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_utime) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_stime as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_stime) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_maxrss as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_maxrss) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_ixrss as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_ixrss) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_idrss as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_idrss) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_isrss as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_isrss) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_minflt as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_minflt) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_majflt as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_majflt) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_nswap as *const _ as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_nswap) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_inblock as *const _ as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_inblock) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_oublock as *const _ as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_oublock) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_msgsnd as *const _ as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_msgsnd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_msgrcv as *const _ as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_msgrcv) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_nsignals as *const _ as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_nsignals) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_nvcsw as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_nvcsw) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ru_nivcsw as *const _ as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(rusage), + "::", + stringify!(ru_nivcsw) + ) + ); +} +pub type rusage_info_t = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rusage_info_v0 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, +} +#[test] +fn bindgen_test_layout_rusage_info_v0() { + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(rusage_info_v0)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(rusage_info_v0)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_uuid as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v0), + "::", + stringify!(ri_uuid) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_user_time as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v0), + "::", + stringify!(ri_user_time) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_system_time as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v0), + "::", + stringify!(ri_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_pkg_idle_wkups as *const _ as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v0), + "::", + stringify!(ri_pkg_idle_wkups) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_interrupt_wkups as *const _ as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v0), + "::", + stringify!(ri_interrupt_wkups) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_pageins as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v0), + "::", + stringify!(ri_pageins) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_wired_size as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v0), + "::", + stringify!(ri_wired_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_resident_size as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v0), + "::", + stringify!(ri_resident_size) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_phys_footprint as *const _ as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v0), + "::", + stringify!(ri_phys_footprint) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_proc_start_abstime as *const _ as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v0), + "::", + stringify!(ri_proc_start_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_proc_exit_abstime as *const _ as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v0), + "::", + stringify!(ri_proc_exit_abstime) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rusage_info_v1 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, + pub ri_child_user_time: u64, + pub ri_child_system_time: u64, + pub ri_child_pkg_idle_wkups: u64, + pub ri_child_interrupt_wkups: u64, + pub ri_child_pageins: u64, + pub ri_child_elapsed_abstime: u64, +} +#[test] +fn bindgen_test_layout_rusage_info_v1() { + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(rusage_info_v1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(rusage_info_v1)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_uuid as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_uuid) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_user_time as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_user_time) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_system_time as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_pkg_idle_wkups as *const _ as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_pkg_idle_wkups) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_interrupt_wkups as *const _ as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_interrupt_wkups) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_pageins as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_pageins) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_wired_size as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_wired_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_resident_size as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_resident_size) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_phys_footprint as *const _ as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_phys_footprint) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_proc_start_abstime as *const _ as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_proc_start_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_proc_exit_abstime as *const _ as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_proc_exit_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_user_time as *const _ as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_child_user_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_system_time as *const _ as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_child_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups as *const _ as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_child_pkg_idle_wkups) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_interrupt_wkups as *const _ as usize + }, + 120usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_child_interrupt_wkups) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_child_pageins as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_child_pageins) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_elapsed_abstime as *const _ as usize + }, + 136usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v1), + "::", + stringify!(ri_child_elapsed_abstime) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rusage_info_v2 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, + pub ri_child_user_time: u64, + pub ri_child_system_time: u64, + pub ri_child_pkg_idle_wkups: u64, + pub ri_child_interrupt_wkups: u64, + pub ri_child_pageins: u64, + pub ri_child_elapsed_abstime: u64, + pub ri_diskio_bytesread: u64, + pub ri_diskio_byteswritten: u64, +} +#[test] +fn bindgen_test_layout_rusage_info_v2() { + assert_eq!( + ::std::mem::size_of::(), + 160usize, + concat!("Size of: ", stringify!(rusage_info_v2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(rusage_info_v2)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_uuid as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_uuid) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_user_time as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_user_time) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_system_time as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_pkg_idle_wkups as *const _ as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_pkg_idle_wkups) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_interrupt_wkups as *const _ as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_interrupt_wkups) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_pageins as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_pageins) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_wired_size as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_wired_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_resident_size as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_resident_size) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_phys_footprint as *const _ as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_phys_footprint) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_proc_start_abstime as *const _ as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_proc_start_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_proc_exit_abstime as *const _ as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_proc_exit_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_user_time as *const _ as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_child_user_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_system_time as *const _ as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_child_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups as *const _ as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_child_pkg_idle_wkups) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_interrupt_wkups as *const _ as usize + }, + 120usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_child_interrupt_wkups) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_child_pageins as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_child_pageins) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_elapsed_abstime as *const _ as usize + }, + 136usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_child_elapsed_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_diskio_bytesread as *const _ as usize + }, + 144usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_diskio_bytesread) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_diskio_byteswritten as *const _ as usize + }, + 152usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v2), + "::", + stringify!(ri_diskio_byteswritten) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rusage_info_v3 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, + pub ri_child_user_time: u64, + pub ri_child_system_time: u64, + pub ri_child_pkg_idle_wkups: u64, + pub ri_child_interrupt_wkups: u64, + pub ri_child_pageins: u64, + pub ri_child_elapsed_abstime: u64, + pub ri_diskio_bytesread: u64, + pub ri_diskio_byteswritten: u64, + pub ri_cpu_time_qos_default: u64, + pub ri_cpu_time_qos_maintenance: u64, + pub ri_cpu_time_qos_background: u64, + pub ri_cpu_time_qos_utility: u64, + pub ri_cpu_time_qos_legacy: u64, + pub ri_cpu_time_qos_user_initiated: u64, + pub ri_cpu_time_qos_user_interactive: u64, + pub ri_billed_system_time: u64, + pub ri_serviced_system_time: u64, +} +#[test] +fn bindgen_test_layout_rusage_info_v3() { + assert_eq!( + ::std::mem::size_of::(), + 232usize, + concat!("Size of: ", stringify!(rusage_info_v3)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(rusage_info_v3)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_uuid as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_uuid) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_user_time as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_user_time) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_system_time as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_pkg_idle_wkups as *const _ as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_pkg_idle_wkups) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_interrupt_wkups as *const _ as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_interrupt_wkups) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_pageins as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_pageins) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_wired_size as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_wired_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_resident_size as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_resident_size) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_phys_footprint as *const _ as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_phys_footprint) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_proc_start_abstime as *const _ as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_proc_start_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_proc_exit_abstime as *const _ as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_proc_exit_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_user_time as *const _ as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_child_user_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_system_time as *const _ as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_child_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups as *const _ as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_child_pkg_idle_wkups) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_interrupt_wkups as *const _ as usize + }, + 120usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_child_interrupt_wkups) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_child_pageins as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_child_pageins) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_elapsed_abstime as *const _ as usize + }, + 136usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_child_elapsed_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_diskio_bytesread as *const _ as usize + }, + 144usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_diskio_bytesread) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_diskio_byteswritten as *const _ as usize + }, + 152usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_diskio_byteswritten) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_default as *const _ as usize + }, + 160usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_cpu_time_qos_default) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_maintenance as *const _ + as usize + }, + 168usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_cpu_time_qos_maintenance) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_background as *const _ + as usize + }, + 176usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_cpu_time_qos_background) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_utility as *const _ as usize + }, + 184usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_cpu_time_qos_utility) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_legacy as *const _ as usize + }, + 192usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_cpu_time_qos_legacy) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_user_initiated as *const _ + as usize + }, + 200usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_cpu_time_qos_user_initiated) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_user_interactive as *const _ + as usize + }, + 208usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_cpu_time_qos_user_interactive) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_billed_system_time as *const _ as usize + }, + 216usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_billed_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_serviced_system_time as *const _ as usize + }, + 224usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v3), + "::", + stringify!(ri_serviced_system_time) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rusage_info_v4 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, + pub ri_child_user_time: u64, + pub ri_child_system_time: u64, + pub ri_child_pkg_idle_wkups: u64, + pub ri_child_interrupt_wkups: u64, + pub ri_child_pageins: u64, + pub ri_child_elapsed_abstime: u64, + pub ri_diskio_bytesread: u64, + pub ri_diskio_byteswritten: u64, + pub ri_cpu_time_qos_default: u64, + pub ri_cpu_time_qos_maintenance: u64, + pub ri_cpu_time_qos_background: u64, + pub ri_cpu_time_qos_utility: u64, + pub ri_cpu_time_qos_legacy: u64, + pub ri_cpu_time_qos_user_initiated: u64, + pub ri_cpu_time_qos_user_interactive: u64, + pub ri_billed_system_time: u64, + pub ri_serviced_system_time: u64, + pub ri_logical_writes: u64, + pub ri_lifetime_max_phys_footprint: u64, + pub ri_instructions: u64, + pub ri_cycles: u64, + pub ri_billed_energy: u64, + pub ri_serviced_energy: u64, + pub ri_interval_max_phys_footprint: u64, + pub ri_runnable_time: u64, +} +#[test] +fn bindgen_test_layout_rusage_info_v4() { + assert_eq!( + ::std::mem::size_of::(), + 296usize, + concat!("Size of: ", stringify!(rusage_info_v4)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(rusage_info_v4)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_uuid as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_uuid) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_user_time as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_user_time) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_system_time as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_pkg_idle_wkups as *const _ as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_pkg_idle_wkups) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_interrupt_wkups as *const _ as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_interrupt_wkups) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_pageins as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_pageins) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_wired_size as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_wired_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_resident_size as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_resident_size) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_phys_footprint as *const _ as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_phys_footprint) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_proc_start_abstime as *const _ as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_proc_start_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_proc_exit_abstime as *const _ as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_proc_exit_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_user_time as *const _ as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_child_user_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_system_time as *const _ as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_child_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups as *const _ as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_child_pkg_idle_wkups) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_interrupt_wkups as *const _ as usize + }, + 120usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_child_interrupt_wkups) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_child_pageins as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_child_pageins) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_elapsed_abstime as *const _ as usize + }, + 136usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_child_elapsed_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_diskio_bytesread as *const _ as usize + }, + 144usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_diskio_bytesread) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_diskio_byteswritten as *const _ as usize + }, + 152usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_diskio_byteswritten) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_default as *const _ as usize + }, + 160usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_cpu_time_qos_default) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_maintenance as *const _ + as usize + }, + 168usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_cpu_time_qos_maintenance) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_background as *const _ + as usize + }, + 176usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_cpu_time_qos_background) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_utility as *const _ as usize + }, + 184usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_cpu_time_qos_utility) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_legacy as *const _ as usize + }, + 192usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_cpu_time_qos_legacy) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_user_initiated as *const _ + as usize + }, + 200usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_cpu_time_qos_user_initiated) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_user_interactive as *const _ + as usize + }, + 208usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_cpu_time_qos_user_interactive) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_billed_system_time as *const _ as usize + }, + 216usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_billed_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_serviced_system_time as *const _ as usize + }, + 224usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_serviced_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_logical_writes as *const _ as usize + }, + 232usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_logical_writes) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_lifetime_max_phys_footprint as *const _ + as usize + }, + 240usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_lifetime_max_phys_footprint) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_instructions as *const _ as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_instructions) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_cycles as *const _ as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_cycles) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_billed_energy as *const _ as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_billed_energy) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_serviced_energy as *const _ as usize + }, + 272usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_serviced_energy) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_interval_max_phys_footprint as *const _ + as usize + }, + 280usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_interval_max_phys_footprint) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_runnable_time as *const _ as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v4), + "::", + stringify!(ri_runnable_time) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rusage_info_v5 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, + pub ri_child_user_time: u64, + pub ri_child_system_time: u64, + pub ri_child_pkg_idle_wkups: u64, + pub ri_child_interrupt_wkups: u64, + pub ri_child_pageins: u64, + pub ri_child_elapsed_abstime: u64, + pub ri_diskio_bytesread: u64, + pub ri_diskio_byteswritten: u64, + pub ri_cpu_time_qos_default: u64, + pub ri_cpu_time_qos_maintenance: u64, + pub ri_cpu_time_qos_background: u64, + pub ri_cpu_time_qos_utility: u64, + pub ri_cpu_time_qos_legacy: u64, + pub ri_cpu_time_qos_user_initiated: u64, + pub ri_cpu_time_qos_user_interactive: u64, + pub ri_billed_system_time: u64, + pub ri_serviced_system_time: u64, + pub ri_logical_writes: u64, + pub ri_lifetime_max_phys_footprint: u64, + pub ri_instructions: u64, + pub ri_cycles: u64, + pub ri_billed_energy: u64, + pub ri_serviced_energy: u64, + pub ri_interval_max_phys_footprint: u64, + pub ri_runnable_time: u64, + pub ri_flags: u64, +} +#[test] +fn bindgen_test_layout_rusage_info_v5() { + assert_eq!( + ::std::mem::size_of::(), + 304usize, + concat!("Size of: ", stringify!(rusage_info_v5)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(rusage_info_v5)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_uuid as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_uuid) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_user_time as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_user_time) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_system_time as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_pkg_idle_wkups as *const _ as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_pkg_idle_wkups) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_interrupt_wkups as *const _ as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_interrupt_wkups) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_pageins as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_pageins) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_wired_size as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_wired_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_resident_size as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_resident_size) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_phys_footprint as *const _ as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_phys_footprint) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_proc_start_abstime as *const _ as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_proc_start_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_proc_exit_abstime as *const _ as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_proc_exit_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_user_time as *const _ as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_child_user_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_system_time as *const _ as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_child_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups as *const _ as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_child_pkg_idle_wkups) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_interrupt_wkups as *const _ as usize + }, + 120usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_child_interrupt_wkups) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_child_pageins as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_child_pageins) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_child_elapsed_abstime as *const _ as usize + }, + 136usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_child_elapsed_abstime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_diskio_bytesread as *const _ as usize + }, + 144usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_diskio_bytesread) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_diskio_byteswritten as *const _ as usize + }, + 152usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_diskio_byteswritten) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_default as *const _ as usize + }, + 160usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_cpu_time_qos_default) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_maintenance as *const _ + as usize + }, + 168usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_cpu_time_qos_maintenance) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_background as *const _ + as usize + }, + 176usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_cpu_time_qos_background) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_utility as *const _ as usize + }, + 184usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_cpu_time_qos_utility) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_legacy as *const _ as usize + }, + 192usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_cpu_time_qos_legacy) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_user_initiated as *const _ + as usize + }, + 200usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_cpu_time_qos_user_initiated) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_cpu_time_qos_user_interactive as *const _ + as usize + }, + 208usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_cpu_time_qos_user_interactive) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_billed_system_time as *const _ as usize + }, + 216usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_billed_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_serviced_system_time as *const _ as usize + }, + 224usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_serviced_system_time) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_logical_writes as *const _ as usize + }, + 232usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_logical_writes) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_lifetime_max_phys_footprint as *const _ + as usize + }, + 240usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_lifetime_max_phys_footprint) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_instructions as *const _ as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_instructions) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_cycles as *const _ as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_cycles) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_billed_energy as *const _ as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_billed_energy) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_serviced_energy as *const _ as usize + }, + 272usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_serviced_energy) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ri_interval_max_phys_footprint as *const _ + as usize + }, + 280usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_interval_max_phys_footprint) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_runnable_time as *const _ as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_runnable_time) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ri_flags as *const _ as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v5), + "::", + stringify!(ri_flags) + ) + ); +} +pub type rusage_info_current = rusage_info_v5; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rlimit { + pub rlim_cur: rlim_t, + pub rlim_max: rlim_t, +} +#[test] +fn bindgen_test_layout_rlimit() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(rlimit)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(rlimit)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rlim_cur as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rlimit), + "::", + stringify!(rlim_cur) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rlim_max as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rlimit), + "::", + stringify!(rlim_max) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct proc_rlimit_control_wakeupmon { + pub wm_flags: u32, + pub wm_rate: i32, +} +#[test] +fn bindgen_test_layout_proc_rlimit_control_wakeupmon() { + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(proc_rlimit_control_wakeupmon)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(proc_rlimit_control_wakeupmon)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).wm_flags as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(proc_rlimit_control_wakeupmon), + "::", + stringify!(wm_flags) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).wm_rate as *const _ as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(proc_rlimit_control_wakeupmon), + "::", + stringify!(wm_rate) + ) + ); +} +extern "C" { + pub fn getpriority(arg1: ::std::os::raw::c_int, arg2: id_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getiopolicy_np( + arg1: ::std::os::raw::c_int, + arg2: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getrlimit(arg1: ::std::os::raw::c_int, arg2: *mut rlimit) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getrusage(arg1: ::std::os::raw::c_int, arg2: *mut rusage) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setpriority( + arg1: ::std::os::raw::c_int, + arg2: id_t, + arg3: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setiopolicy_np( + arg1: ::std::os::raw::c_int, + arg2: ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setrlimit(arg1: ::std::os::raw::c_int, arg2: *const rlimit) -> ::std::os::raw::c_int; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _OSUnalignedU16 { + pub __val: u16, +} +#[test] +fn bindgen_test_layout__OSUnalignedU16() { + assert_eq!( + ::std::mem::size_of::<_OSUnalignedU16>(), + 2usize, + concat!("Size of: ", stringify!(_OSUnalignedU16)) + ); + assert_eq!( + ::std::mem::align_of::<_OSUnalignedU16>(), + 1usize, + concat!("Alignment of ", stringify!(_OSUnalignedU16)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_OSUnalignedU16>())).__val as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSUnalignedU16), + "::", + stringify!(__val) + ) + ); +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _OSUnalignedU32 { + pub __val: u32, +} +#[test] +fn bindgen_test_layout__OSUnalignedU32() { + assert_eq!( + ::std::mem::size_of::<_OSUnalignedU32>(), + 4usize, + concat!("Size of: ", stringify!(_OSUnalignedU32)) + ); + assert_eq!( + ::std::mem::align_of::<_OSUnalignedU32>(), + 1usize, + concat!("Alignment of ", stringify!(_OSUnalignedU32)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_OSUnalignedU32>())).__val as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSUnalignedU32), + "::", + stringify!(__val) + ) + ); +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _OSUnalignedU64 { + pub __val: u64, +} +#[test] +fn bindgen_test_layout__OSUnalignedU64() { + assert_eq!( + ::std::mem::size_of::<_OSUnalignedU64>(), + 8usize, + concat!("Size of: ", stringify!(_OSUnalignedU64)) + ); + assert_eq!( + ::std::mem::align_of::<_OSUnalignedU64>(), + 1usize, + concat!("Alignment of ", stringify!(_OSUnalignedU64)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_OSUnalignedU64>())).__val as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSUnalignedU64), + "::", + stringify!(__val) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union wait { + pub w_status: ::std::os::raw::c_int, + pub w_T: wait__bindgen_ty_1, + pub w_S: wait__bindgen_ty_2, + _bindgen_union_align: u32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct wait__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, +} +#[test] +fn bindgen_test_layout_wait__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(wait__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(wait__bindgen_ty_1)) + ); +} +impl wait__bindgen_ty_1 { + #[inline] + pub fn w_Termsig(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 7u8) as u32) } + } + #[inline] + pub fn set_w_Termsig(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 7u8, val as u64) + } + } + #[inline] + pub fn w_Coredump(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_w_Coredump(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn w_Retcode(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_w_Retcode(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub fn w_Filler(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_w_Filler(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + w_Termsig: ::std::os::raw::c_uint, + w_Coredump: ::std::os::raw::c_uint, + w_Retcode: ::std::os::raw::c_uint, + w_Filler: ::std::os::raw::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 7u8, { + let w_Termsig: u32 = unsafe { ::std::mem::transmute(w_Termsig) }; + w_Termsig as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let w_Coredump: u32 = unsafe { ::std::mem::transmute(w_Coredump) }; + w_Coredump as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let w_Retcode: u32 = unsafe { ::std::mem::transmute(w_Retcode) }; + w_Retcode as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let w_Filler: u32 = unsafe { ::std::mem::transmute(w_Filler) }; + w_Filler as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct wait__bindgen_ty_2 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, +} +#[test] +fn bindgen_test_layout_wait__bindgen_ty_2() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(wait__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(wait__bindgen_ty_2)) + ); +} +impl wait__bindgen_ty_2 { + #[inline] + pub fn w_Stopval(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_w_Stopval(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn w_Stopsig(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_w_Stopsig(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub fn w_Filler(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_w_Filler(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + w_Stopval: ::std::os::raw::c_uint, + w_Stopsig: ::std::os::raw::c_uint, + w_Filler: ::std::os::raw::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let w_Stopval: u32 = unsafe { ::std::mem::transmute(w_Stopval) }; + w_Stopval as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let w_Stopsig: u32 = unsafe { ::std::mem::transmute(w_Stopsig) }; + w_Stopsig as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let w_Filler: u32 = unsafe { ::std::mem::transmute(w_Filler) }; + w_Filler as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_wait() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(wait)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(wait)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).w_status as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(wait), + "::", + stringify!(w_status) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).w_T as *const _ as usize }, + 0usize, + concat!("Offset of field: ", stringify!(wait), "::", stringify!(w_T)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).w_S as *const _ as usize }, + 0usize, + concat!("Offset of field: ", stringify!(wait), "::", stringify!(w_S)) + ); +} +extern "C" { + pub fn wait(arg1: *mut ::std::os::raw::c_int) -> pid_t; +} +extern "C" { + pub fn waitpid( + arg1: pid_t, + arg2: *mut ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + ) -> pid_t; +} +extern "C" { + pub fn waitid( + arg1: idtype_t, + arg2: id_t, + arg3: *mut siginfo_t, + arg4: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wait3( + arg1: *mut ::std::os::raw::c_int, + arg2: ::std::os::raw::c_int, + arg3: *mut rusage, + ) -> pid_t; +} +extern "C" { + pub fn wait4( + arg1: pid_t, + arg2: *mut ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + arg4: *mut rusage, + ) -> pid_t; +} +extern "C" { + pub fn alloca(arg1: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; +} +pub type ct_rune_t = __darwin_ct_rune_t; +pub type rune_t = __darwin_rune_t; +pub type wchar_t = __darwin_wchar_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct div_t { + pub quot: ::std::os::raw::c_int, + pub rem: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_div_t() { + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(div_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(div_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).quot as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(div_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rem as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(div_t), + "::", + stringify!(rem) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ldiv_t { + pub quot: ::std::os::raw::c_long, + pub rem: ::std::os::raw::c_long, +} +#[test] +fn bindgen_test_layout_ldiv_t() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(ldiv_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ldiv_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).quot as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ldiv_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rem as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ldiv_t), + "::", + stringify!(rem) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lldiv_t { + pub quot: ::std::os::raw::c_longlong, + pub rem: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout_lldiv_t() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(lldiv_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(lldiv_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).quot as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(lldiv_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rem as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(lldiv_t), + "::", + stringify!(rem) + ) + ); +} +extern "C" { + pub static mut __mb_cur_max: ::std::os::raw::c_int; +} +extern "C" { + pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn calloc( + __count: ::std::os::raw::c_ulong, + __size: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn free(arg1: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn realloc( + __ptr: *mut ::std::os::raw::c_void, + __size: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn valloc(arg1: size_t) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn aligned_alloc(__alignment: size_t, __size: size_t) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn posix_memalign( + __memptr: *mut *mut ::std::os::raw::c_void, + __alignment: size_t, + __size: size_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn abort(); +} +extern "C" { + pub fn abs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn atexit(arg1: ::std::option::Option) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn atof(arg1: *const ::std::os::raw::c_char) -> f64; +} +extern "C" { + pub fn atoi(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn atol(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn atoll(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn bsearch( + __key: *const ::std::os::raw::c_void, + __base: *const ::std::os::raw::c_void, + __nel: size_t, + __width: size_t, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn div(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> div_t; +} +extern "C" { + pub fn exit(arg1: ::std::os::raw::c_int); +} +extern "C" { + pub fn getenv(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn labs(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn ldiv(arg1: ::std::os::raw::c_long, arg2: ::std::os::raw::c_long) -> ldiv_t; +} +extern "C" { + pub fn llabs(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn lldiv(arg1: ::std::os::raw::c_longlong, arg2: ::std::os::raw::c_longlong) -> lldiv_t; +} +extern "C" { + pub fn mblen(__s: *const ::std::os::raw::c_char, __n: size_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mbstowcs( + arg1: *mut wchar_t, + arg2: *const ::std::os::raw::c_char, + arg3: size_t, + ) -> size_t; +} +extern "C" { + pub fn mbtowc( + arg1: *mut wchar_t, + arg2: *const ::std::os::raw::c_char, + arg3: size_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn qsort( + __base: *mut ::std::os::raw::c_void, + __nel: size_t, + __width: size_t, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + ); +} +extern "C" { + pub fn rand() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn srand(arg1: ::std::os::raw::c_uint); +} +extern "C" { + pub fn strtod( + arg1: *const ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + ) -> f64; +} +extern "C" { + pub fn strtof( + arg1: *const ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + ) -> f32; +} +extern "C" { + pub fn strtol( + __str: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn strtold( + arg1: *const ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + ) -> f64; +} +extern "C" { + pub fn strtoll( + __str: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn strtoul( + __str: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strtoull( + __str: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn system(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcstombs( + arg1: *mut ::std::os::raw::c_char, + arg2: *const wchar_t, + arg3: size_t, + ) -> size_t; +} +extern "C" { + pub fn wctomb(arg1: *mut ::std::os::raw::c_char, arg2: wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _Exit(arg1: ::std::os::raw::c_int); +} +extern "C" { + pub fn a64l(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn drand48() -> f64; +} +extern "C" { + pub fn ecvt( + arg1: f64, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_int, + arg4: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn erand48(arg1: *mut ::std::os::raw::c_ushort) -> f64; +} +extern "C" { + pub fn fcvt( + arg1: f64, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_int, + arg4: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn gcvt( + arg1: f64, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn getsubopt( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *const *mut ::std::os::raw::c_char, + arg3: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn grantpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn initstate( + arg1: ::std::os::raw::c_uint, + arg2: *mut ::std::os::raw::c_char, + arg3: size_t, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn jrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn l64a(arg1: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn lcong48(arg1: *mut ::std::os::raw::c_ushort); +} +extern "C" { + pub fn lrand48() -> ::std::os::raw::c_long; +} +extern "C" { + pub fn mktemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn mkstemp(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mrand48() -> ::std::os::raw::c_long; +} +extern "C" { + pub fn nrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn posix_openpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ptsname(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn ptsname_r( + fildes: ::std::os::raw::c_int, + buffer: *mut ::std::os::raw::c_char, + buflen: size_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn putenv(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn random() -> ::std::os::raw::c_long; +} +extern "C" { + pub fn rand_r(arg1: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int; +} +extern "C" { + #[link_name = "\u{1}_realpath$DARWIN_EXTSN"] + pub fn realpath( + arg1: *const ::std::os::raw::c_char, + arg2: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn seed48(arg1: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort; +} +extern "C" { + pub fn setenv( + __name: *const ::std::os::raw::c_char, + __value: *const ::std::os::raw::c_char, + __overwrite: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setkey(arg1: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn setstate(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn srand48(arg1: ::std::os::raw::c_long); +} +extern "C" { + pub fn srandom(arg1: ::std::os::raw::c_uint); +} +extern "C" { + pub fn unlockpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn unsetenv(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +pub type dev_t = __darwin_dev_t; +pub type mode_t = __darwin_mode_t; +extern "C" { + pub fn arc4random() -> u32; +} +extern "C" { + pub fn arc4random_addrandom(arg1: *mut ::std::os::raw::c_uchar, arg2: ::std::os::raw::c_int); +} +extern "C" { + pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __nbytes: size_t); +} +extern "C" { + pub fn arc4random_stir(); +} +extern "C" { + pub fn arc4random_uniform(__upper_bound: u32) -> u32; +} +extern "C" { + pub fn atexit_b(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn bsearch_b( + __key: *const ::std::os::raw::c_void, + __base: *const ::std::os::raw::c_void, + __nel: size_t, + __width: size_t, + __compar: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn cgetcap( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn cgetclose() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn cgetent( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn cgetfirst( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn cgetmatch( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn cgetnext( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn cgetnum( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: *mut ::std::os::raw::c_long, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn cgetset(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn cgetstr( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn cgetustr( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn daemon( + arg1: ::std::os::raw::c_int, + arg2: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn devname(arg1: dev_t, arg2: mode_t) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn devname_r( + arg1: dev_t, + arg2: mode_t, + buf: *mut ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn getbsize( + arg1: *mut ::std::os::raw::c_int, + arg2: *mut ::std::os::raw::c_long, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn getloadavg(arg1: *mut f64, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getprogname() -> *const ::std::os::raw::c_char; +} +extern "C" { + pub fn setprogname(arg1: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn heapsort( + __base: *mut ::std::os::raw::c_void, + __nel: size_t, + __width: size_t, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn heapsort_b( + __base: *mut ::std::os::raw::c_void, + __nel: size_t, + __width: size_t, + __compar: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mergesort( + __base: *mut ::std::os::raw::c_void, + __nel: size_t, + __width: size_t, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mergesort_b( + __base: *mut ::std::os::raw::c_void, + __nel: size_t, + __width: size_t, + __compar: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn psort( + __base: *mut ::std::os::raw::c_void, + __nel: size_t, + __width: size_t, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + ); +} +extern "C" { + pub fn psort_b( + __base: *mut ::std::os::raw::c_void, + __nel: size_t, + __width: size_t, + __compar: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn psort_r( + __base: *mut ::std::os::raw::c_void, + __nel: size_t, + __width: size_t, + arg1: *mut ::std::os::raw::c_void, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + arg3: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + ); +} +extern "C" { + pub fn qsort_b( + __base: *mut ::std::os::raw::c_void, + __nel: size_t, + __width: size_t, + __compar: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn qsort_r( + __base: *mut ::std::os::raw::c_void, + __nel: size_t, + __width: size_t, + arg1: *mut ::std::os::raw::c_void, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + arg3: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + ); +} +extern "C" { + pub fn radixsort( + __base: *mut *const ::std::os::raw::c_uchar, + __nel: ::std::os::raw::c_int, + __table: *const ::std::os::raw::c_uchar, + __endbyte: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn rpmatch(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sradixsort( + __base: *mut *const ::std::os::raw::c_uchar, + __nel: ::std::os::raw::c_int, + __table: *const ::std::os::raw::c_uchar, + __endbyte: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sranddev(); +} +extern "C" { + pub fn srandomdev(); +} +extern "C" { + pub fn reallocf( + __ptr: *mut ::std::os::raw::c_void, + __size: size_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn strtonum( + __numstr: *const ::std::os::raw::c_char, + __minval: ::std::os::raw::c_longlong, + __maxval: ::std::os::raw::c_longlong, + __errstrp: *mut *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn strtoq( + __str: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn strtouq( + __str: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub static mut suboptarg: *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn memchr( + __s: *const ::std::os::raw::c_void, + __c: ::std::os::raw::c_int, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memcmp( + __s1: *const ::std::os::raw::c_void, + __s2: *const ::std::os::raw::c_void, + __n: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn memcpy( + __dst: *mut ::std::os::raw::c_void, + __src: *const ::std::os::raw::c_void, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memmove( + __dst: *mut ::std::os::raw::c_void, + __src: *const ::std::os::raw::c_void, + __len: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memset( + __b: *mut ::std::os::raw::c_void, + __c: ::std::os::raw::c_int, + __len: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn strcat( + __s1: *mut ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strchr( + __s: *const ::std::os::raw::c_char, + __c: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strcmp( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strcoll( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strcpy( + __dst: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strcspn( + __s: *const ::std::os::raw::c_char, + __charset: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strncat( + __s1: *mut ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strncmp( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strncpy( + __dst: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strpbrk( + __s: *const ::std::os::raw::c_char, + __charset: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strrchr( + __s: *const ::std::os::raw::c_char, + __c: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strspn( + __s: *const ::std::os::raw::c_char, + __charset: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strstr( + __big: *const ::std::os::raw::c_char, + __little: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strtok( + __str: *mut ::std::os::raw::c_char, + __sep: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strxfrm( + __s1: *mut ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strtok_r( + __str: *mut ::std::os::raw::c_char, + __sep: *const ::std::os::raw::c_char, + __lasts: *mut *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strerror_r( + __errnum: ::std::os::raw::c_int, + __strerrbuf: *mut ::std::os::raw::c_char, + __buflen: size_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strdup(__s1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn memccpy( + __dst: *mut ::std::os::raw::c_void, + __src: *const ::std::os::raw::c_void, + __c: ::std::os::raw::c_int, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn stpcpy( + __dst: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn stpncpy( + __dst: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strndup( + __s1: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strnlen(__s1: *const ::std::os::raw::c_char, __n: size_t) -> size_t; +} +extern "C" { + pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; +} +pub type rsize_t = __darwin_size_t; +pub type errno_t = ::std::os::raw::c_int; +extern "C" { + pub fn memset_s( + __s: *mut ::std::os::raw::c_void, + __smax: rsize_t, + __c: ::std::os::raw::c_int, + __n: rsize_t, + ) -> errno_t; +} +pub type ssize_t = __darwin_ssize_t; +extern "C" { + pub fn memmem( + __big: *const ::std::os::raw::c_void, + __big_len: size_t, + __little: *const ::std::os::raw::c_void, + __little_len: size_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memset_pattern4( + __b: *mut ::std::os::raw::c_void, + __pattern4: *const ::std::os::raw::c_void, + __len: size_t, + ); +} +extern "C" { + pub fn memset_pattern8( + __b: *mut ::std::os::raw::c_void, + __pattern8: *const ::std::os::raw::c_void, + __len: size_t, + ); +} +extern "C" { + pub fn memset_pattern16( + __b: *mut ::std::os::raw::c_void, + __pattern16: *const ::std::os::raw::c_void, + __len: size_t, + ); +} +extern "C" { + pub fn strcasestr( + __big: *const ::std::os::raw::c_char, + __little: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strnstr( + __big: *const ::std::os::raw::c_char, + __little: *const ::std::os::raw::c_char, + __len: size_t, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strlcat( + __dst: *mut ::std::os::raw::c_char, + __source: *const ::std::os::raw::c_char, + __size: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strlcpy( + __dst: *mut ::std::os::raw::c_char, + __source: *const ::std::os::raw::c_char, + __size: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strmode(__mode: ::std::os::raw::c_int, __bp: *mut ::std::os::raw::c_char); +} +extern "C" { + pub fn strsep( + __stringp: *mut *mut ::std::os::raw::c_char, + __delim: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn swab( + arg1: *const ::std::os::raw::c_void, + arg2: *mut ::std::os::raw::c_void, + arg3: ssize_t, + ); +} +extern "C" { + pub fn timingsafe_bcmp( + __b1: *const ::std::os::raw::c_void, + __b2: *const ::std::os::raw::c_void, + __len: size_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strsignal_r( + __sig: ::std::os::raw::c_int, + __strsignalbuf: *mut ::std::os::raw::c_char, + __buflen: size_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn bcmp( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + arg3: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn bcopy( + arg1: *const ::std::os::raw::c_void, + arg2: *mut ::std::os::raw::c_void, + arg3: size_t, + ); +} +extern "C" { + pub fn bzero(arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_ulong); +} +extern "C" { + pub fn index( + arg1: *const ::std::os::raw::c_char, + arg2: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn rindex( + arg1: *const ::std::os::raw::c_char, + arg2: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn ffs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strcasecmp( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strncasecmp( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ffsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ffsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fls(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn flsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn flsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int; +} +#[repr(u32)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub enum ONNXTensorElementDataType { + ONNX_TENSOR_ELEMENT_DATA_TYPE_UNDEFINED = 0, + ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT = 1, + ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT8 = 2, + ONNX_TENSOR_ELEMENT_DATA_TYPE_INT8 = 3, + ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT16 = 4, + ONNX_TENSOR_ELEMENT_DATA_TYPE_INT16 = 5, + ONNX_TENSOR_ELEMENT_DATA_TYPE_INT32 = 6, + ONNX_TENSOR_ELEMENT_DATA_TYPE_INT64 = 7, + ONNX_TENSOR_ELEMENT_DATA_TYPE_STRING = 8, + ONNX_TENSOR_ELEMENT_DATA_TYPE_BOOL = 9, + ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16 = 10, + ONNX_TENSOR_ELEMENT_DATA_TYPE_DOUBLE = 11, + ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT32 = 12, + ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT64 = 13, + ONNX_TENSOR_ELEMENT_DATA_TYPE_COMPLEX64 = 14, + ONNX_TENSOR_ELEMENT_DATA_TYPE_COMPLEX128 = 15, + ONNX_TENSOR_ELEMENT_DATA_TYPE_BFLOAT16 = 16, +} +#[repr(u32)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub enum ONNXType { + ONNX_TYPE_UNKNOWN = 0, + ONNX_TYPE_TENSOR = 1, + ONNX_TYPE_SEQUENCE = 2, + ONNX_TYPE_MAP = 3, + ONNX_TYPE_OPAQUE = 4, + ONNX_TYPE_SPARSETENSOR = 5, +} +#[repr(u32)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub enum OrtLoggingLevel { + ORT_LOGGING_LEVEL_VERBOSE = 0, + ORT_LOGGING_LEVEL_INFO = 1, + ORT_LOGGING_LEVEL_WARNING = 2, + ORT_LOGGING_LEVEL_ERROR = 3, + ORT_LOGGING_LEVEL_FATAL = 4, +} +#[repr(u32)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub enum OrtErrorCode { + ORT_OK = 0, + ORT_FAIL = 1, + ORT_INVALID_ARGUMENT = 2, + ORT_NO_SUCHFILE = 3, + ORT_NO_MODEL = 4, + ORT_ENGINE_ERROR = 5, + ORT_RUNTIME_EXCEPTION = 6, + ORT_INVALID_PROTOBUF = 7, + ORT_MODEL_LOADED = 8, + ORT_NOT_IMPLEMENTED = 9, + ORT_INVALID_GRAPH = 10, + ORT_EP_FAIL = 11, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtEnv { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtStatus { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtMemoryInfo { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtIoBinding { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtSession { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtValue { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtRunOptions { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtTypeInfo { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtTensorTypeAndShapeInfo { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtSessionOptions { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtCustomOpDomain { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtMapTypeInfo { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtSequenceTypeInfo { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtModelMetadata { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtThreadPoolParams { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtThreadingOptions { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtArenaCfg { + _unused: [u8; 0], +} +pub type OrtStatusPtr = *mut OrtStatus; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtAllocator { + pub version: u32, + pub Alloc: ::std::option::Option< + unsafe extern "C" fn(this_: *mut OrtAllocator, size: size_t) -> *mut ::std::os::raw::c_void, + >, + pub Free: ::std::option::Option< + unsafe extern "C" fn(this_: *mut OrtAllocator, p: *mut ::std::os::raw::c_void), + >, + pub Info: ::std::option::Option< + unsafe extern "C" fn(this_: *const OrtAllocator) -> *const OrtMemoryInfo, + >, +} +#[test] +fn bindgen_test_layout_OrtAllocator() { + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(OrtAllocator)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OrtAllocator)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).version as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OrtAllocator), + "::", + stringify!(version) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).Alloc as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OrtAllocator), + "::", + stringify!(Alloc) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).Free as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OrtAllocator), + "::", + stringify!(Free) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).Info as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OrtAllocator), + "::", + stringify!(Info) + ) + ); +} +pub type OrtLoggingFunction = ::std::option::Option< + unsafe extern "C" fn( + param: *mut ::std::os::raw::c_void, + severity: OrtLoggingLevel, + category: *const ::std::os::raw::c_char, + logid: *const ::std::os::raw::c_char, + code_location: *const ::std::os::raw::c_char, + message: *const ::std::os::raw::c_char, + ), +>; +#[repr(u32)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub enum GraphOptimizationLevel { + ORT_DISABLE_ALL = 0, + ORT_ENABLE_BASIC = 1, + ORT_ENABLE_EXTENDED = 2, + ORT_ENABLE_ALL = 99, +} +#[repr(u32)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub enum ExecutionMode { + ORT_SEQUENTIAL = 0, + ORT_PARALLEL = 1, +} +#[repr(u32)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub enum OrtLanguageProjection { + ORT_PROJECTION_C = 0, + ORT_PROJECTION_CPLUSPLUS = 1, + ORT_PROJECTION_CSHARP = 2, + ORT_PROJECTION_PYTHON = 3, + ORT_PROJECTION_JAVA = 4, + ORT_PROJECTION_WINML = 5, + ORT_PROJECTION_NODEJS = 6, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtKernelInfo { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtKernelContext { + _unused: [u8; 0], +} +#[repr(i32)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub enum OrtAllocatorType { + Invalid = -1, + OrtDeviceAllocator = 0, + OrtArenaAllocator = 1, +} +impl OrtMemType { + pub const OrtMemTypeCPU: OrtMemType = OrtMemType::OrtMemTypeCPUOutput; +} +#[repr(i32)] +#[doc = " memory types for allocator, exec provider specific types should be extended in each provider"] +#[doc = " Whenever this struct is updated, please also update the MakeKey function in onnxruntime/core/framework/execution_provider.cc"] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub enum OrtMemType { + OrtMemTypeCPUInput = -2, + OrtMemTypeCPUOutput = -1, + OrtMemTypeDefault = 0, +} +#[repr(u32)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub enum OrtCudnnConvAlgoSearch { + EXHAUSTIVE = 0, + HEURISTIC = 1, + DEFAULT = 2, +} +#[doc = " "] +#[doc = " Options for the CUDA provider that are passed to SessionOptionsAppendExecutionProvider_CUDA"] +#[doc = " "] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtCUDAProviderOptions { + pub device_id: ::std::os::raw::c_int, + pub cudnn_conv_algo_search: OrtCudnnConvAlgoSearch, + pub cuda_mem_limit: size_t, + pub arena_extend_strategy: ::std::os::raw::c_int, + pub do_copy_in_default_stream: ::std::os::raw::c_int, + pub has_user_compute_stream: ::std::os::raw::c_int, + pub user_compute_stream: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_OrtCUDAProviderOptions() { + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(OrtCUDAProviderOptions)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OrtCUDAProviderOptions)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).device_id as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OrtCUDAProviderOptions), + "::", + stringify!(device_id) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).cudnn_conv_algo_search as *const _ + as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(OrtCUDAProviderOptions), + "::", + stringify!(cudnn_conv_algo_search) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).cuda_mem_limit as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OrtCUDAProviderOptions), + "::", + stringify!(cuda_mem_limit) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).arena_extend_strategy as *const _ + as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OrtCUDAProviderOptions), + "::", + stringify!(arena_extend_strategy) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).do_copy_in_default_stream as *const _ + as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(OrtCUDAProviderOptions), + "::", + stringify!(do_copy_in_default_stream) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).has_user_compute_stream as *const _ + as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OrtCUDAProviderOptions), + "::", + stringify!(has_user_compute_stream) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).user_compute_stream as *const _ + as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OrtCUDAProviderOptions), + "::", + stringify!(user_compute_stream) + ) + ); +} +#[doc = " "] +#[doc = " Options for the TensorRT provider that are passed to SessionOptionsAppendExecutionProvider_TensorRT"] +#[doc = " "] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtTensorRTProviderOptions { + pub device_id: ::std::os::raw::c_int, + pub has_user_compute_stream: ::std::os::raw::c_int, + pub user_compute_stream: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_OrtTensorRTProviderOptions() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(OrtTensorRTProviderOptions)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OrtTensorRTProviderOptions)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).device_id as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OrtTensorRTProviderOptions), + "::", + stringify!(device_id) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).has_user_compute_stream + as *const _ as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(OrtTensorRTProviderOptions), + "::", + stringify!(has_user_compute_stream) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).user_compute_stream as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OrtTensorRTProviderOptions), + "::", + stringify!(user_compute_stream) + ) + ); +} +#[doc = " "] +#[doc = " Options for the OpenVINO provider that are passed to SessionOptionsAppendExecutionProvider_OpenVINO"] +#[doc = " "] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtOpenVINOProviderOptions { + pub device_type: *const ::std::os::raw::c_char, + pub enable_vpu_fast_compile: ::std::os::raw::c_uchar, + pub device_id: *const ::std::os::raw::c_char, + pub num_of_threads: size_t, +} +#[test] +fn bindgen_test_layout_OrtOpenVINOProviderOptions() { + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(OrtOpenVINOProviderOptions)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OrtOpenVINOProviderOptions)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).device_type as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OrtOpenVINOProviderOptions), + "::", + stringify!(device_type) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).enable_vpu_fast_compile + as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OrtOpenVINOProviderOptions), + "::", + stringify!(enable_vpu_fast_compile) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).device_id as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OrtOpenVINOProviderOptions), + "::", + stringify!(device_id) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).num_of_threads as *const _ + as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OrtOpenVINOProviderOptions), + "::", + stringify!(num_of_threads) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtApiBase { + pub GetApi: ::std::option::Option *const OrtApi>, + pub GetVersionString: + ::std::option::Option *const ::std::os::raw::c_char>, +} +#[test] +fn bindgen_test_layout_OrtApiBase() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(OrtApiBase)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OrtApiBase)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetApi as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OrtApiBase), + "::", + stringify!(GetApi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetVersionString as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OrtApiBase), + "::", + stringify!(GetVersionString) + ) + ); +} +extern "C" { + pub fn OrtGetApiBase() -> *const OrtApiBase; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtApi { + #[doc = " \\param msg A null-terminated string. Its content will be copied into the newly created OrtStatus"] + pub CreateStatus: ::std::option::Option< + unsafe extern "C" fn( + code: OrtErrorCode, + msg: *const ::std::os::raw::c_char, + ) -> *mut OrtStatus, + >, + pub GetErrorCode: + ::std::option::Option OrtErrorCode>, + #[doc = " \\param status must not be NULL"] + #[doc = " \\return The error message inside the `status`. Do not free the returned value."] + pub GetErrorMessage: ::std::option::Option< + unsafe extern "C" fn(status: *const OrtStatus) -> *const ::std::os::raw::c_char, + >, + pub CreateEnv: ::std::option::Option< + unsafe extern "C" fn( + logging_level: OrtLoggingLevel, + logid: *const ::std::os::raw::c_char, + out: *mut *mut OrtEnv, + ) -> OrtStatusPtr, + >, + pub CreateEnvWithCustomLogger: ::std::option::Option< + unsafe extern "C" fn( + logging_function: OrtLoggingFunction, + logger_param: *mut ::std::os::raw::c_void, + logging_level: OrtLoggingLevel, + logid: *const ::std::os::raw::c_char, + out: *mut *mut OrtEnv, + ) -> OrtStatusPtr, + >, + pub EnableTelemetryEvents: + ::std::option::Option OrtStatusPtr>, + pub DisableTelemetryEvents: + ::std::option::Option OrtStatusPtr>, + pub CreateSession: ::std::option::Option< + unsafe extern "C" fn( + env: *const OrtEnv, + model_path: *const ::std::os::raw::c_char, + options: *const OrtSessionOptions, + out: *mut *mut OrtSession, + ) -> OrtStatusPtr, + >, + pub CreateSessionFromArray: ::std::option::Option< + unsafe extern "C" fn( + env: *const OrtEnv, + model_data: *const ::std::os::raw::c_void, + model_data_length: size_t, + options: *const OrtSessionOptions, + out: *mut *mut OrtSession, + ) -> OrtStatusPtr, + >, + pub Run: ::std::option::Option< + unsafe extern "C" fn( + sess: *mut OrtSession, + run_options: *const OrtRunOptions, + input_names: *const *const ::std::os::raw::c_char, + input: *const *const OrtValue, + input_len: size_t, + output_names1: *const *const ::std::os::raw::c_char, + output_names_len: size_t, + output: *mut *mut OrtValue, + ) -> OrtStatusPtr, + >, + pub CreateSessionOptions: ::std::option::Option< + unsafe extern "C" fn(options: *mut *mut OrtSessionOptions) -> OrtStatusPtr, + >, + pub SetOptimizedModelFilePath: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + optimized_model_filepath: *const ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub CloneSessionOptions: ::std::option::Option< + unsafe extern "C" fn( + in_options: *const OrtSessionOptions, + out_options: *mut *mut OrtSessionOptions, + ) -> OrtStatusPtr, + >, + pub SetSessionExecutionMode: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + execution_mode: ExecutionMode, + ) -> OrtStatusPtr, + >, + pub EnableProfiling: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + profile_file_prefix: *const ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub DisableProfiling: ::std::option::Option< + unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr, + >, + pub EnableMemPattern: ::std::option::Option< + unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr, + >, + pub DisableMemPattern: ::std::option::Option< + unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr, + >, + pub EnableCpuMemArena: ::std::option::Option< + unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr, + >, + pub DisableCpuMemArena: ::std::option::Option< + unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr, + >, + pub SetSessionLogId: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + logid: *const ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub SetSessionLogVerbosityLevel: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + session_log_verbosity_level: ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub SetSessionLogSeverityLevel: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + session_log_severity_level: ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub SetSessionGraphOptimizationLevel: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + graph_optimization_level: GraphOptimizationLevel, + ) -> OrtStatusPtr, + >, + pub SetIntraOpNumThreads: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + intra_op_num_threads: ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub SetInterOpNumThreads: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + inter_op_num_threads: ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub CreateCustomOpDomain: ::std::option::Option< + unsafe extern "C" fn( + domain: *const ::std::os::raw::c_char, + out: *mut *mut OrtCustomOpDomain, + ) -> OrtStatusPtr, + >, + pub CustomOpDomain_Add: ::std::option::Option< + unsafe extern "C" fn( + custom_op_domain: *mut OrtCustomOpDomain, + op: *const OrtCustomOp, + ) -> OrtStatusPtr, + >, + pub AddCustomOpDomain: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + custom_op_domain: *mut OrtCustomOpDomain, + ) -> OrtStatusPtr, + >, + pub RegisterCustomOpsLibrary: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + library_path: *const ::std::os::raw::c_char, + library_handle: *mut *mut ::std::os::raw::c_void, + ) -> OrtStatusPtr, + >, + pub SessionGetInputCount: ::std::option::Option< + unsafe extern "C" fn(sess: *const OrtSession, out: *mut size_t) -> OrtStatusPtr, + >, + pub SessionGetOutputCount: ::std::option::Option< + unsafe extern "C" fn(sess: *const OrtSession, out: *mut size_t) -> OrtStatusPtr, + >, + pub SessionGetOverridableInitializerCount: ::std::option::Option< + unsafe extern "C" fn(sess: *const OrtSession, out: *mut size_t) -> OrtStatusPtr, + >, + pub SessionGetInputTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + sess: *const OrtSession, + index: size_t, + type_info: *mut *mut OrtTypeInfo, + ) -> OrtStatusPtr, + >, + pub SessionGetOutputTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + sess: *const OrtSession, + index: size_t, + type_info: *mut *mut OrtTypeInfo, + ) -> OrtStatusPtr, + >, + pub SessionGetOverridableInitializerTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + sess: *const OrtSession, + index: size_t, + type_info: *mut *mut OrtTypeInfo, + ) -> OrtStatusPtr, + >, + pub SessionGetInputName: ::std::option::Option< + unsafe extern "C" fn( + sess: *const OrtSession, + index: size_t, + allocator: *mut OrtAllocator, + value: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub SessionGetOutputName: ::std::option::Option< + unsafe extern "C" fn( + sess: *const OrtSession, + index: size_t, + allocator: *mut OrtAllocator, + value: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub SessionGetOverridableInitializerName: ::std::option::Option< + unsafe extern "C" fn( + sess: *const OrtSession, + index: size_t, + allocator: *mut OrtAllocator, + value: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub CreateRunOptions: + ::std::option::Option OrtStatusPtr>, + pub RunOptionsSetRunLogVerbosityLevel: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtRunOptions, + value: ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub RunOptionsSetRunLogSeverityLevel: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtRunOptions, + value: ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub RunOptionsSetRunTag: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut OrtRunOptions, + run_tag: *const ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub RunOptionsGetRunLogVerbosityLevel: ::std::option::Option< + unsafe extern "C" fn( + options: *const OrtRunOptions, + out: *mut ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub RunOptionsGetRunLogSeverityLevel: ::std::option::Option< + unsafe extern "C" fn( + options: *const OrtRunOptions, + out: *mut ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub RunOptionsGetRunTag: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const OrtRunOptions, + out: *mut *const ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub RunOptionsSetTerminate: + ::std::option::Option OrtStatusPtr>, + pub RunOptionsUnsetTerminate: + ::std::option::Option OrtStatusPtr>, + pub CreateTensorAsOrtValue: ::std::option::Option< + unsafe extern "C" fn( + allocator: *mut OrtAllocator, + shape: *const i64, + shape_len: size_t, + type_: ONNXTensorElementDataType, + out: *mut *mut OrtValue, + ) -> OrtStatusPtr, + >, + pub CreateTensorWithDataAsOrtValue: ::std::option::Option< + unsafe extern "C" fn( + info: *const OrtMemoryInfo, + p_data: *mut ::std::os::raw::c_void, + p_data_len: size_t, + shape: *const i64, + shape_len: size_t, + type_: ONNXTensorElementDataType, + out: *mut *mut OrtValue, + ) -> OrtStatusPtr, + >, + pub IsTensor: ::std::option::Option< + unsafe extern "C" fn( + value: *const OrtValue, + out: *mut ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub GetTensorMutableData: ::std::option::Option< + unsafe extern "C" fn( + value: *mut OrtValue, + out: *mut *mut ::std::os::raw::c_void, + ) -> OrtStatusPtr, + >, + pub FillStringTensor: ::std::option::Option< + unsafe extern "C" fn( + value: *mut OrtValue, + s: *const *const ::std::os::raw::c_char, + s_len: size_t, + ) -> OrtStatusPtr, + >, + pub GetStringTensorDataLength: ::std::option::Option< + unsafe extern "C" fn(value: *const OrtValue, len: *mut size_t) -> OrtStatusPtr, + >, + pub GetStringTensorContent: ::std::option::Option< + unsafe extern "C" fn( + value: *const OrtValue, + s: *mut ::std::os::raw::c_void, + s_len: size_t, + offsets: *mut size_t, + offsets_len: size_t, + ) -> OrtStatusPtr, + >, + pub CastTypeInfoToTensorInfo: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const OrtTypeInfo, + out: *mut *const OrtTensorTypeAndShapeInfo, + ) -> OrtStatusPtr, + >, + pub GetOnnxTypeFromTypeInfo: ::std::option::Option< + unsafe extern "C" fn(arg1: *const OrtTypeInfo, out: *mut ONNXType) -> OrtStatusPtr, + >, + pub CreateTensorTypeAndShapeInfo: ::std::option::Option< + unsafe extern "C" fn(out: *mut *mut OrtTensorTypeAndShapeInfo) -> OrtStatusPtr, + >, + pub SetTensorElementType: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut OrtTensorTypeAndShapeInfo, + type_: ONNXTensorElementDataType, + ) -> OrtStatusPtr, + >, + pub SetDimensions: ::std::option::Option< + unsafe extern "C" fn( + info: *mut OrtTensorTypeAndShapeInfo, + dim_values: *const i64, + dim_count: size_t, + ) -> OrtStatusPtr, + >, + pub GetTensorElementType: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const OrtTensorTypeAndShapeInfo, + out: *mut ONNXTensorElementDataType, + ) -> OrtStatusPtr, + >, + pub GetDimensionsCount: ::std::option::Option< + unsafe extern "C" fn( + info: *const OrtTensorTypeAndShapeInfo, + out: *mut size_t, + ) -> OrtStatusPtr, + >, + pub GetDimensions: ::std::option::Option< + unsafe extern "C" fn( + info: *const OrtTensorTypeAndShapeInfo, + dim_values: *mut i64, + dim_values_length: size_t, + ) -> OrtStatusPtr, + >, + pub GetSymbolicDimensions: ::std::option::Option< + unsafe extern "C" fn( + info: *const OrtTensorTypeAndShapeInfo, + dim_params: *mut *const ::std::os::raw::c_char, + dim_params_length: size_t, + ) -> OrtStatusPtr, + >, + pub GetTensorShapeElementCount: ::std::option::Option< + unsafe extern "C" fn( + info: *const OrtTensorTypeAndShapeInfo, + out: *mut size_t, + ) -> OrtStatusPtr, + >, + pub GetTensorTypeAndShape: ::std::option::Option< + unsafe extern "C" fn( + value: *const OrtValue, + out: *mut *mut OrtTensorTypeAndShapeInfo, + ) -> OrtStatusPtr, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn(value: *const OrtValue, out: *mut *mut OrtTypeInfo) -> OrtStatusPtr, + >, + pub GetValueType: ::std::option::Option< + unsafe extern "C" fn(value: *const OrtValue, out: *mut ONNXType) -> OrtStatusPtr, + >, + pub CreateMemoryInfo: ::std::option::Option< + unsafe extern "C" fn( + name1: *const ::std::os::raw::c_char, + type_: OrtAllocatorType, + id1: ::std::os::raw::c_int, + mem_type1: OrtMemType, + out: *mut *mut OrtMemoryInfo, + ) -> OrtStatusPtr, + >, + pub CreateCpuMemoryInfo: ::std::option::Option< + unsafe extern "C" fn( + type_: OrtAllocatorType, + mem_type1: OrtMemType, + out: *mut *mut OrtMemoryInfo, + ) -> OrtStatusPtr, + >, + pub CompareMemoryInfo: ::std::option::Option< + unsafe extern "C" fn( + info1: *const OrtMemoryInfo, + info2: *const OrtMemoryInfo, + out: *mut ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub MemoryInfoGetName: ::std::option::Option< + unsafe extern "C" fn( + ptr: *const OrtMemoryInfo, + out: *mut *const ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub MemoryInfoGetId: ::std::option::Option< + unsafe extern "C" fn( + ptr: *const OrtMemoryInfo, + out: *mut ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub MemoryInfoGetMemType: ::std::option::Option< + unsafe extern "C" fn(ptr: *const OrtMemoryInfo, out: *mut OrtMemType) -> OrtStatusPtr, + >, + pub MemoryInfoGetType: ::std::option::Option< + unsafe extern "C" fn(ptr: *const OrtMemoryInfo, out: *mut OrtAllocatorType) -> OrtStatusPtr, + >, + pub AllocatorAlloc: ::std::option::Option< + unsafe extern "C" fn( + ptr: *mut OrtAllocator, + size: size_t, + out: *mut *mut ::std::os::raw::c_void, + ) -> OrtStatusPtr, + >, + pub AllocatorFree: ::std::option::Option< + unsafe extern "C" fn( + ptr: *mut OrtAllocator, + p: *mut ::std::os::raw::c_void, + ) -> OrtStatusPtr, + >, + pub AllocatorGetInfo: ::std::option::Option< + unsafe extern "C" fn( + ptr: *const OrtAllocator, + out: *mut *const OrtMemoryInfo, + ) -> OrtStatusPtr, + >, + pub GetAllocatorWithDefaultOptions: + ::std::option::Option OrtStatusPtr>, + pub AddFreeDimensionOverride: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + dim_denotation: *const ::std::os::raw::c_char, + dim_value: i64, + ) -> OrtStatusPtr, + >, + pub GetValue: ::std::option::Option< + unsafe extern "C" fn( + value: *const OrtValue, + index: ::std::os::raw::c_int, + allocator: *mut OrtAllocator, + out: *mut *mut OrtValue, + ) -> OrtStatusPtr, + >, + pub GetValueCount: ::std::option::Option< + unsafe extern "C" fn(value: *const OrtValue, out: *mut size_t) -> OrtStatusPtr, + >, + pub CreateValue: ::std::option::Option< + unsafe extern "C" fn( + in_: *const *const OrtValue, + num_values: size_t, + value_type: ONNXType, + out: *mut *mut OrtValue, + ) -> OrtStatusPtr, + >, + pub CreateOpaqueValue: ::std::option::Option< + unsafe extern "C" fn( + domain_name: *const ::std::os::raw::c_char, + type_name: *const ::std::os::raw::c_char, + data_container: *const ::std::os::raw::c_void, + data_container_size: size_t, + out: *mut *mut OrtValue, + ) -> OrtStatusPtr, + >, + pub GetOpaqueValue: ::std::option::Option< + unsafe extern "C" fn( + domain_name: *const ::std::os::raw::c_char, + type_name: *const ::std::os::raw::c_char, + in_: *const OrtValue, + data_container: *mut ::std::os::raw::c_void, + data_container_size: size_t, + ) -> OrtStatusPtr, + >, + pub KernelInfoGetAttribute_float: ::std::option::Option< + unsafe extern "C" fn( + info: *const OrtKernelInfo, + name: *const ::std::os::raw::c_char, + out: *mut f32, + ) -> OrtStatusPtr, + >, + pub KernelInfoGetAttribute_int64: ::std::option::Option< + unsafe extern "C" fn( + info: *const OrtKernelInfo, + name: *const ::std::os::raw::c_char, + out: *mut i64, + ) -> OrtStatusPtr, + >, + pub KernelInfoGetAttribute_string: ::std::option::Option< + unsafe extern "C" fn( + info: *const OrtKernelInfo, + name: *const ::std::os::raw::c_char, + out: *mut ::std::os::raw::c_char, + size: *mut size_t, + ) -> OrtStatusPtr, + >, + pub KernelContext_GetInputCount: ::std::option::Option< + unsafe extern "C" fn(context: *const OrtKernelContext, out: *mut size_t) -> OrtStatusPtr, + >, + pub KernelContext_GetOutputCount: ::std::option::Option< + unsafe extern "C" fn(context: *const OrtKernelContext, out: *mut size_t) -> OrtStatusPtr, + >, + pub KernelContext_GetInput: ::std::option::Option< + unsafe extern "C" fn( + context: *const OrtKernelContext, + index: size_t, + out: *mut *const OrtValue, + ) -> OrtStatusPtr, + >, + pub KernelContext_GetOutput: ::std::option::Option< + unsafe extern "C" fn( + context: *mut OrtKernelContext, + index: size_t, + dim_values: *const i64, + dim_count: size_t, + out: *mut *mut OrtValue, + ) -> OrtStatusPtr, + >, + pub ReleaseEnv: ::std::option::Option, + pub ReleaseStatus: ::std::option::Option, + pub ReleaseMemoryInfo: ::std::option::Option, + pub ReleaseSession: ::std::option::Option, + pub ReleaseValue: ::std::option::Option, + pub ReleaseRunOptions: ::std::option::Option, + pub ReleaseTypeInfo: ::std::option::Option, + pub ReleaseTensorTypeAndShapeInfo: + ::std::option::Option, + pub ReleaseSessionOptions: + ::std::option::Option, + pub ReleaseCustomOpDomain: + ::std::option::Option, + pub GetDenotationFromTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const OrtTypeInfo, + denotation: *mut *const ::std::os::raw::c_char, + len: *mut size_t, + ) -> OrtStatusPtr, + >, + pub CastTypeInfoToMapTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + type_info: *const OrtTypeInfo, + out: *mut *const OrtMapTypeInfo, + ) -> OrtStatusPtr, + >, + pub CastTypeInfoToSequenceTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + type_info: *const OrtTypeInfo, + out: *mut *const OrtSequenceTypeInfo, + ) -> OrtStatusPtr, + >, + pub GetMapKeyType: ::std::option::Option< + unsafe extern "C" fn( + map_type_info: *const OrtMapTypeInfo, + out: *mut ONNXTensorElementDataType, + ) -> OrtStatusPtr, + >, + pub GetMapValueType: ::std::option::Option< + unsafe extern "C" fn( + map_type_info: *const OrtMapTypeInfo, + type_info: *mut *mut OrtTypeInfo, + ) -> OrtStatusPtr, + >, + pub GetSequenceElementType: ::std::option::Option< + unsafe extern "C" fn( + sequence_type_info: *const OrtSequenceTypeInfo, + type_info: *mut *mut OrtTypeInfo, + ) -> OrtStatusPtr, + >, + pub ReleaseMapTypeInfo: ::std::option::Option, + pub ReleaseSequenceTypeInfo: + ::std::option::Option, + pub SessionEndProfiling: ::std::option::Option< + unsafe extern "C" fn( + sess: *mut OrtSession, + allocator: *mut OrtAllocator, + out: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub SessionGetModelMetadata: ::std::option::Option< + unsafe extern "C" fn( + sess: *const OrtSession, + out: *mut *mut OrtModelMetadata, + ) -> OrtStatusPtr, + >, + pub ModelMetadataGetProducerName: ::std::option::Option< + unsafe extern "C" fn( + model_metadata: *const OrtModelMetadata, + allocator: *mut OrtAllocator, + value: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub ModelMetadataGetGraphName: ::std::option::Option< + unsafe extern "C" fn( + model_metadata: *const OrtModelMetadata, + allocator: *mut OrtAllocator, + value: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub ModelMetadataGetDomain: ::std::option::Option< + unsafe extern "C" fn( + model_metadata: *const OrtModelMetadata, + allocator: *mut OrtAllocator, + value: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub ModelMetadataGetDescription: ::std::option::Option< + unsafe extern "C" fn( + model_metadata: *const OrtModelMetadata, + allocator: *mut OrtAllocator, + value: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub ModelMetadataLookupCustomMetadataMap: ::std::option::Option< + unsafe extern "C" fn( + model_metadata: *const OrtModelMetadata, + allocator: *mut OrtAllocator, + key: *const ::std::os::raw::c_char, + value: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub ModelMetadataGetVersion: ::std::option::Option< + unsafe extern "C" fn( + model_metadata: *const OrtModelMetadata, + value: *mut i64, + ) -> OrtStatusPtr, + >, + pub ReleaseModelMetadata: + ::std::option::Option, + pub CreateEnvWithGlobalThreadPools: ::std::option::Option< + unsafe extern "C" fn( + logging_level: OrtLoggingLevel, + logid: *const ::std::os::raw::c_char, + t_options: *const OrtThreadingOptions, + out: *mut *mut OrtEnv, + ) -> OrtStatusPtr, + >, + pub DisablePerSessionThreads: ::std::option::Option< + unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr, + >, + pub CreateThreadingOptions: ::std::option::Option< + unsafe extern "C" fn(out: *mut *mut OrtThreadingOptions) -> OrtStatusPtr, + >, + pub ReleaseThreadingOptions: + ::std::option::Option, + pub ModelMetadataGetCustomMetadataMapKeys: ::std::option::Option< + unsafe extern "C" fn( + model_metadata: *const OrtModelMetadata, + allocator: *mut OrtAllocator, + keys: *mut *mut *mut ::std::os::raw::c_char, + num_keys: *mut i64, + ) -> OrtStatusPtr, + >, + pub AddFreeDimensionOverrideByName: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + dim_name: *const ::std::os::raw::c_char, + dim_value: i64, + ) -> OrtStatusPtr, + >, + pub GetAvailableProviders: ::std::option::Option< + unsafe extern "C" fn( + out_ptr: *mut *mut *mut ::std::os::raw::c_char, + provider_length: *mut ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub ReleaseAvailableProviders: ::std::option::Option< + unsafe extern "C" fn( + ptr: *mut *mut ::std::os::raw::c_char, + providers_length: ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub GetStringTensorElementLength: ::std::option::Option< + unsafe extern "C" fn( + value: *const OrtValue, + index: size_t, + out: *mut size_t, + ) -> OrtStatusPtr, + >, + pub GetStringTensorElement: ::std::option::Option< + unsafe extern "C" fn( + value: *const OrtValue, + s_len: size_t, + index: size_t, + s: *mut ::std::os::raw::c_void, + ) -> OrtStatusPtr, + >, + pub FillStringTensorElement: ::std::option::Option< + unsafe extern "C" fn( + value: *mut OrtValue, + s: *const ::std::os::raw::c_char, + index: size_t, + ) -> OrtStatusPtr, + >, + pub AddSessionConfigEntry: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + config_key: *const ::std::os::raw::c_char, + config_value: *const ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub CreateAllocator: ::std::option::Option< + unsafe extern "C" fn( + sess: *const OrtSession, + mem_info: *const OrtMemoryInfo, + out: *mut *mut OrtAllocator, + ) -> OrtStatusPtr, + >, + pub ReleaseAllocator: ::std::option::Option, + pub RunWithBinding: ::std::option::Option< + unsafe extern "C" fn( + sess: *mut OrtSession, + run_options: *const OrtRunOptions, + binding_ptr: *const OrtIoBinding, + ) -> OrtStatusPtr, + >, + pub CreateIoBinding: ::std::option::Option< + unsafe extern "C" fn(sess: *mut OrtSession, out: *mut *mut OrtIoBinding) -> OrtStatusPtr, + >, + pub ReleaseIoBinding: ::std::option::Option, + pub BindInput: ::std::option::Option< + unsafe extern "C" fn( + binding_ptr: *mut OrtIoBinding, + name: *const ::std::os::raw::c_char, + val_ptr: *const OrtValue, + ) -> OrtStatusPtr, + >, + pub BindOutput: ::std::option::Option< + unsafe extern "C" fn( + binding_ptr: *mut OrtIoBinding, + name: *const ::std::os::raw::c_char, + val_ptr: *const OrtValue, + ) -> OrtStatusPtr, + >, + pub BindOutputToDevice: ::std::option::Option< + unsafe extern "C" fn( + binding_ptr: *mut OrtIoBinding, + name: *const ::std::os::raw::c_char, + val_ptr: *const OrtMemoryInfo, + ) -> OrtStatusPtr, + >, + pub GetBoundOutputNames: ::std::option::Option< + unsafe extern "C" fn( + binding_ptr: *const OrtIoBinding, + allocator: *mut OrtAllocator, + buffer: *mut *mut ::std::os::raw::c_char, + lengths: *mut *mut size_t, + count: *mut size_t, + ) -> OrtStatusPtr, + >, + pub GetBoundOutputValues: ::std::option::Option< + unsafe extern "C" fn( + binding_ptr: *const OrtIoBinding, + allocator: *mut OrtAllocator, + output: *mut *mut *mut OrtValue, + output_count: *mut size_t, + ) -> OrtStatusPtr, + >, + #[doc = " Clears any previously specified bindings for inputs/outputs"] + pub ClearBoundInputs: + ::std::option::Option, + pub ClearBoundOutputs: + ::std::option::Option, + pub TensorAt: ::std::option::Option< + unsafe extern "C" fn( + value: *mut OrtValue, + location_values: *const i64, + location_values_count: size_t, + out: *mut *mut ::std::os::raw::c_void, + ) -> OrtStatusPtr, + >, + pub CreateAndRegisterAllocator: ::std::option::Option< + unsafe extern "C" fn( + env: *mut OrtEnv, + mem_info: *const OrtMemoryInfo, + arena_cfg: *const OrtArenaCfg, + ) -> OrtStatusPtr, + >, + pub SetLanguageProjection: ::std::option::Option< + unsafe extern "C" fn( + ort_env: *const OrtEnv, + projection: OrtLanguageProjection, + ) -> OrtStatusPtr, + >, + pub SessionGetProfilingStartTimeNs: ::std::option::Option< + unsafe extern "C" fn(sess: *const OrtSession, out: *mut u64) -> OrtStatusPtr, + >, + pub SetGlobalIntraOpNumThreads: ::std::option::Option< + unsafe extern "C" fn( + tp_options: *mut OrtThreadingOptions, + intra_op_num_threads: ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub SetGlobalInterOpNumThreads: ::std::option::Option< + unsafe extern "C" fn( + tp_options: *mut OrtThreadingOptions, + inter_op_num_threads: ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub SetGlobalSpinControl: ::std::option::Option< + unsafe extern "C" fn( + tp_options: *mut OrtThreadingOptions, + allow_spinning: ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub AddInitializer: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + name: *const ::std::os::raw::c_char, + val: *const OrtValue, + ) -> OrtStatusPtr, + >, + pub CreateEnvWithCustomLoggerAndGlobalThreadPools: ::std::option::Option< + unsafe extern "C" fn( + logging_function: OrtLoggingFunction, + logger_param: *mut ::std::os::raw::c_void, + logging_level: OrtLoggingLevel, + logid: *const ::std::os::raw::c_char, + tp_options: *const OrtThreadingOptions, + out: *mut *mut OrtEnv, + ) -> OrtStatusPtr, + >, + pub SessionOptionsAppendExecutionProvider_CUDA: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + cuda_options: *const OrtCUDAProviderOptions, + ) -> OrtStatusPtr, + >, + pub SessionOptionsAppendExecutionProvider_OpenVINO: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + provider_options: *const OrtOpenVINOProviderOptions, + ) -> OrtStatusPtr, + >, + pub SetGlobalDenormalAsZero: ::std::option::Option< + unsafe extern "C" fn(tp_options: *mut OrtThreadingOptions) -> OrtStatusPtr, + >, + pub CreateArenaCfg: ::std::option::Option< + unsafe extern "C" fn( + max_mem: size_t, + arena_extend_strategy: ::std::os::raw::c_int, + initial_chunk_size_bytes: ::std::os::raw::c_int, + max_dead_bytes_per_chunk: ::std::os::raw::c_int, + out: *mut *mut OrtArenaCfg, + ) -> OrtStatusPtr, + >, + pub ReleaseArenaCfg: ::std::option::Option, + pub ModelMetadataGetGraphDescription: ::std::option::Option< + unsafe extern "C" fn( + model_metadata: *const OrtModelMetadata, + allocator: *mut OrtAllocator, + value: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + pub SessionOptionsAppendExecutionProvider_TensorRT: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + tensorrt_options: *const OrtTensorRTProviderOptions, + ) -> OrtStatusPtr, + >, + pub SetCurrentGpuDeviceId: ::std::option::Option< + unsafe extern "C" fn(device_id: ::std::os::raw::c_int) -> OrtStatusPtr, + >, + pub GetCurrentGpuDeviceId: ::std::option::Option< + unsafe extern "C" fn(device_id: *mut ::std::os::raw::c_int) -> OrtStatusPtr, + >, +} +#[test] +fn bindgen_test_layout_OrtApi() { + assert_eq!( + ::std::mem::size_of::(), + 1288usize, + concat!("Size of: ", stringify!(OrtApi)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OrtApi)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateStatus as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateStatus) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetErrorCode as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetErrorCode) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetErrorMessage as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetErrorMessage) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateEnv as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateEnv) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).CreateEnvWithCustomLogger as *const _ as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateEnvWithCustomLogger) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).EnableTelemetryEvents as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(EnableTelemetryEvents) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).DisableTelemetryEvents as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(DisableTelemetryEvents) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateSession as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateSession) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateSessionFromArray as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateSessionFromArray) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).Run as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(Run) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateSessionOptions as *const _ as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateSessionOptions) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SetOptimizedModelFilePath as *const _ as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetOptimizedModelFilePath) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CloneSessionOptions as *const _ as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CloneSessionOptions) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SetSessionExecutionMode as *const _ as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetSessionExecutionMode) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).EnableProfiling as *const _ as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(EnableProfiling) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).DisableProfiling as *const _ as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(DisableProfiling) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).EnableMemPattern as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(EnableMemPattern) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).DisableMemPattern as *const _ as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(DisableMemPattern) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).EnableCpuMemArena as *const _ as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(EnableCpuMemArena) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).DisableCpuMemArena as *const _ as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(DisableCpuMemArena) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SetSessionLogId as *const _ as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetSessionLogId) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SetSessionLogVerbosityLevel as *const _ as usize + }, + 168usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetSessionLogVerbosityLevel) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SetSessionLogSeverityLevel as *const _ as usize + }, + 176usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetSessionLogSeverityLevel) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SetSessionGraphOptimizationLevel as *const _ as usize + }, + 184usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetSessionGraphOptimizationLevel) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SetIntraOpNumThreads as *const _ as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetIntraOpNumThreads) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SetInterOpNumThreads as *const _ as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetInterOpNumThreads) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateCustomOpDomain as *const _ as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateCustomOpDomain) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CustomOpDomain_Add as *const _ as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CustomOpDomain_Add) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).AddCustomOpDomain as *const _ as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(AddCustomOpDomain) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).RegisterCustomOpsLibrary as *const _ as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RegisterCustomOpsLibrary) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SessionGetInputCount as *const _ as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetInputCount) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SessionGetOutputCount as *const _ as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetOutputCount) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SessionGetOverridableInitializerCount as *const _ + as usize + }, + 256usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetOverridableInitializerCount) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SessionGetInputTypeInfo as *const _ as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetInputTypeInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SessionGetOutputTypeInfo as *const _ as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetOutputTypeInfo) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SessionGetOverridableInitializerTypeInfo as *const _ + as usize + }, + 280usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetOverridableInitializerTypeInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SessionGetInputName as *const _ as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetInputName) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SessionGetOutputName as *const _ as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetOutputName) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SessionGetOverridableInitializerName as *const _ + as usize + }, + 304usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetOverridableInitializerName) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateRunOptions as *const _ as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateRunOptions) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).RunOptionsSetRunLogVerbosityLevel as *const _ + as usize + }, + 320usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsSetRunLogVerbosityLevel) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).RunOptionsSetRunLogSeverityLevel as *const _ as usize + }, + 328usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsSetRunLogSeverityLevel) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).RunOptionsSetRunTag as *const _ as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsSetRunTag) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).RunOptionsGetRunLogVerbosityLevel as *const _ + as usize + }, + 344usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsGetRunLogVerbosityLevel) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).RunOptionsGetRunLogSeverityLevel as *const _ as usize + }, + 352usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsGetRunLogSeverityLevel) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).RunOptionsGetRunTag as *const _ as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsGetRunTag) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).RunOptionsSetTerminate as *const _ as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsSetTerminate) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).RunOptionsUnsetTerminate as *const _ as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsUnsetTerminate) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateTensorAsOrtValue as *const _ as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateTensorAsOrtValue) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).CreateTensorWithDataAsOrtValue as *const _ as usize + }, + 392usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateTensorWithDataAsOrtValue) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).IsTensor as *const _ as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(IsTensor) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetTensorMutableData as *const _ as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetTensorMutableData) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).FillStringTensor as *const _ as usize }, + 416usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(FillStringTensor) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).GetStringTensorDataLength as *const _ as usize + }, + 424usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetStringTensorDataLength) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetStringTensorContent as *const _ as usize }, + 432usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetStringTensorContent) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CastTypeInfoToTensorInfo as *const _ as usize }, + 440usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CastTypeInfoToTensorInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetOnnxTypeFromTypeInfo as *const _ as usize }, + 448usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetOnnxTypeFromTypeInfo) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).CreateTensorTypeAndShapeInfo as *const _ as usize + }, + 456usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateTensorTypeAndShapeInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SetTensorElementType as *const _ as usize }, + 464usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetTensorElementType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SetDimensions as *const _ as usize }, + 472usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetDimensions) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetTensorElementType as *const _ as usize }, + 480usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetTensorElementType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetDimensionsCount as *const _ as usize }, + 488usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetDimensionsCount) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetDimensions as *const _ as usize }, + 496usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetDimensions) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetSymbolicDimensions as *const _ as usize }, + 504usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetSymbolicDimensions) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).GetTensorShapeElementCount as *const _ as usize + }, + 512usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetTensorShapeElementCount) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetTensorTypeAndShape as *const _ as usize }, + 520usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetTensorTypeAndShape) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, + 528usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetValueType as *const _ as usize }, + 536usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetValueType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateMemoryInfo as *const _ as usize }, + 544usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateMemoryInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateCpuMemoryInfo as *const _ as usize }, + 552usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateCpuMemoryInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CompareMemoryInfo as *const _ as usize }, + 560usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CompareMemoryInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).MemoryInfoGetName as *const _ as usize }, + 568usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(MemoryInfoGetName) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).MemoryInfoGetId as *const _ as usize }, + 576usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(MemoryInfoGetId) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).MemoryInfoGetMemType as *const _ as usize }, + 584usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(MemoryInfoGetMemType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).MemoryInfoGetType as *const _ as usize }, + 592usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(MemoryInfoGetType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).AllocatorAlloc as *const _ as usize }, + 600usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(AllocatorAlloc) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).AllocatorFree as *const _ as usize }, + 608usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(AllocatorFree) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).AllocatorGetInfo as *const _ as usize }, + 616usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(AllocatorGetInfo) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).GetAllocatorWithDefaultOptions as *const _ as usize + }, + 624usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetAllocatorWithDefaultOptions) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).AddFreeDimensionOverride as *const _ as usize }, + 632usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(AddFreeDimensionOverride) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetValue as *const _ as usize }, + 640usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetValue) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetValueCount as *const _ as usize }, + 648usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetValueCount) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateValue as *const _ as usize }, + 656usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateValue) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateOpaqueValue as *const _ as usize }, + 664usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateOpaqueValue) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetOpaqueValue as *const _ as usize }, + 672usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetOpaqueValue) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).KernelInfoGetAttribute_float as *const _ as usize + }, + 680usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(KernelInfoGetAttribute_float) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).KernelInfoGetAttribute_int64 as *const _ as usize + }, + 688usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(KernelInfoGetAttribute_int64) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).KernelInfoGetAttribute_string as *const _ as usize + }, + 696usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(KernelInfoGetAttribute_string) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).KernelContext_GetInputCount as *const _ as usize + }, + 704usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(KernelContext_GetInputCount) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).KernelContext_GetOutputCount as *const _ as usize + }, + 712usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(KernelContext_GetOutputCount) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).KernelContext_GetInput as *const _ as usize }, + 720usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(KernelContext_GetInput) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).KernelContext_GetOutput as *const _ as usize }, + 728usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(KernelContext_GetOutput) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseEnv as *const _ as usize }, + 736usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseEnv) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseStatus as *const _ as usize }, + 744usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseStatus) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseMemoryInfo as *const _ as usize }, + 752usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseMemoryInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseSession as *const _ as usize }, + 760usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseSession) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseValue as *const _ as usize }, + 768usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseValue) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseRunOptions as *const _ as usize }, + 776usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseRunOptions) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseTypeInfo as *const _ as usize }, + 784usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseTypeInfo) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ReleaseTensorTypeAndShapeInfo as *const _ as usize + }, + 792usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseTensorTypeAndShapeInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseSessionOptions as *const _ as usize }, + 800usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseSessionOptions) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseCustomOpDomain as *const _ as usize }, + 808usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseCustomOpDomain) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).GetDenotationFromTypeInfo as *const _ as usize + }, + 816usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetDenotationFromTypeInfo) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).CastTypeInfoToMapTypeInfo as *const _ as usize + }, + 824usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CastTypeInfoToMapTypeInfo) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).CastTypeInfoToSequenceTypeInfo as *const _ as usize + }, + 832usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CastTypeInfoToSequenceTypeInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetMapKeyType as *const _ as usize }, + 840usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetMapKeyType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetMapValueType as *const _ as usize }, + 848usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetMapValueType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetSequenceElementType as *const _ as usize }, + 856usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetSequenceElementType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseMapTypeInfo as *const _ as usize }, + 864usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseMapTypeInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseSequenceTypeInfo as *const _ as usize }, + 872usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseSequenceTypeInfo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SessionEndProfiling as *const _ as usize }, + 880usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionEndProfiling) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SessionGetModelMetadata as *const _ as usize }, + 888usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetModelMetadata) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ModelMetadataGetProducerName as *const _ as usize + }, + 896usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ModelMetadataGetProducerName) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ModelMetadataGetGraphName as *const _ as usize + }, + 904usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ModelMetadataGetGraphName) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ModelMetadataGetDomain as *const _ as usize }, + 912usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ModelMetadataGetDomain) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ModelMetadataGetDescription as *const _ as usize + }, + 920usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ModelMetadataGetDescription) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ModelMetadataLookupCustomMetadataMap as *const _ + as usize + }, + 928usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ModelMetadataLookupCustomMetadataMap) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ModelMetadataGetVersion as *const _ as usize }, + 936usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ModelMetadataGetVersion) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseModelMetadata as *const _ as usize }, + 944usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseModelMetadata) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).CreateEnvWithGlobalThreadPools as *const _ as usize + }, + 952usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateEnvWithGlobalThreadPools) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).DisablePerSessionThreads as *const _ as usize }, + 960usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(DisablePerSessionThreads) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateThreadingOptions as *const _ as usize }, + 968usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateThreadingOptions) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseThreadingOptions as *const _ as usize }, + 976usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseThreadingOptions) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ModelMetadataGetCustomMetadataMapKeys as *const _ + as usize + }, + 984usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ModelMetadataGetCustomMetadataMapKeys) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).AddFreeDimensionOverrideByName as *const _ as usize + }, + 992usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(AddFreeDimensionOverrideByName) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetAvailableProviders as *const _ as usize }, + 1000usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetAvailableProviders) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ReleaseAvailableProviders as *const _ as usize + }, + 1008usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseAvailableProviders) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).GetStringTensorElementLength as *const _ as usize + }, + 1016usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetStringTensorElementLength) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetStringTensorElement as *const _ as usize }, + 1024usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetStringTensorElement) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).FillStringTensorElement as *const _ as usize }, + 1032usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(FillStringTensorElement) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).AddSessionConfigEntry as *const _ as usize }, + 1040usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(AddSessionConfigEntry) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateAllocator as *const _ as usize }, + 1048usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateAllocator) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseAllocator as *const _ as usize }, + 1056usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseAllocator) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).RunWithBinding as *const _ as usize }, + 1064usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunWithBinding) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateIoBinding as *const _ as usize }, + 1072usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateIoBinding) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseIoBinding as *const _ as usize }, + 1080usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseIoBinding) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).BindInput as *const _ as usize }, + 1088usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(BindInput) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).BindOutput as *const _ as usize }, + 1096usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(BindOutput) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).BindOutputToDevice as *const _ as usize }, + 1104usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(BindOutputToDevice) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetBoundOutputNames as *const _ as usize }, + 1112usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetBoundOutputNames) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetBoundOutputValues as *const _ as usize }, + 1120usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetBoundOutputValues) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ClearBoundInputs as *const _ as usize }, + 1128usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ClearBoundInputs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ClearBoundOutputs as *const _ as usize }, + 1136usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ClearBoundOutputs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).TensorAt as *const _ as usize }, + 1144usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(TensorAt) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).CreateAndRegisterAllocator as *const _ as usize + }, + 1152usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateAndRegisterAllocator) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SetLanguageProjection as *const _ as usize }, + 1160usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetLanguageProjection) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SessionGetProfilingStartTimeNs as *const _ as usize + }, + 1168usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetProfilingStartTimeNs) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SetGlobalIntraOpNumThreads as *const _ as usize + }, + 1176usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetGlobalIntraOpNumThreads) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SetGlobalInterOpNumThreads as *const _ as usize + }, + 1184usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetGlobalInterOpNumThreads) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SetGlobalSpinControl as *const _ as usize }, + 1192usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetGlobalSpinControl) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).AddInitializer as *const _ as usize }, + 1200usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(AddInitializer) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).CreateEnvWithCustomLoggerAndGlobalThreadPools + as *const _ as usize + }, + 1208usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateEnvWithCustomLoggerAndGlobalThreadPools) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SessionOptionsAppendExecutionProvider_CUDA + as *const _ as usize + }, + 1216usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionOptionsAppendExecutionProvider_CUDA) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SessionOptionsAppendExecutionProvider_OpenVINO + as *const _ as usize + }, + 1224usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionOptionsAppendExecutionProvider_OpenVINO) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SetGlobalDenormalAsZero as *const _ as usize }, + 1232usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetGlobalDenormalAsZero) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateArenaCfg as *const _ as usize }, + 1240usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateArenaCfg) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ReleaseArenaCfg as *const _ as usize }, + 1248usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseArenaCfg) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).ModelMetadataGetGraphDescription as *const _ as usize + }, + 1256usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ModelMetadataGetGraphDescription) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).SessionOptionsAppendExecutionProvider_TensorRT + as *const _ as usize + }, + 1264usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionOptionsAppendExecutionProvider_TensorRT) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).SetCurrentGpuDeviceId as *const _ as usize }, + 1272usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetCurrentGpuDeviceId) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetCurrentGpuDeviceId as *const _ as usize }, + 1280usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetCurrentGpuDeviceId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtCustomOp { + pub version: u32, + pub CreateKernel: ::std::option::Option< + unsafe extern "C" fn( + op: *const OrtCustomOp, + api: *const OrtApi, + info: *const OrtKernelInfo, + ) -> *mut ::std::os::raw::c_void, + >, + pub GetName: ::std::option::Option< + unsafe extern "C" fn(op: *const OrtCustomOp) -> *const ::std::os::raw::c_char, + >, + pub GetExecutionProviderType: ::std::option::Option< + unsafe extern "C" fn(op: *const OrtCustomOp) -> *const ::std::os::raw::c_char, + >, + pub GetInputType: ::std::option::Option< + unsafe extern "C" fn(op: *const OrtCustomOp, index: size_t) -> ONNXTensorElementDataType, + >, + pub GetInputTypeCount: + ::std::option::Option size_t>, + pub GetOutputType: ::std::option::Option< + unsafe extern "C" fn(op: *const OrtCustomOp, index: size_t) -> ONNXTensorElementDataType, + >, + pub GetOutputTypeCount: + ::std::option::Option size_t>, + pub KernelCompute: ::std::option::Option< + unsafe extern "C" fn( + op_kernel: *mut ::std::os::raw::c_void, + context: *mut OrtKernelContext, + ), + >, + pub KernelDestroy: + ::std::option::Option, +} +#[test] +fn bindgen_test_layout_OrtCustomOp() { + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(OrtCustomOp)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OrtCustomOp)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).version as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OrtCustomOp), + "::", + stringify!(version) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).CreateKernel as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OrtCustomOp), + "::", + stringify!(CreateKernel) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetName as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OrtCustomOp), + "::", + stringify!(GetName) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).GetExecutionProviderType as *const _ as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OrtCustomOp), + "::", + stringify!(GetExecutionProviderType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetInputType as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OrtCustomOp), + "::", + stringify!(GetInputType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetInputTypeCount as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OrtCustomOp), + "::", + stringify!(GetInputTypeCount) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetOutputType as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OrtCustomOp), + "::", + stringify!(GetOutputType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).GetOutputTypeCount as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OrtCustomOp), + "::", + stringify!(GetOutputTypeCount) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).KernelCompute as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OrtCustomOp), + "::", + stringify!(KernelCompute) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).KernelDestroy as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OrtCustomOp), + "::", + stringify!(KernelDestroy) + ) + ); +} +pub type __builtin_va_list = *mut ::std::os::raw::c_char; +pub type __uint128_t = u128; From 15acb44e3f6c1673e5bf33c77912b4e14d8be43a Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:16:02 -0400 Subject: [PATCH 02/13] On macOS Big Sur, homebrew installs to /opt/homebrew instead of /usr/local, adapt installation notes --- ONNX_Compilation_Notes.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ONNX_Compilation_Notes.md b/ONNX_Compilation_Notes.md index c0ac4cca..3c8ce86c 100644 --- a/ONNX_Compilation_Notes.md +++ b/ONNX_Compilation_Notes.md @@ -8,6 +8,8 @@ brew install llvm cmake # bindgen needs this to find llvm/clang export LLVM_CONFIG_PATH=/usr/local/opt/llvm/bin/llvm-config +# Or on macOS Big Sur: +export LLVM_CONFIG_PATH=/opt/homebrew/opt/llvm/bin/llvm-config ``` The `build.rs` script uses the `ONNXRUNTIME_INSTALL_DIR` environment variable to From 39e1392488e9c2276d8a6a87f27d96ab642f00c3 Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:16:58 -0400 Subject: [PATCH 03/13] Feature is 'generate-bindings', not 'bindgen'. Change error message --- onnxruntime-sys/build.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/onnxruntime-sys/build.rs b/onnxruntime-sys/build.rs index 1589555a..5457fb53 100644 --- a/onnxruntime-sys/build.rs +++ b/onnxruntime-sys/build.rs @@ -61,7 +61,7 @@ fn main() { #[cfg(not(feature = "generate-bindings"))] fn generate_bindings(_include_dir: &Path) { println!("Bindings not generated automatically, using committed files instead."); - println!("Enable with the 'bindgen' cargo feature."); + println!("Enable with the 'generate-bindings' cargo feature."); } #[cfg(feature = "generate-bindings")] From afe378ea03815060783ed3ae68eecc113b2120ee Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:17:38 -0400 Subject: [PATCH 04/13] Add more paths to include directory, required when compilling and installing from source --- onnxruntime-sys/build.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/onnxruntime-sys/build.rs b/onnxruntime-sys/build.rs index 5457fb53..bcf58ba0 100644 --- a/onnxruntime-sys/build.rs +++ b/onnxruntime-sys/build.rs @@ -66,7 +66,17 @@ fn generate_bindings(_include_dir: &Path) { #[cfg(feature = "generate-bindings")] fn generate_bindings(include_dir: &Path) { - let clang_arg = format!("-I{}", include_dir.display()); + let clang_args = &[ + format!("-I{}", include_dir.display()), + format!( + "-I{}", + include_dir + .join("onnxruntime") + .join("core") + .join("session") + .display() + ), + ]; // Tell cargo to invalidate the built crate whenever the wrapper changes println!("cargo:rerun-if-changed=wrapper.h"); @@ -80,7 +90,7 @@ fn generate_bindings(include_dir: &Path) { // bindings for. .header("wrapper.h") // The current working directory is 'onnxruntime-sys' - .clang_arg(clang_arg) + .clang_args(clang_args) // Tell cargo to invalidate the built crate whenever any of the // included header files changed. .parse_callbacks(Box::new(bindgen::CargoCallbacks)) From c019728a741387e939546c9616ca4f41d0736db0 Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:17:45 -0400 Subject: [PATCH 05/13] Formatting --- onnxruntime-sys/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/onnxruntime-sys/Cargo.toml b/onnxruntime-sys/Cargo.toml index 856f7546..87a38d46 100644 --- a/onnxruntime-sys/Cargo.toml +++ b/onnxruntime-sys/Cargo.toml @@ -17,7 +17,7 @@ keywords = ["neuralnetworks", "onnx", "bindings"] [dependencies] [build-dependencies] -bindgen = {version = "0.55", optional = true} +bindgen = { version = "0.55", optional = true } ureq = "1.5.1" # Used on Windows From a5e7f956d7d3a6308fe2e25d474f7f3aee98d16c Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:18:20 -0400 Subject: [PATCH 06/13] Compilation notes: environment variable was changed to 'ORT_LIB_LOCATION' (from 'ONNXRUNTIME_INSTALL_DIR') --- ONNX_Compilation_Notes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ONNX_Compilation_Notes.md b/ONNX_Compilation_Notes.md index 3c8ce86c..6f2d1b1e 100644 --- a/ONNX_Compilation_Notes.md +++ b/ONNX_Compilation_Notes.md @@ -12,11 +12,11 @@ export LLVM_CONFIG_PATH=/usr/local/opt/llvm/bin/llvm-config export LLVM_CONFIG_PATH=/opt/homebrew/opt/llvm/bin/llvm-config ``` -The `build.rs` script uses the `ONNXRUNTIME_INSTALL_DIR` environment variable to +The `build.rs` script uses the `ORT_LIB_LOCATION` environment variable to find the built library and its headers. Make sure to point to the proper location: ```sh -❯ export ONNXRUNTIME_INSTALL_DIR=/full/path/to/onnxruntime +❯ export ORT_LIB_LOCATION=/full/path/to/onnxruntime ``` **NOTE**: The [`.cargo/config`](.cargo/config) file assumes the library is installed From c80c2c47b53fe80154d06411441680a85d1ed072 Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:23:09 -0400 Subject: [PATCH 07/13] Add entry to changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24aef3bb..19fa2d04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Add `String` datatype ([#58](https://github.com/nbigaouette/onnxruntime-rs/pull/58)) +- Initial support for Apple M1 ([#74](https://github.com/nbigaouette/onnxruntime-rs/pull/74)) ## [0.0.11] - 2021-02-22 From 5c40b5bf736a5f6acafc2918e9f72e9593fa6a91 Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:27:46 -0400 Subject: [PATCH 08/13] Add macOS aarch64 to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8f1f322..e2da93f7 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ CPU: * Linux x86_64 * macOS x86_64 +* macOS aarch64 (no pre-built binaries, no CI testing, see [#74](https://github.com/nbigaouette/onnxruntime-rs/pull/74)) * Windows i686 * Windows x86_64 From 260fb82609c8700cd27c02dd09d2ff69b369aa3a Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:39:00 -0400 Subject: [PATCH 09/13] Add note about LD_LIBRARY_PATH in README --- README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/README.md b/README.md index e2da93f7..df527cea 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,29 @@ environment variable `ORT_USE_CUDA=1` (only supports Linux or Windows). Until the build script allow compilation of the runtime, see the [compilation notes](ONNX_Compilation_Notes.md) for some details on the process. +### Note on 'ORT_STRATEGY=system' + +When using `ORT_STRATEGY=system`, executing a built crate binary (for example the tests) might fail, at least on macOS, +if the library is not installed in a system path. An error similar to the following happens: + +```text +dyld: Library not loaded: @rpath/libonnxruntime.1.7.1.dylib + Referenced from: onnxruntime-rs.git/target/debug/deps/onnxruntime_sys-22eb0e3e89a0278c + Reason: image not found +``` + +To fix, one can either: + +* Set the `LD_LIBRARY_PATH` environment variable to point to the path where the library can be found. +* Adapt the `.cargo/config` file to contain a linker flag to provide the **full** path: + + ```toml + [target.aarch64-apple-darwin] + rustflags = ["-C", "link-args=-Wl,-rpath,/full/path/to/onnxruntime/lib"] + ``` + +See [rust-lang/cargo #5077](https://github.com/rust-lang/cargo/issues/5077) for more information. + ## Example The C++ example that uses the C API From e5a8231f8dc53ddcf753d8afb049a19fc95c99cf Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:41:04 -0400 Subject: [PATCH 10/13] Add a VSCode config to run clippy and format on save --- .vscode/settings.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..e95894f3 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "rust-analyzer.checkOnSave.command": "clippy", + "editor.formatOnSave": true +} \ No newline at end of file From 50e30f180438c1108424169fac786cf1fbb8748a Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:43:57 -0400 Subject: [PATCH 11/13] Clippy: Allow upper case acronyms, names coming from specific ML models --- onnxruntime/src/download/language/machine_comprehension.rs | 3 +++ onnxruntime/src/download/vision/image_classification.rs | 3 +++ .../src/download/vision/object_detection_image_segmentation.rs | 3 +++ 3 files changed, 9 insertions(+) diff --git a/onnxruntime/src/download/language/machine_comprehension.rs b/onnxruntime/src/download/language/machine_comprehension.rs index f925e8a7..a32d0076 100644 --- a/onnxruntime/src/download/language/machine_comprehension.rs +++ b/onnxruntime/src/download/language/machine_comprehension.rs @@ -2,6 +2,9 @@ //! //! See [https://github.com/onnx/models#machine_comprehension](https://github.com/onnx/models#machine_comprehension) +// Acronyms are specific ONNX model names and contains upper cases +#![allow(clippy::upper_case_acronyms)] + use crate::download::{language::Language, AvailableOnnxModel, ModelUrl}; /// Machine Comprehension diff --git a/onnxruntime/src/download/vision/image_classification.rs b/onnxruntime/src/download/vision/image_classification.rs index 71f8a3b1..cbb33c2a 100644 --- a/onnxruntime/src/download/vision/image_classification.rs +++ b/onnxruntime/src/download/vision/image_classification.rs @@ -2,6 +2,9 @@ //! //! See [https://github.com/onnx/models#image_classification](https://github.com/onnx/models#image_classification) +// Acronyms are specific ONNX model names and contains upper cases +#![allow(clippy::upper_case_acronyms)] + use crate::download::{vision::Vision, AvailableOnnxModel, ModelUrl}; /// Image classification model diff --git a/onnxruntime/src/download/vision/object_detection_image_segmentation.rs b/onnxruntime/src/download/vision/object_detection_image_segmentation.rs index 9c1e191e..05a94348 100644 --- a/onnxruntime/src/download/vision/object_detection_image_segmentation.rs +++ b/onnxruntime/src/download/vision/object_detection_image_segmentation.rs @@ -2,6 +2,9 @@ //! //! See [https://github.com/onnx/models#object_detection](https://github.com/onnx/models#object_detection) +// Acronyms are specific ONNX model names and contains upper cases +#![allow(clippy::upper_case_acronyms)] + use crate::download::{vision::Vision, AvailableOnnxModel, ModelUrl}; /// Object Detection & Image Segmentation From 1dc7e37adf66f21c333e325c0427f83f1171d3c1 Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:47:43 -0400 Subject: [PATCH 12/13] Fix clippy lint: Change 'Into' impls to 'From' --- onnxruntime/src/lib.rs | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/onnxruntime/src/lib.rs b/onnxruntime/src/lib.rs index 0d575b5e..9b614070 100644 --- a/onnxruntime/src/lib.rs +++ b/onnxruntime/src/lib.rs @@ -280,9 +280,9 @@ pub enum LoggingLevel { Fatal = sys::OrtLoggingLevel::ORT_LOGGING_LEVEL_FATAL as OnnxEnumInt, } -impl Into for LoggingLevel { - fn into(self) -> sys::OrtLoggingLevel { - match self { +impl From for sys::OrtLoggingLevel { + fn from(val: LoggingLevel) -> Self { + match val { LoggingLevel::Verbose => sys::OrtLoggingLevel::ORT_LOGGING_LEVEL_VERBOSE, LoggingLevel::Info => sys::OrtLoggingLevel::ORT_LOGGING_LEVEL_INFO, LoggingLevel::Warning => sys::OrtLoggingLevel::ORT_LOGGING_LEVEL_WARNING, @@ -310,10 +310,10 @@ pub enum GraphOptimizationLevel { All = sys::GraphOptimizationLevel::ORT_ENABLE_ALL as OnnxEnumInt, } -impl Into for GraphOptimizationLevel { - fn into(self) -> sys::GraphOptimizationLevel { +impl From for sys::GraphOptimizationLevel { + fn from(val: GraphOptimizationLevel) -> Self { use GraphOptimizationLevel::*; - match self { + match val { DisableAll => sys::GraphOptimizationLevel::ORT_DISABLE_ALL, Basic => sys::GraphOptimizationLevel::ORT_ENABLE_BASIC, Extended => sys::GraphOptimizationLevel::ORT_ENABLE_EXTENDED, @@ -363,10 +363,10 @@ pub enum TensorElementDataType { // Bfloat16 = sys::ONNXTensorElementDataType::ONNX_TENSOR_ELEMENT_DATA_TYPE_BFLOAT16 as OnnxEnumInt, } -impl Into for TensorElementDataType { - fn into(self) -> sys::ONNXTensorElementDataType { +impl From for sys::ONNXTensorElementDataType { + fn from(val: TensorElementDataType) -> Self { use TensorElementDataType::*; - match self { + match val { Float => sys::ONNXTensorElementDataType::ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT, Uint8 => sys::ONNXTensorElementDataType::ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT8, Int8 => sys::ONNXTensorElementDataType::ONNX_TENSOR_ELEMENT_DATA_TYPE_INT8, @@ -481,10 +481,10 @@ pub enum AllocatorType { Arena = sys::OrtAllocatorType::OrtArenaAllocator as i32, } -impl Into for AllocatorType { - fn into(self) -> sys::OrtAllocatorType { +impl From for sys::OrtAllocatorType { + fn from(val: AllocatorType) -> Self { use AllocatorType::*; - match self { + match val { // Invalid => sys::OrtAllocatorType::Invalid, Device => sys::OrtAllocatorType::OrtDeviceAllocator, Arena => sys::OrtAllocatorType::OrtArenaAllocator, @@ -506,10 +506,10 @@ pub enum MemType { Default = sys::OrtMemType::OrtMemTypeDefault as i32, } -impl Into for MemType { - fn into(self) -> sys::OrtMemType { +impl From for sys::OrtMemType { + fn from(val: MemType) -> Self { use MemType::*; - match self { + match val { // CPUInput => sys::OrtMemType::OrtMemTypeCPUInput, // CPUOutput => sys::OrtMemType::OrtMemTypeCPUOutput, // CPU => sys::OrtMemType::OrtMemTypeCPU, From 312952b84150b276bc71562f2ac243d90f3e2cb5 Mon Sep 17 00:00:00 2001 From: Nicolas Bigaouette Date: Sun, 11 Apr 2021 10:55:05 -0400 Subject: [PATCH 13/13] Add ORT_LIB_LOCATION note in readme for 'ORT_STRATEGY=system' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index df527cea..84af458e 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ Three different strategy to obtain the ONNX Runtime are supported by the `build. To select which strategy to use, set the `ORT_STRATEGY` environment variable to: 1. `download`: This is the default if `ORT_STRATEGY` is not set; -2. `system`: To use a locally installed version +2. `system`: To use a locally installed version (use `ORT_LIB_LOCATION` environment variable to point to the install path) 3. `compile`: To compile the library The `download` strategy supports downloading a version of ONNX that supports CUDA. To use this, set the