diff --git a/onnxruntime-sys/Cargo.toml b/onnxruntime-sys/Cargo.toml index 942ca74c..4137fe64 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.59", optional = true } +bindgen = { version = "0.63", optional = true } ureq = "2.1" # Used on Windows diff --git a/onnxruntime-sys/build.rs b/onnxruntime-sys/build.rs index 6fac6d24..b05e6d7a 100644 --- a/onnxruntime-sys/build.rs +++ b/onnxruntime-sys/build.rs @@ -13,7 +13,7 @@ use std::{ /// WARNING: If version is changed, bindings for all platforms will have to be re-generated. /// To do so, run this: /// cargo build --package onnxruntime-sys --features generate-bindings -const ORT_VERSION: &str = "1.8.1"; +const ORT_VERSION: &str = "1.13.1"; /// Base Url from which to download pre-built releases/ const ORT_RELEASE_BASE_URL: &str = "https://github.com/microsoft/onnxruntime/releases/download"; @@ -110,7 +110,7 @@ fn generate_bindings(include_dir: &Path) { .size_t_is_usize(true) // Format using rustfmt .rustfmt_bindings(true) - .rustified_enum("*") + .rustified_enum(".*") // Finish the builder and generate the bindings. .generate() // Unwrap the Result and panic on failure. @@ -310,23 +310,24 @@ struct Triplet { impl OnnxPrebuiltArchive for Triplet { fn as_onnx_str(&self) -> Cow { match (&self.os, &self.arch, &self.accelerator) { - // onnxruntime-win-x86-1.8.1.zip - // onnxruntime-win-x64-1.8.1.zip - // onnxruntime-win-arm-1.8.1.zip - // onnxruntime-win-arm64-1.8.1.zip - // onnxruntime-linux-x64-1.8.1.tgz - // onnxruntime-osx-x64-1.8.1.tgz + // onnxruntime-win-x86-$VERSION.zip + // onnxruntime-win-x64-$VERSION.zip + // onnxruntime-win-arm-$VERSION.zip + // onnxruntime-win-arm64-$VERSION.zip + // onnxruntime-linux-x64-$VERSION.tgz + // onnxruntime-osx-x64-$VERSION.tgz (Os::Windows, Architecture::X86, Accelerator::None) | (Os::Windows, Architecture::X86_64, Accelerator::None) | (Os::Windows, Architecture::Arm, Accelerator::None) | (Os::Windows, Architecture::Arm64, Accelerator::None) | (Os::Linux, Architecture::X86_64, Accelerator::None) - | (Os::MacOs, Architecture::X86_64, Accelerator::None) => Cow::from(format!( + | (Os::MacOs, Architecture::X86_64, Accelerator::None) + | (Os::MacOs, Architecture::Arm64, Accelerator::None) => Cow::from(format!( "{}-{}", self.os.as_onnx_str(), self.arch.as_onnx_str() )), - // onnxruntime-win-gpu-x64-1.8.1.zip + // onnxruntime-win-gpu-x64-$VERSION.zip // Note how this one is inverted from the linux one next (Os::Windows, Architecture::X86_64, Accelerator::Gpu) => Cow::from(format!( "{}-{}-{}", @@ -334,7 +335,7 @@ impl OnnxPrebuiltArchive for Triplet { self.accelerator.as_onnx_str(), self.arch.as_onnx_str(), )), - // onnxruntime-linux-x64-gpu-1.8.1.tgz + // onnxruntime-linux-x64-gpu-$VERSION.tgz // Note how this one is inverted from the windows one above (Os::Linux, Architecture::X86_64, Accelerator::Gpu) => Cow::from(format!( "{}-{}-{}", diff --git a/onnxruntime-sys/examples/c_api_sample.rs b/onnxruntime-sys/examples/c_api_sample.rs index fde8df08..d26ce1eb 100644 --- a/onnxruntime-sys/examples/c_api_sample.rs +++ b/onnxruntime-sys/examples/c_api_sample.rs @@ -290,7 +290,7 @@ fn main() { let output_node_names_cstring: Vec = output_node_names .into_iter() - .map(|n| std::ffi::CString::new(n.clone()).unwrap()) + .map(|n| std::ffi::CString::new(*n).unwrap()) .collect(); let output_node_names_ptr: Vec<*const i8> = output_node_names_cstring .iter() diff --git a/onnxruntime-sys/src/generated/macos/aarch64/bindings.rs b/onnxruntime-sys/src/generated/macos/aarch64/bindings.rs index c857da52..a4438c57 100644 --- a/onnxruntime-sys/src/generated/macos/aarch64/bindings.rs +++ b/onnxruntime-sys/src/generated/macos/aarch64/bindings.rs @@ -1,4 +1,4 @@ -/* automatically generated by rust-bindgen 0.59.1 */ +/* automatically generated by rust-bindgen 0.63.0 */ #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] @@ -81,6 +81,12 @@ where } } pub const __API_TO_BE_DEPRECATED: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_MACOS: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_IOS: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_TVOS: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_WATCHOS: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_MACCATALYST: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_DRIVERKIT: u32 = 100000; pub const __MAC_10_0: u32 = 1000; pub const __MAC_10_1: u32 = 1010; pub const __MAC_10_2: u32 = 1020; @@ -117,6 +123,15 @@ pub const __MAC_10_16: u32 = 101600; pub const __MAC_11_0: u32 = 110000; pub const __MAC_11_1: u32 = 110100; pub const __MAC_11_3: u32 = 110300; +pub const __MAC_11_4: u32 = 110400; +pub const __MAC_11_5: u32 = 110500; +pub const __MAC_11_6: u32 = 110600; +pub const __MAC_12_0: u32 = 120000; +pub const __MAC_12_1: u32 = 120100; +pub const __MAC_12_2: u32 = 120200; +pub const __MAC_12_3: u32 = 120300; +pub const __MAC_13_0: u32 = 130000; +pub const __MAC_13_1: u32 = 130100; pub const __IPHONE_2_0: u32 = 20000; pub const __IPHONE_2_1: u32 = 20100; pub const __IPHONE_2_2: u32 = 20200; @@ -169,6 +184,17 @@ pub const __IPHONE_14_1: u32 = 140100; pub const __IPHONE_14_2: u32 = 140200; pub const __IPHONE_14_3: u32 = 140300; pub const __IPHONE_14_5: u32 = 140500; +pub const __IPHONE_14_6: u32 = 140600; +pub const __IPHONE_14_7: u32 = 140700; +pub const __IPHONE_14_8: u32 = 140800; +pub const __IPHONE_15_0: u32 = 150000; +pub const __IPHONE_15_1: u32 = 150100; +pub const __IPHONE_15_2: u32 = 150200; +pub const __IPHONE_15_3: u32 = 150300; +pub const __IPHONE_15_4: u32 = 150400; +pub const __IPHONE_16_0: u32 = 160000; +pub const __IPHONE_16_1: u32 = 160100; +pub const __IPHONE_16_2: u32 = 160200; pub const __TVOS_9_0: u32 = 90000; pub const __TVOS_9_1: u32 = 90100; pub const __TVOS_9_2: u32 = 90200; @@ -195,6 +221,16 @@ pub const __TVOS_14_1: u32 = 140100; pub const __TVOS_14_2: u32 = 140200; pub const __TVOS_14_3: u32 = 140300; pub const __TVOS_14_5: u32 = 140500; +pub const __TVOS_14_6: u32 = 140600; +pub const __TVOS_14_7: u32 = 140700; +pub const __TVOS_15_0: u32 = 150000; +pub const __TVOS_15_1: u32 = 150100; +pub const __TVOS_15_2: u32 = 150200; +pub const __TVOS_15_3: u32 = 150300; +pub const __TVOS_15_4: u32 = 150400; +pub const __TVOS_16_0: u32 = 160000; +pub const __TVOS_16_1: u32 = 160100; +pub const __TVOS_16_2: u32 = 160200; pub const __WATCHOS_1_0: u32 = 10000; pub const __WATCHOS_2_0: u32 = 20000; pub const __WATCHOS_2_1: u32 = 20100; @@ -219,6 +255,16 @@ pub const __WATCHOS_7_1: u32 = 70100; pub const __WATCHOS_7_2: u32 = 70200; pub const __WATCHOS_7_3: u32 = 70300; pub const __WATCHOS_7_4: u32 = 70400; +pub const __WATCHOS_7_5: u32 = 70500; +pub const __WATCHOS_7_6: u32 = 70600; +pub const __WATCHOS_8_0: u32 = 80000; +pub const __WATCHOS_8_1: u32 = 80100; +pub const __WATCHOS_8_3: u32 = 80300; +pub const __WATCHOS_8_4: u32 = 80400; +pub const __WATCHOS_8_5: u32 = 80500; +pub const __WATCHOS_9_0: u32 = 90000; +pub const __WATCHOS_9_1: u32 = 90100; +pub const __WATCHOS_9_2: u32 = 90200; 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; @@ -252,9 +298,12 @@ 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 MAC_OS_VERSION_12_0: u32 = 120000; +pub const MAC_OS_VERSION_13_0: u32 = 130000; pub const __DRIVERKIT_19_0: u32 = 190000; pub const __DRIVERKIT_20_0: u32 = 200000; -pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 110300; +pub const __DRIVERKIT_21_0: u32 = 210000; +pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 130100; 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; @@ -263,7 +312,7 @@ 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_SUF_EXTSN: &[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; @@ -274,6 +323,7 @@ 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 __has_ptrcheck: u32 = 0; pub const __PTHREAD_SIZE__: u32 = 8176; pub const __PTHREAD_ATTR_SIZE__: u32 = 56; pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8; @@ -455,7 +505,8 @@ 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 RUSAGE_INFO_V6: u32 = 6; +pub const RUSAGE_INFO_CURRENT: u32 = 6; pub const RU_PROC_RUNS_RESLIDE: u32 = 1; pub const RLIMIT_CPU: u32 = 0; pub const RLIMIT_FSIZE: u32 = 1; @@ -488,6 +539,8 @@ pub const IOPOL_TYPE_VFS_TRIGGER_RESOLVE: u32 = 5; pub const IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION: u32 = 6; pub const IOPOL_TYPE_VFS_IGNORE_PERMISSIONS: u32 = 7; pub const IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE: u32 = 8; +pub const IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES: u32 = 9; +pub const IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY: u32 = 10; pub const IOPOL_SCOPE_PROCESS: u32 = 0; pub const IOPOL_SCOPE_THREAD: u32 = 1; pub const IOPOL_SCOPE_DARWIN_BG: u32 = 2; @@ -514,6 +567,10 @@ pub const IOPOL_VFS_IGNORE_PERMISSIONS_OFF: u32 = 0; pub const IOPOL_VFS_IGNORE_PERMISSIONS_ON: u32 = 1; pub const IOPOL_VFS_SKIP_MTIME_UPDATE_OFF: u32 = 0; pub const IOPOL_VFS_SKIP_MTIME_UPDATE_ON: u32 = 1; +pub const IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF: u32 = 0; +pub const IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON: u32 = 1; +pub const IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT: u32 = 0; +pub const IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON: u32 = 1; pub const WNOHANG: u32 = 1; pub const WUNTRACED: u32 = 2; pub const WCOREFLAG: u32 = 128; @@ -539,7 +596,7 @@ 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 = 8; +pub const ORT_API_VERSION: u32 = 13; 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; @@ -559,6 +616,8 @@ pub union __mbstate_t { } #[test] fn bindgen_test_layout___mbstate_t() { + const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__mbstate_t>(), 128usize, @@ -570,7 +629,7 @@ fn bindgen_test_layout___mbstate_t() { concat!("Alignment of ", stringify!(__mbstate_t)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__mbstate_t>())).__mbstate8 as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__mbstate8) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -580,7 +639,7 @@ fn bindgen_test_layout___mbstate_t() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__mbstate_t>()))._mbstateL as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr)._mbstateL) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -630,6 +689,9 @@ pub struct __darwin_pthread_handler_rec { } #[test] fn bindgen_test_layout___darwin_pthread_handler_rec() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_pthread_handler_rec> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_pthread_handler_rec>(), 24usize, @@ -641,9 +703,7 @@ fn bindgen_test_layout___darwin_pthread_handler_rec() { concat!("Alignment of ", stringify!(__darwin_pthread_handler_rec)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_pthread_handler_rec>())).__routine as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__routine) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -653,9 +713,7 @@ fn bindgen_test_layout___darwin_pthread_handler_rec() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_pthread_handler_rec>())).__arg as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__arg) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -665,9 +723,7 @@ fn bindgen_test_layout___darwin_pthread_handler_rec() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_pthread_handler_rec>())).__next as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -685,6 +741,9 @@ pub struct _opaque_pthread_attr_t { } #[test] fn bindgen_test_layout__opaque_pthread_attr_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_attr_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_opaque_pthread_attr_t>(), 64usize, @@ -696,7 +755,7 @@ fn bindgen_test_layout__opaque_pthread_attr_t() { concat!("Alignment of ", stringify!(_opaque_pthread_attr_t)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_opaque_pthread_attr_t>())).__sig as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -706,7 +765,7 @@ fn bindgen_test_layout__opaque_pthread_attr_t() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_opaque_pthread_attr_t>())).__opaque as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -724,6 +783,9 @@ pub struct _opaque_pthread_cond_t { } #[test] fn bindgen_test_layout__opaque_pthread_cond_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_cond_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_opaque_pthread_cond_t>(), 48usize, @@ -735,7 +797,7 @@ fn bindgen_test_layout__opaque_pthread_cond_t() { concat!("Alignment of ", stringify!(_opaque_pthread_cond_t)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_opaque_pthread_cond_t>())).__sig as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -745,7 +807,7 @@ fn bindgen_test_layout__opaque_pthread_cond_t() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_opaque_pthread_cond_t>())).__opaque as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -763,6 +825,9 @@ pub struct _opaque_pthread_condattr_t { } #[test] fn bindgen_test_layout__opaque_pthread_condattr_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_condattr_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_opaque_pthread_condattr_t>(), 16usize, @@ -774,9 +839,7 @@ fn bindgen_test_layout__opaque_pthread_condattr_t() { concat!("Alignment of ", stringify!(_opaque_pthread_condattr_t)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<_opaque_pthread_condattr_t>())).__sig as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -786,9 +849,7 @@ fn bindgen_test_layout__opaque_pthread_condattr_t() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<_opaque_pthread_condattr_t>())).__opaque as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -806,6 +867,9 @@ pub struct _opaque_pthread_mutex_t { } #[test] fn bindgen_test_layout__opaque_pthread_mutex_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutex_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_opaque_pthread_mutex_t>(), 64usize, @@ -817,7 +881,7 @@ fn bindgen_test_layout__opaque_pthread_mutex_t() { concat!("Alignment of ", stringify!(_opaque_pthread_mutex_t)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_opaque_pthread_mutex_t>())).__sig as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -827,9 +891,7 @@ fn bindgen_test_layout__opaque_pthread_mutex_t() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<_opaque_pthread_mutex_t>())).__opaque as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -847,6 +909,9 @@ pub struct _opaque_pthread_mutexattr_t { } #[test] fn bindgen_test_layout__opaque_pthread_mutexattr_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutexattr_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_opaque_pthread_mutexattr_t>(), 16usize, @@ -858,9 +923,7 @@ fn bindgen_test_layout__opaque_pthread_mutexattr_t() { concat!("Alignment of ", stringify!(_opaque_pthread_mutexattr_t)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<_opaque_pthread_mutexattr_t>())).__sig as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -870,9 +933,7 @@ fn bindgen_test_layout__opaque_pthread_mutexattr_t() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<_opaque_pthread_mutexattr_t>())).__opaque as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -890,6 +951,9 @@ pub struct _opaque_pthread_once_t { } #[test] fn bindgen_test_layout__opaque_pthread_once_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_once_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_opaque_pthread_once_t>(), 16usize, @@ -901,7 +965,7 @@ fn bindgen_test_layout__opaque_pthread_once_t() { concat!("Alignment of ", stringify!(_opaque_pthread_once_t)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_opaque_pthread_once_t>())).__sig as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -911,7 +975,7 @@ fn bindgen_test_layout__opaque_pthread_once_t() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_opaque_pthread_once_t>())).__opaque as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -929,6 +993,9 @@ pub struct _opaque_pthread_rwlock_t { } #[test] fn bindgen_test_layout__opaque_pthread_rwlock_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlock_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_opaque_pthread_rwlock_t>(), 200usize, @@ -940,7 +1007,7 @@ fn bindgen_test_layout__opaque_pthread_rwlock_t() { concat!("Alignment of ", stringify!(_opaque_pthread_rwlock_t)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_opaque_pthread_rwlock_t>())).__sig as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -950,9 +1017,7 @@ fn bindgen_test_layout__opaque_pthread_rwlock_t() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<_opaque_pthread_rwlock_t>())).__opaque as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -970,6 +1035,9 @@ pub struct _opaque_pthread_rwlockattr_t { } #[test] fn bindgen_test_layout__opaque_pthread_rwlockattr_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlockattr_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_opaque_pthread_rwlockattr_t>(), 24usize, @@ -981,9 +1049,7 @@ fn bindgen_test_layout__opaque_pthread_rwlockattr_t() { concat!("Alignment of ", stringify!(_opaque_pthread_rwlockattr_t)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<_opaque_pthread_rwlockattr_t>())).__sig as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -993,9 +1059,7 @@ fn bindgen_test_layout__opaque_pthread_rwlockattr_t() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<_opaque_pthread_rwlockattr_t>())).__opaque as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -1014,6 +1078,8 @@ pub struct _opaque_pthread_t { } #[test] fn bindgen_test_layout__opaque_pthread_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_t> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_opaque_pthread_t>(), 8192usize, @@ -1025,7 +1091,7 @@ fn bindgen_test_layout__opaque_pthread_t() { concat!("Alignment of ", stringify!(_opaque_pthread_t)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_opaque_pthread_t>())).__sig as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1035,9 +1101,7 @@ fn bindgen_test_layout__opaque_pthread_t() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<_opaque_pthread_t>())).__cleanup_stack as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__cleanup_stack) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -1047,7 +1111,7 @@ fn bindgen_test_layout__opaque_pthread_t() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_opaque_pthread_t>())).__opaque as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -1102,6 +1166,9 @@ pub struct __darwin_arm_exception_state { } #[test] fn bindgen_test_layout___darwin_arm_exception_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_exception_state> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_arm_exception_state>(), 12usize, @@ -1113,10 +1180,7 @@ fn bindgen_test_layout___darwin_arm_exception_state() { concat!("Alignment of ", stringify!(__darwin_arm_exception_state)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_exception_state>())).__exception as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__exception) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1126,9 +1190,7 @@ fn bindgen_test_layout___darwin_arm_exception_state() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_exception_state>())).__fsr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__fsr) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", @@ -1138,9 +1200,7 @@ fn bindgen_test_layout___darwin_arm_exception_state() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_exception_state>())).__far as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__far) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -1159,6 +1219,9 @@ pub struct __darwin_arm_exception_state64 { } #[test] fn bindgen_test_layout___darwin_arm_exception_state64() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_exception_state64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_arm_exception_state64>(), 16usize, @@ -1170,9 +1233,7 @@ fn bindgen_test_layout___darwin_arm_exception_state64() { concat!("Alignment of ", stringify!(__darwin_arm_exception_state64)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_exception_state64>())).__far as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__far) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1182,9 +1243,7 @@ fn bindgen_test_layout___darwin_arm_exception_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_exception_state64>())).__esr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__esr) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -1194,10 +1253,7 @@ fn bindgen_test_layout___darwin_arm_exception_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_exception_state64>())).__exception as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__exception) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", @@ -1218,6 +1274,9 @@ pub struct __darwin_arm_thread_state { } #[test] fn bindgen_test_layout___darwin_arm_thread_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_thread_state> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_arm_thread_state>(), 68usize, @@ -1229,7 +1288,7 @@ fn bindgen_test_layout___darwin_arm_thread_state() { concat!("Alignment of ", stringify!(__darwin_arm_thread_state)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_arm_thread_state>())).__r as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__r) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1239,7 +1298,7 @@ fn bindgen_test_layout___darwin_arm_thread_state() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_arm_thread_state>())).__sp as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__sp) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", @@ -1249,7 +1308,7 @@ fn bindgen_test_layout___darwin_arm_thread_state() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_arm_thread_state>())).__lr as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__lr) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", @@ -1259,7 +1318,7 @@ fn bindgen_test_layout___darwin_arm_thread_state() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_arm_thread_state>())).__pc as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__pc) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", @@ -1269,9 +1328,7 @@ fn bindgen_test_layout___darwin_arm_thread_state() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_thread_state>())).__cpsr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__cpsr) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", @@ -1294,6 +1351,9 @@ pub struct __darwin_arm_thread_state64 { } #[test] fn bindgen_test_layout___darwin_arm_thread_state64() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_thread_state64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_arm_thread_state64>(), 272usize, @@ -1305,7 +1365,7 @@ fn bindgen_test_layout___darwin_arm_thread_state64() { concat!("Alignment of ", stringify!(__darwin_arm_thread_state64)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__x as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__x) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1315,9 +1375,7 @@ fn bindgen_test_layout___darwin_arm_thread_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__fp as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__fp) as usize - ptr as usize }, 232usize, concat!( "Offset of field: ", @@ -1327,9 +1385,7 @@ fn bindgen_test_layout___darwin_arm_thread_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__lr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__lr) as usize - ptr as usize }, 240usize, concat!( "Offset of field: ", @@ -1339,9 +1395,7 @@ fn bindgen_test_layout___darwin_arm_thread_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__sp as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__sp) as usize - ptr as usize }, 248usize, concat!( "Offset of field: ", @@ -1351,9 +1405,7 @@ fn bindgen_test_layout___darwin_arm_thread_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__pc as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__pc) as usize - ptr as usize }, 256usize, concat!( "Offset of field: ", @@ -1363,9 +1415,7 @@ fn bindgen_test_layout___darwin_arm_thread_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__cpsr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__cpsr) as usize - ptr as usize }, 264usize, concat!( "Offset of field: ", @@ -1375,9 +1425,7 @@ fn bindgen_test_layout___darwin_arm_thread_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_thread_state64>())).__pad as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__pad) as usize - ptr as usize }, 268usize, concat!( "Offset of field: ", @@ -1395,6 +1443,9 @@ pub struct __darwin_arm_vfp_state { } #[test] fn bindgen_test_layout___darwin_arm_vfp_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_vfp_state> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_arm_vfp_state>(), 260usize, @@ -1406,7 +1457,7 @@ fn bindgen_test_layout___darwin_arm_vfp_state() { concat!("Alignment of ", stringify!(__darwin_arm_vfp_state)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_arm_vfp_state>())).__r as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__r) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1416,7 +1467,7 @@ fn bindgen_test_layout___darwin_arm_vfp_state() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_arm_vfp_state>())).__fpscr as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__fpscr) as usize - ptr as usize }, 256usize, concat!( "Offset of field: ", @@ -1436,6 +1487,9 @@ pub struct __darwin_arm_neon_state64 { } #[test] fn bindgen_test_layout___darwin_arm_neon_state64() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_neon_state64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_arm_neon_state64>(), 528usize, @@ -1447,7 +1501,7 @@ fn bindgen_test_layout___darwin_arm_neon_state64() { concat!("Alignment of ", stringify!(__darwin_arm_neon_state64)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_arm_neon_state64>())).__v as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__v) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1457,9 +1511,7 @@ fn bindgen_test_layout___darwin_arm_neon_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_neon_state64>())).__fpsr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__fpsr) as usize - ptr as usize }, 512usize, concat!( "Offset of field: ", @@ -1469,9 +1521,7 @@ fn bindgen_test_layout___darwin_arm_neon_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_neon_state64>())).__fpcr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__fpcr) as usize - ptr as usize }, 516usize, concat!( "Offset of field: ", @@ -1491,6 +1541,9 @@ pub struct __darwin_arm_neon_state { } #[test] fn bindgen_test_layout___darwin_arm_neon_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_neon_state> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_arm_neon_state>(), 272usize, @@ -1502,7 +1555,7 @@ fn bindgen_test_layout___darwin_arm_neon_state() { concat!("Alignment of ", stringify!(__darwin_arm_neon_state)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_arm_neon_state>())).__v as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__v) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1512,7 +1565,7 @@ fn bindgen_test_layout___darwin_arm_neon_state() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_arm_neon_state>())).__fpsr as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__fpsr) as usize - ptr as usize }, 256usize, concat!( "Offset of field: ", @@ -1522,7 +1575,7 @@ fn bindgen_test_layout___darwin_arm_neon_state() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_arm_neon_state>())).__fpcr as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__fpcr) as usize - ptr as usize }, 260usize, concat!( "Offset of field: ", @@ -1533,77 +1586,14 @@ fn bindgen_test_layout___darwin_arm_neon_state() { ); } #[repr(C)] -#[repr(align(64))] -#[derive(Debug, 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() { + const UNINIT: ::std::mem::MaybeUninit<__arm_pagein_state> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__arm_pagein_state>(), 4usize, @@ -1615,9 +1605,7 @@ fn bindgen_test_layout___arm_pagein_state() { concat!("Alignment of ", stringify!(__arm_pagein_state)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__arm_pagein_state>())).__pagein_error as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__pagein_error) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1637,6 +1625,9 @@ pub struct __arm_legacy_debug_state { } #[test] fn bindgen_test_layout___arm_legacy_debug_state() { + const UNINIT: ::std::mem::MaybeUninit<__arm_legacy_debug_state> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__arm_legacy_debug_state>(), 256usize, @@ -1648,7 +1639,7 @@ fn bindgen_test_layout___arm_legacy_debug_state() { concat!("Alignment of ", stringify!(__arm_legacy_debug_state)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__arm_legacy_debug_state>())).__bvr as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__bvr) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1658,7 +1649,7 @@ fn bindgen_test_layout___arm_legacy_debug_state() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__arm_legacy_debug_state>())).__bcr as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__bcr) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", @@ -1668,7 +1659,7 @@ fn bindgen_test_layout___arm_legacy_debug_state() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__arm_legacy_debug_state>())).__wvr as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__wvr) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", @@ -1678,7 +1669,7 @@ fn bindgen_test_layout___arm_legacy_debug_state() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__arm_legacy_debug_state>())).__wcr as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__wcr) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", @@ -1699,6 +1690,9 @@ pub struct __darwin_arm_debug_state32 { } #[test] fn bindgen_test_layout___darwin_arm_debug_state32() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_debug_state32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_arm_debug_state32>(), 264usize, @@ -1710,9 +1704,7 @@ fn bindgen_test_layout___darwin_arm_debug_state32() { concat!("Alignment of ", stringify!(__darwin_arm_debug_state32)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_debug_state32>())).__bvr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__bvr) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1722,9 +1714,7 @@ fn bindgen_test_layout___darwin_arm_debug_state32() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_debug_state32>())).__bcr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__bcr) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", @@ -1734,9 +1724,7 @@ fn bindgen_test_layout___darwin_arm_debug_state32() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_debug_state32>())).__wvr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__wvr) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", @@ -1746,9 +1734,7 @@ fn bindgen_test_layout___darwin_arm_debug_state32() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_debug_state32>())).__wcr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__wcr) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", @@ -1758,9 +1744,7 @@ fn bindgen_test_layout___darwin_arm_debug_state32() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_debug_state32>())).__mdscr_el1 as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__mdscr_el1) as usize - ptr as usize }, 256usize, concat!( "Offset of field: ", @@ -1781,6 +1765,9 @@ pub struct __darwin_arm_debug_state64 { } #[test] fn bindgen_test_layout___darwin_arm_debug_state64() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_debug_state64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_arm_debug_state64>(), 520usize, @@ -1792,9 +1779,7 @@ fn bindgen_test_layout___darwin_arm_debug_state64() { concat!("Alignment of ", stringify!(__darwin_arm_debug_state64)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_debug_state64>())).__bvr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__bvr) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1804,9 +1789,7 @@ fn bindgen_test_layout___darwin_arm_debug_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_debug_state64>())).__bcr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__bcr) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", @@ -1816,9 +1799,7 @@ fn bindgen_test_layout___darwin_arm_debug_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_debug_state64>())).__wvr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__wvr) as usize - ptr as usize }, 256usize, concat!( "Offset of field: ", @@ -1828,9 +1809,7 @@ fn bindgen_test_layout___darwin_arm_debug_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_debug_state64>())).__wcr as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__wcr) as usize - ptr as usize }, 384usize, concat!( "Offset of field: ", @@ -1840,9 +1819,7 @@ fn bindgen_test_layout___darwin_arm_debug_state64() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_debug_state64>())).__mdscr_el1 as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__mdscr_el1) as usize - ptr as usize }, 512usize, concat!( "Offset of field: ", @@ -1859,6 +1836,9 @@ pub struct __darwin_arm_cpmu_state64 { } #[test] fn bindgen_test_layout___darwin_arm_cpmu_state64() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_cpmu_state64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_arm_cpmu_state64>(), 128usize, @@ -1870,9 +1850,7 @@ fn bindgen_test_layout___darwin_arm_cpmu_state64() { concat!("Alignment of ", stringify!(__darwin_arm_cpmu_state64)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::<__darwin_arm_cpmu_state64>())).__ctrs as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).__ctrs) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1891,6 +1869,8 @@ pub struct __darwin_mcontext32 { } #[test] fn bindgen_test_layout___darwin_mcontext32() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_mcontext32> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_mcontext32>(), 340usize, @@ -1902,7 +1882,7 @@ fn bindgen_test_layout___darwin_mcontext32() { concat!("Alignment of ", stringify!(__darwin_mcontext32)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_mcontext32>())).__es as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__es) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1912,7 +1892,7 @@ fn bindgen_test_layout___darwin_mcontext32() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_mcontext32>())).__ss as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__ss) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", @@ -1922,7 +1902,7 @@ fn bindgen_test_layout___darwin_mcontext32() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_mcontext32>())).__fs as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__fs) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", @@ -1942,6 +1922,8 @@ pub struct __darwin_mcontext64 { } #[test] fn bindgen_test_layout___darwin_mcontext64() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_mcontext64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_mcontext64>(), 816usize, @@ -1953,7 +1935,7 @@ fn bindgen_test_layout___darwin_mcontext64() { concat!("Alignment of ", stringify!(__darwin_mcontext64)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_mcontext64>())).__es as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__es) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -1963,7 +1945,7 @@ fn bindgen_test_layout___darwin_mcontext64() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_mcontext64>())).__ss as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__ss) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -1973,7 +1955,7 @@ fn bindgen_test_layout___darwin_mcontext64() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_mcontext64>())).__ns as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__ns) as usize - ptr as usize }, 288usize, concat!( "Offset of field: ", @@ -1994,6 +1976,8 @@ pub struct __darwin_sigaltstack { } #[test] fn bindgen_test_layout___darwin_sigaltstack() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_sigaltstack> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_sigaltstack>(), 24usize, @@ -2005,7 +1989,7 @@ fn bindgen_test_layout___darwin_sigaltstack() { concat!("Alignment of ", stringify!(__darwin_sigaltstack)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_sigaltstack>())).ss_sp as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2015,7 +1999,7 @@ fn bindgen_test_layout___darwin_sigaltstack() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_sigaltstack>())).ss_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ss_size) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -2025,7 +2009,7 @@ fn bindgen_test_layout___darwin_sigaltstack() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_sigaltstack>())).ss_flags as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ss_flags) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -2048,6 +2032,8 @@ pub struct __darwin_ucontext { } #[test] fn bindgen_test_layout___darwin_ucontext() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_ucontext> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__darwin_ucontext>(), 56usize, @@ -2059,7 +2045,7 @@ fn bindgen_test_layout___darwin_ucontext() { concat!("Alignment of ", stringify!(__darwin_ucontext)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_ucontext>())).uc_onstack as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).uc_onstack) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2069,7 +2055,7 @@ fn bindgen_test_layout___darwin_ucontext() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_ucontext>())).uc_sigmask as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", @@ -2079,7 +2065,7 @@ fn bindgen_test_layout___darwin_ucontext() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_ucontext>())).uc_stack as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).uc_stack) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -2089,7 +2075,7 @@ fn bindgen_test_layout___darwin_ucontext() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_ucontext>())).uc_link as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).uc_link) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -2099,7 +2085,7 @@ fn bindgen_test_layout___darwin_ucontext() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_ucontext>())).uc_mcsize as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).uc_mcsize) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", @@ -2109,7 +2095,7 @@ fn bindgen_test_layout___darwin_ucontext() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__darwin_ucontext>())).uc_mcontext as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).uc_mcontext) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", @@ -2130,6 +2116,8 @@ pub union sigval { } #[test] fn bindgen_test_layout_sigval() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 8usize, @@ -2141,7 +2129,7 @@ fn bindgen_test_layout_sigval() { concat!("Alignment of ", stringify!(sigval)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).sival_int as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sival_int) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2151,7 +2139,7 @@ fn bindgen_test_layout_sigval() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).sival_ptr as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sival_ptr) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2172,6 +2160,8 @@ pub struct sigevent { } #[test] fn bindgen_test_layout_sigevent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 32usize, @@ -2183,7 +2173,7 @@ fn bindgen_test_layout_sigevent() { concat!("Alignment of ", stringify!(sigevent)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).sigev_notify as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2193,7 +2183,7 @@ fn bindgen_test_layout_sigevent() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).sigev_signo as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sigev_signo) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", @@ -2203,7 +2193,7 @@ fn bindgen_test_layout_sigevent() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).sigev_value as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sigev_value) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -2213,7 +2203,7 @@ fn bindgen_test_layout_sigevent() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).sigev_notify_function as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify_function) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -2223,9 +2213,7 @@ fn bindgen_test_layout_sigevent() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).sigev_notify_attributes as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify_attributes) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -2251,6 +2239,8 @@ pub struct __siginfo { } #[test] fn bindgen_test_layout___siginfo() { + const UNINIT: ::std::mem::MaybeUninit<__siginfo> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__siginfo>(), 104usize, @@ -2262,7 +2252,7 @@ fn bindgen_test_layout___siginfo() { concat!("Alignment of ", stringify!(__siginfo)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__siginfo>())).si_signo as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_signo) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2272,7 +2262,7 @@ fn bindgen_test_layout___siginfo() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__siginfo>())).si_errno as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_errno) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", @@ -2282,7 +2272,7 @@ fn bindgen_test_layout___siginfo() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__siginfo>())).si_code as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_code) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -2292,7 +2282,7 @@ fn bindgen_test_layout___siginfo() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__siginfo>())).si_pid as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_pid) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", @@ -2302,7 +2292,7 @@ fn bindgen_test_layout___siginfo() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__siginfo>())).si_uid as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_uid) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -2312,7 +2302,7 @@ fn bindgen_test_layout___siginfo() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__siginfo>())).si_status as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_status) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", @@ -2322,7 +2312,7 @@ fn bindgen_test_layout___siginfo() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__siginfo>())).si_addr as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_addr) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -2332,7 +2322,7 @@ fn bindgen_test_layout___siginfo() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__siginfo>())).si_value as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_value) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -2342,7 +2332,7 @@ fn bindgen_test_layout___siginfo() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__siginfo>())).si_band as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_band) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", @@ -2352,7 +2342,7 @@ fn bindgen_test_layout___siginfo() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__siginfo>())).__pad as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__pad) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", @@ -2377,6 +2367,8 @@ pub union __sigaction_u { } #[test] fn bindgen_test_layout___sigaction_u() { + const UNINIT: ::std::mem::MaybeUninit<__sigaction_u> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__sigaction_u>(), 8usize, @@ -2388,7 +2380,7 @@ fn bindgen_test_layout___sigaction_u() { concat!("Alignment of ", stringify!(__sigaction_u)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__sigaction_u>())).__sa_handler as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__sa_handler) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2398,7 +2390,7 @@ fn bindgen_test_layout___sigaction_u() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__sigaction_u>())).__sa_sigaction as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__sa_sigaction) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2426,6 +2418,8 @@ pub struct __sigaction { } #[test] fn bindgen_test_layout___sigaction() { + const UNINIT: ::std::mem::MaybeUninit<__sigaction> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__sigaction>(), 24usize, @@ -2437,7 +2431,7 @@ fn bindgen_test_layout___sigaction() { concat!("Alignment of ", stringify!(__sigaction)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__sigaction>())).__sigaction_u as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__sigaction_u) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2447,7 +2441,7 @@ fn bindgen_test_layout___sigaction() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__sigaction>())).sa_tramp as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sa_tramp) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -2457,7 +2451,7 @@ fn bindgen_test_layout___sigaction() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__sigaction>())).sa_mask as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -2467,7 +2461,7 @@ fn bindgen_test_layout___sigaction() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<__sigaction>())).sa_flags as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", @@ -2486,6 +2480,8 @@ pub struct sigaction { } #[test] fn bindgen_test_layout_sigaction() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 16usize, @@ -2497,7 +2493,7 @@ fn bindgen_test_layout_sigaction() { concat!("Alignment of ", stringify!(sigaction)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).__sigaction_u as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__sigaction_u) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2507,7 +2503,7 @@ fn bindgen_test_layout_sigaction() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).sa_mask as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -2517,7 +2513,7 @@ fn bindgen_test_layout_sigaction() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).sa_flags as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", @@ -2537,6 +2533,8 @@ pub struct sigvec { } #[test] fn bindgen_test_layout_sigvec() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 16usize, @@ -2548,7 +2546,7 @@ fn bindgen_test_layout_sigvec() { concat!("Alignment of ", stringify!(sigvec)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).sv_handler as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sv_handler) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2558,7 +2556,7 @@ fn bindgen_test_layout_sigvec() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).sv_mask as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sv_mask) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -2568,7 +2566,7 @@ fn bindgen_test_layout_sigvec() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).sv_flags as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).sv_flags) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", @@ -2586,6 +2584,8 @@ pub struct sigstack { } #[test] fn bindgen_test_layout_sigstack() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 16usize, @@ -2597,7 +2597,7 @@ fn bindgen_test_layout_sigstack() { concat!("Alignment of ", stringify!(sigstack)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ss_sp as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2607,7 +2607,7 @@ fn bindgen_test_layout_sigstack() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ss_onstack as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ss_onstack) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -2654,6 +2654,8 @@ pub struct timeval { } #[test] fn bindgen_test_layout_timeval() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 16usize, @@ -2665,7 +2667,7 @@ fn bindgen_test_layout_timeval() { concat!("Alignment of ", stringify!(timeval)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).tv_sec as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2675,7 +2677,7 @@ fn bindgen_test_layout_timeval() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).tv_usec as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -2708,6 +2710,8 @@ pub struct rusage { } #[test] fn bindgen_test_layout_rusage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 144usize, @@ -2719,7 +2723,7 @@ fn bindgen_test_layout_rusage() { concat!("Alignment of ", stringify!(rusage)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_utime as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_utime) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2729,7 +2733,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_stime as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_stime) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -2739,7 +2743,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_maxrss as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_maxrss) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -2749,7 +2753,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_ixrss as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_ixrss) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", @@ -2759,7 +2763,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_idrss as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_idrss) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", @@ -2769,7 +2773,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_isrss as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_isrss) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", @@ -2779,7 +2783,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_minflt as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_minflt) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", @@ -2789,7 +2793,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_majflt as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_majflt) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", @@ -2799,7 +2803,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_nswap as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_nswap) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", @@ -2809,7 +2813,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_inblock as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_inblock) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", @@ -2819,7 +2823,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_oublock as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_oublock) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", @@ -2829,7 +2833,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_msgsnd as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_msgsnd) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", @@ -2839,7 +2843,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_msgrcv as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_msgrcv) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", @@ -2849,7 +2853,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_nsignals as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_nsignals) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", @@ -2859,7 +2863,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_nvcsw as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_nvcsw) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", @@ -2869,7 +2873,7 @@ fn bindgen_test_layout_rusage() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ru_nivcsw as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ru_nivcsw) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", @@ -2897,6 +2901,8 @@ pub struct rusage_info_v0 { } #[test] fn bindgen_test_layout_rusage_info_v0() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 96usize, @@ -2908,7 +2914,7 @@ fn bindgen_test_layout_rusage_info_v0() { concat!("Alignment of ", stringify!(rusage_info_v0)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_uuid as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -2918,7 +2924,7 @@ fn bindgen_test_layout_rusage_info_v0() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_user_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -2928,7 +2934,7 @@ fn bindgen_test_layout_rusage_info_v0() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_system_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -2938,9 +2944,7 @@ fn bindgen_test_layout_rusage_info_v0() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pkg_idle_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -2950,9 +2954,7 @@ fn bindgen_test_layout_rusage_info_v0() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_interrupt_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", @@ -2962,7 +2964,7 @@ fn bindgen_test_layout_rusage_info_v0() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_pageins as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", @@ -2972,7 +2974,7 @@ fn bindgen_test_layout_rusage_info_v0() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_wired_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", @@ -2982,7 +2984,7 @@ fn bindgen_test_layout_rusage_info_v0() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_resident_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", @@ -2992,9 +2994,7 @@ fn bindgen_test_layout_rusage_info_v0() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_phys_footprint as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", @@ -3004,9 +3004,7 @@ fn bindgen_test_layout_rusage_info_v0() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_start_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", @@ -3016,9 +3014,7 @@ fn bindgen_test_layout_rusage_info_v0() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_exit_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", @@ -3051,6 +3047,8 @@ pub struct rusage_info_v1 { } #[test] fn bindgen_test_layout_rusage_info_v1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 144usize, @@ -3062,7 +3060,7 @@ fn bindgen_test_layout_rusage_info_v1() { concat!("Alignment of ", stringify!(rusage_info_v1)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_uuid as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -3072,7 +3070,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_user_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -3082,7 +3080,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_system_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -3092,9 +3090,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pkg_idle_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -3104,9 +3100,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_interrupt_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", @@ -3116,7 +3110,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_pageins as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", @@ -3126,7 +3120,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_wired_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", @@ -3136,7 +3130,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_resident_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", @@ -3146,9 +3140,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_phys_footprint as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", @@ -3158,9 +3150,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_start_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", @@ -3170,9 +3160,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_exit_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", @@ -3182,9 +3170,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_user_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", @@ -3194,9 +3180,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_system_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", @@ -3206,9 +3190,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", @@ -3218,9 +3200,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_interrupt_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", @@ -3230,7 +3210,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_child_pageins as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", @@ -3240,9 +3220,7 @@ fn bindgen_test_layout_rusage_info_v1() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_elapsed_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", @@ -3277,6 +3255,8 @@ pub struct rusage_info_v2 { } #[test] fn bindgen_test_layout_rusage_info_v2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 160usize, @@ -3288,7 +3268,7 @@ fn bindgen_test_layout_rusage_info_v2() { concat!("Alignment of ", stringify!(rusage_info_v2)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_uuid as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -3298,7 +3278,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_user_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -3308,7 +3288,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_system_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -3318,9 +3298,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pkg_idle_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -3330,9 +3308,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_interrupt_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", @@ -3342,7 +3318,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_pageins as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", @@ -3352,7 +3328,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_wired_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", @@ -3362,7 +3338,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_resident_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", @@ -3372,9 +3348,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_phys_footprint as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", @@ -3384,9 +3358,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_start_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", @@ -3396,9 +3368,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_exit_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", @@ -3408,9 +3378,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_user_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", @@ -3420,9 +3388,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_system_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", @@ -3432,9 +3398,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", @@ -3444,9 +3408,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_interrupt_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", @@ -3456,7 +3418,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_child_pageins as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", @@ -3466,9 +3428,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_elapsed_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", @@ -3478,9 +3438,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_bytesread as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", @@ -3490,9 +3448,7 @@ fn bindgen_test_layout_rusage_info_v2() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_byteswritten as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", @@ -3536,6 +3492,8 @@ pub struct rusage_info_v3 { } #[test] fn bindgen_test_layout_rusage_info_v3() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 232usize, @@ -3547,7 +3505,7 @@ fn bindgen_test_layout_rusage_info_v3() { concat!("Alignment of ", stringify!(rusage_info_v3)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_uuid as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -3557,7 +3515,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_user_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -3567,7 +3525,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_system_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -3577,9 +3535,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pkg_idle_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -3589,9 +3545,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_interrupt_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", @@ -3601,7 +3555,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_pageins as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", @@ -3611,7 +3565,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_wired_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", @@ -3621,7 +3575,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_resident_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", @@ -3631,9 +3585,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_phys_footprint as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", @@ -3643,9 +3595,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_start_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", @@ -3655,9 +3605,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_exit_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", @@ -3667,9 +3615,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_user_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", @@ -3679,9 +3625,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_system_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", @@ -3691,9 +3635,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", @@ -3703,9 +3645,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_interrupt_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", @@ -3715,7 +3655,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_child_pageins as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", @@ -3725,9 +3665,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_elapsed_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", @@ -3737,9 +3675,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_bytesread as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", @@ -3749,9 +3685,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_byteswritten as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", @@ -3761,9 +3695,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_default as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", @@ -3773,10 +3705,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_maintenance as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", @@ -3786,10 +3715,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_background as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", @@ -3799,9 +3725,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_utility as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", @@ -3811,9 +3735,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_legacy as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", @@ -3824,8 +3746,7 @@ fn bindgen_test_layout_rusage_info_v3() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_user_initiated as *const _ - as usize + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize }, 200usize, concat!( @@ -3837,8 +3758,7 @@ fn bindgen_test_layout_rusage_info_v3() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_user_interactive as *const _ - as usize + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize }, 208usize, concat!( @@ -3849,9 +3769,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_billed_system_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize }, 216usize, concat!( "Offset of field: ", @@ -3861,9 +3779,7 @@ fn bindgen_test_layout_rusage_info_v3() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_serviced_system_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize }, 224usize, concat!( "Offset of field: ", @@ -3915,6 +3831,8 @@ pub struct rusage_info_v4 { } #[test] fn bindgen_test_layout_rusage_info_v4() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 296usize, @@ -3926,7 +3844,7 @@ fn bindgen_test_layout_rusage_info_v4() { concat!("Alignment of ", stringify!(rusage_info_v4)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_uuid as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -3936,7 +3854,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_user_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -3946,7 +3864,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_system_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -3956,9 +3874,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pkg_idle_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -3968,9 +3884,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_interrupt_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", @@ -3980,7 +3894,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_pageins as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", @@ -3990,7 +3904,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_wired_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", @@ -4000,7 +3914,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_resident_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", @@ -4010,9 +3924,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_phys_footprint as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", @@ -4022,9 +3934,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_start_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", @@ -4034,9 +3944,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_exit_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", @@ -4046,9 +3954,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_user_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", @@ -4058,9 +3964,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_system_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", @@ -4070,9 +3974,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", @@ -4082,9 +3984,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_interrupt_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", @@ -4094,7 +3994,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_child_pageins as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", @@ -4104,9 +4004,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_elapsed_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", @@ -4116,9 +4014,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_bytesread as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", @@ -4128,9 +4024,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_byteswritten as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", @@ -4140,9 +4034,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_default as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", @@ -4152,10 +4044,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_maintenance as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", @@ -4165,10 +4054,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_background as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", @@ -4178,9 +4064,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_utility as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", @@ -4190,9 +4074,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_legacy as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", @@ -4203,8 +4085,7 @@ fn bindgen_test_layout_rusage_info_v4() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_user_initiated as *const _ - as usize + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize }, 200usize, concat!( @@ -4216,8 +4097,7 @@ fn bindgen_test_layout_rusage_info_v4() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_user_interactive as *const _ - as usize + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize }, 208usize, concat!( @@ -4228,9 +4108,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_billed_system_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize }, 216usize, concat!( "Offset of field: ", @@ -4240,9 +4118,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_serviced_system_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize }, 224usize, concat!( "Offset of field: ", @@ -4252,9 +4128,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_logical_writes as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_logical_writes) as usize - ptr as usize }, 232usize, concat!( "Offset of field: ", @@ -4265,8 +4139,7 @@ fn bindgen_test_layout_rusage_info_v4() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ri_lifetime_max_phys_footprint as *const _ - as usize + ::std::ptr::addr_of!((*ptr).ri_lifetime_max_phys_footprint) as usize - ptr as usize }, 240usize, concat!( @@ -4277,7 +4150,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_instructions as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_instructions) as usize - ptr as usize }, 248usize, concat!( "Offset of field: ", @@ -4287,7 +4160,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_cycles as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cycles) as usize - ptr as usize }, 256usize, concat!( "Offset of field: ", @@ -4297,7 +4170,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_billed_energy as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_energy) as usize - ptr as usize }, 264usize, concat!( "Offset of field: ", @@ -4307,9 +4180,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_serviced_energy as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_energy) as usize - ptr as usize }, 272usize, concat!( "Offset of field: ", @@ -4320,8 +4191,7 @@ fn bindgen_test_layout_rusage_info_v4() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ri_interval_max_phys_footprint as *const _ - as usize + ::std::ptr::addr_of!((*ptr).ri_interval_max_phys_footprint) as usize - ptr as usize }, 280usize, concat!( @@ -4332,7 +4202,7 @@ fn bindgen_test_layout_rusage_info_v4() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_runnable_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_runnable_time) as usize - ptr as usize }, 288usize, concat!( "Offset of field: ", @@ -4385,6 +4255,8 @@ pub struct rusage_info_v5 { } #[test] fn bindgen_test_layout_rusage_info_v5() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 304usize, @@ -4396,7 +4268,7 @@ fn bindgen_test_layout_rusage_info_v5() { concat!("Alignment of ", stringify!(rusage_info_v5)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_uuid as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -4406,7 +4278,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_user_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -4416,7 +4288,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_system_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -4426,9 +4298,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pkg_idle_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -4438,9 +4308,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_interrupt_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", @@ -4450,7 +4318,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_pageins as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", @@ -4460,7 +4328,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_wired_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", @@ -4470,7 +4338,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_resident_size as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", @@ -4480,9 +4348,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_phys_footprint as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", @@ -4492,9 +4358,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_start_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", @@ -4504,9 +4368,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_exit_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", @@ -4516,9 +4378,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_user_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", @@ -4528,9 +4388,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_system_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", @@ -4540,9 +4398,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", @@ -4552,9 +4408,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_interrupt_wkups as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", @@ -4564,7 +4418,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_child_pageins as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", @@ -4574,9 +4428,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_elapsed_abstime as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", @@ -4586,9 +4438,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_bytesread as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", @@ -4598,9 +4448,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_byteswritten as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", @@ -4610,9 +4458,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_default as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", @@ -4622,10 +4468,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_maintenance as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", @@ -4635,10 +4478,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_background as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", @@ -4648,9 +4488,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_utility as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", @@ -4660,9 +4498,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_legacy as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", @@ -4673,8 +4509,7 @@ fn bindgen_test_layout_rusage_info_v5() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_user_initiated as *const _ - as usize + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize }, 200usize, concat!( @@ -4686,8 +4521,7 @@ fn bindgen_test_layout_rusage_info_v5() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_user_interactive as *const _ - as usize + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize }, 208usize, concat!( @@ -4698,9 +4532,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_billed_system_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize }, 216usize, concat!( "Offset of field: ", @@ -4710,9 +4542,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_serviced_system_time as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize }, 224usize, concat!( "Offset of field: ", @@ -4722,9 +4552,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_logical_writes as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_logical_writes) as usize - ptr as usize }, 232usize, concat!( "Offset of field: ", @@ -4735,8 +4563,7 @@ fn bindgen_test_layout_rusage_info_v5() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ri_lifetime_max_phys_footprint as *const _ - as usize + ::std::ptr::addr_of!((*ptr).ri_lifetime_max_phys_footprint) as usize - ptr as usize }, 240usize, concat!( @@ -4747,7 +4574,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_instructions as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_instructions) as usize - ptr as usize }, 248usize, concat!( "Offset of field: ", @@ -4757,7 +4584,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_cycles as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cycles) as usize - ptr as usize }, 256usize, concat!( "Offset of field: ", @@ -4767,7 +4594,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_billed_energy as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_energy) as usize - ptr as usize }, 264usize, concat!( "Offset of field: ", @@ -4777,9 +4604,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_serviced_energy as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_energy) as usize - ptr as usize }, 272usize, concat!( "Offset of field: ", @@ -4790,8 +4615,7 @@ fn bindgen_test_layout_rusage_info_v5() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ri_interval_max_phys_footprint as *const _ - as usize + ::std::ptr::addr_of!((*ptr).ri_interval_max_phys_footprint) as usize - ptr as usize }, 280usize, concat!( @@ -4802,7 +4626,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_runnable_time as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_runnable_time) as usize - ptr as usize }, 288usize, concat!( "Offset of field: ", @@ -4812,7 +4636,7 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ri_flags as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_flags) as usize - ptr as usize }, 296usize, concat!( "Offset of field: ", @@ -4822,949 +4646,1478 @@ fn bindgen_test_layout_rusage_info_v5() { ) ); } -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, +pub struct rusage_info_v6 { + 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, + pub ri_user_ptime: u64, + pub ri_system_ptime: u64, + pub ri_pinstructions: u64, + pub ri_pcycles: u64, + pub ri_energy_nj: u64, + pub ri_penergy_nj: u64, + pub ri_reserved: [u64; 14usize], } #[test] -fn bindgen_test_layout_rlimit() { +fn bindgen_test_layout_rusage_info_v6() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(rlimit)) + ::std::mem::size_of::(), + 464usize, + concat!("Size of: ", stringify!(rusage_info_v6)) ); assert_eq!( - ::std::mem::align_of::(), + ::std::mem::align_of::(), 8usize, - concat!("Alignment of ", stringify!(rlimit)) + concat!("Alignment of ", stringify!(rusage_info_v6)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).rlim_cur as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(rlimit), + stringify!(rusage_info_v6), "::", - stringify!(rlim_cur) + stringify!(ri_uuid) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).rlim_max as *const _ as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, + 16usize, concat!( "Offset of field: ", - stringify!(rlimit), + stringify!(rusage_info_v6), "::", - stringify!(rlim_max) + stringify!(ri_user_time) ) ); -} -#[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)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_system_time) + ) ); assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(proc_rlimit_control_wakeupmon)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_pkg_idle_wkups) + ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).wm_flags as *const _ as usize - }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, + 40usize, concat!( "Offset of field: ", - stringify!(proc_rlimit_control_wakeupmon), + stringify!(rusage_info_v6), "::", - stringify!(wm_flags) + stringify!(ri_interrupt_wkups) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).wm_rate as *const _ as usize - }, - 4usize, + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, + 48usize, concat!( "Offset of field: ", - stringify!(proc_rlimit_control_wakeupmon), + stringify!(rusage_info_v6), "::", - stringify!(wm_rate) + stringify!(ri_pageins) ) ); -} -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)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_wired_size) + ) ); assert_eq!( - ::std::mem::align_of::<_OSUnalignedU16>(), - 1usize, - concat!("Alignment of ", stringify!(_OSUnalignedU16)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_resident_size) + ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_OSUnalignedU16>())).__val as *const _ as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, + 72usize, concat!( "Offset of field: ", - stringify!(_OSUnalignedU16), + stringify!(rusage_info_v6), "::", - stringify!(__val) + stringify!(ri_phys_footprint) ) ); -} -#[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)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_proc_start_abstime) + ) ); assert_eq!( - ::std::mem::align_of::<_OSUnalignedU32>(), - 1usize, - concat!("Alignment of ", stringify!(_OSUnalignedU32)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_proc_exit_abstime) + ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_OSUnalignedU32>())).__val as *const _ as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize }, + 96usize, concat!( "Offset of field: ", - stringify!(_OSUnalignedU32), + stringify!(rusage_info_v6), "::", - stringify!(__val) + stringify!(ri_child_user_time) ) ); -} -#[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)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_child_system_time) + ) ); assert_eq!( - ::std::mem::align_of::<_OSUnalignedU64>(), - 1usize, - concat!("Alignment of ", stringify!(_OSUnalignedU64)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_child_pkg_idle_wkups) + ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<_OSUnalignedU64>())).__val as *const _ as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize }, + 120usize, concat!( "Offset of field: ", - stringify!(_OSUnalignedU64), + stringify!(rusage_info_v6), "::", - stringify!(__val) + stringify!(ri_child_interrupt_wkups) ) ); -} -#[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, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct wait__bindgen_ty_1 { - pub _bitfield_align_1: [u16; 0], - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, -} -#[test] -fn bindgen_test_layout_wait__bindgen_ty_1() { assert_eq!( - ::std::mem::size_of::(), - 4usize, - concat!("Size of: ", stringify!(wait__bindgen_ty_1)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_child_pageins) + ) ); assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(wait__bindgen_ty_1)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_child_elapsed_abstime) + ) ); -} -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]> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = 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_align_1: [u16; 0], - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, -} -#[test] -fn bindgen_test_layout_wait__bindgen_ty_2() { assert_eq!( - ::std::mem::size_of::(), - 4usize, - concat!("Size of: ", stringify!(wait__bindgen_ty_2)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_diskio_bytesread) + ) ); assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(wait__bindgen_ty_2)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_diskio_byteswritten) + ) ); -} -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]> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = 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)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_cpu_time_qos_default) + ) ); assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(wait)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_cpu_time_qos_maintenance) + ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).w_status as *const _ as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize }, + 176usize, concat!( "Offset of field: ", - stringify!(wait), + stringify!(rusage_info_v6), "::", - stringify!(w_status) + stringify!(ri_cpu_time_qos_background) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).w_T as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(wait), "::", stringify!(w_T)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_cpu_time_qos_utility) + ) ); 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() { + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_cpu_time_qos_legacy) + ) + ); assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(div_t)) + unsafe { + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize + }, + 200usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_cpu_time_qos_user_initiated) + ) ); assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(div_t)) + unsafe { + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize + }, + 208usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_cpu_time_qos_user_interactive) + ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).quot as *const _ as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize }, + 216usize, concat!( "Offset of field: ", - stringify!(div_t), + stringify!(rusage_info_v6), "::", - stringify!(quot) + stringify!(ri_billed_system_time) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).rem as *const _ as usize }, - 4usize, + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize }, + 224usize, concat!( "Offset of field: ", - stringify!(div_t), + stringify!(rusage_info_v6), "::", - stringify!(rem) + stringify!(ri_serviced_system_time) ) ); -} -#[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)) + unsafe { ::std::ptr::addr_of!((*ptr).ri_logical_writes) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_logical_writes) + ) ); assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(ldiv_t)) + unsafe { + ::std::ptr::addr_of!((*ptr).ri_lifetime_max_phys_footprint) as usize - ptr as usize + }, + 240usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_lifetime_max_phys_footprint) + ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).quot as *const _ as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).ri_instructions) as usize - ptr as usize }, + 248usize, concat!( "Offset of field: ", - stringify!(ldiv_t), + stringify!(rusage_info_v6), "::", - stringify!(quot) + stringify!(ri_instructions) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).rem as *const _ as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr).ri_cycles) as usize - ptr as usize }, + 256usize, concat!( "Offset of field: ", - stringify!(ldiv_t), + stringify!(rusage_info_v6), "::", - stringify!(rem) + stringify!(ri_cycles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_energy) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_billed_energy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_energy) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_serviced_energy) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ri_interval_max_phys_footprint) as usize - ptr as usize + }, + 280usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_interval_max_phys_footprint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_runnable_time) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_runnable_time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_flags) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_ptime) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_user_ptime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_ptime) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_system_ptime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pinstructions) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_pinstructions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pcycles) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_pcycles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_energy_nj) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_energy_nj) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_penergy_nj) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_penergy_nj) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_reserved) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(rusage_info_v6), + "::", + stringify!(ri_reserved) ) ); } +pub type rusage_info_current = rusage_info_v6; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct lldiv_t { - pub quot: ::std::os::raw::c_longlong, - pub rem: ::std::os::raw::c_longlong, +pub struct rlimit { + pub rlim_cur: rlim_t, + pub rlim_max: rlim_t, } #[test] -fn bindgen_test_layout_lldiv_t() { +fn bindgen_test_layout_rlimit() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), + ::std::mem::size_of::(), 16usize, - concat!("Size of: ", stringify!(lldiv_t)) + concat!("Size of: ", stringify!(rlimit)) ); assert_eq!( - ::std::mem::align_of::(), + ::std::mem::align_of::(), 8usize, - concat!("Alignment of ", stringify!(lldiv_t)) + concat!("Alignment of ", stringify!(rlimit)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).quot as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).rlim_cur) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(lldiv_t), + stringify!(rlimit), "::", - stringify!(quot) + stringify!(rlim_cur) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).rem as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).rlim_max) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", - stringify!(lldiv_t), + stringify!(rlimit), "::", - stringify!(rem) + stringify!(rlim_max) ) ); } -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); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct proc_rlimit_control_wakeupmon { + pub wm_flags: u32, + pub wm_rate: i32, } -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: usize) -> *mut ::std::os::raw::c_void; +#[test] +fn bindgen_test_layout_proc_rlimit_control_wakeupmon() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + 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::addr_of!((*ptr).wm_flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(proc_rlimit_control_wakeupmon), + "::", + stringify!(wm_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wm_rate) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(proc_rlimit_control_wakeupmon), + "::", + stringify!(wm_rate) + ) + ); } extern "C" { - pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void; + pub fn getpriority(arg1: ::std::os::raw::c_int, arg2: id_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn posix_memalign( - __memptr: *mut *mut ::std::os::raw::c_void, - __alignment: usize, - __size: usize, + 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 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: usize, - __width: usize, - __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; + pub fn getrlimit(arg1: ::std::os::raw::c_int, arg2: *mut rlimit) -> ::std::os::raw::c_int; } extern "C" { - pub fn llabs(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; + pub fn getrusage(arg1: ::std::os::raw::c_int, arg2: *mut rusage) -> ::std::os::raw::c_int; } extern "C" { - pub fn lldiv(arg1: ::std::os::raw::c_longlong, arg2: ::std::os::raw::c_longlong) -> lldiv_t; + 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 mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int; + 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 mbstowcs(arg1: *mut wchar_t, arg2: *const ::std::os::raw::c_char, arg3: usize) -> usize; + pub fn setrlimit(arg1: ::std::os::raw::c_int, arg2: *const rlimit) -> ::std::os::raw::c_int; } -extern "C" { - pub fn mbtowc( - arg1: *mut wchar_t, - arg2: *const ::std::os::raw::c_char, - arg3: usize, - ) -> ::std::os::raw::c_int; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _OSUnalignedU16 { + pub __val: u16, } -extern "C" { - pub fn qsort( - __base: *mut ::std::os::raw::c_void, - __nel: usize, - __width: usize, - __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, - >, +#[test] +fn bindgen_test_layout__OSUnalignedU16() { + const UNINIT: ::std::mem::MaybeUninit<_OSUnalignedU16> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + 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::addr_of!((*ptr).__val) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSUnalignedU16), + "::", + stringify!(__val) + ) ); } -extern "C" { - pub fn rand() -> ::std::os::raw::c_int; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _OSUnalignedU32 { + pub __val: u32, } -extern "C" { - pub fn srand(arg1: ::std::os::raw::c_uint); +#[test] +fn bindgen_test_layout__OSUnalignedU32() { + const UNINIT: ::std::mem::MaybeUninit<_OSUnalignedU32> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + 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::addr_of!((*ptr).__val) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSUnalignedU32), + "::", + stringify!(__val) + ) + ); } -extern "C" { - pub fn strtod( - arg1: *const ::std::os::raw::c_char, - arg2: *mut *mut ::std::os::raw::c_char, - ) -> f64; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _OSUnalignedU64 { + pub __val: u64, } -extern "C" { - pub fn strtof( - arg1: *const ::std::os::raw::c_char, - arg2: *mut *mut ::std::os::raw::c_char, - ) -> f32; +#[test] +fn bindgen_test_layout__OSUnalignedU64() { + const UNINIT: ::std::mem::MaybeUninit<_OSUnalignedU64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + 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::addr_of!((*ptr).__val) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSUnalignedU64), + "::", + stringify!(__val) + ) + ); } -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; +#[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, } -extern "C" { - pub fn strtold( - arg1: *const ::std::os::raw::c_char, - arg2: *mut *mut ::std::os::raw::c_char, - ) -> f64; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct wait__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, } -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; +#[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)) + ); } -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; +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]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = 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 + } } -extern "C" { - pub fn wcstombs(arg1: *mut ::std::os::raw::c_char, arg2: *const wchar_t, arg3: usize) -> usize; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct wait__bindgen_ty_2 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, } -extern "C" { - pub fn wctomb(arg1: *mut ::std::os::raw::c_char, arg2: wchar_t) -> ::std::os::raw::c_int; +#[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)) + ); } -extern "C" { - pub fn _Exit(arg1: ::std::os::raw::c_int); +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]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = 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 + } } -extern "C" { - pub fn a64l(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; +#[test] +fn bindgen_test_layout_wait() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + 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::addr_of!((*ptr).w_status) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(wait), + "::", + stringify!(w_status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).w_T) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(wait), "::", stringify!(w_T)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).w_S) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(wait), "::", stringify!(w_S)) + ); } extern "C" { - pub fn drand48() -> f64; + pub fn wait(arg1: *mut ::std::os::raw::c_int) -> pid_t; } 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; + 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 erand48(arg1: *mut ::std::os::raw::c_ushort) -> f64; + 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 fcvt( - arg1: f64, + pub fn wait3( + arg1: *mut ::std::os::raw::c_int, 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; + arg3: *mut rusage, + ) -> pid_t; } 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; + 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 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; + pub fn alloca(arg1: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; } -extern "C" { - pub fn grantpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +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, } -extern "C" { - pub fn initstate( - arg1: ::std::os::raw::c_uint, - arg2: *mut ::std::os::raw::c_char, - arg3: usize, - ) -> *mut ::std::os::raw::c_char; +#[test] +fn bindgen_test_layout_div_t() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + 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::addr_of!((*ptr).quot) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(div_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(div_t), + "::", + stringify!(rem) + ) + ); } -extern "C" { - pub fn jrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ldiv_t { + pub quot: ::std::os::raw::c_long, + pub rem: ::std::os::raw::c_long, } -extern "C" { - pub fn l64a(arg1: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char; +#[test] +fn bindgen_test_layout_ldiv_t() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + 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::addr_of!((*ptr).quot) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ldiv_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ldiv_t), + "::", + stringify!(rem) + ) + ); } -extern "C" { - pub fn lcong48(arg1: *mut ::std::os::raw::c_ushort); +#[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() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + 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::addr_of!((*ptr).quot) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(lldiv_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(lldiv_t), + "::", + stringify!(rem) + ) + ); } extern "C" { - pub fn lrand48() -> ::std::os::raw::c_long; + pub static mut __mb_cur_max: ::std::os::raw::c_int; } extern "C" { - pub fn mktemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn mkstemp(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; + 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 mrand48() -> ::std::os::raw::c_long; + pub fn free(arg1: *mut ::std::os::raw::c_void); } extern "C" { - pub fn nrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; + 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 posix_openpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + pub fn valloc(arg1: usize) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn ptsname(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; + pub fn aligned_alloc( + __alignment: ::std::os::raw::c_ulong, + __size: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn ptsname_r( - fildes: ::std::os::raw::c_int, - buffer: *mut ::std::os::raw::c_char, - buflen: usize, + pub fn posix_memalign( + __memptr: *mut *mut ::std::os::raw::c_void, + __alignment: usize, + __size: usize, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn putenv(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn abort() -> !; } extern "C" { - pub fn random() -> ::std::os::raw::c_long; + pub fn abs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn rand_r(arg1: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int; + pub fn atexit(arg1: ::std::option::Option) -> ::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; + pub fn atof(arg1: *const ::std::os::raw::c_char) -> f64; } extern "C" { - pub fn seed48(arg1: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort; + pub fn atoi(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } 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; + pub fn atol(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; } extern "C" { - pub fn setkey(arg1: *const ::std::os::raw::c_char); + pub fn atoll(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn setstate(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn bsearch( + __key: *const ::std::os::raw::c_void, + __base: *const ::std::os::raw::c_void, + __nel: usize, + __width: usize, + __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 srand48(arg1: ::std::os::raw::c_long); + pub fn div(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> div_t; } extern "C" { - pub fn srandom(arg1: ::std::os::raw::c_uint); + pub fn exit(arg1: ::std::os::raw::c_int) -> !; } extern "C" { - pub fn unlockpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + pub fn getenv(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn unsetenv(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn labs(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_long; } -pub type dev_t = __darwin_dev_t; -pub type mode_t = __darwin_mode_t; extern "C" { - pub fn arc4random() -> u32; + pub fn ldiv(arg1: ::std::os::raw::c_long, arg2: ::std::os::raw::c_long) -> ldiv_t; } extern "C" { - pub fn arc4random_addrandom(arg1: *mut ::std::os::raw::c_uchar, arg2: ::std::os::raw::c_int); + pub fn llabs(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __nbytes: usize); + pub fn lldiv(arg1: ::std::os::raw::c_longlong, arg2: ::std::os::raw::c_longlong) -> lldiv_t; } extern "C" { - pub fn arc4random_stir(); + pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int; } extern "C" { - pub fn arc4random_uniform(__upper_bound: u32) -> u32; + pub fn mbstowcs(arg1: *mut wchar_t, arg2: *const ::std::os::raw::c_char, arg3: usize) -> usize; } extern "C" { - pub fn atexit_b(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int; + pub fn mbtowc( + arg1: *mut wchar_t, + arg2: *const ::std::os::raw::c_char, + arg3: usize, + ) -> ::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, + pub fn qsort( + __base: *mut ::std::os::raw::c_void, __nel: usize, __width: usize, - __compar: *mut ::std::os::raw::c_void, - ) -> *mut ::std::os::raw::c_void; + __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 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; + pub fn rand() -> ::std::os::raw::c_int; } extern "C" { - pub fn cgetclose() -> ::std::os::raw::c_int; + pub fn srand(arg1: ::std::os::raw::c_uint); } extern "C" { - pub fn cgetent( - arg1: *mut *mut ::std::os::raw::c_char, + pub fn strtod( + arg1: *const ::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; + ) -> f64; } extern "C" { - pub fn cgetfirst( - arg1: *mut *mut ::std::os::raw::c_char, + pub fn strtof( + arg1: *const ::std::os::raw::c_char, arg2: *mut *mut ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + ) -> f32; } extern "C" { - pub fn cgetmatch( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + 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 cgetnext( - arg1: *mut *mut ::std::os::raw::c_char, + pub fn strtold( + arg1: *const ::std::os::raw::c_char, arg2: *mut *mut ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + ) -> f64; } 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; + 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: usize) -> usize; +} +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: usize, + ) -> *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: usize, + ) -> ::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: usize); +} +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: usize, + __width: usize, + __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; @@ -6314,6 +6667,7 @@ extern "C" { pub fn flsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int; } #[repr(u32)] +#[doc = " Copied from TensorProto::DataType\n Currently, Ort doesn't support complex64, complex128"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum ONNXTensorElementDataType { ONNX_TENSOR_ELEMENT_DATA_TYPE_UNDEFINED = 0, @@ -6343,14 +6697,37 @@ pub enum ONNXType { ONNX_TYPE_MAP = 3, ONNX_TYPE_OPAQUE = 4, ONNX_TYPE_SPARSETENSOR = 5, + ONNX_TYPE_OPTIONAL = 6, +} +#[repr(u32)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum OrtSparseFormat { + ORT_SPARSE_UNDEFINED = 0, + ORT_SPARSE_COO = 1, + ORT_SPARSE_CSRC = 2, + ORT_SPARSE_BLOCK_SPARSE = 4, +} +#[repr(u32)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum OrtSparseIndicesFormat { + ORT_SPARSE_COO_INDICES = 0, + ORT_SPARSE_CSR_INNER_INDICES = 1, + ORT_SPARSE_CSR_OUTER_INDICES = 2, + ORT_SPARSE_BLOCK_SPARSE_INDICES = 3, } #[repr(u32)] +#[doc = " \\brief Logging severity levels\n\n In typical API usage, specifying a logging severity level specifies the minimum severity of log messages to show."] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum OrtLoggingLevel { + #[doc = "< Verbose informational messages (least severe)."] ORT_LOGGING_LEVEL_VERBOSE = 0, + #[doc = "< Informational messages."] ORT_LOGGING_LEVEL_INFO = 1, + #[doc = "< Warning messages."] ORT_LOGGING_LEVEL_WARNING = 2, + #[doc = "< Error messages."] ORT_LOGGING_LEVEL_ERROR = 3, + #[doc = "< Fatal error messages (most severe)."] ORT_LOGGING_LEVEL_FATAL = 4, } #[repr(u32)] @@ -6369,6 +6746,17 @@ pub enum OrtErrorCode { ORT_INVALID_GRAPH = 10, ORT_EP_FAIL = 11, } +#[repr(u32)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum OrtOpAttrType { + ORT_OP_ATTR_UNDEFINED = 0, + ORT_OP_ATTR_INT = 1, + ORT_OP_ATTR_INTS = 2, + ORT_OP_ATTR_FLOAT = 3, + ORT_OP_ATTR_FLOATS = 4, + ORT_OP_ATTR_STRING = 5, + ORT_OP_ATTR_STRINGS = 6, +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct OrtEnv { @@ -6459,23 +6847,55 @@ pub struct OrtArenaCfg { pub struct OrtPrepackedWeightsContainer { _unused: [u8; 0], } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtTensorRTProviderOptionsV2 { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtCUDAProviderOptionsV2 { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtCANNProviderOptions { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtOp { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtOpAttr { + _unused: [u8; 0], +} pub type OrtStatusPtr = *mut OrtStatus; +#[doc = " \\brief Memory allocation interface\n\n Structure of function pointers that defines a memory allocator. This can be created and filled in by the user for custom allocators.\n\n When an allocator is passed to any function, be sure that the allocator object is not destroyed until the last allocated object using it is freed."] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct OrtAllocator { + #[doc = "< Must be initialized to ORT_API_VERSION"] pub version: u32, + #[doc = "< Returns a pointer to an allocated block of `size` bytes"] pub Alloc: ::std::option::Option< unsafe extern "C" fn(this_: *mut OrtAllocator, size: usize) -> *mut ::std::os::raw::c_void, >, + #[doc = "< Free a block of memory previously allocated with OrtAllocator::Alloc"] pub Free: ::std::option::Option< unsafe extern "C" fn(this_: *mut OrtAllocator, p: *mut ::std::os::raw::c_void), >, + #[doc = "< Return a pointer to an ::OrtMemoryInfo that describes this allocator"] pub Info: ::std::option::Option< unsafe extern "C" fn(this_: *const OrtAllocator) -> *const OrtMemoryInfo, >, } #[test] fn bindgen_test_layout_OrtAllocator() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 32usize, @@ -6487,7 +6907,7 @@ fn bindgen_test_layout_OrtAllocator() { concat!("Alignment of ", stringify!(OrtAllocator)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).version as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -6497,7 +6917,7 @@ fn bindgen_test_layout_OrtAllocator() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).Alloc as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).Alloc) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -6507,7 +6927,7 @@ fn bindgen_test_layout_OrtAllocator() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).Free as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).Free) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -6517,7 +6937,7 @@ fn bindgen_test_layout_OrtAllocator() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).Info as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).Info) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -6538,6 +6958,7 @@ pub type OrtLoggingFunction = ::std::option::Option< ), >; #[repr(u32)] +#[doc = " \\brief Graph optimization level\n\n Refer to https://www.onnxruntime.ai/docs/resources/graph-optimizations.html\n for an in-depth understanding of Graph Optimizations"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum GraphOptimizationLevel { ORT_DISABLE_ALL = 0, @@ -6552,6 +6973,7 @@ pub enum ExecutionMode { ORT_PARALLEL = 1, } #[repr(u32)] +#[doc = " \\brief Language projection identifiers\n /see OrtApi::SetLanguageProjection"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum OrtLanguageProjection { ORT_PROJECTION_C = 0, @@ -6575,7 +6997,7 @@ pub struct OrtKernelContext { #[repr(i32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum OrtAllocatorType { - Invalid = -1, + OrtInvalidAllocator = -1, OrtDeviceAllocator = 0, OrtArenaAllocator = 1, } @@ -6583,38 +7005,50 @@ 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"] +#[doc = " \\brief Memory types for allocated memory, execution provider specific types should be extended in each provider."] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum OrtMemType { + #[doc = "< Any CPU memory used by non-CPU execution provider"] OrtMemTypeCPUInput = -2, + #[doc = "< CPU accessible memory outputted by non-CPU execution provider, i.e. CUDA_PINNED"] OrtMemTypeCPUOutput = -1, + #[doc = "< The default allocator for execution provider"] OrtMemTypeDefault = 0, } #[repr(u32)] +#[doc = " \\brief Algorithm to use for cuDNN Convolution Op"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum OrtCudnnConvAlgoSearch { - EXHAUSTIVE = 0, - HEURISTIC = 1, - DEFAULT = 2, + OrtCudnnConvAlgoSearchExhaustive = 0, + OrtCudnnConvAlgoSearchHeuristic = 1, + OrtCudnnConvAlgoSearchDefault = 2, } -#[doc = " "] -#[doc = " Options for the CUDA provider that are passed to SessionOptionsAppendExecutionProvider_CUDA"] -#[doc = " "] +#[doc = " \\brief CUDA Provider Options\n\n \\see OrtApi::SessionOptionsAppendExecutionProvider_CUDA"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct OrtCUDAProviderOptions { + #[doc = " \\brief CUDA device Id\n Defaults to 0."] pub device_id: ::std::os::raw::c_int, + #[doc = " \\brief CUDA Convolution algorithm search configuration.\n See enum OrtCudnnConvAlgoSearch for more details.\n Defaults to OrtCudnnConvAlgoSearchExhaustive."] pub cudnn_conv_algo_search: OrtCudnnConvAlgoSearch, + #[doc = " \\brief CUDA memory limit (To use all possible memory pass in maximum size_t)\n Defaults to SIZE_MAX.\n \\note If a ::OrtArenaCfg has been applied, it will override this field"] pub gpu_mem_limit: usize, + #[doc = " \\brief Strategy used to grow the memory arena\n 0 = kNextPowerOfTwo
\n 1 = kSameAsRequested
\n Defaults to 0.\n \\note If a ::OrtArenaCfg has been applied, it will override this field"] pub arena_extend_strategy: ::std::os::raw::c_int, + #[doc = " \\brief Flag indicating if copying needs to take place on the same stream as the compute stream in the CUDA EP\n 0 = Use separate streams for copying and compute.\n 1 = Use the same stream for copying and compute.\n Defaults to 1.\n WARNING: Setting this to 0 may result in data races for some models.\n Please see issue #4829 for more details."] pub do_copy_in_default_stream: ::std::os::raw::c_int, + #[doc = " \\brief Flag indicating if there is a user provided compute stream\n Defaults to 0."] pub has_user_compute_stream: ::std::os::raw::c_int, + #[doc = " \\brief User provided compute stream.\n If provided, please set `has_user_compute_stream` to 1."] pub user_compute_stream: *mut ::std::os::raw::c_void, + #[doc = " \\brief CUDA memory arena configuration parameters"] pub default_memory_arena_cfg: *mut OrtArenaCfg, } #[test] fn bindgen_test_layout_OrtCUDAProviderOptions() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 48usize, @@ -6626,9 +7060,7 @@ fn bindgen_test_layout_OrtCUDAProviderOptions() { concat!("Alignment of ", stringify!(OrtCUDAProviderOptions)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).device_id as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).device_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -6638,10 +7070,7 @@ fn bindgen_test_layout_OrtCUDAProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).cudnn_conv_algo_search as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).cudnn_conv_algo_search) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", @@ -6651,9 +7080,7 @@ fn bindgen_test_layout_OrtCUDAProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).gpu_mem_limit as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).gpu_mem_limit) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -6663,10 +7090,7 @@ fn bindgen_test_layout_OrtCUDAProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).arena_extend_strategy as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).arena_extend_strategy) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -6676,10 +7100,7 @@ fn bindgen_test_layout_OrtCUDAProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).do_copy_in_default_stream as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).do_copy_in_default_stream) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", @@ -6689,10 +7110,7 @@ fn bindgen_test_layout_OrtCUDAProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).has_user_compute_stream as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).has_user_compute_stream) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -6702,10 +7120,7 @@ fn bindgen_test_layout_OrtCUDAProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).user_compute_stream as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).user_compute_stream) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -6715,10 +7130,7 @@ fn bindgen_test_layout_OrtCUDAProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).default_memory_arena_cfg as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).default_memory_arena_cfg) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", @@ -6728,22 +7140,35 @@ fn bindgen_test_layout_OrtCUDAProviderOptions() { ) ); } -#[doc = " "] -#[doc = " Options for the ROCM provider that are passed to SessionOptionsAppendExecutionProvider_ROCM"] -#[doc = " "] +#[doc = " \\brief ROCM Provider Options\n\n \\see OrtApi::SessionOptionsAppendExecutionProvider_ROCM"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct OrtROCMProviderOptions { + #[doc = " \\brief ROCM device Id\n Defaults to 0."] pub device_id: ::std::os::raw::c_int, + #[doc = " \\brief ROCM MIOpen Convolution algorithm exaustive search option.\n Defaults to 0 (false)."] pub miopen_conv_exhaustive_search: ::std::os::raw::c_int, + #[doc = " \\brief ROCM memory limit (To use all possible memory pass in maximum size_t)\n Defaults to SIZE_MAX.\n \\note If a ::OrtArenaCfg has been applied, it will override this field"] pub gpu_mem_limit: usize, + #[doc = " \\brief Strategy used to grow the memory arena\n 0 = kNextPowerOfTwo
\n 1 = kSameAsRequested
\n Defaults to 0.\n \\note If a ::OrtArenaCfg has been applied, it will override this field"] pub arena_extend_strategy: ::std::os::raw::c_int, + #[doc = " \\brief Flag indicating if copying needs to take place on the same stream as the compute stream in the ROCM EP\n 0 = Use separate streams for copying and compute.\n 1 = Use the same stream for copying and compute.\n Defaults to 1.\n WARNING: Setting this to 0 may result in data races for some models.\n Please see issue #4829 for more details."] + pub do_copy_in_default_stream: ::std::os::raw::c_int, + #[doc = " \\brief Flag indicating if there is a user provided compute stream\n Defaults to 0."] + pub has_user_compute_stream: ::std::os::raw::c_int, + #[doc = " \\brief User provided compute stream.\n If provided, please set `has_user_compute_stream` to 1."] + pub user_compute_stream: *mut ::std::os::raw::c_void, + #[doc = " \\brief ROCM memory arena configuration parameters"] + pub default_memory_arena_cfg: *mut OrtArenaCfg, } #[test] fn bindgen_test_layout_OrtROCMProviderOptions() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 24usize, + 48usize, concat!("Size of: ", stringify!(OrtROCMProviderOptions)) ); assert_eq!( @@ -6752,9 +7177,7 @@ fn bindgen_test_layout_OrtROCMProviderOptions() { concat!("Alignment of ", stringify!(OrtROCMProviderOptions)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).device_id as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).device_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -6765,8 +7188,7 @@ fn bindgen_test_layout_OrtROCMProviderOptions() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).miopen_conv_exhaustive_search - as *const _ as usize + ::std::ptr::addr_of!((*ptr).miopen_conv_exhaustive_search) as usize - ptr as usize }, 4usize, concat!( @@ -6777,9 +7199,7 @@ fn bindgen_test_layout_OrtROCMProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).gpu_mem_limit as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).gpu_mem_limit) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -6789,10 +7209,7 @@ fn bindgen_test_layout_OrtROCMProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).arena_extend_strategy as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).arena_extend_strategy) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -6801,13 +7218,52 @@ fn bindgen_test_layout_OrtROCMProviderOptions() { stringify!(arena_extend_strategy) ) ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).do_copy_in_default_stream) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(OrtROCMProviderOptions), + "::", + stringify!(do_copy_in_default_stream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).has_user_compute_stream) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OrtROCMProviderOptions), + "::", + stringify!(has_user_compute_stream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).user_compute_stream) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OrtROCMProviderOptions), + "::", + stringify!(user_compute_stream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).default_memory_arena_cfg) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OrtROCMProviderOptions), + "::", + stringify!(default_memory_arena_cfg) + ) + ); } -#[doc = " "] -#[doc = " Options for the TensorRT provider that are passed to SessionOptionsAppendExecutionProvider_TensorRT"] -#[doc = " "] +#[doc = " \\brief TensorRT Provider Options\n\n \\see OrtApi::SessionOptionsAppendExecutionProvider_TensorRT"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct OrtTensorRTProviderOptions { + #[doc = "< CUDA device id (0 = default device)"] 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, @@ -6829,6 +7285,9 @@ pub struct OrtTensorRTProviderOptions { } #[test] fn bindgen_test_layout_OrtTensorRTProviderOptions() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 104usize, @@ -6840,9 +7299,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { concat!("Alignment of ", stringify!(OrtTensorRTProviderOptions)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).device_id as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).device_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -6852,10 +7309,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).has_user_compute_stream - as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).has_user_compute_stream) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", @@ -6865,10 +7319,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).user_compute_stream as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).user_compute_stream) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -6879,8 +7330,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).trt_max_partition_iterations - as *const _ as usize + ::std::ptr::addr_of!((*ptr).trt_max_partition_iterations) as usize - ptr as usize }, 16usize, concat!( @@ -6891,10 +7341,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).trt_min_subgraph_size as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).trt_min_subgraph_size) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", @@ -6904,10 +7351,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).trt_max_workspace_size - as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).trt_max_workspace_size) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -6917,10 +7361,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).trt_fp16_enable as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).trt_fp16_enable) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -6930,10 +7371,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).trt_int8_enable as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).trt_int8_enable) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", @@ -6944,8 +7382,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).trt_int8_calibration_table_name - as *const _ as usize + ::std::ptr::addr_of!((*ptr).trt_int8_calibration_table_name) as usize - ptr as usize }, 40usize, concat!( @@ -6957,8 +7394,8 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())) - .trt_int8_use_native_calibration_table as *const _ as usize + ::std::ptr::addr_of!((*ptr).trt_int8_use_native_calibration_table) as usize + - ptr as usize }, 48usize, concat!( @@ -6969,10 +7406,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).trt_dla_enable as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).trt_dla_enable) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", @@ -6982,9 +7416,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).trt_dla_core as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).trt_dla_core) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", @@ -6994,10 +7426,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).trt_dump_subgraphs as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).trt_dump_subgraphs) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", @@ -7007,10 +7436,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).trt_engine_cache_enable - as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).trt_engine_cache_enable) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", @@ -7020,10 +7446,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).trt_engine_cache_path as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).trt_engine_cache_path) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", @@ -7034,8 +7457,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).trt_engine_decryption_enable - as *const _ as usize + ::std::ptr::addr_of!((*ptr).trt_engine_decryption_enable) as usize - ptr as usize }, 80usize, concat!( @@ -7047,8 +7469,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).trt_engine_decryption_lib_path - as *const _ as usize + ::std::ptr::addr_of!((*ptr).trt_engine_decryption_lib_path) as usize - ptr as usize }, 88usize, concat!( @@ -7060,8 +7481,7 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).trt_force_sequential_engine_build - as *const _ as usize + ::std::ptr::addr_of!((*ptr).trt_force_sequential_engine_build) as usize - ptr as usize }, 96usize, concat!( @@ -7072,24 +7492,88 @@ fn bindgen_test_layout_OrtTensorRTProviderOptions() { ) ); } -#[doc = " "] -#[doc = " Options for the OpenVINO provider that are passed to SessionOptionsAppendExecutionProvider_OpenVINO"] -#[doc = " "] +#[doc = " \\brief MIGraphX Provider Options\n\n \\see OrtApi::SessionOptionsAppendExecutionProvider_MIGraphX"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtMIGraphXProviderOptions { + pub device_id: ::std::os::raw::c_int, + pub migraphx_fp16_enable: ::std::os::raw::c_int, + pub migraphx_int8_enable: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_OrtMIGraphXProviderOptions() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(OrtMIGraphXProviderOptions)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(OrtMIGraphXProviderOptions)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).device_id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OrtMIGraphXProviderOptions), + "::", + stringify!(device_id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).migraphx_fp16_enable) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(OrtMIGraphXProviderOptions), + "::", + stringify!(migraphx_fp16_enable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).migraphx_int8_enable) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OrtMIGraphXProviderOptions), + "::", + stringify!(migraphx_int8_enable) + ) + ); +} +#[doc = " \\brief OpenVINO Provider Options\n\n \\see OrtApi::SessionOptionsAppendExecutionProvider_OpenVINO"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct OrtOpenVINOProviderOptions { + #[doc = " \\brief Device type string\n\n Valid settings are one of: \"CPU_FP32\", \"CPU_FP16\", \"GPU_FP32\", \"GPU_FP16\", \"MYRIAD_FP16\", \"VAD-M_FP16\" or \"VAD-F_FP32\""] pub device_type: *const ::std::os::raw::c_char, + #[doc = "< 0 = disabled, nonzero = enabled"] pub enable_vpu_fast_compile: ::std::os::raw::c_uchar, pub device_id: *const ::std::os::raw::c_char, + #[doc = "< 0 = Use default number of threads"] pub num_of_threads: usize, + #[doc = "< 0 = disabled, nonzero = enabled"] pub use_compiled_network: ::std::os::raw::c_uchar, pub blob_dump_path: *const ::std::os::raw::c_char, + pub context: *mut ::std::os::raw::c_void, + #[doc = "< 0 = disabled, nonzero = enabled"] + pub enable_opencl_throttling: ::std::os::raw::c_uchar, + #[doc = "< 0 = disabled, nonzero = enabled"] + pub enable_dynamic_shapes: ::std::os::raw::c_uchar, } #[test] fn bindgen_test_layout_OrtOpenVINOProviderOptions() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 48usize, + 64usize, concat!("Size of: ", stringify!(OrtOpenVINOProviderOptions)) ); assert_eq!( @@ -7098,9 +7582,7 @@ fn bindgen_test_layout_OrtOpenVINOProviderOptions() { concat!("Alignment of ", stringify!(OrtOpenVINOProviderOptions)) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).device_type as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).device_type) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -7110,10 +7592,7 @@ fn bindgen_test_layout_OrtOpenVINOProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).enable_vpu_fast_compile - as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).enable_vpu_fast_compile) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -7123,9 +7602,7 @@ fn bindgen_test_layout_OrtOpenVINOProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).device_id as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).device_id) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -7135,10 +7612,7 @@ fn bindgen_test_layout_OrtOpenVINOProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).num_of_threads as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).num_of_threads) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -7148,10 +7622,7 @@ fn bindgen_test_layout_OrtOpenVINOProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).use_compiled_network as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).use_compiled_network) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -7161,10 +7632,7 @@ fn bindgen_test_layout_OrtOpenVINOProviderOptions() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).blob_dump_path as *const _ - as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).blob_dump_path) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", @@ -7173,16 +7641,56 @@ fn bindgen_test_layout_OrtOpenVINOProviderOptions() { stringify!(blob_dump_path) ) ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OrtOpenVINOProviderOptions), + "::", + stringify!(context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).enable_opencl_throttling) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OrtOpenVINOProviderOptions), + "::", + stringify!(enable_opencl_throttling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).enable_dynamic_shapes) as usize - ptr as usize }, + 57usize, + concat!( + "Offset of field: ", + stringify!(OrtOpenVINOProviderOptions), + "::", + stringify!(enable_dynamic_shapes) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtTrainingApi { + _unused: [u8; 0], } +#[doc = " \\brief The helper interface to get the right version of OrtApi\n\n Get a pointer to this structure through ::OrtGetApiBase"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct OrtApiBase { + #[doc = " \\brief Get a pointer to the requested version of the ::OrtApi\n\n \\param[in] version Must be ::ORT_API_VERSION\n \\return The ::OrtApi for the version requested, nullptr will be returned if this version is unsupported, for example when using a runtime\n older than the version created with this header file."] pub GetApi: ::std::option::Option *const OrtApi>, + #[doc = "< Returns a null terminated string of the version of the Onnxruntime library (eg: \"1.8.1\")"] pub GetVersionString: ::std::option::Option *const ::std::os::raw::c_char>, } #[test] fn bindgen_test_layout_OrtApiBase() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 16usize, @@ -7194,7 +7702,7 @@ fn bindgen_test_layout_OrtApiBase() { concat!("Alignment of ", stringify!(OrtApiBase)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetApi as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).GetApi) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -7204,7 +7712,7 @@ fn bindgen_test_layout_OrtApiBase() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetVersionString as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).GetVersionString) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -7215,28 +7723,75 @@ fn bindgen_test_layout_OrtApiBase() { ); } extern "C" { + #[doc = " \\brief The Onnxruntime library's entry point to access the C API\n\n Call this to get the a pointer to an ::OrtApiBase"] pub fn OrtGetApiBase() -> *const OrtApiBase; } +#[doc = " \\brief Thread work loop function\n\n Onnxruntime will provide the working loop on custom thread creation\n Argument is an onnxruntime built-in type which will be provided when thread pool calls OrtCustomCreateThreadFn"] +pub type OrtThreadWorkerFn = + ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OrtCustomHandleType { + pub __place_holder: ::std::os::raw::c_char, +} +#[test] +fn bindgen_test_layout_OrtCustomHandleType() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1usize, + concat!("Size of: ", stringify!(OrtCustomHandleType)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(OrtCustomHandleType)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__place_holder) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OrtCustomHandleType), + "::", + stringify!(__place_holder) + ) + ); +} +pub type OrtCustomThreadHandle = *const OrtCustomHandleType; +#[doc = " \\brief Ort custom thread creation function\n\n The function should return a thread handle to be used in onnxruntime thread pools\n Onnxruntime will throw exception on return value of nullptr or 0, indicating that the function failed to create a thread"] +pub type OrtCustomCreateThreadFn = ::std::option::Option< + unsafe extern "C" fn( + ort_custom_thread_creation_options: *mut ::std::os::raw::c_void, + ort_thread_worker_fn: OrtThreadWorkerFn, + ort_worker_fn_param: *mut ::std::os::raw::c_void, + ) -> OrtCustomThreadHandle, +>; +#[doc = " \\brief Custom thread join function\n\n Onnxruntime thread pool destructor will call the function to join a custom thread.\n Argument ort_custom_thread_handle is the value returned by OrtCustomCreateThreadFn"] +pub type OrtCustomJoinThreadFn = + ::std::option::Option; +#[doc = " \\brief The C API\n\n All C API functions are defined inside this structure as pointers to functions.\n Call OrtApiBase::GetApi to get a pointer to it\n\n \\nosubgrouping"] #[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"] + #[doc = " \\brief Create an OrtStatus from a null terminated string\n\n \\param[in] code\n \\param[in] msg A null-terminated string. Its contents will be copied.\n \\return A new OrtStatus object, must be destroyed with OrtApi::ReleaseStatus"] pub CreateStatus: ::std::option::Option< unsafe extern "C" fn( code: OrtErrorCode, msg: *const ::std::os::raw::c_char, ) -> *mut OrtStatus, >, + #[doc = " \\brief Get OrtErrorCode from OrtStatus\n\n \\param[in] status\n \\return OrtErrorCode that \\p status was created with"] 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."] + #[doc = " \\brief Get error string from OrtStatus\n\n \\param[in] status\n \\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, + log_severity_level: OrtLoggingLevel, logid: *const ::std::os::raw::c_char, out: *mut *mut OrtEnv, ) -> OrtStatusPtr, @@ -7245,7 +7800,7 @@ pub struct OrtApi { unsafe extern "C" fn( logging_function: OrtLoggingFunction, logger_param: *mut ::std::os::raw::c_void, - logging_level: OrtLoggingLevel, + log_severity_level: OrtLoggingLevel, logid: *const ::std::os::raw::c_char, out: *mut *mut OrtEnv, ) -> OrtStatusPtr, @@ -7273,14 +7828,14 @@ pub struct OrtApi { >, pub Run: ::std::option::Option< unsafe extern "C" fn( - sess: *mut OrtSession, + session: *mut OrtSession, run_options: *const OrtRunOptions, input_names: *const *const ::std::os::raw::c_char, - input: *const *const OrtValue, + inputs: *const *const OrtValue, input_len: usize, - output_names1: *const *const ::std::os::raw::c_char, + output_names: *const *const ::std::os::raw::c_char, output_names_len: usize, - output: *mut *mut OrtValue, + outputs: *mut *mut OrtValue, ) -> OrtStatusPtr, >, pub CreateSessionOptions: ::std::option::Option< @@ -7387,38 +7942,38 @@ pub struct OrtApi { ) -> OrtStatusPtr, >, pub SessionGetInputCount: ::std::option::Option< - unsafe extern "C" fn(sess: *const OrtSession, out: *mut usize) -> OrtStatusPtr, + unsafe extern "C" fn(session: *const OrtSession, out: *mut usize) -> OrtStatusPtr, >, pub SessionGetOutputCount: ::std::option::Option< - unsafe extern "C" fn(sess: *const OrtSession, out: *mut usize) -> OrtStatusPtr, + unsafe extern "C" fn(session: *const OrtSession, out: *mut usize) -> OrtStatusPtr, >, pub SessionGetOverridableInitializerCount: ::std::option::Option< - unsafe extern "C" fn(sess: *const OrtSession, out: *mut usize) -> OrtStatusPtr, + unsafe extern "C" fn(session: *const OrtSession, out: *mut usize) -> OrtStatusPtr, >, pub SessionGetInputTypeInfo: ::std::option::Option< unsafe extern "C" fn( - sess: *const OrtSession, + session: *const OrtSession, index: usize, type_info: *mut *mut OrtTypeInfo, ) -> OrtStatusPtr, >, pub SessionGetOutputTypeInfo: ::std::option::Option< unsafe extern "C" fn( - sess: *const OrtSession, + session: *const OrtSession, index: usize, type_info: *mut *mut OrtTypeInfo, ) -> OrtStatusPtr, >, pub SessionGetOverridableInitializerTypeInfo: ::std::option::Option< unsafe extern "C" fn( - sess: *const OrtSession, + session: *const OrtSession, index: usize, type_info: *mut *mut OrtTypeInfo, ) -> OrtStatusPtr, >, pub SessionGetInputName: ::std::option::Option< unsafe extern "C" fn( - sess: *const OrtSession, + session: *const OrtSession, index: usize, allocator: *mut OrtAllocator, value: *mut *mut ::std::os::raw::c_char, @@ -7426,7 +7981,7 @@ pub struct OrtApi { >, pub SessionGetOutputName: ::std::option::Option< unsafe extern "C" fn( - sess: *const OrtSession, + session: *const OrtSession, index: usize, allocator: *mut OrtAllocator, value: *mut *mut ::std::os::raw::c_char, @@ -7434,7 +7989,7 @@ pub struct OrtApi { >, pub SessionGetOverridableInitializerName: ::std::option::Option< unsafe extern "C" fn( - sess: *const OrtSession, + session: *const OrtSession, index: usize, allocator: *mut OrtAllocator, value: *mut *mut ::std::os::raw::c_char, @@ -7445,37 +8000,37 @@ pub struct OrtApi { pub RunOptionsSetRunLogVerbosityLevel: ::std::option::Option< unsafe extern "C" fn( options: *mut OrtRunOptions, - value: ::std::os::raw::c_int, + log_verbosity_level: ::std::os::raw::c_int, ) -> OrtStatusPtr, >, pub RunOptionsSetRunLogSeverityLevel: ::std::option::Option< unsafe extern "C" fn( options: *mut OrtRunOptions, - value: ::std::os::raw::c_int, + log_severity_level: ::std::os::raw::c_int, ) -> OrtStatusPtr, >, pub RunOptionsSetRunTag: ::std::option::Option< unsafe extern "C" fn( - arg1: *mut OrtRunOptions, + options: *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, + log_verbosity_level: *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, + log_severity_level: *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, + options: *const OrtRunOptions, + run_tag: *mut *const ::std::os::raw::c_char, ) -> OrtStatusPtr, >, pub RunOptionsSetTerminate: @@ -7535,19 +8090,19 @@ pub struct OrtApi { >, pub CastTypeInfoToTensorInfo: ::std::option::Option< unsafe extern "C" fn( - arg1: *const OrtTypeInfo, + type_info: *const OrtTypeInfo, out: *mut *const OrtTensorTypeAndShapeInfo, ) -> OrtStatusPtr, >, pub GetOnnxTypeFromTypeInfo: ::std::option::Option< - unsafe extern "C" fn(arg1: *const OrtTypeInfo, out: *mut ONNXType) -> OrtStatusPtr, + unsafe extern "C" fn(type_info: *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, + info: *mut OrtTensorTypeAndShapeInfo, type_: ONNXTensorElementDataType, ) -> OrtStatusPtr, >, @@ -7560,7 +8115,7 @@ pub struct OrtApi { >, pub GetTensorElementType: ::std::option::Option< unsafe extern "C" fn( - arg1: *const OrtTensorTypeAndShapeInfo, + info: *const OrtTensorTypeAndShapeInfo, out: *mut ONNXTensorElementDataType, ) -> OrtStatusPtr, >, @@ -7604,17 +8159,17 @@ pub struct OrtApi { >, pub CreateMemoryInfo: ::std::option::Option< unsafe extern "C" fn( - name1: *const ::std::os::raw::c_char, + name: *const ::std::os::raw::c_char, type_: OrtAllocatorType, - id1: ::std::os::raw::c_int, - mem_type1: OrtMemType, + id: ::std::os::raw::c_int, + mem_type: OrtMemType, out: *mut *mut OrtMemoryInfo, ) -> OrtStatusPtr, >, pub CreateCpuMemoryInfo: ::std::option::Option< unsafe extern "C" fn( type_: OrtAllocatorType, - mem_type1: OrtMemType, + mem_type: OrtMemType, out: *mut *mut OrtMemoryInfo, ) -> OrtStatusPtr, >, @@ -7645,20 +8200,20 @@ pub struct OrtApi { >, pub AllocatorAlloc: ::std::option::Option< unsafe extern "C" fn( - ptr: *mut OrtAllocator, + ort_allocator: *mut OrtAllocator, size: usize, out: *mut *mut ::std::os::raw::c_void, ) -> OrtStatusPtr, >, pub AllocatorFree: ::std::option::Option< unsafe extern "C" fn( - ptr: *mut OrtAllocator, + ort_allocator: *mut OrtAllocator, p: *mut ::std::os::raw::c_void, ) -> OrtStatusPtr, >, pub AllocatorGetInfo: ::std::option::Option< unsafe extern "C" fn( - ptr: *const OrtAllocator, + ort_allocator: *const OrtAllocator, out: *mut *const OrtMemoryInfo, ) -> OrtStatusPtr, >, @@ -7767,7 +8322,7 @@ pub struct OrtApi { ::std::option::Option, pub GetDenotationFromTypeInfo: ::std::option::Option< unsafe extern "C" fn( - arg1: *const OrtTypeInfo, + type_info: *const OrtTypeInfo, denotation: *mut *const ::std::os::raw::c_char, len: *mut usize, ) -> OrtStatusPtr, @@ -7807,14 +8362,14 @@ pub struct OrtApi { ::std::option::Option, pub SessionEndProfiling: ::std::option::Option< unsafe extern "C" fn( - sess: *mut OrtSession, + session: *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, + session: *const OrtSession, out: *mut *mut OrtModelMetadata, ) -> OrtStatusPtr, >, @@ -7864,9 +8419,9 @@ pub struct OrtApi { ::std::option::Option, pub CreateEnvWithGlobalThreadPools: ::std::option::Option< unsafe extern "C" fn( - logging_level: OrtLoggingLevel, + log_severity_level: OrtLoggingLevel, logid: *const ::std::os::raw::c_char, - t_options: *const OrtThreadingOptions, + tp_options: *const OrtThreadingOptions, out: *mut *mut OrtEnv, ) -> OrtStatusPtr, >, @@ -7932,7 +8487,7 @@ pub struct OrtApi { >, pub CreateAllocator: ::std::option::Option< unsafe extern "C" fn( - sess: *const OrtSession, + session: *const OrtSession, mem_info: *const OrtMemoryInfo, out: *mut *mut OrtAllocator, ) -> OrtStatusPtr, @@ -7940,13 +8495,13 @@ pub struct OrtApi { pub ReleaseAllocator: ::std::option::Option, pub RunWithBinding: ::std::option::Option< unsafe extern "C" fn( - sess: *mut OrtSession, + session: *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, + unsafe extern "C" fn(session: *mut OrtSession, out: *mut *mut OrtIoBinding) -> OrtStatusPtr, >, pub ReleaseIoBinding: ::std::option::Option, pub BindInput: ::std::option::Option< @@ -7967,7 +8522,7 @@ pub struct OrtApi { unsafe extern "C" fn( binding_ptr: *mut OrtIoBinding, name: *const ::std::os::raw::c_char, - val_ptr: *const OrtMemoryInfo, + mem_info_ptr: *const OrtMemoryInfo, ) -> OrtStatusPtr, >, pub GetBoundOutputNames: ::std::option::Option< @@ -7987,9 +8542,10 @@ pub struct OrtApi { output_count: *mut usize, ) -> OrtStatusPtr, >, - #[doc = " Clears any previously specified bindings for inputs/outputs"] + #[doc = " \\brief Clears any previously set Inputs for an ::OrtIoBinding"] pub ClearBoundInputs: ::std::option::Option, + #[doc = " \\brief Clears any previously set Outputs for an ::OrtIoBinding"] pub ClearBoundOutputs: ::std::option::Option, pub TensorAt: ::std::option::Option< @@ -8014,7 +8570,7 @@ pub struct OrtApi { ) -> OrtStatusPtr, >, pub SessionGetProfilingStartTimeNs: ::std::option::Option< - unsafe extern "C" fn(sess: *const OrtSession, out: *mut u64) -> OrtStatusPtr, + unsafe extern "C" fn(session: *const OrtSession, out: *mut u64) -> OrtStatusPtr, >, pub SetGlobalIntraOpNumThreads: ::std::option::Option< unsafe extern "C" fn( @@ -8045,7 +8601,7 @@ pub struct OrtApi { unsafe extern "C" fn( logging_function: OrtLoggingFunction, logger_param: *mut ::std::os::raw::c_void, - logging_level: OrtLoggingLevel, + log_severity_level: OrtLoggingLevel, logid: *const ::std::os::raw::c_char, tp_options: *const OrtThreadingOptions, out: *mut *mut OrtEnv, @@ -8156,1835 +8712,2746 @@ pub struct OrtApi { out: *mut *mut OrtSession, ) -> OrtStatusPtr, >, -} -#[test] -fn bindgen_test_layout_OrtApi() { + pub SessionOptionsAppendExecutionProvider_TensorRT_V2: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + tensorrt_options: *const OrtTensorRTProviderOptionsV2, + ) -> OrtStatusPtr, + >, + pub CreateTensorRTProviderOptions: ::std::option::Option< + unsafe extern "C" fn(out: *mut *mut OrtTensorRTProviderOptionsV2) -> OrtStatusPtr, + >, + pub UpdateTensorRTProviderOptions: ::std::option::Option< + unsafe extern "C" fn( + tensorrt_options: *mut OrtTensorRTProviderOptionsV2, + provider_options_keys: *const *const ::std::os::raw::c_char, + provider_options_values: *const *const ::std::os::raw::c_char, + num_keys: usize, + ) -> OrtStatusPtr, + >, + pub GetTensorRTProviderOptionsAsString: ::std::option::Option< + unsafe extern "C" fn( + tensorrt_options: *const OrtTensorRTProviderOptionsV2, + allocator: *mut OrtAllocator, + ptr: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + #[doc = " \\brief Release an ::OrtTensorRTProviderOptionsV2\n\n \\note This is an exception in the naming convention of other Release* functions, as the name of the method does not have the V2 suffix, but the type does"] + pub ReleaseTensorRTProviderOptions: + ::std::option::Option, + pub EnableOrtCustomOps: ::std::option::Option< + unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr, + >, + pub RegisterAllocator: ::std::option::Option< + unsafe extern "C" fn(env: *mut OrtEnv, allocator: *mut OrtAllocator) -> OrtStatusPtr, + >, + pub UnregisterAllocator: ::std::option::Option< + unsafe extern "C" fn(env: *mut OrtEnv, mem_info: *const OrtMemoryInfo) -> OrtStatusPtr, + >, + pub IsSparseTensor: ::std::option::Option< + unsafe extern "C" fn( + value: *const OrtValue, + out: *mut ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub CreateSparseTensorAsOrtValue: ::std::option::Option< + unsafe extern "C" fn( + allocator: *mut OrtAllocator, + dense_shape: *const i64, + dense_shape_len: usize, + type_: ONNXTensorElementDataType, + out: *mut *mut OrtValue, + ) -> OrtStatusPtr, + >, + pub FillSparseTensorCoo: ::std::option::Option< + unsafe extern "C" fn( + ort_value: *mut OrtValue, + data_mem_info: *const OrtMemoryInfo, + values_shape: *const i64, + values_shape_len: usize, + values: *const ::std::os::raw::c_void, + indices_data: *const i64, + indices_num: usize, + ) -> OrtStatusPtr, + >, + pub FillSparseTensorCsr: ::std::option::Option< + unsafe extern "C" fn( + ort_value: *mut OrtValue, + data_mem_info: *const OrtMemoryInfo, + values_shape: *const i64, + values_shape_len: usize, + values: *const ::std::os::raw::c_void, + inner_indices_data: *const i64, + inner_indices_num: usize, + outer_indices_data: *const i64, + outer_indices_num: usize, + ) -> OrtStatusPtr, + >, + pub FillSparseTensorBlockSparse: ::std::option::Option< + unsafe extern "C" fn( + ort_value: *mut OrtValue, + data_mem_info: *const OrtMemoryInfo, + values_shape: *const i64, + values_shape_len: usize, + values: *const ::std::os::raw::c_void, + indices_shape_data: *const i64, + indices_shape_len: usize, + indices_data: *const i32, + ) -> OrtStatusPtr, + >, + pub CreateSparseTensorWithValuesAsOrtValue: ::std::option::Option< + unsafe extern "C" fn( + info: *const OrtMemoryInfo, + p_data: *mut ::std::os::raw::c_void, + dense_shape: *const i64, + dense_shape_len: usize, + values_shape: *const i64, + values_shape_len: usize, + type_: ONNXTensorElementDataType, + out: *mut *mut OrtValue, + ) -> OrtStatusPtr, + >, + pub UseCooIndices: ::std::option::Option< + unsafe extern "C" fn( + ort_value: *mut OrtValue, + indices_data: *mut i64, + indices_num: usize, + ) -> OrtStatusPtr, + >, + pub UseCsrIndices: ::std::option::Option< + unsafe extern "C" fn( + ort_value: *mut OrtValue, + inner_data: *mut i64, + inner_num: usize, + outer_data: *mut i64, + outer_num: usize, + ) -> OrtStatusPtr, + >, + pub UseBlockSparseIndices: ::std::option::Option< + unsafe extern "C" fn( + ort_value: *mut OrtValue, + indices_shape: *const i64, + indices_shape_len: usize, + indices_data: *mut i32, + ) -> OrtStatusPtr, + >, + pub GetSparseTensorFormat: ::std::option::Option< + unsafe extern "C" fn(ort_value: *const OrtValue, out: *mut OrtSparseFormat) -> OrtStatusPtr, + >, + pub GetSparseTensorValuesTypeAndShape: ::std::option::Option< + unsafe extern "C" fn( + ort_value: *const OrtValue, + out: *mut *mut OrtTensorTypeAndShapeInfo, + ) -> OrtStatusPtr, + >, + pub GetSparseTensorValues: ::std::option::Option< + unsafe extern "C" fn( + ort_value: *const OrtValue, + out: *mut *const ::std::os::raw::c_void, + ) -> OrtStatusPtr, + >, + pub GetSparseTensorIndicesTypeShape: ::std::option::Option< + unsafe extern "C" fn( + ort_value: *const OrtValue, + indices_format: OrtSparseIndicesFormat, + out: *mut *mut OrtTensorTypeAndShapeInfo, + ) -> OrtStatusPtr, + >, + pub GetSparseTensorIndices: ::std::option::Option< + unsafe extern "C" fn( + ort_value: *const OrtValue, + indices_format: OrtSparseIndicesFormat, + num_indices: *mut usize, + indices: *mut *const ::std::os::raw::c_void, + ) -> OrtStatusPtr, + >, + pub HasValue: ::std::option::Option< + unsafe extern "C" fn( + value: *const OrtValue, + out: *mut ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub KernelContext_GetGPUComputeStream: ::std::option::Option< + unsafe extern "C" fn( + context: *const OrtKernelContext, + out: *mut *mut ::std::os::raw::c_void, + ) -> OrtStatusPtr, + >, + pub GetTensorMemoryInfo: ::std::option::Option< + unsafe extern "C" fn( + value: *const OrtValue, + mem_info: *mut *const OrtMemoryInfo, + ) -> OrtStatusPtr, + >, + pub GetExecutionProviderApi: ::std::option::Option< + unsafe extern "C" fn( + provider_name: *const ::std::os::raw::c_char, + version: u32, + provider_api: *mut *const ::std::os::raw::c_void, + ) -> OrtStatusPtr, + >, + pub SessionOptionsSetCustomCreateThreadFn: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + ort_custom_create_thread_fn: OrtCustomCreateThreadFn, + ) -> OrtStatusPtr, + >, + pub SessionOptionsSetCustomThreadCreationOptions: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + ort_custom_thread_creation_options: *mut ::std::os::raw::c_void, + ) -> OrtStatusPtr, + >, + pub SessionOptionsSetCustomJoinThreadFn: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + ort_custom_join_thread_fn: OrtCustomJoinThreadFn, + ) -> OrtStatusPtr, + >, + pub SetGlobalCustomCreateThreadFn: ::std::option::Option< + unsafe extern "C" fn( + tp_options: *mut OrtThreadingOptions, + ort_custom_create_thread_fn: OrtCustomCreateThreadFn, + ) -> OrtStatusPtr, + >, + pub SetGlobalCustomThreadCreationOptions: ::std::option::Option< + unsafe extern "C" fn( + tp_options: *mut OrtThreadingOptions, + ort_custom_thread_creation_options: *mut ::std::os::raw::c_void, + ) -> OrtStatusPtr, + >, + pub SetGlobalCustomJoinThreadFn: ::std::option::Option< + unsafe extern "C" fn( + tp_options: *mut OrtThreadingOptions, + ort_custom_join_thread_fn: OrtCustomJoinThreadFn, + ) -> OrtStatusPtr, + >, + pub SynchronizeBoundInputs: + ::std::option::Option OrtStatusPtr>, + pub SynchronizeBoundOutputs: + ::std::option::Option OrtStatusPtr>, + pub SessionOptionsAppendExecutionProvider_CUDA_V2: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + cuda_options: *const OrtCUDAProviderOptionsV2, + ) -> OrtStatusPtr, + >, + pub CreateCUDAProviderOptions: ::std::option::Option< + unsafe extern "C" fn(out: *mut *mut OrtCUDAProviderOptionsV2) -> OrtStatusPtr, + >, + pub UpdateCUDAProviderOptions: ::std::option::Option< + unsafe extern "C" fn( + cuda_options: *mut OrtCUDAProviderOptionsV2, + provider_options_keys: *const *const ::std::os::raw::c_char, + provider_options_values: *const *const ::std::os::raw::c_char, + num_keys: usize, + ) -> OrtStatusPtr, + >, + pub GetCUDAProviderOptionsAsString: ::std::option::Option< + unsafe extern "C" fn( + cuda_options: *const OrtCUDAProviderOptionsV2, + allocator: *mut OrtAllocator, + ptr: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + #[doc = " \\brief Release an ::OrtCUDAProviderOptionsV2\n\n \\note This is an exception in the naming convention of other Release* functions, as the name of the method does not have the V2 suffix, but the type does\n\n \\since Version 1.11."] + pub ReleaseCUDAProviderOptions: + ::std::option::Option, + pub SessionOptionsAppendExecutionProvider_MIGraphX: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + migraphx_options: *const OrtMIGraphXProviderOptions, + ) -> OrtStatusPtr, + >, + pub AddExternalInitializers: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + initializer_names: *const *const ::std::os::raw::c_char, + initializers: *const *const OrtValue, + initializers_num: usize, + ) -> OrtStatusPtr, + >, + pub CreateOpAttr: ::std::option::Option< + unsafe extern "C" fn( + name: *const ::std::os::raw::c_char, + data: *const ::std::os::raw::c_void, + len: ::std::os::raw::c_int, + type_: OrtOpAttrType, + op_attr: *mut *mut OrtOpAttr, + ) -> OrtStatusPtr, + >, + pub ReleaseOpAttr: ::std::option::Option, + pub CreateOp: ::std::option::Option< + unsafe extern "C" fn( + info: *const OrtKernelInfo, + op_name: *const ::std::os::raw::c_char, + domain: *const ::std::os::raw::c_char, + version: ::std::os::raw::c_int, + type_constraint_names: *mut *const ::std::os::raw::c_char, + type_constraint_values: *const ONNXTensorElementDataType, + type_constraint_count: ::std::os::raw::c_int, + attr_values: *const *const OrtOpAttr, + attr_count: ::std::os::raw::c_int, + input_count: ::std::os::raw::c_int, + output_count: ::std::os::raw::c_int, + ort_op: *mut *mut OrtOp, + ) -> OrtStatusPtr, + >, + pub InvokeOp: ::std::option::Option< + unsafe extern "C" fn( + context: *const OrtKernelContext, + ort_op: *const OrtOp, + input_values: *const *const OrtValue, + input_count: ::std::os::raw::c_int, + output_values: *const *mut OrtValue, + output_count: ::std::os::raw::c_int, + ) -> OrtStatusPtr, + >, + pub ReleaseOp: ::std::option::Option, + pub SessionOptionsAppendExecutionProvider: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + provider_name: *const ::std::os::raw::c_char, + provider_options_keys: *const *const ::std::os::raw::c_char, + provider_options_values: *const *const ::std::os::raw::c_char, + num_keys: usize, + ) -> OrtStatusPtr, + >, + pub CopyKernelInfo: ::std::option::Option< + unsafe extern "C" fn( + info: *const OrtKernelInfo, + info_copy: *mut *mut OrtKernelInfo, + ) -> OrtStatusPtr, + >, + pub ReleaseKernelInfo: ::std::option::Option, + pub GetTrainingApi: + ::std::option::Option *const OrtTrainingApi>, + pub SessionOptionsAppendExecutionProvider_CANN: ::std::option::Option< + unsafe extern "C" fn( + options: *mut OrtSessionOptions, + cann_options: *const OrtCANNProviderOptions, + ) -> OrtStatusPtr, + >, + pub CreateCANNProviderOptions: ::std::option::Option< + unsafe extern "C" fn(out: *mut *mut OrtCANNProviderOptions) -> OrtStatusPtr, + >, + pub UpdateCANNProviderOptions: ::std::option::Option< + unsafe extern "C" fn( + cann_options: *mut OrtCANNProviderOptions, + provider_options_keys: *const *const ::std::os::raw::c_char, + provider_options_values: *const *const ::std::os::raw::c_char, + num_keys: usize, + ) -> OrtStatusPtr, + >, + pub GetCANNProviderOptionsAsString: ::std::option::Option< + unsafe extern "C" fn( + cann_options: *const OrtCANNProviderOptions, + allocator: *mut OrtAllocator, + ptr: *mut *mut ::std::os::raw::c_char, + ) -> OrtStatusPtr, + >, + #[doc = " \\brief Release an OrtCANNProviderOptions\n\n \\param[in] the pointer of OrtCANNProviderOptions which will been deleted\n\n \\since Version 1.13."] + pub ReleaseCANNProviderOptions: + ::std::option::Option, +} +#[test] +fn bindgen_test_layout_OrtApi() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1800usize, + concat!("Size of: ", stringify!(OrtApi)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OrtApi)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetErrorCode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetErrorCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetErrorMessage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetErrorMessage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateEnv) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateEnv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateEnvWithCustomLogger) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateEnvWithCustomLogger) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableTelemetryEvents) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(EnableTelemetryEvents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DisableTelemetryEvents) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(DisableTelemetryEvents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateSession) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateSession) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateSessionFromArray) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateSessionFromArray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Run) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(Run) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateSessionOptions) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateSessionOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetOptimizedModelFilePath) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetOptimizedModelFilePath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CloneSessionOptions) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CloneSessionOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSessionExecutionMode) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetSessionExecutionMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableProfiling) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(EnableProfiling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DisableProfiling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(DisableProfiling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableMemPattern) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(EnableMemPattern) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DisableMemPattern) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(DisableMemPattern) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableCpuMemArena) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(EnableCpuMemArena) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DisableCpuMemArena) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(DisableCpuMemArena) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSessionLogId) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetSessionLogId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSessionLogVerbosityLevel) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetSessionLogVerbosityLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSessionLogSeverityLevel) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetSessionLogSeverityLevel) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).SetSessionGraphOptimizationLevel) as usize - ptr as usize + }, + 184usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetSessionGraphOptimizationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetIntraOpNumThreads) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetIntraOpNumThreads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInterOpNumThreads) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SetInterOpNumThreads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateCustomOpDomain) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateCustomOpDomain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CustomOpDomain_Add) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CustomOpDomain_Add) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddCustomOpDomain) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(AddCustomOpDomain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterCustomOpsLibrary) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RegisterCustomOpsLibrary) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionGetInputCount) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetInputCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionGetOutputCount) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetOutputCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).SessionGetOverridableInitializerCount) as usize + - ptr as usize + }, + 256usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetOverridableInitializerCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionGetInputTypeInfo) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetInputTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionGetOutputTypeInfo) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetOutputTypeInfo) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).SessionGetOverridableInitializerTypeInfo) as usize + - ptr as usize + }, + 280usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetOverridableInitializerTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionGetInputName) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetInputName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionGetOutputName) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetOutputName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).SessionGetOverridableInitializerName) as usize + - ptr as usize + }, + 304usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(SessionGetOverridableInitializerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateRunOptions) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateRunOptions) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RunOptionsSetRunLogVerbosityLevel) as usize - ptr as usize + }, + 320usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsSetRunLogVerbosityLevel) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RunOptionsSetRunLogSeverityLevel) as usize - ptr as usize + }, + 328usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsSetRunLogSeverityLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RunOptionsSetRunTag) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsSetRunTag) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RunOptionsGetRunLogVerbosityLevel) as usize - ptr as usize + }, + 344usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsGetRunLogVerbosityLevel) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RunOptionsGetRunLogSeverityLevel) as usize - ptr as usize + }, + 352usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsGetRunLogSeverityLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RunOptionsGetRunTag) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsGetRunTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RunOptionsSetTerminate) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsSetTerminate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RunOptionsUnsetTerminate) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(RunOptionsUnsetTerminate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateTensorAsOrtValue) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateTensorAsOrtValue) + ) + ); assert_eq!( - ::std::mem::size_of::(), - 1360usize, - concat!("Size of: ", stringify!(OrtApi)) + unsafe { + ::std::ptr::addr_of!((*ptr).CreateTensorWithDataAsOrtValue) as usize - ptr as usize + }, + 392usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CreateTensorWithDataAsOrtValue) + ) ); assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(OrtApi)) + unsafe { ::std::ptr::addr_of!((*ptr).IsTensor) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(IsTensor) + ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateStatus as *const _ as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetTensorMutableData) as usize - ptr as usize }, + 408usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateStatus) + stringify!(GetTensorMutableData) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetErrorCode as *const _ as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr).FillStringTensor) as usize - ptr as usize }, + 416usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetErrorCode) + stringify!(FillStringTensor) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetErrorMessage as *const _ as usize }, - 16usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetStringTensorDataLength) as usize - ptr as usize }, + 424usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetErrorMessage) + stringify!(GetStringTensorDataLength) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateEnv as *const _ as usize }, - 24usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetStringTensorContent) as usize - ptr as usize }, + 432usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateEnv) + stringify!(GetStringTensorContent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CastTypeInfoToTensorInfo) as usize - ptr as usize }, + 440usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(CastTypeInfoToTensorInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetOnnxTypeFromTypeInfo) as usize - ptr as usize }, + 448usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(GetOnnxTypeFromTypeInfo) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).CreateEnvWithCustomLogger as *const _ as usize + ::std::ptr::addr_of!((*ptr).CreateTensorTypeAndShapeInfo) as usize - ptr as usize }, - 32usize, + 456usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateEnvWithCustomLogger) + stringify!(CreateTensorTypeAndShapeInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).EnableTelemetryEvents as *const _ as usize }, - 40usize, + unsafe { ::std::ptr::addr_of!((*ptr).SetTensorElementType) as usize - ptr as usize }, + 464usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(EnableTelemetryEvents) + stringify!(SetTensorElementType) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).DisableTelemetryEvents as *const _ as usize }, - 48usize, + unsafe { ::std::ptr::addr_of!((*ptr).SetDimensions) as usize - ptr as usize }, + 472usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(DisableTelemetryEvents) + stringify!(SetDimensions) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateSession as *const _ as usize }, - 56usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetTensorElementType) as usize - ptr as usize }, + 480usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateSession) + stringify!(GetTensorElementType) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateSessionFromArray as *const _ as usize }, - 64usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetDimensionsCount) as usize - ptr as usize }, + 488usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateSessionFromArray) + stringify!(GetDimensionsCount) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).Run as *const _ as usize }, - 72usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetDimensions) as usize - ptr as usize }, + 496usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(Run) + stringify!(GetDimensions) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateSessionOptions as *const _ as usize }, - 80usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetSymbolicDimensions) as usize - ptr as usize }, + 504usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateSessionOptions) + stringify!(GetSymbolicDimensions) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).SetOptimizedModelFilePath as *const _ as usize - }, - 88usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetTensorShapeElementCount) as usize - ptr as usize }, + 512usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetOptimizedModelFilePath) + stringify!(GetTensorShapeElementCount) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CloneSessionOptions as *const _ as usize }, - 96usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetTensorTypeAndShape) as usize - ptr as usize }, + 520usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CloneSessionOptions) + stringify!(GetTensorTypeAndShape) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SetSessionExecutionMode as *const _ as usize }, - 104usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 528usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetSessionExecutionMode) + stringify!(GetTypeInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).EnableProfiling as *const _ as usize }, - 112usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetValueType) as usize - ptr as usize }, + 536usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(EnableProfiling) + stringify!(GetValueType) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).DisableProfiling as *const _ as usize }, - 120usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateMemoryInfo) as usize - ptr as usize }, + 544usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(DisableProfiling) + stringify!(CreateMemoryInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).EnableMemPattern as *const _ as usize }, - 128usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateCpuMemoryInfo) as usize - ptr as usize }, + 552usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(EnableMemPattern) + stringify!(CreateCpuMemoryInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).DisableMemPattern as *const _ as usize }, - 136usize, + unsafe { ::std::ptr::addr_of!((*ptr).CompareMemoryInfo) as usize - ptr as usize }, + 560usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(DisableMemPattern) + stringify!(CompareMemoryInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).EnableCpuMemArena as *const _ as usize }, - 144usize, + unsafe { ::std::ptr::addr_of!((*ptr).MemoryInfoGetName) as usize - ptr as usize }, + 568usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(EnableCpuMemArena) + stringify!(MemoryInfoGetName) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).DisableCpuMemArena as *const _ as usize }, - 152usize, + unsafe { ::std::ptr::addr_of!((*ptr).MemoryInfoGetId) as usize - ptr as usize }, + 576usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(DisableCpuMemArena) + stringify!(MemoryInfoGetId) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SetSessionLogId as *const _ as usize }, - 160usize, + unsafe { ::std::ptr::addr_of!((*ptr).MemoryInfoGetMemType) as usize - ptr as usize }, + 584usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetSessionLogId) + stringify!(MemoryInfoGetMemType) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).SetSessionLogVerbosityLevel as *const _ as usize - }, - 168usize, + unsafe { ::std::ptr::addr_of!((*ptr).MemoryInfoGetType) as usize - ptr as usize }, + 592usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetSessionLogVerbosityLevel) + stringify!(MemoryInfoGetType) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).SetSessionLogSeverityLevel as *const _ as usize - }, - 176usize, + unsafe { ::std::ptr::addr_of!((*ptr).AllocatorAlloc) as usize - ptr as usize }, + 600usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetSessionLogSeverityLevel) + stringify!(AllocatorAlloc) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).SetSessionGraphOptimizationLevel as *const _ as usize - }, - 184usize, + unsafe { ::std::ptr::addr_of!((*ptr).AllocatorFree) as usize - ptr as usize }, + 608usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetSessionGraphOptimizationLevel) + stringify!(AllocatorFree) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SetIntraOpNumThreads as *const _ as usize }, - 192usize, + unsafe { ::std::ptr::addr_of!((*ptr).AllocatorGetInfo) as usize - ptr as usize }, + 616usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetIntraOpNumThreads) + stringify!(AllocatorGetInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SetInterOpNumThreads as *const _ as usize }, - 200usize, + unsafe { + ::std::ptr::addr_of!((*ptr).GetAllocatorWithDefaultOptions) as usize - ptr as usize + }, + 624usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetInterOpNumThreads) + stringify!(GetAllocatorWithDefaultOptions) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateCustomOpDomain as *const _ as usize }, - 208usize, + unsafe { ::std::ptr::addr_of!((*ptr).AddFreeDimensionOverride) as usize - ptr as usize }, + 632usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateCustomOpDomain) + stringify!(AddFreeDimensionOverride) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CustomOpDomain_Add as *const _ as usize }, - 216usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetValue) as usize - ptr as usize }, + 640usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CustomOpDomain_Add) + stringify!(GetValue) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).AddCustomOpDomain as *const _ as usize }, - 224usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetValueCount) as usize - ptr as usize }, + 648usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(AddCustomOpDomain) + stringify!(GetValueCount) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).RegisterCustomOpsLibrary as *const _ as usize }, - 232usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateValue) as usize - ptr as usize }, + 656usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(RegisterCustomOpsLibrary) + stringify!(CreateValue) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SessionGetInputCount as *const _ as usize }, - 240usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateOpaqueValue) as usize - ptr as usize }, + 664usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionGetInputCount) + stringify!(CreateOpaqueValue) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SessionGetOutputCount as *const _ as usize }, - 248usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetOpaqueValue) as usize - ptr as usize }, + 672usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionGetOutputCount) + stringify!(GetOpaqueValue) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).SessionGetOverridableInitializerCount as *const _ - as usize + ::std::ptr::addr_of!((*ptr).KernelInfoGetAttribute_float) as usize - ptr as usize }, - 256usize, + 680usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionGetOverridableInitializerCount) + stringify!(KernelInfoGetAttribute_float) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SessionGetInputTypeInfo as *const _ as usize }, - 264usize, + unsafe { + ::std::ptr::addr_of!((*ptr).KernelInfoGetAttribute_int64) as usize - ptr as usize + }, + 688usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionGetInputTypeInfo) + stringify!(KernelInfoGetAttribute_int64) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SessionGetOutputTypeInfo as *const _ as usize }, - 272usize, + unsafe { + ::std::ptr::addr_of!((*ptr).KernelInfoGetAttribute_string) as usize - ptr as usize + }, + 696usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionGetOutputTypeInfo) + stringify!(KernelInfoGetAttribute_string) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KernelContext_GetInputCount) as usize - ptr as usize }, + 704usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(KernelContext_GetInputCount) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).SessionGetOverridableInitializerTypeInfo as *const _ - as usize + ::std::ptr::addr_of!((*ptr).KernelContext_GetOutputCount) as usize - ptr as usize }, - 280usize, + 712usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionGetOverridableInitializerTypeInfo) + stringify!(KernelContext_GetOutputCount) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SessionGetInputName as *const _ as usize }, - 288usize, + unsafe { ::std::ptr::addr_of!((*ptr).KernelContext_GetInput) as usize - ptr as usize }, + 720usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionGetInputName) + stringify!(KernelContext_GetInput) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SessionGetOutputName as *const _ as usize }, - 296usize, + unsafe { ::std::ptr::addr_of!((*ptr).KernelContext_GetOutput) as usize - ptr as usize }, + 728usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionGetOutputName) + stringify!(KernelContext_GetOutput) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).SessionGetOverridableInitializerName as *const _ - as usize - }, - 304usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseEnv) as usize - ptr as usize }, + 736usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionGetOverridableInitializerName) + stringify!(ReleaseEnv) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateRunOptions as *const _ as usize }, - 312usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseStatus) as usize - ptr as usize }, + 744usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateRunOptions) + stringify!(ReleaseStatus) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).RunOptionsSetRunLogVerbosityLevel as *const _ - as usize - }, - 320usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseMemoryInfo) as usize - ptr as usize }, + 752usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(RunOptionsSetRunLogVerbosityLevel) + stringify!(ReleaseMemoryInfo) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).RunOptionsSetRunLogSeverityLevel as *const _ as usize - }, - 328usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseSession) as usize - ptr as usize }, + 760usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(RunOptionsSetRunLogSeverityLevel) + stringify!(ReleaseSession) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).RunOptionsSetRunTag as *const _ as usize }, - 336usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseValue) as usize - ptr as usize }, + 768usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(RunOptionsSetRunTag) + stringify!(ReleaseValue) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).RunOptionsGetRunLogVerbosityLevel as *const _ - as usize - }, - 344usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseRunOptions) as usize - ptr as usize }, + 776usize, + concat!( + "Offset of field: ", + stringify!(OrtApi), + "::", + stringify!(ReleaseRunOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseTypeInfo) as usize - ptr as usize }, + 784usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(RunOptionsGetRunLogVerbosityLevel) + stringify!(ReleaseTypeInfo) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).RunOptionsGetRunLogSeverityLevel as *const _ as usize + ::std::ptr::addr_of!((*ptr).ReleaseTensorTypeAndShapeInfo) as usize - ptr as usize }, - 352usize, + 792usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(RunOptionsGetRunLogSeverityLevel) + stringify!(ReleaseTensorTypeAndShapeInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).RunOptionsGetRunTag as *const _ as usize }, - 360usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseSessionOptions) as usize - ptr as usize }, + 800usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(RunOptionsGetRunTag) + stringify!(ReleaseSessionOptions) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).RunOptionsSetTerminate as *const _ as usize }, - 368usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseCustomOpDomain) as usize - ptr as usize }, + 808usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(RunOptionsSetTerminate) + stringify!(ReleaseCustomOpDomain) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).RunOptionsUnsetTerminate as *const _ as usize }, - 376usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetDenotationFromTypeInfo) as usize - ptr as usize }, + 816usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(RunOptionsUnsetTerminate) + stringify!(GetDenotationFromTypeInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateTensorAsOrtValue as *const _ as usize }, - 384usize, + unsafe { ::std::ptr::addr_of!((*ptr).CastTypeInfoToMapTypeInfo) as usize - ptr as usize }, + 824usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateTensorAsOrtValue) + stringify!(CastTypeInfoToMapTypeInfo) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).CreateTensorWithDataAsOrtValue as *const _ as usize + ::std::ptr::addr_of!((*ptr).CastTypeInfoToSequenceTypeInfo) as usize - ptr as usize }, - 392usize, + 832usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateTensorWithDataAsOrtValue) + stringify!(CastTypeInfoToSequenceTypeInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).IsTensor as *const _ as usize }, - 400usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetMapKeyType) as usize - ptr as usize }, + 840usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(IsTensor) + stringify!(GetMapKeyType) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetTensorMutableData as *const _ as usize }, - 408usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetMapValueType) as usize - ptr as usize }, + 848usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetTensorMutableData) + stringify!(GetMapValueType) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).FillStringTensor as *const _ as usize }, - 416usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetSequenceElementType) as usize - ptr as usize }, + 856usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(FillStringTensor) + stringify!(GetSequenceElementType) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).GetStringTensorDataLength as *const _ as usize - }, - 424usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseMapTypeInfo) as usize - ptr as usize }, + 864usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetStringTensorDataLength) + stringify!(ReleaseMapTypeInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetStringTensorContent as *const _ as usize }, - 432usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseSequenceTypeInfo) as usize - ptr as usize }, + 872usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetStringTensorContent) + stringify!(ReleaseSequenceTypeInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CastTypeInfoToTensorInfo as *const _ as usize }, - 440usize, + unsafe { ::std::ptr::addr_of!((*ptr).SessionEndProfiling) as usize - ptr as usize }, + 880usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CastTypeInfoToTensorInfo) + stringify!(SessionEndProfiling) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetOnnxTypeFromTypeInfo as *const _ as usize }, - 448usize, + unsafe { ::std::ptr::addr_of!((*ptr).SessionGetModelMetadata) as usize - ptr as usize }, + 888usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetOnnxTypeFromTypeInfo) + stringify!(SessionGetModelMetadata) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).CreateTensorTypeAndShapeInfo as *const _ as usize + ::std::ptr::addr_of!((*ptr).ModelMetadataGetProducerName) as usize - ptr as usize }, - 456usize, + 896usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateTensorTypeAndShapeInfo) + stringify!(ModelMetadataGetProducerName) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SetTensorElementType as *const _ as usize }, - 464usize, + unsafe { ::std::ptr::addr_of!((*ptr).ModelMetadataGetGraphName) as usize - ptr as usize }, + 904usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetTensorElementType) + stringify!(ModelMetadataGetGraphName) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SetDimensions as *const _ as usize }, - 472usize, + unsafe { ::std::ptr::addr_of!((*ptr).ModelMetadataGetDomain) as usize - ptr as usize }, + 912usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetDimensions) + stringify!(ModelMetadataGetDomain) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetTensorElementType as *const _ as usize }, - 480usize, + unsafe { ::std::ptr::addr_of!((*ptr).ModelMetadataGetDescription) as usize - ptr as usize }, + 920usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetTensorElementType) + stringify!(ModelMetadataGetDescription) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetDimensionsCount as *const _ as usize }, - 488usize, + unsafe { + ::std::ptr::addr_of!((*ptr).ModelMetadataLookupCustomMetadataMap) as usize + - ptr as usize + }, + 928usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetDimensionsCount) + stringify!(ModelMetadataLookupCustomMetadataMap) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetDimensions as *const _ as usize }, - 496usize, + unsafe { ::std::ptr::addr_of!((*ptr).ModelMetadataGetVersion) as usize - ptr as usize }, + 936usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetDimensions) + stringify!(ModelMetadataGetVersion) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetSymbolicDimensions as *const _ as usize }, - 504usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseModelMetadata) as usize - ptr as usize }, + 944usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetSymbolicDimensions) + stringify!(ReleaseModelMetadata) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).GetTensorShapeElementCount as *const _ as usize + ::std::ptr::addr_of!((*ptr).CreateEnvWithGlobalThreadPools) as usize - ptr as usize }, - 512usize, + 952usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetTensorShapeElementCount) + stringify!(CreateEnvWithGlobalThreadPools) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetTensorTypeAndShape as *const _ as usize }, - 520usize, + unsafe { ::std::ptr::addr_of!((*ptr).DisablePerSessionThreads) as usize - ptr as usize }, + 960usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetTensorTypeAndShape) + stringify!(DisablePerSessionThreads) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetTypeInfo as *const _ as usize }, - 528usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateThreadingOptions) as usize - ptr as usize }, + 968usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetTypeInfo) + stringify!(CreateThreadingOptions) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetValueType as *const _ as usize }, - 536usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseThreadingOptions) as usize - ptr as usize }, + 976usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetValueType) + stringify!(ReleaseThreadingOptions) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateMemoryInfo as *const _ as usize }, - 544usize, + unsafe { + ::std::ptr::addr_of!((*ptr).ModelMetadataGetCustomMetadataMapKeys) as usize + - ptr as usize + }, + 984usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateMemoryInfo) + stringify!(ModelMetadataGetCustomMetadataMapKeys) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateCpuMemoryInfo as *const _ as usize }, - 552usize, + unsafe { + ::std::ptr::addr_of!((*ptr).AddFreeDimensionOverrideByName) as usize - ptr as usize + }, + 992usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateCpuMemoryInfo) + stringify!(AddFreeDimensionOverrideByName) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CompareMemoryInfo as *const _ as usize }, - 560usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetAvailableProviders) as usize - ptr as usize }, + 1000usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CompareMemoryInfo) + stringify!(GetAvailableProviders) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).MemoryInfoGetName as *const _ as usize }, - 568usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseAvailableProviders) as usize - ptr as usize }, + 1008usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(MemoryInfoGetName) + stringify!(ReleaseAvailableProviders) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).MemoryInfoGetId as *const _ as usize }, - 576usize, + unsafe { + ::std::ptr::addr_of!((*ptr).GetStringTensorElementLength) as usize - ptr as usize + }, + 1016usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(MemoryInfoGetId) + stringify!(GetStringTensorElementLength) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).MemoryInfoGetMemType as *const _ as usize }, - 584usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetStringTensorElement) as usize - ptr as usize }, + 1024usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(MemoryInfoGetMemType) + stringify!(GetStringTensorElement) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).MemoryInfoGetType as *const _ as usize }, - 592usize, + unsafe { ::std::ptr::addr_of!((*ptr).FillStringTensorElement) as usize - ptr as usize }, + 1032usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(MemoryInfoGetType) + stringify!(FillStringTensorElement) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).AllocatorAlloc as *const _ as usize }, - 600usize, + unsafe { ::std::ptr::addr_of!((*ptr).AddSessionConfigEntry) as usize - ptr as usize }, + 1040usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(AllocatorAlloc) + stringify!(AddSessionConfigEntry) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).AllocatorFree as *const _ as usize }, - 608usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateAllocator) as usize - ptr as usize }, + 1048usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(AllocatorFree) + stringify!(CreateAllocator) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).AllocatorGetInfo as *const _ as usize }, - 616usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseAllocator) as usize - ptr as usize }, + 1056usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(AllocatorGetInfo) + stringify!(ReleaseAllocator) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).GetAllocatorWithDefaultOptions as *const _ as usize - }, - 624usize, + unsafe { ::std::ptr::addr_of!((*ptr).RunWithBinding) as usize - ptr as usize }, + 1064usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetAllocatorWithDefaultOptions) + stringify!(RunWithBinding) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).AddFreeDimensionOverride as *const _ as usize }, - 632usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateIoBinding) as usize - ptr as usize }, + 1072usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(AddFreeDimensionOverride) + stringify!(CreateIoBinding) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetValue as *const _ as usize }, - 640usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseIoBinding) as usize - ptr as usize }, + 1080usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetValue) + stringify!(ReleaseIoBinding) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetValueCount as *const _ as usize }, - 648usize, + unsafe { ::std::ptr::addr_of!((*ptr).BindInput) as usize - ptr as usize }, + 1088usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetValueCount) + stringify!(BindInput) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateValue as *const _ as usize }, - 656usize, + unsafe { ::std::ptr::addr_of!((*ptr).BindOutput) as usize - ptr as usize }, + 1096usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateValue) + stringify!(BindOutput) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateOpaqueValue as *const _ as usize }, - 664usize, + unsafe { ::std::ptr::addr_of!((*ptr).BindOutputToDevice) as usize - ptr as usize }, + 1104usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateOpaqueValue) + stringify!(BindOutputToDevice) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetOpaqueValue as *const _ as usize }, - 672usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetBoundOutputNames) as usize - ptr as usize }, + 1112usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetOpaqueValue) + stringify!(GetBoundOutputNames) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).KernelInfoGetAttribute_float as *const _ as usize - }, - 680usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetBoundOutputValues) as usize - ptr as usize }, + 1120usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(KernelInfoGetAttribute_float) + stringify!(GetBoundOutputValues) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).KernelInfoGetAttribute_int64 as *const _ as usize - }, - 688usize, + unsafe { ::std::ptr::addr_of!((*ptr).ClearBoundInputs) as usize - ptr as usize }, + 1128usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(KernelInfoGetAttribute_int64) + stringify!(ClearBoundInputs) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).KernelInfoGetAttribute_string as *const _ as usize - }, - 696usize, + unsafe { ::std::ptr::addr_of!((*ptr).ClearBoundOutputs) as usize - ptr as usize }, + 1136usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(KernelInfoGetAttribute_string) + stringify!(ClearBoundOutputs) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).KernelContext_GetInputCount as *const _ as usize - }, - 704usize, + unsafe { ::std::ptr::addr_of!((*ptr).TensorAt) as usize - ptr as usize }, + 1144usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(KernelContext_GetInputCount) + stringify!(TensorAt) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).KernelContext_GetOutputCount as *const _ as usize - }, - 712usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateAndRegisterAllocator) as usize - ptr as usize }, + 1152usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(KernelContext_GetOutputCount) + stringify!(CreateAndRegisterAllocator) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).KernelContext_GetInput as *const _ as usize }, - 720usize, + unsafe { ::std::ptr::addr_of!((*ptr).SetLanguageProjection) as usize - ptr as usize }, + 1160usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(KernelContext_GetInput) + stringify!(SetLanguageProjection) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).KernelContext_GetOutput as *const _ as usize }, - 728usize, + unsafe { + ::std::ptr::addr_of!((*ptr).SessionGetProfilingStartTimeNs) as usize - ptr as usize + }, + 1168usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(KernelContext_GetOutput) + stringify!(SessionGetProfilingStartTimeNs) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseEnv as *const _ as usize }, - 736usize, + unsafe { ::std::ptr::addr_of!((*ptr).SetGlobalIntraOpNumThreads) as usize - ptr as usize }, + 1176usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseEnv) + stringify!(SetGlobalIntraOpNumThreads) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseStatus as *const _ as usize }, - 744usize, + unsafe { ::std::ptr::addr_of!((*ptr).SetGlobalInterOpNumThreads) as usize - ptr as usize }, + 1184usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseStatus) + stringify!(SetGlobalInterOpNumThreads) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseMemoryInfo as *const _ as usize }, - 752usize, + unsafe { ::std::ptr::addr_of!((*ptr).SetGlobalSpinControl) as usize - ptr as usize }, + 1192usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseMemoryInfo) + stringify!(SetGlobalSpinControl) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseSession as *const _ as usize }, - 760usize, + unsafe { ::std::ptr::addr_of!((*ptr).AddInitializer) as usize - ptr as usize }, + 1200usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseSession) + stringify!(AddInitializer) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseValue as *const _ as usize }, - 768usize, + unsafe { + ::std::ptr::addr_of!((*ptr).CreateEnvWithCustomLoggerAndGlobalThreadPools) as usize + - ptr as usize + }, + 1208usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseValue) + stringify!(CreateEnvWithCustomLoggerAndGlobalThreadPools) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseRunOptions as *const _ as usize }, - 776usize, + unsafe { + ::std::ptr::addr_of!((*ptr).SessionOptionsAppendExecutionProvider_CUDA) as usize + - ptr as usize + }, + 1216usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseRunOptions) + stringify!(SessionOptionsAppendExecutionProvider_CUDA) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseTypeInfo as *const _ as usize }, - 784usize, + unsafe { + ::std::ptr::addr_of!((*ptr).SessionOptionsAppendExecutionProvider_ROCM) as usize + - ptr as usize + }, + 1224usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseTypeInfo) + stringify!(SessionOptionsAppendExecutionProvider_ROCM) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ReleaseTensorTypeAndShapeInfo as *const _ as usize + ::std::ptr::addr_of!((*ptr).SessionOptionsAppendExecutionProvider_OpenVINO) as usize + - ptr as usize }, - 792usize, + 1232usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseTensorTypeAndShapeInfo) + stringify!(SessionOptionsAppendExecutionProvider_OpenVINO) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseSessionOptions as *const _ as usize }, - 800usize, + unsafe { ::std::ptr::addr_of!((*ptr).SetGlobalDenormalAsZero) as usize - ptr as usize }, + 1240usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseSessionOptions) + stringify!(SetGlobalDenormalAsZero) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseCustomOpDomain as *const _ as usize }, - 808usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateArenaCfg) as usize - ptr as usize }, + 1248usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseCustomOpDomain) + stringify!(CreateArenaCfg) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).GetDenotationFromTypeInfo as *const _ as usize - }, - 816usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseArenaCfg) as usize - ptr as usize }, + 1256usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetDenotationFromTypeInfo) + stringify!(ReleaseArenaCfg) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).CastTypeInfoToMapTypeInfo as *const _ as usize + ::std::ptr::addr_of!((*ptr).ModelMetadataGetGraphDescription) as usize - ptr as usize }, - 824usize, + 1264usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CastTypeInfoToMapTypeInfo) + stringify!(ModelMetadataGetGraphDescription) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).CastTypeInfoToSequenceTypeInfo as *const _ as usize + ::std::ptr::addr_of!((*ptr).SessionOptionsAppendExecutionProvider_TensorRT) as usize + - ptr as usize }, - 832usize, + 1272usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CastTypeInfoToSequenceTypeInfo) + stringify!(SessionOptionsAppendExecutionProvider_TensorRT) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetMapKeyType as *const _ as usize }, - 840usize, + unsafe { ::std::ptr::addr_of!((*ptr).SetCurrentGpuDeviceId) as usize - ptr as usize }, + 1280usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetMapKeyType) + stringify!(SetCurrentGpuDeviceId) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetMapValueType as *const _ as usize }, - 848usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentGpuDeviceId) as usize - ptr as usize }, + 1288usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetMapValueType) + stringify!(GetCurrentGpuDeviceId) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetSequenceElementType as *const _ as usize }, - 856usize, + unsafe { + ::std::ptr::addr_of!((*ptr).KernelInfoGetAttributeArray_float) as usize - ptr as usize + }, + 1296usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetSequenceElementType) + stringify!(KernelInfoGetAttributeArray_float) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseMapTypeInfo as *const _ as usize }, - 864usize, + unsafe { + ::std::ptr::addr_of!((*ptr).KernelInfoGetAttributeArray_int64) as usize - ptr as usize + }, + 1304usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseMapTypeInfo) + stringify!(KernelInfoGetAttributeArray_int64) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseSequenceTypeInfo as *const _ as usize }, - 872usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateArenaCfgV2) as usize - ptr as usize }, + 1312usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseSequenceTypeInfo) + stringify!(CreateArenaCfgV2) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SessionEndProfiling as *const _ as usize }, - 880usize, + unsafe { ::std::ptr::addr_of!((*ptr).AddRunConfigEntry) as usize - ptr as usize }, + 1320usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionEndProfiling) + stringify!(AddRunConfigEntry) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SessionGetModelMetadata as *const _ as usize }, - 888usize, + unsafe { + ::std::ptr::addr_of!((*ptr).CreatePrepackedWeightsContainer) as usize - ptr as usize + }, + 1328usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionGetModelMetadata) + stringify!(CreatePrepackedWeightsContainer) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ModelMetadataGetProducerName as *const _ as usize + ::std::ptr::addr_of!((*ptr).ReleasePrepackedWeightsContainer) as usize - ptr as usize }, - 896usize, + 1336usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ModelMetadataGetProducerName) + stringify!(ReleasePrepackedWeightsContainer) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ModelMetadataGetGraphName as *const _ as usize + ::std::ptr::addr_of!((*ptr).CreateSessionWithPrepackedWeightsContainer) as usize + - ptr as usize }, - 904usize, + 1344usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ModelMetadataGetGraphName) + stringify!(CreateSessionWithPrepackedWeightsContainer) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ModelMetadataGetDomain as *const _ as usize }, - 912usize, + unsafe { + ::std::ptr::addr_of!((*ptr).CreateSessionFromArrayWithPrepackedWeightsContainer) + as usize + - ptr as usize + }, + 1352usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ModelMetadataGetDomain) + stringify!(CreateSessionFromArrayWithPrepackedWeightsContainer) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ModelMetadataGetDescription as *const _ as usize + ::std::ptr::addr_of!((*ptr).SessionOptionsAppendExecutionProvider_TensorRT_V2) as usize + - ptr as usize }, - 920usize, + 1360usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ModelMetadataGetDescription) + stringify!(SessionOptionsAppendExecutionProvider_TensorRT_V2) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).ModelMetadataLookupCustomMetadataMap as *const _ - as usize + ::std::ptr::addr_of!((*ptr).CreateTensorRTProviderOptions) as usize - ptr as usize }, - 928usize, + 1368usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ModelMetadataLookupCustomMetadataMap) + stringify!(CreateTensorRTProviderOptions) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ModelMetadataGetVersion as *const _ as usize }, - 936usize, + unsafe { + ::std::ptr::addr_of!((*ptr).UpdateTensorRTProviderOptions) as usize - ptr as usize + }, + 1376usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ModelMetadataGetVersion) + stringify!(UpdateTensorRTProviderOptions) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseModelMetadata as *const _ as usize }, - 944usize, + unsafe { + ::std::ptr::addr_of!((*ptr).GetTensorRTProviderOptionsAsString) as usize - ptr as usize + }, + 1384usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseModelMetadata) + stringify!(GetTensorRTProviderOptionsAsString) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).CreateEnvWithGlobalThreadPools as *const _ as usize + ::std::ptr::addr_of!((*ptr).ReleaseTensorRTProviderOptions) as usize - ptr as usize }, - 952usize, + 1392usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateEnvWithGlobalThreadPools) + stringify!(ReleaseTensorRTProviderOptions) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).DisablePerSessionThreads as *const _ as usize }, - 960usize, + unsafe { ::std::ptr::addr_of!((*ptr).EnableOrtCustomOps) as usize - ptr as usize }, + 1400usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(DisablePerSessionThreads) + stringify!(EnableOrtCustomOps) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateThreadingOptions as *const _ as usize }, - 968usize, + unsafe { ::std::ptr::addr_of!((*ptr).RegisterAllocator) as usize - ptr as usize }, + 1408usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateThreadingOptions) + stringify!(RegisterAllocator) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseThreadingOptions as *const _ as usize }, - 976usize, + unsafe { ::std::ptr::addr_of!((*ptr).UnregisterAllocator) as usize - ptr as usize }, + 1416usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseThreadingOptions) + stringify!(UnregisterAllocator) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ModelMetadataGetCustomMetadataMapKeys as *const _ - as usize - }, - 984usize, + unsafe { ::std::ptr::addr_of!((*ptr).IsSparseTensor) as usize - ptr as usize }, + 1424usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ModelMetadataGetCustomMetadataMapKeys) + stringify!(IsSparseTensor) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).AddFreeDimensionOverrideByName as *const _ as usize + ::std::ptr::addr_of!((*ptr).CreateSparseTensorAsOrtValue) as usize - ptr as usize }, - 992usize, + 1432usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(AddFreeDimensionOverrideByName) + stringify!(CreateSparseTensorAsOrtValue) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetAvailableProviders as *const _ as usize }, - 1000usize, + unsafe { ::std::ptr::addr_of!((*ptr).FillSparseTensorCoo) as usize - ptr as usize }, + 1440usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetAvailableProviders) + stringify!(FillSparseTensorCoo) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ReleaseAvailableProviders as *const _ as usize - }, - 1008usize, + unsafe { ::std::ptr::addr_of!((*ptr).FillSparseTensorCsr) as usize - ptr as usize }, + 1448usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseAvailableProviders) + stringify!(FillSparseTensorCsr) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).GetStringTensorElementLength as *const _ as usize - }, - 1016usize, + unsafe { ::std::ptr::addr_of!((*ptr).FillSparseTensorBlockSparse) as usize - ptr as usize }, + 1456usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetStringTensorElementLength) + stringify!(FillSparseTensorBlockSparse) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetStringTensorElement as *const _ as usize }, - 1024usize, + unsafe { + ::std::ptr::addr_of!((*ptr).CreateSparseTensorWithValuesAsOrtValue) as usize + - ptr as usize + }, + 1464usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetStringTensorElement) + stringify!(CreateSparseTensorWithValuesAsOrtValue) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).FillStringTensorElement as *const _ as usize }, - 1032usize, + unsafe { ::std::ptr::addr_of!((*ptr).UseCooIndices) as usize - ptr as usize }, + 1472usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(FillStringTensorElement) + stringify!(UseCooIndices) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).AddSessionConfigEntry as *const _ as usize }, - 1040usize, + unsafe { ::std::ptr::addr_of!((*ptr).UseCsrIndices) as usize - ptr as usize }, + 1480usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(AddSessionConfigEntry) + stringify!(UseCsrIndices) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateAllocator as *const _ as usize }, - 1048usize, + unsafe { ::std::ptr::addr_of!((*ptr).UseBlockSparseIndices) as usize - ptr as usize }, + 1488usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateAllocator) + stringify!(UseBlockSparseIndices) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseAllocator as *const _ as usize }, - 1056usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetSparseTensorFormat) as usize - ptr as usize }, + 1496usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseAllocator) + stringify!(GetSparseTensorFormat) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).RunWithBinding as *const _ as usize }, - 1064usize, + unsafe { + ::std::ptr::addr_of!((*ptr).GetSparseTensorValuesTypeAndShape) as usize - ptr as usize + }, + 1504usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(RunWithBinding) + stringify!(GetSparseTensorValuesTypeAndShape) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateIoBinding as *const _ as usize }, - 1072usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetSparseTensorValues) as usize - ptr as usize }, + 1512usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateIoBinding) + stringify!(GetSparseTensorValues) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseIoBinding as *const _ as usize }, - 1080usize, + unsafe { + ::std::ptr::addr_of!((*ptr).GetSparseTensorIndicesTypeShape) as usize - ptr as usize + }, + 1520usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseIoBinding) + stringify!(GetSparseTensorIndicesTypeShape) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).BindInput as *const _ as usize }, - 1088usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetSparseTensorIndices) as usize - ptr as usize }, + 1528usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(BindInput) + stringify!(GetSparseTensorIndices) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).BindOutput as *const _ as usize }, - 1096usize, + unsafe { ::std::ptr::addr_of!((*ptr).HasValue) as usize - ptr as usize }, + 1536usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(BindOutput) + stringify!(HasValue) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).BindOutputToDevice as *const _ as usize }, - 1104usize, + unsafe { + ::std::ptr::addr_of!((*ptr).KernelContext_GetGPUComputeStream) as usize - ptr as usize + }, + 1544usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(BindOutputToDevice) + stringify!(KernelContext_GetGPUComputeStream) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetBoundOutputNames as *const _ as usize }, - 1112usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetTensorMemoryInfo) as usize - ptr as usize }, + 1552usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetBoundOutputNames) + stringify!(GetTensorMemoryInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetBoundOutputValues as *const _ as usize }, - 1120usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetExecutionProviderApi) as usize - ptr as usize }, + 1560usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetBoundOutputValues) + stringify!(GetExecutionProviderApi) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ClearBoundInputs as *const _ as usize }, - 1128usize, + unsafe { + ::std::ptr::addr_of!((*ptr).SessionOptionsSetCustomCreateThreadFn) as usize + - ptr as usize + }, + 1568usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ClearBoundInputs) + stringify!(SessionOptionsSetCustomCreateThreadFn) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ClearBoundOutputs as *const _ as usize }, - 1136usize, + unsafe { + ::std::ptr::addr_of!((*ptr).SessionOptionsSetCustomThreadCreationOptions) as usize + - ptr as usize + }, + 1576usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ClearBoundOutputs) + stringify!(SessionOptionsSetCustomThreadCreationOptions) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).TensorAt as *const _ as usize }, - 1144usize, + unsafe { + ::std::ptr::addr_of!((*ptr).SessionOptionsSetCustomJoinThreadFn) as usize - ptr as usize + }, + 1584usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(TensorAt) + stringify!(SessionOptionsSetCustomJoinThreadFn) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).CreateAndRegisterAllocator as *const _ as usize + ::std::ptr::addr_of!((*ptr).SetGlobalCustomCreateThreadFn) as usize - ptr as usize }, - 1152usize, + 1592usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateAndRegisterAllocator) + stringify!(SetGlobalCustomCreateThreadFn) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SetLanguageProjection as *const _ as usize }, - 1160usize, + unsafe { + ::std::ptr::addr_of!((*ptr).SetGlobalCustomThreadCreationOptions) as usize + - ptr as usize + }, + 1600usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetLanguageProjection) + stringify!(SetGlobalCustomThreadCreationOptions) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).SessionGetProfilingStartTimeNs as *const _ as usize - }, - 1168usize, + unsafe { ::std::ptr::addr_of!((*ptr).SetGlobalCustomJoinThreadFn) as usize - ptr as usize }, + 1608usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionGetProfilingStartTimeNs) + stringify!(SetGlobalCustomJoinThreadFn) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).SetGlobalIntraOpNumThreads as *const _ as usize - }, - 1176usize, + unsafe { ::std::ptr::addr_of!((*ptr).SynchronizeBoundInputs) as usize - ptr as usize }, + 1616usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetGlobalIntraOpNumThreads) + stringify!(SynchronizeBoundInputs) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).SetGlobalInterOpNumThreads as *const _ as usize - }, - 1184usize, + unsafe { ::std::ptr::addr_of!((*ptr).SynchronizeBoundOutputs) as usize - ptr as usize }, + 1624usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetGlobalInterOpNumThreads) + stringify!(SynchronizeBoundOutputs) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SetGlobalSpinControl as *const _ as usize }, - 1192usize, + unsafe { + ::std::ptr::addr_of!((*ptr).SessionOptionsAppendExecutionProvider_CUDA_V2) as usize + - ptr as usize + }, + 1632usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetGlobalSpinControl) + stringify!(SessionOptionsAppendExecutionProvider_CUDA_V2) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).AddInitializer as *const _ as usize }, - 1200usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateCUDAProviderOptions) as usize - ptr as usize }, + 1640usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(AddInitializer) + stringify!(CreateCUDAProviderOptions) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).CreateEnvWithCustomLoggerAndGlobalThreadPools - as *const _ as usize - }, - 1208usize, + unsafe { ::std::ptr::addr_of!((*ptr).UpdateCUDAProviderOptions) as usize - ptr as usize }, + 1648usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateEnvWithCustomLoggerAndGlobalThreadPools) + stringify!(UpdateCUDAProviderOptions) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).SessionOptionsAppendExecutionProvider_CUDA - as *const _ as usize + ::std::ptr::addr_of!((*ptr).GetCUDAProviderOptionsAsString) as usize - ptr as usize }, - 1216usize, + 1656usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionOptionsAppendExecutionProvider_CUDA) + stringify!(GetCUDAProviderOptionsAsString) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).SessionOptionsAppendExecutionProvider_ROCM - as *const _ as usize - }, - 1224usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseCUDAProviderOptions) as usize - ptr as usize }, + 1664usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionOptionsAppendExecutionProvider_ROCM) + stringify!(ReleaseCUDAProviderOptions) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).SessionOptionsAppendExecutionProvider_OpenVINO - as *const _ as usize + ::std::ptr::addr_of!((*ptr).SessionOptionsAppendExecutionProvider_MIGraphX) as usize + - ptr as usize }, - 1232usize, + 1672usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionOptionsAppendExecutionProvider_OpenVINO) + stringify!(SessionOptionsAppendExecutionProvider_MIGraphX) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SetGlobalDenormalAsZero as *const _ as usize }, - 1240usize, + unsafe { ::std::ptr::addr_of!((*ptr).AddExternalInitializers) as usize - ptr as usize }, + 1680usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetGlobalDenormalAsZero) + stringify!(AddExternalInitializers) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateArenaCfg as *const _ as usize }, - 1248usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateOpAttr) as usize - ptr as usize }, + 1688usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateArenaCfg) + stringify!(CreateOpAttr) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).ReleaseArenaCfg as *const _ as usize }, - 1256usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseOpAttr) as usize - ptr as usize }, + 1696usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleaseArenaCfg) + stringify!(ReleaseOpAttr) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ModelMetadataGetGraphDescription as *const _ as usize - }, - 1264usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateOp) as usize - ptr as usize }, + 1704usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ModelMetadataGetGraphDescription) + stringify!(CreateOp) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).SessionOptionsAppendExecutionProvider_TensorRT - as *const _ as usize - }, - 1272usize, + unsafe { ::std::ptr::addr_of!((*ptr).InvokeOp) as usize - ptr as usize }, + 1712usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SessionOptionsAppendExecutionProvider_TensorRT) + stringify!(InvokeOp) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).SetCurrentGpuDeviceId as *const _ as usize }, - 1280usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseOp) as usize - ptr as usize }, + 1720usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(SetCurrentGpuDeviceId) + stringify!(ReleaseOp) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetCurrentGpuDeviceId as *const _ as usize }, - 1288usize, + unsafe { + ::std::ptr::addr_of!((*ptr).SessionOptionsAppendExecutionProvider) as usize + - ptr as usize + }, + 1728usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(GetCurrentGpuDeviceId) + stringify!(SessionOptionsAppendExecutionProvider) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).KernelInfoGetAttributeArray_float as *const _ - as usize - }, - 1296usize, + unsafe { ::std::ptr::addr_of!((*ptr).CopyKernelInfo) as usize - ptr as usize }, + 1736usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(KernelInfoGetAttributeArray_float) + stringify!(CopyKernelInfo) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).KernelInfoGetAttributeArray_int64 as *const _ - as usize - }, - 1304usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseKernelInfo) as usize - ptr as usize }, + 1744usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(KernelInfoGetAttributeArray_int64) + stringify!(ReleaseKernelInfo) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateArenaCfgV2 as *const _ as usize }, - 1312usize, + unsafe { ::std::ptr::addr_of!((*ptr).GetTrainingApi) as usize - ptr as usize }, + 1752usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateArenaCfgV2) + stringify!(GetTrainingApi) ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).AddRunConfigEntry as *const _ as usize }, - 1320usize, + unsafe { + ::std::ptr::addr_of!((*ptr).SessionOptionsAppendExecutionProvider_CANN) as usize + - ptr as usize + }, + 1760usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(AddRunConfigEntry) + stringify!(SessionOptionsAppendExecutionProvider_CANN) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).CreatePrepackedWeightsContainer as *const _ as usize - }, - 1328usize, + unsafe { ::std::ptr::addr_of!((*ptr).CreateCANNProviderOptions) as usize - ptr as usize }, + 1768usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreatePrepackedWeightsContainer) + stringify!(CreateCANNProviderOptions) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ReleasePrepackedWeightsContainer as *const _ as usize - }, - 1336usize, + unsafe { ::std::ptr::addr_of!((*ptr).UpdateCANNProviderOptions) as usize - ptr as usize }, + 1776usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(ReleasePrepackedWeightsContainer) + stringify!(UpdateCANNProviderOptions) ) ); assert_eq!( unsafe { - &(*(::std::ptr::null::())).CreateSessionWithPrepackedWeightsContainer - as *const _ as usize + ::std::ptr::addr_of!((*ptr).GetCANNProviderOptionsAsString) as usize - ptr as usize }, - 1344usize, + 1784usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateSessionWithPrepackedWeightsContainer) + stringify!(GetCANNProviderOptionsAsString) ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).CreateSessionFromArrayWithPrepackedWeightsContainer - as *const _ as usize - }, - 1352usize, + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseCANNProviderOptions) as usize - ptr as usize }, + 1792usize, concat!( "Offset of field: ", stringify!(OrtApi), "::", - stringify!(CreateSessionFromArrayWithPrepackedWeightsContainer) + stringify!(ReleaseCANNProviderOptions) ) ); } @@ -10044,6 +11511,8 @@ pub struct OrtCustomOp { } #[test] fn bindgen_test_layout_OrtCustomOp() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 96usize, @@ -10055,7 +11524,7 @@ fn bindgen_test_layout_OrtCustomOp() { concat!("Alignment of ", stringify!(OrtCustomOp)) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).version as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", @@ -10065,7 +11534,7 @@ fn bindgen_test_layout_OrtCustomOp() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).CreateKernel as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).CreateKernel) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", @@ -10075,7 +11544,7 @@ fn bindgen_test_layout_OrtCustomOp() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetName as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).GetName) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", @@ -10085,9 +11554,7 @@ fn bindgen_test_layout_OrtCustomOp() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).GetExecutionProviderType as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).GetExecutionProviderType) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", @@ -10097,7 +11564,7 @@ fn bindgen_test_layout_OrtCustomOp() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetInputType as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).GetInputType) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", @@ -10107,7 +11574,7 @@ fn bindgen_test_layout_OrtCustomOp() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetInputTypeCount as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).GetInputTypeCount) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", @@ -10117,7 +11584,7 @@ fn bindgen_test_layout_OrtCustomOp() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetOutputType as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).GetOutputType) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", @@ -10127,7 +11594,7 @@ fn bindgen_test_layout_OrtCustomOp() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).GetOutputTypeCount as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).GetOutputTypeCount) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", @@ -10137,7 +11604,7 @@ fn bindgen_test_layout_OrtCustomOp() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).KernelCompute as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).KernelCompute) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", @@ -10147,7 +11614,7 @@ fn bindgen_test_layout_OrtCustomOp() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::())).KernelDestroy as *const _ as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).KernelDestroy) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", @@ -10157,9 +11624,7 @@ fn bindgen_test_layout_OrtCustomOp() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).GetInputCharacteristic as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).GetInputCharacteristic) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", @@ -10169,9 +11634,7 @@ fn bindgen_test_layout_OrtCustomOp() { ) ); assert_eq!( - unsafe { - &(*(::std::ptr::null::())).GetOutputCharacteristic as *const _ as usize - }, + unsafe { ::std::ptr::addr_of!((*ptr).GetOutputCharacteristic) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", @@ -10181,5 +11644,17 @@ fn bindgen_test_layout_OrtCustomOp() { ) ); } +extern "C" { + pub fn OrtSessionOptionsAppendExecutionProvider_CUDA( + options: *mut OrtSessionOptions, + device_id: ::std::os::raw::c_int, + ) -> OrtStatusPtr; +} +extern "C" { + pub fn OrtSessionOptionsAppendExecutionProvider_MIGraphX( + options: *mut OrtSessionOptions, + device_id: ::std::os::raw::c_int, + ) -> OrtStatusPtr; +} pub type __builtin_va_list = *mut ::std::os::raw::c_char; pub type __uint128_t = u128; diff --git a/onnxruntime/src/environment.rs b/onnxruntime/src/environment.rs index 088f65e9..895cc2c0 100644 --- a/onnxruntime/src/environment.rs +++ b/onnxruntime/src/environment.rs @@ -150,7 +150,7 @@ impl Environment { /// Create a new [`SessionBuilder`](../session/struct.SessionBuilder.html) /// used to create a new ONNX session. pub fn new_session_builder(&self) -> Result { - SessionBuilder::new(self) + SessionBuilder::new(self.clone()) } } diff --git a/onnxruntime/src/error.rs b/onnxruntime/src/error.rs index 8ec702ce..6d05486f 100644 --- a/onnxruntime/src/error.rs +++ b/onnxruntime/src/error.rs @@ -29,6 +29,9 @@ pub enum OrtError { /// Error occurred when creating an ONNX session #[error("Failed to create session: {0}")] Session(OrtApiError), + /// Error occurred when extracting an model metadata + #[error("Failed to extract model metadata: {0}")] + ModelMetadata(OrtApiError), /// Error occurred when creating an ONNX allocator #[error("Failed to get allocator: {0}")] Allocator(OrtApiError), diff --git a/onnxruntime/src/lib.rs b/onnxruntime/src/lib.rs index 7ad71db4..5c2cab57 100644 --- a/onnxruntime/src/lib.rs +++ b/onnxruntime/src/lib.rs @@ -145,6 +145,7 @@ pub mod download; pub mod environment; pub mod error; mod memory; +pub mod metadata; pub mod session; pub mod tensor; diff --git a/onnxruntime/src/metadata.rs b/onnxruntime/src/metadata.rs new file mode 100644 index 00000000..c7225c0d --- /dev/null +++ b/onnxruntime/src/metadata.rs @@ -0,0 +1,102 @@ +use crate::{ + environment::Environment, + error::{assert_not_null_pointer, assert_null_pointer, status_to_result}, + g_ort, OrtError, Result, +}; +use onnxruntime_sys as sys; +use tracing::{debug, error}; + +#[derive(Debug)] +pub struct ModelMetadata { + pub(crate) _env: Environment, + pub(crate) allocator_ptr: *mut sys::OrtAllocator, + pub(crate) metadata_ptr: *mut sys::OrtModelMetadata, +} + +unsafe impl Send for ModelMetadata {} + +impl ModelMetadata { + fn _get_string( + &self, + f: impl Fn( + *const sys::OrtModelMetadata, + *mut sys::OrtAllocator, + *mut *mut std::ffi::c_char, + ) -> *mut sys::OrtStatus, + ) -> Result { + let mut output_ptr: *mut std::ffi::c_char = std::ptr::null_mut(); + let status = unsafe { f(self.metadata_ptr, self.allocator_ptr, &mut output_ptr) }; + + status_to_result(status).map_err(OrtError::ModelMetadata)?; + assert_null_pointer(status, "MetadataStatus")?; + assert_not_null_pointer(self.metadata_ptr, "Metadata")?; + + let str = unsafe { std::ffi::CStr::from_ptr(output_ptr) } + .to_string_lossy() + .to_string(); + unsafe { + g_ort().AllocatorFree.unwrap()(self.allocator_ptr, output_ptr as *mut std::ffi::c_void) + }; + Ok(str) + } + + pub fn producer_name(&self) -> Result { + self._get_string(|metadata, allocator, buf| unsafe { + g_ort().ModelMetadataGetProducerName.unwrap()(metadata, allocator, buf) + }) + } + + pub fn graph_name(&self) -> Result { + self._get_string(|metadata, allocator, buf| unsafe { + g_ort().ModelMetadataGetGraphName.unwrap()(metadata, allocator, buf) + }) + } + + pub fn domain(&self) -> Result { + self._get_string(|metadata, allocator, buf| unsafe { + g_ort().ModelMetadataGetDomain.unwrap()(metadata, allocator, buf) + }) + } + + pub fn description(&self) -> Result { + self._get_string(|metadata, allocator, buf| unsafe { + g_ort().ModelMetadataGetDescription.unwrap()(metadata, allocator, buf) + }) + } + + pub fn version(&self) -> Result { + let mut version: i64 = 0; + let status = + unsafe { g_ort().ModelMetadataGetVersion.unwrap()(self.metadata_ptr, &mut version) }; + + status_to_result(status).map_err(OrtError::ModelMetadata)?; + assert_null_pointer(status, "MetadataStatus")?; + assert_not_null_pointer(self.metadata_ptr, "Metadata")?; + + Ok(version) + } + + pub fn custom_metadata(&self, key: &str) -> Result { + let c_key = std::ffi::CString::new(key)?; + self._get_string(|metadata, allocator, buf| unsafe { + g_ort().ModelMetadataLookupCustomMetadataMap.unwrap()( + metadata, + allocator, + c_key.as_ptr() as *const std::ffi::c_char, + buf, + ) + }) + } +} + +impl Drop for ModelMetadata { + #[tracing::instrument] + fn drop(&mut self) { + if self.metadata_ptr.is_null() { + error!("Model metadata is null, not dropping"); + } else { + debug!("Dropping the model metadata."); + unsafe { g_ort().ReleaseModelMetadata.unwrap()(self.metadata_ptr) }; + } + } +} diff --git a/onnxruntime/src/session.rs b/onnxruntime/src/session.rs index 9a846c01..cac26928 100644 --- a/onnxruntime/src/session.rs +++ b/onnxruntime/src/session.rs @@ -24,6 +24,7 @@ use crate::{ }, g_ort, memory::MemoryInfo, + metadata::ModelMetadata, tensor::{ ort_owned_tensor::{OrtOwnedTensor, OrtOwnedTensorExtractor}, OrtTensor, @@ -65,15 +66,15 @@ use crate::{download::AvailableOnnxModel, error::OrtDownloadError}; /// # } /// ``` #[derive(Debug)] -pub struct SessionBuilder<'a> { - env: &'a Environment, +pub struct SessionBuilder { + env: Environment, session_options_ptr: *mut sys::OrtSessionOptions, allocator: AllocatorType, memory_type: MemType, } -impl<'a> Drop for SessionBuilder<'a> { +impl<'a> Drop for SessionBuilder { #[tracing::instrument] fn drop(&mut self) { if self.session_options_ptr.is_null() { @@ -85,8 +86,8 @@ impl<'a> Drop for SessionBuilder<'a> { } } -impl<'a> SessionBuilder<'a> { - pub(crate) fn new(env: &'a Environment) -> Result> { +impl<'a> SessionBuilder { + pub(crate) fn new(env: Environment) -> Result { let mut session_options_ptr: *mut sys::OrtSessionOptions = std::ptr::null_mut(); let status = unsafe { g_ort().CreateSessionOptions.unwrap()(&mut session_options_ptr) }; @@ -103,7 +104,7 @@ impl<'a> SessionBuilder<'a> { } /// Configure the session to use a number of threads - pub fn with_number_threads(self, num_threads: i16) -> Result> { + pub fn with_number_threads(self, num_threads: i16) -> Result { // FIXME: Pre-built binaries use OpenMP, set env variable instead // We use a u16 in the builder to cover the 16-bits positive values of a i32. @@ -119,7 +120,7 @@ impl<'a> SessionBuilder<'a> { pub fn with_optimization_level( self, opt_level: GraphOptimizationLevel, - ) -> Result> { + ) -> Result { // Sets graph optimization level unsafe { g_ort().SetSessionGraphOptimizationLevel.unwrap()( @@ -133,7 +134,7 @@ impl<'a> SessionBuilder<'a> { /// Set the session's allocator /// /// Defaults to [`AllocatorType::Arena`](../enum.AllocatorType.html#variant.Arena) - pub fn with_allocator(mut self, allocator: AllocatorType) -> Result> { + pub fn with_allocator(mut self, allocator: AllocatorType) -> Result { self.allocator = allocator; Ok(self) } @@ -141,14 +142,14 @@ impl<'a> SessionBuilder<'a> { /// Set the session's memory type /// /// Defaults to [`MemType::Default`](../enum.MemType.html#variant.Default) - pub fn with_memory_type(mut self, memory_type: MemType) -> Result> { + pub fn with_memory_type(mut self, memory_type: MemType) -> Result { self.memory_type = memory_type; Ok(self) } /// Download an ONNX pre-trained model from the [ONNX Model Zoo](https://github.com/onnx/models) and commit the session #[cfg(feature = "model-fetching")] - pub fn with_model_downloaded(self, model: M) -> Result> + pub fn with_model_downloaded(self, model: M) -> Result where M: Into, { @@ -156,7 +157,7 @@ impl<'a> SessionBuilder<'a> { } #[cfg(feature = "model-fetching")] - fn with_model_downloaded_monomorphized(self, model: AvailableOnnxModel) -> Result> { + fn with_model_downloaded_monomorphized(self, model: AvailableOnnxModel) -> Result { let download_dir = env::current_dir().map_err(OrtDownloadError::IoError)?; let downloaded_path = model.download_to(download_dir)?; self.with_model_from_file(downloaded_path) @@ -166,7 +167,7 @@ impl<'a> SessionBuilder<'a> { // See all OrtApi methods taking a `options: *mut OrtSessionOptions`. /// Load an ONNX graph from a file and commit the session - pub fn with_model_from_file

