/* automatically generated by rust-bindgen 0.65.1 */ pub const WolframLibraryVersion: u32 = 7; pub const __WORDSIZE: u32 = 64; pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1; pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1; pub const __DARWIN_ONLY_VERS_1050: u32 = 1; pub const __DARWIN_UNIX03: u32 = 1; pub const __DARWIN_64_BIT_INO_T: u32 = 1; pub const __DARWIN_VERS_1050: u32 = 1; pub const __DARWIN_NON_CANCELABLE: u32 = 0; pub const __DARWIN_SUF_EXTSN: &[u8; 14usize] = b"$DARWIN_EXTSN\0"; pub const __DARWIN_C_ANSI: u32 = 4096; pub const __DARWIN_C_FULL: u32 = 900000; pub const __DARWIN_C_LEVEL: u32 = 900000; pub const __STDC_WANT_LIB_EXT1__: u32 = 1; pub const __DARWIN_NO_LONG_LONG: u32 = 0; pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1; pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1; pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1; pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1; pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3; pub const __has_ptrcheck: u32 = 0; pub const __PTHREAD_SIZE__: u32 = 8176; pub const __PTHREAD_ATTR_SIZE__: u32 = 56; pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8; pub const __PTHREAD_MUTEX_SIZE__: u32 = 56; pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8; pub const __PTHREAD_COND_SIZE__: u32 = 40; pub const __PTHREAD_ONCE_SIZE__: u32 = 8; pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192; pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16; pub const INT8_MAX: u32 = 127; pub const INT16_MAX: u32 = 32767; pub const INT32_MAX: u32 = 2147483647; pub const INT64_MAX: u64 = 9223372036854775807; pub const INT8_MIN: i32 = -128; pub const INT16_MIN: i32 = -32768; pub const INT32_MIN: i32 = -2147483648; pub const INT64_MIN: i64 = -9223372036854775808; pub const UINT8_MAX: u32 = 255; pub const UINT16_MAX: u32 = 65535; pub const UINT32_MAX: u32 = 4294967295; pub const UINT64_MAX: i32 = -1; pub const INT_LEAST8_MIN: i32 = -128; pub const INT_LEAST16_MIN: i32 = -32768; pub const INT_LEAST32_MIN: i32 = -2147483648; pub const INT_LEAST64_MIN: i64 = -9223372036854775808; pub const INT_LEAST8_MAX: u32 = 127; pub const INT_LEAST16_MAX: u32 = 32767; pub const INT_LEAST32_MAX: u32 = 2147483647; pub const INT_LEAST64_MAX: u64 = 9223372036854775807; pub const UINT_LEAST8_MAX: u32 = 255; pub const UINT_LEAST16_MAX: u32 = 65535; pub const UINT_LEAST32_MAX: u32 = 4294967295; pub const UINT_LEAST64_MAX: i32 = -1; pub const INT_FAST8_MIN: i32 = -128; pub const INT_FAST16_MIN: i32 = -32768; pub const INT_FAST32_MIN: i32 = -2147483648; pub const INT_FAST64_MIN: i64 = -9223372036854775808; pub const INT_FAST8_MAX: u32 = 127; pub const INT_FAST16_MAX: u32 = 32767; pub const INT_FAST32_MAX: u32 = 2147483647; pub const INT_FAST64_MAX: u64 = 9223372036854775807; pub const UINT_FAST8_MAX: u32 = 255; pub const UINT_FAST16_MAX: u32 = 65535; pub const UINT_FAST32_MAX: u32 = 4294967295; pub const UINT_FAST64_MAX: i32 = -1; pub const INTPTR_MAX: u64 = 9223372036854775807; pub const INTPTR_MIN: i64 = -9223372036854775808; pub const UINTPTR_MAX: i32 = -1; pub const SIZE_MAX: i32 = -1; pub const RSIZE_MAX: i32 = -1; pub const WINT_MIN: i32 = -2147483648; pub const WINT_MAX: u32 = 2147483647; pub const SIG_ATOMIC_MIN: i32 = -2147483648; pub const SIG_ATOMIC_MAX: u32 = 2147483647; pub const True: u32 = 1; pub const False: u32 = 0; pub const MType_Integer: u32 = 2; pub const MType_Real: u32 = 3; pub const MType_Complex: u32 = 4; pub const MType_Undef: u32 = 0; pub const MType_Boolean: u32 = 1; pub const MType_Tensor: u32 = 5; pub const MType_SparseArray: u32 = 6; pub const MType_NumericArray: u32 = 7; pub const MType_Image: u32 = 8; pub const MType_UTF8String: u32 = 9; pub const MType_DataStore: u32 = 10; pub type wchar_t = ::std::os::raw::c_int; pub type max_align_t = f64; #[doc = " 7.18.1.2 Minimum-width integer types"] pub type int_least8_t = i8; pub type int_least16_t = i16; pub type int_least32_t = i32; pub type int_least64_t = i64; pub type uint_least8_t = u8; pub type uint_least16_t = u16; pub type uint_least32_t = u32; pub type uint_least64_t = u64; #[doc = " 7.18.1.3 Fastest-width integer types"] pub type int_fast8_t = i8; pub type int_fast16_t = i16; pub type int_fast32_t = i32; pub type int_fast64_t = i64; pub type uint_fast8_t = u8; pub type uint_fast16_t = u16; pub type uint_fast32_t = u32; pub type uint_fast64_t = u64; pub type __int8_t = ::std::os::raw::c_schar; pub type __uint8_t = ::std::os::raw::c_uchar; pub type __int16_t = ::std::os::raw::c_short; pub type __uint16_t = ::std::os::raw::c_ushort; pub type __int32_t = ::std::os::raw::c_int; pub type __uint32_t = ::std::os::raw::c_uint; pub type __int64_t = ::std::os::raw::c_longlong; pub type __uint64_t = ::std::os::raw::c_ulonglong; pub type __darwin_intptr_t = ::std::os::raw::c_long; pub type __darwin_natural_t = ::std::os::raw::c_uint; #[doc = " The rune type below is declared to be an ``int'' instead of the more natural\n ``unsigned long'' or ``long''. Two things are happening here. It is not\n unsigned so that EOF (-1) can be naturally assigned to it and used. Also,\n it looks like 10646 will be a 31 bit standard. This means that if your\n ints cannot hold 32 bits, you will be in trouble. The reason an int was\n chosen over a long is that the is*() and to*() routines take ints (says\n ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it\n here, you lose a bit of ANSI conformance, but your programs will still\n work.\n\n NOTE: rune_t is not covered by ANSI nor other standards, and should not\n be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and\n rune_t must be the same type. Also wint_t must be no narrower than\n wchar_t, and should also be able to hold all members of the largest\n character set plus one extra value (WEOF). wint_t must be at least 16 bits."] pub type __darwin_ct_rune_t = ::std::os::raw::c_int; #[doc = " mbstate_t is an opaque object to keep conversion state, during multibyte\n stream conversions. The content must not be referenced by user programs."] #[repr(C)] #[derive(Copy, Clone)] pub union __mbstate_t { pub __mbstate8: [::std::os::raw::c_char; 128usize], #[doc = " for alignment"] pub _mbstateL: ::std::os::raw::c_longlong, } #[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, concat!("Size of: ", stringify!(__mbstate_t)) ); assert_eq!( ::std::mem::align_of::<__mbstate_t>(), 8usize, concat!("Alignment of ", stringify!(__mbstate_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__mbstate8) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__mbstate_t), "::", stringify!(__mbstate8) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._mbstateL) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__mbstate_t), "::", stringify!(_mbstateL) ) ); } #[doc = " mbstate_t is an opaque object to keep conversion state, during multibyte\n stream conversions. The content must not be referenced by user programs."] pub type __darwin_mbstate_t = __mbstate_t; pub type __darwin_ptrdiff_t = ::std::os::raw::c_long; pub type __darwin_size_t = ::std::os::raw::c_ulong; pub type __darwin_va_list = __builtin_va_list; pub type __darwin_wchar_t = ::std::os::raw::c_int; pub type __darwin_rune_t = __darwin_wchar_t; pub type __darwin_wint_t = ::std::os::raw::c_int; pub type __darwin_clock_t = ::std::os::raw::c_ulong; pub type __darwin_socklen_t = __uint32_t; pub type __darwin_ssize_t = ::std::os::raw::c_long; pub type __darwin_time_t = ::std::os::raw::c_long; pub type __darwin_blkcnt_t = __int64_t; pub type __darwin_blksize_t = __int32_t; pub type __darwin_dev_t = __int32_t; pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint; pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint; pub type __darwin_gid_t = __uint32_t; pub type __darwin_id_t = __uint32_t; pub type __darwin_ino64_t = __uint64_t; pub type __darwin_ino_t = __darwin_ino64_t; pub type __darwin_mach_port_name_t = __darwin_natural_t; pub type __darwin_mach_port_t = __darwin_mach_port_name_t; pub type __darwin_mode_t = __uint16_t; pub type __darwin_off_t = __int64_t; pub type __darwin_pid_t = __int32_t; pub type __darwin_sigset_t = __uint32_t; pub type __darwin_suseconds_t = __int32_t; pub type __darwin_uid_t = __uint32_t; pub type __darwin_useconds_t = __uint32_t; pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize]; pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize]; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __darwin_pthread_handler_rec { #[doc = " Routine to call"] pub __routine: ::std::option::Option, #[doc = " Argument to pass"] pub __arg: *mut ::std::os::raw::c_void, pub __next: *mut __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, concat!("Size of: ", stringify!(__darwin_pthread_handler_rec)) ); assert_eq!( ::std::mem::align_of::<__darwin_pthread_handler_rec>(), 8usize, concat!("Alignment of ", stringify!(__darwin_pthread_handler_rec)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__routine) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__darwin_pthread_handler_rec), "::", stringify!(__routine) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__arg) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(__darwin_pthread_handler_rec), "::", stringify!(__arg) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(__darwin_pthread_handler_rec), "::", stringify!(__next) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _opaque_pthread_attr_t { pub __sig: ::std::os::raw::c_long, pub __opaque: [::std::os::raw::c_char; 56usize], } #[test] fn bindgen_test_layout__opaque_pthread_attr_t() { 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, concat!("Size of: ", stringify!(_opaque_pthread_attr_t)) ); assert_eq!( ::std::mem::align_of::<_opaque_pthread_attr_t>(), 8usize, concat!("Alignment of ", stringify!(_opaque_pthread_attr_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_attr_t), "::", stringify!(__sig) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_attr_t), "::", stringify!(__opaque) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _opaque_pthread_cond_t { pub __sig: ::std::os::raw::c_long, pub __opaque: [::std::os::raw::c_char; 40usize], } #[test] fn bindgen_test_layout__opaque_pthread_cond_t() { 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, concat!("Size of: ", stringify!(_opaque_pthread_cond_t)) ); assert_eq!( ::std::mem::align_of::<_opaque_pthread_cond_t>(), 8usize, concat!("Alignment of ", stringify!(_opaque_pthread_cond_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_cond_t), "::", stringify!(__sig) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_cond_t), "::", stringify!(__opaque) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _opaque_pthread_condattr_t { pub __sig: ::std::os::raw::c_long, pub __opaque: [::std::os::raw::c_char; 8usize], } #[test] fn bindgen_test_layout__opaque_pthread_condattr_t() { 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, concat!("Size of: ", stringify!(_opaque_pthread_condattr_t)) ); assert_eq!( ::std::mem::align_of::<_opaque_pthread_condattr_t>(), 8usize, concat!("Alignment of ", stringify!(_opaque_pthread_condattr_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_condattr_t), "::", stringify!(__sig) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_condattr_t), "::", stringify!(__opaque) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _opaque_pthread_mutex_t { pub __sig: ::std::os::raw::c_long, pub __opaque: [::std::os::raw::c_char; 56usize], } #[test] fn bindgen_test_layout__opaque_pthread_mutex_t() { 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, concat!("Size of: ", stringify!(_opaque_pthread_mutex_t)) ); assert_eq!( ::std::mem::align_of::<_opaque_pthread_mutex_t>(), 8usize, concat!("Alignment of ", stringify!(_opaque_pthread_mutex_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_mutex_t), "::", stringify!(__sig) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_mutex_t), "::", stringify!(__opaque) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _opaque_pthread_mutexattr_t { pub __sig: ::std::os::raw::c_long, pub __opaque: [::std::os::raw::c_char; 8usize], } #[test] fn bindgen_test_layout__opaque_pthread_mutexattr_t() { 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, concat!("Size of: ", stringify!(_opaque_pthread_mutexattr_t)) ); assert_eq!( ::std::mem::align_of::<_opaque_pthread_mutexattr_t>(), 8usize, concat!("Alignment of ", stringify!(_opaque_pthread_mutexattr_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_mutexattr_t), "::", stringify!(__sig) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_mutexattr_t), "::", stringify!(__opaque) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _opaque_pthread_once_t { pub __sig: ::std::os::raw::c_long, pub __opaque: [::std::os::raw::c_char; 8usize], } #[test] fn bindgen_test_layout__opaque_pthread_once_t() { 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, concat!("Size of: ", stringify!(_opaque_pthread_once_t)) ); assert_eq!( ::std::mem::align_of::<_opaque_pthread_once_t>(), 8usize, concat!("Alignment of ", stringify!(_opaque_pthread_once_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_once_t), "::", stringify!(__sig) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_once_t), "::", stringify!(__opaque) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _opaque_pthread_rwlock_t { pub __sig: ::std::os::raw::c_long, pub __opaque: [::std::os::raw::c_char; 192usize], } #[test] fn bindgen_test_layout__opaque_pthread_rwlock_t() { 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, concat!("Size of: ", stringify!(_opaque_pthread_rwlock_t)) ); assert_eq!( ::std::mem::align_of::<_opaque_pthread_rwlock_t>(), 8usize, concat!("Alignment of ", stringify!(_opaque_pthread_rwlock_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_rwlock_t), "::", stringify!(__sig) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_rwlock_t), "::", stringify!(__opaque) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _opaque_pthread_rwlockattr_t { pub __sig: ::std::os::raw::c_long, pub __opaque: [::std::os::raw::c_char; 16usize], } #[test] fn bindgen_test_layout__opaque_pthread_rwlockattr_t() { 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, concat!("Size of: ", stringify!(_opaque_pthread_rwlockattr_t)) ); assert_eq!( ::std::mem::align_of::<_opaque_pthread_rwlockattr_t>(), 8usize, concat!("Alignment of ", stringify!(_opaque_pthread_rwlockattr_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_rwlockattr_t), "::", stringify!(__sig) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_rwlockattr_t), "::", stringify!(__opaque) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _opaque_pthread_t { pub __sig: ::std::os::raw::c_long, pub __cleanup_stack: *mut __darwin_pthread_handler_rec, pub __opaque: [::std::os::raw::c_char; 8176usize], } #[test] fn bindgen_test_layout__opaque_pthread_t() { 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, concat!("Size of: ", stringify!(_opaque_pthread_t)) ); assert_eq!( ::std::mem::align_of::<_opaque_pthread_t>(), 8usize, concat!("Alignment of ", stringify!(_opaque_pthread_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_t), "::", stringify!(__sig) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__cleanup_stack) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_t), "::", stringify!(__cleanup_stack) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(_opaque_pthread_t), "::", stringify!(__opaque) ) ); } pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t; pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t; pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t; pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong; pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t; pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t; pub type __darwin_pthread_once_t = _opaque_pthread_once_t; pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t; pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t; pub type __darwin_pthread_t = *mut _opaque_pthread_t; pub type u_int8_t = ::std::os::raw::c_uchar; pub type u_int16_t = ::std::os::raw::c_ushort; pub type u_int32_t = ::std::os::raw::c_uint; pub type u_int64_t = ::std::os::raw::c_ulonglong; pub type register_t = i64; pub type user_addr_t = u_int64_t; pub type user_size_t = u_int64_t; pub type user_ssize_t = i64; pub type user_long_t = i64; pub type user_ulong_t = u_int64_t; pub type user_time_t = i64; pub type user_off_t = i64; pub type syscall_arg_t = u_int64_t; pub type intmax_t = ::std::os::raw::c_long; pub type uintmax_t = ::std::os::raw::c_ulong; pub type mint = i64; pub type umint = u64; pub type mbool = ::std::os::raw::c_int; pub type mreal = f64; pub type type_t = ::std::os::raw::c_int; pub type errcode_t = ::std::os::raw::c_int; pub type UBIT32 = u32; pub type UBIT64 = u64; #[doc = " Platform specific variants in mcomplex.h"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct mcomplex { pub ri: [mreal; 2usize], } #[test] fn bindgen_test_layout_mcomplex() { 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!(mcomplex)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(mcomplex)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).ri) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(mcomplex), "::", stringify!(ri) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct st_MNumericArray { _unused: [u8; 0], } #[doc = " Incomplete types"] pub type MTensor = *mut st_MNumericArray; pub type MRawArray = *mut st_MNumericArray; pub type MNumericArray = *mut st_MNumericArray; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct MSparseArray_struct { _unused: [u8; 0], } pub type MSparseArray = *mut MSparseArray_struct; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct IMAGEOBJ_ENTRY { _unused: [u8; 0], } pub type MImage = *mut IMAGEOBJ_ENTRY; #[repr(C)] #[derive(Copy, Clone)] pub union MArgument { pub boolean: *mut mbool, pub integer: *mut mint, pub real: *mut mreal, pub cmplex: *mut mcomplex, pub tensor: *mut MTensor, pub sparse: *mut MSparseArray, pub numeric: *mut MNumericArray, pub image: *mut MImage, pub utf8string: *mut *mut ::std::os::raw::c_char, } #[test] fn bindgen_test_layout_MArgument() { 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!(MArgument)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(MArgument)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(MArgument), "::", stringify!(boolean) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(MArgument), "::", stringify!(integer) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).real) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(MArgument), "::", stringify!(real) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).cmplex) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(MArgument), "::", stringify!(cmplex) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tensor) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(MArgument), "::", stringify!(tensor) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).sparse) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(MArgument), "::", stringify!(sparse) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).numeric) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(MArgument), "::", stringify!(numeric) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).image) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(MArgument), "::", stringify!(image) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(MArgument), "::", stringify!(utf8string) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct MLink { _unused: [u8; 0], } pub type MLINK = *mut MLink; pub type WSLINK = *mut MLink; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ml_environment { _unused: [u8; 0], } pub type MLENV = *mut ml_environment; pub type MLEnvironment = MLENV; pub type WSENV = *mut ml_environment; pub type WSEnvironment = WSENV; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct st_MInputStream { _unused: [u8; 0], } pub type MInputStream = *mut st_MInputStream; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct st_MOutputStream { _unused: [u8; 0], } pub type MOutputStream = *mut st_MOutputStream; pub const LIBRARY_NO_ERROR: _bindgen_ty_1 = 0; pub const LIBRARY_TYPE_ERROR: _bindgen_ty_1 = 1; pub const LIBRARY_RANK_ERROR: _bindgen_ty_1 = 2; pub const LIBRARY_DIMENSION_ERROR: _bindgen_ty_1 = 3; pub const LIBRARY_NUMERICAL_ERROR: _bindgen_ty_1 = 4; pub const LIBRARY_MEMORY_ERROR: _bindgen_ty_1 = 5; pub const LIBRARY_FUNCTION_ERROR: _bindgen_ty_1 = 6; pub const LIBRARY_VERSION_ERROR: _bindgen_ty_1 = 7; #[doc = " Error types for LibraryErrorHandler"] pub type _bindgen_ty_1 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct st_DataStore { _unused: [u8; 0], } pub type DataStore = *mut st_DataStore; pub type WolframLibraryData = *mut st_WolframLibraryData; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct st_WolframLibraryData { pub UTF8String_disown: ::std::option::Option, pub MTensor_new: ::std::option::Option< unsafe extern "C" fn( arg1: mint, arg2: mint, arg3: *const mint, arg4: *mut MTensor, ) -> ::std::os::raw::c_int, >, pub MTensor_free: ::std::option::Option, pub MTensor_clone: ::std::option::Option< unsafe extern "C" fn(arg1: MTensor, arg2: *mut MTensor) -> ::std::os::raw::c_int, >, pub MTensor_shareCount: ::std::option::Option mint>, pub MTensor_disown: ::std::option::Option, pub MTensor_disownAll: ::std::option::Option, pub MTensor_setInteger: ::std::option::Option< unsafe extern "C" fn( arg1: MTensor, arg2: *mut mint, arg3: mint, ) -> ::std::os::raw::c_int, >, pub MTensor_setReal: ::std::option::Option< unsafe extern "C" fn( arg1: MTensor, arg2: *mut mint, arg3: mreal, ) -> ::std::os::raw::c_int, >, pub MTensor_setComplex: ::std::option::Option< unsafe extern "C" fn( arg1: MTensor, arg2: *mut mint, arg3: mcomplex, ) -> ::std::os::raw::c_int, >, pub MTensor_setMTensor: ::std::option::Option< unsafe extern "C" fn( arg1: MTensor, arg2: MTensor, arg3: *mut mint, arg4: mint, ) -> ::std::os::raw::c_int, >, pub MTensor_getInteger: ::std::option::Option< unsafe extern "C" fn( arg1: MTensor, arg2: *mut mint, arg3: *mut mint, ) -> ::std::os::raw::c_int, >, pub MTensor_getReal: ::std::option::Option< unsafe extern "C" fn( arg1: MTensor, arg2: *mut mint, arg3: *mut mreal, ) -> ::std::os::raw::c_int, >, pub MTensor_getComplex: ::std::option::Option< unsafe extern "C" fn( arg1: MTensor, arg2: *mut mint, arg3: *mut mcomplex, ) -> ::std::os::raw::c_int, >, pub MTensor_getMTensor: ::std::option::Option< unsafe extern "C" fn( arg1: MTensor, arg2: *mut mint, arg3: mint, arg4: *mut MTensor, ) -> ::std::os::raw::c_int, >, pub MTensor_getRank: ::std::option::Option mint>, pub MTensor_getDimensions: ::std::option::Option *const mint>, pub MTensor_getType: ::std::option::Option mint>, pub MTensor_getFlattenedLength: ::std::option::Option mint>, pub MTensor_getIntegerData: ::std::option::Option *mut mint>, pub MTensor_getRealData: ::std::option::Option *mut mreal>, pub MTensor_getComplexData: ::std::option::Option *mut mcomplex>, pub Message: ::std::option::Option, pub AbortQ: ::std::option::Option mint>, pub getWSLINK: ::std::option::Option WSLINK>, pub processWSLINK: ::std::option::Option< unsafe extern "C" fn(arg1: WSLINK) -> ::std::os::raw::c_int, >, pub evaluateExpression: ::std::option::Option< unsafe extern "C" fn( arg1: WolframLibraryData, arg2: *mut ::std::os::raw::c_char, arg3: ::std::os::raw::c_int, arg4: mint, arg5: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int, >, pub runtimeData: *mut st_WolframRuntimeData, pub compileLibraryFunctions: *mut st_WolframCompileLibrary_Functions, pub VersionNumber: mint, #[doc = " Added in WolframLibraryVersion 2"] pub registerInputStreamMethod: ::std::option::Option< unsafe extern "C" fn( name: *const ::std::os::raw::c_char, ctor: ::std::option::Option< unsafe extern "C" fn( arg1: MInputStream, msgHead: *const ::std::os::raw::c_char, optionsIn: *mut ::std::os::raw::c_void, ), >, handlerTest: ::std::option::Option< unsafe extern "C" fn( arg1: *mut ::std::os::raw::c_void, arg2: *mut ::std::os::raw::c_char, ) -> mbool, >, methodData: *mut ::std::os::raw::c_void, destroyMethod: ::std::option::Option< unsafe extern "C" fn(methodData: *mut ::std::os::raw::c_void), >, ) -> mbool, >, pub unregisterInputStreamMethod: ::std::option::Option< unsafe extern "C" fn(name: *const ::std::os::raw::c_char) -> mbool, >, pub registerOutputStreamMethod: ::std::option::Option< unsafe extern "C" fn( name: *const ::std::os::raw::c_char, ctor: ::std::option::Option< unsafe extern "C" fn( arg1: MOutputStream, msgHead: *const ::std::os::raw::c_char, optionsIn: *mut ::std::os::raw::c_void, appendMode: mbool, ), >, handlerTest: ::std::option::Option< unsafe extern "C" fn( arg1: *mut ::std::os::raw::c_void, arg2: *mut ::std::os::raw::c_char, ) -> mbool, >, methodData: *mut ::std::os::raw::c_void, destroyMethod: ::std::option::Option< unsafe extern "C" fn(methodData: *mut ::std::os::raw::c_void), >, ) -> mbool, >, pub unregisterOutputStreamMethod: ::std::option::Option< unsafe extern "C" fn(name: *const ::std::os::raw::c_char) -> mbool, >, pub ioLibraryFunctions: *mut st_WolframIOLibrary_Functions, pub getWSLINKEnvironment: ::std::option::Option WSENV>, pub sparseLibraryFunctions: *mut st_WolframSparseLibrary_Functions, pub imageLibraryFunctions: *mut st_WolframImageLibrary_Functions, pub registerLibraryExpressionManager: ::std::option::Option< unsafe extern "C" fn( mname: *const ::std::os::raw::c_char, mfun: ::std::option::Option< unsafe extern "C" fn(arg1: WolframLibraryData, arg2: mbool, arg3: mint), >, ) -> ::std::os::raw::c_int, >, pub unregisterLibraryExpressionManager: ::std::option::Option< unsafe extern "C" fn( mname: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int, >, pub releaseManagedLibraryExpression: ::std::option::Option< unsafe extern "C" fn( mname: *const ::std::os::raw::c_char, id: mint, ) -> ::std::os::raw::c_int, >, pub registerLibraryCallbackManager: ::std::option::Option< unsafe extern "C" fn( name: *const ::std::os::raw::c_char, mfun: ::std::option::Option< unsafe extern "C" fn( arg1: WolframLibraryData, arg2: mint, arg3: MTensor, ) -> mbool, >, ) -> ::std::os::raw::c_int, >, pub unregisterLibraryCallbackManager: ::std::option::Option< unsafe extern "C" fn( name: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int, >, pub callLibraryCallbackFunction: ::std::option::Option< unsafe extern "C" fn( id: mint, ArgC: mint, Args: *mut MArgument, Res: MArgument, ) -> ::std::os::raw::c_int, >, pub releaseLibraryCallbackFunction: ::std::option::Option ::std::os::raw::c_int>, #[doc = " security callback"] pub validatePath: ::std::option::Option< unsafe extern "C" fn( path: *mut ::std::os::raw::c_char, type_: ::std::os::raw::c_char, ) -> mbool, >, pub protectedModeQ: ::std::option::Option mbool>, pub rawarrayLibraryFunctions: *mut st_WolframRawArrayLibrary_Functions, pub numericarrayLibraryFunctions: *mut st_WolframNumericArrayLibrary_Functions, #[doc = "Sets the value ParallelThreadNumber and returns the old value, or the input if invalid.\nThe old value should be stored in a local variable.\nThe old value must be restored using restoreParallelThreadNumber\nbefore the setting routine exits."] pub setParallelThreadNumber: ::std::option::Option< unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int, >, pub restoreParallelThreadNumber: ::std::option::Option, pub getParallelThreadNumber: ::std::option::Option ::std::os::raw::c_int>, #[doc = "Allocates a block of size bytes of memory.\nThe content of the newly allocated block of memory is not initialized, remaining with indeterminate values.\nIf size is zero and in case of failure, a null pointer is returned."] pub WL_malloc: ::std::option::Option< unsafe extern "C" fn(size: usize) -> *mut ::std::os::raw::c_void, >, #[doc = "Allocates a block of size bytes of aligned memory.\nThe content of the newly allocated block of memory is not initialized, remaining with indeterminate values.\nIf size is zero and in case of failure, a null pointer is returned."] pub WL_malloc_aligned: ::std::option::Option< unsafe extern "C" fn(size: usize) -> *mut ::std::os::raw::c_void, >, #[doc = "Reallocates the given area of memory. It must be previously allocated by WL_malloc and not yet freed with\nWL_free, otherwise, the results are undefined.\nIf there is not enough memory, the old memory block is not freed and null pointer is returned.\nIn case that ptr is a null pointer, the function behaves like WL_malloc, assigning a new block of new_size bytes\nand returning a pointer to its beginning.\nIf new_size is zero, a null pointer is returned (in which case the old memory block may not be freed)."] pub WL_realloc: ::std::option::Option< unsafe extern "C" fn( ptr: *mut ::std::os::raw::c_void, new_size: usize, ) -> *mut ::std::os::raw::c_void, >, #[doc = "Reallocates the given area of aligned memory. It must be previously allocated by WL_malloc_aligned and not yet\nfreed with WL_free, otherwise, the results are undefined.\nIf there is not enough memory, the old memory block is not freed and null pointer is returned.\nIn case that ptr is a null pointer, the function behaves like WL_malloc_aligned, assigning a new block of\nnew_size bytes and returning a pointer to its beginning.\nIf new_size is zero, a null pointer is returned (in which case the old memory block may not be freed)."] pub WL_realloc_aligned: ::std::option::Option< unsafe extern "C" fn( ptr: *mut ::std::os::raw::c_void, new_size: usize, ) -> *mut ::std::os::raw::c_void, >, #[doc = "Deallocates a block of memory previously allocated by a call to WL_malloc, WL_malloc_aligned, WL_realloc or\nWL_realloc_aligned. If ptr does not point to a block of memory allocated with the above functions, it causes\nundefined behavior. If ptr is a null pointer, the function does nothing."] pub WL_free: ::std::option::Option, } #[test] fn bindgen_test_layout_st_WolframLibraryData() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 456usize, concat!("Size of: ", stringify!(st_WolframLibraryData)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(st_WolframLibraryData)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).UTF8String_disown) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(UTF8String_disown) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_new) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_new) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_free) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_free) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_clone) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_clone) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_shareCount) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_shareCount) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_disown) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_disown) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_disownAll) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_disownAll) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_setInteger) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_setInteger) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_setReal) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_setReal) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_setComplex) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_setComplex) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_setMTensor) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_setMTensor) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_getInteger) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_getInteger) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_getReal) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_getReal) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_getComplex) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_getComplex) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_getMTensor) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_getMTensor) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_getRank) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_getRank) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_getDimensions) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_getDimensions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_getType) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_getType) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_getFlattenedLength) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_getFlattenedLength) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_getIntegerData) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_getIntegerData) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_getRealData) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_getRealData) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MTensor_getComplexData) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(MTensor_getComplexData) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).Message) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(Message) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).AbortQ) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(AbortQ) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).getWSLINK) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(getWSLINK) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).processWSLINK) as usize - ptr as usize }, 200usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(processWSLINK) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).evaluateExpression) as usize - ptr as usize }, 208usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(evaluateExpression) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).runtimeData) as usize - ptr as usize }, 216usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(runtimeData) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).compileLibraryFunctions) as usize - ptr as usize }, 224usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(compileLibraryFunctions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).VersionNumber) as usize - ptr as usize }, 232usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(VersionNumber) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).registerInputStreamMethod) as usize - ptr as usize }, 240usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(registerInputStreamMethod) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).unregisterInputStreamMethod) as usize - ptr as usize }, 248usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(unregisterInputStreamMethod) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).registerOutputStreamMethod) as usize - ptr as usize }, 256usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(registerOutputStreamMethod) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).unregisterOutputStreamMethod) as usize - ptr as usize }, 264usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(unregisterOutputStreamMethod) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).ioLibraryFunctions) as usize - ptr as usize }, 272usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(ioLibraryFunctions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).getWSLINKEnvironment) as usize - ptr as usize }, 280usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(getWSLINKEnvironment) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).sparseLibraryFunctions) as usize - ptr as usize }, 288usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(sparseLibraryFunctions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).imageLibraryFunctions) as usize - ptr as usize }, 296usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(imageLibraryFunctions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).registerLibraryExpressionManager) as usize - ptr as usize }, 304usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(registerLibraryExpressionManager) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).unregisterLibraryExpressionManager) as usize - ptr as usize }, 312usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(unregisterLibraryExpressionManager) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).releaseManagedLibraryExpression) as usize - ptr as usize }, 320usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(releaseManagedLibraryExpression) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).registerLibraryCallbackManager) as usize - ptr as usize }, 328usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(registerLibraryCallbackManager) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).unregisterLibraryCallbackManager) as usize - ptr as usize }, 336usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(unregisterLibraryCallbackManager) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).callLibraryCallbackFunction) as usize - ptr as usize }, 344usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(callLibraryCallbackFunction) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).releaseLibraryCallbackFunction) as usize - ptr as usize }, 352usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(releaseLibraryCallbackFunction) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).validatePath) as usize - ptr as usize }, 360usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(validatePath) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).protectedModeQ) as usize - ptr as usize }, 368usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(protectedModeQ) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).rawarrayLibraryFunctions) as usize - ptr as usize }, 376usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(rawarrayLibraryFunctions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).numericarrayLibraryFunctions) as usize - ptr as usize }, 384usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(numericarrayLibraryFunctions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).setParallelThreadNumber) as usize - ptr as usize }, 392usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(setParallelThreadNumber) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).restoreParallelThreadNumber) as usize - ptr as usize }, 400usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(restoreParallelThreadNumber) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).getParallelThreadNumber) as usize - ptr as usize }, 408usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(getParallelThreadNumber) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).WL_malloc) as usize - ptr as usize }, 416usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(WL_malloc) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).WL_malloc_aligned) as usize - ptr as usize }, 424usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(WL_malloc_aligned) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).WL_realloc) as usize - ptr as usize }, 432usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(WL_realloc) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).WL_realloc_aligned) as usize - ptr as usize }, 440usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(WL_realloc_aligned) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).WL_free) as usize - ptr as usize }, 448usize, concat!( "Offset of field: ", stringify!(st_WolframLibraryData), "::", stringify!(WL_free) ) ); } pub mod MNumericArray_Data_Type { pub type Type = ::std::os::raw::c_uint; pub const MNumericArray_Type_Undef: Type = 0; pub const MNumericArray_Type_Bit8: Type = 1; pub const MNumericArray_Type_UBit8: Type = 2; pub const MNumericArray_Type_Bit16: Type = 3; pub const MNumericArray_Type_UBit16: Type = 4; pub const MNumericArray_Type_Bit32: Type = 5; pub const MNumericArray_Type_UBit32: Type = 6; pub const MNumericArray_Type_Bit64: Type = 7; pub const MNumericArray_Type_UBit64: Type = 8; pub const MNumericArray_Type_Real32: Type = 9; pub const MNumericArray_Type_Real64: Type = 10; pub const MNumericArray_Type_Complex_Real32: Type = 11; pub const MNumericArray_Type_Complex_Real64: Type = 12; pub const MNumericArray_Type_Real16: Type = 13; pub const MNumericArray_Type_Complex_Real16: Type = 14; } pub use self::MNumericArray_Data_Type::Type as numericarray_data_t; pub mod MNumericArray_Convert_Method { pub type Type = ::std::os::raw::c_uint; pub const MNumericArray_Convert_Check: Type = 1; pub const MNumericArray_Convert_Clip_Check: Type = 2; pub const MNumericArray_Convert_Coerce: Type = 3; pub const MNumericArray_Convert_Clip_Coerce: Type = 4; pub const MNumericArray_Convert_Round: Type = 5; pub const MNumericArray_Convert_Clip_Round: Type = 6; pub const MNumericArray_Convert_Scale: Type = 7; pub const MNumericArray_Convert_Clip_Scale: Type = 8; pub const MNumericArray_Convert_Cast: Type = 9; pub const MNumericArray_Convert_Clip_Cast: Type = 10; } pub use self::MNumericArray_Convert_Method::Type as numericarray_convert_method_t; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct st_WolframNumericArrayLibrary_Functions { pub MNumericArray_new: ::std::option::Option< unsafe extern "C" fn( arg1: numericarray_data_t, arg2: mint, arg3: *const mint, arg4: *mut MNumericArray, ) -> errcode_t, >, pub MNumericArray_free: ::std::option::Option, pub MNumericArray_clone: ::std::option::Option< unsafe extern "C" fn(arg1: MNumericArray, arg2: *mut MNumericArray) -> errcode_t, >, pub MNumericArray_disown: ::std::option::Option, pub MNumericArray_disownAll: ::std::option::Option, pub MNumericArray_shareCount: ::std::option::Option mint>, pub MNumericArray_getType: ::std::option::Option< unsafe extern "C" fn(arg1: MNumericArray) -> numericarray_data_t, >, pub MNumericArray_getRank: ::std::option::Option mint>, pub MNumericArray_getDimensions: ::std::option::Option *const mint>, pub MNumericArray_getFlattenedLength: ::std::option::Option mint>, pub MNumericArray_getData: ::std::option::Option< unsafe extern "C" fn(arg1: MNumericArray) -> *mut ::std::os::raw::c_void, >, pub MNumericArray_convertType: ::std::option::Option< unsafe extern "C" fn( arg1: *mut MNumericArray, arg2: MNumericArray, arg3: numericarray_data_t, arg4: numericarray_convert_method_t, arg5: mreal, ) -> errcode_t, >, } #[test] fn bindgen_test_layout_st_WolframNumericArrayLibrary_Functions() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 96usize, concat!( "Size of: ", stringify!(st_WolframNumericArrayLibrary_Functions) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(st_WolframNumericArrayLibrary_Functions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MNumericArray_new) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(st_WolframNumericArrayLibrary_Functions), "::", stringify!(MNumericArray_new) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MNumericArray_free) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(st_WolframNumericArrayLibrary_Functions), "::", stringify!(MNumericArray_free) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MNumericArray_clone) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(st_WolframNumericArrayLibrary_Functions), "::", stringify!(MNumericArray_clone) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MNumericArray_disown) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(st_WolframNumericArrayLibrary_Functions), "::", stringify!(MNumericArray_disown) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MNumericArray_disownAll) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(st_WolframNumericArrayLibrary_Functions), "::", stringify!(MNumericArray_disownAll) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MNumericArray_shareCount) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(st_WolframNumericArrayLibrary_Functions), "::", stringify!(MNumericArray_shareCount) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MNumericArray_getType) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(st_WolframNumericArrayLibrary_Functions), "::", stringify!(MNumericArray_getType) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MNumericArray_getRank) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(st_WolframNumericArrayLibrary_Functions), "::", stringify!(MNumericArray_getRank) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MNumericArray_getDimensions) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(st_WolframNumericArrayLibrary_Functions), "::", stringify!(MNumericArray_getDimensions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MNumericArray_getFlattenedLength) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(st_WolframNumericArrayLibrary_Functions), "::", stringify!(MNumericArray_getFlattenedLength) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MNumericArray_getData) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(st_WolframNumericArrayLibrary_Functions), "::", stringify!(MNumericArray_getData) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MNumericArray_convertType) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(st_WolframNumericArrayLibrary_Functions), "::", stringify!(MNumericArray_convertType) ) ); } pub type WolframNumericArrayLibrary_Functions = *mut st_WolframNumericArrayLibrary_Functions; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DataStoreNode_t { _unused: [u8; 0], } pub type DataStoreNode = *mut DataStoreNode_t; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct st_WolframIOLibrary_Functions { pub createAsynchronousTaskWithoutThread: ::std::option::Option mint>, pub createAsynchronousTaskWithThread: ::std::option::Option< unsafe extern "C" fn( asyncRunner: ::std::option::Option< unsafe extern "C" fn( asyncTaskID: mint, initData: *mut ::std::os::raw::c_void, ), >, initData: *mut ::std::os::raw::c_void, ) -> mint, >, pub raiseAsyncEvent: ::std::option::Option< unsafe extern "C" fn( asyncTaskID: mint, eventType: *mut ::std::os::raw::c_char, arg1: DataStore, ), >, pub asynchronousTaskAliveQ: ::std::option::Option mbool>, pub asynchronousTaskStartedQ: ::std::option::Option mbool>, pub createDataStore: ::std::option::Option DataStore>, pub DataStore_addInteger: ::std::option::Option, pub DataStore_addReal: ::std::option::Option, pub DataStore_addComplex: ::std::option::Option, pub DataStore_addString: ::std::option::Option< unsafe extern "C" fn(arg1: DataStore, arg2: *mut ::std::os::raw::c_char), >, pub DataStore_addMTensor: ::std::option::Option, pub DataStore_addMRawArray: ::std::option::Option, pub DataStore_addMImage: ::std::option::Option, pub DataStore_addDataStore: ::std::option::Option, pub DataStore_addNamedInteger: ::std::option::Option< unsafe extern "C" fn( arg1: DataStore, arg2: *mut ::std::os::raw::c_char, arg3: mint, ), >, pub DataStore_addNamedReal: ::std::option::Option< unsafe extern "C" fn( arg1: DataStore, arg2: *mut ::std::os::raw::c_char, arg3: mreal, ), >, pub DataStore_addNamedComplex: ::std::option::Option< unsafe extern "C" fn( arg1: DataStore, arg2: *mut ::std::os::raw::c_char, arg3: mcomplex, ), >, pub DataStore_addNamedString: ::std::option::Option< unsafe extern "C" fn( arg1: DataStore, arg2: *mut ::std::os::raw::c_char, arg3: *mut ::std::os::raw::c_char, ), >, pub DataStore_addNamedMTensor: ::std::option::Option< unsafe extern "C" fn( arg1: DataStore, arg2: *mut ::std::os::raw::c_char, arg3: MTensor, ), >, pub DataStore_addNamedMRawArray: ::std::option::Option< unsafe extern "C" fn( arg1: DataStore, arg2: *mut ::std::os::raw::c_char, arg3: MRawArray, ), >, pub DataStore_addNamedMImage: ::std::option::Option< unsafe extern "C" fn( arg1: DataStore, arg2: *mut ::std::os::raw::c_char, arg3: MImage, ), >, pub DataStore_addNamedDataStore: ::std::option::Option< unsafe extern "C" fn( arg1: DataStore, arg2: *mut ::std::os::raw::c_char, arg3: DataStore, ), >, pub removeAsynchronousTask: ::std::option::Option mint>, pub deleteDataStore: ::std::option::Option, pub copyDataStore: ::std::option::Option DataStore>, pub DataStore_getLength: ::std::option::Option mint>, pub DataStore_getFirstNode: ::std::option::Option DataStoreNode>, pub DataStore_getLastNode: ::std::option::Option DataStoreNode>, pub DataStoreNode_getNextNode: ::std::option::Option DataStoreNode>, pub DataStoreNode_getDataType: ::std::option::Option type_t>, pub DataStoreNode_getData: ::std::option::Option< unsafe extern "C" fn(arg1: DataStoreNode, arg2: *mut MArgument) -> errcode_t, >, pub DataStoreNode_getName: ::std::option::Option< unsafe extern "C" fn( arg1: DataStoreNode, arg2: *mut *mut ::std::os::raw::c_char, ) -> errcode_t, >, pub DataStore_addBoolean: ::std::option::Option, pub DataStore_addNamedBoolean: ::std::option::Option< unsafe extern "C" fn( arg1: DataStore, arg2: *mut ::std::os::raw::c_char, arg3: mbool, ), >, pub DataStore_addMNumericArray: ::std::option::Option, pub DataStore_addNamedMNumericArray: ::std::option::Option< unsafe extern "C" fn( arg1: DataStore, arg2: *mut ::std::os::raw::c_char, arg3: MNumericArray, ), >, pub DataStore_addMSparseArray: ::std::option::Option, pub DataStore_addNamedMSparseArray: ::std::option::Option< unsafe extern "C" fn( arg1: DataStore, arg2: *mut ::std::os::raw::c_char, arg3: MSparseArray, ), >, } #[test] fn bindgen_test_layout_st_WolframIOLibrary_Functions() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 304usize, concat!("Size of: ", stringify!(st_WolframIOLibrary_Functions)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(st_WolframIOLibrary_Functions)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).createAsynchronousTaskWithoutThread) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(createAsynchronousTaskWithoutThread) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).createAsynchronousTaskWithThread) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(createAsynchronousTaskWithThread) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).raiseAsyncEvent) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(raiseAsyncEvent) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).asynchronousTaskAliveQ) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(asynchronousTaskAliveQ) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).asynchronousTaskStartedQ) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(asynchronousTaskStartedQ) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).createDataStore) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(createDataStore) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addInteger) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addInteger) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addReal) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addReal) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addComplex) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addComplex) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addString) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addString) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addMTensor) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addMTensor) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addMRawArray) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addMRawArray) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addMImage) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addMImage) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addDataStore) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addDataStore) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addNamedInteger) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addNamedInteger) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addNamedReal) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addNamedReal) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addNamedComplex) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addNamedComplex) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addNamedString) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addNamedString) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addNamedMTensor) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addNamedMTensor) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addNamedMRawArray) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addNamedMRawArray) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addNamedMImage) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addNamedMImage) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addNamedDataStore) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addNamedDataStore) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).removeAsynchronousTask) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(removeAsynchronousTask) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).deleteDataStore) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(deleteDataStore) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).copyDataStore) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(copyDataStore) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_getLength) as usize - ptr as usize }, 200usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_getLength) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_getFirstNode) as usize - ptr as usize }, 208usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_getFirstNode) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_getLastNode) as usize - ptr as usize }, 216usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_getLastNode) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStoreNode_getNextNode) as usize - ptr as usize }, 224usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStoreNode_getNextNode) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStoreNode_getDataType) as usize - ptr as usize }, 232usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStoreNode_getDataType) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStoreNode_getData) as usize - ptr as usize }, 240usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStoreNode_getData) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStoreNode_getName) as usize - ptr as usize }, 248usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStoreNode_getName) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addBoolean) as usize - ptr as usize }, 256usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addBoolean) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addNamedBoolean) as usize - ptr as usize }, 264usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addNamedBoolean) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addMNumericArray) as usize - ptr as usize }, 272usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addMNumericArray) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addNamedMNumericArray) as usize - ptr as usize }, 280usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addNamedMNumericArray) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addMSparseArray) as usize - ptr as usize }, 288usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addMSparseArray) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).DataStore_addNamedMSparseArray) as usize - ptr as usize }, 296usize, concat!( "Offset of field: ", stringify!(st_WolframIOLibrary_Functions), "::", stringify!(DataStore_addNamedMSparseArray) ) ); } pub type WolframIOLibrary_Functions = *mut st_WolframIOLibrary_Functions; pub type raw_t_bit = ::std::os::raw::c_schar; pub type raw_t_ubit8 = ::std::os::raw::c_uchar; pub type raw_t_ubit16 = ::std::os::raw::c_ushort; pub type raw_t_real32 = f32; pub type raw_t_real64 = f64; pub mod MImage_Data_Type { pub type Type = ::std::os::raw::c_int; pub const MImage_Type_Undef: Type = -1; pub const MImage_Type_Bit: Type = 0; pub const MImage_Type_Bit8: Type = 1; pub const MImage_Type_Bit16: Type = 2; pub const MImage_Type_Real32: Type = 3; pub const MImage_Type_Real: Type = 4; } pub use self::MImage_Data_Type::Type as imagedata_t; pub mod MImage_CS_Type { pub type Type = ::std::os::raw::c_int; pub const MImage_CS_Undef: Type = -1; pub const MImage_CS_Gray: Type = 0; pub const MImage_CS_RGB: Type = 1; pub const MImage_CS_HSB: Type = 2; pub const MImage_CS_CMYK: Type = 3; pub const MImage_CS_XYZ: Type = 4; pub const MImage_CS_LUV: Type = 5; pub const MImage_CS_LAB: Type = 6; pub const MImage_CS_LCH: Type = 7; pub const MImage_CS_Automatic: Type = 8; } pub use self::MImage_CS_Type::Type as colorspace_t; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct st_WolframImageLibrary_Functions { #[doc = " width"] pub MImage_new2D: ::std::option::Option< unsafe extern "C" fn( arg1: mint, arg2: mint, arg3: mint, arg4: imagedata_t, arg5: colorspace_t, arg6: mbool, arg7: *mut MImage, ) -> ::std::os::raw::c_int, >, #[doc = " slices"] pub MImage_new3D: ::std::option::Option< unsafe extern "C" fn( arg1: mint, arg2: mint, arg3: mint, arg4: mint, arg5: imagedata_t, arg6: colorspace_t, arg7: mbool, arg8: *mut MImage, ) -> ::std::os::raw::c_int, >, pub MImage_clone: ::std::option::Option< unsafe extern "C" fn(arg1: MImage, arg2: *mut MImage) -> ::std::os::raw::c_int, >, pub MImage_free: ::std::option::Option, pub MImage_disown: ::std::option::Option, pub MImage_disownAll: ::std::option::Option, pub MImage_shareCount: ::std::option::Option mint>, pub MImage_getDataType: ::std::option::Option imagedata_t>, pub MImage_getRowCount: ::std::option::Option mint>, pub MImage_getColumnCount: ::std::option::Option mint>, pub MImage_getSliceCount: ::std::option::Option mint>, pub MImage_getRank: ::std::option::Option mint>, pub MImage_getChannels: ::std::option::Option mint>, pub MImage_alphaChannelQ: ::std::option::Option mbool>, pub MImage_interleavedQ: ::std::option::Option mbool>, pub MImage_getColorSpace: ::std::option::Option colorspace_t>, pub MImage_getFlattenedLength: ::std::option::Option mint>, #[doc = " image"] pub MImage_getBit: ::std::option::Option< unsafe extern "C" fn( arg1: MImage, arg2: *mut mint, arg3: mint, arg4: *mut raw_t_bit, ) -> ::std::os::raw::c_int, >, #[doc = " image"] pub MImage_getByte: ::std::option::Option< unsafe extern "C" fn( arg1: MImage, arg2: *mut mint, arg3: mint, arg4: *mut raw_t_ubit8, ) -> ::std::os::raw::c_int, >, #[doc = " image"] pub MImage_getBit16: ::std::option::Option< unsafe extern "C" fn( arg1: MImage, arg2: *mut mint, arg3: mint, arg4: *mut raw_t_ubit16, ) -> ::std::os::raw::c_int, >, #[doc = " image"] pub MImage_getReal32: ::std::option::Option< unsafe extern "C" fn( arg1: MImage, arg2: *mut mint, arg3: mint, arg4: *mut raw_t_real32, ) -> ::std::os::raw::c_int, >, #[doc = " image"] pub MImage_getReal: ::std::option::Option< unsafe extern "C" fn( arg1: MImage, arg2: *mut mint, arg3: mint, arg4: *mut raw_t_real64, ) -> ::std::os::raw::c_int, >, #[doc = " image"] pub MImage_setBit: ::std::option::Option< unsafe extern "C" fn( arg1: MImage, arg2: *mut mint, arg3: mint, arg4: raw_t_bit, ) -> ::std::os::raw::c_int, >, #[doc = " image"] pub MImage_setByte: ::std::option::Option< unsafe extern "C" fn( arg1: MImage, arg2: *mut mint, arg3: mint, arg4: raw_t_ubit8, ) -> ::std::os::raw::c_int, >, #[doc = " image"] pub MImage_setBit16: ::std::option::Option< unsafe extern "C" fn( arg1: MImage, arg2: *mut mint, arg3: mint, arg4: raw_t_ubit16, ) -> ::std::os::raw::c_int, >, #[doc = " image"] pub MImage_setReal32: ::std::option::Option< unsafe extern "C" fn( arg1: MImage, arg2: *mut mint, arg3: mint, arg4: raw_t_real32, ) -> ::std::os::raw::c_int, >, #[doc = " image"] pub MImage_setReal: ::std::option::Option< unsafe extern "C" fn( arg1: MImage, arg2: *mut mint, arg3: mint, arg4: raw_t_real64, ) -> ::std::os::raw::c_int, >, pub MImage_getRawData: ::std::option::Option< unsafe extern "C" fn(arg1: MImage) -> *mut ::std::os::raw::c_void, >, pub MImage_getBitData: ::std::option::Option *mut raw_t_bit>, pub MImage_getByteData: ::std::option::Option *mut raw_t_ubit8>, pub MImage_getBit16Data: ::std::option::Option *mut raw_t_ubit16>, pub MImage_getReal32Data: ::std::option::Option *mut raw_t_real32>, pub MImage_getRealData: ::std::option::Option *mut raw_t_real64>, #[doc = " type"] pub MImage_convertType: ::std::option::Option< unsafe extern "C" fn(arg1: MImage, arg2: imagedata_t, arg3: mbool) -> MImage, >, } #[test] fn bindgen_test_layout_st_WolframImageLibrary_Functions() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 272usize, concat!("Size of: ", stringify!(st_WolframImageLibrary_Functions)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(st_WolframImageLibrary_Functions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_new2D) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_new2D) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_new3D) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_new3D) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_clone) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_clone) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_free) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_free) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_disown) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_disown) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_disownAll) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_disownAll) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_shareCount) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_shareCount) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getDataType) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getDataType) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getRowCount) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getRowCount) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getColumnCount) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getColumnCount) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getSliceCount) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getSliceCount) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getRank) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getRank) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getChannels) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getChannels) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_alphaChannelQ) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_alphaChannelQ) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_interleavedQ) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_interleavedQ) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getColorSpace) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getColorSpace) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getFlattenedLength) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getFlattenedLength) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getBit) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getBit) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getByte) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getByte) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getBit16) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getBit16) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getReal32) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getReal32) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getReal) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getReal) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_setBit) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_setBit) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_setByte) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_setByte) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_setBit16) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_setBit16) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_setReal32) as usize - ptr as usize }, 200usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_setReal32) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_setReal) as usize - ptr as usize }, 208usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_setReal) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getRawData) as usize - ptr as usize }, 216usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getRawData) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getBitData) as usize - ptr as usize }, 224usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getBitData) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getByteData) as usize - ptr as usize }, 232usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getByteData) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getBit16Data) as usize - ptr as usize }, 240usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getBit16Data) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getReal32Data) as usize - ptr as usize }, 248usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getReal32Data) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_getRealData) as usize - ptr as usize }, 256usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_getRealData) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MImage_convertType) as usize - ptr as usize }, 264usize, concat!( "Offset of field: ", stringify!(st_WolframImageLibrary_Functions), "::", stringify!(MImage_convertType) ) ); } pub type WolframImageLibrary_Functions = *mut st_WolframImageLibrary_Functions; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct st_WolframSparseLibrary_Functions { pub MSparseArray_clone: ::std::option::Option< unsafe extern "C" fn( arg1: MSparseArray, arg2: *mut MSparseArray, ) -> ::std::os::raw::c_int, >, pub MSparseArray_free: ::std::option::Option, pub MSparseArray_disown: ::std::option::Option, pub MSparseArray_disownAll: ::std::option::Option, pub MSparseArray_shareCount: ::std::option::Option mint>, pub MSparseArray_getRank: ::std::option::Option mint>, pub MSparseArray_getDimensions: ::std::option::Option *const mint>, pub MSparseArray_getImplicitValue: ::std::option::Option *mut MTensor>, pub MSparseArray_getExplicitValues: ::std::option::Option *mut MTensor>, pub MSparseArray_getRowPointers: ::std::option::Option *mut MTensor>, pub MSparseArray_getColumnIndices: ::std::option::Option *mut MTensor>, pub MSparseArray_getExplicitPositions: ::std::option::Option< unsafe extern "C" fn( arg1: MSparseArray, arg2: *mut MTensor, ) -> ::std::os::raw::c_int, >, pub MSparseArray_resetImplicitValue: ::std::option::Option< unsafe extern "C" fn( arg1: MSparseArray, arg2: MTensor, arg3: *mut MSparseArray, ) -> ::std::os::raw::c_int, >, pub MSparseArray_toMTensor: ::std::option::Option< unsafe extern "C" fn( arg1: MSparseArray, arg2: *mut MTensor, ) -> ::std::os::raw::c_int, >, pub MSparseArray_fromMTensor: ::std::option::Option< unsafe extern "C" fn( arg1: MTensor, arg2: MTensor, arg3: *mut MSparseArray, ) -> ::std::os::raw::c_int, >, pub MSparseArray_fromExplicitPositions: ::std::option::Option< unsafe extern "C" fn( arg1: MTensor, arg2: MTensor, arg3: MTensor, arg4: MTensor, arg5: *mut MSparseArray, ) -> ::std::os::raw::c_int, >, } #[test] fn bindgen_test_layout_st_WolframSparseLibrary_Functions() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(st_WolframSparseLibrary_Functions)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(st_WolframSparseLibrary_Functions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_clone) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_clone) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_free) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_free) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_disown) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_disown) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_disownAll) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_disownAll) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_shareCount) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_shareCount) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_getRank) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_getRank) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_getDimensions) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_getDimensions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_getImplicitValue) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_getImplicitValue) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_getExplicitValues) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_getExplicitValues) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_getRowPointers) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_getRowPointers) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_getColumnIndices) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_getColumnIndices) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_getExplicitPositions) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_getExplicitPositions) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_resetImplicitValue) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_resetImplicitValue) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_toMTensor) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_toMTensor) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_fromMTensor) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_fromMTensor) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).MSparseArray_fromExplicitPositions) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(st_WolframSparseLibrary_Functions), "::", stringify!(MSparseArray_fromExplicitPositions) ) ); } pub type WolframSparseLibrary_Functions = *mut st_WolframSparseLibrary_Functions; pub type __builtin_va_list = *mut ::std::os::raw::c_char; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct st_WolframRuntimeData { pub _address: u8, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct st_WolframCompileLibrary_Functions { pub _address: u8, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct st_WolframRawArrayLibrary_Functions { pub _address: u8, }