/* automatically generated by rust-bindgen 0.65.1 */ 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 NULL: u32 = 0; pub const _HAS_CXX17: u32 = 0; pub const _HAS_CXX20: u32 = 0; pub const _HAS_CXX23: u32 = 0; pub const _HAS_NODISCARD: u32 = 1; pub const _ARGMAX: u32 = 100; pub const _CRT_INT_MAX: u32 = 2147483647; pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1; pub const _CRT_HAS_CXX17: u32 = 0; pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1; pub const _CRT_BUILD_DESKTOP_APP: u32 = 1; pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1; pub const __STDC_SECURE_LIB__: u32 = 200411; pub const __GOT_SECURE_LIB__: u32 = 200411; pub const __STDC_WANT_SECURE_LIB__: u32 = 1; pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254; pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0; pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0; pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1; pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0; pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0; pub const _CRT_INTERNAL_STDIO_SYMBOL_PREFIX: &[u8; 1usize] = b"\0"; pub const _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION: u32 = 1; pub const _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR: u32 = 2; pub const _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS: u32 = 4; pub const _CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 8; pub const _CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS: u32 = 16; pub const _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING: u32 = 32; pub const _CRT_INTERNAL_SCANF_SECURECRT: u32 = 1; pub const _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS: u32 = 2; pub const _CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 4; pub const BUFSIZ: u32 = 512; pub const _NSTREAM_: u32 = 512; pub const _IOB_ENTRIES: u32 = 3; pub const EOF: i32 = -1; pub const _IOFBF: u32 = 0; pub const _IOLBF: u32 = 64; pub const _IONBF: u32 = 4; pub const L_tmpnam: u32 = 260; pub const L_tmpnam_s: u32 = 260; pub const SEEK_CUR: u32 = 1; pub const SEEK_END: u32 = 2; pub const SEEK_SET: u32 = 0; pub const FILENAME_MAX: u32 = 260; pub const FOPEN_MAX: u32 = 20; pub const _SYS_OPEN: u32 = 20; pub const TMP_MAX: u32 = 2147483647; pub const TMP_MAX_S: u32 = 2147483647; pub const _TMP_MAX_S: u32 = 2147483647; pub const SYS_OPEN: u32 = 20; pub const _DOMAIN: u32 = 1; pub const _SING: u32 = 2; pub const _OVERFLOW: u32 = 3; pub const _UNDERFLOW: u32 = 4; pub const _TLOSS: u32 = 5; pub const _PLOSS: u32 = 6; pub const _HUGE_ENUF : f64 = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0 ; pub const _DENORM: i32 = -2; pub const _FINITE: i32 = -1; pub const _INFCODE: u32 = 1; pub const _NANCODE: u32 = 2; pub const FP_INFINITE: u32 = 1; pub const FP_NAN: u32 = 2; pub const FP_NORMAL: i32 = -1; pub const FP_SUBNORMAL: i32 = -2; pub const FP_ZERO: u32 = 0; pub const _C2: u32 = 1; pub const FP_ILOGB0: i32 = -2147483648; pub const FP_ILOGBNAN: u32 = 2147483647; pub const MATH_ERRNO: u32 = 1; pub const MATH_ERREXCEPT: u32 = 2; pub const math_errhandling: u32 = 3; pub const _FE_DIVBYZERO: u32 = 4; pub const _FE_INEXACT: u32 = 32; pub const _FE_INVALID: u32 = 1; pub const _FE_OVERFLOW: u32 = 8; pub const _FE_UNDERFLOW: u32 = 16; pub const _D0_C: u32 = 3; pub const _D1_C: u32 = 2; pub const _D2_C: u32 = 1; pub const _D3_C: u32 = 0; pub const _DBIAS: u32 = 1022; pub const _DOFF: u32 = 4; pub const _F0_C: u32 = 1; pub const _F1_C: u32 = 0; pub const _FBIAS: u32 = 126; pub const _FOFF: u32 = 7; pub const _FRND: u32 = 1; pub const _L0_C: u32 = 3; pub const _L1_C: u32 = 2; pub const _L2_C: u32 = 1; pub const _L3_C: u32 = 0; pub const _LBIAS: u32 = 1022; pub const _LOFF: u32 = 4; pub const _FP_LT: u32 = 1; pub const _FP_EQ: u32 = 2; pub const _FP_GT: u32 = 4; pub const DOMAIN: u32 = 1; pub const SING: u32 = 2; pub const OVERFLOW: u32 = 3; pub const UNDERFLOW: u32 = 4; pub const TLOSS: u32 = 5; pub const PLOSS: u32 = 6; pub const TIME_UTC: u32 = 1; pub type va_list = *mut ::std::os::raw::c_char; extern "C" { pub fn __va_start(arg1: *mut va_list, ...); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __vcrt_va_list_is_reference { pub _address: u8, } pub const __vcrt_va_list_is_reference___the_value: __vcrt_va_list_is_reference__bindgen_ty_1 = false; pub type __vcrt_va_list_is_reference__bindgen_ty_1 = bool; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __vcrt_assert_va_start_is_not_reference { pub _address: u8, } 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 __crt_bool = bool; extern "C" { pub fn _invalid_parameter_noinfo(); } extern "C" { pub fn _invalid_parameter_noinfo_noreturn() -> !; } extern "C" { pub fn _invoke_watson( _Expression: *const u16, _FunctionName: *const u16, _FileName: *const u16, _LineNo: ::std::os::raw::c_uint, _Reserved: usize, ) -> !; } pub type errno_t = ::std::os::raw::c_int; pub type wint_t = ::std::os::raw::c_ushort; pub type wctype_t = ::std::os::raw::c_ushort; pub type __time32_t = ::std::os::raw::c_long; pub type __time64_t = ::std::os::raw::c_longlong; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __crt_locale_data_public { pub _locale_pctype: *const ::std::os::raw::c_ushort, pub _locale_mb_cur_max: ::std::os::raw::c_int, pub _locale_lc_codepage: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout___crt_locale_data_public() { const UNINIT: ::std::mem::MaybeUninit<__crt_locale_data_public> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__crt_locale_data_public>(), 16usize, concat!("Size of: ", stringify!(__crt_locale_data_public)) ); assert_eq!( ::std::mem::align_of::<__crt_locale_data_public>(), 8usize, concat!("Alignment of ", stringify!(__crt_locale_data_public)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._locale_pctype) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__crt_locale_data_public), "::", stringify!(_locale_pctype) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._locale_mb_cur_max) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(__crt_locale_data_public), "::", stringify!(_locale_mb_cur_max) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._locale_lc_codepage) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(__crt_locale_data_public), "::", stringify!(_locale_lc_codepage) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __crt_locale_pointers { pub locinfo: *mut __crt_locale_data, pub mbcinfo: *mut __crt_multibyte_data, } #[test] fn bindgen_test_layout___crt_locale_pointers() { const UNINIT: ::std::mem::MaybeUninit<__crt_locale_pointers> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__crt_locale_pointers>(), 16usize, concat!("Size of: ", stringify!(__crt_locale_pointers)) ); assert_eq!( ::std::mem::align_of::<__crt_locale_pointers>(), 8usize, concat!("Alignment of ", stringify!(__crt_locale_pointers)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).locinfo) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__crt_locale_pointers), "::", stringify!(locinfo) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).mbcinfo) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(__crt_locale_pointers), "::", stringify!(mbcinfo) ) ); } pub type _locale_t = *mut __crt_locale_pointers; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _Mbstatet { pub _Wchar: ::std::os::raw::c_ulong, pub _Byte: ::std::os::raw::c_ushort, pub _State: ::std::os::raw::c_ushort, } #[test] fn bindgen_test_layout__Mbstatet() { const UNINIT: ::std::mem::MaybeUninit<_Mbstatet> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_Mbstatet>(), 8usize, concat!("Size of: ", stringify!(_Mbstatet)) ); assert_eq!( ::std::mem::align_of::<_Mbstatet>(), 4usize, concat!("Alignment of ", stringify!(_Mbstatet)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Wchar) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_Mbstatet), "::", stringify!(_Wchar) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Byte) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(_Mbstatet), "::", stringify!(_Byte) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._State) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(_Mbstatet), "::", stringify!(_State) ) ); } pub type mbstate_t = _Mbstatet; pub type time_t = __time64_t; pub type rsize_t = usize; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _iobuf { pub _Placeholder: *mut ::std::os::raw::c_void, } #[test] fn bindgen_test_layout__iobuf() { const UNINIT: ::std::mem::MaybeUninit<_iobuf> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_iobuf>(), 8usize, concat!("Size of: ", stringify!(_iobuf)) ); assert_eq!( ::std::mem::align_of::<_iobuf>(), 8usize, concat!("Alignment of ", stringify!(_iobuf)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Placeholder) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_iobuf), "::", stringify!(_Placeholder) ) ); } pub type FILE = _iobuf; extern "C" { pub fn __acrt_iob_func(_Ix: ::std::os::raw::c_uint) -> *mut FILE; } extern "C" { pub fn fgetwc(_Stream: *mut FILE) -> wint_t; } extern "C" { pub fn _fgetwchar() -> wint_t; } extern "C" { pub fn fputwc(_Character: u16, _Stream: *mut FILE) -> wint_t; } extern "C" { pub fn _fputwchar(_Character: u16) -> wint_t; } extern "C" { pub fn getwc(_Stream: *mut FILE) -> wint_t; } extern "C" { pub fn getwchar() -> wint_t; } extern "C" { pub fn fgetws( _Buffer: *mut u16, _BufferCount: ::std::os::raw::c_int, _Stream: *mut FILE, ) -> *mut u16; } extern "C" { pub fn fputws(_Buffer: *const u16, _Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn _getws_s(_Buffer: *mut u16, _BufferCount: usize) -> *mut u16; } extern "C" { pub fn putwc(_Character: u16, _Stream: *mut FILE) -> wint_t; } extern "C" { pub fn putwchar(_Character: u16) -> wint_t; } extern "C" { pub fn _putws(_Buffer: *const u16) -> ::std::os::raw::c_int; } extern "C" { pub fn ungetwc(_Character: wint_t, _Stream: *mut FILE) -> wint_t; } extern "C" { pub fn _wfdopen(_FileHandle: ::std::os::raw::c_int, _Mode: *const u16) -> *mut FILE; } extern "C" { pub fn _wfopen(_FileName: *const u16, _Mode: *const u16) -> *mut FILE; } extern "C" { pub fn _wfopen_s(_Stream: *mut *mut FILE, _FileName: *const u16, _Mode: *const u16) -> errno_t; } extern "C" { pub fn _wfreopen(_FileName: *const u16, _Mode: *const u16, _OldStream: *mut FILE) -> *mut FILE; } extern "C" { pub fn _wfreopen_s( _Stream: *mut *mut FILE, _FileName: *const u16, _Mode: *const u16, _OldStream: *mut FILE, ) -> errno_t; } extern "C" { pub fn _wfsopen( _FileName: *const u16, _Mode: *const u16, _ShFlag: ::std::os::raw::c_int, ) -> *mut FILE; } extern "C" { pub fn _wperror(_ErrorMessage: *const u16); } extern "C" { pub fn _wpopen(_Command: *const u16, _Mode: *const u16) -> *mut FILE; } extern "C" { pub fn _wremove(_FileName: *const u16) -> ::std::os::raw::c_int; } extern "C" { pub fn _wtempnam(_Directory: *const u16, _FilePrefix: *const u16) -> *mut u16; } extern "C" { pub fn _wtmpnam_s(_Buffer: *mut u16, _BufferCount: usize) -> errno_t; } extern "C" { pub fn _wtmpnam(_Buffer: *mut u16) -> *mut u16; } extern "C" { pub fn _fgetwc_nolock(_Stream: *mut FILE) -> wint_t; } extern "C" { pub fn _fputwc_nolock(_Character: u16, _Stream: *mut FILE) -> wint_t; } extern "C" { pub fn _getwc_nolock(_Stream: *mut FILE) -> wint_t; } extern "C" { pub fn _putwc_nolock(_Character: u16, _Stream: *mut FILE) -> wint_t; } extern "C" { pub fn _ungetwc_nolock(_Character: wint_t, _Stream: *mut FILE) -> wint_t; } extern "C" { pub fn __stdio_common_vfwprintf( _Options: ::std::os::raw::c_ulonglong, _Stream: *mut FILE, _Format: *const u16, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vfwprintf_s( _Options: ::std::os::raw::c_ulonglong, _Stream: *mut FILE, _Format: *const u16, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vfwprintf_p( _Options: ::std::os::raw::c_ulonglong, _Stream: *mut FILE, _Format: *const u16, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vfwscanf( _Options: ::std::os::raw::c_ulonglong, _Stream: *mut FILE, _Format: *const u16, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vswprintf( _Options: ::std::os::raw::c_ulonglong, _Buffer: *mut u16, _BufferCount: usize, _Format: *const u16, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vswprintf_s( _Options: ::std::os::raw::c_ulonglong, _Buffer: *mut u16, _BufferCount: usize, _Format: *const u16, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vsnwprintf_s( _Options: ::std::os::raw::c_ulonglong, _Buffer: *mut u16, _BufferCount: usize, _MaxCount: usize, _Format: *const u16, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vswprintf_p( _Options: ::std::os::raw::c_ulonglong, _Buffer: *mut u16, _BufferCount: usize, _Format: *const u16, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vswscanf( _Options: ::std::os::raw::c_ulonglong, _Buffer: *const u16, _BufferCount: usize, _Format: *const u16, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } pub type fpos_t = ::std::os::raw::c_longlong; extern "C" { pub fn _get_stream_buffer_pointers( _Stream: *mut FILE, _Base: *mut *mut *mut ::std::os::raw::c_char, _Pointer: *mut *mut *mut ::std::os::raw::c_char, _Count: *mut *mut ::std::os::raw::c_int, ) -> errno_t; } extern "C" { pub fn clearerr_s(_Stream: *mut FILE) -> errno_t; } extern "C" { pub fn fopen_s( _Stream: *mut *mut FILE, _FileName: *const ::std::os::raw::c_char, _Mode: *const ::std::os::raw::c_char, ) -> errno_t; } extern "C" { pub fn fread_s( _Buffer: *mut ::std::os::raw::c_void, _BufferSize: usize, _ElementSize: usize, _ElementCount: usize, _Stream: *mut FILE, ) -> usize; } extern "C" { pub fn freopen_s( _Stream: *mut *mut FILE, _FileName: *const ::std::os::raw::c_char, _Mode: *const ::std::os::raw::c_char, _OldStream: *mut FILE, ) -> errno_t; } extern "C" { pub fn gets_s( _Buffer: *mut ::std::os::raw::c_char, _Size: rsize_t, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn tmpfile_s(_Stream: *mut *mut FILE) -> errno_t; } extern "C" { pub fn tmpnam_s(_Buffer: *mut ::std::os::raw::c_char, _Size: rsize_t) -> errno_t; } extern "C" { pub fn clearerr(_Stream: *mut FILE); } extern "C" { pub fn fclose(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn _fcloseall() -> ::std::os::raw::c_int; } extern "C" { pub fn _fdopen( _FileHandle: ::std::os::raw::c_int, _Mode: *const ::std::os::raw::c_char, ) -> *mut FILE; } extern "C" { pub fn feof(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn ferror(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn fflush(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn fgetc(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn _fgetchar() -> ::std::os::raw::c_int; } extern "C" { pub fn fgetpos(_Stream: *mut FILE, _Position: *mut fpos_t) -> ::std::os::raw::c_int; } extern "C" { pub fn fgets( _Buffer: *mut ::std::os::raw::c_char, _MaxCount: ::std::os::raw::c_int, _Stream: *mut FILE, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn _fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn _flushall() -> ::std::os::raw::c_int; } extern "C" { pub fn fopen( _FileName: *const ::std::os::raw::c_char, _Mode: *const ::std::os::raw::c_char, ) -> *mut FILE; } extern "C" { pub fn fputc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn _fputchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn fputs( _Buffer: *const ::std::os::raw::c_char, _Stream: *mut FILE, ) -> ::std::os::raw::c_int; } extern "C" { pub fn fread( _Buffer: *mut ::std::os::raw::c_void, _ElementSize: usize, _ElementCount: usize, _Stream: *mut FILE, ) -> usize; } extern "C" { pub fn freopen( _FileName: *const ::std::os::raw::c_char, _Mode: *const ::std::os::raw::c_char, _Stream: *mut FILE, ) -> *mut FILE; } extern "C" { pub fn _fsopen( _FileName: *const ::std::os::raw::c_char, _Mode: *const ::std::os::raw::c_char, _ShFlag: ::std::os::raw::c_int, ) -> *mut FILE; } extern "C" { pub fn fsetpos(_Stream: *mut FILE, _Position: *const fpos_t) -> ::std::os::raw::c_int; } extern "C" { pub fn fseek( _Stream: *mut FILE, _Offset: ::std::os::raw::c_long, _Origin: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _fseeki64( _Stream: *mut FILE, _Offset: ::std::os::raw::c_longlong, _Origin: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn ftell(_Stream: *mut FILE) -> ::std::os::raw::c_long; } extern "C" { pub fn _ftelli64(_Stream: *mut FILE) -> ::std::os::raw::c_longlong; } extern "C" { pub fn fwrite( _Buffer: *const ::std::os::raw::c_void, _ElementSize: usize, _ElementCount: usize, _Stream: *mut FILE, ) -> usize; } extern "C" { pub fn getc(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn getchar() -> ::std::os::raw::c_int; } extern "C" { pub fn _getmaxstdio() -> ::std::os::raw::c_int; } extern "C" { pub fn _getw(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn perror(_ErrorMessage: *const ::std::os::raw::c_char); } extern "C" { pub fn _pclose(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn _popen( _Command: *const ::std::os::raw::c_char, _Mode: *const ::std::os::raw::c_char, ) -> *mut FILE; } extern "C" { pub fn putc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn putchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn puts(_Buffer: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { pub fn _putw(_Word: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn remove(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { pub fn rename( _OldFileName: *const ::std::os::raw::c_char, _NewFileName: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { pub fn unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { pub fn rewind(_Stream: *mut FILE); } extern "C" { pub fn _rmtmp() -> ::std::os::raw::c_int; } extern "C" { pub fn setbuf(_Stream: *mut FILE, _Buffer: *mut ::std::os::raw::c_char); } extern "C" { pub fn _setmaxstdio(_Maximum: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn setvbuf( _Stream: *mut FILE, _Buffer: *mut ::std::os::raw::c_char, _Mode: ::std::os::raw::c_int, _Size: usize, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _tempnam( _DirectoryName: *const ::std::os::raw::c_char, _FilePrefix: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn tmpfile() -> *mut FILE; } extern "C" { pub fn tmpnam(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn ungetc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn _lock_file(_Stream: *mut FILE); } extern "C" { pub fn _unlock_file(_Stream: *mut FILE); } extern "C" { pub fn _fclose_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn _fflush_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn _fgetc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn _fputc_nolock( _Character: ::std::os::raw::c_int, _Stream: *mut FILE, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _fread_nolock( _Buffer: *mut ::std::os::raw::c_void, _ElementSize: usize, _ElementCount: usize, _Stream: *mut FILE, ) -> usize; } extern "C" { pub fn _fread_nolock_s( _Buffer: *mut ::std::os::raw::c_void, _BufferSize: usize, _ElementSize: usize, _ElementCount: usize, _Stream: *mut FILE, ) -> usize; } extern "C" { pub fn _fseek_nolock( _Stream: *mut FILE, _Offset: ::std::os::raw::c_long, _Origin: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _fseeki64_nolock( _Stream: *mut FILE, _Offset: ::std::os::raw::c_longlong, _Origin: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _ftell_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_long; } extern "C" { pub fn _ftelli64_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_longlong; } extern "C" { pub fn _fwrite_nolock( _Buffer: *const ::std::os::raw::c_void, _ElementSize: usize, _ElementCount: usize, _Stream: *mut FILE, ) -> usize; } extern "C" { pub fn _getc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn _putc_nolock( _Character: ::std::os::raw::c_int, _Stream: *mut FILE, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _ungetc_nolock( _Character: ::std::os::raw::c_int, _Stream: *mut FILE, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __p__commode() -> *mut ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vfprintf( _Options: ::std::os::raw::c_ulonglong, _Stream: *mut FILE, _Format: *const ::std::os::raw::c_char, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vfprintf_s( _Options: ::std::os::raw::c_ulonglong, _Stream: *mut FILE, _Format: *const ::std::os::raw::c_char, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vfprintf_p( _Options: ::std::os::raw::c_ulonglong, _Stream: *mut FILE, _Format: *const ::std::os::raw::c_char, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _set_printf_count_output(_Value: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _get_printf_count_output() -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vfscanf( _Options: ::std::os::raw::c_ulonglong, _Stream: *mut FILE, _Format: *const ::std::os::raw::c_char, _Locale: _locale_t, _Arglist: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vsprintf( _Options: ::std::os::raw::c_ulonglong, _Buffer: *mut ::std::os::raw::c_char, _BufferCount: usize, _Format: *const ::std::os::raw::c_char, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vsprintf_s( _Options: ::std::os::raw::c_ulonglong, _Buffer: *mut ::std::os::raw::c_char, _BufferCount: usize, _Format: *const ::std::os::raw::c_char, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vsnprintf_s( _Options: ::std::os::raw::c_ulonglong, _Buffer: *mut ::std::os::raw::c_char, _BufferCount: usize, _MaxCount: usize, _Format: *const ::std::os::raw::c_char, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vsprintf_p( _Options: ::std::os::raw::c_ulonglong, _Buffer: *mut ::std::os::raw::c_char, _BufferCount: usize, _Format: *const ::std::os::raw::c_char, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __stdio_common_vsscanf( _Options: ::std::os::raw::c_ulonglong, _Buffer: *const ::std::os::raw::c_char, _BufferCount: usize, _Format: *const ::std::os::raw::c_char, _Locale: _locale_t, _ArgList: va_list, ) -> ::std::os::raw::c_int; } extern "C" { pub fn tempnam( _Directory: *const ::std::os::raw::c_char, _FilePrefix: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn fcloseall() -> ::std::os::raw::c_int; } extern "C" { pub fn fdopen( _FileHandle: ::std::os::raw::c_int, _Format: *const ::std::os::raw::c_char, ) -> *mut FILE; } extern "C" { pub fn fgetchar() -> ::std::os::raw::c_int; } extern "C" { pub fn fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn flushall() -> ::std::os::raw::c_int; } extern "C" { pub fn fputchar(_Ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn getw(_Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn putw(_Ch: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn rmtmp() -> ::std::os::raw::c_int; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _exception { pub type_: ::std::os::raw::c_int, pub name: *mut ::std::os::raw::c_char, pub arg1: f64, pub arg2: f64, pub retval: f64, } #[test] fn bindgen_test_layout__exception() { const UNINIT: ::std::mem::MaybeUninit<_exception> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_exception>(), 40usize, concat!("Size of: ", stringify!(_exception)) ); assert_eq!( ::std::mem::align_of::<_exception>(), 8usize, concat!("Alignment of ", stringify!(_exception)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_exception), "::", stringify!(type_) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_exception), "::", stringify!(name) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(_exception), "::", stringify!(arg1) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(_exception), "::", stringify!(arg2) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).retval) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(_exception), "::", stringify!(retval) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _complex { pub x: f64, pub y: f64, } #[test] fn bindgen_test_layout__complex() { const UNINIT: ::std::mem::MaybeUninit<_complex> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_complex>(), 16usize, concat!("Size of: ", stringify!(_complex)) ); assert_eq!( ::std::mem::align_of::<_complex>(), 8usize, concat!("Alignment of ", stringify!(_complex)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_complex), "::", stringify!(x) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_complex), "::", stringify!(y) ) ); } pub type float_t = f32; pub type double_t = f64; extern "C" { pub static _HUGE: f64; } extern "C" { pub fn _fperrraise(_Except: ::std::os::raw::c_int); } extern "C" { pub fn _dclass(_X: f64) -> ::std::os::raw::c_short; } extern "C" { pub fn _ldclass(_X: f64) -> ::std::os::raw::c_short; } extern "C" { pub fn _fdclass(_X: f32) -> ::std::os::raw::c_short; } extern "C" { pub fn _dsign(_X: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn _ldsign(_X: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn _fdsign(_X: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn _dpcomp(_X: f64, _Y: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn _ldpcomp(_X: f64, _Y: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn _fdpcomp(_X: f32, _Y: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn _dtest(_Px: *mut f64) -> ::std::os::raw::c_short; } extern "C" { pub fn _ldtest(_Px: *mut f64) -> ::std::os::raw::c_short; } extern "C" { pub fn _fdtest(_Px: *mut f32) -> ::std::os::raw::c_short; } extern "C" { pub fn _d_int(_Px: *mut f64, _Xexp: ::std::os::raw::c_short) -> ::std::os::raw::c_short; } extern "C" { pub fn _ld_int(_Px: *mut f64, _Xexp: ::std::os::raw::c_short) -> ::std::os::raw::c_short; } extern "C" { pub fn _fd_int(_Px: *mut f32, _Xexp: ::std::os::raw::c_short) -> ::std::os::raw::c_short; } extern "C" { pub fn _dscale(_Px: *mut f64, _Lexp: ::std::os::raw::c_long) -> ::std::os::raw::c_short; } extern "C" { pub fn _ldscale(_Px: *mut f64, _Lexp: ::std::os::raw::c_long) -> ::std::os::raw::c_short; } extern "C" { pub fn _fdscale(_Px: *mut f32, _Lexp: ::std::os::raw::c_long) -> ::std::os::raw::c_short; } extern "C" { pub fn _dunscale(_Pex: *mut ::std::os::raw::c_short, _Px: *mut f64) -> ::std::os::raw::c_short; } extern "C" { pub fn _ldunscale(_Pex: *mut ::std::os::raw::c_short, _Px: *mut f64) -> ::std::os::raw::c_short; } extern "C" { pub fn _fdunscale(_Pex: *mut ::std::os::raw::c_short, _Px: *mut f32) -> ::std::os::raw::c_short; } extern "C" { pub fn _dexp(_Px: *mut f64, _Y: f64, _Eoff: ::std::os::raw::c_long) -> ::std::os::raw::c_short; } extern "C" { pub fn _ldexp(_Px: *mut f64, _Y: f64, _Eoff: ::std::os::raw::c_long) -> ::std::os::raw::c_short; } extern "C" { pub fn _fdexp(_Px: *mut f32, _Y: f32, _Eoff: ::std::os::raw::c_long) -> ::std::os::raw::c_short; } extern "C" { pub fn _dnorm(_Ps: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_short; } extern "C" { pub fn _fdnorm(_Ps: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_short; } extern "C" { pub fn _dpoly(_X: f64, _Tab: *const f64, _N: ::std::os::raw::c_int) -> f64; } extern "C" { pub fn _ldpoly(_X: f64, _Tab: *const f64, _N: ::std::os::raw::c_int) -> f64; } extern "C" { pub fn _fdpoly(_X: f32, _Tab: *const f32, _N: ::std::os::raw::c_int) -> f32; } extern "C" { pub fn _dlog(_X: f64, _Baseflag: ::std::os::raw::c_int) -> f64; } extern "C" { pub fn _ldlog(_X: f64, _Baseflag: ::std::os::raw::c_int) -> f64; } extern "C" { pub fn _fdlog(_X: f32, _Baseflag: ::std::os::raw::c_int) -> f32; } extern "C" { pub fn _dsin(_X: f64, _Qoff: ::std::os::raw::c_uint) -> f64; } extern "C" { pub fn _ldsin(_X: f64, _Qoff: ::std::os::raw::c_uint) -> f64; } extern "C" { pub fn _fdsin(_X: f32, _Qoff: ::std::os::raw::c_uint) -> f32; } #[repr(C)] #[derive(Copy, Clone)] pub union _double_val { pub _Sh: [::std::os::raw::c_ushort; 4usize], pub _Val: f64, } #[test] fn bindgen_test_layout__double_val() { const UNINIT: ::std::mem::MaybeUninit<_double_val> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_double_val>(), 8usize, concat!("Size of: ", stringify!(_double_val)) ); assert_eq!( ::std::mem::align_of::<_double_val>(), 8usize, concat!("Alignment of ", stringify!(_double_val)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Sh) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_double_val), "::", stringify!(_Sh) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Val) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_double_val), "::", stringify!(_Val) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub union _float_val { pub _Sh: [::std::os::raw::c_ushort; 2usize], pub _Val: f32, } #[test] fn bindgen_test_layout__float_val() { const UNINIT: ::std::mem::MaybeUninit<_float_val> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_float_val>(), 4usize, concat!("Size of: ", stringify!(_float_val)) ); assert_eq!( ::std::mem::align_of::<_float_val>(), 4usize, concat!("Alignment of ", stringify!(_float_val)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Sh) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_float_val), "::", stringify!(_Sh) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Val) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_float_val), "::", stringify!(_Val) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub union _ldouble_val { pub _Sh: [::std::os::raw::c_ushort; 4usize], pub _Val: f64, } #[test] fn bindgen_test_layout__ldouble_val() { const UNINIT: ::std::mem::MaybeUninit<_ldouble_val> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_ldouble_val>(), 8usize, concat!("Size of: ", stringify!(_ldouble_val)) ); assert_eq!( ::std::mem::align_of::<_ldouble_val>(), 8usize, concat!("Alignment of ", stringify!(_ldouble_val)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Sh) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ldouble_val), "::", stringify!(_Sh) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Val) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_ldouble_val), "::", stringify!(_Val) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub union _float_const { pub _Word: [::std::os::raw::c_ushort; 4usize], pub _Float: f32, pub _Double: f64, pub _Long_double: f64, } #[test] fn bindgen_test_layout__float_const() { const UNINIT: ::std::mem::MaybeUninit<_float_const> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_float_const>(), 8usize, concat!("Size of: ", stringify!(_float_const)) ); assert_eq!( ::std::mem::align_of::<_float_const>(), 8usize, concat!("Alignment of ", stringify!(_float_const)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Word) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_float_const), "::", stringify!(_Word) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Float) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_float_const), "::", stringify!(_Float) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Double) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_float_const), "::", stringify!(_Double) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._Long_double) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_float_const), "::", stringify!(_Long_double) ) ); } extern "C" { pub static _Denorm_C: _float_const; } extern "C" { pub static _Inf_C: _float_const; } extern "C" { pub static _Nan_C: _float_const; } extern "C" { pub static _Snan_C: _float_const; } extern "C" { pub static _Hugeval_C: _float_const; } extern "C" { pub static _FDenorm_C: _float_const; } extern "C" { pub static _FInf_C: _float_const; } extern "C" { pub static _FNan_C: _float_const; } extern "C" { pub static _FSnan_C: _float_const; } extern "C" { pub static _LDenorm_C: _float_const; } extern "C" { pub static _LInf_C: _float_const; } extern "C" { pub static _LNan_C: _float_const; } extern "C" { pub static _LSnan_C: _float_const; } extern "C" { pub static _Eps_C: _float_const; } extern "C" { pub static _Rteps_C: _float_const; } extern "C" { pub static _FEps_C: _float_const; } extern "C" { pub static _FRteps_C: _float_const; } extern "C" { pub static _LEps_C: _float_const; } extern "C" { pub static _LRteps_C: _float_const; } extern "C" { pub static _Zero_C: f64; } extern "C" { pub static _Xbig_C: f64; } extern "C" { pub static _FZero_C: f32; } extern "C" { pub static _FXbig_C: f32; } extern "C" { pub static _LZero_C: f64; } extern "C" { pub static _LXbig_C: f64; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _Combined_type { pub _address: u8, } pub type _Combined_type__Type = f32; #[test] fn __bindgen_test_layout__Combined_type_open0_float_double_close0_instantiation() { assert_eq!( ::std::mem::size_of::<_Combined_type>(), 1usize, concat!( "Size of template specialization: ", stringify!(_Combined_type) ) ); assert_eq!( ::std::mem::align_of::<_Combined_type>(), 1usize, concat!( "Alignment of template specialization: ", stringify!(_Combined_type) ) ); } #[test] fn __bindgen_test_layout__Combined_type_open0_float_long_double_close0_instantiation() { assert_eq!( ::std::mem::size_of::<_Combined_type>(), 1usize, concat!( "Size of template specialization: ", stringify!(_Combined_type) ) ); assert_eq!( ::std::mem::align_of::<_Combined_type>(), 1usize, concat!( "Alignment of template specialization: ", stringify!(_Combined_type) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _Real_widened { pub _address: u8, } pub type _Real_widened__Type = f64; #[test] fn __bindgen_test_layout__Real_widened_open0_float_float_close0_instantiation() { assert_eq!( ::std::mem::size_of::<_Real_widened>(), 1usize, concat!( "Size of template specialization: ", stringify!(_Real_widened) ) ); assert_eq!( ::std::mem::align_of::<_Real_widened>(), 1usize, concat!( "Alignment of template specialization: ", stringify!(_Real_widened) ) ); } #[test] fn __bindgen_test_layout__Real_widened_open0_float_double_close0_instantiation() { assert_eq!( ::std::mem::size_of::<_Real_widened>(), 1usize, concat!( "Size of template specialization: ", stringify!(_Real_widened) ) ); assert_eq!( ::std::mem::align_of::<_Real_widened>(), 1usize, concat!( "Alignment of template specialization: ", stringify!(_Real_widened) ) ); } #[test] fn __bindgen_test_layout__Real_widened_open0_double_float_close0_instantiation() { assert_eq!( ::std::mem::size_of::<_Real_widened>(), 1usize, concat!( "Size of template specialization: ", stringify!(_Real_widened) ) ); assert_eq!( ::std::mem::align_of::<_Real_widened>(), 1usize, concat!( "Alignment of template specialization: ", stringify!(_Real_widened) ) ); } #[test] fn __bindgen_test_layout__Real_widened_open0_double_double_close0_instantiation() { assert_eq!( ::std::mem::size_of::<_Real_widened>(), 1usize, concat!( "Size of template specialization: ", stringify!(_Real_widened) ) ); assert_eq!( ::std::mem::align_of::<_Real_widened>(), 1usize, concat!( "Alignment of template specialization: ", stringify!(_Real_widened) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _Real_type { pub _address: u8, } pub type _Real_type__Type = f64; #[test] fn __bindgen_test_layout__Real_type_open0_float_close0_instantiation() { assert_eq!( ::std::mem::size_of::<_Real_type>(), 1usize, concat!("Size of template specialization: ", stringify!(_Real_type)) ); assert_eq!( ::std::mem::align_of::<_Real_type>(), 1usize, concat!( "Alignment of template specialization: ", stringify!(_Real_type) ) ); } #[test] fn __bindgen_test_layout__Real_type_open0_long_double_close0_instantiation() { assert_eq!( ::std::mem::size_of::<_Real_type>(), 1usize, concat!("Size of template specialization: ", stringify!(_Real_type)) ); assert_eq!( ::std::mem::align_of::<_Real_type>(), 1usize, concat!( "Alignment of template specialization: ", stringify!(_Real_type) ) ); } extern "C" { pub fn abs(_X: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn labs(_X: ::std::os::raw::c_long) -> ::std::os::raw::c_long; } extern "C" { pub fn llabs(_X: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; } extern "C" { pub fn acos(_X: f64) -> f64; } extern "C" { pub fn asin(_X: f64) -> f64; } extern "C" { pub fn atan(_X: f64) -> f64; } extern "C" { pub fn atan2(_Y: f64, _X: f64) -> f64; } extern "C" { pub fn cos(_X: f64) -> f64; } extern "C" { pub fn cosh(_X: f64) -> f64; } extern "C" { pub fn exp(_X: f64) -> f64; } extern "C" { pub fn fabs(_X: f64) -> f64; } extern "C" { pub fn fmod(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn log(_X: f64) -> f64; } extern "C" { pub fn log10(_X: f64) -> f64; } extern "C" { pub fn pow(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn sin(_X: f64) -> f64; } extern "C" { pub fn sinh(_X: f64) -> f64; } extern "C" { pub fn sqrt(_X: f64) -> f64; } extern "C" { pub fn tan(_X: f64) -> f64; } extern "C" { pub fn tanh(_X: f64) -> f64; } extern "C" { pub fn acosh(_X: f64) -> f64; } extern "C" { pub fn asinh(_X: f64) -> f64; } extern "C" { pub fn atanh(_X: f64) -> f64; } extern "C" { pub fn atof(_String: *const ::std::os::raw::c_char) -> f64; } extern "C" { pub fn _atof_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> f64; } extern "C" { pub fn _cabs(_Complex_value: _complex) -> f64; } extern "C" { pub fn cbrt(_X: f64) -> f64; } extern "C" { pub fn ceil(_X: f64) -> f64; } extern "C" { pub fn _chgsign(_X: f64) -> f64; } extern "C" { pub fn copysign(_Number: f64, _Sign: f64) -> f64; } extern "C" { pub fn _copysign(_Number: f64, _Sign: f64) -> f64; } extern "C" { pub fn erf(_X: f64) -> f64; } extern "C" { pub fn erfc(_X: f64) -> f64; } extern "C" { pub fn exp2(_X: f64) -> f64; } extern "C" { pub fn expm1(_X: f64) -> f64; } extern "C" { pub fn fdim(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn floor(_X: f64) -> f64; } extern "C" { pub fn fma(_X: f64, _Y: f64, _Z: f64) -> f64; } extern "C" { pub fn fmax(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn fmin(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn frexp(_X: f64, _Y: *mut ::std::os::raw::c_int) -> f64; } extern "C" { pub fn hypot(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn _hypot(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn ilogb(_X: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn ldexp(_X: f64, _Y: ::std::os::raw::c_int) -> f64; } extern "C" { pub fn lgamma(_X: f64) -> f64; } extern "C" { pub fn llrint(_X: f64) -> ::std::os::raw::c_longlong; } extern "C" { pub fn llround(_X: f64) -> ::std::os::raw::c_longlong; } extern "C" { pub fn log1p(_X: f64) -> f64; } extern "C" { pub fn log2(_X: f64) -> f64; } extern "C" { pub fn logb(_X: f64) -> f64; } extern "C" { pub fn lrint(_X: f64) -> ::std::os::raw::c_long; } extern "C" { pub fn lround(_X: f64) -> ::std::os::raw::c_long; } extern "C" { pub fn _matherr(_Except: *mut _exception) -> ::std::os::raw::c_int; } extern "C" { pub fn modf(_X: f64, _Y: *mut f64) -> f64; } extern "C" { pub fn nan(_X: *const ::std::os::raw::c_char) -> f64; } extern "C" { pub fn nearbyint(_X: f64) -> f64; } extern "C" { pub fn nextafter(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn nexttoward(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn remainder(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn remquo(_X: f64, _Y: f64, _Z: *mut ::std::os::raw::c_int) -> f64; } extern "C" { pub fn rint(_X: f64) -> f64; } extern "C" { pub fn round(_X: f64) -> f64; } extern "C" { pub fn scalbln(_X: f64, _Y: ::std::os::raw::c_long) -> f64; } extern "C" { pub fn scalbn(_X: f64, _Y: ::std::os::raw::c_int) -> f64; } extern "C" { pub fn tgamma(_X: f64) -> f64; } extern "C" { pub fn trunc(_X: f64) -> f64; } extern "C" { pub fn _j0(_X: f64) -> f64; } extern "C" { pub fn _j1(_X: f64) -> f64; } extern "C" { pub fn _jn(_X: ::std::os::raw::c_int, _Y: f64) -> f64; } extern "C" { pub fn _y0(_X: f64) -> f64; } extern "C" { pub fn _y1(_X: f64) -> f64; } extern "C" { pub fn _yn(_X: ::std::os::raw::c_int, _Y: f64) -> f64; } extern "C" { pub fn acoshf(_X: f32) -> f32; } extern "C" { pub fn asinhf(_X: f32) -> f32; } extern "C" { pub fn atanhf(_X: f32) -> f32; } extern "C" { pub fn cbrtf(_X: f32) -> f32; } extern "C" { pub fn _chgsignf(_X: f32) -> f32; } extern "C" { pub fn copysignf(_Number: f32, _Sign: f32) -> f32; } extern "C" { pub fn _copysignf(_Number: f32, _Sign: f32) -> f32; } extern "C" { pub fn erff(_X: f32) -> f32; } extern "C" { pub fn erfcf(_X: f32) -> f32; } extern "C" { pub fn expm1f(_X: f32) -> f32; } extern "C" { pub fn exp2f(_X: f32) -> f32; } extern "C" { pub fn fdimf(_X: f32, _Y: f32) -> f32; } extern "C" { pub fn fmaf(_X: f32, _Y: f32, _Z: f32) -> f32; } extern "C" { pub fn fmaxf(_X: f32, _Y: f32) -> f32; } extern "C" { pub fn fminf(_X: f32, _Y: f32) -> f32; } extern "C" { pub fn _hypotf(_X: f32, _Y: f32) -> f32; } extern "C" { pub fn ilogbf(_X: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn lgammaf(_X: f32) -> f32; } extern "C" { pub fn llrintf(_X: f32) -> ::std::os::raw::c_longlong; } extern "C" { pub fn llroundf(_X: f32) -> ::std::os::raw::c_longlong; } extern "C" { pub fn log1pf(_X: f32) -> f32; } extern "C" { pub fn log2f(_X: f32) -> f32; } extern "C" { pub fn logbf(_X: f32) -> f32; } extern "C" { pub fn lrintf(_X: f32) -> ::std::os::raw::c_long; } extern "C" { pub fn lroundf(_X: f32) -> ::std::os::raw::c_long; } extern "C" { pub fn nanf(_X: *const ::std::os::raw::c_char) -> f32; } extern "C" { pub fn nearbyintf(_X: f32) -> f32; } extern "C" { pub fn nextafterf(_X: f32, _Y: f32) -> f32; } extern "C" { pub fn nexttowardf(_X: f32, _Y: f64) -> f32; } extern "C" { pub fn remainderf(_X: f32, _Y: f32) -> f32; } extern "C" { pub fn remquof(_X: f32, _Y: f32, _Z: *mut ::std::os::raw::c_int) -> f32; } extern "C" { pub fn rintf(_X: f32) -> f32; } extern "C" { pub fn roundf(_X: f32) -> f32; } extern "C" { pub fn scalblnf(_X: f32, _Y: ::std::os::raw::c_long) -> f32; } extern "C" { pub fn scalbnf(_X: f32, _Y: ::std::os::raw::c_int) -> f32; } extern "C" { pub fn tgammaf(_X: f32) -> f32; } extern "C" { pub fn truncf(_X: f32) -> f32; } extern "C" { pub fn _logbf(_X: f32) -> f32; } extern "C" { pub fn _nextafterf(_X: f32, _Y: f32) -> f32; } extern "C" { pub fn _finitef(_X: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn _isnanf(_X: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn _fpclassf(_X: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn _set_FMA3_enable(_Flag: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn _get_FMA3_enable() -> ::std::os::raw::c_int; } extern "C" { pub fn acosf(_X: f32) -> f32; } extern "C" { pub fn asinf(_X: f32) -> f32; } extern "C" { pub fn atan2f(_Y: f32, _X: f32) -> f32; } extern "C" { pub fn atanf(_X: f32) -> f32; } extern "C" { pub fn ceilf(_X: f32) -> f32; } extern "C" { pub fn cosf(_X: f32) -> f32; } extern "C" { pub fn coshf(_X: f32) -> f32; } extern "C" { pub fn expf(_X: f32) -> f32; } extern "C" { pub fn floorf(_X: f32) -> f32; } extern "C" { pub fn fmodf(_X: f32, _Y: f32) -> f32; } extern "C" { pub fn log10f(_X: f32) -> f32; } extern "C" { pub fn logf(_X: f32) -> f32; } extern "C" { pub fn modff(_X: f32, _Y: *mut f32) -> f32; } extern "C" { pub fn powf(_X: f32, _Y: f32) -> f32; } extern "C" { pub fn sinf(_X: f32) -> f32; } extern "C" { pub fn sinhf(_X: f32) -> f32; } extern "C" { pub fn sqrtf(_X: f32) -> f32; } extern "C" { pub fn tanf(_X: f32) -> f32; } extern "C" { pub fn tanhf(_X: f32) -> f32; } extern "C" { pub fn acoshl(_X: f64) -> f64; } extern "C" { pub fn asinhl(_X: f64) -> f64; } extern "C" { pub fn atanhl(_X: f64) -> f64; } extern "C" { pub fn cbrtl(_X: f64) -> f64; } extern "C" { pub fn copysignl(_Number: f64, _Sign: f64) -> f64; } extern "C" { pub fn erfl(_X: f64) -> f64; } extern "C" { pub fn erfcl(_X: f64) -> f64; } extern "C" { pub fn exp2l(_X: f64) -> f64; } extern "C" { pub fn expm1l(_X: f64) -> f64; } extern "C" { pub fn fdiml(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn fmal(_X: f64, _Y: f64, _Z: f64) -> f64; } extern "C" { pub fn fmaxl(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn fminl(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn ilogbl(_X: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn lgammal(_X: f64) -> f64; } extern "C" { pub fn llrintl(_X: f64) -> ::std::os::raw::c_longlong; } extern "C" { pub fn llroundl(_X: f64) -> ::std::os::raw::c_longlong; } extern "C" { pub fn log1pl(_X: f64) -> f64; } extern "C" { pub fn log2l(_X: f64) -> f64; } extern "C" { pub fn logbl(_X: f64) -> f64; } extern "C" { pub fn lrintl(_X: f64) -> ::std::os::raw::c_long; } extern "C" { pub fn lroundl(_X: f64) -> ::std::os::raw::c_long; } extern "C" { pub fn nanl(_X: *const ::std::os::raw::c_char) -> f64; } extern "C" { pub fn nearbyintl(_X: f64) -> f64; } extern "C" { pub fn nextafterl(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn nexttowardl(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn remainderl(_X: f64, _Y: f64) -> f64; } extern "C" { pub fn remquol(_X: f64, _Y: f64, _Z: *mut ::std::os::raw::c_int) -> f64; } extern "C" { pub fn rintl(_X: f64) -> f64; } extern "C" { pub fn roundl(_X: f64) -> f64; } extern "C" { pub fn scalblnl(_X: f64, _Y: ::std::os::raw::c_long) -> f64; } extern "C" { pub fn scalbnl(_X: f64, _Y: ::std::os::raw::c_int) -> f64; } extern "C" { pub fn tgammal(_X: f64) -> f64; } extern "C" { pub fn truncl(_X: f64) -> f64; } extern "C" { pub static mut HUGE: f64; } extern "C" { pub fn j0(_X: f64) -> f64; } extern "C" { pub fn j1(_X: f64) -> f64; } extern "C" { pub fn jn(_X: ::std::os::raw::c_int, _Y: f64) -> f64; } extern "C" { pub fn y0(_X: f64) -> f64; } extern "C" { pub fn y1(_X: f64) -> f64; } extern "C" { pub fn yn(_X: ::std::os::raw::c_int, _Y: f64) -> f64; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tm { pub tm_sec: ::std::os::raw::c_int, pub tm_min: ::std::os::raw::c_int, pub tm_hour: ::std::os::raw::c_int, pub tm_mday: ::std::os::raw::c_int, pub tm_mon: ::std::os::raw::c_int, pub tm_year: ::std::os::raw::c_int, pub tm_wday: ::std::os::raw::c_int, pub tm_yday: ::std::os::raw::c_int, pub tm_isdst: ::std::os::raw::c_int, } #[test] fn bindgen_test_layout_tm() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 36usize, concat!("Size of: ", stringify!(tm)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(tm)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(tm), "::", stringify!(tm_sec) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(tm), "::", stringify!(tm_min) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(tm), "::", stringify!(tm_hour) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(tm), "::", stringify!(tm_mday) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(tm), "::", stringify!(tm_mon) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(tm), "::", stringify!(tm_year) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(tm), "::", stringify!(tm_wday) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(tm), "::", stringify!(tm_yday) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(tm), "::", stringify!(tm_isdst) ) ); } extern "C" { pub fn _wasctime(_Tm: *const tm) -> *mut u16; } extern "C" { pub fn _wasctime_s(_Buffer: *mut u16, _SizeInWords: usize, _Tm: *const tm) -> errno_t; } extern "C" { pub fn wcsftime( _Buffer: *mut u16, _SizeInWords: usize, _Format: *const u16, _Tm: *const tm, ) -> usize; } extern "C" { pub fn _wcsftime_l( _Buffer: *mut u16, _SizeInWords: usize, _Format: *const u16, _Tm: *const tm, _Locale: _locale_t, ) -> usize; } extern "C" { pub fn _wctime32(_Time: *const __time32_t) -> *mut u16; } extern "C" { pub fn _wctime32_s(_Buffer: *mut u16, _SizeInWords: usize, _Time: *const __time32_t) -> errno_t; } extern "C" { pub fn _wctime64(_Time: *const __time64_t) -> *mut u16; } extern "C" { pub fn _wctime64_s(_Buffer: *mut u16, _SizeInWords: usize, _Time: *const __time64_t) -> errno_t; } extern "C" { pub fn _wstrdate_s(_Buffer: *mut u16, _SizeInWords: usize) -> errno_t; } extern "C" { pub fn _wstrdate(_Buffer: *mut u16) -> *mut u16; } extern "C" { pub fn _wstrtime_s(_Buffer: *mut u16, _SizeInWords: usize) -> errno_t; } extern "C" { pub fn _wstrtime(_Buffer: *mut u16) -> *mut u16; } pub type clock_t = ::std::os::raw::c_long; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _timespec32 { pub tv_sec: __time32_t, pub tv_nsec: ::std::os::raw::c_long, } #[test] fn bindgen_test_layout__timespec32() { const UNINIT: ::std::mem::MaybeUninit<_timespec32> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_timespec32>(), 8usize, concat!("Size of: ", stringify!(_timespec32)) ); assert_eq!( ::std::mem::align_of::<_timespec32>(), 4usize, concat!("Alignment of ", stringify!(_timespec32)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_timespec32), "::", stringify!(tv_sec) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(_timespec32), "::", stringify!(tv_nsec) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _timespec64 { pub tv_sec: __time64_t, pub tv_nsec: ::std::os::raw::c_long, } #[test] fn bindgen_test_layout__timespec64() { const UNINIT: ::std::mem::MaybeUninit<_timespec64> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_timespec64>(), 16usize, concat!("Size of: ", stringify!(_timespec64)) ); assert_eq!( ::std::mem::align_of::<_timespec64>(), 8usize, concat!("Alignment of ", stringify!(_timespec64)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_timespec64), "::", stringify!(tv_sec) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_timespec64), "::", stringify!(tv_nsec) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct timespec { pub tv_sec: time_t, pub tv_nsec: ::std::os::raw::c_long, } #[test] fn bindgen_test_layout_timespec() { 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!(timespec)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(timespec)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(timespec), "::", stringify!(tv_sec) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(timespec), "::", stringify!(tv_nsec) ) ); } extern "C" { pub fn __daylight() -> *mut ::std::os::raw::c_int; } extern "C" { pub fn __dstbias() -> *mut ::std::os::raw::c_long; } extern "C" { pub fn __timezone() -> *mut ::std::os::raw::c_long; } extern "C" { pub fn __tzname() -> *mut *mut ::std::os::raw::c_char; } extern "C" { pub fn _get_daylight(_Daylight: *mut ::std::os::raw::c_int) -> errno_t; } extern "C" { pub fn _get_dstbias(_DaylightSavingsBias: *mut ::std::os::raw::c_long) -> errno_t; } extern "C" { pub fn _get_timezone(_TimeZone: *mut ::std::os::raw::c_long) -> errno_t; } extern "C" { pub fn _get_tzname( _ReturnValue: *mut usize, _Buffer: *mut ::std::os::raw::c_char, _SizeInBytes: usize, _Index: ::std::os::raw::c_int, ) -> errno_t; } extern "C" { pub fn asctime(_Tm: *const tm) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn asctime_s( _Buffer: *mut ::std::os::raw::c_char, _SizeInBytes: usize, _Tm: *const tm, ) -> errno_t; } extern "C" { pub fn clock() -> clock_t; } extern "C" { pub fn _ctime32(_Time: *const __time32_t) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn _ctime32_s( _Buffer: *mut ::std::os::raw::c_char, _SizeInBytes: usize, _Time: *const __time32_t, ) -> errno_t; } extern "C" { pub fn _ctime64(_Time: *const __time64_t) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn _ctime64_s( _Buffer: *mut ::std::os::raw::c_char, _SizeInBytes: usize, _Time: *const __time64_t, ) -> errno_t; } extern "C" { pub fn _difftime32(_Time1: __time32_t, _Time2: __time32_t) -> f64; } extern "C" { pub fn _difftime64(_Time1: __time64_t, _Time2: __time64_t) -> f64; } extern "C" { pub fn _gmtime32(_Time: *const __time32_t) -> *mut tm; } extern "C" { pub fn _gmtime32_s(_Tm: *mut tm, _Time: *const __time32_t) -> errno_t; } extern "C" { pub fn _gmtime64(_Time: *const __time64_t) -> *mut tm; } extern "C" { pub fn _gmtime64_s(_Tm: *mut tm, _Time: *const __time64_t) -> errno_t; } extern "C" { pub fn _localtime32(_Time: *const __time32_t) -> *mut tm; } extern "C" { pub fn _localtime32_s(_Tm: *mut tm, _Time: *const __time32_t) -> errno_t; } extern "C" { pub fn _localtime64(_Time: *const __time64_t) -> *mut tm; } extern "C" { pub fn _localtime64_s(_Tm: *mut tm, _Time: *const __time64_t) -> errno_t; } extern "C" { pub fn _mkgmtime32(_Tm: *mut tm) -> __time32_t; } extern "C" { pub fn _mkgmtime64(_Tm: *mut tm) -> __time64_t; } extern "C" { pub fn _mktime32(_Tm: *mut tm) -> __time32_t; } extern "C" { pub fn _mktime64(_Tm: *mut tm) -> __time64_t; } extern "C" { pub fn strftime( _Buffer: *mut ::std::os::raw::c_char, _SizeInBytes: usize, _Format: *const ::std::os::raw::c_char, _Tm: *const tm, ) -> usize; } extern "C" { pub fn _strftime_l( _Buffer: *mut ::std::os::raw::c_char, _MaxSize: usize, _Format: *const ::std::os::raw::c_char, _Tm: *const tm, _Locale: _locale_t, ) -> usize; } extern "C" { pub fn _strdate_s(_Buffer: *mut ::std::os::raw::c_char, _SizeInBytes: usize) -> errno_t; } extern "C" { pub fn _strdate(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn _strtime_s(_Buffer: *mut ::std::os::raw::c_char, _SizeInBytes: usize) -> errno_t; } extern "C" { pub fn _strtime(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn _time32(_Time: *mut __time32_t) -> __time32_t; } extern "C" { pub fn _time64(_Time: *mut __time64_t) -> __time64_t; } extern "C" { pub fn _timespec32_get( _Ts: *mut _timespec32, _Base: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _timespec64_get( _Ts: *mut _timespec64, _Base: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn _tzset(); } extern "C" { pub fn _getsystime(_Tm: *mut tm) -> ::std::os::raw::c_uint; } extern "C" { pub fn _setsystime( _Tm: *mut tm, _Milliseconds: ::std::os::raw::c_uint, ) -> ::std::os::raw::c_uint; } extern "C" { pub fn tzset(); } pub type dint64 = ::std::os::raw::c_longlong; pub type duint64 = ::std::os::raw::c_ulonglong; pub type dint32 = ::std::os::raw::c_int; pub type duint32 = ::std::os::raw::c_uint; pub type dint16 = ::std::os::raw::c_short; pub type duint16 = ::std::os::raw::c_ushort; pub type dint8 = ::std::os::raw::c_schar; pub type duint8 = ::std::os::raw::c_uchar; pub type dintptr = dint64; pub type duintptr = duint64; pub type ddiffint = dint64; pub type dsizeint = duint64; pub type dReal = f64; pub type dTriIndex = duint32; pub const dInfinity: dReal = ::std::f64::INFINITY; pub type dMessageFunction = ::std::option::Option< unsafe extern "C" fn( errnum: ::std::os::raw::c_int, msg: *const ::std::os::raw::c_char, ap: va_list, ), >; extern "C" { pub fn dSetErrorHandler(fn_: dMessageFunction); } extern "C" { pub fn dSetDebugHandler(fn_: dMessageFunction); } extern "C" { pub fn dSetMessageHandler(fn_: dMessageFunction); } extern "C" { pub fn dGetErrorHandler() -> dMessageFunction; } extern "C" { pub fn dGetDebugHandler() -> dMessageFunction; } extern "C" { pub fn dGetMessageHandler() -> dMessageFunction; } extern "C" { pub fn dError(num: ::std::os::raw::c_int, msg: *const ::std::os::raw::c_char, ...); } extern "C" { pub fn dDebug(num: ::std::os::raw::c_int, msg: *const ::std::os::raw::c_char, ...); } extern "C" { pub fn dMessage(num: ::std::os::raw::c_int, msg: *const ::std::os::raw::c_char, ...); } pub const dSpaceAxis_dSA__MIN: dSpaceAxis = 0; pub const dSpaceAxis_dSA_X: dSpaceAxis = 0; pub const dSpaceAxis_dSA_Y: dSpaceAxis = 1; pub const dSpaceAxis_dSA_Z: dSpaceAxis = 2; pub const dSpaceAxis_dSA__MAX: dSpaceAxis = 3; pub type dSpaceAxis = ::std::os::raw::c_int; pub const dMotionDynamics_dMD__MIN: dMotionDynamics = 0; pub const dMotionDynamics_dMD_LINEAR: dMotionDynamics = 0; pub const dMotionDynamics_dMD_ANGULAR: dMotionDynamics = 1; pub const dMotionDynamics_dMD__MAX: dMotionDynamics = 2; pub type dMotionDynamics = ::std::os::raw::c_int; pub const dDynamicsAxis_dDA__MIN: dDynamicsAxis = 0; pub const dDynamicsAxis_dDA__L_MIN: dDynamicsAxis = 0; pub const dDynamicsAxis_dDA_LX: dDynamicsAxis = 0; pub const dDynamicsAxis_dDA_LY: dDynamicsAxis = 1; pub const dDynamicsAxis_dDA_LZ: dDynamicsAxis = 2; pub const dDynamicsAxis_dDA__L_MAX: dDynamicsAxis = 3; pub const dDynamicsAxis_dDA__A_MIN: dDynamicsAxis = 3; pub const dDynamicsAxis_dDA_AX: dDynamicsAxis = 3; pub const dDynamicsAxis_dDA_AY: dDynamicsAxis = 4; pub const dDynamicsAxis_dDA_AZ: dDynamicsAxis = 5; pub const dDynamicsAxis_dDA__A_MAX: dDynamicsAxis = 6; pub const dDynamicsAxis_dDA__MAX: dDynamicsAxis = 6; pub type dDynamicsAxis = ::std::os::raw::c_int; pub const dVec3Element_dV3E__MIN: dVec3Element = 0; pub const dVec3Element_dV3E__AXES_MIN: dVec3Element = 0; pub const dVec3Element_dV3E_X: dVec3Element = 0; pub const dVec3Element_dV3E_Y: dVec3Element = 1; pub const dVec3Element_dV3E_Z: dVec3Element = 2; pub const dVec3Element_dV3E__AXES_MAX: dVec3Element = 3; pub const dVec3Element_dV3E_PAD: dVec3Element = 3; pub const dVec3Element_dV3E__MAX: dVec3Element = 4; pub const dVec3Element_dV3E__AXES_COUNT: dVec3Element = 3; pub type dVec3Element = ::std::os::raw::c_int; pub const dVec4Element_dV4E__MIN: dVec4Element = 0; pub const dVec4Element_dV4E_X: dVec4Element = 0; pub const dVec4Element_dV4E_Y: dVec4Element = 1; pub const dVec4Element_dV4E_Z: dVec4Element = 2; pub const dVec4Element_dV4E_O: dVec4Element = 3; pub const dVec4Element_dV4E__MAX: dVec4Element = 4; pub type dVec4Element = ::std::os::raw::c_int; pub const dMat3Element_dM3E__MIN: dMat3Element = 0; pub const dMat3Element_dM3E__X_MIN: dMat3Element = 0; pub const dMat3Element_dM3E__X_AXES_MIN: dMat3Element = 0; pub const dMat3Element_dM3E_XX: dMat3Element = 0; pub const dMat3Element_dM3E_XY: dMat3Element = 1; pub const dMat3Element_dM3E_XZ: dMat3Element = 2; pub const dMat3Element_dM3E__X_AXES_MAX: dMat3Element = 3; pub const dMat3Element_dM3E_XPAD: dMat3Element = 3; pub const dMat3Element_dM3E__X_MAX: dMat3Element = 4; pub const dMat3Element_dM3E__Y_MIN: dMat3Element = 4; pub const dMat3Element_dM3E__Y_AXES_MIN: dMat3Element = 4; pub const dMat3Element_dM3E_YX: dMat3Element = 4; pub const dMat3Element_dM3E_YY: dMat3Element = 5; pub const dMat3Element_dM3E_YZ: dMat3Element = 6; pub const dMat3Element_dM3E__Y_AXES_MAX: dMat3Element = 7; pub const dMat3Element_dM3E_YPAD: dMat3Element = 7; pub const dMat3Element_dM3E__Y_MAX: dMat3Element = 8; pub const dMat3Element_dM3E__Z_MIN: dMat3Element = 8; pub const dMat3Element_dM3E__Z_AXES_MIN: dMat3Element = 8; pub const dMat3Element_dM3E_ZX: dMat3Element = 8; pub const dMat3Element_dM3E_ZY: dMat3Element = 9; pub const dMat3Element_dM3E_ZZ: dMat3Element = 10; pub const dMat3Element_dM3E__Z_AXES_MAX: dMat3Element = 11; pub const dMat3Element_dM3E_ZPAD: dMat3Element = 11; pub const dMat3Element_dM3E__Z_MAX: dMat3Element = 12; pub const dMat3Element_dM3E__MAX: dMat3Element = 12; pub type dMat3Element = ::std::os::raw::c_int; pub const dMat4Element_dM4E__MIN: dMat4Element = 0; pub const dMat4Element_dM4E__X_MIN: dMat4Element = 0; pub const dMat4Element_dM4E_XX: dMat4Element = 0; pub const dMat4Element_dM4E_XY: dMat4Element = 1; pub const dMat4Element_dM4E_XZ: dMat4Element = 2; pub const dMat4Element_dM4E_XO: dMat4Element = 3; pub const dMat4Element_dM4E__X_MAX: dMat4Element = 4; pub const dMat4Element_dM4E__Y_MIN: dMat4Element = 4; pub const dMat4Element_dM4E_YX: dMat4Element = 4; pub const dMat4Element_dM4E_YY: dMat4Element = 5; pub const dMat4Element_dM4E_YZ: dMat4Element = 6; pub const dMat4Element_dM4E_YO: dMat4Element = 7; pub const dMat4Element_dM4E__Y_MAX: dMat4Element = 8; pub const dMat4Element_dM4E__Z_MIN: dMat4Element = 8; pub const dMat4Element_dM4E_ZX: dMat4Element = 8; pub const dMat4Element_dM4E_ZY: dMat4Element = 9; pub const dMat4Element_dM4E_ZZ: dMat4Element = 10; pub const dMat4Element_dM4E_ZO: dMat4Element = 11; pub const dMat4Element_dM4E__Z_MAX: dMat4Element = 12; pub const dMat4Element_dM4E__O_MIN: dMat4Element = 12; pub const dMat4Element_dM4E_OX: dMat4Element = 12; pub const dMat4Element_dM4E_OY: dMat4Element = 13; pub const dMat4Element_dM4E_OZ: dMat4Element = 14; pub const dMat4Element_dM4E_OO: dMat4Element = 15; pub const dMat4Element_dM4E__O_MAX: dMat4Element = 16; pub const dMat4Element_dM4E__MAX: dMat4Element = 16; pub type dMat4Element = ::std::os::raw::c_int; pub const dQuatElement_dQUE__MIN: dQuatElement = 0; pub const dQuatElement_dQUE_R: dQuatElement = 0; pub const dQuatElement_dQUE__AXIS_MIN: dQuatElement = 1; pub const dQuatElement_dQUE_I: dQuatElement = 1; pub const dQuatElement_dQUE_J: dQuatElement = 2; pub const dQuatElement_dQUE_K: dQuatElement = 3; pub const dQuatElement_dQUE__AXIS_MAX: dQuatElement = 4; pub const dQuatElement_dQUE__MAX: dQuatElement = 4; pub type dQuatElement = ::std::os::raw::c_int; pub type dVector3 = [dReal; 4usize]; pub type dVector4 = [dReal; 4usize]; pub type dMatrix3 = [dReal; 12usize]; pub type dMatrix4 = [dReal; 16usize]; pub type dMatrix6 = [dReal; 48usize]; pub type dQuaternion = [dReal; 4usize]; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxWorld { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxSpace { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxBody { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxGeom { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxJoint { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxJointGroup { _unused: [u8; 0], } pub type dWorldID = *mut dxWorld; pub type dSpaceID = *mut dxSpace; pub type dBodyID = *mut dxBody; pub type dGeomID = *mut dxGeom; pub type dJointID = *mut dxJoint; pub type dJointGroupID = *mut dxJointGroup; pub const d_ERR_UNKNOWN: _bindgen_ty_1 = 0; pub const d_ERR_IASSERT: _bindgen_ty_1 = 1; pub const d_ERR_UASSERT: _bindgen_ty_1 = 2; pub const d_ERR_LCP: _bindgen_ty_1 = 3; pub type _bindgen_ty_1 = ::std::os::raw::c_int; pub const dJointType_dJointTypeNone: dJointType = 0; pub const dJointType_dJointTypeBall: dJointType = 1; pub const dJointType_dJointTypeHinge: dJointType = 2; pub const dJointType_dJointTypeSlider: dJointType = 3; pub const dJointType_dJointTypeContact: dJointType = 4; pub const dJointType_dJointTypeUniversal: dJointType = 5; pub const dJointType_dJointTypeHinge2: dJointType = 6; pub const dJointType_dJointTypeFixed: dJointType = 7; pub const dJointType_dJointTypeNull: dJointType = 8; pub const dJointType_dJointTypeAMotor: dJointType = 9; pub const dJointType_dJointTypeLMotor: dJointType = 10; pub const dJointType_dJointTypePlane2D: dJointType = 11; pub const dJointType_dJointTypePR: dJointType = 12; pub const dJointType_dJointTypePU: dJointType = 13; pub const dJointType_dJointTypePiston: dJointType = 14; pub const dJointType_dJointTypeDBall: dJointType = 15; pub const dJointType_dJointTypeDHinge: dJointType = 16; pub const dJointType_dJointTypeTransmission: dJointType = 17; pub type dJointType = ::std::os::raw::c_int; pub const dParamLoStop: _bindgen_ty_2 = 0; pub const dParamHiStop: _bindgen_ty_2 = 1; pub const dParamVel: _bindgen_ty_2 = 2; pub const dParamLoVel: _bindgen_ty_2 = 3; pub const dParamHiVel: _bindgen_ty_2 = 4; pub const dParamFMax: _bindgen_ty_2 = 5; pub const dParamFudgeFactor: _bindgen_ty_2 = 6; pub const dParamBounce: _bindgen_ty_2 = 7; pub const dParamCFM: _bindgen_ty_2 = 8; pub const dParamStopERP: _bindgen_ty_2 = 9; pub const dParamStopCFM: _bindgen_ty_2 = 10; pub const dParamSuspensionERP: _bindgen_ty_2 = 11; pub const dParamSuspensionCFM: _bindgen_ty_2 = 12; pub const dParamERP: _bindgen_ty_2 = 13; pub const dParamsInGroup: _bindgen_ty_2 = 14; pub const dParamGroup1: _bindgen_ty_2 = 0; pub const dParamLoStop1: _bindgen_ty_2 = 0; pub const dParamHiStop1: _bindgen_ty_2 = 1; pub const dParamVel1: _bindgen_ty_2 = 2; pub const dParamLoVel1: _bindgen_ty_2 = 3; pub const dParamHiVel1: _bindgen_ty_2 = 4; pub const dParamFMax1: _bindgen_ty_2 = 5; pub const dParamFudgeFactor1: _bindgen_ty_2 = 6; pub const dParamBounce1: _bindgen_ty_2 = 7; pub const dParamCFM1: _bindgen_ty_2 = 8; pub const dParamStopERP1: _bindgen_ty_2 = 9; pub const dParamStopCFM1: _bindgen_ty_2 = 10; pub const dParamSuspensionERP1: _bindgen_ty_2 = 11; pub const dParamSuspensionCFM1: _bindgen_ty_2 = 12; pub const dParamERP1: _bindgen_ty_2 = 13; pub const dParamGroup2: _bindgen_ty_2 = 256; pub const dParamLoStop2: _bindgen_ty_2 = 256; pub const dParamHiStop2: _bindgen_ty_2 = 257; pub const dParamVel2: _bindgen_ty_2 = 258; pub const dParamLoVel2: _bindgen_ty_2 = 259; pub const dParamHiVel2: _bindgen_ty_2 = 260; pub const dParamFMax2: _bindgen_ty_2 = 261; pub const dParamFudgeFactor2: _bindgen_ty_2 = 262; pub const dParamBounce2: _bindgen_ty_2 = 263; pub const dParamCFM2: _bindgen_ty_2 = 264; pub const dParamStopERP2: _bindgen_ty_2 = 265; pub const dParamStopCFM2: _bindgen_ty_2 = 266; pub const dParamSuspensionERP2: _bindgen_ty_2 = 267; pub const dParamSuspensionCFM2: _bindgen_ty_2 = 268; pub const dParamERP2: _bindgen_ty_2 = 269; pub const dParamGroup3: _bindgen_ty_2 = 512; pub const dParamLoStop3: _bindgen_ty_2 = 512; pub const dParamHiStop3: _bindgen_ty_2 = 513; pub const dParamVel3: _bindgen_ty_2 = 514; pub const dParamLoVel3: _bindgen_ty_2 = 515; pub const dParamHiVel3: _bindgen_ty_2 = 516; pub const dParamFMax3: _bindgen_ty_2 = 517; pub const dParamFudgeFactor3: _bindgen_ty_2 = 518; pub const dParamBounce3: _bindgen_ty_2 = 519; pub const dParamCFM3: _bindgen_ty_2 = 520; pub const dParamStopERP3: _bindgen_ty_2 = 521; pub const dParamStopCFM3: _bindgen_ty_2 = 522; pub const dParamSuspensionERP3: _bindgen_ty_2 = 523; pub const dParamSuspensionCFM3: _bindgen_ty_2 = 524; pub const dParamERP3: _bindgen_ty_2 = 525; pub const dParamGroup: _bindgen_ty_2 = 256; pub type _bindgen_ty_2 = ::std::os::raw::c_int; pub const dAMotorUser: _bindgen_ty_3 = 0; pub const dAMotorEuler: _bindgen_ty_3 = 1; pub type _bindgen_ty_3 = ::std::os::raw::c_int; pub const dTransmissionParallelAxes: _bindgen_ty_4 = 0; pub const dTransmissionIntersectingAxes: _bindgen_ty_4 = 1; pub const dTransmissionChainDrive: _bindgen_ty_4 = 2; pub type _bindgen_ty_4 = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dJointFeedback { pub f1: dVector3, pub t1: dVector3, pub f2: dVector3, pub t2: dVector3, } #[test] fn bindgen_test_layout_dJointFeedback() { 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!(dJointFeedback)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dJointFeedback)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).f1) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dJointFeedback), "::", stringify!(f1) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).t1) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(dJointFeedback), "::", stringify!(t1) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).f2) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(dJointFeedback), "::", stringify!(f2) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).t2) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(dJointFeedback), "::", stringify!(t2) ) ); } extern "C" { pub fn dGeomMoved(arg1: dGeomID); } extern "C" { pub fn dGeomGetBodyNext(arg1: dGeomID) -> dGeomID; } extern "C" { pub fn dGetConfiguration() -> *const ::std::os::raw::c_char; } extern "C" { pub fn dCheckConfiguration(token: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } pub const dInitODEFlags_dInitFlagManualThreadCleanup: dInitODEFlags = 1; pub type dInitODEFlags = ::std::os::raw::c_int; extern "C" { pub fn dInitODE(); } extern "C" { pub fn dInitODE2(uiInitFlags: ::std::os::raw::c_uint) -> ::std::os::raw::c_int; } pub const dAllocateODEDataFlags_dAllocateFlagBasicData: dAllocateODEDataFlags = 0; pub const dAllocateODEDataFlags_dAllocateFlagCollisionData: dAllocateODEDataFlags = 1; pub const dAllocateODEDataFlags_dAllocateMaskAll: dAllocateODEDataFlags = -1; pub type dAllocateODEDataFlags = ::std::os::raw::c_int; extern "C" { pub fn dAllocateODEDataForThread( uiAllocateFlags: ::std::os::raw::c_uint, ) -> ::std::os::raw::c_int; } extern "C" { pub fn dCleanupODEAllDataForThread(); } extern "C" { pub fn dCloseODE(); } pub const dContactMu2: _bindgen_ty_5 = 1; pub const dContactAxisDep: _bindgen_ty_5 = 1; pub const dContactFDir1: _bindgen_ty_5 = 2; pub const dContactBounce: _bindgen_ty_5 = 4; pub const dContactSoftERP: _bindgen_ty_5 = 8; pub const dContactSoftCFM: _bindgen_ty_5 = 16; pub const dContactMotion1: _bindgen_ty_5 = 32; pub const dContactMotion2: _bindgen_ty_5 = 64; pub const dContactMotionN: _bindgen_ty_5 = 128; pub const dContactSlip1: _bindgen_ty_5 = 256; pub const dContactSlip2: _bindgen_ty_5 = 512; pub const dContactRolling: _bindgen_ty_5 = 1024; pub const dContactApprox0: _bindgen_ty_5 = 0; pub const dContactApprox1_1: _bindgen_ty_5 = 4096; pub const dContactApprox1_2: _bindgen_ty_5 = 8192; pub const dContactApprox1_N: _bindgen_ty_5 = 16384; pub const dContactApprox1: _bindgen_ty_5 = 28672; pub type _bindgen_ty_5 = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dSurfaceParameters { pub mode: ::std::os::raw::c_int, pub mu: dReal, pub mu2: dReal, pub rho: dReal, pub rho2: dReal, pub rhoN: dReal, pub bounce: dReal, pub bounce_vel: dReal, pub soft_erp: dReal, pub soft_cfm: dReal, pub motion1: dReal, pub motion2: dReal, pub motionN: dReal, pub slip1: dReal, pub slip2: dReal, } #[test] fn bindgen_test_layout_dSurfaceParameters() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 120usize, concat!("Size of: ", stringify!(dSurfaceParameters)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dSurfaceParameters)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(mode) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).mu) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(mu) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).mu2) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(mu2) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).rho) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(rho) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).rho2) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(rho2) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).rhoN) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(rhoN) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).bounce) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(bounce) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).bounce_vel) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(bounce_vel) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).soft_erp) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(soft_erp) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).soft_cfm) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(soft_cfm) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).motion1) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(motion1) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).motion2) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(motion2) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).motionN) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(motionN) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).slip1) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(slip1) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).slip2) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(dSurfaceParameters), "::", stringify!(slip2) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dContactGeom { pub pos: dVector3, pub normal: dVector3, pub depth: dReal, pub g1: dGeomID, pub g2: dGeomID, pub side1: ::std::os::raw::c_int, pub side2: ::std::os::raw::c_int, } #[test] fn bindgen_test_layout_dContactGeom() { 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!(dContactGeom)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dContactGeom)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).pos) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dContactGeom), "::", stringify!(pos) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).normal) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(dContactGeom), "::", stringify!(normal) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).depth) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(dContactGeom), "::", stringify!(depth) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).g1) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(dContactGeom), "::", stringify!(g1) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).g2) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(dContactGeom), "::", stringify!(g2) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).side1) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(dContactGeom), "::", stringify!(side1) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).side2) as usize - ptr as usize }, 92usize, concat!( "Offset of field: ", stringify!(dContactGeom), "::", stringify!(side2) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dContact { pub surface: dSurfaceParameters, pub geom: dContactGeom, pub fdir1: dVector3, } #[test] fn bindgen_test_layout_dContact() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 248usize, concat!("Size of: ", stringify!(dContact)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dContact)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).surface) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dContact), "::", stringify!(surface) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).geom) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(dContact), "::", stringify!(geom) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).fdir1) as usize - ptr as usize }, 216usize, concat!( "Offset of field: ", stringify!(dContact), "::", stringify!(fdir1) ) ); } pub type dAllocFunction = ::std::option::Option *mut ::std::os::raw::c_void>; pub type dReallocFunction = ::std::option::Option< unsafe extern "C" fn( ptr: *mut ::std::os::raw::c_void, oldsize: dsizeint, newsize: dsizeint, ) -> *mut ::std::os::raw::c_void, >; pub type dFreeFunction = ::std::option::Option; extern "C" { pub fn dSetAllocHandler(fn_: dAllocFunction); } extern "C" { pub fn dSetReallocHandler(fn_: dReallocFunction); } extern "C" { pub fn dSetFreeHandler(fn_: dFreeFunction); } extern "C" { pub fn dGetAllocHandler() -> dAllocFunction; } extern "C" { pub fn dGetReallocHandler() -> dReallocFunction; } extern "C" { pub fn dGetFreeHandler() -> dFreeFunction; } extern "C" { pub fn dAlloc(size: dsizeint) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn dRealloc( ptr: *mut ::std::os::raw::c_void, oldsize: dsizeint, newsize: dsizeint, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn dFree(ptr: *mut ::std::os::raw::c_void, size: dsizeint); } extern "C" { pub fn dSafeNormalize3(a: *mut dReal) -> ::std::os::raw::c_int; } extern "C" { pub fn dSafeNormalize4(a: *mut dReal) -> ::std::os::raw::c_int; } extern "C" { pub fn dNormalize3(a: *mut dReal); } extern "C" { pub fn dNormalize4(a: *mut dReal); } extern "C" { pub fn dPlaneSpace(n: *mut dReal, p: *mut dReal, q: *mut dReal); } extern "C" { pub fn dOrthogonalizeR(m: *mut dReal) -> ::std::os::raw::c_int; } extern "C" { pub fn dSetZero(a: *mut dReal, n: ::std::os::raw::c_int); } extern "C" { pub fn dSetValue(a: *mut dReal, n: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dDot(a: *const dReal, b: *const dReal, n: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dMultiply0( A: *mut dReal, B: *const dReal, C: *const dReal, p: ::std::os::raw::c_int, q: ::std::os::raw::c_int, r: ::std::os::raw::c_int, ); } extern "C" { pub fn dMultiply1( A: *mut dReal, B: *const dReal, C: *const dReal, p: ::std::os::raw::c_int, q: ::std::os::raw::c_int, r: ::std::os::raw::c_int, ); } extern "C" { pub fn dMultiply2( A: *mut dReal, B: *const dReal, C: *const dReal, p: ::std::os::raw::c_int, q: ::std::os::raw::c_int, r: ::std::os::raw::c_int, ); } extern "C" { pub fn dFactorCholesky(A: *mut dReal, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn dSolveCholesky(L: *const dReal, b: *mut dReal, n: ::std::os::raw::c_int); } extern "C" { pub fn dInvertPDMatrix( A: *const dReal, Ainv: *mut dReal, n: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn dIsPositiveDefinite(A: *const dReal, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn dFactorLDLT( A: *mut dReal, d: *mut dReal, n: ::std::os::raw::c_int, nskip: ::std::os::raw::c_int, ); } extern "C" { pub fn dSolveL1( L: *const dReal, b: *mut dReal, n: ::std::os::raw::c_int, nskip: ::std::os::raw::c_int, ); } extern "C" { pub fn dSolveL1T( L: *const dReal, b: *mut dReal, n: ::std::os::raw::c_int, nskip: ::std::os::raw::c_int, ); } extern "C" { pub fn dScaleVector(a: *mut dReal, d: *const dReal, n: ::std::os::raw::c_int); } extern "C" { pub fn dVectorScale(a: *mut dReal, d: *const dReal, n: ::std::os::raw::c_int); } extern "C" { pub fn dSolveLDLT( L: *const dReal, d: *const dReal, b: *mut dReal, n: ::std::os::raw::c_int, nskip: ::std::os::raw::c_int, ); } extern "C" { pub fn dLDLTAddTL( L: *mut dReal, d: *mut dReal, a: *const dReal, n: ::std::os::raw::c_int, nskip: ::std::os::raw::c_int, ); } extern "C" { pub fn dLDLTRemove( A: *mut *mut dReal, p: *const ::std::os::raw::c_int, L: *mut dReal, d: *mut dReal, n1: ::std::os::raw::c_int, n2: ::std::os::raw::c_int, r: ::std::os::raw::c_int, nskip: ::std::os::raw::c_int, ); } extern "C" { pub fn dRemoveRowCol( A: *mut dReal, n: ::std::os::raw::c_int, nskip: ::std::os::raw::c_int, r: ::std::os::raw::c_int, ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxThreadingImplementation { _unused: [u8; 0], } pub type dThreadingImplementationID = *mut dxThreadingImplementation; pub type dmutexindex_t = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxMutexGroup { _unused: [u8; 0], } pub type dMutexGroupID = *mut dxMutexGroup; pub type dMutexGroupAllocFunction = ::std::option::Option< unsafe extern "C" fn( impl_: dThreadingImplementationID, Mutex_count: dmutexindex_t, Mutex_names_ptr: *const *const ::std::os::raw::c_char, ) -> dMutexGroupID, >; pub type dMutexGroupFreeFunction = ::std::option::Option< unsafe extern "C" fn(impl_: dThreadingImplementationID, mutex_group: dMutexGroupID), >; pub type dMutexGroupMutexLockFunction = ::std::option::Option< unsafe extern "C" fn( impl_: dThreadingImplementationID, mutex_group: dMutexGroupID, mutex_index: dmutexindex_t, ), >; pub type dMutexGroupMutexUnlockFunction = ::std::option::Option< unsafe extern "C" fn( impl_: dThreadingImplementationID, mutex_group: dMutexGroupID, mutex_index: dmutexindex_t, ), >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxCallReleasee { _unused: [u8; 0], } pub type dCallReleaseeID = *mut dxCallReleasee; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxCallWait { _unused: [u8; 0], } pub type dCallWaitID = *mut dxCallWait; pub type ddependencycount_t = dsizeint; pub type ddependencychange_t = ddiffint; pub type dcallindex_t = dsizeint; pub type dThreadedCallFunction = ::std::option::Option< unsafe extern "C" fn( call_context: *mut ::std::os::raw::c_void, instance_index: dcallindex_t, this_releasee: dCallReleaseeID, ) -> ::std::os::raw::c_int, >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxThreadedWaitTime { pub wait_sec: time_t, pub wait_nsec: ::std::os::raw::c_ulong, } #[test] fn bindgen_test_layout_dxThreadedWaitTime() { 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!(dxThreadedWaitTime)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dxThreadedWaitTime)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).wait_sec) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dxThreadedWaitTime), "::", stringify!(wait_sec) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).wait_nsec) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(dxThreadedWaitTime), "::", stringify!(wait_nsec) ) ); } pub type dThreadedWaitTime = dxThreadedWaitTime; pub type dThreadedCallWaitAllocFunction = ::std::option::Option dCallWaitID>; pub type dThreadedCallWaitResetFunction = ::std::option::Option< unsafe extern "C" fn(impl_: dThreadingImplementationID, call_wait: dCallWaitID), >; pub type dThreadedCallWaitFreeFunction = ::std::option::Option< unsafe extern "C" fn(impl_: dThreadingImplementationID, call_wait: dCallWaitID), >; pub type dThreadedCallPostFunction = ::std::option::Option< unsafe extern "C" fn( impl_: dThreadingImplementationID, out_summary_fault: *mut ::std::os::raw::c_int, out_post_releasee: *mut dCallReleaseeID, dependencies_count: ddependencycount_t, dependent_releasee: dCallReleaseeID, call_wait: dCallWaitID, call_func: dThreadedCallFunction, call_context: *mut ::std::os::raw::c_void, instance_index: dcallindex_t, call_name: *const ::std::os::raw::c_char, ), >; pub type dThreadedCallDependenciesCountAlterFunction = ::std::option::Option< unsafe extern "C" fn( impl_: dThreadingImplementationID, target_releasee: dCallReleaseeID, dependencies_count_change: ddependencychange_t, ), >; pub type dThreadedCallWaitFunction = ::std::option::Option< unsafe extern "C" fn( impl_: dThreadingImplementationID, out_wait_status: *mut ::std::os::raw::c_int, call_wait: dCallWaitID, timeout_time_ptr: *const dThreadedWaitTime, wait_name: *const ::std::os::raw::c_char, ), >; pub type dThreadingImplThreadCountRetrieveFunction = ::std::option::Option< unsafe extern "C" fn(impl_: dThreadingImplementationID) -> ::std::os::raw::c_uint, >; pub type dThreadingImplResourcesForCallsPreallocateFunction = ::std::option::Option< unsafe extern "C" fn( impl_: dThreadingImplementationID, max_simultaneous_calls_estimate: ddependencycount_t, ) -> ::std::os::raw::c_int, >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxThreadingFunctionsInfo { pub struct_size: ::std::os::raw::c_uint, pub alloc_mutex_group: dMutexGroupAllocFunction, pub free_mutex_group: dMutexGroupFreeFunction, pub lock_group_mutex: dMutexGroupMutexLockFunction, pub unlock_group_mutex: dMutexGroupMutexUnlockFunction, pub alloc_call_wait: dThreadedCallWaitAllocFunction, pub reset_call_wait: dThreadedCallWaitResetFunction, pub free_call_wait: dThreadedCallWaitFreeFunction, pub post_call: dThreadedCallPostFunction, pub alter_call_dependencies_count: dThreadedCallDependenciesCountAlterFunction, pub wait_call: dThreadedCallWaitFunction, pub retrieve_thread_count: dThreadingImplThreadCountRetrieveFunction, pub preallocate_resources_for_calls: dThreadingImplResourcesForCallsPreallocateFunction, } #[test] fn bindgen_test_layout_dxThreadingFunctionsInfo() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 104usize, concat!("Size of: ", stringify!(dxThreadingFunctionsInfo)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dxThreadingFunctionsInfo)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).struct_size) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(struct_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).alloc_mutex_group) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(alloc_mutex_group) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).free_mutex_group) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(free_mutex_group) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).lock_group_mutex) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(lock_group_mutex) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).unlock_group_mutex) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(unlock_group_mutex) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).alloc_call_wait) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(alloc_call_wait) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).reset_call_wait) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(reset_call_wait) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).free_call_wait) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(free_call_wait) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).post_call) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(post_call) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).alter_call_dependencies_count) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(alter_call_dependencies_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).wait_call) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(wait_call) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).retrieve_thread_count) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(retrieve_thread_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).preallocate_resources_for_calls) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(dxThreadingFunctionsInfo), "::", stringify!(preallocate_resources_for_calls) ) ); } pub type dThreadingFunctionsInfo = dxThreadingFunctionsInfo; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxCooperative { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxResourceRequirements { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxResourceContainer { _unused: [u8; 0], } pub type dCooperativeID = *mut dxCooperative; pub type dResourceRequirementsID = *mut dxResourceRequirements; pub type dResourceContainerID = *mut dxResourceContainer; extern "C" { pub fn dCooperativeCreate( functionInfo: *const dThreadingFunctionsInfo, threadingImpl: dThreadingImplementationID, ) -> dCooperativeID; } extern "C" { pub fn dCooperativeDestroy(cooperative: dCooperativeID); } extern "C" { pub fn dResourceRequirementsCreate(cooperative: dCooperativeID) -> dResourceRequirementsID; } extern "C" { pub fn dResourceRequirementsDestroy(requirements: dResourceRequirementsID); } extern "C" { pub fn dResourceRequirementsClone( requirements: dResourceRequirementsID, ) -> dResourceRequirementsID; } extern "C" { pub fn dResourceRequirementsMergeIn( summaryRequirements: dResourceRequirementsID, extraRequirements: dResourceRequirementsID, ); } extern "C" { pub fn dResourceContainerAcquire(requirements: dResourceRequirementsID) -> dResourceContainerID; } extern "C" { pub fn dResourceContainerDestroy(resources: dResourceContainerID); } extern "C" { pub fn dEstimateCooperativelyFactorLDLTResourceRequirements( requirements: dResourceRequirementsID, maximalAllowedThreadCount: ::std::os::raw::c_uint, maximalRowCount: ::std::os::raw::c_uint, ); } extern "C" { pub fn dCooperativelyFactorLDLT( resources: dResourceContainerID, allowedThreadCount: ::std::os::raw::c_uint, A: *mut dReal, d: *mut dReal, rowCount: ::std::os::raw::c_uint, rowSkip: ::std::os::raw::c_uint, ); } extern "C" { pub fn dEstimateCooperativelySolveLDLTResourceRequirements( requirements: dResourceRequirementsID, maximalAllowedThreadCount: ::std::os::raw::c_uint, maximalRowCount: ::std::os::raw::c_uint, ); } extern "C" { pub fn dCooperativelySolveLDLT( resources: dResourceContainerID, allowedThreadCount: ::std::os::raw::c_uint, L: *const dReal, d: *const dReal, b: *mut dReal, rowCount: ::std::os::raw::c_uint, rowSkip: ::std::os::raw::c_uint, ); } extern "C" { pub fn dEstimateCooperativelySolveL1StraightResourceRequirements( requirements: dResourceRequirementsID, maximalAllowedThreadCount: ::std::os::raw::c_uint, maximalRowCount: ::std::os::raw::c_uint, ); } extern "C" { pub fn dCooperativelySolveL1Straight( resources: dResourceContainerID, allowedThreadCount: ::std::os::raw::c_uint, L: *const dReal, b: *mut dReal, rowCount: ::std::os::raw::c_uint, rowSkip: ::std::os::raw::c_uint, ); } extern "C" { pub fn dEstimateCooperativelySolveL1TransposedResourceRequirements( requirements: dResourceRequirementsID, maximalAllowedThreadCount: ::std::os::raw::c_uint, maximalRowCount: ::std::os::raw::c_uint, ); } extern "C" { pub fn dCooperativelySolveL1Transposed( resources: dResourceContainerID, allowedThreadCount: ::std::os::raw::c_uint, L: *const dReal, b: *mut dReal, rowCount: ::std::os::raw::c_uint, rowSkip: ::std::os::raw::c_uint, ); } extern "C" { pub fn dEstimateCooperativelyScaleVectorResourceRequirements( requirements: dResourceRequirementsID, maximalAllowedThreadCount: ::std::os::raw::c_uint, maximalElementCount: ::std::os::raw::c_uint, ); } extern "C" { pub fn dCooperativelyScaleVector( resources: dResourceContainerID, allowedThreadCount: ::std::os::raw::c_uint, dataVector: *mut dReal, scaleVector: *const dReal, elementCount: ::std::os::raw::c_uint, ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dStopwatch { pub time: f64, pub cc: [::std::os::raw::c_ulong; 2usize], } #[test] fn bindgen_test_layout_dStopwatch() { 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!(dStopwatch)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dStopwatch)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dStopwatch), "::", stringify!(time) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).cc) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(dStopwatch), "::", stringify!(cc) ) ); } extern "C" { pub fn dStopwatchReset(arg1: *mut dStopwatch); } extern "C" { pub fn dStopwatchStart(arg1: *mut dStopwatch); } extern "C" { pub fn dStopwatchStop(arg1: *mut dStopwatch); } extern "C" { pub fn dStopwatchTime(arg1: *mut dStopwatch) -> f64; } extern "C" { pub fn dTimerStart(description: *const ::std::os::raw::c_char); } extern "C" { pub fn dTimerNow(description: *const ::std::os::raw::c_char); } extern "C" { pub fn dTimerEnd(); } extern "C" { pub fn dTimerReport(fout: *mut FILE, average: ::std::os::raw::c_int); } extern "C" { pub fn dTimerTicksPerSecond() -> f64; } extern "C" { pub fn dTimerResolution() -> f64; } extern "C" { pub fn dRSetIdentity(R: *mut dReal); } extern "C" { pub fn dRFromAxisAndAngle(R: *mut dReal, ax: dReal, ay: dReal, az: dReal, angle: dReal); } extern "C" { pub fn dRFromEulerAngles(R: *mut dReal, phi: dReal, theta: dReal, psi: dReal); } extern "C" { pub fn dRFrom2Axes( R: *mut dReal, ax: dReal, ay: dReal, az: dReal, bx: dReal, by: dReal, bz: dReal, ); } extern "C" { pub fn dRFromZAxis(R: *mut dReal, ax: dReal, ay: dReal, az: dReal); } extern "C" { pub fn dQSetIdentity(q: *mut dReal); } extern "C" { pub fn dQFromAxisAndAngle(q: *mut dReal, ax: dReal, ay: dReal, az: dReal, angle: dReal); } extern "C" { pub fn dQMultiply0(qa: *mut dReal, qb: *mut dReal, qc: *mut dReal); } extern "C" { pub fn dQMultiply1(qa: *mut dReal, qb: *mut dReal, qc: *mut dReal); } extern "C" { pub fn dQMultiply2(qa: *mut dReal, qb: *mut dReal, qc: *mut dReal); } extern "C" { pub fn dQMultiply3(qa: *mut dReal, qb: *mut dReal, qc: *mut dReal); } extern "C" { pub fn dRfromQ(R: *mut dReal, q: *mut dReal); } extern "C" { pub fn dQfromR(q: *mut dReal, R: *mut dReal); } extern "C" { pub fn dDQfromW(dq: *mut dReal, w: *mut dReal, q: *mut dReal); } extern "C" { pub fn dMassCheck(m: *const dMass) -> ::std::os::raw::c_int; } extern "C" { pub fn dMassSetZero(arg1: *mut dMass); } extern "C" { pub fn dMassSetParameters( arg1: *mut dMass, themass: dReal, cgx: dReal, cgy: dReal, cgz: dReal, I11: dReal, I22: dReal, I33: dReal, I12: dReal, I13: dReal, I23: dReal, ); } extern "C" { pub fn dMassSetSphere(arg1: *mut dMass, density: dReal, radius: dReal); } extern "C" { pub fn dMassSetSphereTotal(arg1: *mut dMass, total_mass: dReal, radius: dReal); } extern "C" { pub fn dMassSetCapsule( arg1: *mut dMass, density: dReal, direction: ::std::os::raw::c_int, radius: dReal, length: dReal, ); } extern "C" { pub fn dMassSetCapsuleTotal( arg1: *mut dMass, total_mass: dReal, direction: ::std::os::raw::c_int, radius: dReal, length: dReal, ); } extern "C" { pub fn dMassSetCylinder( arg1: *mut dMass, density: dReal, direction: ::std::os::raw::c_int, radius: dReal, length: dReal, ); } extern "C" { pub fn dMassSetCylinderTotal( arg1: *mut dMass, total_mass: dReal, direction: ::std::os::raw::c_int, radius: dReal, length: dReal, ); } extern "C" { pub fn dMassSetBox(arg1: *mut dMass, density: dReal, lx: dReal, ly: dReal, lz: dReal); } extern "C" { pub fn dMassSetBoxTotal(arg1: *mut dMass, total_mass: dReal, lx: dReal, ly: dReal, lz: dReal); } extern "C" { pub fn dMassSetTrimesh(arg1: *mut dMass, density: dReal, g: dGeomID); } extern "C" { pub fn dMassSetTrimeshTotal(m: *mut dMass, total_mass: dReal, g: dGeomID); } extern "C" { pub fn dMassAdjust(arg1: *mut dMass, newmass: dReal); } extern "C" { pub fn dMassTranslate(arg1: *mut dMass, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dMassRotate(arg1: *mut dMass, R: *mut dReal); } extern "C" { pub fn dMassAdd(a: *mut dMass, b: *const dMass); } extern "C" { pub fn dMassSetCappedCylinder( a: *mut dMass, b: dReal, c: ::std::os::raw::c_int, d: dReal, e: dReal, ); } extern "C" { pub fn dMassSetCappedCylinderTotal( a: *mut dMass, b: dReal, c: ::std::os::raw::c_int, d: dReal, e: dReal, ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dMass { pub mass: dReal, pub c: dVector3, pub I: dMatrix3, } #[test] fn bindgen_test_layout_dMass() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 136usize, concat!("Size of: ", stringify!(dMass)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dMass)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).mass) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dMass), "::", stringify!(mass) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, 8usize, concat!("Offset of field: ", stringify!(dMass), "::", stringify!(c)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).I) as usize - ptr as usize }, 40usize, concat!("Offset of field: ", stringify!(dMass), "::", stringify!(I)) ); } extern "C" { pub fn dTestRand() -> ::std::os::raw::c_int; } extern "C" { pub fn dRand() -> ::std::os::raw::c_ulong; } extern "C" { pub fn dRandGetSeed() -> ::std::os::raw::c_ulong; } extern "C" { pub fn dRandSetSeed(s: ::std::os::raw::c_ulong); } extern "C" { pub fn dRandInt(n: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn dRandReal() -> dReal; } extern "C" { pub fn dPrintMatrix( A: *const dReal, n: ::std::os::raw::c_int, m: ::std::os::raw::c_int, fmt: *const ::std::os::raw::c_char, f: *mut FILE, ); } extern "C" { pub fn dMakeRandomVector(A: *mut dReal, n: ::std::os::raw::c_int, range: dReal); } extern "C" { pub fn dMakeRandomMatrix( A: *mut dReal, n: ::std::os::raw::c_int, m: ::std::os::raw::c_int, range: dReal, ); } extern "C" { pub fn dClearUpperTriangle(A: *mut dReal, n: ::std::os::raw::c_int); } extern "C" { pub fn dMaxDifference( A: *const dReal, B: *const dReal, n: ::std::os::raw::c_int, m: ::std::os::raw::c_int, ) -> dReal; } extern "C" { pub fn dMaxDifferenceLowerTriangle( A: *const dReal, B: *const dReal, n: ::std::os::raw::c_int, ) -> dReal; } extern "C" { pub fn dWorldCreate() -> dWorldID; } extern "C" { pub fn dWorldDestroy(world: dWorldID); } extern "C" { pub fn dWorldSetData(world: dWorldID, data: *mut ::std::os::raw::c_void); } extern "C" { pub fn dWorldGetData(world: dWorldID) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn dWorldSetGravity(arg1: dWorldID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dWorldGetGravity(arg1: dWorldID, gravity: *mut dReal); } extern "C" { pub fn dWorldSetERP(arg1: dWorldID, erp: dReal); } extern "C" { pub fn dWorldGetERP(arg1: dWorldID) -> dReal; } extern "C" { pub fn dWorldSetCFM(arg1: dWorldID, cfm: dReal); } extern "C" { pub fn dWorldGetCFM(arg1: dWorldID) -> dReal; } extern "C" { pub fn dWorldSetStepIslandsProcessingMaxThreadCount(w: dWorldID, count: ::std::os::raw::c_uint); } extern "C" { pub fn dWorldGetStepIslandsProcessingMaxThreadCount(w: dWorldID) -> ::std::os::raw::c_uint; } extern "C" { pub fn dWorldUseSharedWorkingMemory(w: dWorldID, from_world: dWorldID) -> ::std::os::raw::c_int; } extern "C" { pub fn dWorldCleanupWorkingMemory(w: dWorldID); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dWorldStepReserveInfo { pub struct_size: ::std::os::raw::c_uint, pub reserve_factor: f32, pub reserve_minimum: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_dWorldStepReserveInfo() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(dWorldStepReserveInfo)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(dWorldStepReserveInfo)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).struct_size) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dWorldStepReserveInfo), "::", stringify!(struct_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).reserve_factor) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(dWorldStepReserveInfo), "::", stringify!(reserve_factor) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).reserve_minimum) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(dWorldStepReserveInfo), "::", stringify!(reserve_minimum) ) ); } extern "C" { pub fn dWorldSetStepMemoryReservationPolicy( w: dWorldID, policyinfo: *const dWorldStepReserveInfo, ) -> ::std::os::raw::c_int; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dWorldStepMemoryFunctionsInfo { pub struct_size: ::std::os::raw::c_uint, pub alloc_block: ::std::option::Option< unsafe extern "C" fn(block_size: dsizeint) -> *mut ::std::os::raw::c_void, >, pub shrink_block: ::std::option::Option< unsafe extern "C" fn( block_pointer: *mut ::std::os::raw::c_void, block_current_size: dsizeint, block_smaller_size: dsizeint, ) -> *mut ::std::os::raw::c_void, >, pub free_block: ::std::option::Option< unsafe extern "C" fn( block_pointer: *mut ::std::os::raw::c_void, block_current_size: dsizeint, ), >, } #[test] fn bindgen_test_layout_dWorldStepMemoryFunctionsInfo() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(dWorldStepMemoryFunctionsInfo)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dWorldStepMemoryFunctionsInfo)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).struct_size) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dWorldStepMemoryFunctionsInfo), "::", stringify!(struct_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).alloc_block) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(dWorldStepMemoryFunctionsInfo), "::", stringify!(alloc_block) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).shrink_block) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(dWorldStepMemoryFunctionsInfo), "::", stringify!(shrink_block) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).free_block) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(dWorldStepMemoryFunctionsInfo), "::", stringify!(free_block) ) ); } extern "C" { pub fn dWorldSetStepMemoryManager( w: dWorldID, memfuncs: *const dWorldStepMemoryFunctionsInfo, ) -> ::std::os::raw::c_int; } extern "C" { pub fn dWorldSetStepThreadingImplementation( w: dWorldID, functions_info: *const dThreadingFunctionsInfo, threading_impl: dThreadingImplementationID, ); } extern "C" { pub fn dWorldStep(w: dWorldID, stepsize: dReal) -> ::std::os::raw::c_int; } extern "C" { pub fn dWorldQuickStep(w: dWorldID, stepsize: dReal) -> ::std::os::raw::c_int; } extern "C" { pub fn dWorldImpulseToForce( arg1: dWorldID, stepsize: dReal, ix: dReal, iy: dReal, iz: dReal, force: *mut dReal, ); } extern "C" { pub fn dWorldSetQuickStepNumIterations(arg1: dWorldID, num: ::std::os::raw::c_int); } extern "C" { pub fn dWorldGetQuickStepNumIterations(arg1: dWorldID) -> ::std::os::raw::c_int; } extern "C" { pub fn dWorldSetQuickStepW(arg1: dWorldID, over_relaxation: dReal); } extern "C" { pub fn dWorldGetQuickStepW(arg1: dWorldID) -> dReal; } extern "C" { pub fn dWorldSetContactMaxCorrectingVel(arg1: dWorldID, vel: dReal); } extern "C" { pub fn dWorldGetContactMaxCorrectingVel(arg1: dWorldID) -> dReal; } extern "C" { pub fn dWorldSetContactSurfaceLayer(arg1: dWorldID, depth: dReal); } extern "C" { pub fn dWorldGetContactSurfaceLayer(arg1: dWorldID) -> dReal; } extern "C" { pub fn dWorldGetAutoDisableLinearThreshold(arg1: dWorldID) -> dReal; } extern "C" { pub fn dWorldSetAutoDisableLinearThreshold(arg1: dWorldID, linear_average_threshold: dReal); } extern "C" { pub fn dWorldGetAutoDisableAngularThreshold(arg1: dWorldID) -> dReal; } extern "C" { pub fn dWorldSetAutoDisableAngularThreshold(arg1: dWorldID, angular_average_threshold: dReal); } extern "C" { pub fn dWorldGetAutoDisableAverageSamplesCount(arg1: dWorldID) -> ::std::os::raw::c_int; } extern "C" { pub fn dWorldSetAutoDisableAverageSamplesCount( arg1: dWorldID, average_samples_count: ::std::os::raw::c_uint, ); } extern "C" { pub fn dWorldGetAutoDisableSteps(arg1: dWorldID) -> ::std::os::raw::c_int; } extern "C" { pub fn dWorldSetAutoDisableSteps(arg1: dWorldID, steps: ::std::os::raw::c_int); } extern "C" { pub fn dWorldGetAutoDisableTime(arg1: dWorldID) -> dReal; } extern "C" { pub fn dWorldSetAutoDisableTime(arg1: dWorldID, time: dReal); } extern "C" { pub fn dWorldGetAutoDisableFlag(arg1: dWorldID) -> ::std::os::raw::c_int; } extern "C" { pub fn dWorldSetAutoDisableFlag(arg1: dWorldID, do_auto_disable: ::std::os::raw::c_int); } extern "C" { pub fn dWorldGetLinearDampingThreshold(w: dWorldID) -> dReal; } extern "C" { pub fn dWorldSetLinearDampingThreshold(w: dWorldID, threshold: dReal); } extern "C" { pub fn dWorldGetAngularDampingThreshold(w: dWorldID) -> dReal; } extern "C" { pub fn dWorldSetAngularDampingThreshold(w: dWorldID, threshold: dReal); } extern "C" { pub fn dWorldGetLinearDamping(w: dWorldID) -> dReal; } extern "C" { pub fn dWorldSetLinearDamping(w: dWorldID, scale: dReal); } extern "C" { pub fn dWorldGetAngularDamping(w: dWorldID) -> dReal; } extern "C" { pub fn dWorldSetAngularDamping(w: dWorldID, scale: dReal); } extern "C" { pub fn dWorldSetDamping(w: dWorldID, linear_scale: dReal, angular_scale: dReal); } extern "C" { pub fn dWorldGetMaxAngularSpeed(w: dWorldID) -> dReal; } extern "C" { pub fn dWorldSetMaxAngularSpeed(w: dWorldID, max_speed: dReal); } extern "C" { pub fn dBodyGetAutoDisableLinearThreshold(arg1: dBodyID) -> dReal; } extern "C" { pub fn dBodySetAutoDisableLinearThreshold(arg1: dBodyID, linear_average_threshold: dReal); } extern "C" { pub fn dBodyGetAutoDisableAngularThreshold(arg1: dBodyID) -> dReal; } extern "C" { pub fn dBodySetAutoDisableAngularThreshold(arg1: dBodyID, angular_average_threshold: dReal); } extern "C" { pub fn dBodyGetAutoDisableAverageSamplesCount(arg1: dBodyID) -> ::std::os::raw::c_int; } extern "C" { pub fn dBodySetAutoDisableAverageSamplesCount( arg1: dBodyID, average_samples_count: ::std::os::raw::c_uint, ); } extern "C" { pub fn dBodyGetAutoDisableSteps(arg1: dBodyID) -> ::std::os::raw::c_int; } extern "C" { pub fn dBodySetAutoDisableSteps(arg1: dBodyID, steps: ::std::os::raw::c_int); } extern "C" { pub fn dBodyGetAutoDisableTime(arg1: dBodyID) -> dReal; } extern "C" { pub fn dBodySetAutoDisableTime(arg1: dBodyID, time: dReal); } extern "C" { pub fn dBodyGetAutoDisableFlag(arg1: dBodyID) -> ::std::os::raw::c_int; } extern "C" { pub fn dBodySetAutoDisableFlag(arg1: dBodyID, do_auto_disable: ::std::os::raw::c_int); } extern "C" { pub fn dBodySetAutoDisableDefaults(arg1: dBodyID); } extern "C" { pub fn dBodyGetWorld(arg1: dBodyID) -> dWorldID; } extern "C" { pub fn dBodyCreate(arg1: dWorldID) -> dBodyID; } extern "C" { pub fn dBodyDestroy(arg1: dBodyID); } extern "C" { pub fn dBodySetData(arg1: dBodyID, data: *mut ::std::os::raw::c_void); } extern "C" { pub fn dBodyGetData(arg1: dBodyID) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn dBodySetPosition(arg1: dBodyID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dBodySetRotation(arg1: dBodyID, R: *mut dReal); } extern "C" { pub fn dBodySetQuaternion(arg1: dBodyID, q: *mut dReal); } extern "C" { pub fn dBodySetLinearVel(arg1: dBodyID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dBodySetAngularVel(arg1: dBodyID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dBodyGetPosition(arg1: dBodyID) -> *const dReal; } extern "C" { pub fn dBodyCopyPosition(body: dBodyID, pos: *mut dReal); } extern "C" { pub fn dBodyGetRotation(arg1: dBodyID) -> *const dReal; } extern "C" { pub fn dBodyCopyRotation(arg1: dBodyID, R: *mut dReal); } extern "C" { pub fn dBodyGetQuaternion(arg1: dBodyID) -> *const dReal; } extern "C" { pub fn dBodyCopyQuaternion(body: dBodyID, quat: *mut dReal); } extern "C" { pub fn dBodyGetLinearVel(arg1: dBodyID) -> *const dReal; } extern "C" { pub fn dBodyGetAngularVel(arg1: dBodyID) -> *const dReal; } extern "C" { pub fn dBodySetMass(arg1: dBodyID, mass: *const dMass); } extern "C" { pub fn dBodyGetMass(arg1: dBodyID, mass: *mut dMass); } extern "C" { pub fn dBodyAddForce(arg1: dBodyID, fx: dReal, fy: dReal, fz: dReal); } extern "C" { pub fn dBodyAddTorque(arg1: dBodyID, fx: dReal, fy: dReal, fz: dReal); } extern "C" { pub fn dBodyAddRelForce(arg1: dBodyID, fx: dReal, fy: dReal, fz: dReal); } extern "C" { pub fn dBodyAddRelTorque(arg1: dBodyID, fx: dReal, fy: dReal, fz: dReal); } extern "C" { pub fn dBodyAddForceAtPos( arg1: dBodyID, fx: dReal, fy: dReal, fz: dReal, px: dReal, py: dReal, pz: dReal, ); } extern "C" { pub fn dBodyAddForceAtRelPos( arg1: dBodyID, fx: dReal, fy: dReal, fz: dReal, px: dReal, py: dReal, pz: dReal, ); } extern "C" { pub fn dBodyAddRelForceAtPos( arg1: dBodyID, fx: dReal, fy: dReal, fz: dReal, px: dReal, py: dReal, pz: dReal, ); } extern "C" { pub fn dBodyAddRelForceAtRelPos( arg1: dBodyID, fx: dReal, fy: dReal, fz: dReal, px: dReal, py: dReal, pz: dReal, ); } extern "C" { pub fn dBodyGetForce(arg1: dBodyID) -> *const dReal; } extern "C" { pub fn dBodyGetTorque(arg1: dBodyID) -> *const dReal; } extern "C" { pub fn dBodySetForce(b: dBodyID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dBodySetTorque(b: dBodyID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dBodyGetRelPointPos(arg1: dBodyID, px: dReal, py: dReal, pz: dReal, result: *mut dReal); } extern "C" { pub fn dBodyGetRelPointVel(arg1: dBodyID, px: dReal, py: dReal, pz: dReal, result: *mut dReal); } extern "C" { pub fn dBodyGetPointVel(arg1: dBodyID, px: dReal, py: dReal, pz: dReal, result: *mut dReal); } extern "C" { pub fn dBodyGetPosRelPoint(arg1: dBodyID, px: dReal, py: dReal, pz: dReal, result: *mut dReal); } extern "C" { pub fn dBodyVectorToWorld(arg1: dBodyID, px: dReal, py: dReal, pz: dReal, result: *mut dReal); } extern "C" { pub fn dBodyVectorFromWorld(arg1: dBodyID, px: dReal, py: dReal, pz: dReal, result: *mut dReal); } extern "C" { pub fn dBodySetFiniteRotationMode(arg1: dBodyID, mode: ::std::os::raw::c_int); } extern "C" { pub fn dBodySetFiniteRotationAxis(arg1: dBodyID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dBodyGetFiniteRotationMode(arg1: dBodyID) -> ::std::os::raw::c_int; } extern "C" { pub fn dBodyGetFiniteRotationAxis(arg1: dBodyID, result: *mut dReal); } extern "C" { pub fn dBodyGetNumJoints(b: dBodyID) -> ::std::os::raw::c_int; } extern "C" { pub fn dBodyGetJoint(arg1: dBodyID, index: ::std::os::raw::c_int) -> dJointID; } extern "C" { pub fn dBodySetDynamic(arg1: dBodyID); } extern "C" { pub fn dBodySetKinematic(arg1: dBodyID); } extern "C" { pub fn dBodyIsKinematic(arg1: dBodyID) -> ::std::os::raw::c_int; } extern "C" { pub fn dBodyEnable(arg1: dBodyID); } extern "C" { pub fn dBodyDisable(arg1: dBodyID); } extern "C" { pub fn dBodyIsEnabled(arg1: dBodyID) -> ::std::os::raw::c_int; } extern "C" { pub fn dBodySetGravityMode(b: dBodyID, mode: ::std::os::raw::c_int); } extern "C" { pub fn dBodyGetGravityMode(b: dBodyID) -> ::std::os::raw::c_int; } extern "C" { pub fn dBodySetMovedCallback( b: dBodyID, callback: ::std::option::Option, ); } extern "C" { pub fn dBodyGetFirstGeom(b: dBodyID) -> dGeomID; } extern "C" { pub fn dBodyGetNextGeom(g: dGeomID) -> dGeomID; } extern "C" { pub fn dBodySetDampingDefaults(b: dBodyID); } extern "C" { pub fn dBodyGetLinearDamping(b: dBodyID) -> dReal; } extern "C" { pub fn dBodySetLinearDamping(b: dBodyID, scale: dReal); } extern "C" { pub fn dBodyGetAngularDamping(b: dBodyID) -> dReal; } extern "C" { pub fn dBodySetAngularDamping(b: dBodyID, scale: dReal); } extern "C" { pub fn dBodySetDamping(b: dBodyID, linear_scale: dReal, angular_scale: dReal); } extern "C" { pub fn dBodyGetLinearDampingThreshold(b: dBodyID) -> dReal; } extern "C" { pub fn dBodySetLinearDampingThreshold(b: dBodyID, threshold: dReal); } extern "C" { pub fn dBodyGetAngularDampingThreshold(b: dBodyID) -> dReal; } extern "C" { pub fn dBodySetAngularDampingThreshold(b: dBodyID, threshold: dReal); } extern "C" { pub fn dBodyGetMaxAngularSpeed(b: dBodyID) -> dReal; } extern "C" { pub fn dBodySetMaxAngularSpeed(b: dBodyID, max_speed: dReal); } extern "C" { pub fn dBodyGetGyroscopicMode(b: dBodyID) -> ::std::os::raw::c_int; } extern "C" { pub fn dBodySetGyroscopicMode(b: dBodyID, enabled: ::std::os::raw::c_int); } extern "C" { pub fn dJointCreateBall(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreateHinge(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreateSlider(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreateContact( arg1: dWorldID, arg2: dJointGroupID, arg3: *const dContact, ) -> dJointID; } extern "C" { pub fn dJointCreateHinge2(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreateUniversal(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreatePR(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreatePU(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreatePiston(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreateFixed(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreateNull(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreateAMotor(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreateLMotor(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreatePlane2D(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreateDBall(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreateDHinge(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointCreateTransmission(arg1: dWorldID, arg2: dJointGroupID) -> dJointID; } extern "C" { pub fn dJointDestroy(arg1: dJointID); } extern "C" { pub fn dJointGroupCreate(max_size: ::std::os::raw::c_int) -> dJointGroupID; } extern "C" { pub fn dJointGroupDestroy(arg1: dJointGroupID); } extern "C" { pub fn dJointGroupEmpty(arg1: dJointGroupID); } extern "C" { pub fn dJointGetNumBodies(arg1: dJointID) -> ::std::os::raw::c_int; } extern "C" { pub fn dJointAttach(arg1: dJointID, body1: dBodyID, body2: dBodyID); } extern "C" { pub fn dJointEnable(arg1: dJointID); } extern "C" { pub fn dJointDisable(arg1: dJointID); } extern "C" { pub fn dJointIsEnabled(arg1: dJointID) -> ::std::os::raw::c_int; } extern "C" { pub fn dJointSetData(arg1: dJointID, data: *mut ::std::os::raw::c_void); } extern "C" { pub fn dJointGetData(arg1: dJointID) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn dJointGetType(arg1: dJointID) -> dJointType; } extern "C" { pub fn dJointGetBody(arg1: dJointID, index: ::std::os::raw::c_int) -> dBodyID; } extern "C" { pub fn dJointSetFeedback(arg1: dJointID, arg2: *mut dJointFeedback); } extern "C" { pub fn dJointGetFeedback(arg1: dJointID) -> *mut dJointFeedback; } extern "C" { pub fn dJointSetBallAnchor(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetBallAnchor2(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetBallParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointSetHingeAnchor(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetHingeAnchorDelta( arg1: dJointID, x: dReal, y: dReal, z: dReal, ax: dReal, ay: dReal, az: dReal, ); } extern "C" { pub fn dJointSetHingeAxis(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetHingeAxisOffset(j: dJointID, x: dReal, y: dReal, z: dReal, angle: dReal); } extern "C" { pub fn dJointSetHingeParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointAddHingeTorque(joint: dJointID, torque: dReal); } extern "C" { pub fn dJointSetSliderAxis(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetSliderAxisDelta( arg1: dJointID, x: dReal, y: dReal, z: dReal, ax: dReal, ay: dReal, az: dReal, ); } extern "C" { pub fn dJointSetSliderParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointAddSliderForce(joint: dJointID, force: dReal); } extern "C" { pub fn dJointSetHinge2Anchor(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetHinge2Axes(j: dJointID, axis1: *const dReal, axis2: *const dReal); } extern "C" { pub fn dJointSetHinge2Axis1(j: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetHinge2Axis2(j: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetHinge2Param(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointAddHinge2Torques(joint: dJointID, torque1: dReal, torque2: dReal); } extern "C" { pub fn dJointSetUniversalAnchor(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetUniversalAxis1(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetUniversalAxis1Offset( arg1: dJointID, x: dReal, y: dReal, z: dReal, offset1: dReal, offset2: dReal, ); } extern "C" { pub fn dJointSetUniversalAxis2(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetUniversalAxis2Offset( arg1: dJointID, x: dReal, y: dReal, z: dReal, offset1: dReal, offset2: dReal, ); } extern "C" { pub fn dJointSetUniversalParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointAddUniversalTorques(joint: dJointID, torque1: dReal, torque2: dReal); } extern "C" { pub fn dJointSetPRAnchor(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetPRAxis1(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetPRAxis2(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetPRParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointAddPRTorque(j: dJointID, torque: dReal); } extern "C" { pub fn dJointSetPUAnchor(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetPUAnchorDelta( arg1: dJointID, x: dReal, y: dReal, z: dReal, dx: dReal, dy: dReal, dz: dReal, ); } extern "C" { pub fn dJointSetPUAnchorOffset( arg1: dJointID, x: dReal, y: dReal, z: dReal, dx: dReal, dy: dReal, dz: dReal, ); } extern "C" { pub fn dJointSetPUAxis1(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetPUAxis2(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetPUAxis3(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetPUAxisP(id: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetPUParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointAddPUTorque(j: dJointID, torque: dReal); } extern "C" { pub fn dJointSetPistonAnchor(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetPistonAnchorOffset( j: dJointID, x: dReal, y: dReal, z: dReal, dx: dReal, dy: dReal, dz: dReal, ); } extern "C" { pub fn dJointSetPistonAxis(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetPistonAxisDelta( j: dJointID, x: dReal, y: dReal, z: dReal, ax: dReal, ay: dReal, az: dReal, ); } extern "C" { pub fn dJointSetPistonParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointAddPistonForce(joint: dJointID, force: dReal); } extern "C" { pub fn dJointSetFixed(arg1: dJointID); } extern "C" { pub fn dJointSetFixedParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointSetAMotorNumAxes(arg1: dJointID, num: ::std::os::raw::c_int); } extern "C" { pub fn dJointSetAMotorAxis( arg1: dJointID, anum: ::std::os::raw::c_int, rel: ::std::os::raw::c_int, x: dReal, y: dReal, z: dReal, ); } extern "C" { pub fn dJointSetAMotorAngle(arg1: dJointID, anum: ::std::os::raw::c_int, angle: dReal); } extern "C" { pub fn dJointSetAMotorParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointSetAMotorMode(arg1: dJointID, mode: ::std::os::raw::c_int); } extern "C" { pub fn dJointAddAMotorTorques(arg1: dJointID, torque1: dReal, torque2: dReal, torque3: dReal); } extern "C" { pub fn dJointSetLMotorNumAxes(arg1: dJointID, num: ::std::os::raw::c_int); } extern "C" { pub fn dJointSetLMotorAxis( arg1: dJointID, anum: ::std::os::raw::c_int, rel: ::std::os::raw::c_int, x: dReal, y: dReal, z: dReal, ); } extern "C" { pub fn dJointSetLMotorParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointSetPlane2DXParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointSetPlane2DYParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointSetPlane2DAngleParam( arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal, ); } extern "C" { pub fn dJointGetBallAnchor(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetBallAnchor2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetBallParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetHingeAnchor(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetHingeAnchor2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetHingeAxis(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetHingeParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetHingeAngle(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetHingeAngleRate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetSliderPosition(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetSliderPositionRate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetSliderAxis(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetSliderParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetHinge2Anchor(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetHinge2Anchor2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetHinge2Axis1(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetHinge2Axis2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetHinge2Param(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetHinge2Angle1(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetHinge2Angle2(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetHinge2Angle1Rate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetHinge2Angle2Rate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetUniversalAnchor(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetUniversalAnchor2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetUniversalAxis1(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetUniversalAxis2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetUniversalParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetUniversalAngles(arg1: dJointID, angle1: *mut dReal, angle2: *mut dReal); } extern "C" { pub fn dJointGetUniversalAngle1(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetUniversalAngle2(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetUniversalAngle1Rate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetUniversalAngle2Rate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPRAnchor(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetPRPosition(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPRPositionRate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPRAngle(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPRAngleRate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPRAxis1(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetPRAxis2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetPRParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetPUAnchor(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetPUPosition(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPUPositionRate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPUAxis1(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetPUAxis2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetPUAxis3(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetPUAxisP(id: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetPUAngles(arg1: dJointID, angle1: *mut dReal, angle2: *mut dReal); } extern "C" { pub fn dJointGetPUAngle1(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPUAngle1Rate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPUAngle2(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPUAngle2Rate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPUParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetPistonPosition(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPistonPositionRate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPistonAngle(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPistonAngleRate(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointGetPistonAnchor(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetPistonAnchor2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetPistonAxis(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetPistonParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetAMotorNumAxes(arg1: dJointID) -> ::std::os::raw::c_int; } extern "C" { pub fn dJointGetAMotorAxis(arg1: dJointID, anum: ::std::os::raw::c_int, result: *mut dReal); } extern "C" { pub fn dJointGetAMotorAxisRel( arg1: dJointID, anum: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn dJointGetAMotorAngle(arg1: dJointID, anum: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetAMotorAngleRate(arg1: dJointID, anum: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetAMotorParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetAMotorMode(arg1: dJointID) -> ::std::os::raw::c_int; } extern "C" { pub fn dJointGetLMotorNumAxes(arg1: dJointID) -> ::std::os::raw::c_int; } extern "C" { pub fn dJointGetLMotorAxis(arg1: dJointID, anum: ::std::os::raw::c_int, result: *mut dReal); } extern "C" { pub fn dJointGetLMotorParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetFixedParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointGetTransmissionContactPoint1(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetTransmissionContactPoint2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointSetTransmissionAxis1(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointGetTransmissionAxis1(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointSetTransmissionAxis2(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointGetTransmissionAxis2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointSetTransmissionAnchor1(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointGetTransmissionAnchor1(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointSetTransmissionAnchor2(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointGetTransmissionAnchor2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointSetTransmissionParam( arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal, ); } extern "C" { pub fn dJointGetTransmissionParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointSetTransmissionMode(j: dJointID, mode: ::std::os::raw::c_int); } extern "C" { pub fn dJointGetTransmissionMode(j: dJointID) -> ::std::os::raw::c_int; } extern "C" { pub fn dJointSetTransmissionRatio(j: dJointID, ratio: dReal); } extern "C" { pub fn dJointGetTransmissionRatio(j: dJointID) -> dReal; } extern "C" { pub fn dJointSetTransmissionAxis(j: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointGetTransmissionAxis(j: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetTransmissionAngle1(j: dJointID) -> dReal; } extern "C" { pub fn dJointGetTransmissionAngle2(j: dJointID) -> dReal; } extern "C" { pub fn dJointGetTransmissionRadius1(j: dJointID) -> dReal; } extern "C" { pub fn dJointGetTransmissionRadius2(j: dJointID) -> dReal; } extern "C" { pub fn dJointSetTransmissionRadius1(j: dJointID, radius: dReal); } extern "C" { pub fn dJointSetTransmissionRadius2(j: dJointID, radius: dReal); } extern "C" { pub fn dJointGetTransmissionBacklash(j: dJointID) -> dReal; } extern "C" { pub fn dJointSetTransmissionBacklash(j: dJointID, backlash: dReal); } extern "C" { pub fn dJointSetDBallAnchor1(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetDBallAnchor2(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointGetDBallAnchor1(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetDBallAnchor2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetDBallDistance(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointSetDBallDistance(arg1: dJointID, dist: dReal); } extern "C" { pub fn dJointSetDBallParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointGetDBallParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dJointSetDHingeAxis(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointGetDHingeAxis(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointSetDHingeAnchor1(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointSetDHingeAnchor2(arg1: dJointID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dJointGetDHingeAnchor1(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetDHingeAnchor2(arg1: dJointID, result: *mut dReal); } extern "C" { pub fn dJointGetDHingeDistance(arg1: dJointID) -> dReal; } extern "C" { pub fn dJointSetDHingeParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal); } extern "C" { pub fn dJointGetDHingeParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal; } extern "C" { pub fn dConnectingJoint(arg1: dBodyID, arg2: dBodyID) -> dJointID; } extern "C" { pub fn dConnectingJointList( arg1: dBodyID, arg2: dBodyID, arg3: *mut dJointID, ) -> ::std::os::raw::c_int; } extern "C" { pub fn dAreConnected(arg1: dBodyID, arg2: dBodyID) -> ::std::os::raw::c_int; } extern "C" { pub fn dAreConnectedExcluding( body1: dBodyID, body2: dBodyID, joint_type: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } pub type dNearCallback = ::std::option::Option< unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, o1: dGeomID, o2: dGeomID), >; extern "C" { pub fn dSimpleSpaceCreate(space: dSpaceID) -> dSpaceID; } extern "C" { pub fn dHashSpaceCreate(space: dSpaceID) -> dSpaceID; } extern "C" { pub fn dQuadTreeSpaceCreate( space: dSpaceID, Center: *mut dReal, Extents: *mut dReal, Depth: ::std::os::raw::c_int, ) -> dSpaceID; } extern "C" { pub fn dSweepAndPruneSpaceCreate(space: dSpaceID, axisorder: ::std::os::raw::c_int) -> dSpaceID; } extern "C" { pub fn dSpaceDestroy(arg1: dSpaceID); } extern "C" { pub fn dHashSpaceSetLevels( space: dSpaceID, minlevel: ::std::os::raw::c_int, maxlevel: ::std::os::raw::c_int, ); } extern "C" { pub fn dHashSpaceGetLevels( space: dSpaceID, minlevel: *mut ::std::os::raw::c_int, maxlevel: *mut ::std::os::raw::c_int, ); } extern "C" { pub fn dSpaceSetCleanup(space: dSpaceID, mode: ::std::os::raw::c_int); } extern "C" { pub fn dSpaceGetCleanup(space: dSpaceID) -> ::std::os::raw::c_int; } extern "C" { pub fn dSpaceSetSublevel(space: dSpaceID, sublevel: ::std::os::raw::c_int); } extern "C" { pub fn dSpaceGetSublevel(space: dSpaceID) -> ::std::os::raw::c_int; } extern "C" { pub fn dSpaceSetManualCleanup(space: dSpaceID, mode: ::std::os::raw::c_int); } extern "C" { pub fn dSpaceGetManualCleanup(space: dSpaceID) -> ::std::os::raw::c_int; } extern "C" { pub fn dSpaceAdd(arg1: dSpaceID, arg2: dGeomID); } extern "C" { pub fn dSpaceRemove(arg1: dSpaceID, arg2: dGeomID); } extern "C" { pub fn dSpaceQuery(arg1: dSpaceID, arg2: dGeomID) -> ::std::os::raw::c_int; } extern "C" { pub fn dSpaceClean(arg1: dSpaceID); } extern "C" { pub fn dSpaceGetNumGeoms(arg1: dSpaceID) -> ::std::os::raw::c_int; } extern "C" { pub fn dSpaceGetGeom(arg1: dSpaceID, i: ::std::os::raw::c_int) -> dGeomID; } extern "C" { pub fn dSpaceGetClass(space: dSpaceID) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomDestroy(geom: dGeomID); } extern "C" { pub fn dGeomSetData(geom: dGeomID, data: *mut ::std::os::raw::c_void); } extern "C" { pub fn dGeomGetData(geom: dGeomID) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn dGeomSetBody(geom: dGeomID, body: dBodyID); } extern "C" { pub fn dGeomGetBody(geom: dGeomID) -> dBodyID; } extern "C" { pub fn dGeomSetPosition(geom: dGeomID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dGeomSetRotation(geom: dGeomID, R: *mut dReal); } extern "C" { pub fn dGeomSetQuaternion(geom: dGeomID, Q: *mut dReal); } extern "C" { pub fn dGeomGetPosition(geom: dGeomID) -> *const dReal; } extern "C" { pub fn dGeomCopyPosition(geom: dGeomID, pos: *mut dReal); } extern "C" { pub fn dGeomGetRotation(geom: dGeomID) -> *const dReal; } extern "C" { pub fn dGeomCopyRotation(geom: dGeomID, R: *mut dReal); } extern "C" { pub fn dGeomGetQuaternion(geom: dGeomID, result: *mut dReal); } extern "C" { pub fn dGeomGetAABB(geom: dGeomID, aabb: *mut dReal); } extern "C" { pub fn dGeomIsSpace(geom: dGeomID) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomGetSpace(arg1: dGeomID) -> dSpaceID; } extern "C" { pub fn dGeomGetClass(geom: dGeomID) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomSetCategoryBits(geom: dGeomID, bits: ::std::os::raw::c_ulong); } extern "C" { pub fn dGeomSetCollideBits(geom: dGeomID, bits: ::std::os::raw::c_ulong); } extern "C" { pub fn dGeomGetCategoryBits(arg1: dGeomID) -> ::std::os::raw::c_ulong; } extern "C" { pub fn dGeomGetCollideBits(arg1: dGeomID) -> ::std::os::raw::c_ulong; } extern "C" { pub fn dGeomEnable(geom: dGeomID); } extern "C" { pub fn dGeomDisable(geom: dGeomID); } extern "C" { pub fn dGeomIsEnabled(geom: dGeomID) -> ::std::os::raw::c_int; } pub const dGeomCommonControlClass: _bindgen_ty_6 = 0; pub const dGeomColliderControlClass: _bindgen_ty_6 = 1; pub type _bindgen_ty_6 = ::std::os::raw::c_int; pub const dGeomCommonAnyControlCode: _bindgen_ty_7 = 0; pub const dGeomColliderSetMergeSphereContactsControlCode: _bindgen_ty_7 = 1; pub const dGeomColliderGetMergeSphereContactsControlCode: _bindgen_ty_7 = 2; pub type _bindgen_ty_7 = ::std::os::raw::c_int; pub const dGeomColliderMergeContactsValue__Default: _bindgen_ty_8 = 0; pub const dGeomColliderMergeContactsValue_None: _bindgen_ty_8 = 1; pub const dGeomColliderMergeContactsValue_Normals: _bindgen_ty_8 = 2; pub const dGeomColliderMergeContactsValue_Full: _bindgen_ty_8 = 3; pub type _bindgen_ty_8 = ::std::os::raw::c_int; extern "C" { pub fn dGeomLowLevelControl( geom: dGeomID, controlClass: ::std::os::raw::c_int, controlCode: ::std::os::raw::c_int, dataValue: *mut ::std::os::raw::c_void, dataSize: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomGetRelPointPos(geom: dGeomID, px: dReal, py: dReal, pz: dReal, result: *mut dReal); } extern "C" { pub fn dGeomGetPosRelPoint(geom: dGeomID, px: dReal, py: dReal, pz: dReal, result: *mut dReal); } extern "C" { pub fn dGeomVectorToWorld(geom: dGeomID, px: dReal, py: dReal, pz: dReal, result: *mut dReal); } extern "C" { pub fn dGeomVectorFromWorld(geom: dGeomID, px: dReal, py: dReal, pz: dReal, result: *mut dReal); } extern "C" { pub fn dGeomSetOffsetPosition(geom: dGeomID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dGeomSetOffsetRotation(geom: dGeomID, R: *mut dReal); } extern "C" { pub fn dGeomSetOffsetQuaternion(geom: dGeomID, Q: *mut dReal); } extern "C" { pub fn dGeomSetOffsetWorldPosition(geom: dGeomID, x: dReal, y: dReal, z: dReal); } extern "C" { pub fn dGeomSetOffsetWorldRotation(geom: dGeomID, R: *mut dReal); } extern "C" { pub fn dGeomSetOffsetWorldQuaternion(geom: dGeomID, arg1: *mut dReal); } extern "C" { pub fn dGeomClearOffset(geom: dGeomID); } extern "C" { pub fn dGeomIsOffset(geom: dGeomID) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomGetOffsetPosition(geom: dGeomID) -> *const dReal; } extern "C" { pub fn dGeomCopyOffsetPosition(geom: dGeomID, pos: *mut dReal); } extern "C" { pub fn dGeomGetOffsetRotation(geom: dGeomID) -> *const dReal; } extern "C" { pub fn dGeomCopyOffsetRotation(geom: dGeomID, R: *mut dReal); } extern "C" { pub fn dGeomGetOffsetQuaternion(geom: dGeomID, result: *mut dReal); } extern "C" { pub fn dCollide( o1: dGeomID, o2: dGeomID, flags: ::std::os::raw::c_int, contact: *mut dContactGeom, skip: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn dSpaceCollide( space: dSpaceID, data: *mut ::std::os::raw::c_void, callback: dNearCallback, ); } extern "C" { pub fn dSpaceCollide2( space1: dGeomID, space2: dGeomID, data: *mut ::std::os::raw::c_void, callback: dNearCallback, ); } pub const dMaxUserClasses: _bindgen_ty_9 = 4; pub type _bindgen_ty_9 = ::std::os::raw::c_int; pub const dSphereClass: _bindgen_ty_10 = 0; pub const dBoxClass: _bindgen_ty_10 = 1; pub const dCapsuleClass: _bindgen_ty_10 = 2; pub const dCylinderClass: _bindgen_ty_10 = 3; pub const dPlaneClass: _bindgen_ty_10 = 4; pub const dRayClass: _bindgen_ty_10 = 5; pub const dConvexClass: _bindgen_ty_10 = 6; pub const dGeomTransformClass: _bindgen_ty_10 = 7; pub const dTriMeshClass: _bindgen_ty_10 = 8; pub const dHeightfieldClass: _bindgen_ty_10 = 9; pub const dFirstSpaceClass: _bindgen_ty_10 = 10; pub const dSimpleSpaceClass: _bindgen_ty_10 = 10; pub const dHashSpaceClass: _bindgen_ty_10 = 11; pub const dSweepAndPruneSpaceClass: _bindgen_ty_10 = 12; pub const dQuadTreeSpaceClass: _bindgen_ty_10 = 13; pub const dLastSpaceClass: _bindgen_ty_10 = 13; pub const dFirstUserClass: _bindgen_ty_10 = 14; pub const dLastUserClass: _bindgen_ty_10 = 17; pub const dGeomNumClasses: _bindgen_ty_10 = 18; pub type _bindgen_ty_10 = ::std::os::raw::c_int; extern "C" { pub fn dCreateSphere(space: dSpaceID, radius: dReal) -> dGeomID; } extern "C" { pub fn dGeomSphereSetRadius(sphere: dGeomID, radius: dReal); } extern "C" { pub fn dGeomSphereGetRadius(sphere: dGeomID) -> dReal; } extern "C" { pub fn dGeomSpherePointDepth(sphere: dGeomID, x: dReal, y: dReal, z: dReal) -> dReal; } extern "C" { pub fn dCreateConvex( space: dSpaceID, _planes: *const dReal, _planecount: ::std::os::raw::c_uint, _points: *const dReal, _pointcount: ::std::os::raw::c_uint, _polygons: *const ::std::os::raw::c_uint, ) -> dGeomID; } extern "C" { pub fn dGeomSetConvex( g: dGeomID, _planes: *const dReal, _count: ::std::os::raw::c_uint, _points: *const dReal, _pointcount: ::std::os::raw::c_uint, _polygons: *const ::std::os::raw::c_uint, ); } extern "C" { pub fn dCreateBox(space: dSpaceID, lx: dReal, ly: dReal, lz: dReal) -> dGeomID; } extern "C" { pub fn dGeomBoxSetLengths(box_: dGeomID, lx: dReal, ly: dReal, lz: dReal); } extern "C" { pub fn dGeomBoxGetLengths(box_: dGeomID, result: *mut dReal); } extern "C" { pub fn dGeomBoxPointDepth(box_: dGeomID, x: dReal, y: dReal, z: dReal) -> dReal; } extern "C" { pub fn dCreatePlane(space: dSpaceID, a: dReal, b: dReal, c: dReal, d: dReal) -> dGeomID; } extern "C" { pub fn dGeomPlaneSetParams(plane: dGeomID, a: dReal, b: dReal, c: dReal, d: dReal); } extern "C" { pub fn dGeomPlaneGetParams(plane: dGeomID, result: *mut dReal); } extern "C" { pub fn dGeomPlanePointDepth(plane: dGeomID, x: dReal, y: dReal, z: dReal) -> dReal; } extern "C" { pub fn dCreateCapsule(space: dSpaceID, radius: dReal, length: dReal) -> dGeomID; } extern "C" { pub fn dGeomCapsuleSetParams(ccylinder: dGeomID, radius: dReal, length: dReal); } extern "C" { pub fn dGeomCapsuleGetParams(ccylinder: dGeomID, radius: *mut dReal, length: *mut dReal); } extern "C" { pub fn dGeomCapsulePointDepth(ccylinder: dGeomID, x: dReal, y: dReal, z: dReal) -> dReal; } extern "C" { pub fn dCreateCylinder(space: dSpaceID, radius: dReal, length: dReal) -> dGeomID; } extern "C" { pub fn dGeomCylinderSetParams(cylinder: dGeomID, radius: dReal, length: dReal); } extern "C" { pub fn dGeomCylinderGetParams(cylinder: dGeomID, radius: *mut dReal, length: *mut dReal); } extern "C" { pub fn dCreateRay(space: dSpaceID, length: dReal) -> dGeomID; } extern "C" { pub fn dGeomRaySetLength(ray: dGeomID, length: dReal); } extern "C" { pub fn dGeomRayGetLength(ray: dGeomID) -> dReal; } extern "C" { pub fn dGeomRaySet( ray: dGeomID, px: dReal, py: dReal, pz: dReal, dx: dReal, dy: dReal, dz: dReal, ); } extern "C" { pub fn dGeomRayGet(ray: dGeomID, start: *mut dReal, dir: *mut dReal); } extern "C" { pub fn dGeomRaySetParams( g: dGeomID, FirstContact: ::std::os::raw::c_int, BackfaceCull: ::std::os::raw::c_int, ); } extern "C" { pub fn dGeomRayGetParams( g: dGeomID, FirstContact: *mut ::std::os::raw::c_int, BackfaceCull: *mut ::std::os::raw::c_int, ); } extern "C" { pub fn dGeomRaySetFirstContact(g: dGeomID, firstContact: ::std::os::raw::c_int); } extern "C" { pub fn dGeomRayGetFirstContact(g: dGeomID) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomRaySetBackfaceCull(g: dGeomID, backfaceCull: ::std::os::raw::c_int); } extern "C" { pub fn dGeomRayGetBackfaceCull(g: dGeomID) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomRaySetClosestHit(g: dGeomID, closestHit: ::std::os::raw::c_int); } extern "C" { pub fn dGeomRayGetClosestHit(g: dGeomID) -> ::std::os::raw::c_int; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxTriMeshData { _unused: [u8; 0], } pub type dTriMeshDataID = *mut dxTriMeshData; pub const dMeshTriangleVertex_dMTV__MIN: dMeshTriangleVertex = 0; pub const dMeshTriangleVertex_dMTV_FIRST: dMeshTriangleVertex = 0; pub const dMeshTriangleVertex_dMTV_SECOND: dMeshTriangleVertex = 1; pub const dMeshTriangleVertex_dMTV_THIRD: dMeshTriangleVertex = 2; pub const dMeshTriangleVertex_dMTV__MAX: dMeshTriangleVertex = 3; pub type dMeshTriangleVertex = ::std::os::raw::c_int; extern "C" { pub fn dGeomTriMeshDataCreate() -> dTriMeshDataID; } extern "C" { pub fn dGeomTriMeshDataDestroy(g: dTriMeshDataID); } pub const dTRIMESHDATA__MIN: _bindgen_ty_11 = 0; pub const dTRIMESHDATA_FACE_NORMALS: _bindgen_ty_11 = 0; pub const dTRIMESHDATA_USE_FLAGS: _bindgen_ty_11 = 1; pub const dTRIMESHDATA__MAX: _bindgen_ty_11 = 2; pub const TRIMESH_FACE_NORMALS: _bindgen_ty_11 = 0; pub type _bindgen_ty_11 = ::std::os::raw::c_int; pub const dMESHDATAUSE_EDGE1: _bindgen_ty_12 = 1; pub const dMESHDATAUSE_EDGE2: _bindgen_ty_12 = 2; pub const dMESHDATAUSE_EDGE3: _bindgen_ty_12 = 4; pub const dMESHDATAUSE_VERTEX1: _bindgen_ty_12 = 8; pub const dMESHDATAUSE_VERTEX2: _bindgen_ty_12 = 16; pub const dMESHDATAUSE_VERTEX3: _bindgen_ty_12 = 32; pub type _bindgen_ty_12 = ::std::os::raw::c_int; extern "C" { pub fn dGeomTriMeshDataSet( g: dTriMeshDataID, data_id: ::std::os::raw::c_int, in_data: *mut ::std::os::raw::c_void, ); } extern "C" { pub fn dGeomTriMeshDataGet( g: dTriMeshDataID, data_id: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn dGeomTriMeshDataGet2( g: dTriMeshDataID, data_id: ::std::os::raw::c_int, pout_size: *mut dsizeint, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn dGeomTriMeshSetLastTransform(g: dGeomID, last_trans: *mut dReal); } extern "C" { pub fn dGeomTriMeshGetLastTransform(g: dGeomID) -> *const dReal; } extern "C" { pub fn dGeomTriMeshDataBuildSingle( g: dTriMeshDataID, Vertices: *const ::std::os::raw::c_void, VertexStride: ::std::os::raw::c_int, VertexCount: ::std::os::raw::c_int, Indices: *const ::std::os::raw::c_void, IndexCount: ::std::os::raw::c_int, TriStride: ::std::os::raw::c_int, ); } extern "C" { pub fn dGeomTriMeshDataBuildSingle1( g: dTriMeshDataID, Vertices: *const ::std::os::raw::c_void, VertexStride: ::std::os::raw::c_int, VertexCount: ::std::os::raw::c_int, Indices: *const ::std::os::raw::c_void, IndexCount: ::std::os::raw::c_int, TriStride: ::std::os::raw::c_int, Normals: *const ::std::os::raw::c_void, ); } extern "C" { pub fn dGeomTriMeshDataBuildDouble( g: dTriMeshDataID, Vertices: *const ::std::os::raw::c_void, VertexStride: ::std::os::raw::c_int, VertexCount: ::std::os::raw::c_int, Indices: *const ::std::os::raw::c_void, IndexCount: ::std::os::raw::c_int, TriStride: ::std::os::raw::c_int, ); } extern "C" { pub fn dGeomTriMeshDataBuildDouble1( g: dTriMeshDataID, Vertices: *const ::std::os::raw::c_void, VertexStride: ::std::os::raw::c_int, VertexCount: ::std::os::raw::c_int, Indices: *const ::std::os::raw::c_void, IndexCount: ::std::os::raw::c_int, TriStride: ::std::os::raw::c_int, Normals: *const ::std::os::raw::c_void, ); } extern "C" { pub fn dGeomTriMeshDataBuildSimple( g: dTriMeshDataID, Vertices: *const dReal, VertexCount: ::std::os::raw::c_int, Indices: *const dTriIndex, IndexCount: ::std::os::raw::c_int, ); } extern "C" { pub fn dGeomTriMeshDataBuildSimple1( g: dTriMeshDataID, Vertices: *const dReal, VertexCount: ::std::os::raw::c_int, Indices: *const dTriIndex, IndexCount: ::std::os::raw::c_int, Normals: *const ::std::os::raw::c_int, ); } pub const dTRIDATAPREPROCESS_BUILD__MIN: _bindgen_ty_13 = 0; pub const dTRIDATAPREPROCESS_BUILD_CONCAVE_EDGES: _bindgen_ty_13 = 0; pub const dTRIDATAPREPROCESS_BUILD_FACE_ANGLES: _bindgen_ty_13 = 1; pub const dTRIDATAPREPROCESS_BUILD__MAX: _bindgen_ty_13 = 2; pub type _bindgen_ty_13 = ::std::os::raw::c_int; pub const dTRIDATAPREPROCESS_FACE_ANGLES_EXTRA__MIN: _bindgen_ty_14 = 0; pub const dTRIDATAPREPROCESS_FACE_ANGLES_EXTRA_BYTE_POSITIVE: _bindgen_ty_14 = 0; pub const dTRIDATAPREPROCESS_FACE_ANGLES_EXTRA_BYTE_ALL: _bindgen_ty_14 = 1; pub const dTRIDATAPREPROCESS_FACE_ANGLES_EXTRA_WORD_ALL: _bindgen_ty_14 = 2; pub const dTRIDATAPREPROCESS_FACE_ANGLES_EXTRA__MAX: _bindgen_ty_14 = 3; pub const dTRIDATAPREPROCESS_FACE_ANGLES_EXTRA__DEFAULT: _bindgen_ty_14 = 0; pub type _bindgen_ty_14 = ::std::os::raw::c_int; extern "C" { pub fn dGeomTriMeshDataPreprocess2( g: dTriMeshDataID, buildRequestFlags: ::std::os::raw::c_uint, requestExtraData: *const dintptr, ) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomTriMeshDataPreprocess(g: dTriMeshDataID) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomTriMeshDataGetBuffer( g: dTriMeshDataID, buf: *mut *mut ::std::os::raw::c_uchar, bufLen: *mut ::std::os::raw::c_int, ); } extern "C" { pub fn dGeomTriMeshDataSetBuffer(g: dTriMeshDataID, buf: *mut ::std::os::raw::c_uchar); } pub type dTriCallback = ::std::option::Option< unsafe extern "C" fn( TriMesh: dGeomID, RefObject: dGeomID, TriangleIndex: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int, >; extern "C" { pub fn dGeomTriMeshSetCallback(g: dGeomID, Callback: dTriCallback); } extern "C" { pub fn dGeomTriMeshGetCallback(g: dGeomID) -> dTriCallback; } pub type dTriArrayCallback = ::std::option::Option< unsafe extern "C" fn( TriMesh: dGeomID, RefObject: dGeomID, TriIndices: *const ::std::os::raw::c_int, TriCount: ::std::os::raw::c_int, ), >; extern "C" { pub fn dGeomTriMeshSetArrayCallback(g: dGeomID, ArrayCallback: dTriArrayCallback); } extern "C" { pub fn dGeomTriMeshGetArrayCallback(g: dGeomID) -> dTriArrayCallback; } pub type dTriRayCallback = ::std::option::Option< unsafe extern "C" fn( TriMesh: dGeomID, Ray: dGeomID, TriangleIndex: ::std::os::raw::c_int, u: dReal, v: dReal, ) -> ::std::os::raw::c_int, >; extern "C" { pub fn dGeomTriMeshSetRayCallback(g: dGeomID, Callback: dTriRayCallback); } extern "C" { pub fn dGeomTriMeshGetRayCallback(g: dGeomID) -> dTriRayCallback; } pub type dTriTriMergeCallback = ::std::option::Option< unsafe extern "C" fn( TriMesh: dGeomID, FirstTriangleIndex: ::std::os::raw::c_int, SecondTriangleIndex: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int, >; extern "C" { pub fn dGeomTriMeshSetTriMergeCallback(g: dGeomID, Callback: dTriTriMergeCallback); } extern "C" { pub fn dGeomTriMeshGetTriMergeCallback(g: dGeomID) -> dTriTriMergeCallback; } extern "C" { pub fn dCreateTriMesh( space: dSpaceID, Data: dTriMeshDataID, Callback: dTriCallback, ArrayCallback: dTriArrayCallback, RayCallback: dTriRayCallback, ) -> dGeomID; } extern "C" { pub fn dGeomTriMeshSetData(g: dGeomID, Data: dTriMeshDataID); } extern "C" { pub fn dGeomTriMeshGetData(g: dGeomID) -> dTriMeshDataID; } extern "C" { pub fn dGeomTriMeshEnableTC( g: dGeomID, geomClass: ::std::os::raw::c_int, enable: ::std::os::raw::c_int, ); } extern "C" { pub fn dGeomTriMeshIsTCEnabled( g: dGeomID, geomClass: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomTriMeshClearTCCache(g: dGeomID); } extern "C" { pub fn dGeomTriMeshGetTriMeshDataID(g: dGeomID) -> dTriMeshDataID; } extern "C" { pub fn dGeomTriMeshGetTriangle( g: dGeomID, Index: ::std::os::raw::c_int, v0: *mut dVector3, v1: *mut dVector3, v2: *mut dVector3, ); } extern "C" { pub fn dGeomTriMeshGetPoint( g: dGeomID, Index: ::std::os::raw::c_int, u: dReal, v: dReal, Out: *mut dReal, ); } extern "C" { pub fn dGeomTriMeshGetTriangleCount(g: dGeomID) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomTriMeshDataUpdate(g: dTriMeshDataID); } extern "C" { pub fn dCreateGeomTransform(space: dSpaceID) -> dGeomID; } extern "C" { pub fn dGeomTransformSetGeom(g: dGeomID, obj: dGeomID); } extern "C" { pub fn dGeomTransformGetGeom(g: dGeomID) -> dGeomID; } extern "C" { pub fn dGeomTransformSetCleanup(g: dGeomID, mode: ::std::os::raw::c_int); } extern "C" { pub fn dGeomTransformGetCleanup(g: dGeomID) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomTransformSetInfo(g: dGeomID, mode: ::std::os::raw::c_int); } extern "C" { pub fn dGeomTransformGetInfo(g: dGeomID) -> ::std::os::raw::c_int; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxHeightfieldData { _unused: [u8; 0], } pub type dHeightfieldDataID = *mut dxHeightfieldData; pub type dHeightfieldGetHeight = ::std::option::Option< unsafe extern "C" fn( p_user_data: *mut ::std::os::raw::c_void, x: ::std::os::raw::c_int, z: ::std::os::raw::c_int, ) -> dReal, >; extern "C" { pub fn dCreateHeightfield( space: dSpaceID, data: dHeightfieldDataID, bPlaceable: ::std::os::raw::c_int, ) -> dGeomID; } extern "C" { pub fn dGeomHeightfieldDataCreate() -> dHeightfieldDataID; } extern "C" { pub fn dGeomHeightfieldDataDestroy(d: dHeightfieldDataID); } extern "C" { pub fn dGeomHeightfieldDataBuildCallback( d: dHeightfieldDataID, pUserData: *mut ::std::os::raw::c_void, pCallback: dHeightfieldGetHeight, width: dReal, depth: dReal, widthSamples: ::std::os::raw::c_int, depthSamples: ::std::os::raw::c_int, scale: dReal, offset: dReal, thickness: dReal, bWrap: ::std::os::raw::c_int, ); } extern "C" { pub fn dGeomHeightfieldDataBuildByte( d: dHeightfieldDataID, pHeightData: *const ::std::os::raw::c_uchar, bCopyHeightData: ::std::os::raw::c_int, width: dReal, depth: dReal, widthSamples: ::std::os::raw::c_int, depthSamples: ::std::os::raw::c_int, scale: dReal, offset: dReal, thickness: dReal, bWrap: ::std::os::raw::c_int, ); } extern "C" { pub fn dGeomHeightfieldDataBuildShort( d: dHeightfieldDataID, pHeightData: *const ::std::os::raw::c_short, bCopyHeightData: ::std::os::raw::c_int, width: dReal, depth: dReal, widthSamples: ::std::os::raw::c_int, depthSamples: ::std::os::raw::c_int, scale: dReal, offset: dReal, thickness: dReal, bWrap: ::std::os::raw::c_int, ); } extern "C" { pub fn dGeomHeightfieldDataBuildSingle( d: dHeightfieldDataID, pHeightData: *const f32, bCopyHeightData: ::std::os::raw::c_int, width: dReal, depth: dReal, widthSamples: ::std::os::raw::c_int, depthSamples: ::std::os::raw::c_int, scale: dReal, offset: dReal, thickness: dReal, bWrap: ::std::os::raw::c_int, ); } extern "C" { pub fn dGeomHeightfieldDataBuildDouble( d: dHeightfieldDataID, pHeightData: *const f64, bCopyHeightData: ::std::os::raw::c_int, width: dReal, depth: dReal, widthSamples: ::std::os::raw::c_int, depthSamples: ::std::os::raw::c_int, scale: dReal, offset: dReal, thickness: dReal, bWrap: ::std::os::raw::c_int, ); } extern "C" { pub fn dGeomHeightfieldDataSetBounds(d: dHeightfieldDataID, minHeight: dReal, maxHeight: dReal); } extern "C" { pub fn dGeomHeightfieldSetHeightfieldData(g: dGeomID, d: dHeightfieldDataID); } extern "C" { pub fn dGeomHeightfieldGetHeightfieldData(g: dGeomID) -> dHeightfieldDataID; } extern "C" { pub fn dClosestLineSegmentPoints( a1: *mut dReal, a2: *mut dReal, b1: *mut dReal, b2: *mut dReal, cp1: *mut dReal, cp2: *mut dReal, ); } extern "C" { pub fn dBoxTouchesBox( _p1: *mut dReal, R1: *mut dReal, side1: *mut dReal, _p2: *mut dReal, R2: *mut dReal, side2: *mut dReal, ) -> ::std::os::raw::c_int; } extern "C" { pub fn dBoxBox( p1: *mut dReal, R1: *mut dReal, side1: *mut dReal, p2: *mut dReal, R2: *mut dReal, side2: *mut dReal, normal: *mut dReal, depth: *mut dReal, return_code: *mut ::std::os::raw::c_int, flags: ::std::os::raw::c_int, contact: *mut dContactGeom, skip: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn dInfiniteAABB(geom: dGeomID, aabb: *mut dReal); } pub type dGetAABBFn = ::std::option::Option; pub type dColliderFn = ::std::option::Option< unsafe extern "C" fn( o1: dGeomID, o2: dGeomID, flags: ::std::os::raw::c_int, contact: *mut dContactGeom, skip: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int, >; pub type dGetColliderFnFn = ::std::option::Option dColliderFn>; pub type dGeomDtorFn = ::std::option::Option; pub type dAABBTestFn = ::std::option::Option< unsafe extern "C" fn(o1: dGeomID, o2: dGeomID, aabb: *mut dReal) -> ::std::os::raw::c_int, >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dGeomClass { pub bytes: ::std::os::raw::c_int, pub collider: dGetColliderFnFn, pub aabb: dGetAABBFn, pub aabb_test: dAABBTestFn, pub dtor: dGeomDtorFn, } #[test] fn bindgen_test_layout_dGeomClass() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(dGeomClass)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dGeomClass)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dGeomClass), "::", stringify!(bytes) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).collider) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(dGeomClass), "::", stringify!(collider) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).aabb) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(dGeomClass), "::", stringify!(aabb) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).aabb_test) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(dGeomClass), "::", stringify!(aabb_test) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).dtor) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(dGeomClass), "::", stringify!(dtor) ) ); } extern "C" { pub fn dCreateGeomClass(classptr: *const dGeomClass) -> ::std::os::raw::c_int; } extern "C" { pub fn dGeomGetClassData(arg1: dGeomID) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn dCreateGeom(classnum: ::std::os::raw::c_int) -> dGeomID; } extern "C" { pub fn dSetColliderOverride( i: ::std::os::raw::c_int, j: ::std::os::raw::c_int, fn_: dColliderFn, ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dxThreadingThreadPool { _unused: [u8; 0], } pub type dThreadingThreadPoolID = *mut dxThreadingThreadPool; extern "C" { pub fn dThreadingAllocateSelfThreadedImplementation() -> dThreadingImplementationID; } extern "C" { pub fn dThreadingAllocateMultiThreadedImplementation() -> dThreadingImplementationID; } extern "C" { pub fn dThreadingImplementationGetFunctions( impl_: dThreadingImplementationID, ) -> *const dThreadingFunctionsInfo; } extern "C" { pub fn dThreadingImplementationShutdownProcessing(impl_: dThreadingImplementationID); } extern "C" { pub fn dThreadingImplementationCleanupForRestart(impl_: dThreadingImplementationID); } extern "C" { pub fn dThreadingFreeImplementation(impl_: dThreadingImplementationID); } pub type dThreadReadyToServeCallback = ::std::option::Option; extern "C" { pub fn dExternalThreadingServeMultiThreadedImplementation( impl_: dThreadingImplementationID, readiness_callback: dThreadReadyToServeCallback, callback_context: *mut ::std::os::raw::c_void, ); } extern "C" { pub fn dThreadingAllocateThreadPool( thread_count: ::std::os::raw::c_uint, stack_size: dsizeint, ode_data_allocate_flags: ::std::os::raw::c_uint, reserved: *mut ::std::os::raw::c_void, ) -> dThreadingThreadPoolID; } extern "C" { pub fn dThreadingThreadPoolServeMultiThreadedImplementation( pool: dThreadingThreadPoolID, impl_: dThreadingImplementationID, ); } extern "C" { pub fn dThreadingThreadPoolWaitIdleState(pool: dThreadingThreadPoolID); } extern "C" { pub fn dThreadingFreeThreadPool(pool: dThreadingThreadPoolID); } extern "C" { pub fn dWorldExportDIF(w: dWorldID, file: *mut FILE, world_name: *const ::std::os::raw::c_char); } #[repr(C)] #[derive(Debug)] pub struct dWorldSimpleIDContainer { pub _id: dWorldID, } #[test] fn bindgen_test_layout_dWorldSimpleIDContainer() { 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!(dWorldSimpleIDContainer)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dWorldSimpleIDContainer)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dWorldSimpleIDContainer), "::", stringify!(_id) ) ); } #[repr(C)] pub struct dWorldDynamicIDContainer__bindgen_vtable(::std::os::raw::c_void); #[repr(C)] #[derive(Debug)] pub struct dWorldDynamicIDContainer { pub vtable_: *const dWorldDynamicIDContainer__bindgen_vtable, pub _base: dWorldSimpleIDContainer, } #[test] fn bindgen_test_layout_dWorldDynamicIDContainer() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(dWorldDynamicIDContainer)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dWorldDynamicIDContainer)) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dWorldTemplate { pub _base: dWorldTemplateBase, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } #[repr(C)] #[derive(Debug)] pub struct dBodySimpleIDContainer { pub _id: dBodyID, } #[test] fn bindgen_test_layout_dBodySimpleIDContainer() { 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!(dBodySimpleIDContainer)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dBodySimpleIDContainer)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dBodySimpleIDContainer), "::", stringify!(_id) ) ); } #[repr(C)] pub struct dBodyDynamicIDContainer__bindgen_vtable(::std::os::raw::c_void); #[repr(C)] #[derive(Debug)] pub struct dBodyDynamicIDContainer { pub vtable_: *const dBodyDynamicIDContainer__bindgen_vtable, pub _base: dBodySimpleIDContainer, } #[test] fn bindgen_test_layout_dBodyDynamicIDContainer() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(dBodyDynamicIDContainer)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dBodyDynamicIDContainer)) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dBodyTemplate { pub _base: dBodyTemplateBase, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } #[repr(C)] #[derive(Debug)] pub struct dJointGroupSimpleIDContainer { pub _id: dJointGroupID, } #[test] fn bindgen_test_layout_dJointGroupSimpleIDContainer() { 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!(dJointGroupSimpleIDContainer)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dJointGroupSimpleIDContainer)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dJointGroupSimpleIDContainer), "::", stringify!(_id) ) ); } #[repr(C)] pub struct dJointGroupDynamicIDContainer__bindgen_vtable(::std::os::raw::c_void); #[repr(C)] #[derive(Debug)] pub struct dJointGroupDynamicIDContainer { pub vtable_: *const dJointGroupDynamicIDContainer__bindgen_vtable, pub _base: dJointGroupSimpleIDContainer, } #[test] fn bindgen_test_layout_dJointGroupDynamicIDContainer() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(dJointGroupDynamicIDContainer)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dJointGroupDynamicIDContainer)) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dJointGroupTemplate { pub _base: dJointGroupTemplateBase, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } #[repr(C)] #[derive(Debug)] pub struct dJointSimpleIDContainer { pub _id: dJointID, } #[test] fn bindgen_test_layout_dJointSimpleIDContainer() { 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!(dJointSimpleIDContainer)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dJointSimpleIDContainer)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dJointSimpleIDContainer), "::", stringify!(_id) ) ); } #[repr(C)] pub struct dJointDynamicIDContainer__bindgen_vtable(::std::os::raw::c_void); #[repr(C)] #[derive(Debug)] pub struct dJointDynamicIDContainer { pub vtable_: *const dJointDynamicIDContainer__bindgen_vtable, pub _base: dJointSimpleIDContainer, } #[test] fn bindgen_test_layout_dJointDynamicIDContainer() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(dJointDynamicIDContainer)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dJointDynamicIDContainer)) ); } #[repr(C)] pub struct dJointTemplate__bindgen_vtable(::std::os::raw::c_void); #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dJointTemplate { pub vtable_: *const dJointTemplate__bindgen_vtable, pub _base: dJointTemplateBase, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dBallJointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dBallJointTemplate_dBaseTemplate = dJointTemplate; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dHingeJointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dHingeJointTemplate_dBaseTemplate = dJointTemplate; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dSliderJointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dSliderJointTemplate_dBaseTemplate = dJointTemplate; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dUniversalJointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dUniversalJointTemplate_dBaseTemplate = dJointTemplate; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dHinge2JointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dHinge2JointTemplate_dBaseTemplate = dJointTemplate; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dPRJointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dPRJointTemplate_dBaseTemplate = dJointTemplate; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dPUJointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dPUJointTemplate_dBaseTemplate = dJointTemplate; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dPistonJointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dPistonJointTemplate_dBaseTemplate = dJointTemplate; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dFixedJointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dFixedJointTemplate_dBaseTemplate = dJointTemplate; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dContactJointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dContactJointTemplate_dBaseTemplate = dJointTemplate; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dNullJointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dNullJointTemplate_dBaseTemplate = dJointTemplate; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dAMotorJointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dAMotorJointTemplate_dBaseTemplate = dJointTemplate; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dLMotorJointTemplate { pub _base: dJointTemplate, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell>, } pub type dLMotorJointTemplate_dBaseTemplate = dJointTemplate; pub type dWorld = dWorldTemplate; pub type dBody = dBodyTemplate; pub type dJointGroup = dJointGroupTemplate; pub type dJoint = dJointTemplate; pub type dBallJoint = dBallJointTemplate; pub type dHingeJoint = dHingeJointTemplate; pub type dSliderJoint = dSliderJointTemplate; pub type dUniversalJoint = dUniversalJointTemplate; pub type dHinge2Joint = dHinge2JointTemplate; pub type dPRJoint = dPRJointTemplate; pub type dPUJoint = dPUJointTemplate; pub type dPistonJoint = dPistonJointTemplate; pub type dFixedJoint = dFixedJointTemplate; pub type dContactJoint = dContactJointTemplate; pub type dNullJoint = dNullJointTemplate; pub type dAMotorJoint = dAMotorJointTemplate; pub type dLMotorJoint = dLMotorJointTemplate; #[repr(C)] #[derive(Debug)] pub struct dGeom { pub _id: dGeomID, } #[test] fn bindgen_test_layout_dGeom() { 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!(dGeom)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dGeom)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dGeom), "::", stringify!(_id) ) ); } #[repr(C)] #[derive(Debug)] pub struct dSpace { pub _base: dGeom, } #[test] fn bindgen_test_layout_dSpace() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(dSpace)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dSpace)) ); } #[repr(C)] #[derive(Debug)] pub struct dSimpleSpace { pub _base: dSpace, } #[test] fn bindgen_test_layout_dSimpleSpace() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(dSimpleSpace)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dSimpleSpace)) ); } #[repr(C)] #[derive(Debug)] pub struct dHashSpace { pub _base: dSpace, } #[test] fn bindgen_test_layout_dHashSpace() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(dHashSpace)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dHashSpace)) ); } #[repr(C)] #[derive(Debug)] pub struct dQuadTreeSpace { pub _base: dSpace, } #[test] fn bindgen_test_layout_dQuadTreeSpace() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(dQuadTreeSpace)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dQuadTreeSpace)) ); } #[repr(C)] #[derive(Debug)] pub struct dSphere { pub _base: dGeom, } #[test] fn bindgen_test_layout_dSphere() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(dSphere)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dSphere)) ); } #[repr(C)] #[derive(Debug)] pub struct dBox { pub _base: dGeom, } #[test] fn bindgen_test_layout_dBox() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(dBox)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dBox)) ); } #[repr(C)] #[derive(Debug)] pub struct dPlane { pub _base: dGeom, } #[test] fn bindgen_test_layout_dPlane() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(dPlane)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dPlane)) ); } #[repr(C)] #[derive(Debug)] pub struct dCapsule { pub _base: dGeom, } #[test] fn bindgen_test_layout_dCapsule() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(dCapsule)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dCapsule)) ); } #[repr(C)] #[derive(Debug)] pub struct dCylinder { pub _base: dGeom, } #[test] fn bindgen_test_layout_dCylinder() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(dCylinder)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dCylinder)) ); } #[repr(C)] #[derive(Debug)] pub struct dRay { pub _base: dGeom, } #[test] fn bindgen_test_layout_dRay() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(dRay)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dRay)) ); } #[repr(C)] #[derive(Debug)] pub struct dGeomTransform { pub _base: dGeom, } #[test] fn bindgen_test_layout_dGeomTransform() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(dGeomTransform)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(dGeomTransform)) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __crt_locale_data { pub _address: u8, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __crt_multibyte_data { pub _address: u8, }