/* automatically generated by rust-bindgen 0.65.1 */ pub const WolframLibraryVersion: u32 = 6; pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1; pub const _SAL_VERSION: u32 = 20; pub const __SAL_H_VERSION: u32 = 180000000; pub const _USE_DECLSPECS_FOR_SAL: u32 = 0; pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0; pub const _CRT_PACKING: u32 = 8; pub const _HAS_EXCEPTIONS: u32 = 1; pub const _STL_LANG: u32 = 0; pub const _HAS_CXX17: u32 = 0; pub const _HAS_CXX20: u32 = 0; pub const _HAS_NODISCARD: u32 = 0; pub const WCHAR_MIN: u32 = 0; pub const WCHAR_MAX: u32 = 65535; pub const WINT_MIN: u32 = 0; pub const WINT_MAX: u32 = 65535; 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_ushort; pub type max_align_t = f64; pub type va_list = *mut ::std::os::raw::c_char; extern "C" { pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...); } pub type __vcrt_bool = bool; extern "C" { pub fn __security_init_cookie(); } extern "C" { pub fn __security_check_cookie(_StackCookie: usize); } extern "C" { pub fn __report_gsfailure(_StackCookie: usize) -> !; } extern "C" { pub static mut __security_cookie: usize; } pub type int_least8_t = ::std::os::raw::c_schar; pub type int_least16_t = ::std::os::raw::c_short; pub type int_least32_t = ::std::os::raw::c_int; pub type int_least64_t = ::std::os::raw::c_longlong; pub type uint_least8_t = ::std::os::raw::c_uchar; pub type uint_least16_t = ::std::os::raw::c_ushort; pub type uint_least32_t = ::std::os::raw::c_uint; pub type uint_least64_t = ::std::os::raw::c_ulonglong; pub type int_fast8_t = ::std::os::raw::c_schar; pub type int_fast16_t = ::std::os::raw::c_int; pub type int_fast32_t = ::std::os::raw::c_int; pub type int_fast64_t = ::std::os::raw::c_longlong; pub type uint_fast8_t = ::std::os::raw::c_uchar; pub type uint_fast16_t = ::std::os::raw::c_uint; pub type uint_fast32_t = ::std::os::raw::c_uint; pub type uint_fast64_t = ::std::os::raw::c_ulonglong; pub type intmax_t = ::std::os::raw::c_longlong; pub type uintmax_t = ::std::os::raw::c_ulonglong; 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_int; #[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>, } #[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::(), 416usize, 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) ) ); } pub mod MNumericArray_Data_Type { pub type Type = ::std::os::raw::c_int; 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_int; 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; #[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, }