(self, model_filepath_ref: P) -> Result> + pub fn with_model_from_file

(self, model_filepath_ref: P) -> Result where P: AsRef + 'a, { @@ -227,7 +228,7 @@ impl<'a> SessionBuilder<'a> { .collect::>>()?; Ok(Session { - env: self.env, + env: self.env.clone(), session_ptr, allocator_ptr, memory_info, @@ -237,14 +238,14 @@ impl<'a> SessionBuilder<'a> { } /// Load an ONNX graph from memory and commit the session - pub fn with_model_from_memory(self, model_bytes: B) -> Result> + pub fn with_model_from_memory(self, model_bytes: B) -> Result where B: AsRef<[u8]>, { self.with_model_from_memory_monomorphized(model_bytes.as_ref()) } - fn with_model_from_memory_monomorphized(self, model_bytes: &[u8]) -> Result> { + fn with_model_from_memory_monomorphized(self, model_bytes: &[u8]) -> Result { let mut session_ptr: *mut sys::OrtSession = std::ptr::null_mut(); let env_ptr: *const sys::OrtEnv = self.env.env_ptr(); @@ -283,7 +284,7 @@ impl<'a> SessionBuilder<'a> { .collect::>>()?; Ok(Session { - env: self.env, + env: self.env.clone(), session_ptr, allocator_ptr, memory_info, @@ -295,8 +296,8 @@ impl<'a> SessionBuilder<'a> { /// Type storing the session information, built from an [`Environment`](environment/struct.Environment.html) #[derive(Debug)] -pub struct Session<'a> { - env: &'a Environment, +pub struct Session { + env: Environment, session_ptr: *mut sys::OrtSession, allocator_ptr: *mut sys::OrtAllocator, memory_info: MemoryInfo, @@ -332,6 +333,17 @@ pub struct Output { pub dimensions: Vec>, } +#[derive(Debug)] +pub struct RunOptions { + pub terminate: bool, +} + +impl Default for RunOptions { + fn default() -> Self { + Self { terminate: false } + } +} + impl Input { /// Return an iterator over the shape elements of the input layer /// @@ -354,7 +366,7 @@ impl Output { } } -impl<'a> Drop for Session<'a> { +impl Drop for Session { #[tracing::instrument] fn drop(&mut self) { debug!("Dropping the session."); @@ -370,14 +382,51 @@ impl<'a> Drop for Session<'a> { } } -impl<'a> Session<'a> { +impl Session { + /// Get the model metadata. + pub fn metadata(&self) -> Result { + let mut metadata_ptr: *mut sys::OrtModelMetadata = std::ptr::null_mut(); + let status = unsafe { + g_ort().SessionGetModelMetadata.unwrap()(self.session_ptr, &mut metadata_ptr) + }; + + status_to_result(status).map_err(OrtError::ModelMetadata)?; + assert_null_pointer(status, "MetadataStatus")?; + assert_not_null_pointer(metadata_ptr, "Metadata")?; + + Ok(ModelMetadata { + _env: self.env.clone(), + allocator_ptr: self.allocator_ptr, + metadata_ptr, + }) + } + /// Run the input data through the ONNX graph, performing inference. /// /// Note that ONNX models can have multiple inputs; a `Vec<_>` is thus /// used for the input data here. pub fn run<'s, 't, 'm, TIn, TOut, D>( - &'s mut self, + &'s self, + input_arrays: Vec>, + ) -> Result>> + where + TIn: TypeToTensorElementDataType + Debug + Clone, + TOut: TypeToTensorElementDataType + Debug + Clone, + D: ndarray::Dimension, + 'm: 't, // 'm outlives 't (memory info outlives tensor) + 's: 'm, // 's outlives 'm (session outlives memory info) + { + self.run_with_options(input_arrays, &RunOptions::default()) + } + + /// Run the input data through the ONNX graph, performing inference. You can supply additional RunOptions as well. + /// + /// Note that ONNX models can have multiple inputs; a `Vec<_>` is thus + /// used for the input data here. + pub fn run_with_options<'s, 't, 'm, TIn, TOut, D>( + &'s self, input_arrays: Vec>, + run_options: &RunOptions, ) -> Result>> where TIn: TypeToTensorElementDataType + Debug + Clone, @@ -424,7 +473,16 @@ impl<'a> Session<'a> { .map(|input_array_ort| input_array_ort.c_ptr as *const sys::OrtValue) .collect(); - let run_options_ptr: *const sys::OrtRunOptions = std::ptr::null(); + let mut run_options_ptr: *mut sys::OrtRunOptions = std::ptr::null_mut(); + unsafe { + g_ort().CreateRunOptions.unwrap()(&mut run_options_ptr); + status_to_result(if run_options.terminate { + g_ort().RunOptionsSetTerminate.unwrap()(run_options_ptr) + } else { + g_ort().RunOptionsUnsetTerminate.unwrap()(run_options_ptr) + }) + .map_err(OrtError::Run)?; + } let status = unsafe { g_ort().Run.unwrap()( @@ -438,6 +496,10 @@ impl<'a> Session<'a> { output_tensor_extractors_ptrs.as_mut_ptr(), ) }; + unsafe { + g_ort().ReleaseRunOptions.unwrap()(run_options_ptr); + } + status_to_result(status).map_err(OrtError::Run)?; let memory_info_ref = &self.memory_info; @@ -482,7 +544,7 @@ impl<'a> Session<'a> { // Tensor::from_array(self, array) // } - fn validate_input_shapes(&mut self, input_arrays: &[Array]) -> Result<()> + fn validate_input_shapes(&self, input_arrays: &[Array]) -> Result<()> where TIn: TypeToTensorElementDataType + Debug + Clone, D: ndarray::Dimension, @@ -573,6 +635,8 @@ impl<'a> Session<'a> { } } +unsafe impl Send for Session {} + unsafe fn get_tensor_dimensions( tensor_info_ptr: *const sys::OrtTensorTypeAndShapeInfo, ) -> Result> {