1pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
4pub const _SAL_VERSION: u32 = 20;
5pub const __SAL_H_VERSION: u32 = 180000000;
6pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
7pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
8pub const _CRT_PACKING: u32 = 8;
9pub const _HAS_EXCEPTIONS: u32 = 1;
10pub const NULL: u32 = 0;
11pub const _HAS_CXX17: u32 = 0;
12pub const _HAS_CXX20: u32 = 0;
13pub const _HAS_CXX23: u32 = 0;
14pub const _HAS_NODISCARD: u32 = 1;
15pub const _ARGMAX: u32 = 100;
16pub const _CRT_INT_MAX: u32 = 2147483647;
17pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1;
18pub const _CRT_HAS_CXX17: u32 = 0;
19pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1;
20pub const _CRT_BUILD_DESKTOP_APP: u32 = 1;
21pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1;
22pub const __STDC_SECURE_LIB__: u32 = 200411;
23pub const __GOT_SECURE_LIB__: u32 = 200411;
24pub const __STDC_WANT_SECURE_LIB__: u32 = 1;
25pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254;
26pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
27pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
28pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1;
29pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
30pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
31pub const _CRT_INTERNAL_STDIO_SYMBOL_PREFIX: &[u8; 1usize] = b"\0";
32pub const _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION: u32 = 1;
33pub const _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR: u32 = 2;
34pub const _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS: u32 = 4;
35pub const _CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 8;
36pub const _CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS: u32 = 16;
37pub const _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING: u32 = 32;
38pub const _CRT_INTERNAL_SCANF_SECURECRT: u32 = 1;
39pub const _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS: u32 = 2;
40pub const _CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 4;
41pub const BUFSIZ: u32 = 512;
42pub const _NSTREAM_: u32 = 512;
43pub const _IOB_ENTRIES: u32 = 3;
44pub const EOF: i32 = -1;
45pub const _IOFBF: u32 = 0;
46pub const _IOLBF: u32 = 64;
47pub const _IONBF: u32 = 4;
48pub const L_tmpnam: u32 = 260;
49pub const L_tmpnam_s: u32 = 260;
50pub const SEEK_CUR: u32 = 1;
51pub const SEEK_END: u32 = 2;
52pub const SEEK_SET: u32 = 0;
53pub const FILENAME_MAX: u32 = 260;
54pub const FOPEN_MAX: u32 = 20;
55pub const _SYS_OPEN: u32 = 20;
56pub const TMP_MAX: u32 = 2147483647;
57pub const TMP_MAX_S: u32 = 2147483647;
58pub const _TMP_MAX_S: u32 = 2147483647;
59pub const SYS_OPEN: u32 = 20;
60pub const _DOMAIN: u32 = 1;
61pub const _SING: u32 = 2;
62pub const _OVERFLOW: u32 = 3;
63pub const _UNDERFLOW: u32 = 4;
64pub const _TLOSS: u32 = 5;
65pub const _PLOSS: u32 = 6;
66pub const _HUGE_ENUF : f64 = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0 ;
67pub const _DENORM: i32 = -2;
68pub const _FINITE: i32 = -1;
69pub const _INFCODE: u32 = 1;
70pub const _NANCODE: u32 = 2;
71pub const FP_INFINITE: u32 = 1;
72pub const FP_NAN: u32 = 2;
73pub const FP_NORMAL: i32 = -1;
74pub const FP_SUBNORMAL: i32 = -2;
75pub const FP_ZERO: u32 = 0;
76pub const _C2: u32 = 1;
77pub const FP_ILOGB0: i32 = -2147483648;
78pub const FP_ILOGBNAN: u32 = 2147483647;
79pub const MATH_ERRNO: u32 = 1;
80pub const MATH_ERREXCEPT: u32 = 2;
81pub const math_errhandling: u32 = 3;
82pub const _FE_DIVBYZERO: u32 = 4;
83pub const _FE_INEXACT: u32 = 32;
84pub const _FE_INVALID: u32 = 1;
85pub const _FE_OVERFLOW: u32 = 8;
86pub const _FE_UNDERFLOW: u32 = 16;
87pub const _D0_C: u32 = 3;
88pub const _D1_C: u32 = 2;
89pub const _D2_C: u32 = 1;
90pub const _D3_C: u32 = 0;
91pub const _DBIAS: u32 = 1022;
92pub const _DOFF: u32 = 4;
93pub const _F0_C: u32 = 1;
94pub const _F1_C: u32 = 0;
95pub const _FBIAS: u32 = 126;
96pub const _FOFF: u32 = 7;
97pub const _FRND: u32 = 1;
98pub const _L0_C: u32 = 3;
99pub const _L1_C: u32 = 2;
100pub const _L2_C: u32 = 1;
101pub const _L3_C: u32 = 0;
102pub const _LBIAS: u32 = 1022;
103pub const _LOFF: u32 = 4;
104pub const _FP_LT: u32 = 1;
105pub const _FP_EQ: u32 = 2;
106pub const _FP_GT: u32 = 4;
107pub const DOMAIN: u32 = 1;
108pub const SING: u32 = 2;
109pub const OVERFLOW: u32 = 3;
110pub const UNDERFLOW: u32 = 4;
111pub const TLOSS: u32 = 5;
112pub const PLOSS: u32 = 6;
113pub const TIME_UTC: u32 = 1;
114pub type va_list = *mut ::std::os::raw::c_char;
115extern "C" {
116 pub fn __va_start(arg1: *mut va_list, ...);
117}
118#[repr(C)]
119#[derive(Debug, Copy, Clone)]
120pub struct __vcrt_va_list_is_reference {
121 pub _address: u8,
122}
123pub const __vcrt_va_list_is_reference___the_value: __vcrt_va_list_is_reference__bindgen_ty_1 =
124 false;
125pub type __vcrt_va_list_is_reference__bindgen_ty_1 = bool;
126#[repr(C)]
127#[derive(Debug, Copy, Clone)]
128pub struct __vcrt_assert_va_start_is_not_reference {
129 pub _address: u8,
130}
131pub type __vcrt_bool = bool;
132extern "C" {
133 pub fn __security_init_cookie();
134}
135extern "C" {
136 pub fn __security_check_cookie(_StackCookie: usize);
137}
138extern "C" {
139 pub fn __report_gsfailure(_StackCookie: usize) -> !;
140}
141extern "C" {
142 pub static mut __security_cookie: usize;
143}
144pub type __crt_bool = bool;
145extern "C" {
146 pub fn _invalid_parameter_noinfo();
147}
148extern "C" {
149 pub fn _invalid_parameter_noinfo_noreturn() -> !;
150}
151extern "C" {
152 pub fn _invoke_watson(
153 _Expression: *const u16,
154 _FunctionName: *const u16,
155 _FileName: *const u16,
156 _LineNo: ::std::os::raw::c_uint,
157 _Reserved: usize,
158 ) -> !;
159}
160pub type errno_t = ::std::os::raw::c_int;
161pub type wint_t = ::std::os::raw::c_ushort;
162pub type wctype_t = ::std::os::raw::c_ushort;
163pub type __time32_t = ::std::os::raw::c_long;
164pub type __time64_t = ::std::os::raw::c_longlong;
165#[repr(C)]
166#[derive(Debug, Copy, Clone)]
167pub struct __crt_locale_data_public {
168 pub _locale_pctype: *const ::std::os::raw::c_ushort,
169 pub _locale_mb_cur_max: ::std::os::raw::c_int,
170 pub _locale_lc_codepage: ::std::os::raw::c_uint,
171}
172#[test]
173fn bindgen_test_layout___crt_locale_data_public() {
174 const UNINIT: ::std::mem::MaybeUninit<__crt_locale_data_public> =
175 ::std::mem::MaybeUninit::uninit();
176 let ptr = UNINIT.as_ptr();
177 assert_eq!(
178 ::std::mem::size_of::<__crt_locale_data_public>(),
179 16usize,
180 concat!("Size of: ", stringify!(__crt_locale_data_public))
181 );
182 assert_eq!(
183 ::std::mem::align_of::<__crt_locale_data_public>(),
184 8usize,
185 concat!("Alignment of ", stringify!(__crt_locale_data_public))
186 );
187 assert_eq!(
188 unsafe { ::std::ptr::addr_of!((*ptr)._locale_pctype) as usize - ptr as usize },
189 0usize,
190 concat!(
191 "Offset of field: ",
192 stringify!(__crt_locale_data_public),
193 "::",
194 stringify!(_locale_pctype)
195 )
196 );
197 assert_eq!(
198 unsafe { ::std::ptr::addr_of!((*ptr)._locale_mb_cur_max) as usize - ptr as usize },
199 8usize,
200 concat!(
201 "Offset of field: ",
202 stringify!(__crt_locale_data_public),
203 "::",
204 stringify!(_locale_mb_cur_max)
205 )
206 );
207 assert_eq!(
208 unsafe { ::std::ptr::addr_of!((*ptr)._locale_lc_codepage) as usize - ptr as usize },
209 12usize,
210 concat!(
211 "Offset of field: ",
212 stringify!(__crt_locale_data_public),
213 "::",
214 stringify!(_locale_lc_codepage)
215 )
216 );
217}
218#[repr(C)]
219#[derive(Debug, Copy, Clone)]
220pub struct __crt_locale_pointers {
221 pub locinfo: *mut __crt_locale_data,
222 pub mbcinfo: *mut __crt_multibyte_data,
223}
224#[test]
225fn bindgen_test_layout___crt_locale_pointers() {
226 const UNINIT: ::std::mem::MaybeUninit<__crt_locale_pointers> =
227 ::std::mem::MaybeUninit::uninit();
228 let ptr = UNINIT.as_ptr();
229 assert_eq!(
230 ::std::mem::size_of::<__crt_locale_pointers>(),
231 16usize,
232 concat!("Size of: ", stringify!(__crt_locale_pointers))
233 );
234 assert_eq!(
235 ::std::mem::align_of::<__crt_locale_pointers>(),
236 8usize,
237 concat!("Alignment of ", stringify!(__crt_locale_pointers))
238 );
239 assert_eq!(
240 unsafe { ::std::ptr::addr_of!((*ptr).locinfo) as usize - ptr as usize },
241 0usize,
242 concat!(
243 "Offset of field: ",
244 stringify!(__crt_locale_pointers),
245 "::",
246 stringify!(locinfo)
247 )
248 );
249 assert_eq!(
250 unsafe { ::std::ptr::addr_of!((*ptr).mbcinfo) as usize - ptr as usize },
251 8usize,
252 concat!(
253 "Offset of field: ",
254 stringify!(__crt_locale_pointers),
255 "::",
256 stringify!(mbcinfo)
257 )
258 );
259}
260pub type _locale_t = *mut __crt_locale_pointers;
261#[repr(C)]
262#[derive(Debug, Copy, Clone)]
263pub struct _Mbstatet {
264 pub _Wchar: ::std::os::raw::c_ulong,
265 pub _Byte: ::std::os::raw::c_ushort,
266 pub _State: ::std::os::raw::c_ushort,
267}
268#[test]
269fn bindgen_test_layout__Mbstatet() {
270 const UNINIT: ::std::mem::MaybeUninit<_Mbstatet> = ::std::mem::MaybeUninit::uninit();
271 let ptr = UNINIT.as_ptr();
272 assert_eq!(
273 ::std::mem::size_of::<_Mbstatet>(),
274 8usize,
275 concat!("Size of: ", stringify!(_Mbstatet))
276 );
277 assert_eq!(
278 ::std::mem::align_of::<_Mbstatet>(),
279 4usize,
280 concat!("Alignment of ", stringify!(_Mbstatet))
281 );
282 assert_eq!(
283 unsafe { ::std::ptr::addr_of!((*ptr)._Wchar) as usize - ptr as usize },
284 0usize,
285 concat!(
286 "Offset of field: ",
287 stringify!(_Mbstatet),
288 "::",
289 stringify!(_Wchar)
290 )
291 );
292 assert_eq!(
293 unsafe { ::std::ptr::addr_of!((*ptr)._Byte) as usize - ptr as usize },
294 4usize,
295 concat!(
296 "Offset of field: ",
297 stringify!(_Mbstatet),
298 "::",
299 stringify!(_Byte)
300 )
301 );
302 assert_eq!(
303 unsafe { ::std::ptr::addr_of!((*ptr)._State) as usize - ptr as usize },
304 6usize,
305 concat!(
306 "Offset of field: ",
307 stringify!(_Mbstatet),
308 "::",
309 stringify!(_State)
310 )
311 );
312}
313pub type mbstate_t = _Mbstatet;
314pub type time_t = __time64_t;
315pub type rsize_t = usize;
316#[repr(C)]
317#[derive(Debug, Copy, Clone)]
318pub struct _iobuf {
319 pub _Placeholder: *mut ::std::os::raw::c_void,
320}
321#[test]
322fn bindgen_test_layout__iobuf() {
323 const UNINIT: ::std::mem::MaybeUninit<_iobuf> = ::std::mem::MaybeUninit::uninit();
324 let ptr = UNINIT.as_ptr();
325 assert_eq!(
326 ::std::mem::size_of::<_iobuf>(),
327 8usize,
328 concat!("Size of: ", stringify!(_iobuf))
329 );
330 assert_eq!(
331 ::std::mem::align_of::<_iobuf>(),
332 8usize,
333 concat!("Alignment of ", stringify!(_iobuf))
334 );
335 assert_eq!(
336 unsafe { ::std::ptr::addr_of!((*ptr)._Placeholder) as usize - ptr as usize },
337 0usize,
338 concat!(
339 "Offset of field: ",
340 stringify!(_iobuf),
341 "::",
342 stringify!(_Placeholder)
343 )
344 );
345}
346pub type FILE = _iobuf;
347extern "C" {
348 pub fn __acrt_iob_func(_Ix: ::std::os::raw::c_uint) -> *mut FILE;
349}
350extern "C" {
351 pub fn fgetwc(_Stream: *mut FILE) -> wint_t;
352}
353extern "C" {
354 pub fn _fgetwchar() -> wint_t;
355}
356extern "C" {
357 pub fn fputwc(_Character: u16, _Stream: *mut FILE) -> wint_t;
358}
359extern "C" {
360 pub fn _fputwchar(_Character: u16) -> wint_t;
361}
362extern "C" {
363 pub fn getwc(_Stream: *mut FILE) -> wint_t;
364}
365extern "C" {
366 pub fn getwchar() -> wint_t;
367}
368extern "C" {
369 pub fn fgetws(
370 _Buffer: *mut u16,
371 _BufferCount: ::std::os::raw::c_int,
372 _Stream: *mut FILE,
373 ) -> *mut u16;
374}
375extern "C" {
376 pub fn fputws(_Buffer: *const u16, _Stream: *mut FILE) -> ::std::os::raw::c_int;
377}
378extern "C" {
379 pub fn _getws_s(_Buffer: *mut u16, _BufferCount: usize) -> *mut u16;
380}
381extern "C" {
382 pub fn putwc(_Character: u16, _Stream: *mut FILE) -> wint_t;
383}
384extern "C" {
385 pub fn putwchar(_Character: u16) -> wint_t;
386}
387extern "C" {
388 pub fn _putws(_Buffer: *const u16) -> ::std::os::raw::c_int;
389}
390extern "C" {
391 pub fn ungetwc(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
392}
393extern "C" {
394 pub fn _wfdopen(_FileHandle: ::std::os::raw::c_int, _Mode: *const u16) -> *mut FILE;
395}
396extern "C" {
397 pub fn _wfopen(_FileName: *const u16, _Mode: *const u16) -> *mut FILE;
398}
399extern "C" {
400 pub fn _wfopen_s(_Stream: *mut *mut FILE, _FileName: *const u16, _Mode: *const u16) -> errno_t;
401}
402extern "C" {
403 pub fn _wfreopen(_FileName: *const u16, _Mode: *const u16, _OldStream: *mut FILE) -> *mut FILE;
404}
405extern "C" {
406 pub fn _wfreopen_s(
407 _Stream: *mut *mut FILE,
408 _FileName: *const u16,
409 _Mode: *const u16,
410 _OldStream: *mut FILE,
411 ) -> errno_t;
412}
413extern "C" {
414 pub fn _wfsopen(
415 _FileName: *const u16,
416 _Mode: *const u16,
417 _ShFlag: ::std::os::raw::c_int,
418 ) -> *mut FILE;
419}
420extern "C" {
421 pub fn _wperror(_ErrorMessage: *const u16);
422}
423extern "C" {
424 pub fn _wpopen(_Command: *const u16, _Mode: *const u16) -> *mut FILE;
425}
426extern "C" {
427 pub fn _wremove(_FileName: *const u16) -> ::std::os::raw::c_int;
428}
429extern "C" {
430 pub fn _wtempnam(_Directory: *const u16, _FilePrefix: *const u16) -> *mut u16;
431}
432extern "C" {
433 pub fn _wtmpnam_s(_Buffer: *mut u16, _BufferCount: usize) -> errno_t;
434}
435extern "C" {
436 pub fn _wtmpnam(_Buffer: *mut u16) -> *mut u16;
437}
438extern "C" {
439 pub fn _fgetwc_nolock(_Stream: *mut FILE) -> wint_t;
440}
441extern "C" {
442 pub fn _fputwc_nolock(_Character: u16, _Stream: *mut FILE) -> wint_t;
443}
444extern "C" {
445 pub fn _getwc_nolock(_Stream: *mut FILE) -> wint_t;
446}
447extern "C" {
448 pub fn _putwc_nolock(_Character: u16, _Stream: *mut FILE) -> wint_t;
449}
450extern "C" {
451 pub fn _ungetwc_nolock(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
452}
453extern "C" {
454 pub fn __stdio_common_vfwprintf(
455 _Options: ::std::os::raw::c_ulonglong,
456 _Stream: *mut FILE,
457 _Format: *const u16,
458 _Locale: _locale_t,
459 _ArgList: va_list,
460 ) -> ::std::os::raw::c_int;
461}
462extern "C" {
463 pub fn __stdio_common_vfwprintf_s(
464 _Options: ::std::os::raw::c_ulonglong,
465 _Stream: *mut FILE,
466 _Format: *const u16,
467 _Locale: _locale_t,
468 _ArgList: va_list,
469 ) -> ::std::os::raw::c_int;
470}
471extern "C" {
472 pub fn __stdio_common_vfwprintf_p(
473 _Options: ::std::os::raw::c_ulonglong,
474 _Stream: *mut FILE,
475 _Format: *const u16,
476 _Locale: _locale_t,
477 _ArgList: va_list,
478 ) -> ::std::os::raw::c_int;
479}
480extern "C" {
481 pub fn __stdio_common_vfwscanf(
482 _Options: ::std::os::raw::c_ulonglong,
483 _Stream: *mut FILE,
484 _Format: *const u16,
485 _Locale: _locale_t,
486 _ArgList: va_list,
487 ) -> ::std::os::raw::c_int;
488}
489extern "C" {
490 pub fn __stdio_common_vswprintf(
491 _Options: ::std::os::raw::c_ulonglong,
492 _Buffer: *mut u16,
493 _BufferCount: usize,
494 _Format: *const u16,
495 _Locale: _locale_t,
496 _ArgList: va_list,
497 ) -> ::std::os::raw::c_int;
498}
499extern "C" {
500 pub fn __stdio_common_vswprintf_s(
501 _Options: ::std::os::raw::c_ulonglong,
502 _Buffer: *mut u16,
503 _BufferCount: usize,
504 _Format: *const u16,
505 _Locale: _locale_t,
506 _ArgList: va_list,
507 ) -> ::std::os::raw::c_int;
508}
509extern "C" {
510 pub fn __stdio_common_vsnwprintf_s(
511 _Options: ::std::os::raw::c_ulonglong,
512 _Buffer: *mut u16,
513 _BufferCount: usize,
514 _MaxCount: usize,
515 _Format: *const u16,
516 _Locale: _locale_t,
517 _ArgList: va_list,
518 ) -> ::std::os::raw::c_int;
519}
520extern "C" {
521 pub fn __stdio_common_vswprintf_p(
522 _Options: ::std::os::raw::c_ulonglong,
523 _Buffer: *mut u16,
524 _BufferCount: usize,
525 _Format: *const u16,
526 _Locale: _locale_t,
527 _ArgList: va_list,
528 ) -> ::std::os::raw::c_int;
529}
530extern "C" {
531 pub fn __stdio_common_vswscanf(
532 _Options: ::std::os::raw::c_ulonglong,
533 _Buffer: *const u16,
534 _BufferCount: usize,
535 _Format: *const u16,
536 _Locale: _locale_t,
537 _ArgList: va_list,
538 ) -> ::std::os::raw::c_int;
539}
540pub type fpos_t = ::std::os::raw::c_longlong;
541extern "C" {
542 pub fn _get_stream_buffer_pointers(
543 _Stream: *mut FILE,
544 _Base: *mut *mut *mut ::std::os::raw::c_char,
545 _Pointer: *mut *mut *mut ::std::os::raw::c_char,
546 _Count: *mut *mut ::std::os::raw::c_int,
547 ) -> errno_t;
548}
549extern "C" {
550 pub fn clearerr_s(_Stream: *mut FILE) -> errno_t;
551}
552extern "C" {
553 pub fn fopen_s(
554 _Stream: *mut *mut FILE,
555 _FileName: *const ::std::os::raw::c_char,
556 _Mode: *const ::std::os::raw::c_char,
557 ) -> errno_t;
558}
559extern "C" {
560 pub fn fread_s(
561 _Buffer: *mut ::std::os::raw::c_void,
562 _BufferSize: usize,
563 _ElementSize: usize,
564 _ElementCount: usize,
565 _Stream: *mut FILE,
566 ) -> usize;
567}
568extern "C" {
569 pub fn freopen_s(
570 _Stream: *mut *mut FILE,
571 _FileName: *const ::std::os::raw::c_char,
572 _Mode: *const ::std::os::raw::c_char,
573 _OldStream: *mut FILE,
574 ) -> errno_t;
575}
576extern "C" {
577 pub fn gets_s(
578 _Buffer: *mut ::std::os::raw::c_char,
579 _Size: rsize_t,
580 ) -> *mut ::std::os::raw::c_char;
581}
582extern "C" {
583 pub fn tmpfile_s(_Stream: *mut *mut FILE) -> errno_t;
584}
585extern "C" {
586 pub fn tmpnam_s(_Buffer: *mut ::std::os::raw::c_char, _Size: rsize_t) -> errno_t;
587}
588extern "C" {
589 pub fn clearerr(_Stream: *mut FILE);
590}
591extern "C" {
592 pub fn fclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
593}
594extern "C" {
595 pub fn _fcloseall() -> ::std::os::raw::c_int;
596}
597extern "C" {
598 pub fn _fdopen(
599 _FileHandle: ::std::os::raw::c_int,
600 _Mode: *const ::std::os::raw::c_char,
601 ) -> *mut FILE;
602}
603extern "C" {
604 pub fn feof(_Stream: *mut FILE) -> ::std::os::raw::c_int;
605}
606extern "C" {
607 pub fn ferror(_Stream: *mut FILE) -> ::std::os::raw::c_int;
608}
609extern "C" {
610 pub fn fflush(_Stream: *mut FILE) -> ::std::os::raw::c_int;
611}
612extern "C" {
613 pub fn fgetc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
614}
615extern "C" {
616 pub fn _fgetchar() -> ::std::os::raw::c_int;
617}
618extern "C" {
619 pub fn fgetpos(_Stream: *mut FILE, _Position: *mut fpos_t) -> ::std::os::raw::c_int;
620}
621extern "C" {
622 pub fn fgets(
623 _Buffer: *mut ::std::os::raw::c_char,
624 _MaxCount: ::std::os::raw::c_int,
625 _Stream: *mut FILE,
626 ) -> *mut ::std::os::raw::c_char;
627}
628extern "C" {
629 pub fn _fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
630}
631extern "C" {
632 pub fn _flushall() -> ::std::os::raw::c_int;
633}
634extern "C" {
635 pub fn fopen(
636 _FileName: *const ::std::os::raw::c_char,
637 _Mode: *const ::std::os::raw::c_char,
638 ) -> *mut FILE;
639}
640extern "C" {
641 pub fn fputc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
642}
643extern "C" {
644 pub fn _fputchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
645}
646extern "C" {
647 pub fn fputs(
648 _Buffer: *const ::std::os::raw::c_char,
649 _Stream: *mut FILE,
650 ) -> ::std::os::raw::c_int;
651}
652extern "C" {
653 pub fn fread(
654 _Buffer: *mut ::std::os::raw::c_void,
655 _ElementSize: usize,
656 _ElementCount: usize,
657 _Stream: *mut FILE,
658 ) -> usize;
659}
660extern "C" {
661 pub fn freopen(
662 _FileName: *const ::std::os::raw::c_char,
663 _Mode: *const ::std::os::raw::c_char,
664 _Stream: *mut FILE,
665 ) -> *mut FILE;
666}
667extern "C" {
668 pub fn _fsopen(
669 _FileName: *const ::std::os::raw::c_char,
670 _Mode: *const ::std::os::raw::c_char,
671 _ShFlag: ::std::os::raw::c_int,
672 ) -> *mut FILE;
673}
674extern "C" {
675 pub fn fsetpos(_Stream: *mut FILE, _Position: *const fpos_t) -> ::std::os::raw::c_int;
676}
677extern "C" {
678 pub fn fseek(
679 _Stream: *mut FILE,
680 _Offset: ::std::os::raw::c_long,
681 _Origin: ::std::os::raw::c_int,
682 ) -> ::std::os::raw::c_int;
683}
684extern "C" {
685 pub fn _fseeki64(
686 _Stream: *mut FILE,
687 _Offset: ::std::os::raw::c_longlong,
688 _Origin: ::std::os::raw::c_int,
689 ) -> ::std::os::raw::c_int;
690}
691extern "C" {
692 pub fn ftell(_Stream: *mut FILE) -> ::std::os::raw::c_long;
693}
694extern "C" {
695 pub fn _ftelli64(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
696}
697extern "C" {
698 pub fn fwrite(
699 _Buffer: *const ::std::os::raw::c_void,
700 _ElementSize: usize,
701 _ElementCount: usize,
702 _Stream: *mut FILE,
703 ) -> usize;
704}
705extern "C" {
706 pub fn getc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
707}
708extern "C" {
709 pub fn getchar() -> ::std::os::raw::c_int;
710}
711extern "C" {
712 pub fn _getmaxstdio() -> ::std::os::raw::c_int;
713}
714extern "C" {
715 pub fn _getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
716}
717extern "C" {
718 pub fn perror(_ErrorMessage: *const ::std::os::raw::c_char);
719}
720extern "C" {
721 pub fn _pclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
722}
723extern "C" {
724 pub fn _popen(
725 _Command: *const ::std::os::raw::c_char,
726 _Mode: *const ::std::os::raw::c_char,
727 ) -> *mut FILE;
728}
729extern "C" {
730 pub fn putc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
731}
732extern "C" {
733 pub fn putchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
734}
735extern "C" {
736 pub fn puts(_Buffer: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
737}
738extern "C" {
739 pub fn _putw(_Word: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
740}
741extern "C" {
742 pub fn remove(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
743}
744extern "C" {
745 pub fn rename(
746 _OldFileName: *const ::std::os::raw::c_char,
747 _NewFileName: *const ::std::os::raw::c_char,
748 ) -> ::std::os::raw::c_int;
749}
750extern "C" {
751 pub fn _unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
752}
753extern "C" {
754 pub fn unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
755}
756extern "C" {
757 pub fn rewind(_Stream: *mut FILE);
758}
759extern "C" {
760 pub fn _rmtmp() -> ::std::os::raw::c_int;
761}
762extern "C" {
763 pub fn setbuf(_Stream: *mut FILE, _Buffer: *mut ::std::os::raw::c_char);
764}
765extern "C" {
766 pub fn _setmaxstdio(_Maximum: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
767}
768extern "C" {
769 pub fn setvbuf(
770 _Stream: *mut FILE,
771 _Buffer: *mut ::std::os::raw::c_char,
772 _Mode: ::std::os::raw::c_int,
773 _Size: usize,
774 ) -> ::std::os::raw::c_int;
775}
776extern "C" {
777 pub fn _tempnam(
778 _DirectoryName: *const ::std::os::raw::c_char,
779 _FilePrefix: *const ::std::os::raw::c_char,
780 ) -> *mut ::std::os::raw::c_char;
781}
782extern "C" {
783 pub fn tmpfile() -> *mut FILE;
784}
785extern "C" {
786 pub fn tmpnam(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
787}
788extern "C" {
789 pub fn ungetc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
790}
791extern "C" {
792 pub fn _lock_file(_Stream: *mut FILE);
793}
794extern "C" {
795 pub fn _unlock_file(_Stream: *mut FILE);
796}
797extern "C" {
798 pub fn _fclose_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
799}
800extern "C" {
801 pub fn _fflush_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
802}
803extern "C" {
804 pub fn _fgetc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
805}
806extern "C" {
807 pub fn _fputc_nolock(
808 _Character: ::std::os::raw::c_int,
809 _Stream: *mut FILE,
810 ) -> ::std::os::raw::c_int;
811}
812extern "C" {
813 pub fn _fread_nolock(
814 _Buffer: *mut ::std::os::raw::c_void,
815 _ElementSize: usize,
816 _ElementCount: usize,
817 _Stream: *mut FILE,
818 ) -> usize;
819}
820extern "C" {
821 pub fn _fread_nolock_s(
822 _Buffer: *mut ::std::os::raw::c_void,
823 _BufferSize: usize,
824 _ElementSize: usize,
825 _ElementCount: usize,
826 _Stream: *mut FILE,
827 ) -> usize;
828}
829extern "C" {
830 pub fn _fseek_nolock(
831 _Stream: *mut FILE,
832 _Offset: ::std::os::raw::c_long,
833 _Origin: ::std::os::raw::c_int,
834 ) -> ::std::os::raw::c_int;
835}
836extern "C" {
837 pub fn _fseeki64_nolock(
838 _Stream: *mut FILE,
839 _Offset: ::std::os::raw::c_longlong,
840 _Origin: ::std::os::raw::c_int,
841 ) -> ::std::os::raw::c_int;
842}
843extern "C" {
844 pub fn _ftell_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_long;
845}
846extern "C" {
847 pub fn _ftelli64_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
848}
849extern "C" {
850 pub fn _fwrite_nolock(
851 _Buffer: *const ::std::os::raw::c_void,
852 _ElementSize: usize,
853 _ElementCount: usize,
854 _Stream: *mut FILE,
855 ) -> usize;
856}
857extern "C" {
858 pub fn _getc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
859}
860extern "C" {
861 pub fn _putc_nolock(
862 _Character: ::std::os::raw::c_int,
863 _Stream: *mut FILE,
864 ) -> ::std::os::raw::c_int;
865}
866extern "C" {
867 pub fn _ungetc_nolock(
868 _Character: ::std::os::raw::c_int,
869 _Stream: *mut FILE,
870 ) -> ::std::os::raw::c_int;
871}
872extern "C" {
873 pub fn __p__commode() -> *mut ::std::os::raw::c_int;
874}
875extern "C" {
876 pub fn __stdio_common_vfprintf(
877 _Options: ::std::os::raw::c_ulonglong,
878 _Stream: *mut FILE,
879 _Format: *const ::std::os::raw::c_char,
880 _Locale: _locale_t,
881 _ArgList: va_list,
882 ) -> ::std::os::raw::c_int;
883}
884extern "C" {
885 pub fn __stdio_common_vfprintf_s(
886 _Options: ::std::os::raw::c_ulonglong,
887 _Stream: *mut FILE,
888 _Format: *const ::std::os::raw::c_char,
889 _Locale: _locale_t,
890 _ArgList: va_list,
891 ) -> ::std::os::raw::c_int;
892}
893extern "C" {
894 pub fn __stdio_common_vfprintf_p(
895 _Options: ::std::os::raw::c_ulonglong,
896 _Stream: *mut FILE,
897 _Format: *const ::std::os::raw::c_char,
898 _Locale: _locale_t,
899 _ArgList: va_list,
900 ) -> ::std::os::raw::c_int;
901}
902extern "C" {
903 pub fn _set_printf_count_output(_Value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
904}
905extern "C" {
906 pub fn _get_printf_count_output() -> ::std::os::raw::c_int;
907}
908extern "C" {
909 pub fn __stdio_common_vfscanf(
910 _Options: ::std::os::raw::c_ulonglong,
911 _Stream: *mut FILE,
912 _Format: *const ::std::os::raw::c_char,
913 _Locale: _locale_t,
914 _Arglist: va_list,
915 ) -> ::std::os::raw::c_int;
916}
917extern "C" {
918 pub fn __stdio_common_vsprintf(
919 _Options: ::std::os::raw::c_ulonglong,
920 _Buffer: *mut ::std::os::raw::c_char,
921 _BufferCount: usize,
922 _Format: *const ::std::os::raw::c_char,
923 _Locale: _locale_t,
924 _ArgList: va_list,
925 ) -> ::std::os::raw::c_int;
926}
927extern "C" {
928 pub fn __stdio_common_vsprintf_s(
929 _Options: ::std::os::raw::c_ulonglong,
930 _Buffer: *mut ::std::os::raw::c_char,
931 _BufferCount: usize,
932 _Format: *const ::std::os::raw::c_char,
933 _Locale: _locale_t,
934 _ArgList: va_list,
935 ) -> ::std::os::raw::c_int;
936}
937extern "C" {
938 pub fn __stdio_common_vsnprintf_s(
939 _Options: ::std::os::raw::c_ulonglong,
940 _Buffer: *mut ::std::os::raw::c_char,
941 _BufferCount: usize,
942 _MaxCount: usize,
943 _Format: *const ::std::os::raw::c_char,
944 _Locale: _locale_t,
945 _ArgList: va_list,
946 ) -> ::std::os::raw::c_int;
947}
948extern "C" {
949 pub fn __stdio_common_vsprintf_p(
950 _Options: ::std::os::raw::c_ulonglong,
951 _Buffer: *mut ::std::os::raw::c_char,
952 _BufferCount: usize,
953 _Format: *const ::std::os::raw::c_char,
954 _Locale: _locale_t,
955 _ArgList: va_list,
956 ) -> ::std::os::raw::c_int;
957}
958extern "C" {
959 pub fn __stdio_common_vsscanf(
960 _Options: ::std::os::raw::c_ulonglong,
961 _Buffer: *const ::std::os::raw::c_char,
962 _BufferCount: usize,
963 _Format: *const ::std::os::raw::c_char,
964 _Locale: _locale_t,
965 _ArgList: va_list,
966 ) -> ::std::os::raw::c_int;
967}
968extern "C" {
969 pub fn tempnam(
970 _Directory: *const ::std::os::raw::c_char,
971 _FilePrefix: *const ::std::os::raw::c_char,
972 ) -> *mut ::std::os::raw::c_char;
973}
974extern "C" {
975 pub fn fcloseall() -> ::std::os::raw::c_int;
976}
977extern "C" {
978 pub fn fdopen(
979 _FileHandle: ::std::os::raw::c_int,
980 _Format: *const ::std::os::raw::c_char,
981 ) -> *mut FILE;
982}
983extern "C" {
984 pub fn fgetchar() -> ::std::os::raw::c_int;
985}
986extern "C" {
987 pub fn fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
988}
989extern "C" {
990 pub fn flushall() -> ::std::os::raw::c_int;
991}
992extern "C" {
993 pub fn fputchar(_Ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
994}
995extern "C" {
996 pub fn getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
997}
998extern "C" {
999 pub fn putw(_Ch: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
1000}
1001extern "C" {
1002 pub fn rmtmp() -> ::std::os::raw::c_int;
1003}
1004#[repr(C)]
1005#[derive(Debug, Copy, Clone)]
1006pub struct _exception {
1007 pub type_: ::std::os::raw::c_int,
1008 pub name: *mut ::std::os::raw::c_char,
1009 pub arg1: f64,
1010 pub arg2: f64,
1011 pub retval: f64,
1012}
1013#[test]
1014fn bindgen_test_layout__exception() {
1015 const UNINIT: ::std::mem::MaybeUninit<_exception> = ::std::mem::MaybeUninit::uninit();
1016 let ptr = UNINIT.as_ptr();
1017 assert_eq!(
1018 ::std::mem::size_of::<_exception>(),
1019 40usize,
1020 concat!("Size of: ", stringify!(_exception))
1021 );
1022 assert_eq!(
1023 ::std::mem::align_of::<_exception>(),
1024 8usize,
1025 concat!("Alignment of ", stringify!(_exception))
1026 );
1027 assert_eq!(
1028 unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
1029 0usize,
1030 concat!(
1031 "Offset of field: ",
1032 stringify!(_exception),
1033 "::",
1034 stringify!(type_)
1035 )
1036 );
1037 assert_eq!(
1038 unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
1039 8usize,
1040 concat!(
1041 "Offset of field: ",
1042 stringify!(_exception),
1043 "::",
1044 stringify!(name)
1045 )
1046 );
1047 assert_eq!(
1048 unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
1049 16usize,
1050 concat!(
1051 "Offset of field: ",
1052 stringify!(_exception),
1053 "::",
1054 stringify!(arg1)
1055 )
1056 );
1057 assert_eq!(
1058 unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
1059 24usize,
1060 concat!(
1061 "Offset of field: ",
1062 stringify!(_exception),
1063 "::",
1064 stringify!(arg2)
1065 )
1066 );
1067 assert_eq!(
1068 unsafe { ::std::ptr::addr_of!((*ptr).retval) as usize - ptr as usize },
1069 32usize,
1070 concat!(
1071 "Offset of field: ",
1072 stringify!(_exception),
1073 "::",
1074 stringify!(retval)
1075 )
1076 );
1077}
1078#[repr(C)]
1079#[derive(Debug, Copy, Clone)]
1080pub struct _complex {
1081 pub x: f64,
1082 pub y: f64,
1083}
1084#[test]
1085fn bindgen_test_layout__complex() {
1086 const UNINIT: ::std::mem::MaybeUninit<_complex> = ::std::mem::MaybeUninit::uninit();
1087 let ptr = UNINIT.as_ptr();
1088 assert_eq!(
1089 ::std::mem::size_of::<_complex>(),
1090 16usize,
1091 concat!("Size of: ", stringify!(_complex))
1092 );
1093 assert_eq!(
1094 ::std::mem::align_of::<_complex>(),
1095 8usize,
1096 concat!("Alignment of ", stringify!(_complex))
1097 );
1098 assert_eq!(
1099 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
1100 0usize,
1101 concat!(
1102 "Offset of field: ",
1103 stringify!(_complex),
1104 "::",
1105 stringify!(x)
1106 )
1107 );
1108 assert_eq!(
1109 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
1110 8usize,
1111 concat!(
1112 "Offset of field: ",
1113 stringify!(_complex),
1114 "::",
1115 stringify!(y)
1116 )
1117 );
1118}
1119pub type float_t = f32;
1120pub type double_t = f64;
1121extern "C" {
1122 pub static _HUGE: f64;
1123}
1124extern "C" {
1125 pub fn _fperrraise(_Except: ::std::os::raw::c_int);
1126}
1127extern "C" {
1128 pub fn _dclass(_X: f64) -> ::std::os::raw::c_short;
1129}
1130extern "C" {
1131 pub fn _ldclass(_X: f64) -> ::std::os::raw::c_short;
1132}
1133extern "C" {
1134 pub fn _fdclass(_X: f32) -> ::std::os::raw::c_short;
1135}
1136extern "C" {
1137 pub fn _dsign(_X: f64) -> ::std::os::raw::c_int;
1138}
1139extern "C" {
1140 pub fn _ldsign(_X: f64) -> ::std::os::raw::c_int;
1141}
1142extern "C" {
1143 pub fn _fdsign(_X: f32) -> ::std::os::raw::c_int;
1144}
1145extern "C" {
1146 pub fn _dpcomp(_X: f64, _Y: f64) -> ::std::os::raw::c_int;
1147}
1148extern "C" {
1149 pub fn _ldpcomp(_X: f64, _Y: f64) -> ::std::os::raw::c_int;
1150}
1151extern "C" {
1152 pub fn _fdpcomp(_X: f32, _Y: f32) -> ::std::os::raw::c_int;
1153}
1154extern "C" {
1155 pub fn _dtest(_Px: *mut f64) -> ::std::os::raw::c_short;
1156}
1157extern "C" {
1158 pub fn _ldtest(_Px: *mut f64) -> ::std::os::raw::c_short;
1159}
1160extern "C" {
1161 pub fn _fdtest(_Px: *mut f32) -> ::std::os::raw::c_short;
1162}
1163extern "C" {
1164 pub fn _d_int(_Px: *mut f64, _Xexp: ::std::os::raw::c_short) -> ::std::os::raw::c_short;
1165}
1166extern "C" {
1167 pub fn _ld_int(_Px: *mut f64, _Xexp: ::std::os::raw::c_short) -> ::std::os::raw::c_short;
1168}
1169extern "C" {
1170 pub fn _fd_int(_Px: *mut f32, _Xexp: ::std::os::raw::c_short) -> ::std::os::raw::c_short;
1171}
1172extern "C" {
1173 pub fn _dscale(_Px: *mut f64, _Lexp: ::std::os::raw::c_long) -> ::std::os::raw::c_short;
1174}
1175extern "C" {
1176 pub fn _ldscale(_Px: *mut f64, _Lexp: ::std::os::raw::c_long) -> ::std::os::raw::c_short;
1177}
1178extern "C" {
1179 pub fn _fdscale(_Px: *mut f32, _Lexp: ::std::os::raw::c_long) -> ::std::os::raw::c_short;
1180}
1181extern "C" {
1182 pub fn _dunscale(_Pex: *mut ::std::os::raw::c_short, _Px: *mut f64) -> ::std::os::raw::c_short;
1183}
1184extern "C" {
1185 pub fn _ldunscale(_Pex: *mut ::std::os::raw::c_short, _Px: *mut f64)
1186 -> ::std::os::raw::c_short;
1187}
1188extern "C" {
1189 pub fn _fdunscale(_Pex: *mut ::std::os::raw::c_short, _Px: *mut f32)
1190 -> ::std::os::raw::c_short;
1191}
1192extern "C" {
1193 pub fn _dexp(_Px: *mut f64, _Y: f64, _Eoff: ::std::os::raw::c_long) -> ::std::os::raw::c_short;
1194}
1195extern "C" {
1196 pub fn _ldexp(_Px: *mut f64, _Y: f64, _Eoff: ::std::os::raw::c_long)
1197 -> ::std::os::raw::c_short;
1198}
1199extern "C" {
1200 pub fn _fdexp(_Px: *mut f32, _Y: f32, _Eoff: ::std::os::raw::c_long)
1201 -> ::std::os::raw::c_short;
1202}
1203extern "C" {
1204 pub fn _dnorm(_Ps: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_short;
1205}
1206extern "C" {
1207 pub fn _fdnorm(_Ps: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_short;
1208}
1209extern "C" {
1210 pub fn _dpoly(_X: f64, _Tab: *const f64, _N: ::std::os::raw::c_int) -> f64;
1211}
1212extern "C" {
1213 pub fn _ldpoly(_X: f64, _Tab: *const f64, _N: ::std::os::raw::c_int) -> f64;
1214}
1215extern "C" {
1216 pub fn _fdpoly(_X: f32, _Tab: *const f32, _N: ::std::os::raw::c_int) -> f32;
1217}
1218extern "C" {
1219 pub fn _dlog(_X: f64, _Baseflag: ::std::os::raw::c_int) -> f64;
1220}
1221extern "C" {
1222 pub fn _ldlog(_X: f64, _Baseflag: ::std::os::raw::c_int) -> f64;
1223}
1224extern "C" {
1225 pub fn _fdlog(_X: f32, _Baseflag: ::std::os::raw::c_int) -> f32;
1226}
1227extern "C" {
1228 pub fn _dsin(_X: f64, _Qoff: ::std::os::raw::c_uint) -> f64;
1229}
1230extern "C" {
1231 pub fn _ldsin(_X: f64, _Qoff: ::std::os::raw::c_uint) -> f64;
1232}
1233extern "C" {
1234 pub fn _fdsin(_X: f32, _Qoff: ::std::os::raw::c_uint) -> f32;
1235}
1236#[repr(C)]
1237#[derive(Copy, Clone)]
1238pub union _double_val {
1239 pub _Sh: [::std::os::raw::c_ushort; 4usize],
1240 pub _Val: f64,
1241}
1242#[test]
1243fn bindgen_test_layout__double_val() {
1244 const UNINIT: ::std::mem::MaybeUninit<_double_val> = ::std::mem::MaybeUninit::uninit();
1245 let ptr = UNINIT.as_ptr();
1246 assert_eq!(
1247 ::std::mem::size_of::<_double_val>(),
1248 8usize,
1249 concat!("Size of: ", stringify!(_double_val))
1250 );
1251 assert_eq!(
1252 ::std::mem::align_of::<_double_val>(),
1253 8usize,
1254 concat!("Alignment of ", stringify!(_double_val))
1255 );
1256 assert_eq!(
1257 unsafe { ::std::ptr::addr_of!((*ptr)._Sh) as usize - ptr as usize },
1258 0usize,
1259 concat!(
1260 "Offset of field: ",
1261 stringify!(_double_val),
1262 "::",
1263 stringify!(_Sh)
1264 )
1265 );
1266 assert_eq!(
1267 unsafe { ::std::ptr::addr_of!((*ptr)._Val) as usize - ptr as usize },
1268 0usize,
1269 concat!(
1270 "Offset of field: ",
1271 stringify!(_double_val),
1272 "::",
1273 stringify!(_Val)
1274 )
1275 );
1276}
1277#[repr(C)]
1278#[derive(Copy, Clone)]
1279pub union _float_val {
1280 pub _Sh: [::std::os::raw::c_ushort; 2usize],
1281 pub _Val: f32,
1282}
1283#[test]
1284fn bindgen_test_layout__float_val() {
1285 const UNINIT: ::std::mem::MaybeUninit<_float_val> = ::std::mem::MaybeUninit::uninit();
1286 let ptr = UNINIT.as_ptr();
1287 assert_eq!(
1288 ::std::mem::size_of::<_float_val>(),
1289 4usize,
1290 concat!("Size of: ", stringify!(_float_val))
1291 );
1292 assert_eq!(
1293 ::std::mem::align_of::<_float_val>(),
1294 4usize,
1295 concat!("Alignment of ", stringify!(_float_val))
1296 );
1297 assert_eq!(
1298 unsafe { ::std::ptr::addr_of!((*ptr)._Sh) as usize - ptr as usize },
1299 0usize,
1300 concat!(
1301 "Offset of field: ",
1302 stringify!(_float_val),
1303 "::",
1304 stringify!(_Sh)
1305 )
1306 );
1307 assert_eq!(
1308 unsafe { ::std::ptr::addr_of!((*ptr)._Val) as usize - ptr as usize },
1309 0usize,
1310 concat!(
1311 "Offset of field: ",
1312 stringify!(_float_val),
1313 "::",
1314 stringify!(_Val)
1315 )
1316 );
1317}
1318#[repr(C)]
1319#[derive(Copy, Clone)]
1320pub union _ldouble_val {
1321 pub _Sh: [::std::os::raw::c_ushort; 4usize],
1322 pub _Val: f64,
1323}
1324#[test]
1325fn bindgen_test_layout__ldouble_val() {
1326 const UNINIT: ::std::mem::MaybeUninit<_ldouble_val> = ::std::mem::MaybeUninit::uninit();
1327 let ptr = UNINIT.as_ptr();
1328 assert_eq!(
1329 ::std::mem::size_of::<_ldouble_val>(),
1330 8usize,
1331 concat!("Size of: ", stringify!(_ldouble_val))
1332 );
1333 assert_eq!(
1334 ::std::mem::align_of::<_ldouble_val>(),
1335 8usize,
1336 concat!("Alignment of ", stringify!(_ldouble_val))
1337 );
1338 assert_eq!(
1339 unsafe { ::std::ptr::addr_of!((*ptr)._Sh) as usize - ptr as usize },
1340 0usize,
1341 concat!(
1342 "Offset of field: ",
1343 stringify!(_ldouble_val),
1344 "::",
1345 stringify!(_Sh)
1346 )
1347 );
1348 assert_eq!(
1349 unsafe { ::std::ptr::addr_of!((*ptr)._Val) as usize - ptr as usize },
1350 0usize,
1351 concat!(
1352 "Offset of field: ",
1353 stringify!(_ldouble_val),
1354 "::",
1355 stringify!(_Val)
1356 )
1357 );
1358}
1359#[repr(C)]
1360#[derive(Copy, Clone)]
1361pub union _float_const {
1362 pub _Word: [::std::os::raw::c_ushort; 4usize],
1363 pub _Float: f32,
1364 pub _Double: f64,
1365 pub _Long_double: f64,
1366}
1367#[test]
1368fn bindgen_test_layout__float_const() {
1369 const UNINIT: ::std::mem::MaybeUninit<_float_const> = ::std::mem::MaybeUninit::uninit();
1370 let ptr = UNINIT.as_ptr();
1371 assert_eq!(
1372 ::std::mem::size_of::<_float_const>(),
1373 8usize,
1374 concat!("Size of: ", stringify!(_float_const))
1375 );
1376 assert_eq!(
1377 ::std::mem::align_of::<_float_const>(),
1378 8usize,
1379 concat!("Alignment of ", stringify!(_float_const))
1380 );
1381 assert_eq!(
1382 unsafe { ::std::ptr::addr_of!((*ptr)._Word) as usize - ptr as usize },
1383 0usize,
1384 concat!(
1385 "Offset of field: ",
1386 stringify!(_float_const),
1387 "::",
1388 stringify!(_Word)
1389 )
1390 );
1391 assert_eq!(
1392 unsafe { ::std::ptr::addr_of!((*ptr)._Float) as usize - ptr as usize },
1393 0usize,
1394 concat!(
1395 "Offset of field: ",
1396 stringify!(_float_const),
1397 "::",
1398 stringify!(_Float)
1399 )
1400 );
1401 assert_eq!(
1402 unsafe { ::std::ptr::addr_of!((*ptr)._Double) as usize - ptr as usize },
1403 0usize,
1404 concat!(
1405 "Offset of field: ",
1406 stringify!(_float_const),
1407 "::",
1408 stringify!(_Double)
1409 )
1410 );
1411 assert_eq!(
1412 unsafe { ::std::ptr::addr_of!((*ptr)._Long_double) as usize - ptr as usize },
1413 0usize,
1414 concat!(
1415 "Offset of field: ",
1416 stringify!(_float_const),
1417 "::",
1418 stringify!(_Long_double)
1419 )
1420 );
1421}
1422extern "C" {
1423 pub static _Denorm_C: _float_const;
1424}
1425extern "C" {
1426 pub static _Inf_C: _float_const;
1427}
1428extern "C" {
1429 pub static _Nan_C: _float_const;
1430}
1431extern "C" {
1432 pub static _Snan_C: _float_const;
1433}
1434extern "C" {
1435 pub static _Hugeval_C: _float_const;
1436}
1437extern "C" {
1438 pub static _FDenorm_C: _float_const;
1439}
1440extern "C" {
1441 pub static _FInf_C: _float_const;
1442}
1443extern "C" {
1444 pub static _FNan_C: _float_const;
1445}
1446extern "C" {
1447 pub static _FSnan_C: _float_const;
1448}
1449extern "C" {
1450 pub static _LDenorm_C: _float_const;
1451}
1452extern "C" {
1453 pub static _LInf_C: _float_const;
1454}
1455extern "C" {
1456 pub static _LNan_C: _float_const;
1457}
1458extern "C" {
1459 pub static _LSnan_C: _float_const;
1460}
1461extern "C" {
1462 pub static _Eps_C: _float_const;
1463}
1464extern "C" {
1465 pub static _Rteps_C: _float_const;
1466}
1467extern "C" {
1468 pub static _FEps_C: _float_const;
1469}
1470extern "C" {
1471 pub static _FRteps_C: _float_const;
1472}
1473extern "C" {
1474 pub static _LEps_C: _float_const;
1475}
1476extern "C" {
1477 pub static _LRteps_C: _float_const;
1478}
1479extern "C" {
1480 pub static _Zero_C: f64;
1481}
1482extern "C" {
1483 pub static _Xbig_C: f64;
1484}
1485extern "C" {
1486 pub static _FZero_C: f32;
1487}
1488extern "C" {
1489 pub static _FXbig_C: f32;
1490}
1491extern "C" {
1492 pub static _LZero_C: f64;
1493}
1494extern "C" {
1495 pub static _LXbig_C: f64;
1496}
1497#[repr(C)]
1498#[derive(Debug, Copy, Clone)]
1499pub struct _Combined_type {
1500 pub _address: u8,
1501}
1502pub type _Combined_type__Type = f32;
1503#[test]
1504fn __bindgen_test_layout__Combined_type_open0_float_double_close0_instantiation() {
1505 assert_eq!(
1506 ::std::mem::size_of::<_Combined_type>(),
1507 1usize,
1508 concat!(
1509 "Size of template specialization: ",
1510 stringify!(_Combined_type)
1511 )
1512 );
1513 assert_eq!(
1514 ::std::mem::align_of::<_Combined_type>(),
1515 1usize,
1516 concat!(
1517 "Alignment of template specialization: ",
1518 stringify!(_Combined_type)
1519 )
1520 );
1521}
1522#[test]
1523fn __bindgen_test_layout__Combined_type_open0_float_long_double_close0_instantiation() {
1524 assert_eq!(
1525 ::std::mem::size_of::<_Combined_type>(),
1526 1usize,
1527 concat!(
1528 "Size of template specialization: ",
1529 stringify!(_Combined_type)
1530 )
1531 );
1532 assert_eq!(
1533 ::std::mem::align_of::<_Combined_type>(),
1534 1usize,
1535 concat!(
1536 "Alignment of template specialization: ",
1537 stringify!(_Combined_type)
1538 )
1539 );
1540}
1541#[repr(C)]
1542#[derive(Debug, Copy, Clone)]
1543pub struct _Real_widened {
1544 pub _address: u8,
1545}
1546pub type _Real_widened__Type = f64;
1547#[test]
1548fn __bindgen_test_layout__Real_widened_open0_float_float_close0_instantiation() {
1549 assert_eq!(
1550 ::std::mem::size_of::<_Real_widened>(),
1551 1usize,
1552 concat!(
1553 "Size of template specialization: ",
1554 stringify!(_Real_widened)
1555 )
1556 );
1557 assert_eq!(
1558 ::std::mem::align_of::<_Real_widened>(),
1559 1usize,
1560 concat!(
1561 "Alignment of template specialization: ",
1562 stringify!(_Real_widened)
1563 )
1564 );
1565}
1566#[test]
1567fn __bindgen_test_layout__Real_widened_open0_float_double_close0_instantiation() {
1568 assert_eq!(
1569 ::std::mem::size_of::<_Real_widened>(),
1570 1usize,
1571 concat!(
1572 "Size of template specialization: ",
1573 stringify!(_Real_widened)
1574 )
1575 );
1576 assert_eq!(
1577 ::std::mem::align_of::<_Real_widened>(),
1578 1usize,
1579 concat!(
1580 "Alignment of template specialization: ",
1581 stringify!(_Real_widened)
1582 )
1583 );
1584}
1585#[test]
1586fn __bindgen_test_layout__Real_widened_open0_double_float_close0_instantiation() {
1587 assert_eq!(
1588 ::std::mem::size_of::<_Real_widened>(),
1589 1usize,
1590 concat!(
1591 "Size of template specialization: ",
1592 stringify!(_Real_widened)
1593 )
1594 );
1595 assert_eq!(
1596 ::std::mem::align_of::<_Real_widened>(),
1597 1usize,
1598 concat!(
1599 "Alignment of template specialization: ",
1600 stringify!(_Real_widened)
1601 )
1602 );
1603}
1604#[test]
1605fn __bindgen_test_layout__Real_widened_open0_double_double_close0_instantiation() {
1606 assert_eq!(
1607 ::std::mem::size_of::<_Real_widened>(),
1608 1usize,
1609 concat!(
1610 "Size of template specialization: ",
1611 stringify!(_Real_widened)
1612 )
1613 );
1614 assert_eq!(
1615 ::std::mem::align_of::<_Real_widened>(),
1616 1usize,
1617 concat!(
1618 "Alignment of template specialization: ",
1619 stringify!(_Real_widened)
1620 )
1621 );
1622}
1623#[repr(C)]
1624#[derive(Debug, Copy, Clone)]
1625pub struct _Real_type {
1626 pub _address: u8,
1627}
1628pub type _Real_type__Type = f64;
1629#[test]
1630fn __bindgen_test_layout__Real_type_open0_float_close0_instantiation() {
1631 assert_eq!(
1632 ::std::mem::size_of::<_Real_type>(),
1633 1usize,
1634 concat!("Size of template specialization: ", stringify!(_Real_type))
1635 );
1636 assert_eq!(
1637 ::std::mem::align_of::<_Real_type>(),
1638 1usize,
1639 concat!(
1640 "Alignment of template specialization: ",
1641 stringify!(_Real_type)
1642 )
1643 );
1644}
1645#[test]
1646fn __bindgen_test_layout__Real_type_open0_long_double_close0_instantiation() {
1647 assert_eq!(
1648 ::std::mem::size_of::<_Real_type>(),
1649 1usize,
1650 concat!("Size of template specialization: ", stringify!(_Real_type))
1651 );
1652 assert_eq!(
1653 ::std::mem::align_of::<_Real_type>(),
1654 1usize,
1655 concat!(
1656 "Alignment of template specialization: ",
1657 stringify!(_Real_type)
1658 )
1659 );
1660}
1661extern "C" {
1662 pub fn abs(_X: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1663}
1664extern "C" {
1665 pub fn labs(_X: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
1666}
1667extern "C" {
1668 pub fn llabs(_X: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
1669}
1670extern "C" {
1671 pub fn acos(_X: f64) -> f64;
1672}
1673extern "C" {
1674 pub fn asin(_X: f64) -> f64;
1675}
1676extern "C" {
1677 pub fn atan(_X: f64) -> f64;
1678}
1679extern "C" {
1680 pub fn atan2(_Y: f64, _X: f64) -> f64;
1681}
1682extern "C" {
1683 pub fn cos(_X: f64) -> f64;
1684}
1685extern "C" {
1686 pub fn cosh(_X: f64) -> f64;
1687}
1688extern "C" {
1689 pub fn exp(_X: f64) -> f64;
1690}
1691extern "C" {
1692 pub fn fabs(_X: f64) -> f64;
1693}
1694extern "C" {
1695 pub fn fmod(_X: f64, _Y: f64) -> f64;
1696}
1697extern "C" {
1698 pub fn log(_X: f64) -> f64;
1699}
1700extern "C" {
1701 pub fn log10(_X: f64) -> f64;
1702}
1703extern "C" {
1704 pub fn pow(_X: f64, _Y: f64) -> f64;
1705}
1706extern "C" {
1707 pub fn sin(_X: f64) -> f64;
1708}
1709extern "C" {
1710 pub fn sinh(_X: f64) -> f64;
1711}
1712extern "C" {
1713 pub fn sqrt(_X: f64) -> f64;
1714}
1715extern "C" {
1716 pub fn tan(_X: f64) -> f64;
1717}
1718extern "C" {
1719 pub fn tanh(_X: f64) -> f64;
1720}
1721extern "C" {
1722 pub fn acosh(_X: f64) -> f64;
1723}
1724extern "C" {
1725 pub fn asinh(_X: f64) -> f64;
1726}
1727extern "C" {
1728 pub fn atanh(_X: f64) -> f64;
1729}
1730extern "C" {
1731 pub fn atof(_String: *const ::std::os::raw::c_char) -> f64;
1732}
1733extern "C" {
1734 pub fn _atof_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> f64;
1735}
1736extern "C" {
1737 pub fn _cabs(_Complex_value: _complex) -> f64;
1738}
1739extern "C" {
1740 pub fn cbrt(_X: f64) -> f64;
1741}
1742extern "C" {
1743 pub fn ceil(_X: f64) -> f64;
1744}
1745extern "C" {
1746 pub fn _chgsign(_X: f64) -> f64;
1747}
1748extern "C" {
1749 pub fn copysign(_Number: f64, _Sign: f64) -> f64;
1750}
1751extern "C" {
1752 pub fn _copysign(_Number: f64, _Sign: f64) -> f64;
1753}
1754extern "C" {
1755 pub fn erf(_X: f64) -> f64;
1756}
1757extern "C" {
1758 pub fn erfc(_X: f64) -> f64;
1759}
1760extern "C" {
1761 pub fn exp2(_X: f64) -> f64;
1762}
1763extern "C" {
1764 pub fn expm1(_X: f64) -> f64;
1765}
1766extern "C" {
1767 pub fn fdim(_X: f64, _Y: f64) -> f64;
1768}
1769extern "C" {
1770 pub fn floor(_X: f64) -> f64;
1771}
1772extern "C" {
1773 pub fn fma(_X: f64, _Y: f64, _Z: f64) -> f64;
1774}
1775extern "C" {
1776 pub fn fmax(_X: f64, _Y: f64) -> f64;
1777}
1778extern "C" {
1779 pub fn fmin(_X: f64, _Y: f64) -> f64;
1780}
1781extern "C" {
1782 pub fn frexp(_X: f64, _Y: *mut ::std::os::raw::c_int) -> f64;
1783}
1784extern "C" {
1785 pub fn hypot(_X: f64, _Y: f64) -> f64;
1786}
1787extern "C" {
1788 pub fn _hypot(_X: f64, _Y: f64) -> f64;
1789}
1790extern "C" {
1791 pub fn ilogb(_X: f64) -> ::std::os::raw::c_int;
1792}
1793extern "C" {
1794 pub fn ldexp(_X: f64, _Y: ::std::os::raw::c_int) -> f64;
1795}
1796extern "C" {
1797 pub fn lgamma(_X: f64) -> f64;
1798}
1799extern "C" {
1800 pub fn llrint(_X: f64) -> ::std::os::raw::c_longlong;
1801}
1802extern "C" {
1803 pub fn llround(_X: f64) -> ::std::os::raw::c_longlong;
1804}
1805extern "C" {
1806 pub fn log1p(_X: f64) -> f64;
1807}
1808extern "C" {
1809 pub fn log2(_X: f64) -> f64;
1810}
1811extern "C" {
1812 pub fn logb(_X: f64) -> f64;
1813}
1814extern "C" {
1815 pub fn lrint(_X: f64) -> ::std::os::raw::c_long;
1816}
1817extern "C" {
1818 pub fn lround(_X: f64) -> ::std::os::raw::c_long;
1819}
1820extern "C" {
1821 pub fn _matherr(_Except: *mut _exception) -> ::std::os::raw::c_int;
1822}
1823extern "C" {
1824 pub fn modf(_X: f64, _Y: *mut f64) -> f64;
1825}
1826extern "C" {
1827 pub fn nan(_X: *const ::std::os::raw::c_char) -> f64;
1828}
1829extern "C" {
1830 pub fn nearbyint(_X: f64) -> f64;
1831}
1832extern "C" {
1833 pub fn nextafter(_X: f64, _Y: f64) -> f64;
1834}
1835extern "C" {
1836 pub fn nexttoward(_X: f64, _Y: f64) -> f64;
1837}
1838extern "C" {
1839 pub fn remainder(_X: f64, _Y: f64) -> f64;
1840}
1841extern "C" {
1842 pub fn remquo(_X: f64, _Y: f64, _Z: *mut ::std::os::raw::c_int) -> f64;
1843}
1844extern "C" {
1845 pub fn rint(_X: f64) -> f64;
1846}
1847extern "C" {
1848 pub fn round(_X: f64) -> f64;
1849}
1850extern "C" {
1851 pub fn scalbln(_X: f64, _Y: ::std::os::raw::c_long) -> f64;
1852}
1853extern "C" {
1854 pub fn scalbn(_X: f64, _Y: ::std::os::raw::c_int) -> f64;
1855}
1856extern "C" {
1857 pub fn tgamma(_X: f64) -> f64;
1858}
1859extern "C" {
1860 pub fn trunc(_X: f64) -> f64;
1861}
1862extern "C" {
1863 pub fn _j0(_X: f64) -> f64;
1864}
1865extern "C" {
1866 pub fn _j1(_X: f64) -> f64;
1867}
1868extern "C" {
1869 pub fn _jn(_X: ::std::os::raw::c_int, _Y: f64) -> f64;
1870}
1871extern "C" {
1872 pub fn _y0(_X: f64) -> f64;
1873}
1874extern "C" {
1875 pub fn _y1(_X: f64) -> f64;
1876}
1877extern "C" {
1878 pub fn _yn(_X: ::std::os::raw::c_int, _Y: f64) -> f64;
1879}
1880extern "C" {
1881 pub fn acoshf(_X: f32) -> f32;
1882}
1883extern "C" {
1884 pub fn asinhf(_X: f32) -> f32;
1885}
1886extern "C" {
1887 pub fn atanhf(_X: f32) -> f32;
1888}
1889extern "C" {
1890 pub fn cbrtf(_X: f32) -> f32;
1891}
1892extern "C" {
1893 pub fn _chgsignf(_X: f32) -> f32;
1894}
1895extern "C" {
1896 pub fn copysignf(_Number: f32, _Sign: f32) -> f32;
1897}
1898extern "C" {
1899 pub fn _copysignf(_Number: f32, _Sign: f32) -> f32;
1900}
1901extern "C" {
1902 pub fn erff(_X: f32) -> f32;
1903}
1904extern "C" {
1905 pub fn erfcf(_X: f32) -> f32;
1906}
1907extern "C" {
1908 pub fn expm1f(_X: f32) -> f32;
1909}
1910extern "C" {
1911 pub fn exp2f(_X: f32) -> f32;
1912}
1913extern "C" {
1914 pub fn fdimf(_X: f32, _Y: f32) -> f32;
1915}
1916extern "C" {
1917 pub fn fmaf(_X: f32, _Y: f32, _Z: f32) -> f32;
1918}
1919extern "C" {
1920 pub fn fmaxf(_X: f32, _Y: f32) -> f32;
1921}
1922extern "C" {
1923 pub fn fminf(_X: f32, _Y: f32) -> f32;
1924}
1925extern "C" {
1926 pub fn _hypotf(_X: f32, _Y: f32) -> f32;
1927}
1928extern "C" {
1929 pub fn ilogbf(_X: f32) -> ::std::os::raw::c_int;
1930}
1931extern "C" {
1932 pub fn lgammaf(_X: f32) -> f32;
1933}
1934extern "C" {
1935 pub fn llrintf(_X: f32) -> ::std::os::raw::c_longlong;
1936}
1937extern "C" {
1938 pub fn llroundf(_X: f32) -> ::std::os::raw::c_longlong;
1939}
1940extern "C" {
1941 pub fn log1pf(_X: f32) -> f32;
1942}
1943extern "C" {
1944 pub fn log2f(_X: f32) -> f32;
1945}
1946extern "C" {
1947 pub fn logbf(_X: f32) -> f32;
1948}
1949extern "C" {
1950 pub fn lrintf(_X: f32) -> ::std::os::raw::c_long;
1951}
1952extern "C" {
1953 pub fn lroundf(_X: f32) -> ::std::os::raw::c_long;
1954}
1955extern "C" {
1956 pub fn nanf(_X: *const ::std::os::raw::c_char) -> f32;
1957}
1958extern "C" {
1959 pub fn nearbyintf(_X: f32) -> f32;
1960}
1961extern "C" {
1962 pub fn nextafterf(_X: f32, _Y: f32) -> f32;
1963}
1964extern "C" {
1965 pub fn nexttowardf(_X: f32, _Y: f64) -> f32;
1966}
1967extern "C" {
1968 pub fn remainderf(_X: f32, _Y: f32) -> f32;
1969}
1970extern "C" {
1971 pub fn remquof(_X: f32, _Y: f32, _Z: *mut ::std::os::raw::c_int) -> f32;
1972}
1973extern "C" {
1974 pub fn rintf(_X: f32) -> f32;
1975}
1976extern "C" {
1977 pub fn roundf(_X: f32) -> f32;
1978}
1979extern "C" {
1980 pub fn scalblnf(_X: f32, _Y: ::std::os::raw::c_long) -> f32;
1981}
1982extern "C" {
1983 pub fn scalbnf(_X: f32, _Y: ::std::os::raw::c_int) -> f32;
1984}
1985extern "C" {
1986 pub fn tgammaf(_X: f32) -> f32;
1987}
1988extern "C" {
1989 pub fn truncf(_X: f32) -> f32;
1990}
1991extern "C" {
1992 pub fn _logbf(_X: f32) -> f32;
1993}
1994extern "C" {
1995 pub fn _nextafterf(_X: f32, _Y: f32) -> f32;
1996}
1997extern "C" {
1998 pub fn _finitef(_X: f32) -> ::std::os::raw::c_int;
1999}
2000extern "C" {
2001 pub fn _isnanf(_X: f32) -> ::std::os::raw::c_int;
2002}
2003extern "C" {
2004 pub fn _fpclassf(_X: f32) -> ::std::os::raw::c_int;
2005}
2006extern "C" {
2007 pub fn _set_FMA3_enable(_Flag: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2008}
2009extern "C" {
2010 pub fn _get_FMA3_enable() -> ::std::os::raw::c_int;
2011}
2012extern "C" {
2013 pub fn acosf(_X: f32) -> f32;
2014}
2015extern "C" {
2016 pub fn asinf(_X: f32) -> f32;
2017}
2018extern "C" {
2019 pub fn atan2f(_Y: f32, _X: f32) -> f32;
2020}
2021extern "C" {
2022 pub fn atanf(_X: f32) -> f32;
2023}
2024extern "C" {
2025 pub fn ceilf(_X: f32) -> f32;
2026}
2027extern "C" {
2028 pub fn cosf(_X: f32) -> f32;
2029}
2030extern "C" {
2031 pub fn coshf(_X: f32) -> f32;
2032}
2033extern "C" {
2034 pub fn expf(_X: f32) -> f32;
2035}
2036extern "C" {
2037 pub fn floorf(_X: f32) -> f32;
2038}
2039extern "C" {
2040 pub fn fmodf(_X: f32, _Y: f32) -> f32;
2041}
2042extern "C" {
2043 pub fn log10f(_X: f32) -> f32;
2044}
2045extern "C" {
2046 pub fn logf(_X: f32) -> f32;
2047}
2048extern "C" {
2049 pub fn modff(_X: f32, _Y: *mut f32) -> f32;
2050}
2051extern "C" {
2052 pub fn powf(_X: f32, _Y: f32) -> f32;
2053}
2054extern "C" {
2055 pub fn sinf(_X: f32) -> f32;
2056}
2057extern "C" {
2058 pub fn sinhf(_X: f32) -> f32;
2059}
2060extern "C" {
2061 pub fn sqrtf(_X: f32) -> f32;
2062}
2063extern "C" {
2064 pub fn tanf(_X: f32) -> f32;
2065}
2066extern "C" {
2067 pub fn tanhf(_X: f32) -> f32;
2068}
2069extern "C" {
2070 pub fn acoshl(_X: f64) -> f64;
2071}
2072extern "C" {
2073 pub fn asinhl(_X: f64) -> f64;
2074}
2075extern "C" {
2076 pub fn atanhl(_X: f64) -> f64;
2077}
2078extern "C" {
2079 pub fn cbrtl(_X: f64) -> f64;
2080}
2081extern "C" {
2082 pub fn copysignl(_Number: f64, _Sign: f64) -> f64;
2083}
2084extern "C" {
2085 pub fn erfl(_X: f64) -> f64;
2086}
2087extern "C" {
2088 pub fn erfcl(_X: f64) -> f64;
2089}
2090extern "C" {
2091 pub fn exp2l(_X: f64) -> f64;
2092}
2093extern "C" {
2094 pub fn expm1l(_X: f64) -> f64;
2095}
2096extern "C" {
2097 pub fn fdiml(_X: f64, _Y: f64) -> f64;
2098}
2099extern "C" {
2100 pub fn fmal(_X: f64, _Y: f64, _Z: f64) -> f64;
2101}
2102extern "C" {
2103 pub fn fmaxl(_X: f64, _Y: f64) -> f64;
2104}
2105extern "C" {
2106 pub fn fminl(_X: f64, _Y: f64) -> f64;
2107}
2108extern "C" {
2109 pub fn ilogbl(_X: f64) -> ::std::os::raw::c_int;
2110}
2111extern "C" {
2112 pub fn lgammal(_X: f64) -> f64;
2113}
2114extern "C" {
2115 pub fn llrintl(_X: f64) -> ::std::os::raw::c_longlong;
2116}
2117extern "C" {
2118 pub fn llroundl(_X: f64) -> ::std::os::raw::c_longlong;
2119}
2120extern "C" {
2121 pub fn log1pl(_X: f64) -> f64;
2122}
2123extern "C" {
2124 pub fn log2l(_X: f64) -> f64;
2125}
2126extern "C" {
2127 pub fn logbl(_X: f64) -> f64;
2128}
2129extern "C" {
2130 pub fn lrintl(_X: f64) -> ::std::os::raw::c_long;
2131}
2132extern "C" {
2133 pub fn lroundl(_X: f64) -> ::std::os::raw::c_long;
2134}
2135extern "C" {
2136 pub fn nanl(_X: *const ::std::os::raw::c_char) -> f64;
2137}
2138extern "C" {
2139 pub fn nearbyintl(_X: f64) -> f64;
2140}
2141extern "C" {
2142 pub fn nextafterl(_X: f64, _Y: f64) -> f64;
2143}
2144extern "C" {
2145 pub fn nexttowardl(_X: f64, _Y: f64) -> f64;
2146}
2147extern "C" {
2148 pub fn remainderl(_X: f64, _Y: f64) -> f64;
2149}
2150extern "C" {
2151 pub fn remquol(_X: f64, _Y: f64, _Z: *mut ::std::os::raw::c_int) -> f64;
2152}
2153extern "C" {
2154 pub fn rintl(_X: f64) -> f64;
2155}
2156extern "C" {
2157 pub fn roundl(_X: f64) -> f64;
2158}
2159extern "C" {
2160 pub fn scalblnl(_X: f64, _Y: ::std::os::raw::c_long) -> f64;
2161}
2162extern "C" {
2163 pub fn scalbnl(_X: f64, _Y: ::std::os::raw::c_int) -> f64;
2164}
2165extern "C" {
2166 pub fn tgammal(_X: f64) -> f64;
2167}
2168extern "C" {
2169 pub fn truncl(_X: f64) -> f64;
2170}
2171extern "C" {
2172 pub static mut HUGE: f64;
2173}
2174extern "C" {
2175 pub fn j0(_X: f64) -> f64;
2176}
2177extern "C" {
2178 pub fn j1(_X: f64) -> f64;
2179}
2180extern "C" {
2181 pub fn jn(_X: ::std::os::raw::c_int, _Y: f64) -> f64;
2182}
2183extern "C" {
2184 pub fn y0(_X: f64) -> f64;
2185}
2186extern "C" {
2187 pub fn y1(_X: f64) -> f64;
2188}
2189extern "C" {
2190 pub fn yn(_X: ::std::os::raw::c_int, _Y: f64) -> f64;
2191}
2192#[repr(C)]
2193#[derive(Debug, Copy, Clone)]
2194pub struct tm {
2195 pub tm_sec: ::std::os::raw::c_int,
2196 pub tm_min: ::std::os::raw::c_int,
2197 pub tm_hour: ::std::os::raw::c_int,
2198 pub tm_mday: ::std::os::raw::c_int,
2199 pub tm_mon: ::std::os::raw::c_int,
2200 pub tm_year: ::std::os::raw::c_int,
2201 pub tm_wday: ::std::os::raw::c_int,
2202 pub tm_yday: ::std::os::raw::c_int,
2203 pub tm_isdst: ::std::os::raw::c_int,
2204}
2205#[test]
2206fn bindgen_test_layout_tm() {
2207 const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
2208 let ptr = UNINIT.as_ptr();
2209 assert_eq!(
2210 ::std::mem::size_of::<tm>(),
2211 36usize,
2212 concat!("Size of: ", stringify!(tm))
2213 );
2214 assert_eq!(
2215 ::std::mem::align_of::<tm>(),
2216 4usize,
2217 concat!("Alignment of ", stringify!(tm))
2218 );
2219 assert_eq!(
2220 unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
2221 0usize,
2222 concat!(
2223 "Offset of field: ",
2224 stringify!(tm),
2225 "::",
2226 stringify!(tm_sec)
2227 )
2228 );
2229 assert_eq!(
2230 unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
2231 4usize,
2232 concat!(
2233 "Offset of field: ",
2234 stringify!(tm),
2235 "::",
2236 stringify!(tm_min)
2237 )
2238 );
2239 assert_eq!(
2240 unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
2241 8usize,
2242 concat!(
2243 "Offset of field: ",
2244 stringify!(tm),
2245 "::",
2246 stringify!(tm_hour)
2247 )
2248 );
2249 assert_eq!(
2250 unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
2251 12usize,
2252 concat!(
2253 "Offset of field: ",
2254 stringify!(tm),
2255 "::",
2256 stringify!(tm_mday)
2257 )
2258 );
2259 assert_eq!(
2260 unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
2261 16usize,
2262 concat!(
2263 "Offset of field: ",
2264 stringify!(tm),
2265 "::",
2266 stringify!(tm_mon)
2267 )
2268 );
2269 assert_eq!(
2270 unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
2271 20usize,
2272 concat!(
2273 "Offset of field: ",
2274 stringify!(tm),
2275 "::",
2276 stringify!(tm_year)
2277 )
2278 );
2279 assert_eq!(
2280 unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
2281 24usize,
2282 concat!(
2283 "Offset of field: ",
2284 stringify!(tm),
2285 "::",
2286 stringify!(tm_wday)
2287 )
2288 );
2289 assert_eq!(
2290 unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
2291 28usize,
2292 concat!(
2293 "Offset of field: ",
2294 stringify!(tm),
2295 "::",
2296 stringify!(tm_yday)
2297 )
2298 );
2299 assert_eq!(
2300 unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
2301 32usize,
2302 concat!(
2303 "Offset of field: ",
2304 stringify!(tm),
2305 "::",
2306 stringify!(tm_isdst)
2307 )
2308 );
2309}
2310extern "C" {
2311 pub fn _wasctime(_Tm: *const tm) -> *mut u16;
2312}
2313extern "C" {
2314 pub fn _wasctime_s(_Buffer: *mut u16, _SizeInWords: usize, _Tm: *const tm) -> errno_t;
2315}
2316extern "C" {
2317 pub fn wcsftime(
2318 _Buffer: *mut u16,
2319 _SizeInWords: usize,
2320 _Format: *const u16,
2321 _Tm: *const tm,
2322 ) -> usize;
2323}
2324extern "C" {
2325 pub fn _wcsftime_l(
2326 _Buffer: *mut u16,
2327 _SizeInWords: usize,
2328 _Format: *const u16,
2329 _Tm: *const tm,
2330 _Locale: _locale_t,
2331 ) -> usize;
2332}
2333extern "C" {
2334 pub fn _wctime32(_Time: *const __time32_t) -> *mut u16;
2335}
2336extern "C" {
2337 pub fn _wctime32_s(_Buffer: *mut u16, _SizeInWords: usize, _Time: *const __time32_t)
2338 -> errno_t;
2339}
2340extern "C" {
2341 pub fn _wctime64(_Time: *const __time64_t) -> *mut u16;
2342}
2343extern "C" {
2344 pub fn _wctime64_s(_Buffer: *mut u16, _SizeInWords: usize, _Time: *const __time64_t)
2345 -> errno_t;
2346}
2347extern "C" {
2348 pub fn _wstrdate_s(_Buffer: *mut u16, _SizeInWords: usize) -> errno_t;
2349}
2350extern "C" {
2351 pub fn _wstrdate(_Buffer: *mut u16) -> *mut u16;
2352}
2353extern "C" {
2354 pub fn _wstrtime_s(_Buffer: *mut u16, _SizeInWords: usize) -> errno_t;
2355}
2356extern "C" {
2357 pub fn _wstrtime(_Buffer: *mut u16) -> *mut u16;
2358}
2359pub type clock_t = ::std::os::raw::c_long;
2360#[repr(C)]
2361#[derive(Debug, Copy, Clone)]
2362pub struct _timespec32 {
2363 pub tv_sec: __time32_t,
2364 pub tv_nsec: ::std::os::raw::c_long,
2365}
2366#[test]
2367fn bindgen_test_layout__timespec32() {
2368 const UNINIT: ::std::mem::MaybeUninit<_timespec32> = ::std::mem::MaybeUninit::uninit();
2369 let ptr = UNINIT.as_ptr();
2370 assert_eq!(
2371 ::std::mem::size_of::<_timespec32>(),
2372 8usize,
2373 concat!("Size of: ", stringify!(_timespec32))
2374 );
2375 assert_eq!(
2376 ::std::mem::align_of::<_timespec32>(),
2377 4usize,
2378 concat!("Alignment of ", stringify!(_timespec32))
2379 );
2380 assert_eq!(
2381 unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
2382 0usize,
2383 concat!(
2384 "Offset of field: ",
2385 stringify!(_timespec32),
2386 "::",
2387 stringify!(tv_sec)
2388 )
2389 );
2390 assert_eq!(
2391 unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
2392 4usize,
2393 concat!(
2394 "Offset of field: ",
2395 stringify!(_timespec32),
2396 "::",
2397 stringify!(tv_nsec)
2398 )
2399 );
2400}
2401#[repr(C)]
2402#[derive(Debug, Copy, Clone)]
2403pub struct _timespec64 {
2404 pub tv_sec: __time64_t,
2405 pub tv_nsec: ::std::os::raw::c_long,
2406}
2407#[test]
2408fn bindgen_test_layout__timespec64() {
2409 const UNINIT: ::std::mem::MaybeUninit<_timespec64> = ::std::mem::MaybeUninit::uninit();
2410 let ptr = UNINIT.as_ptr();
2411 assert_eq!(
2412 ::std::mem::size_of::<_timespec64>(),
2413 16usize,
2414 concat!("Size of: ", stringify!(_timespec64))
2415 );
2416 assert_eq!(
2417 ::std::mem::align_of::<_timespec64>(),
2418 8usize,
2419 concat!("Alignment of ", stringify!(_timespec64))
2420 );
2421 assert_eq!(
2422 unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
2423 0usize,
2424 concat!(
2425 "Offset of field: ",
2426 stringify!(_timespec64),
2427 "::",
2428 stringify!(tv_sec)
2429 )
2430 );
2431 assert_eq!(
2432 unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
2433 8usize,
2434 concat!(
2435 "Offset of field: ",
2436 stringify!(_timespec64),
2437 "::",
2438 stringify!(tv_nsec)
2439 )
2440 );
2441}
2442#[repr(C)]
2443#[derive(Debug, Copy, Clone)]
2444pub struct timespec {
2445 pub tv_sec: time_t,
2446 pub tv_nsec: ::std::os::raw::c_long,
2447}
2448#[test]
2449fn bindgen_test_layout_timespec() {
2450 const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
2451 let ptr = UNINIT.as_ptr();
2452 assert_eq!(
2453 ::std::mem::size_of::<timespec>(),
2454 16usize,
2455 concat!("Size of: ", stringify!(timespec))
2456 );
2457 assert_eq!(
2458 ::std::mem::align_of::<timespec>(),
2459 8usize,
2460 concat!("Alignment of ", stringify!(timespec))
2461 );
2462 assert_eq!(
2463 unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
2464 0usize,
2465 concat!(
2466 "Offset of field: ",
2467 stringify!(timespec),
2468 "::",
2469 stringify!(tv_sec)
2470 )
2471 );
2472 assert_eq!(
2473 unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
2474 8usize,
2475 concat!(
2476 "Offset of field: ",
2477 stringify!(timespec),
2478 "::",
2479 stringify!(tv_nsec)
2480 )
2481 );
2482}
2483extern "C" {
2484 pub fn __daylight() -> *mut ::std::os::raw::c_int;
2485}
2486extern "C" {
2487 pub fn __dstbias() -> *mut ::std::os::raw::c_long;
2488}
2489extern "C" {
2490 pub fn __timezone() -> *mut ::std::os::raw::c_long;
2491}
2492extern "C" {
2493 pub fn __tzname() -> *mut *mut ::std::os::raw::c_char;
2494}
2495extern "C" {
2496 pub fn _get_daylight(_Daylight: *mut ::std::os::raw::c_int) -> errno_t;
2497}
2498extern "C" {
2499 pub fn _get_dstbias(_DaylightSavingsBias: *mut ::std::os::raw::c_long) -> errno_t;
2500}
2501extern "C" {
2502 pub fn _get_timezone(_TimeZone: *mut ::std::os::raw::c_long) -> errno_t;
2503}
2504extern "C" {
2505 pub fn _get_tzname(
2506 _ReturnValue: *mut usize,
2507 _Buffer: *mut ::std::os::raw::c_char,
2508 _SizeInBytes: usize,
2509 _Index: ::std::os::raw::c_int,
2510 ) -> errno_t;
2511}
2512extern "C" {
2513 pub fn asctime(_Tm: *const tm) -> *mut ::std::os::raw::c_char;
2514}
2515extern "C" {
2516 pub fn asctime_s(
2517 _Buffer: *mut ::std::os::raw::c_char,
2518 _SizeInBytes: usize,
2519 _Tm: *const tm,
2520 ) -> errno_t;
2521}
2522extern "C" {
2523 pub fn clock() -> clock_t;
2524}
2525extern "C" {
2526 pub fn _ctime32(_Time: *const __time32_t) -> *mut ::std::os::raw::c_char;
2527}
2528extern "C" {
2529 pub fn _ctime32_s(
2530 _Buffer: *mut ::std::os::raw::c_char,
2531 _SizeInBytes: usize,
2532 _Time: *const __time32_t,
2533 ) -> errno_t;
2534}
2535extern "C" {
2536 pub fn _ctime64(_Time: *const __time64_t) -> *mut ::std::os::raw::c_char;
2537}
2538extern "C" {
2539 pub fn _ctime64_s(
2540 _Buffer: *mut ::std::os::raw::c_char,
2541 _SizeInBytes: usize,
2542 _Time: *const __time64_t,
2543 ) -> errno_t;
2544}
2545extern "C" {
2546 pub fn _difftime32(_Time1: __time32_t, _Time2: __time32_t) -> f64;
2547}
2548extern "C" {
2549 pub fn _difftime64(_Time1: __time64_t, _Time2: __time64_t) -> f64;
2550}
2551extern "C" {
2552 pub fn _gmtime32(_Time: *const __time32_t) -> *mut tm;
2553}
2554extern "C" {
2555 pub fn _gmtime32_s(_Tm: *mut tm, _Time: *const __time32_t) -> errno_t;
2556}
2557extern "C" {
2558 pub fn _gmtime64(_Time: *const __time64_t) -> *mut tm;
2559}
2560extern "C" {
2561 pub fn _gmtime64_s(_Tm: *mut tm, _Time: *const __time64_t) -> errno_t;
2562}
2563extern "C" {
2564 pub fn _localtime32(_Time: *const __time32_t) -> *mut tm;
2565}
2566extern "C" {
2567 pub fn _localtime32_s(_Tm: *mut tm, _Time: *const __time32_t) -> errno_t;
2568}
2569extern "C" {
2570 pub fn _localtime64(_Time: *const __time64_t) -> *mut tm;
2571}
2572extern "C" {
2573 pub fn _localtime64_s(_Tm: *mut tm, _Time: *const __time64_t) -> errno_t;
2574}
2575extern "C" {
2576 pub fn _mkgmtime32(_Tm: *mut tm) -> __time32_t;
2577}
2578extern "C" {
2579 pub fn _mkgmtime64(_Tm: *mut tm) -> __time64_t;
2580}
2581extern "C" {
2582 pub fn _mktime32(_Tm: *mut tm) -> __time32_t;
2583}
2584extern "C" {
2585 pub fn _mktime64(_Tm: *mut tm) -> __time64_t;
2586}
2587extern "C" {
2588 pub fn strftime(
2589 _Buffer: *mut ::std::os::raw::c_char,
2590 _SizeInBytes: usize,
2591 _Format: *const ::std::os::raw::c_char,
2592 _Tm: *const tm,
2593 ) -> usize;
2594}
2595extern "C" {
2596 pub fn _strftime_l(
2597 _Buffer: *mut ::std::os::raw::c_char,
2598 _MaxSize: usize,
2599 _Format: *const ::std::os::raw::c_char,
2600 _Tm: *const tm,
2601 _Locale: _locale_t,
2602 ) -> usize;
2603}
2604extern "C" {
2605 pub fn _strdate_s(_Buffer: *mut ::std::os::raw::c_char, _SizeInBytes: usize) -> errno_t;
2606}
2607extern "C" {
2608 pub fn _strdate(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2609}
2610extern "C" {
2611 pub fn _strtime_s(_Buffer: *mut ::std::os::raw::c_char, _SizeInBytes: usize) -> errno_t;
2612}
2613extern "C" {
2614 pub fn _strtime(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2615}
2616extern "C" {
2617 pub fn _time32(_Time: *mut __time32_t) -> __time32_t;
2618}
2619extern "C" {
2620 pub fn _time64(_Time: *mut __time64_t) -> __time64_t;
2621}
2622extern "C" {
2623 pub fn _timespec32_get(
2624 _Ts: *mut _timespec32,
2625 _Base: ::std::os::raw::c_int,
2626 ) -> ::std::os::raw::c_int;
2627}
2628extern "C" {
2629 pub fn _timespec64_get(
2630 _Ts: *mut _timespec64,
2631 _Base: ::std::os::raw::c_int,
2632 ) -> ::std::os::raw::c_int;
2633}
2634extern "C" {
2635 pub fn _tzset();
2636}
2637extern "C" {
2638 pub fn _getsystime(_Tm: *mut tm) -> ::std::os::raw::c_uint;
2639}
2640extern "C" {
2641 pub fn _setsystime(
2642 _Tm: *mut tm,
2643 _Milliseconds: ::std::os::raw::c_uint,
2644 ) -> ::std::os::raw::c_uint;
2645}
2646extern "C" {
2647 pub fn tzset();
2648}
2649pub type dint64 = ::std::os::raw::c_longlong;
2650pub type duint64 = ::std::os::raw::c_ulonglong;
2651pub type dint32 = ::std::os::raw::c_int;
2652pub type duint32 = ::std::os::raw::c_uint;
2653pub type dint16 = ::std::os::raw::c_short;
2654pub type duint16 = ::std::os::raw::c_ushort;
2655pub type dint8 = ::std::os::raw::c_schar;
2656pub type duint8 = ::std::os::raw::c_uchar;
2657pub type dintptr = dint64;
2658pub type duintptr = duint64;
2659pub type ddiffint = dint64;
2660pub type dsizeint = duint64;
2661pub type dReal = f64;
2662pub type dTriIndex = duint32;
2663pub const dInfinity: dReal = ::std::f64::INFINITY;
2664pub type dMessageFunction = ::std::option::Option<
2665 unsafe extern "C" fn(
2666 errnum: ::std::os::raw::c_int,
2667 msg: *const ::std::os::raw::c_char,
2668 ap: va_list,
2669 ),
2670>;
2671extern "C" {
2672 pub fn dSetErrorHandler(fn_: dMessageFunction);
2673}
2674extern "C" {
2675 pub fn dSetDebugHandler(fn_: dMessageFunction);
2676}
2677extern "C" {
2678 pub fn dSetMessageHandler(fn_: dMessageFunction);
2679}
2680extern "C" {
2681 pub fn dGetErrorHandler() -> dMessageFunction;
2682}
2683extern "C" {
2684 pub fn dGetDebugHandler() -> dMessageFunction;
2685}
2686extern "C" {
2687 pub fn dGetMessageHandler() -> dMessageFunction;
2688}
2689extern "C" {
2690 pub fn dError(num: ::std::os::raw::c_int, msg: *const ::std::os::raw::c_char, ...);
2691}
2692extern "C" {
2693 pub fn dDebug(num: ::std::os::raw::c_int, msg: *const ::std::os::raw::c_char, ...);
2694}
2695extern "C" {
2696 pub fn dMessage(num: ::std::os::raw::c_int, msg: *const ::std::os::raw::c_char, ...);
2697}
2698pub const dSpaceAxis_dSA__MIN: dSpaceAxis = 0;
2699pub const dSpaceAxis_dSA_X: dSpaceAxis = 0;
2700pub const dSpaceAxis_dSA_Y: dSpaceAxis = 1;
2701pub const dSpaceAxis_dSA_Z: dSpaceAxis = 2;
2702pub const dSpaceAxis_dSA__MAX: dSpaceAxis = 3;
2703pub type dSpaceAxis = ::std::os::raw::c_int;
2704pub const dMotionDynamics_dMD__MIN: dMotionDynamics = 0;
2705pub const dMotionDynamics_dMD_LINEAR: dMotionDynamics = 0;
2706pub const dMotionDynamics_dMD_ANGULAR: dMotionDynamics = 1;
2707pub const dMotionDynamics_dMD__MAX: dMotionDynamics = 2;
2708pub type dMotionDynamics = ::std::os::raw::c_int;
2709pub const dDynamicsAxis_dDA__MIN: dDynamicsAxis = 0;
2710pub const dDynamicsAxis_dDA__L_MIN: dDynamicsAxis = 0;
2711pub const dDynamicsAxis_dDA_LX: dDynamicsAxis = 0;
2712pub const dDynamicsAxis_dDA_LY: dDynamicsAxis = 1;
2713pub const dDynamicsAxis_dDA_LZ: dDynamicsAxis = 2;
2714pub const dDynamicsAxis_dDA__L_MAX: dDynamicsAxis = 3;
2715pub const dDynamicsAxis_dDA__A_MIN: dDynamicsAxis = 3;
2716pub const dDynamicsAxis_dDA_AX: dDynamicsAxis = 3;
2717pub const dDynamicsAxis_dDA_AY: dDynamicsAxis = 4;
2718pub const dDynamicsAxis_dDA_AZ: dDynamicsAxis = 5;
2719pub const dDynamicsAxis_dDA__A_MAX: dDynamicsAxis = 6;
2720pub const dDynamicsAxis_dDA__MAX: dDynamicsAxis = 6;
2721pub type dDynamicsAxis = ::std::os::raw::c_int;
2722pub const dVec3Element_dV3E__MIN: dVec3Element = 0;
2723pub const dVec3Element_dV3E__AXES_MIN: dVec3Element = 0;
2724pub const dVec3Element_dV3E_X: dVec3Element = 0;
2725pub const dVec3Element_dV3E_Y: dVec3Element = 1;
2726pub const dVec3Element_dV3E_Z: dVec3Element = 2;
2727pub const dVec3Element_dV3E__AXES_MAX: dVec3Element = 3;
2728pub const dVec3Element_dV3E_PAD: dVec3Element = 3;
2729pub const dVec3Element_dV3E__MAX: dVec3Element = 4;
2730pub const dVec3Element_dV3E__AXES_COUNT: dVec3Element = 3;
2731pub type dVec3Element = ::std::os::raw::c_int;
2732pub const dVec4Element_dV4E__MIN: dVec4Element = 0;
2733pub const dVec4Element_dV4E_X: dVec4Element = 0;
2734pub const dVec4Element_dV4E_Y: dVec4Element = 1;
2735pub const dVec4Element_dV4E_Z: dVec4Element = 2;
2736pub const dVec4Element_dV4E_O: dVec4Element = 3;
2737pub const dVec4Element_dV4E__MAX: dVec4Element = 4;
2738pub type dVec4Element = ::std::os::raw::c_int;
2739pub const dMat3Element_dM3E__MIN: dMat3Element = 0;
2740pub const dMat3Element_dM3E__X_MIN: dMat3Element = 0;
2741pub const dMat3Element_dM3E__X_AXES_MIN: dMat3Element = 0;
2742pub const dMat3Element_dM3E_XX: dMat3Element = 0;
2743pub const dMat3Element_dM3E_XY: dMat3Element = 1;
2744pub const dMat3Element_dM3E_XZ: dMat3Element = 2;
2745pub const dMat3Element_dM3E__X_AXES_MAX: dMat3Element = 3;
2746pub const dMat3Element_dM3E_XPAD: dMat3Element = 3;
2747pub const dMat3Element_dM3E__X_MAX: dMat3Element = 4;
2748pub const dMat3Element_dM3E__Y_MIN: dMat3Element = 4;
2749pub const dMat3Element_dM3E__Y_AXES_MIN: dMat3Element = 4;
2750pub const dMat3Element_dM3E_YX: dMat3Element = 4;
2751pub const dMat3Element_dM3E_YY: dMat3Element = 5;
2752pub const dMat3Element_dM3E_YZ: dMat3Element = 6;
2753pub const dMat3Element_dM3E__Y_AXES_MAX: dMat3Element = 7;
2754pub const dMat3Element_dM3E_YPAD: dMat3Element = 7;
2755pub const dMat3Element_dM3E__Y_MAX: dMat3Element = 8;
2756pub const dMat3Element_dM3E__Z_MIN: dMat3Element = 8;
2757pub const dMat3Element_dM3E__Z_AXES_MIN: dMat3Element = 8;
2758pub const dMat3Element_dM3E_ZX: dMat3Element = 8;
2759pub const dMat3Element_dM3E_ZY: dMat3Element = 9;
2760pub const dMat3Element_dM3E_ZZ: dMat3Element = 10;
2761pub const dMat3Element_dM3E__Z_AXES_MAX: dMat3Element = 11;
2762pub const dMat3Element_dM3E_ZPAD: dMat3Element = 11;
2763pub const dMat3Element_dM3E__Z_MAX: dMat3Element = 12;
2764pub const dMat3Element_dM3E__MAX: dMat3Element = 12;
2765pub type dMat3Element = ::std::os::raw::c_int;
2766pub const dMat4Element_dM4E__MIN: dMat4Element = 0;
2767pub const dMat4Element_dM4E__X_MIN: dMat4Element = 0;
2768pub const dMat4Element_dM4E_XX: dMat4Element = 0;
2769pub const dMat4Element_dM4E_XY: dMat4Element = 1;
2770pub const dMat4Element_dM4E_XZ: dMat4Element = 2;
2771pub const dMat4Element_dM4E_XO: dMat4Element = 3;
2772pub const dMat4Element_dM4E__X_MAX: dMat4Element = 4;
2773pub const dMat4Element_dM4E__Y_MIN: dMat4Element = 4;
2774pub const dMat4Element_dM4E_YX: dMat4Element = 4;
2775pub const dMat4Element_dM4E_YY: dMat4Element = 5;
2776pub const dMat4Element_dM4E_YZ: dMat4Element = 6;
2777pub const dMat4Element_dM4E_YO: dMat4Element = 7;
2778pub const dMat4Element_dM4E__Y_MAX: dMat4Element = 8;
2779pub const dMat4Element_dM4E__Z_MIN: dMat4Element = 8;
2780pub const dMat4Element_dM4E_ZX: dMat4Element = 8;
2781pub const dMat4Element_dM4E_ZY: dMat4Element = 9;
2782pub const dMat4Element_dM4E_ZZ: dMat4Element = 10;
2783pub const dMat4Element_dM4E_ZO: dMat4Element = 11;
2784pub const dMat4Element_dM4E__Z_MAX: dMat4Element = 12;
2785pub const dMat4Element_dM4E__O_MIN: dMat4Element = 12;
2786pub const dMat4Element_dM4E_OX: dMat4Element = 12;
2787pub const dMat4Element_dM4E_OY: dMat4Element = 13;
2788pub const dMat4Element_dM4E_OZ: dMat4Element = 14;
2789pub const dMat4Element_dM4E_OO: dMat4Element = 15;
2790pub const dMat4Element_dM4E__O_MAX: dMat4Element = 16;
2791pub const dMat4Element_dM4E__MAX: dMat4Element = 16;
2792pub type dMat4Element = ::std::os::raw::c_int;
2793pub const dQuatElement_dQUE__MIN: dQuatElement = 0;
2794pub const dQuatElement_dQUE_R: dQuatElement = 0;
2795pub const dQuatElement_dQUE__AXIS_MIN: dQuatElement = 1;
2796pub const dQuatElement_dQUE_I: dQuatElement = 1;
2797pub const dQuatElement_dQUE_J: dQuatElement = 2;
2798pub const dQuatElement_dQUE_K: dQuatElement = 3;
2799pub const dQuatElement_dQUE__AXIS_MAX: dQuatElement = 4;
2800pub const dQuatElement_dQUE__MAX: dQuatElement = 4;
2801pub type dQuatElement = ::std::os::raw::c_int;
2802pub type dVector3 = [dReal; 4usize];
2803pub type dVector4 = [dReal; 4usize];
2804pub type dMatrix3 = [dReal; 12usize];
2805pub type dMatrix4 = [dReal; 16usize];
2806pub type dMatrix6 = [dReal; 48usize];
2807pub type dQuaternion = [dReal; 4usize];
2808#[repr(C)]
2809#[derive(Debug, Copy, Clone)]
2810pub struct dxWorld {
2811 _unused: [u8; 0],
2812}
2813#[repr(C)]
2814#[derive(Debug, Copy, Clone)]
2815pub struct dxSpace {
2816 _unused: [u8; 0],
2817}
2818#[repr(C)]
2819#[derive(Debug, Copy, Clone)]
2820pub struct dxBody {
2821 _unused: [u8; 0],
2822}
2823#[repr(C)]
2824#[derive(Debug, Copy, Clone)]
2825pub struct dxGeom {
2826 _unused: [u8; 0],
2827}
2828#[repr(C)]
2829#[derive(Debug, Copy, Clone)]
2830pub struct dxJoint {
2831 _unused: [u8; 0],
2832}
2833#[repr(C)]
2834#[derive(Debug, Copy, Clone)]
2835pub struct dxJointGroup {
2836 _unused: [u8; 0],
2837}
2838pub type dWorldID = *mut dxWorld;
2839pub type dSpaceID = *mut dxSpace;
2840pub type dBodyID = *mut dxBody;
2841pub type dGeomID = *mut dxGeom;
2842pub type dJointID = *mut dxJoint;
2843pub type dJointGroupID = *mut dxJointGroup;
2844pub const d_ERR_UNKNOWN: _bindgen_ty_1 = 0;
2845pub const d_ERR_IASSERT: _bindgen_ty_1 = 1;
2846pub const d_ERR_UASSERT: _bindgen_ty_1 = 2;
2847pub const d_ERR_LCP: _bindgen_ty_1 = 3;
2848pub type _bindgen_ty_1 = ::std::os::raw::c_int;
2849pub const dJointType_dJointTypeNone: dJointType = 0;
2850pub const dJointType_dJointTypeBall: dJointType = 1;
2851pub const dJointType_dJointTypeHinge: dJointType = 2;
2852pub const dJointType_dJointTypeSlider: dJointType = 3;
2853pub const dJointType_dJointTypeContact: dJointType = 4;
2854pub const dJointType_dJointTypeUniversal: dJointType = 5;
2855pub const dJointType_dJointTypeHinge2: dJointType = 6;
2856pub const dJointType_dJointTypeFixed: dJointType = 7;
2857pub const dJointType_dJointTypeNull: dJointType = 8;
2858pub const dJointType_dJointTypeAMotor: dJointType = 9;
2859pub const dJointType_dJointTypeLMotor: dJointType = 10;
2860pub const dJointType_dJointTypePlane2D: dJointType = 11;
2861pub const dJointType_dJointTypePR: dJointType = 12;
2862pub const dJointType_dJointTypePU: dJointType = 13;
2863pub const dJointType_dJointTypePiston: dJointType = 14;
2864pub const dJointType_dJointTypeDBall: dJointType = 15;
2865pub const dJointType_dJointTypeDHinge: dJointType = 16;
2866pub const dJointType_dJointTypeTransmission: dJointType = 17;
2867pub type dJointType = ::std::os::raw::c_int;
2868pub const dParamLoStop: _bindgen_ty_2 = 0;
2869pub const dParamHiStop: _bindgen_ty_2 = 1;
2870pub const dParamVel: _bindgen_ty_2 = 2;
2871pub const dParamLoVel: _bindgen_ty_2 = 3;
2872pub const dParamHiVel: _bindgen_ty_2 = 4;
2873pub const dParamFMax: _bindgen_ty_2 = 5;
2874pub const dParamFudgeFactor: _bindgen_ty_2 = 6;
2875pub const dParamBounce: _bindgen_ty_2 = 7;
2876pub const dParamCFM: _bindgen_ty_2 = 8;
2877pub const dParamStopERP: _bindgen_ty_2 = 9;
2878pub const dParamStopCFM: _bindgen_ty_2 = 10;
2879pub const dParamSuspensionERP: _bindgen_ty_2 = 11;
2880pub const dParamSuspensionCFM: _bindgen_ty_2 = 12;
2881pub const dParamERP: _bindgen_ty_2 = 13;
2882pub const dParamsInGroup: _bindgen_ty_2 = 14;
2883pub const dParamGroup1: _bindgen_ty_2 = 0;
2884pub const dParamLoStop1: _bindgen_ty_2 = 0;
2885pub const dParamHiStop1: _bindgen_ty_2 = 1;
2886pub const dParamVel1: _bindgen_ty_2 = 2;
2887pub const dParamLoVel1: _bindgen_ty_2 = 3;
2888pub const dParamHiVel1: _bindgen_ty_2 = 4;
2889pub const dParamFMax1: _bindgen_ty_2 = 5;
2890pub const dParamFudgeFactor1: _bindgen_ty_2 = 6;
2891pub const dParamBounce1: _bindgen_ty_2 = 7;
2892pub const dParamCFM1: _bindgen_ty_2 = 8;
2893pub const dParamStopERP1: _bindgen_ty_2 = 9;
2894pub const dParamStopCFM1: _bindgen_ty_2 = 10;
2895pub const dParamSuspensionERP1: _bindgen_ty_2 = 11;
2896pub const dParamSuspensionCFM1: _bindgen_ty_2 = 12;
2897pub const dParamERP1: _bindgen_ty_2 = 13;
2898pub const dParamGroup2: _bindgen_ty_2 = 256;
2899pub const dParamLoStop2: _bindgen_ty_2 = 256;
2900pub const dParamHiStop2: _bindgen_ty_2 = 257;
2901pub const dParamVel2: _bindgen_ty_2 = 258;
2902pub const dParamLoVel2: _bindgen_ty_2 = 259;
2903pub const dParamHiVel2: _bindgen_ty_2 = 260;
2904pub const dParamFMax2: _bindgen_ty_2 = 261;
2905pub const dParamFudgeFactor2: _bindgen_ty_2 = 262;
2906pub const dParamBounce2: _bindgen_ty_2 = 263;
2907pub const dParamCFM2: _bindgen_ty_2 = 264;
2908pub const dParamStopERP2: _bindgen_ty_2 = 265;
2909pub const dParamStopCFM2: _bindgen_ty_2 = 266;
2910pub const dParamSuspensionERP2: _bindgen_ty_2 = 267;
2911pub const dParamSuspensionCFM2: _bindgen_ty_2 = 268;
2912pub const dParamERP2: _bindgen_ty_2 = 269;
2913pub const dParamGroup3: _bindgen_ty_2 = 512;
2914pub const dParamLoStop3: _bindgen_ty_2 = 512;
2915pub const dParamHiStop3: _bindgen_ty_2 = 513;
2916pub const dParamVel3: _bindgen_ty_2 = 514;
2917pub const dParamLoVel3: _bindgen_ty_2 = 515;
2918pub const dParamHiVel3: _bindgen_ty_2 = 516;
2919pub const dParamFMax3: _bindgen_ty_2 = 517;
2920pub const dParamFudgeFactor3: _bindgen_ty_2 = 518;
2921pub const dParamBounce3: _bindgen_ty_2 = 519;
2922pub const dParamCFM3: _bindgen_ty_2 = 520;
2923pub const dParamStopERP3: _bindgen_ty_2 = 521;
2924pub const dParamStopCFM3: _bindgen_ty_2 = 522;
2925pub const dParamSuspensionERP3: _bindgen_ty_2 = 523;
2926pub const dParamSuspensionCFM3: _bindgen_ty_2 = 524;
2927pub const dParamERP3: _bindgen_ty_2 = 525;
2928pub const dParamGroup: _bindgen_ty_2 = 256;
2929pub type _bindgen_ty_2 = ::std::os::raw::c_int;
2930pub const dAMotorUser: _bindgen_ty_3 = 0;
2931pub const dAMotorEuler: _bindgen_ty_3 = 1;
2932pub type _bindgen_ty_3 = ::std::os::raw::c_int;
2933pub const dTransmissionParallelAxes: _bindgen_ty_4 = 0;
2934pub const dTransmissionIntersectingAxes: _bindgen_ty_4 = 1;
2935pub const dTransmissionChainDrive: _bindgen_ty_4 = 2;
2936pub type _bindgen_ty_4 = ::std::os::raw::c_int;
2937#[repr(C)]
2938#[derive(Debug, Copy, Clone)]
2939pub struct dJointFeedback {
2940 pub f1: dVector3,
2941 pub t1: dVector3,
2942 pub f2: dVector3,
2943 pub t2: dVector3,
2944}
2945#[test]
2946fn bindgen_test_layout_dJointFeedback() {
2947 const UNINIT: ::std::mem::MaybeUninit<dJointFeedback> = ::std::mem::MaybeUninit::uninit();
2948 let ptr = UNINIT.as_ptr();
2949 assert_eq!(
2950 ::std::mem::size_of::<dJointFeedback>(),
2951 128usize,
2952 concat!("Size of: ", stringify!(dJointFeedback))
2953 );
2954 assert_eq!(
2955 ::std::mem::align_of::<dJointFeedback>(),
2956 8usize,
2957 concat!("Alignment of ", stringify!(dJointFeedback))
2958 );
2959 assert_eq!(
2960 unsafe { ::std::ptr::addr_of!((*ptr).f1) as usize - ptr as usize },
2961 0usize,
2962 concat!(
2963 "Offset of field: ",
2964 stringify!(dJointFeedback),
2965 "::",
2966 stringify!(f1)
2967 )
2968 );
2969 assert_eq!(
2970 unsafe { ::std::ptr::addr_of!((*ptr).t1) as usize - ptr as usize },
2971 32usize,
2972 concat!(
2973 "Offset of field: ",
2974 stringify!(dJointFeedback),
2975 "::",
2976 stringify!(t1)
2977 )
2978 );
2979 assert_eq!(
2980 unsafe { ::std::ptr::addr_of!((*ptr).f2) as usize - ptr as usize },
2981 64usize,
2982 concat!(
2983 "Offset of field: ",
2984 stringify!(dJointFeedback),
2985 "::",
2986 stringify!(f2)
2987 )
2988 );
2989 assert_eq!(
2990 unsafe { ::std::ptr::addr_of!((*ptr).t2) as usize - ptr as usize },
2991 96usize,
2992 concat!(
2993 "Offset of field: ",
2994 stringify!(dJointFeedback),
2995 "::",
2996 stringify!(t2)
2997 )
2998 );
2999}
3000extern "C" {
3001 pub fn dGeomMoved(arg1: dGeomID);
3002}
3003extern "C" {
3004 pub fn dGeomGetBodyNext(arg1: dGeomID) -> dGeomID;
3005}
3006extern "C" {
3007 pub fn dGetConfiguration() -> *const ::std::os::raw::c_char;
3008}
3009extern "C" {
3010 pub fn dCheckConfiguration(token: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3011}
3012pub const dInitODEFlags_dInitFlagManualThreadCleanup: dInitODEFlags = 1;
3013pub type dInitODEFlags = ::std::os::raw::c_int;
3014extern "C" {
3015 pub fn dInitODE();
3016}
3017extern "C" {
3018 pub fn dInitODE2(uiInitFlags: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3019}
3020pub const dAllocateODEDataFlags_dAllocateFlagBasicData: dAllocateODEDataFlags = 0;
3021pub const dAllocateODEDataFlags_dAllocateFlagCollisionData: dAllocateODEDataFlags = 1;
3022pub const dAllocateODEDataFlags_dAllocateMaskAll: dAllocateODEDataFlags = -1;
3023pub type dAllocateODEDataFlags = ::std::os::raw::c_int;
3024extern "C" {
3025 pub fn dAllocateODEDataForThread(
3026 uiAllocateFlags: ::std::os::raw::c_uint,
3027 ) -> ::std::os::raw::c_int;
3028}
3029extern "C" {
3030 pub fn dCleanupODEAllDataForThread();
3031}
3032extern "C" {
3033 pub fn dCloseODE();
3034}
3035pub const dContactMu2: _bindgen_ty_5 = 1;
3036pub const dContactAxisDep: _bindgen_ty_5 = 1;
3037pub const dContactFDir1: _bindgen_ty_5 = 2;
3038pub const dContactBounce: _bindgen_ty_5 = 4;
3039pub const dContactSoftERP: _bindgen_ty_5 = 8;
3040pub const dContactSoftCFM: _bindgen_ty_5 = 16;
3041pub const dContactMotion1: _bindgen_ty_5 = 32;
3042pub const dContactMotion2: _bindgen_ty_5 = 64;
3043pub const dContactMotionN: _bindgen_ty_5 = 128;
3044pub const dContactSlip1: _bindgen_ty_5 = 256;
3045pub const dContactSlip2: _bindgen_ty_5 = 512;
3046pub const dContactRolling: _bindgen_ty_5 = 1024;
3047pub const dContactApprox0: _bindgen_ty_5 = 0;
3048pub const dContactApprox1_1: _bindgen_ty_5 = 4096;
3049pub const dContactApprox1_2: _bindgen_ty_5 = 8192;
3050pub const dContactApprox1_N: _bindgen_ty_5 = 16384;
3051pub const dContactApprox1: _bindgen_ty_5 = 28672;
3052pub type _bindgen_ty_5 = ::std::os::raw::c_int;
3053#[repr(C)]
3054#[derive(Debug, Copy, Clone)]
3055pub struct dSurfaceParameters {
3056 pub mode: ::std::os::raw::c_int,
3057 pub mu: dReal,
3058 pub mu2: dReal,
3059 pub rho: dReal,
3060 pub rho2: dReal,
3061 pub rhoN: dReal,
3062 pub bounce: dReal,
3063 pub bounce_vel: dReal,
3064 pub soft_erp: dReal,
3065 pub soft_cfm: dReal,
3066 pub motion1: dReal,
3067 pub motion2: dReal,
3068 pub motionN: dReal,
3069 pub slip1: dReal,
3070 pub slip2: dReal,
3071}
3072#[test]
3073fn bindgen_test_layout_dSurfaceParameters() {
3074 const UNINIT: ::std::mem::MaybeUninit<dSurfaceParameters> = ::std::mem::MaybeUninit::uninit();
3075 let ptr = UNINIT.as_ptr();
3076 assert_eq!(
3077 ::std::mem::size_of::<dSurfaceParameters>(),
3078 120usize,
3079 concat!("Size of: ", stringify!(dSurfaceParameters))
3080 );
3081 assert_eq!(
3082 ::std::mem::align_of::<dSurfaceParameters>(),
3083 8usize,
3084 concat!("Alignment of ", stringify!(dSurfaceParameters))
3085 );
3086 assert_eq!(
3087 unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
3088 0usize,
3089 concat!(
3090 "Offset of field: ",
3091 stringify!(dSurfaceParameters),
3092 "::",
3093 stringify!(mode)
3094 )
3095 );
3096 assert_eq!(
3097 unsafe { ::std::ptr::addr_of!((*ptr).mu) as usize - ptr as usize },
3098 8usize,
3099 concat!(
3100 "Offset of field: ",
3101 stringify!(dSurfaceParameters),
3102 "::",
3103 stringify!(mu)
3104 )
3105 );
3106 assert_eq!(
3107 unsafe { ::std::ptr::addr_of!((*ptr).mu2) as usize - ptr as usize },
3108 16usize,
3109 concat!(
3110 "Offset of field: ",
3111 stringify!(dSurfaceParameters),
3112 "::",
3113 stringify!(mu2)
3114 )
3115 );
3116 assert_eq!(
3117 unsafe { ::std::ptr::addr_of!((*ptr).rho) as usize - ptr as usize },
3118 24usize,
3119 concat!(
3120 "Offset of field: ",
3121 stringify!(dSurfaceParameters),
3122 "::",
3123 stringify!(rho)
3124 )
3125 );
3126 assert_eq!(
3127 unsafe { ::std::ptr::addr_of!((*ptr).rho2) as usize - ptr as usize },
3128 32usize,
3129 concat!(
3130 "Offset of field: ",
3131 stringify!(dSurfaceParameters),
3132 "::",
3133 stringify!(rho2)
3134 )
3135 );
3136 assert_eq!(
3137 unsafe { ::std::ptr::addr_of!((*ptr).rhoN) as usize - ptr as usize },
3138 40usize,
3139 concat!(
3140 "Offset of field: ",
3141 stringify!(dSurfaceParameters),
3142 "::",
3143 stringify!(rhoN)
3144 )
3145 );
3146 assert_eq!(
3147 unsafe { ::std::ptr::addr_of!((*ptr).bounce) as usize - ptr as usize },
3148 48usize,
3149 concat!(
3150 "Offset of field: ",
3151 stringify!(dSurfaceParameters),
3152 "::",
3153 stringify!(bounce)
3154 )
3155 );
3156 assert_eq!(
3157 unsafe { ::std::ptr::addr_of!((*ptr).bounce_vel) as usize - ptr as usize },
3158 56usize,
3159 concat!(
3160 "Offset of field: ",
3161 stringify!(dSurfaceParameters),
3162 "::",
3163 stringify!(bounce_vel)
3164 )
3165 );
3166 assert_eq!(
3167 unsafe { ::std::ptr::addr_of!((*ptr).soft_erp) as usize - ptr as usize },
3168 64usize,
3169 concat!(
3170 "Offset of field: ",
3171 stringify!(dSurfaceParameters),
3172 "::",
3173 stringify!(soft_erp)
3174 )
3175 );
3176 assert_eq!(
3177 unsafe { ::std::ptr::addr_of!((*ptr).soft_cfm) as usize - ptr as usize },
3178 72usize,
3179 concat!(
3180 "Offset of field: ",
3181 stringify!(dSurfaceParameters),
3182 "::",
3183 stringify!(soft_cfm)
3184 )
3185 );
3186 assert_eq!(
3187 unsafe { ::std::ptr::addr_of!((*ptr).motion1) as usize - ptr as usize },
3188 80usize,
3189 concat!(
3190 "Offset of field: ",
3191 stringify!(dSurfaceParameters),
3192 "::",
3193 stringify!(motion1)
3194 )
3195 );
3196 assert_eq!(
3197 unsafe { ::std::ptr::addr_of!((*ptr).motion2) as usize - ptr as usize },
3198 88usize,
3199 concat!(
3200 "Offset of field: ",
3201 stringify!(dSurfaceParameters),
3202 "::",
3203 stringify!(motion2)
3204 )
3205 );
3206 assert_eq!(
3207 unsafe { ::std::ptr::addr_of!((*ptr).motionN) as usize - ptr as usize },
3208 96usize,
3209 concat!(
3210 "Offset of field: ",
3211 stringify!(dSurfaceParameters),
3212 "::",
3213 stringify!(motionN)
3214 )
3215 );
3216 assert_eq!(
3217 unsafe { ::std::ptr::addr_of!((*ptr).slip1) as usize - ptr as usize },
3218 104usize,
3219 concat!(
3220 "Offset of field: ",
3221 stringify!(dSurfaceParameters),
3222 "::",
3223 stringify!(slip1)
3224 )
3225 );
3226 assert_eq!(
3227 unsafe { ::std::ptr::addr_of!((*ptr).slip2) as usize - ptr as usize },
3228 112usize,
3229 concat!(
3230 "Offset of field: ",
3231 stringify!(dSurfaceParameters),
3232 "::",
3233 stringify!(slip2)
3234 )
3235 );
3236}
3237#[repr(C)]
3238#[derive(Debug, Copy, Clone)]
3239pub struct dContactGeom {
3240 pub pos: dVector3,
3241 pub normal: dVector3,
3242 pub depth: dReal,
3243 pub g1: dGeomID,
3244 pub g2: dGeomID,
3245 pub side1: ::std::os::raw::c_int,
3246 pub side2: ::std::os::raw::c_int,
3247}
3248#[test]
3249fn bindgen_test_layout_dContactGeom() {
3250 const UNINIT: ::std::mem::MaybeUninit<dContactGeom> = ::std::mem::MaybeUninit::uninit();
3251 let ptr = UNINIT.as_ptr();
3252 assert_eq!(
3253 ::std::mem::size_of::<dContactGeom>(),
3254 96usize,
3255 concat!("Size of: ", stringify!(dContactGeom))
3256 );
3257 assert_eq!(
3258 ::std::mem::align_of::<dContactGeom>(),
3259 8usize,
3260 concat!("Alignment of ", stringify!(dContactGeom))
3261 );
3262 assert_eq!(
3263 unsafe { ::std::ptr::addr_of!((*ptr).pos) as usize - ptr as usize },
3264 0usize,
3265 concat!(
3266 "Offset of field: ",
3267 stringify!(dContactGeom),
3268 "::",
3269 stringify!(pos)
3270 )
3271 );
3272 assert_eq!(
3273 unsafe { ::std::ptr::addr_of!((*ptr).normal) as usize - ptr as usize },
3274 32usize,
3275 concat!(
3276 "Offset of field: ",
3277 stringify!(dContactGeom),
3278 "::",
3279 stringify!(normal)
3280 )
3281 );
3282 assert_eq!(
3283 unsafe { ::std::ptr::addr_of!((*ptr).depth) as usize - ptr as usize },
3284 64usize,
3285 concat!(
3286 "Offset of field: ",
3287 stringify!(dContactGeom),
3288 "::",
3289 stringify!(depth)
3290 )
3291 );
3292 assert_eq!(
3293 unsafe { ::std::ptr::addr_of!((*ptr).g1) as usize - ptr as usize },
3294 72usize,
3295 concat!(
3296 "Offset of field: ",
3297 stringify!(dContactGeom),
3298 "::",
3299 stringify!(g1)
3300 )
3301 );
3302 assert_eq!(
3303 unsafe { ::std::ptr::addr_of!((*ptr).g2) as usize - ptr as usize },
3304 80usize,
3305 concat!(
3306 "Offset of field: ",
3307 stringify!(dContactGeom),
3308 "::",
3309 stringify!(g2)
3310 )
3311 );
3312 assert_eq!(
3313 unsafe { ::std::ptr::addr_of!((*ptr).side1) as usize - ptr as usize },
3314 88usize,
3315 concat!(
3316 "Offset of field: ",
3317 stringify!(dContactGeom),
3318 "::",
3319 stringify!(side1)
3320 )
3321 );
3322 assert_eq!(
3323 unsafe { ::std::ptr::addr_of!((*ptr).side2) as usize - ptr as usize },
3324 92usize,
3325 concat!(
3326 "Offset of field: ",
3327 stringify!(dContactGeom),
3328 "::",
3329 stringify!(side2)
3330 )
3331 );
3332}
3333#[repr(C)]
3334#[derive(Debug, Copy, Clone)]
3335pub struct dContact {
3336 pub surface: dSurfaceParameters,
3337 pub geom: dContactGeom,
3338 pub fdir1: dVector3,
3339}
3340#[test]
3341fn bindgen_test_layout_dContact() {
3342 const UNINIT: ::std::mem::MaybeUninit<dContact> = ::std::mem::MaybeUninit::uninit();
3343 let ptr = UNINIT.as_ptr();
3344 assert_eq!(
3345 ::std::mem::size_of::<dContact>(),
3346 248usize,
3347 concat!("Size of: ", stringify!(dContact))
3348 );
3349 assert_eq!(
3350 ::std::mem::align_of::<dContact>(),
3351 8usize,
3352 concat!("Alignment of ", stringify!(dContact))
3353 );
3354 assert_eq!(
3355 unsafe { ::std::ptr::addr_of!((*ptr).surface) as usize - ptr as usize },
3356 0usize,
3357 concat!(
3358 "Offset of field: ",
3359 stringify!(dContact),
3360 "::",
3361 stringify!(surface)
3362 )
3363 );
3364 assert_eq!(
3365 unsafe { ::std::ptr::addr_of!((*ptr).geom) as usize - ptr as usize },
3366 120usize,
3367 concat!(
3368 "Offset of field: ",
3369 stringify!(dContact),
3370 "::",
3371 stringify!(geom)
3372 )
3373 );
3374 assert_eq!(
3375 unsafe { ::std::ptr::addr_of!((*ptr).fdir1) as usize - ptr as usize },
3376 216usize,
3377 concat!(
3378 "Offset of field: ",
3379 stringify!(dContact),
3380 "::",
3381 stringify!(fdir1)
3382 )
3383 );
3384}
3385pub type dAllocFunction =
3386 ::std::option::Option<unsafe extern "C" fn(size: dsizeint) -> *mut ::std::os::raw::c_void>;
3387pub type dReallocFunction = ::std::option::Option<
3388 unsafe extern "C" fn(
3389 ptr: *mut ::std::os::raw::c_void,
3390 oldsize: dsizeint,
3391 newsize: dsizeint,
3392 ) -> *mut ::std::os::raw::c_void,
3393>;
3394pub type dFreeFunction =
3395 ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void, size: dsizeint)>;
3396extern "C" {
3397 pub fn dSetAllocHandler(fn_: dAllocFunction);
3398}
3399extern "C" {
3400 pub fn dSetReallocHandler(fn_: dReallocFunction);
3401}
3402extern "C" {
3403 pub fn dSetFreeHandler(fn_: dFreeFunction);
3404}
3405extern "C" {
3406 pub fn dGetAllocHandler() -> dAllocFunction;
3407}
3408extern "C" {
3409 pub fn dGetReallocHandler() -> dReallocFunction;
3410}
3411extern "C" {
3412 pub fn dGetFreeHandler() -> dFreeFunction;
3413}
3414extern "C" {
3415 pub fn dAlloc(size: dsizeint) -> *mut ::std::os::raw::c_void;
3416}
3417extern "C" {
3418 pub fn dRealloc(
3419 ptr: *mut ::std::os::raw::c_void,
3420 oldsize: dsizeint,
3421 newsize: dsizeint,
3422 ) -> *mut ::std::os::raw::c_void;
3423}
3424extern "C" {
3425 pub fn dFree(ptr: *mut ::std::os::raw::c_void, size: dsizeint);
3426}
3427extern "C" {
3428 pub fn dSafeNormalize3(a: *mut dReal) -> ::std::os::raw::c_int;
3429}
3430extern "C" {
3431 pub fn dSafeNormalize4(a: *mut dReal) -> ::std::os::raw::c_int;
3432}
3433extern "C" {
3434 pub fn dNormalize3(a: *mut dReal);
3435}
3436extern "C" {
3437 pub fn dNormalize4(a: *mut dReal);
3438}
3439extern "C" {
3440 pub fn dPlaneSpace(n: *mut dReal, p: *mut dReal, q: *mut dReal);
3441}
3442extern "C" {
3443 pub fn dOrthogonalizeR(m: *mut dReal) -> ::std::os::raw::c_int;
3444}
3445extern "C" {
3446 pub fn dSetZero(a: *mut dReal, n: ::std::os::raw::c_int);
3447}
3448extern "C" {
3449 pub fn dSetValue(a: *mut dReal, n: ::std::os::raw::c_int, value: dReal);
3450}
3451extern "C" {
3452 pub fn dDot(a: *const dReal, b: *const dReal, n: ::std::os::raw::c_int) -> dReal;
3453}
3454extern "C" {
3455 pub fn dMultiply0(
3456 A: *mut dReal,
3457 B: *const dReal,
3458 C: *const dReal,
3459 p: ::std::os::raw::c_int,
3460 q: ::std::os::raw::c_int,
3461 r: ::std::os::raw::c_int,
3462 );
3463}
3464extern "C" {
3465 pub fn dMultiply1(
3466 A: *mut dReal,
3467 B: *const dReal,
3468 C: *const dReal,
3469 p: ::std::os::raw::c_int,
3470 q: ::std::os::raw::c_int,
3471 r: ::std::os::raw::c_int,
3472 );
3473}
3474extern "C" {
3475 pub fn dMultiply2(
3476 A: *mut dReal,
3477 B: *const dReal,
3478 C: *const dReal,
3479 p: ::std::os::raw::c_int,
3480 q: ::std::os::raw::c_int,
3481 r: ::std::os::raw::c_int,
3482 );
3483}
3484extern "C" {
3485 pub fn dFactorCholesky(A: *mut dReal, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3486}
3487extern "C" {
3488 pub fn dSolveCholesky(L: *const dReal, b: *mut dReal, n: ::std::os::raw::c_int);
3489}
3490extern "C" {
3491 pub fn dInvertPDMatrix(
3492 A: *const dReal,
3493 Ainv: *mut dReal,
3494 n: ::std::os::raw::c_int,
3495 ) -> ::std::os::raw::c_int;
3496}
3497extern "C" {
3498 pub fn dIsPositiveDefinite(A: *const dReal, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3499}
3500extern "C" {
3501 pub fn dFactorLDLT(
3502 A: *mut dReal,
3503 d: *mut dReal,
3504 n: ::std::os::raw::c_int,
3505 nskip: ::std::os::raw::c_int,
3506 );
3507}
3508extern "C" {
3509 pub fn dSolveL1(
3510 L: *const dReal,
3511 b: *mut dReal,
3512 n: ::std::os::raw::c_int,
3513 nskip: ::std::os::raw::c_int,
3514 );
3515}
3516extern "C" {
3517 pub fn dSolveL1T(
3518 L: *const dReal,
3519 b: *mut dReal,
3520 n: ::std::os::raw::c_int,
3521 nskip: ::std::os::raw::c_int,
3522 );
3523}
3524extern "C" {
3525 pub fn dScaleVector(a: *mut dReal, d: *const dReal, n: ::std::os::raw::c_int);
3526}
3527extern "C" {
3528 pub fn dVectorScale(a: *mut dReal, d: *const dReal, n: ::std::os::raw::c_int);
3529}
3530extern "C" {
3531 pub fn dSolveLDLT(
3532 L: *const dReal,
3533 d: *const dReal,
3534 b: *mut dReal,
3535 n: ::std::os::raw::c_int,
3536 nskip: ::std::os::raw::c_int,
3537 );
3538}
3539extern "C" {
3540 pub fn dLDLTAddTL(
3541 L: *mut dReal,
3542 d: *mut dReal,
3543 a: *const dReal,
3544 n: ::std::os::raw::c_int,
3545 nskip: ::std::os::raw::c_int,
3546 );
3547}
3548extern "C" {
3549 pub fn dLDLTRemove(
3550 A: *mut *mut dReal,
3551 p: *const ::std::os::raw::c_int,
3552 L: *mut dReal,
3553 d: *mut dReal,
3554 n1: ::std::os::raw::c_int,
3555 n2: ::std::os::raw::c_int,
3556 r: ::std::os::raw::c_int,
3557 nskip: ::std::os::raw::c_int,
3558 );
3559}
3560extern "C" {
3561 pub fn dRemoveRowCol(
3562 A: *mut dReal,
3563 n: ::std::os::raw::c_int,
3564 nskip: ::std::os::raw::c_int,
3565 r: ::std::os::raw::c_int,
3566 );
3567}
3568#[repr(C)]
3569#[derive(Debug, Copy, Clone)]
3570pub struct dxThreadingImplementation {
3571 _unused: [u8; 0],
3572}
3573pub type dThreadingImplementationID = *mut dxThreadingImplementation;
3574pub type dmutexindex_t = ::std::os::raw::c_uint;
3575#[repr(C)]
3576#[derive(Debug, Copy, Clone)]
3577pub struct dxMutexGroup {
3578 _unused: [u8; 0],
3579}
3580pub type dMutexGroupID = *mut dxMutexGroup;
3581pub type dMutexGroupAllocFunction = ::std::option::Option<
3582 unsafe extern "C" fn(
3583 impl_: dThreadingImplementationID,
3584 Mutex_count: dmutexindex_t,
3585 Mutex_names_ptr: *const *const ::std::os::raw::c_char,
3586 ) -> dMutexGroupID,
3587>;
3588pub type dMutexGroupFreeFunction = ::std::option::Option<
3589 unsafe extern "C" fn(impl_: dThreadingImplementationID, mutex_group: dMutexGroupID),
3590>;
3591pub type dMutexGroupMutexLockFunction = ::std::option::Option<
3592 unsafe extern "C" fn(
3593 impl_: dThreadingImplementationID,
3594 mutex_group: dMutexGroupID,
3595 mutex_index: dmutexindex_t,
3596 ),
3597>;
3598pub type dMutexGroupMutexUnlockFunction = ::std::option::Option<
3599 unsafe extern "C" fn(
3600 impl_: dThreadingImplementationID,
3601 mutex_group: dMutexGroupID,
3602 mutex_index: dmutexindex_t,
3603 ),
3604>;
3605#[repr(C)]
3606#[derive(Debug, Copy, Clone)]
3607pub struct dxCallReleasee {
3608 _unused: [u8; 0],
3609}
3610pub type dCallReleaseeID = *mut dxCallReleasee;
3611#[repr(C)]
3612#[derive(Debug, Copy, Clone)]
3613pub struct dxCallWait {
3614 _unused: [u8; 0],
3615}
3616pub type dCallWaitID = *mut dxCallWait;
3617pub type ddependencycount_t = dsizeint;
3618pub type ddependencychange_t = ddiffint;
3619pub type dcallindex_t = dsizeint;
3620pub type dThreadedCallFunction = ::std::option::Option<
3621 unsafe extern "C" fn(
3622 call_context: *mut ::std::os::raw::c_void,
3623 instance_index: dcallindex_t,
3624 this_releasee: dCallReleaseeID,
3625 ) -> ::std::os::raw::c_int,
3626>;
3627#[repr(C)]
3628#[derive(Debug, Copy, Clone)]
3629pub struct dxThreadedWaitTime {
3630 pub wait_sec: time_t,
3631 pub wait_nsec: ::std::os::raw::c_ulong,
3632}
3633#[test]
3634fn bindgen_test_layout_dxThreadedWaitTime() {
3635 const UNINIT: ::std::mem::MaybeUninit<dxThreadedWaitTime> = ::std::mem::MaybeUninit::uninit();
3636 let ptr = UNINIT.as_ptr();
3637 assert_eq!(
3638 ::std::mem::size_of::<dxThreadedWaitTime>(),
3639 16usize,
3640 concat!("Size of: ", stringify!(dxThreadedWaitTime))
3641 );
3642 assert_eq!(
3643 ::std::mem::align_of::<dxThreadedWaitTime>(),
3644 8usize,
3645 concat!("Alignment of ", stringify!(dxThreadedWaitTime))
3646 );
3647 assert_eq!(
3648 unsafe { ::std::ptr::addr_of!((*ptr).wait_sec) as usize - ptr as usize },
3649 0usize,
3650 concat!(
3651 "Offset of field: ",
3652 stringify!(dxThreadedWaitTime),
3653 "::",
3654 stringify!(wait_sec)
3655 )
3656 );
3657 assert_eq!(
3658 unsafe { ::std::ptr::addr_of!((*ptr).wait_nsec) as usize - ptr as usize },
3659 8usize,
3660 concat!(
3661 "Offset of field: ",
3662 stringify!(dxThreadedWaitTime),
3663 "::",
3664 stringify!(wait_nsec)
3665 )
3666 );
3667}
3668pub type dThreadedWaitTime = dxThreadedWaitTime;
3669pub type dThreadedCallWaitAllocFunction =
3670 ::std::option::Option<unsafe extern "C" fn(impl_: dThreadingImplementationID) -> dCallWaitID>;
3671pub type dThreadedCallWaitResetFunction = ::std::option::Option<
3672 unsafe extern "C" fn(impl_: dThreadingImplementationID, call_wait: dCallWaitID),
3673>;
3674pub type dThreadedCallWaitFreeFunction = ::std::option::Option<
3675 unsafe extern "C" fn(impl_: dThreadingImplementationID, call_wait: dCallWaitID),
3676>;
3677pub type dThreadedCallPostFunction = ::std::option::Option<
3678 unsafe extern "C" fn(
3679 impl_: dThreadingImplementationID,
3680 out_summary_fault: *mut ::std::os::raw::c_int,
3681 out_post_releasee: *mut dCallReleaseeID,
3682 dependencies_count: ddependencycount_t,
3683 dependent_releasee: dCallReleaseeID,
3684 call_wait: dCallWaitID,
3685 call_func: dThreadedCallFunction,
3686 call_context: *mut ::std::os::raw::c_void,
3687 instance_index: dcallindex_t,
3688 call_name: *const ::std::os::raw::c_char,
3689 ),
3690>;
3691pub type dThreadedCallDependenciesCountAlterFunction = ::std::option::Option<
3692 unsafe extern "C" fn(
3693 impl_: dThreadingImplementationID,
3694 target_releasee: dCallReleaseeID,
3695 dependencies_count_change: ddependencychange_t,
3696 ),
3697>;
3698pub type dThreadedCallWaitFunction = ::std::option::Option<
3699 unsafe extern "C" fn(
3700 impl_: dThreadingImplementationID,
3701 out_wait_status: *mut ::std::os::raw::c_int,
3702 call_wait: dCallWaitID,
3703 timeout_time_ptr: *const dThreadedWaitTime,
3704 wait_name: *const ::std::os::raw::c_char,
3705 ),
3706>;
3707pub type dThreadingImplThreadCountRetrieveFunction = ::std::option::Option<
3708 unsafe extern "C" fn(impl_: dThreadingImplementationID) -> ::std::os::raw::c_uint,
3709>;
3710pub type dThreadingImplResourcesForCallsPreallocateFunction = ::std::option::Option<
3711 unsafe extern "C" fn(
3712 impl_: dThreadingImplementationID,
3713 max_simultaneous_calls_estimate: ddependencycount_t,
3714 ) -> ::std::os::raw::c_int,
3715>;
3716#[repr(C)]
3717#[derive(Debug, Copy, Clone)]
3718pub struct dxThreadingFunctionsInfo {
3719 pub struct_size: ::std::os::raw::c_uint,
3720 pub alloc_mutex_group: dMutexGroupAllocFunction,
3721 pub free_mutex_group: dMutexGroupFreeFunction,
3722 pub lock_group_mutex: dMutexGroupMutexLockFunction,
3723 pub unlock_group_mutex: dMutexGroupMutexUnlockFunction,
3724 pub alloc_call_wait: dThreadedCallWaitAllocFunction,
3725 pub reset_call_wait: dThreadedCallWaitResetFunction,
3726 pub free_call_wait: dThreadedCallWaitFreeFunction,
3727 pub post_call: dThreadedCallPostFunction,
3728 pub alter_call_dependencies_count: dThreadedCallDependenciesCountAlterFunction,
3729 pub wait_call: dThreadedCallWaitFunction,
3730 pub retrieve_thread_count: dThreadingImplThreadCountRetrieveFunction,
3731 pub preallocate_resources_for_calls: dThreadingImplResourcesForCallsPreallocateFunction,
3732}
3733#[test]
3734fn bindgen_test_layout_dxThreadingFunctionsInfo() {
3735 const UNINIT: ::std::mem::MaybeUninit<dxThreadingFunctionsInfo> =
3736 ::std::mem::MaybeUninit::uninit();
3737 let ptr = UNINIT.as_ptr();
3738 assert_eq!(
3739 ::std::mem::size_of::<dxThreadingFunctionsInfo>(),
3740 104usize,
3741 concat!("Size of: ", stringify!(dxThreadingFunctionsInfo))
3742 );
3743 assert_eq!(
3744 ::std::mem::align_of::<dxThreadingFunctionsInfo>(),
3745 8usize,
3746 concat!("Alignment of ", stringify!(dxThreadingFunctionsInfo))
3747 );
3748 assert_eq!(
3749 unsafe { ::std::ptr::addr_of!((*ptr).struct_size) as usize - ptr as usize },
3750 0usize,
3751 concat!(
3752 "Offset of field: ",
3753 stringify!(dxThreadingFunctionsInfo),
3754 "::",
3755 stringify!(struct_size)
3756 )
3757 );
3758 assert_eq!(
3759 unsafe { ::std::ptr::addr_of!((*ptr).alloc_mutex_group) as usize - ptr as usize },
3760 8usize,
3761 concat!(
3762 "Offset of field: ",
3763 stringify!(dxThreadingFunctionsInfo),
3764 "::",
3765 stringify!(alloc_mutex_group)
3766 )
3767 );
3768 assert_eq!(
3769 unsafe { ::std::ptr::addr_of!((*ptr).free_mutex_group) as usize - ptr as usize },
3770 16usize,
3771 concat!(
3772 "Offset of field: ",
3773 stringify!(dxThreadingFunctionsInfo),
3774 "::",
3775 stringify!(free_mutex_group)
3776 )
3777 );
3778 assert_eq!(
3779 unsafe { ::std::ptr::addr_of!((*ptr).lock_group_mutex) as usize - ptr as usize },
3780 24usize,
3781 concat!(
3782 "Offset of field: ",
3783 stringify!(dxThreadingFunctionsInfo),
3784 "::",
3785 stringify!(lock_group_mutex)
3786 )
3787 );
3788 assert_eq!(
3789 unsafe { ::std::ptr::addr_of!((*ptr).unlock_group_mutex) as usize - ptr as usize },
3790 32usize,
3791 concat!(
3792 "Offset of field: ",
3793 stringify!(dxThreadingFunctionsInfo),
3794 "::",
3795 stringify!(unlock_group_mutex)
3796 )
3797 );
3798 assert_eq!(
3799 unsafe { ::std::ptr::addr_of!((*ptr).alloc_call_wait) as usize - ptr as usize },
3800 40usize,
3801 concat!(
3802 "Offset of field: ",
3803 stringify!(dxThreadingFunctionsInfo),
3804 "::",
3805 stringify!(alloc_call_wait)
3806 )
3807 );
3808 assert_eq!(
3809 unsafe { ::std::ptr::addr_of!((*ptr).reset_call_wait) as usize - ptr as usize },
3810 48usize,
3811 concat!(
3812 "Offset of field: ",
3813 stringify!(dxThreadingFunctionsInfo),
3814 "::",
3815 stringify!(reset_call_wait)
3816 )
3817 );
3818 assert_eq!(
3819 unsafe { ::std::ptr::addr_of!((*ptr).free_call_wait) as usize - ptr as usize },
3820 56usize,
3821 concat!(
3822 "Offset of field: ",
3823 stringify!(dxThreadingFunctionsInfo),
3824 "::",
3825 stringify!(free_call_wait)
3826 )
3827 );
3828 assert_eq!(
3829 unsafe { ::std::ptr::addr_of!((*ptr).post_call) as usize - ptr as usize },
3830 64usize,
3831 concat!(
3832 "Offset of field: ",
3833 stringify!(dxThreadingFunctionsInfo),
3834 "::",
3835 stringify!(post_call)
3836 )
3837 );
3838 assert_eq!(
3839 unsafe {
3840 ::std::ptr::addr_of!((*ptr).alter_call_dependencies_count) as usize - ptr as usize
3841 },
3842 72usize,
3843 concat!(
3844 "Offset of field: ",
3845 stringify!(dxThreadingFunctionsInfo),
3846 "::",
3847 stringify!(alter_call_dependencies_count)
3848 )
3849 );
3850 assert_eq!(
3851 unsafe { ::std::ptr::addr_of!((*ptr).wait_call) as usize - ptr as usize },
3852 80usize,
3853 concat!(
3854 "Offset of field: ",
3855 stringify!(dxThreadingFunctionsInfo),
3856 "::",
3857 stringify!(wait_call)
3858 )
3859 );
3860 assert_eq!(
3861 unsafe { ::std::ptr::addr_of!((*ptr).retrieve_thread_count) as usize - ptr as usize },
3862 88usize,
3863 concat!(
3864 "Offset of field: ",
3865 stringify!(dxThreadingFunctionsInfo),
3866 "::",
3867 stringify!(retrieve_thread_count)
3868 )
3869 );
3870 assert_eq!(
3871 unsafe {
3872 ::std::ptr::addr_of!((*ptr).preallocate_resources_for_calls) as usize - ptr as usize
3873 },
3874 96usize,
3875 concat!(
3876 "Offset of field: ",
3877 stringify!(dxThreadingFunctionsInfo),
3878 "::",
3879 stringify!(preallocate_resources_for_calls)
3880 )
3881 );
3882}
3883pub type dThreadingFunctionsInfo = dxThreadingFunctionsInfo;
3884#[repr(C)]
3885#[derive(Debug, Copy, Clone)]
3886pub struct dxCooperative {
3887 _unused: [u8; 0],
3888}
3889#[repr(C)]
3890#[derive(Debug, Copy, Clone)]
3891pub struct dxResourceRequirements {
3892 _unused: [u8; 0],
3893}
3894#[repr(C)]
3895#[derive(Debug, Copy, Clone)]
3896pub struct dxResourceContainer {
3897 _unused: [u8; 0],
3898}
3899pub type dCooperativeID = *mut dxCooperative;
3900pub type dResourceRequirementsID = *mut dxResourceRequirements;
3901pub type dResourceContainerID = *mut dxResourceContainer;
3902extern "C" {
3903 pub fn dCooperativeCreate(
3904 functionInfo: *const dThreadingFunctionsInfo,
3905 threadingImpl: dThreadingImplementationID,
3906 ) -> dCooperativeID;
3907}
3908extern "C" {
3909 pub fn dCooperativeDestroy(cooperative: dCooperativeID);
3910}
3911extern "C" {
3912 pub fn dResourceRequirementsCreate(cooperative: dCooperativeID) -> dResourceRequirementsID;
3913}
3914extern "C" {
3915 pub fn dResourceRequirementsDestroy(requirements: dResourceRequirementsID);
3916}
3917extern "C" {
3918 pub fn dResourceRequirementsClone(
3919 requirements: dResourceRequirementsID,
3920 ) -> dResourceRequirementsID;
3921}
3922extern "C" {
3923 pub fn dResourceRequirementsMergeIn(
3924 summaryRequirements: dResourceRequirementsID,
3925 extraRequirements: dResourceRequirementsID,
3926 );
3927}
3928extern "C" {
3929 pub fn dResourceContainerAcquire(requirements: dResourceRequirementsID)
3930 -> dResourceContainerID;
3931}
3932extern "C" {
3933 pub fn dResourceContainerDestroy(resources: dResourceContainerID);
3934}
3935extern "C" {
3936 pub fn dEstimateCooperativelyFactorLDLTResourceRequirements(
3937 requirements: dResourceRequirementsID,
3938 maximalAllowedThreadCount: ::std::os::raw::c_uint,
3939 maximalRowCount: ::std::os::raw::c_uint,
3940 );
3941}
3942extern "C" {
3943 pub fn dCooperativelyFactorLDLT(
3944 resources: dResourceContainerID,
3945 allowedThreadCount: ::std::os::raw::c_uint,
3946 A: *mut dReal,
3947 d: *mut dReal,
3948 rowCount: ::std::os::raw::c_uint,
3949 rowSkip: ::std::os::raw::c_uint,
3950 );
3951}
3952extern "C" {
3953 pub fn dEstimateCooperativelySolveLDLTResourceRequirements(
3954 requirements: dResourceRequirementsID,
3955 maximalAllowedThreadCount: ::std::os::raw::c_uint,
3956 maximalRowCount: ::std::os::raw::c_uint,
3957 );
3958}
3959extern "C" {
3960 pub fn dCooperativelySolveLDLT(
3961 resources: dResourceContainerID,
3962 allowedThreadCount: ::std::os::raw::c_uint,
3963 L: *const dReal,
3964 d: *const dReal,
3965 b: *mut dReal,
3966 rowCount: ::std::os::raw::c_uint,
3967 rowSkip: ::std::os::raw::c_uint,
3968 );
3969}
3970extern "C" {
3971 pub fn dEstimateCooperativelySolveL1StraightResourceRequirements(
3972 requirements: dResourceRequirementsID,
3973 maximalAllowedThreadCount: ::std::os::raw::c_uint,
3974 maximalRowCount: ::std::os::raw::c_uint,
3975 );
3976}
3977extern "C" {
3978 pub fn dCooperativelySolveL1Straight(
3979 resources: dResourceContainerID,
3980 allowedThreadCount: ::std::os::raw::c_uint,
3981 L: *const dReal,
3982 b: *mut dReal,
3983 rowCount: ::std::os::raw::c_uint,
3984 rowSkip: ::std::os::raw::c_uint,
3985 );
3986}
3987extern "C" {
3988 pub fn dEstimateCooperativelySolveL1TransposedResourceRequirements(
3989 requirements: dResourceRequirementsID,
3990 maximalAllowedThreadCount: ::std::os::raw::c_uint,
3991 maximalRowCount: ::std::os::raw::c_uint,
3992 );
3993}
3994extern "C" {
3995 pub fn dCooperativelySolveL1Transposed(
3996 resources: dResourceContainerID,
3997 allowedThreadCount: ::std::os::raw::c_uint,
3998 L: *const dReal,
3999 b: *mut dReal,
4000 rowCount: ::std::os::raw::c_uint,
4001 rowSkip: ::std::os::raw::c_uint,
4002 );
4003}
4004extern "C" {
4005 pub fn dEstimateCooperativelyScaleVectorResourceRequirements(
4006 requirements: dResourceRequirementsID,
4007 maximalAllowedThreadCount: ::std::os::raw::c_uint,
4008 maximalElementCount: ::std::os::raw::c_uint,
4009 );
4010}
4011extern "C" {
4012 pub fn dCooperativelyScaleVector(
4013 resources: dResourceContainerID,
4014 allowedThreadCount: ::std::os::raw::c_uint,
4015 dataVector: *mut dReal,
4016 scaleVector: *const dReal,
4017 elementCount: ::std::os::raw::c_uint,
4018 );
4019}
4020#[repr(C)]
4021#[derive(Debug, Copy, Clone)]
4022pub struct dStopwatch {
4023 pub time: f64,
4024 pub cc: [::std::os::raw::c_ulong; 2usize],
4025}
4026#[test]
4027fn bindgen_test_layout_dStopwatch() {
4028 const UNINIT: ::std::mem::MaybeUninit<dStopwatch> = ::std::mem::MaybeUninit::uninit();
4029 let ptr = UNINIT.as_ptr();
4030 assert_eq!(
4031 ::std::mem::size_of::<dStopwatch>(),
4032 16usize,
4033 concat!("Size of: ", stringify!(dStopwatch))
4034 );
4035 assert_eq!(
4036 ::std::mem::align_of::<dStopwatch>(),
4037 8usize,
4038 concat!("Alignment of ", stringify!(dStopwatch))
4039 );
4040 assert_eq!(
4041 unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
4042 0usize,
4043 concat!(
4044 "Offset of field: ",
4045 stringify!(dStopwatch),
4046 "::",
4047 stringify!(time)
4048 )
4049 );
4050 assert_eq!(
4051 unsafe { ::std::ptr::addr_of!((*ptr).cc) as usize - ptr as usize },
4052 8usize,
4053 concat!(
4054 "Offset of field: ",
4055 stringify!(dStopwatch),
4056 "::",
4057 stringify!(cc)
4058 )
4059 );
4060}
4061extern "C" {
4062 pub fn dStopwatchReset(arg1: *mut dStopwatch);
4063}
4064extern "C" {
4065 pub fn dStopwatchStart(arg1: *mut dStopwatch);
4066}
4067extern "C" {
4068 pub fn dStopwatchStop(arg1: *mut dStopwatch);
4069}
4070extern "C" {
4071 pub fn dStopwatchTime(arg1: *mut dStopwatch) -> f64;
4072}
4073extern "C" {
4074 pub fn dTimerStart(description: *const ::std::os::raw::c_char);
4075}
4076extern "C" {
4077 pub fn dTimerNow(description: *const ::std::os::raw::c_char);
4078}
4079extern "C" {
4080 pub fn dTimerEnd();
4081}
4082extern "C" {
4083 pub fn dTimerReport(fout: *mut FILE, average: ::std::os::raw::c_int);
4084}
4085extern "C" {
4086 pub fn dTimerTicksPerSecond() -> f64;
4087}
4088extern "C" {
4089 pub fn dTimerResolution() -> f64;
4090}
4091extern "C" {
4092 pub fn dRSetIdentity(R: *mut dReal);
4093}
4094extern "C" {
4095 pub fn dRFromAxisAndAngle(R: *mut dReal, ax: dReal, ay: dReal, az: dReal, angle: dReal);
4096}
4097extern "C" {
4098 pub fn dRFromEulerAngles(R: *mut dReal, phi: dReal, theta: dReal, psi: dReal);
4099}
4100extern "C" {
4101 pub fn dRFrom2Axes(
4102 R: *mut dReal,
4103 ax: dReal,
4104 ay: dReal,
4105 az: dReal,
4106 bx: dReal,
4107 by: dReal,
4108 bz: dReal,
4109 );
4110}
4111extern "C" {
4112 pub fn dRFromZAxis(R: *mut dReal, ax: dReal, ay: dReal, az: dReal);
4113}
4114extern "C" {
4115 pub fn dQSetIdentity(q: *mut dReal);
4116}
4117extern "C" {
4118 pub fn dQFromAxisAndAngle(q: *mut dReal, ax: dReal, ay: dReal, az: dReal, angle: dReal);
4119}
4120extern "C" {
4121 pub fn dQMultiply0(qa: *mut dReal, qb: *mut dReal, qc: *mut dReal);
4122}
4123extern "C" {
4124 pub fn dQMultiply1(qa: *mut dReal, qb: *mut dReal, qc: *mut dReal);
4125}
4126extern "C" {
4127 pub fn dQMultiply2(qa: *mut dReal, qb: *mut dReal, qc: *mut dReal);
4128}
4129extern "C" {
4130 pub fn dQMultiply3(qa: *mut dReal, qb: *mut dReal, qc: *mut dReal);
4131}
4132extern "C" {
4133 pub fn dRfromQ(R: *mut dReal, q: *mut dReal);
4134}
4135extern "C" {
4136 pub fn dQfromR(q: *mut dReal, R: *mut dReal);
4137}
4138extern "C" {
4139 pub fn dDQfromW(dq: *mut dReal, w: *mut dReal, q: *mut dReal);
4140}
4141extern "C" {
4142 pub fn dMassCheck(m: *const dMass) -> ::std::os::raw::c_int;
4143}
4144extern "C" {
4145 pub fn dMassSetZero(arg1: *mut dMass);
4146}
4147extern "C" {
4148 pub fn dMassSetParameters(
4149 arg1: *mut dMass,
4150 themass: dReal,
4151 cgx: dReal,
4152 cgy: dReal,
4153 cgz: dReal,
4154 I11: dReal,
4155 I22: dReal,
4156 I33: dReal,
4157 I12: dReal,
4158 I13: dReal,
4159 I23: dReal,
4160 );
4161}
4162extern "C" {
4163 pub fn dMassSetSphere(arg1: *mut dMass, density: dReal, radius: dReal);
4164}
4165extern "C" {
4166 pub fn dMassSetSphereTotal(arg1: *mut dMass, total_mass: dReal, radius: dReal);
4167}
4168extern "C" {
4169 pub fn dMassSetCapsule(
4170 arg1: *mut dMass,
4171 density: dReal,
4172 direction: ::std::os::raw::c_int,
4173 radius: dReal,
4174 length: dReal,
4175 );
4176}
4177extern "C" {
4178 pub fn dMassSetCapsuleTotal(
4179 arg1: *mut dMass,
4180 total_mass: dReal,
4181 direction: ::std::os::raw::c_int,
4182 radius: dReal,
4183 length: dReal,
4184 );
4185}
4186extern "C" {
4187 pub fn dMassSetCylinder(
4188 arg1: *mut dMass,
4189 density: dReal,
4190 direction: ::std::os::raw::c_int,
4191 radius: dReal,
4192 length: dReal,
4193 );
4194}
4195extern "C" {
4196 pub fn dMassSetCylinderTotal(
4197 arg1: *mut dMass,
4198 total_mass: dReal,
4199 direction: ::std::os::raw::c_int,
4200 radius: dReal,
4201 length: dReal,
4202 );
4203}
4204extern "C" {
4205 pub fn dMassSetBox(arg1: *mut dMass, density: dReal, lx: dReal, ly: dReal, lz: dReal);
4206}
4207extern "C" {
4208 pub fn dMassSetBoxTotal(arg1: *mut dMass, total_mass: dReal, lx: dReal, ly: dReal, lz: dReal);
4209}
4210extern "C" {
4211 pub fn dMassSetTrimesh(arg1: *mut dMass, density: dReal, g: dGeomID);
4212}
4213extern "C" {
4214 pub fn dMassSetTrimeshTotal(m: *mut dMass, total_mass: dReal, g: dGeomID);
4215}
4216extern "C" {
4217 pub fn dMassAdjust(arg1: *mut dMass, newmass: dReal);
4218}
4219extern "C" {
4220 pub fn dMassTranslate(arg1: *mut dMass, x: dReal, y: dReal, z: dReal);
4221}
4222extern "C" {
4223 pub fn dMassRotate(arg1: *mut dMass, R: *mut dReal);
4224}
4225extern "C" {
4226 pub fn dMassAdd(a: *mut dMass, b: *const dMass);
4227}
4228extern "C" {
4229 pub fn dMassSetCappedCylinder(
4230 a: *mut dMass,
4231 b: dReal,
4232 c: ::std::os::raw::c_int,
4233 d: dReal,
4234 e: dReal,
4235 );
4236}
4237extern "C" {
4238 pub fn dMassSetCappedCylinderTotal(
4239 a: *mut dMass,
4240 b: dReal,
4241 c: ::std::os::raw::c_int,
4242 d: dReal,
4243 e: dReal,
4244 );
4245}
4246#[repr(C)]
4247#[derive(Debug, Copy, Clone)]
4248pub struct dMass {
4249 pub mass: dReal,
4250 pub c: dVector3,
4251 pub I: dMatrix3,
4252}
4253#[test]
4254fn bindgen_test_layout_dMass() {
4255 const UNINIT: ::std::mem::MaybeUninit<dMass> = ::std::mem::MaybeUninit::uninit();
4256 let ptr = UNINIT.as_ptr();
4257 assert_eq!(
4258 ::std::mem::size_of::<dMass>(),
4259 136usize,
4260 concat!("Size of: ", stringify!(dMass))
4261 );
4262 assert_eq!(
4263 ::std::mem::align_of::<dMass>(),
4264 8usize,
4265 concat!("Alignment of ", stringify!(dMass))
4266 );
4267 assert_eq!(
4268 unsafe { ::std::ptr::addr_of!((*ptr).mass) as usize - ptr as usize },
4269 0usize,
4270 concat!(
4271 "Offset of field: ",
4272 stringify!(dMass),
4273 "::",
4274 stringify!(mass)
4275 )
4276 );
4277 assert_eq!(
4278 unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize },
4279 8usize,
4280 concat!("Offset of field: ", stringify!(dMass), "::", stringify!(c))
4281 );
4282 assert_eq!(
4283 unsafe { ::std::ptr::addr_of!((*ptr).I) as usize - ptr as usize },
4284 40usize,
4285 concat!("Offset of field: ", stringify!(dMass), "::", stringify!(I))
4286 );
4287}
4288extern "C" {
4289 pub fn dTestRand() -> ::std::os::raw::c_int;
4290}
4291extern "C" {
4292 pub fn dRand() -> ::std::os::raw::c_ulong;
4293}
4294extern "C" {
4295 pub fn dRandGetSeed() -> ::std::os::raw::c_ulong;
4296}
4297extern "C" {
4298 pub fn dRandSetSeed(s: ::std::os::raw::c_ulong);
4299}
4300extern "C" {
4301 pub fn dRandInt(n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4302}
4303extern "C" {
4304 pub fn dRandReal() -> dReal;
4305}
4306extern "C" {
4307 pub fn dPrintMatrix(
4308 A: *const dReal,
4309 n: ::std::os::raw::c_int,
4310 m: ::std::os::raw::c_int,
4311 fmt: *const ::std::os::raw::c_char,
4312 f: *mut FILE,
4313 );
4314}
4315extern "C" {
4316 pub fn dMakeRandomVector(A: *mut dReal, n: ::std::os::raw::c_int, range: dReal);
4317}
4318extern "C" {
4319 pub fn dMakeRandomMatrix(
4320 A: *mut dReal,
4321 n: ::std::os::raw::c_int,
4322 m: ::std::os::raw::c_int,
4323 range: dReal,
4324 );
4325}
4326extern "C" {
4327 pub fn dClearUpperTriangle(A: *mut dReal, n: ::std::os::raw::c_int);
4328}
4329extern "C" {
4330 pub fn dMaxDifference(
4331 A: *const dReal,
4332 B: *const dReal,
4333 n: ::std::os::raw::c_int,
4334 m: ::std::os::raw::c_int,
4335 ) -> dReal;
4336}
4337extern "C" {
4338 pub fn dMaxDifferenceLowerTriangle(
4339 A: *const dReal,
4340 B: *const dReal,
4341 n: ::std::os::raw::c_int,
4342 ) -> dReal;
4343}
4344extern "C" {
4345 pub fn dWorldCreate() -> dWorldID;
4346}
4347extern "C" {
4348 pub fn dWorldDestroy(world: dWorldID);
4349}
4350extern "C" {
4351 pub fn dWorldSetData(world: dWorldID, data: *mut ::std::os::raw::c_void);
4352}
4353extern "C" {
4354 pub fn dWorldGetData(world: dWorldID) -> *mut ::std::os::raw::c_void;
4355}
4356extern "C" {
4357 pub fn dWorldSetGravity(arg1: dWorldID, x: dReal, y: dReal, z: dReal);
4358}
4359extern "C" {
4360 pub fn dWorldGetGravity(arg1: dWorldID, gravity: *mut dReal);
4361}
4362extern "C" {
4363 pub fn dWorldSetERP(arg1: dWorldID, erp: dReal);
4364}
4365extern "C" {
4366 pub fn dWorldGetERP(arg1: dWorldID) -> dReal;
4367}
4368extern "C" {
4369 pub fn dWorldSetCFM(arg1: dWorldID, cfm: dReal);
4370}
4371extern "C" {
4372 pub fn dWorldGetCFM(arg1: dWorldID) -> dReal;
4373}
4374extern "C" {
4375 pub fn dWorldSetStepIslandsProcessingMaxThreadCount(w: dWorldID, count: ::std::os::raw::c_uint);
4376}
4377extern "C" {
4378 pub fn dWorldGetStepIslandsProcessingMaxThreadCount(w: dWorldID) -> ::std::os::raw::c_uint;
4379}
4380extern "C" {
4381 pub fn dWorldUseSharedWorkingMemory(w: dWorldID, from_world: dWorldID)
4382 -> ::std::os::raw::c_int;
4383}
4384extern "C" {
4385 pub fn dWorldCleanupWorkingMemory(w: dWorldID);
4386}
4387#[repr(C)]
4388#[derive(Debug, Copy, Clone)]
4389pub struct dWorldStepReserveInfo {
4390 pub struct_size: ::std::os::raw::c_uint,
4391 pub reserve_factor: f32,
4392 pub reserve_minimum: ::std::os::raw::c_uint,
4393}
4394#[test]
4395fn bindgen_test_layout_dWorldStepReserveInfo() {
4396 const UNINIT: ::std::mem::MaybeUninit<dWorldStepReserveInfo> =
4397 ::std::mem::MaybeUninit::uninit();
4398 let ptr = UNINIT.as_ptr();
4399 assert_eq!(
4400 ::std::mem::size_of::<dWorldStepReserveInfo>(),
4401 12usize,
4402 concat!("Size of: ", stringify!(dWorldStepReserveInfo))
4403 );
4404 assert_eq!(
4405 ::std::mem::align_of::<dWorldStepReserveInfo>(),
4406 4usize,
4407 concat!("Alignment of ", stringify!(dWorldStepReserveInfo))
4408 );
4409 assert_eq!(
4410 unsafe { ::std::ptr::addr_of!((*ptr).struct_size) as usize - ptr as usize },
4411 0usize,
4412 concat!(
4413 "Offset of field: ",
4414 stringify!(dWorldStepReserveInfo),
4415 "::",
4416 stringify!(struct_size)
4417 )
4418 );
4419 assert_eq!(
4420 unsafe { ::std::ptr::addr_of!((*ptr).reserve_factor) as usize - ptr as usize },
4421 4usize,
4422 concat!(
4423 "Offset of field: ",
4424 stringify!(dWorldStepReserveInfo),
4425 "::",
4426 stringify!(reserve_factor)
4427 )
4428 );
4429 assert_eq!(
4430 unsafe { ::std::ptr::addr_of!((*ptr).reserve_minimum) as usize - ptr as usize },
4431 8usize,
4432 concat!(
4433 "Offset of field: ",
4434 stringify!(dWorldStepReserveInfo),
4435 "::",
4436 stringify!(reserve_minimum)
4437 )
4438 );
4439}
4440extern "C" {
4441 pub fn dWorldSetStepMemoryReservationPolicy(
4442 w: dWorldID,
4443 policyinfo: *const dWorldStepReserveInfo,
4444 ) -> ::std::os::raw::c_int;
4445}
4446#[repr(C)]
4447#[derive(Debug, Copy, Clone)]
4448pub struct dWorldStepMemoryFunctionsInfo {
4449 pub struct_size: ::std::os::raw::c_uint,
4450 pub alloc_block: ::std::option::Option<
4451 unsafe extern "C" fn(block_size: dsizeint) -> *mut ::std::os::raw::c_void,
4452 >,
4453 pub shrink_block: ::std::option::Option<
4454 unsafe extern "C" fn(
4455 block_pointer: *mut ::std::os::raw::c_void,
4456 block_current_size: dsizeint,
4457 block_smaller_size: dsizeint,
4458 ) -> *mut ::std::os::raw::c_void,
4459 >,
4460 pub free_block: ::std::option::Option<
4461 unsafe extern "C" fn(
4462 block_pointer: *mut ::std::os::raw::c_void,
4463 block_current_size: dsizeint,
4464 ),
4465 >,
4466}
4467#[test]
4468fn bindgen_test_layout_dWorldStepMemoryFunctionsInfo() {
4469 const UNINIT: ::std::mem::MaybeUninit<dWorldStepMemoryFunctionsInfo> =
4470 ::std::mem::MaybeUninit::uninit();
4471 let ptr = UNINIT.as_ptr();
4472 assert_eq!(
4473 ::std::mem::size_of::<dWorldStepMemoryFunctionsInfo>(),
4474 32usize,
4475 concat!("Size of: ", stringify!(dWorldStepMemoryFunctionsInfo))
4476 );
4477 assert_eq!(
4478 ::std::mem::align_of::<dWorldStepMemoryFunctionsInfo>(),
4479 8usize,
4480 concat!("Alignment of ", stringify!(dWorldStepMemoryFunctionsInfo))
4481 );
4482 assert_eq!(
4483 unsafe { ::std::ptr::addr_of!((*ptr).struct_size) as usize - ptr as usize },
4484 0usize,
4485 concat!(
4486 "Offset of field: ",
4487 stringify!(dWorldStepMemoryFunctionsInfo),
4488 "::",
4489 stringify!(struct_size)
4490 )
4491 );
4492 assert_eq!(
4493 unsafe { ::std::ptr::addr_of!((*ptr).alloc_block) as usize - ptr as usize },
4494 8usize,
4495 concat!(
4496 "Offset of field: ",
4497 stringify!(dWorldStepMemoryFunctionsInfo),
4498 "::",
4499 stringify!(alloc_block)
4500 )
4501 );
4502 assert_eq!(
4503 unsafe { ::std::ptr::addr_of!((*ptr).shrink_block) as usize - ptr as usize },
4504 16usize,
4505 concat!(
4506 "Offset of field: ",
4507 stringify!(dWorldStepMemoryFunctionsInfo),
4508 "::",
4509 stringify!(shrink_block)
4510 )
4511 );
4512 assert_eq!(
4513 unsafe { ::std::ptr::addr_of!((*ptr).free_block) as usize - ptr as usize },
4514 24usize,
4515 concat!(
4516 "Offset of field: ",
4517 stringify!(dWorldStepMemoryFunctionsInfo),
4518 "::",
4519 stringify!(free_block)
4520 )
4521 );
4522}
4523extern "C" {
4524 pub fn dWorldSetStepMemoryManager(
4525 w: dWorldID,
4526 memfuncs: *const dWorldStepMemoryFunctionsInfo,
4527 ) -> ::std::os::raw::c_int;
4528}
4529extern "C" {
4530 pub fn dWorldSetStepThreadingImplementation(
4531 w: dWorldID,
4532 functions_info: *const dThreadingFunctionsInfo,
4533 threading_impl: dThreadingImplementationID,
4534 );
4535}
4536extern "C" {
4537 pub fn dWorldStep(w: dWorldID, stepsize: dReal) -> ::std::os::raw::c_int;
4538}
4539extern "C" {
4540 pub fn dWorldQuickStep(w: dWorldID, stepsize: dReal) -> ::std::os::raw::c_int;
4541}
4542extern "C" {
4543 pub fn dWorldImpulseToForce(
4544 arg1: dWorldID,
4545 stepsize: dReal,
4546 ix: dReal,
4547 iy: dReal,
4548 iz: dReal,
4549 force: *mut dReal,
4550 );
4551}
4552extern "C" {
4553 pub fn dWorldSetQuickStepNumIterations(arg1: dWorldID, num: ::std::os::raw::c_int);
4554}
4555extern "C" {
4556 pub fn dWorldGetQuickStepNumIterations(arg1: dWorldID) -> ::std::os::raw::c_int;
4557}
4558extern "C" {
4559 pub fn dWorldSetQuickStepW(arg1: dWorldID, over_relaxation: dReal);
4560}
4561extern "C" {
4562 pub fn dWorldGetQuickStepW(arg1: dWorldID) -> dReal;
4563}
4564extern "C" {
4565 pub fn dWorldSetContactMaxCorrectingVel(arg1: dWorldID, vel: dReal);
4566}
4567extern "C" {
4568 pub fn dWorldGetContactMaxCorrectingVel(arg1: dWorldID) -> dReal;
4569}
4570extern "C" {
4571 pub fn dWorldSetContactSurfaceLayer(arg1: dWorldID, depth: dReal);
4572}
4573extern "C" {
4574 pub fn dWorldGetContactSurfaceLayer(arg1: dWorldID) -> dReal;
4575}
4576extern "C" {
4577 pub fn dWorldGetAutoDisableLinearThreshold(arg1: dWorldID) -> dReal;
4578}
4579extern "C" {
4580 pub fn dWorldSetAutoDisableLinearThreshold(arg1: dWorldID, linear_average_threshold: dReal);
4581}
4582extern "C" {
4583 pub fn dWorldGetAutoDisableAngularThreshold(arg1: dWorldID) -> dReal;
4584}
4585extern "C" {
4586 pub fn dWorldSetAutoDisableAngularThreshold(arg1: dWorldID, angular_average_threshold: dReal);
4587}
4588extern "C" {
4589 pub fn dWorldGetAutoDisableAverageSamplesCount(arg1: dWorldID) -> ::std::os::raw::c_int;
4590}
4591extern "C" {
4592 pub fn dWorldSetAutoDisableAverageSamplesCount(
4593 arg1: dWorldID,
4594 average_samples_count: ::std::os::raw::c_uint,
4595 );
4596}
4597extern "C" {
4598 pub fn dWorldGetAutoDisableSteps(arg1: dWorldID) -> ::std::os::raw::c_int;
4599}
4600extern "C" {
4601 pub fn dWorldSetAutoDisableSteps(arg1: dWorldID, steps: ::std::os::raw::c_int);
4602}
4603extern "C" {
4604 pub fn dWorldGetAutoDisableTime(arg1: dWorldID) -> dReal;
4605}
4606extern "C" {
4607 pub fn dWorldSetAutoDisableTime(arg1: dWorldID, time: dReal);
4608}
4609extern "C" {
4610 pub fn dWorldGetAutoDisableFlag(arg1: dWorldID) -> ::std::os::raw::c_int;
4611}
4612extern "C" {
4613 pub fn dWorldSetAutoDisableFlag(arg1: dWorldID, do_auto_disable: ::std::os::raw::c_int);
4614}
4615extern "C" {
4616 pub fn dWorldGetLinearDampingThreshold(w: dWorldID) -> dReal;
4617}
4618extern "C" {
4619 pub fn dWorldSetLinearDampingThreshold(w: dWorldID, threshold: dReal);
4620}
4621extern "C" {
4622 pub fn dWorldGetAngularDampingThreshold(w: dWorldID) -> dReal;
4623}
4624extern "C" {
4625 pub fn dWorldSetAngularDampingThreshold(w: dWorldID, threshold: dReal);
4626}
4627extern "C" {
4628 pub fn dWorldGetLinearDamping(w: dWorldID) -> dReal;
4629}
4630extern "C" {
4631 pub fn dWorldSetLinearDamping(w: dWorldID, scale: dReal);
4632}
4633extern "C" {
4634 pub fn dWorldGetAngularDamping(w: dWorldID) -> dReal;
4635}
4636extern "C" {
4637 pub fn dWorldSetAngularDamping(w: dWorldID, scale: dReal);
4638}
4639extern "C" {
4640 pub fn dWorldSetDamping(w: dWorldID, linear_scale: dReal, angular_scale: dReal);
4641}
4642extern "C" {
4643 pub fn dWorldGetMaxAngularSpeed(w: dWorldID) -> dReal;
4644}
4645extern "C" {
4646 pub fn dWorldSetMaxAngularSpeed(w: dWorldID, max_speed: dReal);
4647}
4648extern "C" {
4649 pub fn dBodyGetAutoDisableLinearThreshold(arg1: dBodyID) -> dReal;
4650}
4651extern "C" {
4652 pub fn dBodySetAutoDisableLinearThreshold(arg1: dBodyID, linear_average_threshold: dReal);
4653}
4654extern "C" {
4655 pub fn dBodyGetAutoDisableAngularThreshold(arg1: dBodyID) -> dReal;
4656}
4657extern "C" {
4658 pub fn dBodySetAutoDisableAngularThreshold(arg1: dBodyID, angular_average_threshold: dReal);
4659}
4660extern "C" {
4661 pub fn dBodyGetAutoDisableAverageSamplesCount(arg1: dBodyID) -> ::std::os::raw::c_int;
4662}
4663extern "C" {
4664 pub fn dBodySetAutoDisableAverageSamplesCount(
4665 arg1: dBodyID,
4666 average_samples_count: ::std::os::raw::c_uint,
4667 );
4668}
4669extern "C" {
4670 pub fn dBodyGetAutoDisableSteps(arg1: dBodyID) -> ::std::os::raw::c_int;
4671}
4672extern "C" {
4673 pub fn dBodySetAutoDisableSteps(arg1: dBodyID, steps: ::std::os::raw::c_int);
4674}
4675extern "C" {
4676 pub fn dBodyGetAutoDisableTime(arg1: dBodyID) -> dReal;
4677}
4678extern "C" {
4679 pub fn dBodySetAutoDisableTime(arg1: dBodyID, time: dReal);
4680}
4681extern "C" {
4682 pub fn dBodyGetAutoDisableFlag(arg1: dBodyID) -> ::std::os::raw::c_int;
4683}
4684extern "C" {
4685 pub fn dBodySetAutoDisableFlag(arg1: dBodyID, do_auto_disable: ::std::os::raw::c_int);
4686}
4687extern "C" {
4688 pub fn dBodySetAutoDisableDefaults(arg1: dBodyID);
4689}
4690extern "C" {
4691 pub fn dBodyGetWorld(arg1: dBodyID) -> dWorldID;
4692}
4693extern "C" {
4694 pub fn dBodyCreate(arg1: dWorldID) -> dBodyID;
4695}
4696extern "C" {
4697 pub fn dBodyDestroy(arg1: dBodyID);
4698}
4699extern "C" {
4700 pub fn dBodySetData(arg1: dBodyID, data: *mut ::std::os::raw::c_void);
4701}
4702extern "C" {
4703 pub fn dBodyGetData(arg1: dBodyID) -> *mut ::std::os::raw::c_void;
4704}
4705extern "C" {
4706 pub fn dBodySetPosition(arg1: dBodyID, x: dReal, y: dReal, z: dReal);
4707}
4708extern "C" {
4709 pub fn dBodySetRotation(arg1: dBodyID, R: *mut dReal);
4710}
4711extern "C" {
4712 pub fn dBodySetQuaternion(arg1: dBodyID, q: *mut dReal);
4713}
4714extern "C" {
4715 pub fn dBodySetLinearVel(arg1: dBodyID, x: dReal, y: dReal, z: dReal);
4716}
4717extern "C" {
4718 pub fn dBodySetAngularVel(arg1: dBodyID, x: dReal, y: dReal, z: dReal);
4719}
4720extern "C" {
4721 pub fn dBodyGetPosition(arg1: dBodyID) -> *const dReal;
4722}
4723extern "C" {
4724 pub fn dBodyCopyPosition(body: dBodyID, pos: *mut dReal);
4725}
4726extern "C" {
4727 pub fn dBodyGetRotation(arg1: dBodyID) -> *const dReal;
4728}
4729extern "C" {
4730 pub fn dBodyCopyRotation(arg1: dBodyID, R: *mut dReal);
4731}
4732extern "C" {
4733 pub fn dBodyGetQuaternion(arg1: dBodyID) -> *const dReal;
4734}
4735extern "C" {
4736 pub fn dBodyCopyQuaternion(body: dBodyID, quat: *mut dReal);
4737}
4738extern "C" {
4739 pub fn dBodyGetLinearVel(arg1: dBodyID) -> *const dReal;
4740}
4741extern "C" {
4742 pub fn dBodyGetAngularVel(arg1: dBodyID) -> *const dReal;
4743}
4744extern "C" {
4745 pub fn dBodySetMass(arg1: dBodyID, mass: *const dMass);
4746}
4747extern "C" {
4748 pub fn dBodyGetMass(arg1: dBodyID, mass: *mut dMass);
4749}
4750extern "C" {
4751 pub fn dBodyAddForce(arg1: dBodyID, fx: dReal, fy: dReal, fz: dReal);
4752}
4753extern "C" {
4754 pub fn dBodyAddTorque(arg1: dBodyID, fx: dReal, fy: dReal, fz: dReal);
4755}
4756extern "C" {
4757 pub fn dBodyAddRelForce(arg1: dBodyID, fx: dReal, fy: dReal, fz: dReal);
4758}
4759extern "C" {
4760 pub fn dBodyAddRelTorque(arg1: dBodyID, fx: dReal, fy: dReal, fz: dReal);
4761}
4762extern "C" {
4763 pub fn dBodyAddForceAtPos(
4764 arg1: dBodyID,
4765 fx: dReal,
4766 fy: dReal,
4767 fz: dReal,
4768 px: dReal,
4769 py: dReal,
4770 pz: dReal,
4771 );
4772}
4773extern "C" {
4774 pub fn dBodyAddForceAtRelPos(
4775 arg1: dBodyID,
4776 fx: dReal,
4777 fy: dReal,
4778 fz: dReal,
4779 px: dReal,
4780 py: dReal,
4781 pz: dReal,
4782 );
4783}
4784extern "C" {
4785 pub fn dBodyAddRelForceAtPos(
4786 arg1: dBodyID,
4787 fx: dReal,
4788 fy: dReal,
4789 fz: dReal,
4790 px: dReal,
4791 py: dReal,
4792 pz: dReal,
4793 );
4794}
4795extern "C" {
4796 pub fn dBodyAddRelForceAtRelPos(
4797 arg1: dBodyID,
4798 fx: dReal,
4799 fy: dReal,
4800 fz: dReal,
4801 px: dReal,
4802 py: dReal,
4803 pz: dReal,
4804 );
4805}
4806extern "C" {
4807 pub fn dBodyGetForce(arg1: dBodyID) -> *const dReal;
4808}
4809extern "C" {
4810 pub fn dBodyGetTorque(arg1: dBodyID) -> *const dReal;
4811}
4812extern "C" {
4813 pub fn dBodySetForce(b: dBodyID, x: dReal, y: dReal, z: dReal);
4814}
4815extern "C" {
4816 pub fn dBodySetTorque(b: dBodyID, x: dReal, y: dReal, z: dReal);
4817}
4818extern "C" {
4819 pub fn dBodyGetRelPointPos(arg1: dBodyID, px: dReal, py: dReal, pz: dReal, result: *mut dReal);
4820}
4821extern "C" {
4822 pub fn dBodyGetRelPointVel(arg1: dBodyID, px: dReal, py: dReal, pz: dReal, result: *mut dReal);
4823}
4824extern "C" {
4825 pub fn dBodyGetPointVel(arg1: dBodyID, px: dReal, py: dReal, pz: dReal, result: *mut dReal);
4826}
4827extern "C" {
4828 pub fn dBodyGetPosRelPoint(arg1: dBodyID, px: dReal, py: dReal, pz: dReal, result: *mut dReal);
4829}
4830extern "C" {
4831 pub fn dBodyVectorToWorld(arg1: dBodyID, px: dReal, py: dReal, pz: dReal, result: *mut dReal);
4832}
4833extern "C" {
4834 pub fn dBodyVectorFromWorld(arg1: dBodyID, px: dReal, py: dReal, pz: dReal, result: *mut dReal);
4835}
4836extern "C" {
4837 pub fn dBodySetFiniteRotationMode(arg1: dBodyID, mode: ::std::os::raw::c_int);
4838}
4839extern "C" {
4840 pub fn dBodySetFiniteRotationAxis(arg1: dBodyID, x: dReal, y: dReal, z: dReal);
4841}
4842extern "C" {
4843 pub fn dBodyGetFiniteRotationMode(arg1: dBodyID) -> ::std::os::raw::c_int;
4844}
4845extern "C" {
4846 pub fn dBodyGetFiniteRotationAxis(arg1: dBodyID, result: *mut dReal);
4847}
4848extern "C" {
4849 pub fn dBodyGetNumJoints(b: dBodyID) -> ::std::os::raw::c_int;
4850}
4851extern "C" {
4852 pub fn dBodyGetJoint(arg1: dBodyID, index: ::std::os::raw::c_int) -> dJointID;
4853}
4854extern "C" {
4855 pub fn dBodySetDynamic(arg1: dBodyID);
4856}
4857extern "C" {
4858 pub fn dBodySetKinematic(arg1: dBodyID);
4859}
4860extern "C" {
4861 pub fn dBodyIsKinematic(arg1: dBodyID) -> ::std::os::raw::c_int;
4862}
4863extern "C" {
4864 pub fn dBodyEnable(arg1: dBodyID);
4865}
4866extern "C" {
4867 pub fn dBodyDisable(arg1: dBodyID);
4868}
4869extern "C" {
4870 pub fn dBodyIsEnabled(arg1: dBodyID) -> ::std::os::raw::c_int;
4871}
4872extern "C" {
4873 pub fn dBodySetGravityMode(b: dBodyID, mode: ::std::os::raw::c_int);
4874}
4875extern "C" {
4876 pub fn dBodyGetGravityMode(b: dBodyID) -> ::std::os::raw::c_int;
4877}
4878extern "C" {
4879 pub fn dBodySetMovedCallback(
4880 b: dBodyID,
4881 callback: ::std::option::Option<unsafe extern "C" fn(arg1: dBodyID)>,
4882 );
4883}
4884extern "C" {
4885 pub fn dBodyGetFirstGeom(b: dBodyID) -> dGeomID;
4886}
4887extern "C" {
4888 pub fn dBodyGetNextGeom(g: dGeomID) -> dGeomID;
4889}
4890extern "C" {
4891 pub fn dBodySetDampingDefaults(b: dBodyID);
4892}
4893extern "C" {
4894 pub fn dBodyGetLinearDamping(b: dBodyID) -> dReal;
4895}
4896extern "C" {
4897 pub fn dBodySetLinearDamping(b: dBodyID, scale: dReal);
4898}
4899extern "C" {
4900 pub fn dBodyGetAngularDamping(b: dBodyID) -> dReal;
4901}
4902extern "C" {
4903 pub fn dBodySetAngularDamping(b: dBodyID, scale: dReal);
4904}
4905extern "C" {
4906 pub fn dBodySetDamping(b: dBodyID, linear_scale: dReal, angular_scale: dReal);
4907}
4908extern "C" {
4909 pub fn dBodyGetLinearDampingThreshold(b: dBodyID) -> dReal;
4910}
4911extern "C" {
4912 pub fn dBodySetLinearDampingThreshold(b: dBodyID, threshold: dReal);
4913}
4914extern "C" {
4915 pub fn dBodyGetAngularDampingThreshold(b: dBodyID) -> dReal;
4916}
4917extern "C" {
4918 pub fn dBodySetAngularDampingThreshold(b: dBodyID, threshold: dReal);
4919}
4920extern "C" {
4921 pub fn dBodyGetMaxAngularSpeed(b: dBodyID) -> dReal;
4922}
4923extern "C" {
4924 pub fn dBodySetMaxAngularSpeed(b: dBodyID, max_speed: dReal);
4925}
4926extern "C" {
4927 pub fn dBodyGetGyroscopicMode(b: dBodyID) -> ::std::os::raw::c_int;
4928}
4929extern "C" {
4930 pub fn dBodySetGyroscopicMode(b: dBodyID, enabled: ::std::os::raw::c_int);
4931}
4932extern "C" {
4933 pub fn dJointCreateBall(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4934}
4935extern "C" {
4936 pub fn dJointCreateHinge(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4937}
4938extern "C" {
4939 pub fn dJointCreateSlider(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4940}
4941extern "C" {
4942 pub fn dJointCreateContact(
4943 arg1: dWorldID,
4944 arg2: dJointGroupID,
4945 arg3: *const dContact,
4946 ) -> dJointID;
4947}
4948extern "C" {
4949 pub fn dJointCreateHinge2(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4950}
4951extern "C" {
4952 pub fn dJointCreateUniversal(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4953}
4954extern "C" {
4955 pub fn dJointCreatePR(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4956}
4957extern "C" {
4958 pub fn dJointCreatePU(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4959}
4960extern "C" {
4961 pub fn dJointCreatePiston(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4962}
4963extern "C" {
4964 pub fn dJointCreateFixed(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4965}
4966extern "C" {
4967 pub fn dJointCreateNull(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4968}
4969extern "C" {
4970 pub fn dJointCreateAMotor(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4971}
4972extern "C" {
4973 pub fn dJointCreateLMotor(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4974}
4975extern "C" {
4976 pub fn dJointCreatePlane2D(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4977}
4978extern "C" {
4979 pub fn dJointCreateDBall(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4980}
4981extern "C" {
4982 pub fn dJointCreateDHinge(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4983}
4984extern "C" {
4985 pub fn dJointCreateTransmission(arg1: dWorldID, arg2: dJointGroupID) -> dJointID;
4986}
4987extern "C" {
4988 pub fn dJointDestroy(arg1: dJointID);
4989}
4990extern "C" {
4991 pub fn dJointGroupCreate(max_size: ::std::os::raw::c_int) -> dJointGroupID;
4992}
4993extern "C" {
4994 pub fn dJointGroupDestroy(arg1: dJointGroupID);
4995}
4996extern "C" {
4997 pub fn dJointGroupEmpty(arg1: dJointGroupID);
4998}
4999extern "C" {
5000 pub fn dJointGetNumBodies(arg1: dJointID) -> ::std::os::raw::c_int;
5001}
5002extern "C" {
5003 pub fn dJointAttach(arg1: dJointID, body1: dBodyID, body2: dBodyID);
5004}
5005extern "C" {
5006 pub fn dJointEnable(arg1: dJointID);
5007}
5008extern "C" {
5009 pub fn dJointDisable(arg1: dJointID);
5010}
5011extern "C" {
5012 pub fn dJointIsEnabled(arg1: dJointID) -> ::std::os::raw::c_int;
5013}
5014extern "C" {
5015 pub fn dJointSetData(arg1: dJointID, data: *mut ::std::os::raw::c_void);
5016}
5017extern "C" {
5018 pub fn dJointGetData(arg1: dJointID) -> *mut ::std::os::raw::c_void;
5019}
5020extern "C" {
5021 pub fn dJointGetType(arg1: dJointID) -> dJointType;
5022}
5023extern "C" {
5024 pub fn dJointGetBody(arg1: dJointID, index: ::std::os::raw::c_int) -> dBodyID;
5025}
5026extern "C" {
5027 pub fn dJointSetFeedback(arg1: dJointID, arg2: *mut dJointFeedback);
5028}
5029extern "C" {
5030 pub fn dJointGetFeedback(arg1: dJointID) -> *mut dJointFeedback;
5031}
5032extern "C" {
5033 pub fn dJointSetBallAnchor(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5034}
5035extern "C" {
5036 pub fn dJointSetBallAnchor2(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5037}
5038extern "C" {
5039 pub fn dJointSetBallParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5040}
5041extern "C" {
5042 pub fn dJointSetHingeAnchor(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5043}
5044extern "C" {
5045 pub fn dJointSetHingeAnchorDelta(
5046 arg1: dJointID,
5047 x: dReal,
5048 y: dReal,
5049 z: dReal,
5050 ax: dReal,
5051 ay: dReal,
5052 az: dReal,
5053 );
5054}
5055extern "C" {
5056 pub fn dJointSetHingeAxis(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5057}
5058extern "C" {
5059 pub fn dJointSetHingeAxisOffset(j: dJointID, x: dReal, y: dReal, z: dReal, angle: dReal);
5060}
5061extern "C" {
5062 pub fn dJointSetHingeParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5063}
5064extern "C" {
5065 pub fn dJointAddHingeTorque(joint: dJointID, torque: dReal);
5066}
5067extern "C" {
5068 pub fn dJointSetSliderAxis(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5069}
5070extern "C" {
5071 pub fn dJointSetSliderAxisDelta(
5072 arg1: dJointID,
5073 x: dReal,
5074 y: dReal,
5075 z: dReal,
5076 ax: dReal,
5077 ay: dReal,
5078 az: dReal,
5079 );
5080}
5081extern "C" {
5082 pub fn dJointSetSliderParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5083}
5084extern "C" {
5085 pub fn dJointAddSliderForce(joint: dJointID, force: dReal);
5086}
5087extern "C" {
5088 pub fn dJointSetHinge2Anchor(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5089}
5090extern "C" {
5091 pub fn dJointSetHinge2Axes(j: dJointID, axis1: *const dReal, axis2: *const dReal);
5092}
5093extern "C" {
5094 pub fn dJointSetHinge2Axis1(j: dJointID, x: dReal, y: dReal, z: dReal);
5095}
5096extern "C" {
5097 pub fn dJointSetHinge2Axis2(j: dJointID, x: dReal, y: dReal, z: dReal);
5098}
5099extern "C" {
5100 pub fn dJointSetHinge2Param(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5101}
5102extern "C" {
5103 pub fn dJointAddHinge2Torques(joint: dJointID, torque1: dReal, torque2: dReal);
5104}
5105extern "C" {
5106 pub fn dJointSetUniversalAnchor(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5107}
5108extern "C" {
5109 pub fn dJointSetUniversalAxis1(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5110}
5111extern "C" {
5112 pub fn dJointSetUniversalAxis1Offset(
5113 arg1: dJointID,
5114 x: dReal,
5115 y: dReal,
5116 z: dReal,
5117 offset1: dReal,
5118 offset2: dReal,
5119 );
5120}
5121extern "C" {
5122 pub fn dJointSetUniversalAxis2(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5123}
5124extern "C" {
5125 pub fn dJointSetUniversalAxis2Offset(
5126 arg1: dJointID,
5127 x: dReal,
5128 y: dReal,
5129 z: dReal,
5130 offset1: dReal,
5131 offset2: dReal,
5132 );
5133}
5134extern "C" {
5135 pub fn dJointSetUniversalParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5136}
5137extern "C" {
5138 pub fn dJointAddUniversalTorques(joint: dJointID, torque1: dReal, torque2: dReal);
5139}
5140extern "C" {
5141 pub fn dJointSetPRAnchor(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5142}
5143extern "C" {
5144 pub fn dJointSetPRAxis1(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5145}
5146extern "C" {
5147 pub fn dJointSetPRAxis2(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5148}
5149extern "C" {
5150 pub fn dJointSetPRParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5151}
5152extern "C" {
5153 pub fn dJointAddPRTorque(j: dJointID, torque: dReal);
5154}
5155extern "C" {
5156 pub fn dJointSetPUAnchor(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5157}
5158extern "C" {
5159 pub fn dJointSetPUAnchorDelta(
5160 arg1: dJointID,
5161 x: dReal,
5162 y: dReal,
5163 z: dReal,
5164 dx: dReal,
5165 dy: dReal,
5166 dz: dReal,
5167 );
5168}
5169extern "C" {
5170 pub fn dJointSetPUAnchorOffset(
5171 arg1: dJointID,
5172 x: dReal,
5173 y: dReal,
5174 z: dReal,
5175 dx: dReal,
5176 dy: dReal,
5177 dz: dReal,
5178 );
5179}
5180extern "C" {
5181 pub fn dJointSetPUAxis1(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5182}
5183extern "C" {
5184 pub fn dJointSetPUAxis2(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5185}
5186extern "C" {
5187 pub fn dJointSetPUAxis3(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5188}
5189extern "C" {
5190 pub fn dJointSetPUAxisP(id: dJointID, x: dReal, y: dReal, z: dReal);
5191}
5192extern "C" {
5193 pub fn dJointSetPUParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5194}
5195extern "C" {
5196 pub fn dJointAddPUTorque(j: dJointID, torque: dReal);
5197}
5198extern "C" {
5199 pub fn dJointSetPistonAnchor(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5200}
5201extern "C" {
5202 pub fn dJointSetPistonAnchorOffset(
5203 j: dJointID,
5204 x: dReal,
5205 y: dReal,
5206 z: dReal,
5207 dx: dReal,
5208 dy: dReal,
5209 dz: dReal,
5210 );
5211}
5212extern "C" {
5213 pub fn dJointSetPistonAxis(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5214}
5215extern "C" {
5216 pub fn dJointSetPistonAxisDelta(
5217 j: dJointID,
5218 x: dReal,
5219 y: dReal,
5220 z: dReal,
5221 ax: dReal,
5222 ay: dReal,
5223 az: dReal,
5224 );
5225}
5226extern "C" {
5227 pub fn dJointSetPistonParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5228}
5229extern "C" {
5230 pub fn dJointAddPistonForce(joint: dJointID, force: dReal);
5231}
5232extern "C" {
5233 pub fn dJointSetFixed(arg1: dJointID);
5234}
5235extern "C" {
5236 pub fn dJointSetFixedParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5237}
5238extern "C" {
5239 pub fn dJointSetAMotorNumAxes(arg1: dJointID, num: ::std::os::raw::c_int);
5240}
5241extern "C" {
5242 pub fn dJointSetAMotorAxis(
5243 arg1: dJointID,
5244 anum: ::std::os::raw::c_int,
5245 rel: ::std::os::raw::c_int,
5246 x: dReal,
5247 y: dReal,
5248 z: dReal,
5249 );
5250}
5251extern "C" {
5252 pub fn dJointSetAMotorAngle(arg1: dJointID, anum: ::std::os::raw::c_int, angle: dReal);
5253}
5254extern "C" {
5255 pub fn dJointSetAMotorParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5256}
5257extern "C" {
5258 pub fn dJointSetAMotorMode(arg1: dJointID, mode: ::std::os::raw::c_int);
5259}
5260extern "C" {
5261 pub fn dJointAddAMotorTorques(arg1: dJointID, torque1: dReal, torque2: dReal, torque3: dReal);
5262}
5263extern "C" {
5264 pub fn dJointSetLMotorNumAxes(arg1: dJointID, num: ::std::os::raw::c_int);
5265}
5266extern "C" {
5267 pub fn dJointSetLMotorAxis(
5268 arg1: dJointID,
5269 anum: ::std::os::raw::c_int,
5270 rel: ::std::os::raw::c_int,
5271 x: dReal,
5272 y: dReal,
5273 z: dReal,
5274 );
5275}
5276extern "C" {
5277 pub fn dJointSetLMotorParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5278}
5279extern "C" {
5280 pub fn dJointSetPlane2DXParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5281}
5282extern "C" {
5283 pub fn dJointSetPlane2DYParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5284}
5285extern "C" {
5286 pub fn dJointSetPlane2DAngleParam(
5287 arg1: dJointID,
5288 parameter: ::std::os::raw::c_int,
5289 value: dReal,
5290 );
5291}
5292extern "C" {
5293 pub fn dJointGetBallAnchor(arg1: dJointID, result: *mut dReal);
5294}
5295extern "C" {
5296 pub fn dJointGetBallAnchor2(arg1: dJointID, result: *mut dReal);
5297}
5298extern "C" {
5299 pub fn dJointGetBallParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5300}
5301extern "C" {
5302 pub fn dJointGetHingeAnchor(arg1: dJointID, result: *mut dReal);
5303}
5304extern "C" {
5305 pub fn dJointGetHingeAnchor2(arg1: dJointID, result: *mut dReal);
5306}
5307extern "C" {
5308 pub fn dJointGetHingeAxis(arg1: dJointID, result: *mut dReal);
5309}
5310extern "C" {
5311 pub fn dJointGetHingeParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5312}
5313extern "C" {
5314 pub fn dJointGetHingeAngle(arg1: dJointID) -> dReal;
5315}
5316extern "C" {
5317 pub fn dJointGetHingeAngleRate(arg1: dJointID) -> dReal;
5318}
5319extern "C" {
5320 pub fn dJointGetSliderPosition(arg1: dJointID) -> dReal;
5321}
5322extern "C" {
5323 pub fn dJointGetSliderPositionRate(arg1: dJointID) -> dReal;
5324}
5325extern "C" {
5326 pub fn dJointGetSliderAxis(arg1: dJointID, result: *mut dReal);
5327}
5328extern "C" {
5329 pub fn dJointGetSliderParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5330}
5331extern "C" {
5332 pub fn dJointGetHinge2Anchor(arg1: dJointID, result: *mut dReal);
5333}
5334extern "C" {
5335 pub fn dJointGetHinge2Anchor2(arg1: dJointID, result: *mut dReal);
5336}
5337extern "C" {
5338 pub fn dJointGetHinge2Axis1(arg1: dJointID, result: *mut dReal);
5339}
5340extern "C" {
5341 pub fn dJointGetHinge2Axis2(arg1: dJointID, result: *mut dReal);
5342}
5343extern "C" {
5344 pub fn dJointGetHinge2Param(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5345}
5346extern "C" {
5347 pub fn dJointGetHinge2Angle1(arg1: dJointID) -> dReal;
5348}
5349extern "C" {
5350 pub fn dJointGetHinge2Angle2(arg1: dJointID) -> dReal;
5351}
5352extern "C" {
5353 pub fn dJointGetHinge2Angle1Rate(arg1: dJointID) -> dReal;
5354}
5355extern "C" {
5356 pub fn dJointGetHinge2Angle2Rate(arg1: dJointID) -> dReal;
5357}
5358extern "C" {
5359 pub fn dJointGetUniversalAnchor(arg1: dJointID, result: *mut dReal);
5360}
5361extern "C" {
5362 pub fn dJointGetUniversalAnchor2(arg1: dJointID, result: *mut dReal);
5363}
5364extern "C" {
5365 pub fn dJointGetUniversalAxis1(arg1: dJointID, result: *mut dReal);
5366}
5367extern "C" {
5368 pub fn dJointGetUniversalAxis2(arg1: dJointID, result: *mut dReal);
5369}
5370extern "C" {
5371 pub fn dJointGetUniversalParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5372}
5373extern "C" {
5374 pub fn dJointGetUniversalAngles(arg1: dJointID, angle1: *mut dReal, angle2: *mut dReal);
5375}
5376extern "C" {
5377 pub fn dJointGetUniversalAngle1(arg1: dJointID) -> dReal;
5378}
5379extern "C" {
5380 pub fn dJointGetUniversalAngle2(arg1: dJointID) -> dReal;
5381}
5382extern "C" {
5383 pub fn dJointGetUniversalAngle1Rate(arg1: dJointID) -> dReal;
5384}
5385extern "C" {
5386 pub fn dJointGetUniversalAngle2Rate(arg1: dJointID) -> dReal;
5387}
5388extern "C" {
5389 pub fn dJointGetPRAnchor(arg1: dJointID, result: *mut dReal);
5390}
5391extern "C" {
5392 pub fn dJointGetPRPosition(arg1: dJointID) -> dReal;
5393}
5394extern "C" {
5395 pub fn dJointGetPRPositionRate(arg1: dJointID) -> dReal;
5396}
5397extern "C" {
5398 pub fn dJointGetPRAngle(arg1: dJointID) -> dReal;
5399}
5400extern "C" {
5401 pub fn dJointGetPRAngleRate(arg1: dJointID) -> dReal;
5402}
5403extern "C" {
5404 pub fn dJointGetPRAxis1(arg1: dJointID, result: *mut dReal);
5405}
5406extern "C" {
5407 pub fn dJointGetPRAxis2(arg1: dJointID, result: *mut dReal);
5408}
5409extern "C" {
5410 pub fn dJointGetPRParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5411}
5412extern "C" {
5413 pub fn dJointGetPUAnchor(arg1: dJointID, result: *mut dReal);
5414}
5415extern "C" {
5416 pub fn dJointGetPUPosition(arg1: dJointID) -> dReal;
5417}
5418extern "C" {
5419 pub fn dJointGetPUPositionRate(arg1: dJointID) -> dReal;
5420}
5421extern "C" {
5422 pub fn dJointGetPUAxis1(arg1: dJointID, result: *mut dReal);
5423}
5424extern "C" {
5425 pub fn dJointGetPUAxis2(arg1: dJointID, result: *mut dReal);
5426}
5427extern "C" {
5428 pub fn dJointGetPUAxis3(arg1: dJointID, result: *mut dReal);
5429}
5430extern "C" {
5431 pub fn dJointGetPUAxisP(id: dJointID, result: *mut dReal);
5432}
5433extern "C" {
5434 pub fn dJointGetPUAngles(arg1: dJointID, angle1: *mut dReal, angle2: *mut dReal);
5435}
5436extern "C" {
5437 pub fn dJointGetPUAngle1(arg1: dJointID) -> dReal;
5438}
5439extern "C" {
5440 pub fn dJointGetPUAngle1Rate(arg1: dJointID) -> dReal;
5441}
5442extern "C" {
5443 pub fn dJointGetPUAngle2(arg1: dJointID) -> dReal;
5444}
5445extern "C" {
5446 pub fn dJointGetPUAngle2Rate(arg1: dJointID) -> dReal;
5447}
5448extern "C" {
5449 pub fn dJointGetPUParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5450}
5451extern "C" {
5452 pub fn dJointGetPistonPosition(arg1: dJointID) -> dReal;
5453}
5454extern "C" {
5455 pub fn dJointGetPistonPositionRate(arg1: dJointID) -> dReal;
5456}
5457extern "C" {
5458 pub fn dJointGetPistonAngle(arg1: dJointID) -> dReal;
5459}
5460extern "C" {
5461 pub fn dJointGetPistonAngleRate(arg1: dJointID) -> dReal;
5462}
5463extern "C" {
5464 pub fn dJointGetPistonAnchor(arg1: dJointID, result: *mut dReal);
5465}
5466extern "C" {
5467 pub fn dJointGetPistonAnchor2(arg1: dJointID, result: *mut dReal);
5468}
5469extern "C" {
5470 pub fn dJointGetPistonAxis(arg1: dJointID, result: *mut dReal);
5471}
5472extern "C" {
5473 pub fn dJointGetPistonParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5474}
5475extern "C" {
5476 pub fn dJointGetAMotorNumAxes(arg1: dJointID) -> ::std::os::raw::c_int;
5477}
5478extern "C" {
5479 pub fn dJointGetAMotorAxis(arg1: dJointID, anum: ::std::os::raw::c_int, result: *mut dReal);
5480}
5481extern "C" {
5482 pub fn dJointGetAMotorAxisRel(
5483 arg1: dJointID,
5484 anum: ::std::os::raw::c_int,
5485 ) -> ::std::os::raw::c_int;
5486}
5487extern "C" {
5488 pub fn dJointGetAMotorAngle(arg1: dJointID, anum: ::std::os::raw::c_int) -> dReal;
5489}
5490extern "C" {
5491 pub fn dJointGetAMotorAngleRate(arg1: dJointID, anum: ::std::os::raw::c_int) -> dReal;
5492}
5493extern "C" {
5494 pub fn dJointGetAMotorParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5495}
5496extern "C" {
5497 pub fn dJointGetAMotorMode(arg1: dJointID) -> ::std::os::raw::c_int;
5498}
5499extern "C" {
5500 pub fn dJointGetLMotorNumAxes(arg1: dJointID) -> ::std::os::raw::c_int;
5501}
5502extern "C" {
5503 pub fn dJointGetLMotorAxis(arg1: dJointID, anum: ::std::os::raw::c_int, result: *mut dReal);
5504}
5505extern "C" {
5506 pub fn dJointGetLMotorParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5507}
5508extern "C" {
5509 pub fn dJointGetFixedParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5510}
5511extern "C" {
5512 pub fn dJointGetTransmissionContactPoint1(arg1: dJointID, result: *mut dReal);
5513}
5514extern "C" {
5515 pub fn dJointGetTransmissionContactPoint2(arg1: dJointID, result: *mut dReal);
5516}
5517extern "C" {
5518 pub fn dJointSetTransmissionAxis1(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5519}
5520extern "C" {
5521 pub fn dJointGetTransmissionAxis1(arg1: dJointID, result: *mut dReal);
5522}
5523extern "C" {
5524 pub fn dJointSetTransmissionAxis2(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5525}
5526extern "C" {
5527 pub fn dJointGetTransmissionAxis2(arg1: dJointID, result: *mut dReal);
5528}
5529extern "C" {
5530 pub fn dJointSetTransmissionAnchor1(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5531}
5532extern "C" {
5533 pub fn dJointGetTransmissionAnchor1(arg1: dJointID, result: *mut dReal);
5534}
5535extern "C" {
5536 pub fn dJointSetTransmissionAnchor2(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5537}
5538extern "C" {
5539 pub fn dJointGetTransmissionAnchor2(arg1: dJointID, result: *mut dReal);
5540}
5541extern "C" {
5542 pub fn dJointSetTransmissionParam(
5543 arg1: dJointID,
5544 parameter: ::std::os::raw::c_int,
5545 value: dReal,
5546 );
5547}
5548extern "C" {
5549 pub fn dJointGetTransmissionParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5550}
5551extern "C" {
5552 pub fn dJointSetTransmissionMode(j: dJointID, mode: ::std::os::raw::c_int);
5553}
5554extern "C" {
5555 pub fn dJointGetTransmissionMode(j: dJointID) -> ::std::os::raw::c_int;
5556}
5557extern "C" {
5558 pub fn dJointSetTransmissionRatio(j: dJointID, ratio: dReal);
5559}
5560extern "C" {
5561 pub fn dJointGetTransmissionRatio(j: dJointID) -> dReal;
5562}
5563extern "C" {
5564 pub fn dJointSetTransmissionAxis(j: dJointID, x: dReal, y: dReal, z: dReal);
5565}
5566extern "C" {
5567 pub fn dJointGetTransmissionAxis(j: dJointID, result: *mut dReal);
5568}
5569extern "C" {
5570 pub fn dJointGetTransmissionAngle1(j: dJointID) -> dReal;
5571}
5572extern "C" {
5573 pub fn dJointGetTransmissionAngle2(j: dJointID) -> dReal;
5574}
5575extern "C" {
5576 pub fn dJointGetTransmissionRadius1(j: dJointID) -> dReal;
5577}
5578extern "C" {
5579 pub fn dJointGetTransmissionRadius2(j: dJointID) -> dReal;
5580}
5581extern "C" {
5582 pub fn dJointSetTransmissionRadius1(j: dJointID, radius: dReal);
5583}
5584extern "C" {
5585 pub fn dJointSetTransmissionRadius2(j: dJointID, radius: dReal);
5586}
5587extern "C" {
5588 pub fn dJointGetTransmissionBacklash(j: dJointID) -> dReal;
5589}
5590extern "C" {
5591 pub fn dJointSetTransmissionBacklash(j: dJointID, backlash: dReal);
5592}
5593extern "C" {
5594 pub fn dJointSetDBallAnchor1(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5595}
5596extern "C" {
5597 pub fn dJointSetDBallAnchor2(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5598}
5599extern "C" {
5600 pub fn dJointGetDBallAnchor1(arg1: dJointID, result: *mut dReal);
5601}
5602extern "C" {
5603 pub fn dJointGetDBallAnchor2(arg1: dJointID, result: *mut dReal);
5604}
5605extern "C" {
5606 pub fn dJointGetDBallDistance(arg1: dJointID) -> dReal;
5607}
5608extern "C" {
5609 pub fn dJointSetDBallDistance(arg1: dJointID, dist: dReal);
5610}
5611extern "C" {
5612 pub fn dJointSetDBallParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5613}
5614extern "C" {
5615 pub fn dJointGetDBallParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5616}
5617extern "C" {
5618 pub fn dJointSetDHingeAxis(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5619}
5620extern "C" {
5621 pub fn dJointGetDHingeAxis(arg1: dJointID, result: *mut dReal);
5622}
5623extern "C" {
5624 pub fn dJointSetDHingeAnchor1(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5625}
5626extern "C" {
5627 pub fn dJointSetDHingeAnchor2(arg1: dJointID, x: dReal, y: dReal, z: dReal);
5628}
5629extern "C" {
5630 pub fn dJointGetDHingeAnchor1(arg1: dJointID, result: *mut dReal);
5631}
5632extern "C" {
5633 pub fn dJointGetDHingeAnchor2(arg1: dJointID, result: *mut dReal);
5634}
5635extern "C" {
5636 pub fn dJointGetDHingeDistance(arg1: dJointID) -> dReal;
5637}
5638extern "C" {
5639 pub fn dJointSetDHingeParam(arg1: dJointID, parameter: ::std::os::raw::c_int, value: dReal);
5640}
5641extern "C" {
5642 pub fn dJointGetDHingeParam(arg1: dJointID, parameter: ::std::os::raw::c_int) -> dReal;
5643}
5644extern "C" {
5645 pub fn dConnectingJoint(arg1: dBodyID, arg2: dBodyID) -> dJointID;
5646}
5647extern "C" {
5648 pub fn dConnectingJointList(
5649 arg1: dBodyID,
5650 arg2: dBodyID,
5651 arg3: *mut dJointID,
5652 ) -> ::std::os::raw::c_int;
5653}
5654extern "C" {
5655 pub fn dAreConnected(arg1: dBodyID, arg2: dBodyID) -> ::std::os::raw::c_int;
5656}
5657extern "C" {
5658 pub fn dAreConnectedExcluding(
5659 body1: dBodyID,
5660 body2: dBodyID,
5661 joint_type: ::std::os::raw::c_int,
5662 ) -> ::std::os::raw::c_int;
5663}
5664pub type dNearCallback = ::std::option::Option<
5665 unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, o1: dGeomID, o2: dGeomID),
5666>;
5667extern "C" {
5668 pub fn dSimpleSpaceCreate(space: dSpaceID) -> dSpaceID;
5669}
5670extern "C" {
5671 pub fn dHashSpaceCreate(space: dSpaceID) -> dSpaceID;
5672}
5673extern "C" {
5674 pub fn dQuadTreeSpaceCreate(
5675 space: dSpaceID,
5676 Center: *mut dReal,
5677 Extents: *mut dReal,
5678 Depth: ::std::os::raw::c_int,
5679 ) -> dSpaceID;
5680}
5681extern "C" {
5682 pub fn dSweepAndPruneSpaceCreate(space: dSpaceID, axisorder: ::std::os::raw::c_int)
5683 -> dSpaceID;
5684}
5685extern "C" {
5686 pub fn dSpaceDestroy(arg1: dSpaceID);
5687}
5688extern "C" {
5689 pub fn dHashSpaceSetLevels(
5690 space: dSpaceID,
5691 minlevel: ::std::os::raw::c_int,
5692 maxlevel: ::std::os::raw::c_int,
5693 );
5694}
5695extern "C" {
5696 pub fn dHashSpaceGetLevels(
5697 space: dSpaceID,
5698 minlevel: *mut ::std::os::raw::c_int,
5699 maxlevel: *mut ::std::os::raw::c_int,
5700 );
5701}
5702extern "C" {
5703 pub fn dSpaceSetCleanup(space: dSpaceID, mode: ::std::os::raw::c_int);
5704}
5705extern "C" {
5706 pub fn dSpaceGetCleanup(space: dSpaceID) -> ::std::os::raw::c_int;
5707}
5708extern "C" {
5709 pub fn dSpaceSetSublevel(space: dSpaceID, sublevel: ::std::os::raw::c_int);
5710}
5711extern "C" {
5712 pub fn dSpaceGetSublevel(space: dSpaceID) -> ::std::os::raw::c_int;
5713}
5714extern "C" {
5715 pub fn dSpaceSetManualCleanup(space: dSpaceID, mode: ::std::os::raw::c_int);
5716}
5717extern "C" {
5718 pub fn dSpaceGetManualCleanup(space: dSpaceID) -> ::std::os::raw::c_int;
5719}
5720extern "C" {
5721 pub fn dSpaceAdd(arg1: dSpaceID, arg2: dGeomID);
5722}
5723extern "C" {
5724 pub fn dSpaceRemove(arg1: dSpaceID, arg2: dGeomID);
5725}
5726extern "C" {
5727 pub fn dSpaceQuery(arg1: dSpaceID, arg2: dGeomID) -> ::std::os::raw::c_int;
5728}
5729extern "C" {
5730 pub fn dSpaceClean(arg1: dSpaceID);
5731}
5732extern "C" {
5733 pub fn dSpaceGetNumGeoms(arg1: dSpaceID) -> ::std::os::raw::c_int;
5734}
5735extern "C" {
5736 pub fn dSpaceGetGeom(arg1: dSpaceID, i: ::std::os::raw::c_int) -> dGeomID;
5737}
5738extern "C" {
5739 pub fn dSpaceGetClass(space: dSpaceID) -> ::std::os::raw::c_int;
5740}
5741extern "C" {
5742 pub fn dGeomDestroy(geom: dGeomID);
5743}
5744extern "C" {
5745 pub fn dGeomSetData(geom: dGeomID, data: *mut ::std::os::raw::c_void);
5746}
5747extern "C" {
5748 pub fn dGeomGetData(geom: dGeomID) -> *mut ::std::os::raw::c_void;
5749}
5750extern "C" {
5751 pub fn dGeomSetBody(geom: dGeomID, body: dBodyID);
5752}
5753extern "C" {
5754 pub fn dGeomGetBody(geom: dGeomID) -> dBodyID;
5755}
5756extern "C" {
5757 pub fn dGeomSetPosition(geom: dGeomID, x: dReal, y: dReal, z: dReal);
5758}
5759extern "C" {
5760 pub fn dGeomSetRotation(geom: dGeomID, R: *mut dReal);
5761}
5762extern "C" {
5763 pub fn dGeomSetQuaternion(geom: dGeomID, Q: *mut dReal);
5764}
5765extern "C" {
5766 pub fn dGeomGetPosition(geom: dGeomID) -> *const dReal;
5767}
5768extern "C" {
5769 pub fn dGeomCopyPosition(geom: dGeomID, pos: *mut dReal);
5770}
5771extern "C" {
5772 pub fn dGeomGetRotation(geom: dGeomID) -> *const dReal;
5773}
5774extern "C" {
5775 pub fn dGeomCopyRotation(geom: dGeomID, R: *mut dReal);
5776}
5777extern "C" {
5778 pub fn dGeomGetQuaternion(geom: dGeomID, result: *mut dReal);
5779}
5780extern "C" {
5781 pub fn dGeomGetAABB(geom: dGeomID, aabb: *mut dReal);
5782}
5783extern "C" {
5784 pub fn dGeomIsSpace(geom: dGeomID) -> ::std::os::raw::c_int;
5785}
5786extern "C" {
5787 pub fn dGeomGetSpace(arg1: dGeomID) -> dSpaceID;
5788}
5789extern "C" {
5790 pub fn dGeomGetClass(geom: dGeomID) -> ::std::os::raw::c_int;
5791}
5792extern "C" {
5793 pub fn dGeomSetCategoryBits(geom: dGeomID, bits: ::std::os::raw::c_ulong);
5794}
5795extern "C" {
5796 pub fn dGeomSetCollideBits(geom: dGeomID, bits: ::std::os::raw::c_ulong);
5797}
5798extern "C" {
5799 pub fn dGeomGetCategoryBits(arg1: dGeomID) -> ::std::os::raw::c_ulong;
5800}
5801extern "C" {
5802 pub fn dGeomGetCollideBits(arg1: dGeomID) -> ::std::os::raw::c_ulong;
5803}
5804extern "C" {
5805 pub fn dGeomEnable(geom: dGeomID);
5806}
5807extern "C" {
5808 pub fn dGeomDisable(geom: dGeomID);
5809}
5810extern "C" {
5811 pub fn dGeomIsEnabled(geom: dGeomID) -> ::std::os::raw::c_int;
5812}
5813pub const dGeomCommonControlClass: _bindgen_ty_6 = 0;
5814pub const dGeomColliderControlClass: _bindgen_ty_6 = 1;
5815pub type _bindgen_ty_6 = ::std::os::raw::c_int;
5816pub const dGeomCommonAnyControlCode: _bindgen_ty_7 = 0;
5817pub const dGeomColliderSetMergeSphereContactsControlCode: _bindgen_ty_7 = 1;
5818pub const dGeomColliderGetMergeSphereContactsControlCode: _bindgen_ty_7 = 2;
5819pub type _bindgen_ty_7 = ::std::os::raw::c_int;
5820pub const dGeomColliderMergeContactsValue__Default: _bindgen_ty_8 = 0;
5821pub const dGeomColliderMergeContactsValue_None: _bindgen_ty_8 = 1;
5822pub const dGeomColliderMergeContactsValue_Normals: _bindgen_ty_8 = 2;
5823pub const dGeomColliderMergeContactsValue_Full: _bindgen_ty_8 = 3;
5824pub type _bindgen_ty_8 = ::std::os::raw::c_int;
5825extern "C" {
5826 pub fn dGeomLowLevelControl(
5827 geom: dGeomID,
5828 controlClass: ::std::os::raw::c_int,
5829 controlCode: ::std::os::raw::c_int,
5830 dataValue: *mut ::std::os::raw::c_void,
5831 dataSize: *mut ::std::os::raw::c_int,
5832 ) -> ::std::os::raw::c_int;
5833}
5834extern "C" {
5835 pub fn dGeomGetRelPointPos(geom: dGeomID, px: dReal, py: dReal, pz: dReal, result: *mut dReal);
5836}
5837extern "C" {
5838 pub fn dGeomGetPosRelPoint(geom: dGeomID, px: dReal, py: dReal, pz: dReal, result: *mut dReal);
5839}
5840extern "C" {
5841 pub fn dGeomVectorToWorld(geom: dGeomID, px: dReal, py: dReal, pz: dReal, result: *mut dReal);
5842}
5843extern "C" {
5844 pub fn dGeomVectorFromWorld(geom: dGeomID, px: dReal, py: dReal, pz: dReal, result: *mut dReal);
5845}
5846extern "C" {
5847 pub fn dGeomSetOffsetPosition(geom: dGeomID, x: dReal, y: dReal, z: dReal);
5848}
5849extern "C" {
5850 pub fn dGeomSetOffsetRotation(geom: dGeomID, R: *mut dReal);
5851}
5852extern "C" {
5853 pub fn dGeomSetOffsetQuaternion(geom: dGeomID, Q: *mut dReal);
5854}
5855extern "C" {
5856 pub fn dGeomSetOffsetWorldPosition(geom: dGeomID, x: dReal, y: dReal, z: dReal);
5857}
5858extern "C" {
5859 pub fn dGeomSetOffsetWorldRotation(geom: dGeomID, R: *mut dReal);
5860}
5861extern "C" {
5862 pub fn dGeomSetOffsetWorldQuaternion(geom: dGeomID, arg1: *mut dReal);
5863}
5864extern "C" {
5865 pub fn dGeomClearOffset(geom: dGeomID);
5866}
5867extern "C" {
5868 pub fn dGeomIsOffset(geom: dGeomID) -> ::std::os::raw::c_int;
5869}
5870extern "C" {
5871 pub fn dGeomGetOffsetPosition(geom: dGeomID) -> *const dReal;
5872}
5873extern "C" {
5874 pub fn dGeomCopyOffsetPosition(geom: dGeomID, pos: *mut dReal);
5875}
5876extern "C" {
5877 pub fn dGeomGetOffsetRotation(geom: dGeomID) -> *const dReal;
5878}
5879extern "C" {
5880 pub fn dGeomCopyOffsetRotation(geom: dGeomID, R: *mut dReal);
5881}
5882extern "C" {
5883 pub fn dGeomGetOffsetQuaternion(geom: dGeomID, result: *mut dReal);
5884}
5885extern "C" {
5886 pub fn dCollide(
5887 o1: dGeomID,
5888 o2: dGeomID,
5889 flags: ::std::os::raw::c_int,
5890 contact: *mut dContactGeom,
5891 skip: ::std::os::raw::c_int,
5892 ) -> ::std::os::raw::c_int;
5893}
5894extern "C" {
5895 pub fn dSpaceCollide(
5896 space: dSpaceID,
5897 data: *mut ::std::os::raw::c_void,
5898 callback: dNearCallback,
5899 );
5900}
5901extern "C" {
5902 pub fn dSpaceCollide2(
5903 space1: dGeomID,
5904 space2: dGeomID,
5905 data: *mut ::std::os::raw::c_void,
5906 callback: dNearCallback,
5907 );
5908}
5909pub const dMaxUserClasses: _bindgen_ty_9 = 4;
5910pub type _bindgen_ty_9 = ::std::os::raw::c_int;
5911pub const dSphereClass: _bindgen_ty_10 = 0;
5912pub const dBoxClass: _bindgen_ty_10 = 1;
5913pub const dCapsuleClass: _bindgen_ty_10 = 2;
5914pub const dCylinderClass: _bindgen_ty_10 = 3;
5915pub const dPlaneClass: _bindgen_ty_10 = 4;
5916pub const dRayClass: _bindgen_ty_10 = 5;
5917pub const dConvexClass: _bindgen_ty_10 = 6;
5918pub const dGeomTransformClass: _bindgen_ty_10 = 7;
5919pub const dTriMeshClass: _bindgen_ty_10 = 8;
5920pub const dHeightfieldClass: _bindgen_ty_10 = 9;
5921pub const dFirstSpaceClass: _bindgen_ty_10 = 10;
5922pub const dSimpleSpaceClass: _bindgen_ty_10 = 10;
5923pub const dHashSpaceClass: _bindgen_ty_10 = 11;
5924pub const dSweepAndPruneSpaceClass: _bindgen_ty_10 = 12;
5925pub const dQuadTreeSpaceClass: _bindgen_ty_10 = 13;
5926pub const dLastSpaceClass: _bindgen_ty_10 = 13;
5927pub const dFirstUserClass: _bindgen_ty_10 = 14;
5928pub const dLastUserClass: _bindgen_ty_10 = 17;
5929pub const dGeomNumClasses: _bindgen_ty_10 = 18;
5930pub type _bindgen_ty_10 = ::std::os::raw::c_int;
5931extern "C" {
5932 pub fn dCreateSphere(space: dSpaceID, radius: dReal) -> dGeomID;
5933}
5934extern "C" {
5935 pub fn dGeomSphereSetRadius(sphere: dGeomID, radius: dReal);
5936}
5937extern "C" {
5938 pub fn dGeomSphereGetRadius(sphere: dGeomID) -> dReal;
5939}
5940extern "C" {
5941 pub fn dGeomSpherePointDepth(sphere: dGeomID, x: dReal, y: dReal, z: dReal) -> dReal;
5942}
5943extern "C" {
5944 pub fn dCreateConvex(
5945 space: dSpaceID,
5946 _planes: *const dReal,
5947 _planecount: ::std::os::raw::c_uint,
5948 _points: *const dReal,
5949 _pointcount: ::std::os::raw::c_uint,
5950 _polygons: *const ::std::os::raw::c_uint,
5951 ) -> dGeomID;
5952}
5953extern "C" {
5954 pub fn dGeomSetConvex(
5955 g: dGeomID,
5956 _planes: *const dReal,
5957 _count: ::std::os::raw::c_uint,
5958 _points: *const dReal,
5959 _pointcount: ::std::os::raw::c_uint,
5960 _polygons: *const ::std::os::raw::c_uint,
5961 );
5962}
5963extern "C" {
5964 pub fn dCreateBox(space: dSpaceID, lx: dReal, ly: dReal, lz: dReal) -> dGeomID;
5965}
5966extern "C" {
5967 pub fn dGeomBoxSetLengths(box_: dGeomID, lx: dReal, ly: dReal, lz: dReal);
5968}
5969extern "C" {
5970 pub fn dGeomBoxGetLengths(box_: dGeomID, result: *mut dReal);
5971}
5972extern "C" {
5973 pub fn dGeomBoxPointDepth(box_: dGeomID, x: dReal, y: dReal, z: dReal) -> dReal;
5974}
5975extern "C" {
5976 pub fn dCreatePlane(space: dSpaceID, a: dReal, b: dReal, c: dReal, d: dReal) -> dGeomID;
5977}
5978extern "C" {
5979 pub fn dGeomPlaneSetParams(plane: dGeomID, a: dReal, b: dReal, c: dReal, d: dReal);
5980}
5981extern "C" {
5982 pub fn dGeomPlaneGetParams(plane: dGeomID, result: *mut dReal);
5983}
5984extern "C" {
5985 pub fn dGeomPlanePointDepth(plane: dGeomID, x: dReal, y: dReal, z: dReal) -> dReal;
5986}
5987extern "C" {
5988 pub fn dCreateCapsule(space: dSpaceID, radius: dReal, length: dReal) -> dGeomID;
5989}
5990extern "C" {
5991 pub fn dGeomCapsuleSetParams(ccylinder: dGeomID, radius: dReal, length: dReal);
5992}
5993extern "C" {
5994 pub fn dGeomCapsuleGetParams(ccylinder: dGeomID, radius: *mut dReal, length: *mut dReal);
5995}
5996extern "C" {
5997 pub fn dGeomCapsulePointDepth(ccylinder: dGeomID, x: dReal, y: dReal, z: dReal) -> dReal;
5998}
5999extern "C" {
6000 pub fn dCreateCylinder(space: dSpaceID, radius: dReal, length: dReal) -> dGeomID;
6001}
6002extern "C" {
6003 pub fn dGeomCylinderSetParams(cylinder: dGeomID, radius: dReal, length: dReal);
6004}
6005extern "C" {
6006 pub fn dGeomCylinderGetParams(cylinder: dGeomID, radius: *mut dReal, length: *mut dReal);
6007}
6008extern "C" {
6009 pub fn dCreateRay(space: dSpaceID, length: dReal) -> dGeomID;
6010}
6011extern "C" {
6012 pub fn dGeomRaySetLength(ray: dGeomID, length: dReal);
6013}
6014extern "C" {
6015 pub fn dGeomRayGetLength(ray: dGeomID) -> dReal;
6016}
6017extern "C" {
6018 pub fn dGeomRaySet(
6019 ray: dGeomID,
6020 px: dReal,
6021 py: dReal,
6022 pz: dReal,
6023 dx: dReal,
6024 dy: dReal,
6025 dz: dReal,
6026 );
6027}
6028extern "C" {
6029 pub fn dGeomRayGet(ray: dGeomID, start: *mut dReal, dir: *mut dReal);
6030}
6031extern "C" {
6032 pub fn dGeomRaySetParams(
6033 g: dGeomID,
6034 FirstContact: ::std::os::raw::c_int,
6035 BackfaceCull: ::std::os::raw::c_int,
6036 );
6037}
6038extern "C" {
6039 pub fn dGeomRayGetParams(
6040 g: dGeomID,
6041 FirstContact: *mut ::std::os::raw::c_int,
6042 BackfaceCull: *mut ::std::os::raw::c_int,
6043 );
6044}
6045extern "C" {
6046 pub fn dGeomRaySetFirstContact(g: dGeomID, firstContact: ::std::os::raw::c_int);
6047}
6048extern "C" {
6049 pub fn dGeomRayGetFirstContact(g: dGeomID) -> ::std::os::raw::c_int;
6050}
6051extern "C" {
6052 pub fn dGeomRaySetBackfaceCull(g: dGeomID, backfaceCull: ::std::os::raw::c_int);
6053}
6054extern "C" {
6055 pub fn dGeomRayGetBackfaceCull(g: dGeomID) -> ::std::os::raw::c_int;
6056}
6057extern "C" {
6058 pub fn dGeomRaySetClosestHit(g: dGeomID, closestHit: ::std::os::raw::c_int);
6059}
6060extern "C" {
6061 pub fn dGeomRayGetClosestHit(g: dGeomID) -> ::std::os::raw::c_int;
6062}
6063#[repr(C)]
6064#[derive(Debug, Copy, Clone)]
6065pub struct dxTriMeshData {
6066 _unused: [u8; 0],
6067}
6068pub type dTriMeshDataID = *mut dxTriMeshData;
6069pub const dMeshTriangleVertex_dMTV__MIN: dMeshTriangleVertex = 0;
6070pub const dMeshTriangleVertex_dMTV_FIRST: dMeshTriangleVertex = 0;
6071pub const dMeshTriangleVertex_dMTV_SECOND: dMeshTriangleVertex = 1;
6072pub const dMeshTriangleVertex_dMTV_THIRD: dMeshTriangleVertex = 2;
6073pub const dMeshTriangleVertex_dMTV__MAX: dMeshTriangleVertex = 3;
6074pub type dMeshTriangleVertex = ::std::os::raw::c_int;
6075extern "C" {
6076 pub fn dGeomTriMeshDataCreate() -> dTriMeshDataID;
6077}
6078extern "C" {
6079 pub fn dGeomTriMeshDataDestroy(g: dTriMeshDataID);
6080}
6081pub const dTRIMESHDATA__MIN: _bindgen_ty_11 = 0;
6082pub const dTRIMESHDATA_FACE_NORMALS: _bindgen_ty_11 = 0;
6083pub const dTRIMESHDATA_USE_FLAGS: _bindgen_ty_11 = 1;
6084pub const dTRIMESHDATA__MAX: _bindgen_ty_11 = 2;
6085pub const TRIMESH_FACE_NORMALS: _bindgen_ty_11 = 0;
6086pub type _bindgen_ty_11 = ::std::os::raw::c_int;
6087pub const dMESHDATAUSE_EDGE1: _bindgen_ty_12 = 1;
6088pub const dMESHDATAUSE_EDGE2: _bindgen_ty_12 = 2;
6089pub const dMESHDATAUSE_EDGE3: _bindgen_ty_12 = 4;
6090pub const dMESHDATAUSE_VERTEX1: _bindgen_ty_12 = 8;
6091pub const dMESHDATAUSE_VERTEX2: _bindgen_ty_12 = 16;
6092pub const dMESHDATAUSE_VERTEX3: _bindgen_ty_12 = 32;
6093pub type _bindgen_ty_12 = ::std::os::raw::c_int;
6094extern "C" {
6095 pub fn dGeomTriMeshDataSet(
6096 g: dTriMeshDataID,
6097 data_id: ::std::os::raw::c_int,
6098 in_data: *mut ::std::os::raw::c_void,
6099 );
6100}
6101extern "C" {
6102 pub fn dGeomTriMeshDataGet(
6103 g: dTriMeshDataID,
6104 data_id: ::std::os::raw::c_int,
6105 ) -> *mut ::std::os::raw::c_void;
6106}
6107extern "C" {
6108 pub fn dGeomTriMeshDataGet2(
6109 g: dTriMeshDataID,
6110 data_id: ::std::os::raw::c_int,
6111 pout_size: *mut dsizeint,
6112 ) -> *mut ::std::os::raw::c_void;
6113}
6114extern "C" {
6115 pub fn dGeomTriMeshSetLastTransform(g: dGeomID, last_trans: *mut dReal);
6116}
6117extern "C" {
6118 pub fn dGeomTriMeshGetLastTransform(g: dGeomID) -> *const dReal;
6119}
6120extern "C" {
6121 pub fn dGeomTriMeshDataBuildSingle(
6122 g: dTriMeshDataID,
6123 Vertices: *const ::std::os::raw::c_void,
6124 VertexStride: ::std::os::raw::c_int,
6125 VertexCount: ::std::os::raw::c_int,
6126 Indices: *const ::std::os::raw::c_void,
6127 IndexCount: ::std::os::raw::c_int,
6128 TriStride: ::std::os::raw::c_int,
6129 );
6130}
6131extern "C" {
6132 pub fn dGeomTriMeshDataBuildSingle1(
6133 g: dTriMeshDataID,
6134 Vertices: *const ::std::os::raw::c_void,
6135 VertexStride: ::std::os::raw::c_int,
6136 VertexCount: ::std::os::raw::c_int,
6137 Indices: *const ::std::os::raw::c_void,
6138 IndexCount: ::std::os::raw::c_int,
6139 TriStride: ::std::os::raw::c_int,
6140 Normals: *const ::std::os::raw::c_void,
6141 );
6142}
6143extern "C" {
6144 pub fn dGeomTriMeshDataBuildDouble(
6145 g: dTriMeshDataID,
6146 Vertices: *const ::std::os::raw::c_void,
6147 VertexStride: ::std::os::raw::c_int,
6148 VertexCount: ::std::os::raw::c_int,
6149 Indices: *const ::std::os::raw::c_void,
6150 IndexCount: ::std::os::raw::c_int,
6151 TriStride: ::std::os::raw::c_int,
6152 );
6153}
6154extern "C" {
6155 pub fn dGeomTriMeshDataBuildDouble1(
6156 g: dTriMeshDataID,
6157 Vertices: *const ::std::os::raw::c_void,
6158 VertexStride: ::std::os::raw::c_int,
6159 VertexCount: ::std::os::raw::c_int,
6160 Indices: *const ::std::os::raw::c_void,
6161 IndexCount: ::std::os::raw::c_int,
6162 TriStride: ::std::os::raw::c_int,
6163 Normals: *const ::std::os::raw::c_void,
6164 );
6165}
6166extern "C" {
6167 pub fn dGeomTriMeshDataBuildSimple(
6168 g: dTriMeshDataID,
6169 Vertices: *const dReal,
6170 VertexCount: ::std::os::raw::c_int,
6171 Indices: *const dTriIndex,
6172 IndexCount: ::std::os::raw::c_int,
6173 );
6174}
6175extern "C" {
6176 pub fn dGeomTriMeshDataBuildSimple1(
6177 g: dTriMeshDataID,
6178 Vertices: *const dReal,
6179 VertexCount: ::std::os::raw::c_int,
6180 Indices: *const dTriIndex,
6181 IndexCount: ::std::os::raw::c_int,
6182 Normals: *const ::std::os::raw::c_int,
6183 );
6184}
6185pub const dTRIDATAPREPROCESS_BUILD__MIN: _bindgen_ty_13 = 0;
6186pub const dTRIDATAPREPROCESS_BUILD_CONCAVE_EDGES: _bindgen_ty_13 = 0;
6187pub const dTRIDATAPREPROCESS_BUILD_FACE_ANGLES: _bindgen_ty_13 = 1;
6188pub const dTRIDATAPREPROCESS_BUILD__MAX: _bindgen_ty_13 = 2;
6189pub type _bindgen_ty_13 = ::std::os::raw::c_int;
6190pub const dTRIDATAPREPROCESS_FACE_ANGLES_EXTRA__MIN: _bindgen_ty_14 = 0;
6191pub const dTRIDATAPREPROCESS_FACE_ANGLES_EXTRA_BYTE_POSITIVE: _bindgen_ty_14 = 0;
6192pub const dTRIDATAPREPROCESS_FACE_ANGLES_EXTRA_BYTE_ALL: _bindgen_ty_14 = 1;
6193pub const dTRIDATAPREPROCESS_FACE_ANGLES_EXTRA_WORD_ALL: _bindgen_ty_14 = 2;
6194pub const dTRIDATAPREPROCESS_FACE_ANGLES_EXTRA__MAX: _bindgen_ty_14 = 3;
6195pub const dTRIDATAPREPROCESS_FACE_ANGLES_EXTRA__DEFAULT: _bindgen_ty_14 = 0;
6196pub type _bindgen_ty_14 = ::std::os::raw::c_int;
6197extern "C" {
6198 pub fn dGeomTriMeshDataPreprocess2(
6199 g: dTriMeshDataID,
6200 buildRequestFlags: ::std::os::raw::c_uint,
6201 requestExtraData: *const dintptr,
6202 ) -> ::std::os::raw::c_int;
6203}
6204extern "C" {
6205 pub fn dGeomTriMeshDataPreprocess(g: dTriMeshDataID) -> ::std::os::raw::c_int;
6206}
6207extern "C" {
6208 pub fn dGeomTriMeshDataGetBuffer(
6209 g: dTriMeshDataID,
6210 buf: *mut *mut ::std::os::raw::c_uchar,
6211 bufLen: *mut ::std::os::raw::c_int,
6212 );
6213}
6214extern "C" {
6215 pub fn dGeomTriMeshDataSetBuffer(g: dTriMeshDataID, buf: *mut ::std::os::raw::c_uchar);
6216}
6217pub type dTriCallback = ::std::option::Option<
6218 unsafe extern "C" fn(
6219 TriMesh: dGeomID,
6220 RefObject: dGeomID,
6221 TriangleIndex: ::std::os::raw::c_int,
6222 ) -> ::std::os::raw::c_int,
6223>;
6224extern "C" {
6225 pub fn dGeomTriMeshSetCallback(g: dGeomID, Callback: dTriCallback);
6226}
6227extern "C" {
6228 pub fn dGeomTriMeshGetCallback(g: dGeomID) -> dTriCallback;
6229}
6230pub type dTriArrayCallback = ::std::option::Option<
6231 unsafe extern "C" fn(
6232 TriMesh: dGeomID,
6233 RefObject: dGeomID,
6234 TriIndices: *const ::std::os::raw::c_int,
6235 TriCount: ::std::os::raw::c_int,
6236 ),
6237>;
6238extern "C" {
6239 pub fn dGeomTriMeshSetArrayCallback(g: dGeomID, ArrayCallback: dTriArrayCallback);
6240}
6241extern "C" {
6242 pub fn dGeomTriMeshGetArrayCallback(g: dGeomID) -> dTriArrayCallback;
6243}
6244pub type dTriRayCallback = ::std::option::Option<
6245 unsafe extern "C" fn(
6246 TriMesh: dGeomID,
6247 Ray: dGeomID,
6248 TriangleIndex: ::std::os::raw::c_int,
6249 u: dReal,
6250 v: dReal,
6251 ) -> ::std::os::raw::c_int,
6252>;
6253extern "C" {
6254 pub fn dGeomTriMeshSetRayCallback(g: dGeomID, Callback: dTriRayCallback);
6255}
6256extern "C" {
6257 pub fn dGeomTriMeshGetRayCallback(g: dGeomID) -> dTriRayCallback;
6258}
6259pub type dTriTriMergeCallback = ::std::option::Option<
6260 unsafe extern "C" fn(
6261 TriMesh: dGeomID,
6262 FirstTriangleIndex: ::std::os::raw::c_int,
6263 SecondTriangleIndex: ::std::os::raw::c_int,
6264 ) -> ::std::os::raw::c_int,
6265>;
6266extern "C" {
6267 pub fn dGeomTriMeshSetTriMergeCallback(g: dGeomID, Callback: dTriTriMergeCallback);
6268}
6269extern "C" {
6270 pub fn dGeomTriMeshGetTriMergeCallback(g: dGeomID) -> dTriTriMergeCallback;
6271}
6272extern "C" {
6273 pub fn dCreateTriMesh(
6274 space: dSpaceID,
6275 Data: dTriMeshDataID,
6276 Callback: dTriCallback,
6277 ArrayCallback: dTriArrayCallback,
6278 RayCallback: dTriRayCallback,
6279 ) -> dGeomID;
6280}
6281extern "C" {
6282 pub fn dGeomTriMeshSetData(g: dGeomID, Data: dTriMeshDataID);
6283}
6284extern "C" {
6285 pub fn dGeomTriMeshGetData(g: dGeomID) -> dTriMeshDataID;
6286}
6287extern "C" {
6288 pub fn dGeomTriMeshEnableTC(
6289 g: dGeomID,
6290 geomClass: ::std::os::raw::c_int,
6291 enable: ::std::os::raw::c_int,
6292 );
6293}
6294extern "C" {
6295 pub fn dGeomTriMeshIsTCEnabled(
6296 g: dGeomID,
6297 geomClass: ::std::os::raw::c_int,
6298 ) -> ::std::os::raw::c_int;
6299}
6300extern "C" {
6301 pub fn dGeomTriMeshClearTCCache(g: dGeomID);
6302}
6303extern "C" {
6304 pub fn dGeomTriMeshGetTriMeshDataID(g: dGeomID) -> dTriMeshDataID;
6305}
6306extern "C" {
6307 pub fn dGeomTriMeshGetTriangle(
6308 g: dGeomID,
6309 Index: ::std::os::raw::c_int,
6310 v0: *mut dVector3,
6311 v1: *mut dVector3,
6312 v2: *mut dVector3,
6313 );
6314}
6315extern "C" {
6316 pub fn dGeomTriMeshGetPoint(
6317 g: dGeomID,
6318 Index: ::std::os::raw::c_int,
6319 u: dReal,
6320 v: dReal,
6321 Out: *mut dReal,
6322 );
6323}
6324extern "C" {
6325 pub fn dGeomTriMeshGetTriangleCount(g: dGeomID) -> ::std::os::raw::c_int;
6326}
6327extern "C" {
6328 pub fn dGeomTriMeshDataUpdate(g: dTriMeshDataID);
6329}
6330extern "C" {
6331 pub fn dCreateGeomTransform(space: dSpaceID) -> dGeomID;
6332}
6333extern "C" {
6334 pub fn dGeomTransformSetGeom(g: dGeomID, obj: dGeomID);
6335}
6336extern "C" {
6337 pub fn dGeomTransformGetGeom(g: dGeomID) -> dGeomID;
6338}
6339extern "C" {
6340 pub fn dGeomTransformSetCleanup(g: dGeomID, mode: ::std::os::raw::c_int);
6341}
6342extern "C" {
6343 pub fn dGeomTransformGetCleanup(g: dGeomID) -> ::std::os::raw::c_int;
6344}
6345extern "C" {
6346 pub fn dGeomTransformSetInfo(g: dGeomID, mode: ::std::os::raw::c_int);
6347}
6348extern "C" {
6349 pub fn dGeomTransformGetInfo(g: dGeomID) -> ::std::os::raw::c_int;
6350}
6351#[repr(C)]
6352#[derive(Debug, Copy, Clone)]
6353pub struct dxHeightfieldData {
6354 _unused: [u8; 0],
6355}
6356pub type dHeightfieldDataID = *mut dxHeightfieldData;
6357pub type dHeightfieldGetHeight = ::std::option::Option<
6358 unsafe extern "C" fn(
6359 p_user_data: *mut ::std::os::raw::c_void,
6360 x: ::std::os::raw::c_int,
6361 z: ::std::os::raw::c_int,
6362 ) -> dReal,
6363>;
6364extern "C" {
6365 pub fn dCreateHeightfield(
6366 space: dSpaceID,
6367 data: dHeightfieldDataID,
6368 bPlaceable: ::std::os::raw::c_int,
6369 ) -> dGeomID;
6370}
6371extern "C" {
6372 pub fn dGeomHeightfieldDataCreate() -> dHeightfieldDataID;
6373}
6374extern "C" {
6375 pub fn dGeomHeightfieldDataDestroy(d: dHeightfieldDataID);
6376}
6377extern "C" {
6378 pub fn dGeomHeightfieldDataBuildCallback(
6379 d: dHeightfieldDataID,
6380 pUserData: *mut ::std::os::raw::c_void,
6381 pCallback: dHeightfieldGetHeight,
6382 width: dReal,
6383 depth: dReal,
6384 widthSamples: ::std::os::raw::c_int,
6385 depthSamples: ::std::os::raw::c_int,
6386 scale: dReal,
6387 offset: dReal,
6388 thickness: dReal,
6389 bWrap: ::std::os::raw::c_int,
6390 );
6391}
6392extern "C" {
6393 pub fn dGeomHeightfieldDataBuildByte(
6394 d: dHeightfieldDataID,
6395 pHeightData: *const ::std::os::raw::c_uchar,
6396 bCopyHeightData: ::std::os::raw::c_int,
6397 width: dReal,
6398 depth: dReal,
6399 widthSamples: ::std::os::raw::c_int,
6400 depthSamples: ::std::os::raw::c_int,
6401 scale: dReal,
6402 offset: dReal,
6403 thickness: dReal,
6404 bWrap: ::std::os::raw::c_int,
6405 );
6406}
6407extern "C" {
6408 pub fn dGeomHeightfieldDataBuildShort(
6409 d: dHeightfieldDataID,
6410 pHeightData: *const ::std::os::raw::c_short,
6411 bCopyHeightData: ::std::os::raw::c_int,
6412 width: dReal,
6413 depth: dReal,
6414 widthSamples: ::std::os::raw::c_int,
6415 depthSamples: ::std::os::raw::c_int,
6416 scale: dReal,
6417 offset: dReal,
6418 thickness: dReal,
6419 bWrap: ::std::os::raw::c_int,
6420 );
6421}
6422extern "C" {
6423 pub fn dGeomHeightfieldDataBuildSingle(
6424 d: dHeightfieldDataID,
6425 pHeightData: *const f32,
6426 bCopyHeightData: ::std::os::raw::c_int,
6427 width: dReal,
6428 depth: dReal,
6429 widthSamples: ::std::os::raw::c_int,
6430 depthSamples: ::std::os::raw::c_int,
6431 scale: dReal,
6432 offset: dReal,
6433 thickness: dReal,
6434 bWrap: ::std::os::raw::c_int,
6435 );
6436}
6437extern "C" {
6438 pub fn dGeomHeightfieldDataBuildDouble(
6439 d: dHeightfieldDataID,
6440 pHeightData: *const f64,
6441 bCopyHeightData: ::std::os::raw::c_int,
6442 width: dReal,
6443 depth: dReal,
6444 widthSamples: ::std::os::raw::c_int,
6445 depthSamples: ::std::os::raw::c_int,
6446 scale: dReal,
6447 offset: dReal,
6448 thickness: dReal,
6449 bWrap: ::std::os::raw::c_int,
6450 );
6451}
6452extern "C" {
6453 pub fn dGeomHeightfieldDataSetBounds(d: dHeightfieldDataID, minHeight: dReal, maxHeight: dReal);
6454}
6455extern "C" {
6456 pub fn dGeomHeightfieldSetHeightfieldData(g: dGeomID, d: dHeightfieldDataID);
6457}
6458extern "C" {
6459 pub fn dGeomHeightfieldGetHeightfieldData(g: dGeomID) -> dHeightfieldDataID;
6460}
6461extern "C" {
6462 pub fn dClosestLineSegmentPoints(
6463 a1: *mut dReal,
6464 a2: *mut dReal,
6465 b1: *mut dReal,
6466 b2: *mut dReal,
6467 cp1: *mut dReal,
6468 cp2: *mut dReal,
6469 );
6470}
6471extern "C" {
6472 pub fn dBoxTouchesBox(
6473 _p1: *mut dReal,
6474 R1: *mut dReal,
6475 side1: *mut dReal,
6476 _p2: *mut dReal,
6477 R2: *mut dReal,
6478 side2: *mut dReal,
6479 ) -> ::std::os::raw::c_int;
6480}
6481extern "C" {
6482 pub fn dBoxBox(
6483 p1: *mut dReal,
6484 R1: *mut dReal,
6485 side1: *mut dReal,
6486 p2: *mut dReal,
6487 R2: *mut dReal,
6488 side2: *mut dReal,
6489 normal: *mut dReal,
6490 depth: *mut dReal,
6491 return_code: *mut ::std::os::raw::c_int,
6492 flags: ::std::os::raw::c_int,
6493 contact: *mut dContactGeom,
6494 skip: ::std::os::raw::c_int,
6495 ) -> ::std::os::raw::c_int;
6496}
6497extern "C" {
6498 pub fn dInfiniteAABB(geom: dGeomID, aabb: *mut dReal);
6499}
6500pub type dGetAABBFn = ::std::option::Option<unsafe extern "C" fn(arg1: dGeomID, aabb: *mut dReal)>;
6501pub type dColliderFn = ::std::option::Option<
6502 unsafe extern "C" fn(
6503 o1: dGeomID,
6504 o2: dGeomID,
6505 flags: ::std::os::raw::c_int,
6506 contact: *mut dContactGeom,
6507 skip: ::std::os::raw::c_int,
6508 ) -> ::std::os::raw::c_int,
6509>;
6510pub type dGetColliderFnFn =
6511 ::std::option::Option<unsafe extern "C" fn(num: ::std::os::raw::c_int) -> dColliderFn>;
6512pub type dGeomDtorFn = ::std::option::Option<unsafe extern "C" fn(o: dGeomID)>;
6513pub type dAABBTestFn = ::std::option::Option<
6514 unsafe extern "C" fn(o1: dGeomID, o2: dGeomID, aabb: *mut dReal) -> ::std::os::raw::c_int,
6515>;
6516#[repr(C)]
6517#[derive(Debug, Copy, Clone)]
6518pub struct dGeomClass {
6519 pub bytes: ::std::os::raw::c_int,
6520 pub collider: dGetColliderFnFn,
6521 pub aabb: dGetAABBFn,
6522 pub aabb_test: dAABBTestFn,
6523 pub dtor: dGeomDtorFn,
6524}
6525#[test]
6526fn bindgen_test_layout_dGeomClass() {
6527 const UNINIT: ::std::mem::MaybeUninit<dGeomClass> = ::std::mem::MaybeUninit::uninit();
6528 let ptr = UNINIT.as_ptr();
6529 assert_eq!(
6530 ::std::mem::size_of::<dGeomClass>(),
6531 40usize,
6532 concat!("Size of: ", stringify!(dGeomClass))
6533 );
6534 assert_eq!(
6535 ::std::mem::align_of::<dGeomClass>(),
6536 8usize,
6537 concat!("Alignment of ", stringify!(dGeomClass))
6538 );
6539 assert_eq!(
6540 unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
6541 0usize,
6542 concat!(
6543 "Offset of field: ",
6544 stringify!(dGeomClass),
6545 "::",
6546 stringify!(bytes)
6547 )
6548 );
6549 assert_eq!(
6550 unsafe { ::std::ptr::addr_of!((*ptr).collider) as usize - ptr as usize },
6551 8usize,
6552 concat!(
6553 "Offset of field: ",
6554 stringify!(dGeomClass),
6555 "::",
6556 stringify!(collider)
6557 )
6558 );
6559 assert_eq!(
6560 unsafe { ::std::ptr::addr_of!((*ptr).aabb) as usize - ptr as usize },
6561 16usize,
6562 concat!(
6563 "Offset of field: ",
6564 stringify!(dGeomClass),
6565 "::",
6566 stringify!(aabb)
6567 )
6568 );
6569 assert_eq!(
6570 unsafe { ::std::ptr::addr_of!((*ptr).aabb_test) as usize - ptr as usize },
6571 24usize,
6572 concat!(
6573 "Offset of field: ",
6574 stringify!(dGeomClass),
6575 "::",
6576 stringify!(aabb_test)
6577 )
6578 );
6579 assert_eq!(
6580 unsafe { ::std::ptr::addr_of!((*ptr).dtor) as usize - ptr as usize },
6581 32usize,
6582 concat!(
6583 "Offset of field: ",
6584 stringify!(dGeomClass),
6585 "::",
6586 stringify!(dtor)
6587 )
6588 );
6589}
6590extern "C" {
6591 pub fn dCreateGeomClass(classptr: *const dGeomClass) -> ::std::os::raw::c_int;
6592}
6593extern "C" {
6594 pub fn dGeomGetClassData(arg1: dGeomID) -> *mut ::std::os::raw::c_void;
6595}
6596extern "C" {
6597 pub fn dCreateGeom(classnum: ::std::os::raw::c_int) -> dGeomID;
6598}
6599extern "C" {
6600 pub fn dSetColliderOverride(
6601 i: ::std::os::raw::c_int,
6602 j: ::std::os::raw::c_int,
6603 fn_: dColliderFn,
6604 );
6605}
6606#[repr(C)]
6607#[derive(Debug, Copy, Clone)]
6608pub struct dxThreadingThreadPool {
6609 _unused: [u8; 0],
6610}
6611pub type dThreadingThreadPoolID = *mut dxThreadingThreadPool;
6612extern "C" {
6613 pub fn dThreadingAllocateSelfThreadedImplementation() -> dThreadingImplementationID;
6614}
6615extern "C" {
6616 pub fn dThreadingAllocateMultiThreadedImplementation() -> dThreadingImplementationID;
6617}
6618extern "C" {
6619 pub fn dThreadingImplementationGetFunctions(
6620 impl_: dThreadingImplementationID,
6621 ) -> *const dThreadingFunctionsInfo;
6622}
6623extern "C" {
6624 pub fn dThreadingImplementationShutdownProcessing(impl_: dThreadingImplementationID);
6625}
6626extern "C" {
6627 pub fn dThreadingImplementationCleanupForRestart(impl_: dThreadingImplementationID);
6628}
6629extern "C" {
6630 pub fn dThreadingFreeImplementation(impl_: dThreadingImplementationID);
6631}
6632pub type dThreadReadyToServeCallback =
6633 ::std::option::Option<unsafe extern "C" fn(callback_context: *mut ::std::os::raw::c_void)>;
6634extern "C" {
6635 pub fn dExternalThreadingServeMultiThreadedImplementation(
6636 impl_: dThreadingImplementationID,
6637 readiness_callback: dThreadReadyToServeCallback,
6638 callback_context: *mut ::std::os::raw::c_void,
6639 );
6640}
6641extern "C" {
6642 pub fn dThreadingAllocateThreadPool(
6643 thread_count: ::std::os::raw::c_uint,
6644 stack_size: dsizeint,
6645 ode_data_allocate_flags: ::std::os::raw::c_uint,
6646 reserved: *mut ::std::os::raw::c_void,
6647 ) -> dThreadingThreadPoolID;
6648}
6649extern "C" {
6650 pub fn dThreadingThreadPoolServeMultiThreadedImplementation(
6651 pool: dThreadingThreadPoolID,
6652 impl_: dThreadingImplementationID,
6653 );
6654}
6655extern "C" {
6656 pub fn dThreadingThreadPoolWaitIdleState(pool: dThreadingThreadPoolID);
6657}
6658extern "C" {
6659 pub fn dThreadingFreeThreadPool(pool: dThreadingThreadPoolID);
6660}
6661extern "C" {
6662 pub fn dWorldExportDIF(w: dWorldID, file: *mut FILE, world_name: *const ::std::os::raw::c_char);
6663}
6664#[repr(C)]
6665#[derive(Debug)]
6666pub struct dWorldSimpleIDContainer {
6667 pub _id: dWorldID,
6668}
6669#[test]
6670fn bindgen_test_layout_dWorldSimpleIDContainer() {
6671 const UNINIT: ::std::mem::MaybeUninit<dWorldSimpleIDContainer> =
6672 ::std::mem::MaybeUninit::uninit();
6673 let ptr = UNINIT.as_ptr();
6674 assert_eq!(
6675 ::std::mem::size_of::<dWorldSimpleIDContainer>(),
6676 8usize,
6677 concat!("Size of: ", stringify!(dWorldSimpleIDContainer))
6678 );
6679 assert_eq!(
6680 ::std::mem::align_of::<dWorldSimpleIDContainer>(),
6681 8usize,
6682 concat!("Alignment of ", stringify!(dWorldSimpleIDContainer))
6683 );
6684 assert_eq!(
6685 unsafe { ::std::ptr::addr_of!((*ptr)._id) as usize - ptr as usize },
6686 0usize,
6687 concat!(
6688 "Offset of field: ",
6689 stringify!(dWorldSimpleIDContainer),
6690 "::",
6691 stringify!(_id)
6692 )
6693 );
6694}
6695#[repr(C)]
6696pub struct dWorldDynamicIDContainer__bindgen_vtable(::std::os::raw::c_void);
6697#[repr(C)]
6698#[derive(Debug)]
6699pub struct dWorldDynamicIDContainer {
6700 pub vtable_: *const dWorldDynamicIDContainer__bindgen_vtable,
6701 pub _base: dWorldSimpleIDContainer,
6702}
6703#[test]
6704fn bindgen_test_layout_dWorldDynamicIDContainer() {
6705 assert_eq!(
6706 ::std::mem::size_of::<dWorldDynamicIDContainer>(),
6707 16usize,
6708 concat!("Size of: ", stringify!(dWorldDynamicIDContainer))
6709 );
6710 assert_eq!(
6711 ::std::mem::align_of::<dWorldDynamicIDContainer>(),
6712 8usize,
6713 concat!("Alignment of ", stringify!(dWorldDynamicIDContainer))
6714 );
6715}
6716#[repr(C)]
6717#[derive(Debug, Copy, Clone)]
6718pub struct dWorldTemplate<dWorldTemplateBase> {
6719 pub _base: dWorldTemplateBase,
6720 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dWorldTemplateBase>>,
6721}
6722#[repr(C)]
6723#[derive(Debug)]
6724pub struct dBodySimpleIDContainer {
6725 pub _id: dBodyID,
6726}
6727#[test]
6728fn bindgen_test_layout_dBodySimpleIDContainer() {
6729 const UNINIT: ::std::mem::MaybeUninit<dBodySimpleIDContainer> =
6730 ::std::mem::MaybeUninit::uninit();
6731 let ptr = UNINIT.as_ptr();
6732 assert_eq!(
6733 ::std::mem::size_of::<dBodySimpleIDContainer>(),
6734 8usize,
6735 concat!("Size of: ", stringify!(dBodySimpleIDContainer))
6736 );
6737 assert_eq!(
6738 ::std::mem::align_of::<dBodySimpleIDContainer>(),
6739 8usize,
6740 concat!("Alignment of ", stringify!(dBodySimpleIDContainer))
6741 );
6742 assert_eq!(
6743 unsafe { ::std::ptr::addr_of!((*ptr)._id) as usize - ptr as usize },
6744 0usize,
6745 concat!(
6746 "Offset of field: ",
6747 stringify!(dBodySimpleIDContainer),
6748 "::",
6749 stringify!(_id)
6750 )
6751 );
6752}
6753#[repr(C)]
6754pub struct dBodyDynamicIDContainer__bindgen_vtable(::std::os::raw::c_void);
6755#[repr(C)]
6756#[derive(Debug)]
6757pub struct dBodyDynamicIDContainer {
6758 pub vtable_: *const dBodyDynamicIDContainer__bindgen_vtable,
6759 pub _base: dBodySimpleIDContainer,
6760}
6761#[test]
6762fn bindgen_test_layout_dBodyDynamicIDContainer() {
6763 assert_eq!(
6764 ::std::mem::size_of::<dBodyDynamicIDContainer>(),
6765 16usize,
6766 concat!("Size of: ", stringify!(dBodyDynamicIDContainer))
6767 );
6768 assert_eq!(
6769 ::std::mem::align_of::<dBodyDynamicIDContainer>(),
6770 8usize,
6771 concat!("Alignment of ", stringify!(dBodyDynamicIDContainer))
6772 );
6773}
6774#[repr(C)]
6775#[derive(Debug, Copy, Clone)]
6776pub struct dBodyTemplate<dBodyTemplateBase> {
6777 pub _base: dBodyTemplateBase,
6778 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dBodyTemplateBase>>,
6779}
6780#[repr(C)]
6781#[derive(Debug)]
6782pub struct dJointGroupSimpleIDContainer {
6783 pub _id: dJointGroupID,
6784}
6785#[test]
6786fn bindgen_test_layout_dJointGroupSimpleIDContainer() {
6787 const UNINIT: ::std::mem::MaybeUninit<dJointGroupSimpleIDContainer> =
6788 ::std::mem::MaybeUninit::uninit();
6789 let ptr = UNINIT.as_ptr();
6790 assert_eq!(
6791 ::std::mem::size_of::<dJointGroupSimpleIDContainer>(),
6792 8usize,
6793 concat!("Size of: ", stringify!(dJointGroupSimpleIDContainer))
6794 );
6795 assert_eq!(
6796 ::std::mem::align_of::<dJointGroupSimpleIDContainer>(),
6797 8usize,
6798 concat!("Alignment of ", stringify!(dJointGroupSimpleIDContainer))
6799 );
6800 assert_eq!(
6801 unsafe { ::std::ptr::addr_of!((*ptr)._id) as usize - ptr as usize },
6802 0usize,
6803 concat!(
6804 "Offset of field: ",
6805 stringify!(dJointGroupSimpleIDContainer),
6806 "::",
6807 stringify!(_id)
6808 )
6809 );
6810}
6811#[repr(C)]
6812pub struct dJointGroupDynamicIDContainer__bindgen_vtable(::std::os::raw::c_void);
6813#[repr(C)]
6814#[derive(Debug)]
6815pub struct dJointGroupDynamicIDContainer {
6816 pub vtable_: *const dJointGroupDynamicIDContainer__bindgen_vtable,
6817 pub _base: dJointGroupSimpleIDContainer,
6818}
6819#[test]
6820fn bindgen_test_layout_dJointGroupDynamicIDContainer() {
6821 assert_eq!(
6822 ::std::mem::size_of::<dJointGroupDynamicIDContainer>(),
6823 16usize,
6824 concat!("Size of: ", stringify!(dJointGroupDynamicIDContainer))
6825 );
6826 assert_eq!(
6827 ::std::mem::align_of::<dJointGroupDynamicIDContainer>(),
6828 8usize,
6829 concat!("Alignment of ", stringify!(dJointGroupDynamicIDContainer))
6830 );
6831}
6832#[repr(C)]
6833#[derive(Debug, Copy, Clone)]
6834pub struct dJointGroupTemplate<dJointGroupTemplateBase> {
6835 pub _base: dJointGroupTemplateBase,
6836 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointGroupTemplateBase>>,
6837}
6838#[repr(C)]
6839#[derive(Debug)]
6840pub struct dJointSimpleIDContainer {
6841 pub _id: dJointID,
6842}
6843#[test]
6844fn bindgen_test_layout_dJointSimpleIDContainer() {
6845 const UNINIT: ::std::mem::MaybeUninit<dJointSimpleIDContainer> =
6846 ::std::mem::MaybeUninit::uninit();
6847 let ptr = UNINIT.as_ptr();
6848 assert_eq!(
6849 ::std::mem::size_of::<dJointSimpleIDContainer>(),
6850 8usize,
6851 concat!("Size of: ", stringify!(dJointSimpleIDContainer))
6852 );
6853 assert_eq!(
6854 ::std::mem::align_of::<dJointSimpleIDContainer>(),
6855 8usize,
6856 concat!("Alignment of ", stringify!(dJointSimpleIDContainer))
6857 );
6858 assert_eq!(
6859 unsafe { ::std::ptr::addr_of!((*ptr)._id) as usize - ptr as usize },
6860 0usize,
6861 concat!(
6862 "Offset of field: ",
6863 stringify!(dJointSimpleIDContainer),
6864 "::",
6865 stringify!(_id)
6866 )
6867 );
6868}
6869#[repr(C)]
6870pub struct dJointDynamicIDContainer__bindgen_vtable(::std::os::raw::c_void);
6871#[repr(C)]
6872#[derive(Debug)]
6873pub struct dJointDynamicIDContainer {
6874 pub vtable_: *const dJointDynamicIDContainer__bindgen_vtable,
6875 pub _base: dJointSimpleIDContainer,
6876}
6877#[test]
6878fn bindgen_test_layout_dJointDynamicIDContainer() {
6879 assert_eq!(
6880 ::std::mem::size_of::<dJointDynamicIDContainer>(),
6881 16usize,
6882 concat!("Size of: ", stringify!(dJointDynamicIDContainer))
6883 );
6884 assert_eq!(
6885 ::std::mem::align_of::<dJointDynamicIDContainer>(),
6886 8usize,
6887 concat!("Alignment of ", stringify!(dJointDynamicIDContainer))
6888 );
6889}
6890#[repr(C)]
6891pub struct dJointTemplate__bindgen_vtable(::std::os::raw::c_void);
6892#[repr(C)]
6893#[derive(Debug, Copy, Clone)]
6894pub struct dJointTemplate<dJointTemplateBase> {
6895 pub vtable_: *const dJointTemplate__bindgen_vtable,
6896 pub _base: dJointTemplateBase,
6897 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6898}
6899#[repr(C)]
6900#[derive(Debug, Copy, Clone)]
6901pub struct dBallJointTemplate<dJointTemplateBase> {
6902 pub _base: dJointTemplate<dJointTemplateBase>,
6903 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6904}
6905pub type dBallJointTemplate_dBaseTemplate<dJointTemplateBase> = dJointTemplate<dJointTemplateBase>;
6906#[repr(C)]
6907#[derive(Debug, Copy, Clone)]
6908pub struct dHingeJointTemplate<dJointTemplateBase> {
6909 pub _base: dJointTemplate<dJointTemplateBase>,
6910 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6911}
6912pub type dHingeJointTemplate_dBaseTemplate<dJointTemplateBase> = dJointTemplate<dJointTemplateBase>;
6913#[repr(C)]
6914#[derive(Debug, Copy, Clone)]
6915pub struct dSliderJointTemplate<dJointTemplateBase> {
6916 pub _base: dJointTemplate<dJointTemplateBase>,
6917 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6918}
6919pub type dSliderJointTemplate_dBaseTemplate<dJointTemplateBase> =
6920 dJointTemplate<dJointTemplateBase>;
6921#[repr(C)]
6922#[derive(Debug, Copy, Clone)]
6923pub struct dUniversalJointTemplate<dJointTemplateBase> {
6924 pub _base: dJointTemplate<dJointTemplateBase>,
6925 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6926}
6927pub type dUniversalJointTemplate_dBaseTemplate<dJointTemplateBase> =
6928 dJointTemplate<dJointTemplateBase>;
6929#[repr(C)]
6930#[derive(Debug, Copy, Clone)]
6931pub struct dHinge2JointTemplate<dJointTemplateBase> {
6932 pub _base: dJointTemplate<dJointTemplateBase>,
6933 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6934}
6935pub type dHinge2JointTemplate_dBaseTemplate<dJointTemplateBase> =
6936 dJointTemplate<dJointTemplateBase>;
6937#[repr(C)]
6938#[derive(Debug, Copy, Clone)]
6939pub struct dPRJointTemplate<dJointTemplateBase> {
6940 pub _base: dJointTemplate<dJointTemplateBase>,
6941 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6942}
6943pub type dPRJointTemplate_dBaseTemplate<dJointTemplateBase> = dJointTemplate<dJointTemplateBase>;
6944#[repr(C)]
6945#[derive(Debug, Copy, Clone)]
6946pub struct dPUJointTemplate<dJointTemplateBase> {
6947 pub _base: dJointTemplate<dJointTemplateBase>,
6948 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6949}
6950pub type dPUJointTemplate_dBaseTemplate<dJointTemplateBase> = dJointTemplate<dJointTemplateBase>;
6951#[repr(C)]
6952#[derive(Debug, Copy, Clone)]
6953pub struct dPistonJointTemplate<dJointTemplateBase> {
6954 pub _base: dJointTemplate<dJointTemplateBase>,
6955 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6956}
6957pub type dPistonJointTemplate_dBaseTemplate<dJointTemplateBase> =
6958 dJointTemplate<dJointTemplateBase>;
6959#[repr(C)]
6960#[derive(Debug, Copy, Clone)]
6961pub struct dFixedJointTemplate<dJointTemplateBase> {
6962 pub _base: dJointTemplate<dJointTemplateBase>,
6963 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6964}
6965pub type dFixedJointTemplate_dBaseTemplate<dJointTemplateBase> = dJointTemplate<dJointTemplateBase>;
6966#[repr(C)]
6967#[derive(Debug, Copy, Clone)]
6968pub struct dContactJointTemplate<dJointTemplateBase> {
6969 pub _base: dJointTemplate<dJointTemplateBase>,
6970 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6971}
6972pub type dContactJointTemplate_dBaseTemplate<dJointTemplateBase> =
6973 dJointTemplate<dJointTemplateBase>;
6974#[repr(C)]
6975#[derive(Debug, Copy, Clone)]
6976pub struct dNullJointTemplate<dJointTemplateBase> {
6977 pub _base: dJointTemplate<dJointTemplateBase>,
6978 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6979}
6980pub type dNullJointTemplate_dBaseTemplate<dJointTemplateBase> = dJointTemplate<dJointTemplateBase>;
6981#[repr(C)]
6982#[derive(Debug, Copy, Clone)]
6983pub struct dAMotorJointTemplate<dJointTemplateBase> {
6984 pub _base: dJointTemplate<dJointTemplateBase>,
6985 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6986}
6987pub type dAMotorJointTemplate_dBaseTemplate<dJointTemplateBase> =
6988 dJointTemplate<dJointTemplateBase>;
6989#[repr(C)]
6990#[derive(Debug, Copy, Clone)]
6991pub struct dLMotorJointTemplate<dJointTemplateBase> {
6992 pub _base: dJointTemplate<dJointTemplateBase>,
6993 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<dJointTemplateBase>>,
6994}
6995pub type dLMotorJointTemplate_dBaseTemplate<dJointTemplateBase> =
6996 dJointTemplate<dJointTemplateBase>;
6997pub type dWorld = dWorldTemplate<dWorldDynamicIDContainer>;
6998pub type dBody = dBodyTemplate<dBodyDynamicIDContainer>;
6999pub type dJointGroup = dJointGroupTemplate<dJointGroupDynamicIDContainer>;
7000pub type dJoint = dJointTemplate<dJointDynamicIDContainer>;
7001pub type dBallJoint = dBallJointTemplate<dJointDynamicIDContainer>;
7002pub type dHingeJoint = dHingeJointTemplate<dJointDynamicIDContainer>;
7003pub type dSliderJoint = dSliderJointTemplate<dJointDynamicIDContainer>;
7004pub type dUniversalJoint = dUniversalJointTemplate<dJointDynamicIDContainer>;
7005pub type dHinge2Joint = dHinge2JointTemplate<dJointDynamicIDContainer>;
7006pub type dPRJoint = dPRJointTemplate<dJointDynamicIDContainer>;
7007pub type dPUJoint = dPUJointTemplate<dJointDynamicIDContainer>;
7008pub type dPistonJoint = dPistonJointTemplate<dJointDynamicIDContainer>;
7009pub type dFixedJoint = dFixedJointTemplate<dJointDynamicIDContainer>;
7010pub type dContactJoint = dContactJointTemplate<dJointDynamicIDContainer>;
7011pub type dNullJoint = dNullJointTemplate<dJointDynamicIDContainer>;
7012pub type dAMotorJoint = dAMotorJointTemplate<dJointDynamicIDContainer>;
7013pub type dLMotorJoint = dLMotorJointTemplate<dJointDynamicIDContainer>;
7014#[repr(C)]
7015#[derive(Debug)]
7016pub struct dGeom {
7017 pub _id: dGeomID,
7018}
7019#[test]
7020fn bindgen_test_layout_dGeom() {
7021 const UNINIT: ::std::mem::MaybeUninit<dGeom> = ::std::mem::MaybeUninit::uninit();
7022 let ptr = UNINIT.as_ptr();
7023 assert_eq!(
7024 ::std::mem::size_of::<dGeom>(),
7025 8usize,
7026 concat!("Size of: ", stringify!(dGeom))
7027 );
7028 assert_eq!(
7029 ::std::mem::align_of::<dGeom>(),
7030 8usize,
7031 concat!("Alignment of ", stringify!(dGeom))
7032 );
7033 assert_eq!(
7034 unsafe { ::std::ptr::addr_of!((*ptr)._id) as usize - ptr as usize },
7035 0usize,
7036 concat!(
7037 "Offset of field: ",
7038 stringify!(dGeom),
7039 "::",
7040 stringify!(_id)
7041 )
7042 );
7043}
7044#[repr(C)]
7045#[derive(Debug)]
7046pub struct dSpace {
7047 pub _base: dGeom,
7048}
7049#[test]
7050fn bindgen_test_layout_dSpace() {
7051 assert_eq!(
7052 ::std::mem::size_of::<dSpace>(),
7053 8usize,
7054 concat!("Size of: ", stringify!(dSpace))
7055 );
7056 assert_eq!(
7057 ::std::mem::align_of::<dSpace>(),
7058 8usize,
7059 concat!("Alignment of ", stringify!(dSpace))
7060 );
7061}
7062#[repr(C)]
7063#[derive(Debug)]
7064pub struct dSimpleSpace {
7065 pub _base: dSpace,
7066}
7067#[test]
7068fn bindgen_test_layout_dSimpleSpace() {
7069 assert_eq!(
7070 ::std::mem::size_of::<dSimpleSpace>(),
7071 8usize,
7072 concat!("Size of: ", stringify!(dSimpleSpace))
7073 );
7074 assert_eq!(
7075 ::std::mem::align_of::<dSimpleSpace>(),
7076 8usize,
7077 concat!("Alignment of ", stringify!(dSimpleSpace))
7078 );
7079}
7080#[repr(C)]
7081#[derive(Debug)]
7082pub struct dHashSpace {
7083 pub _base: dSpace,
7084}
7085#[test]
7086fn bindgen_test_layout_dHashSpace() {
7087 assert_eq!(
7088 ::std::mem::size_of::<dHashSpace>(),
7089 8usize,
7090 concat!("Size of: ", stringify!(dHashSpace))
7091 );
7092 assert_eq!(
7093 ::std::mem::align_of::<dHashSpace>(),
7094 8usize,
7095 concat!("Alignment of ", stringify!(dHashSpace))
7096 );
7097}
7098#[repr(C)]
7099#[derive(Debug)]
7100pub struct dQuadTreeSpace {
7101 pub _base: dSpace,
7102}
7103#[test]
7104fn bindgen_test_layout_dQuadTreeSpace() {
7105 assert_eq!(
7106 ::std::mem::size_of::<dQuadTreeSpace>(),
7107 8usize,
7108 concat!("Size of: ", stringify!(dQuadTreeSpace))
7109 );
7110 assert_eq!(
7111 ::std::mem::align_of::<dQuadTreeSpace>(),
7112 8usize,
7113 concat!("Alignment of ", stringify!(dQuadTreeSpace))
7114 );
7115}
7116#[repr(C)]
7117#[derive(Debug)]
7118pub struct dSphere {
7119 pub _base: dGeom,
7120}
7121#[test]
7122fn bindgen_test_layout_dSphere() {
7123 assert_eq!(
7124 ::std::mem::size_of::<dSphere>(),
7125 8usize,
7126 concat!("Size of: ", stringify!(dSphere))
7127 );
7128 assert_eq!(
7129 ::std::mem::align_of::<dSphere>(),
7130 8usize,
7131 concat!("Alignment of ", stringify!(dSphere))
7132 );
7133}
7134#[repr(C)]
7135#[derive(Debug)]
7136pub struct dBox {
7137 pub _base: dGeom,
7138}
7139#[test]
7140fn bindgen_test_layout_dBox() {
7141 assert_eq!(
7142 ::std::mem::size_of::<dBox>(),
7143 8usize,
7144 concat!("Size of: ", stringify!(dBox))
7145 );
7146 assert_eq!(
7147 ::std::mem::align_of::<dBox>(),
7148 8usize,
7149 concat!("Alignment of ", stringify!(dBox))
7150 );
7151}
7152#[repr(C)]
7153#[derive(Debug)]
7154pub struct dPlane {
7155 pub _base: dGeom,
7156}
7157#[test]
7158fn bindgen_test_layout_dPlane() {
7159 assert_eq!(
7160 ::std::mem::size_of::<dPlane>(),
7161 8usize,
7162 concat!("Size of: ", stringify!(dPlane))
7163 );
7164 assert_eq!(
7165 ::std::mem::align_of::<dPlane>(),
7166 8usize,
7167 concat!("Alignment of ", stringify!(dPlane))
7168 );
7169}
7170#[repr(C)]
7171#[derive(Debug)]
7172pub struct dCapsule {
7173 pub _base: dGeom,
7174}
7175#[test]
7176fn bindgen_test_layout_dCapsule() {
7177 assert_eq!(
7178 ::std::mem::size_of::<dCapsule>(),
7179 8usize,
7180 concat!("Size of: ", stringify!(dCapsule))
7181 );
7182 assert_eq!(
7183 ::std::mem::align_of::<dCapsule>(),
7184 8usize,
7185 concat!("Alignment of ", stringify!(dCapsule))
7186 );
7187}
7188#[repr(C)]
7189#[derive(Debug)]
7190pub struct dCylinder {
7191 pub _base: dGeom,
7192}
7193#[test]
7194fn bindgen_test_layout_dCylinder() {
7195 assert_eq!(
7196 ::std::mem::size_of::<dCylinder>(),
7197 8usize,
7198 concat!("Size of: ", stringify!(dCylinder))
7199 );
7200 assert_eq!(
7201 ::std::mem::align_of::<dCylinder>(),
7202 8usize,
7203 concat!("Alignment of ", stringify!(dCylinder))
7204 );
7205}
7206#[repr(C)]
7207#[derive(Debug)]
7208pub struct dRay {
7209 pub _base: dGeom,
7210}
7211#[test]
7212fn bindgen_test_layout_dRay() {
7213 assert_eq!(
7214 ::std::mem::size_of::<dRay>(),
7215 8usize,
7216 concat!("Size of: ", stringify!(dRay))
7217 );
7218 assert_eq!(
7219 ::std::mem::align_of::<dRay>(),
7220 8usize,
7221 concat!("Alignment of ", stringify!(dRay))
7222 );
7223}
7224#[repr(C)]
7225#[derive(Debug)]
7226pub struct dGeomTransform {
7227 pub _base: dGeom,
7228}
7229#[test]
7230fn bindgen_test_layout_dGeomTransform() {
7231 assert_eq!(
7232 ::std::mem::size_of::<dGeomTransform>(),
7233 8usize,
7234 concat!("Size of: ", stringify!(dGeomTransform))
7235 );
7236 assert_eq!(
7237 ::std::mem::align_of::<dGeomTransform>(),
7238 8usize,
7239 concat!("Alignment of ", stringify!(dGeomTransform))
7240 );
7241}
7242#[repr(C)]
7243#[derive(Debug, Copy, Clone)]
7244pub struct __crt_locale_data {
7245 pub _address: u8,
7246}
7247#[repr(C)]
7248#[derive(Debug, Copy, Clone)]
7249pub struct __crt_multibyte_data {
7250 pub _address: u8,
7251}