1#![allow(non_upper_case_globals)]
4#![allow(non_camel_case_types)]
5#![allow(non_snake_case)]
6extern crate libusb_sys;
7
8pub const __WORDSIZE: u32 = 64;
9pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 0;
10pub const __DARWIN_ONLY_VERS_1050: u32 = 0;
11pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1;
12pub const __DARWIN_UNIX03: u32 = 1;
13pub const __DARWIN_64_BIT_INO_T: u32 = 0;
14pub const __DARWIN_VERS_1050: u32 = 0;
15pub const __DARWIN_NON_CANCELABLE: u32 = 0;
16pub const __DARWIN_SUF_EXTSN: &'static [u8; 14usize] = b"$DARWIN_EXTSN\0";
17pub const __DARWIN_C_ANSI: u32 = 4096;
18pub const __DARWIN_C_FULL: u32 = 900000;
19pub const __DARWIN_C_LEVEL: u32 = 900000;
20pub const __STDC_WANT_LIB_EXT1__: u32 = 1;
21pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1;
22pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3;
23pub const __PTHREAD_SIZE__: u32 = 8176;
24pub const __PTHREAD_ATTR_SIZE__: u32 = 56;
25pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8;
26pub const __PTHREAD_MUTEX_SIZE__: u32 = 56;
27pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8;
28pub const __PTHREAD_COND_SIZE__: u32 = 40;
29pub const __PTHREAD_ONCE_SIZE__: u32 = 8;
30pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192;
31pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16;
32pub const INT8_MAX: u32 = 127;
33pub const INT16_MAX: u32 = 32767;
34pub const INT32_MAX: u32 = 2147483647;
35pub const INT64_MAX: u64 = 9223372036854775807;
36pub const INT8_MIN: i32 = -128;
37pub const INT16_MIN: i32 = -32768;
38pub const INT32_MIN: i32 = -2147483648;
39pub const INT64_MIN: i64 = -9223372036854775808;
40pub const UINT8_MAX: u32 = 255;
41pub const UINT16_MAX: u32 = 65535;
42pub const UINT32_MAX: u32 = 4294967295;
43pub const UINT64_MAX: i32 = -1;
44pub const INT_LEAST8_MIN: i32 = -128;
45pub const INT_LEAST16_MIN: i32 = -32768;
46pub const INT_LEAST32_MIN: i32 = -2147483648;
47pub const INT_LEAST64_MIN: i64 = -9223372036854775808;
48pub const INT_LEAST8_MAX: u32 = 127;
49pub const INT_LEAST16_MAX: u32 = 32767;
50pub const INT_LEAST32_MAX: u32 = 2147483647;
51pub const INT_LEAST64_MAX: u64 = 9223372036854775807;
52pub const UINT_LEAST8_MAX: u32 = 255;
53pub const UINT_LEAST16_MAX: u32 = 65535;
54pub const UINT_LEAST32_MAX: u32 = 4294967295;
55pub const UINT_LEAST64_MAX: i32 = -1;
56pub const INT_FAST8_MIN: i32 = -128;
57pub const INT_FAST16_MIN: i32 = -32768;
58pub const INT_FAST32_MIN: i32 = -2147483648;
59pub const INT_FAST64_MIN: i64 = -9223372036854775808;
60pub const INT_FAST8_MAX: u32 = 127;
61pub const INT_FAST16_MAX: u32 = 32767;
62pub const INT_FAST32_MAX: u32 = 2147483647;
63pub const INT_FAST64_MAX: u64 = 9223372036854775807;
64pub const UINT_FAST8_MAX: u32 = 255;
65pub const UINT_FAST16_MAX: u32 = 65535;
66pub const UINT_FAST32_MAX: u32 = 4294967295;
67pub const UINT_FAST64_MAX: i32 = -1;
68pub const INTPTR_MIN: i64 = -9223372036854775808;
69pub const INTPTR_MAX: u64 = 9223372036854775807;
70pub const UINTPTR_MAX: i32 = -1;
71pub const INTMAX_MIN: i64 = -9223372036854775808;
72pub const INTMAX_MAX: u64 = 9223372036854775807;
73pub const UINTMAX_MAX: i32 = -1;
74pub const PTRDIFF_MIN: i64 = -9223372036854775808;
75pub const PTRDIFF_MAX: u64 = 9223372036854775807;
76pub const SIZE_MAX: i32 = -1;
77pub const RSIZE_MAX: i32 = -1;
78pub const WINT_MIN: i32 = -2147483648;
79pub const WINT_MAX: u32 = 2147483647;
80pub const SIG_ATOMIC_MIN: i32 = -2147483648;
81pub const SIG_ATOMIC_MAX: u32 = 2147483647;
82pub const __MAC_10_0: u32 = 1000;
83pub const __MAC_10_1: u32 = 1010;
84pub const __MAC_10_2: u32 = 1020;
85pub const __MAC_10_3: u32 = 1030;
86pub const __MAC_10_4: u32 = 1040;
87pub const __MAC_10_5: u32 = 1050;
88pub const __MAC_10_6: u32 = 1060;
89pub const __MAC_10_7: u32 = 1070;
90pub const __MAC_10_8: u32 = 1080;
91pub const __MAC_10_9: u32 = 1090;
92pub const __MAC_10_10: u32 = 101000;
93pub const __MAC_10_10_2: u32 = 101002;
94pub const __MAC_10_10_3: u32 = 101003;
95pub const __MAC_10_11: u32 = 101100;
96pub const __MAC_10_11_2: u32 = 101102;
97pub const __MAC_10_11_3: u32 = 101103;
98pub const __MAC_10_11_4: u32 = 101104;
99pub const __MAC_10_12: u32 = 101200;
100pub const __MAC_10_12_1: u32 = 101201;
101pub const __MAC_10_12_2: u32 = 101202;
102pub const __MAC_10_12_4: u32 = 101204;
103pub const __IPHONE_2_0: u32 = 20000;
104pub const __IPHONE_2_1: u32 = 20100;
105pub const __IPHONE_2_2: u32 = 20200;
106pub const __IPHONE_3_0: u32 = 30000;
107pub const __IPHONE_3_1: u32 = 30100;
108pub const __IPHONE_3_2: u32 = 30200;
109pub const __IPHONE_4_0: u32 = 40000;
110pub const __IPHONE_4_1: u32 = 40100;
111pub const __IPHONE_4_2: u32 = 40200;
112pub const __IPHONE_4_3: u32 = 40300;
113pub const __IPHONE_5_0: u32 = 50000;
114pub const __IPHONE_5_1: u32 = 50100;
115pub const __IPHONE_6_0: u32 = 60000;
116pub const __IPHONE_6_1: u32 = 60100;
117pub const __IPHONE_7_0: u32 = 70000;
118pub const __IPHONE_7_1: u32 = 70100;
119pub const __IPHONE_8_0: u32 = 80000;
120pub const __IPHONE_8_1: u32 = 80100;
121pub const __IPHONE_8_2: u32 = 80200;
122pub const __IPHONE_8_3: u32 = 80300;
123pub const __IPHONE_8_4: u32 = 80400;
124pub const __IPHONE_9_0: u32 = 90000;
125pub const __IPHONE_9_1: u32 = 90100;
126pub const __IPHONE_9_2: u32 = 90200;
127pub const __IPHONE_9_3: u32 = 90300;
128pub const __IPHONE_10_0: u32 = 100000;
129pub const __IPHONE_10_1: u32 = 100100;
130pub const __IPHONE_10_2: u32 = 100200;
131pub const __IPHONE_10_3: u32 = 100300;
132pub const __TVOS_9_0: u32 = 90000;
133pub const __TVOS_9_1: u32 = 90100;
134pub const __TVOS_9_2: u32 = 90200;
135pub const __TVOS_10_0: u32 = 100000;
136pub const __TVOS_10_0_1: u32 = 100001;
137pub const __TVOS_10_1: u32 = 100100;
138pub const __TVOS_10_2: u32 = 100200;
139pub const __WATCHOS_1_0: u32 = 10000;
140pub const __WATCHOS_2_0: u32 = 20000;
141pub const __WATCHOS_2_1: u32 = 20100;
142pub const __WATCHOS_2_2: u32 = 20200;
143pub const __WATCHOS_3_0: u32 = 30000;
144pub const __WATCHOS_3_1: u32 = 30100;
145pub const __WATCHOS_3_1_1: u32 = 30101;
146pub const __WATCHOS_3_2: u32 = 30200;
147pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 101204;
148pub const __DARWIN_WCHAR_MIN: i32 = -2147483648;
149pub const _FORTIFY_SOURCE: u32 = 0;
150pub const RENAME_SECLUDE: u32 = 1;
151pub const RENAME_SWAP: u32 = 2;
152pub const RENAME_EXCL: u32 = 4;
153pub const __SLBF: u32 = 1;
154pub const __SNBF: u32 = 2;
155pub const __SRD: u32 = 4;
156pub const __SWR: u32 = 8;
157pub const __SRW: u32 = 16;
158pub const __SEOF: u32 = 32;
159pub const __SERR: u32 = 64;
160pub const __SMBF: u32 = 128;
161pub const __SAPP: u32 = 256;
162pub const __SSTR: u32 = 512;
163pub const __SOPT: u32 = 1024;
164pub const __SNPT: u32 = 2048;
165pub const __SOFF: u32 = 4096;
166pub const __SMOD: u32 = 8192;
167pub const __SALC: u32 = 16384;
168pub const __SIGN: u32 = 32768;
169pub const _IOFBF: u32 = 0;
170pub const _IOLBF: u32 = 1;
171pub const _IONBF: u32 = 2;
172pub const BUFSIZ: u32 = 1024;
173pub const EOF: i32 = -1;
174pub const FOPEN_MAX: u32 = 20;
175pub const FILENAME_MAX: u32 = 1024;
176pub const P_tmpdir: &'static [u8; 10usize] = b"/var/tmp/\0";
177pub const L_tmpnam: u32 = 1024;
178pub const TMP_MAX: u32 = 308915776;
179pub const SEEK_SET: u32 = 0;
180pub const SEEK_CUR: u32 = 1;
181pub const SEEK_END: u32 = 2;
182pub const L_ctermid: u32 = 1024;
183pub const __CTERMID_DEFINED: u32 = 1;
184pub const DC1394_CAPTURE_FLAGS_CHANNEL_ALLOC: u32 = 1;
185pub const DC1394_CAPTURE_FLAGS_BANDWIDTH_ALLOC: u32 = 2;
186pub const DC1394_CAPTURE_FLAGS_DEFAULT: u32 = 4;
187pub const DC1394_CAPTURE_FLAGS_AUTO_ISO: u32 = 8;
188pub const DC1394_QUERY_FROM_CAMERA: i32 = -1;
189pub const DC1394_USE_MAX_AVAIL: i32 = -2;
190pub const DC1394_USE_RECOMMENDED: i32 = -3;
191pub type int_least8_t = i8;
192pub type int_least16_t = i16;
193pub type int_least32_t = i32;
194pub type int_least64_t = i64;
195pub type uint_least8_t = u8;
196pub type uint_least16_t = u16;
197pub type uint_least32_t = u32;
198pub type uint_least64_t = u64;
199pub type int_fast8_t = i8;
200pub type int_fast16_t = i16;
201pub type int_fast32_t = i32;
202pub type int_fast64_t = i64;
203pub type uint_fast8_t = u8;
204pub type uint_fast16_t = u16;
205pub type uint_fast32_t = u32;
206pub type uint_fast64_t = u64;
207pub type __int8_t = ::std::os::raw::c_schar;
208pub type __uint8_t = ::std::os::raw::c_uchar;
209pub type __int16_t = ::std::os::raw::c_short;
210pub type __uint16_t = ::std::os::raw::c_ushort;
211pub type __int32_t = ::std::os::raw::c_int;
212pub type __uint32_t = ::std::os::raw::c_uint;
213pub type __int64_t = ::std::os::raw::c_longlong;
214pub type __uint64_t = ::std::os::raw::c_ulonglong;
215pub type __darwin_intptr_t = ::std::os::raw::c_long;
216pub type __darwin_natural_t = ::std::os::raw::c_uint;
217pub type __darwin_ct_rune_t = ::std::os::raw::c_int;
218#[repr(C)]
219#[derive(Copy, Clone)]
220pub union __mbstate_t {
221 pub __mbstate8: [::std::os::raw::c_char; 128usize],
222 pub _mbstateL: ::std::os::raw::c_longlong,
223 _bindgen_union_align: [u64; 16usize],
224}
225#[test]
226fn bindgen_test_layout___mbstate_t() {
227 assert_eq!(
228 ::std::mem::size_of::<__mbstate_t>(),
229 128usize,
230 concat!("Size of: ", stringify!(__mbstate_t))
231 );
232 assert_eq!(
233 ::std::mem::align_of::<__mbstate_t>(),
234 8usize,
235 concat!("Alignment of ", stringify!(__mbstate_t))
236 );
237 assert_eq!(
238 unsafe { &(*(::std::ptr::null::<__mbstate_t>())).__mbstate8 as *const _ as usize },
239 0usize,
240 concat!(
241 "Offset of field: ",
242 stringify!(__mbstate_t),
243 "::",
244 stringify!(__mbstate8)
245 )
246 );
247 assert_eq!(
248 unsafe { &(*(::std::ptr::null::<__mbstate_t>()))._mbstateL as *const _ as usize },
249 0usize,
250 concat!(
251 "Offset of field: ",
252 stringify!(__mbstate_t),
253 "::",
254 stringify!(_mbstateL)
255 )
256 );
257}
258pub type __darwin_mbstate_t = __mbstate_t;
259pub type __darwin_ptrdiff_t = ::std::os::raw::c_long;
260pub type __darwin_size_t = ::std::os::raw::c_ulong;
261pub type __darwin_va_list = __builtin_va_list;
262pub type __darwin_wchar_t = ::std::os::raw::c_int;
263pub type __darwin_rune_t = __darwin_wchar_t;
264pub type __darwin_wint_t = ::std::os::raw::c_int;
265pub type __darwin_clock_t = ::std::os::raw::c_ulong;
266pub type __darwin_socklen_t = __uint32_t;
267pub type __darwin_ssize_t = ::std::os::raw::c_long;
268pub type __darwin_time_t = ::std::os::raw::c_long;
269pub type __darwin_blkcnt_t = __int64_t;
270pub type __darwin_blksize_t = __int32_t;
271pub type __darwin_dev_t = __int32_t;
272pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint;
273pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint;
274pub type __darwin_gid_t = __uint32_t;
275pub type __darwin_id_t = __uint32_t;
276pub type __darwin_ino64_t = __uint64_t;
277pub type __darwin_ino_t = __uint32_t;
278pub type __darwin_mach_port_name_t = __darwin_natural_t;
279pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
280pub type __darwin_mode_t = __uint16_t;
281pub type __darwin_off_t = __int64_t;
282pub type __darwin_pid_t = __int32_t;
283pub type __darwin_sigset_t = __uint32_t;
284pub type __darwin_suseconds_t = __int32_t;
285pub type __darwin_uid_t = __uint32_t;
286pub type __darwin_useconds_t = __uint32_t;
287pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize];
288pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize];
289#[repr(C)]
290#[derive(Debug, Copy, Clone)]
291pub struct __darwin_pthread_handler_rec {
292 pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
293 pub __arg: *mut ::std::os::raw::c_void,
294 pub __next: *mut __darwin_pthread_handler_rec,
295}
296#[test]
297fn bindgen_test_layout___darwin_pthread_handler_rec() {
298 assert_eq!(
299 ::std::mem::size_of::<__darwin_pthread_handler_rec>(),
300 24usize,
301 concat!("Size of: ", stringify!(__darwin_pthread_handler_rec))
302 );
303 assert_eq!(
304 ::std::mem::align_of::<__darwin_pthread_handler_rec>(),
305 8usize,
306 concat!("Alignment of ", stringify!(__darwin_pthread_handler_rec))
307 );
308 assert_eq!(
309 unsafe {
310 &(*(::std::ptr::null::<__darwin_pthread_handler_rec>())).__routine as *const _ as usize
311 },
312 0usize,
313 concat!(
314 "Offset of field: ",
315 stringify!(__darwin_pthread_handler_rec),
316 "::",
317 stringify!(__routine)
318 )
319 );
320 assert_eq!(
321 unsafe {
322 &(*(::std::ptr::null::<__darwin_pthread_handler_rec>())).__arg as *const _ as usize
323 },
324 8usize,
325 concat!(
326 "Offset of field: ",
327 stringify!(__darwin_pthread_handler_rec),
328 "::",
329 stringify!(__arg)
330 )
331 );
332 assert_eq!(
333 unsafe {
334 &(*(::std::ptr::null::<__darwin_pthread_handler_rec>())).__next as *const _ as usize
335 },
336 16usize,
337 concat!(
338 "Offset of field: ",
339 stringify!(__darwin_pthread_handler_rec),
340 "::",
341 stringify!(__next)
342 )
343 );
344}
345#[repr(C)]
346#[derive(Copy, Clone)]
347pub struct _opaque_pthread_attr_t {
348 pub __sig: ::std::os::raw::c_long,
349 pub __opaque: [::std::os::raw::c_char; 56usize],
350}
351#[test]
352fn bindgen_test_layout__opaque_pthread_attr_t() {
353 assert_eq!(
354 ::std::mem::size_of::<_opaque_pthread_attr_t>(),
355 64usize,
356 concat!("Size of: ", stringify!(_opaque_pthread_attr_t))
357 );
358 assert_eq!(
359 ::std::mem::align_of::<_opaque_pthread_attr_t>(),
360 8usize,
361 concat!("Alignment of ", stringify!(_opaque_pthread_attr_t))
362 );
363 assert_eq!(
364 unsafe { &(*(::std::ptr::null::<_opaque_pthread_attr_t>())).__sig as *const _ as usize },
365 0usize,
366 concat!(
367 "Offset of field: ",
368 stringify!(_opaque_pthread_attr_t),
369 "::",
370 stringify!(__sig)
371 )
372 );
373 assert_eq!(
374 unsafe { &(*(::std::ptr::null::<_opaque_pthread_attr_t>())).__opaque as *const _ as usize },
375 8usize,
376 concat!(
377 "Offset of field: ",
378 stringify!(_opaque_pthread_attr_t),
379 "::",
380 stringify!(__opaque)
381 )
382 );
383}
384#[repr(C)]
385#[derive(Copy, Clone)]
386pub struct _opaque_pthread_cond_t {
387 pub __sig: ::std::os::raw::c_long,
388 pub __opaque: [::std::os::raw::c_char; 40usize],
389}
390#[test]
391fn bindgen_test_layout__opaque_pthread_cond_t() {
392 assert_eq!(
393 ::std::mem::size_of::<_opaque_pthread_cond_t>(),
394 48usize,
395 concat!("Size of: ", stringify!(_opaque_pthread_cond_t))
396 );
397 assert_eq!(
398 ::std::mem::align_of::<_opaque_pthread_cond_t>(),
399 8usize,
400 concat!("Alignment of ", stringify!(_opaque_pthread_cond_t))
401 );
402 assert_eq!(
403 unsafe { &(*(::std::ptr::null::<_opaque_pthread_cond_t>())).__sig as *const _ as usize },
404 0usize,
405 concat!(
406 "Offset of field: ",
407 stringify!(_opaque_pthread_cond_t),
408 "::",
409 stringify!(__sig)
410 )
411 );
412 assert_eq!(
413 unsafe { &(*(::std::ptr::null::<_opaque_pthread_cond_t>())).__opaque as *const _ as usize },
414 8usize,
415 concat!(
416 "Offset of field: ",
417 stringify!(_opaque_pthread_cond_t),
418 "::",
419 stringify!(__opaque)
420 )
421 );
422}
423#[repr(C)]
424#[derive(Debug, Copy, Clone)]
425pub struct _opaque_pthread_condattr_t {
426 pub __sig: ::std::os::raw::c_long,
427 pub __opaque: [::std::os::raw::c_char; 8usize],
428}
429#[test]
430fn bindgen_test_layout__opaque_pthread_condattr_t() {
431 assert_eq!(
432 ::std::mem::size_of::<_opaque_pthread_condattr_t>(),
433 16usize,
434 concat!("Size of: ", stringify!(_opaque_pthread_condattr_t))
435 );
436 assert_eq!(
437 ::std::mem::align_of::<_opaque_pthread_condattr_t>(),
438 8usize,
439 concat!("Alignment of ", stringify!(_opaque_pthread_condattr_t))
440 );
441 assert_eq!(
442 unsafe {
443 &(*(::std::ptr::null::<_opaque_pthread_condattr_t>())).__sig as *const _ as usize
444 },
445 0usize,
446 concat!(
447 "Offset of field: ",
448 stringify!(_opaque_pthread_condattr_t),
449 "::",
450 stringify!(__sig)
451 )
452 );
453 assert_eq!(
454 unsafe {
455 &(*(::std::ptr::null::<_opaque_pthread_condattr_t>())).__opaque as *const _ as usize
456 },
457 8usize,
458 concat!(
459 "Offset of field: ",
460 stringify!(_opaque_pthread_condattr_t),
461 "::",
462 stringify!(__opaque)
463 )
464 );
465}
466#[repr(C)]
467#[derive(Copy, Clone)]
468pub struct _opaque_pthread_mutex_t {
469 pub __sig: ::std::os::raw::c_long,
470 pub __opaque: [::std::os::raw::c_char; 56usize],
471}
472#[test]
473fn bindgen_test_layout__opaque_pthread_mutex_t() {
474 assert_eq!(
475 ::std::mem::size_of::<_opaque_pthread_mutex_t>(),
476 64usize,
477 concat!("Size of: ", stringify!(_opaque_pthread_mutex_t))
478 );
479 assert_eq!(
480 ::std::mem::align_of::<_opaque_pthread_mutex_t>(),
481 8usize,
482 concat!("Alignment of ", stringify!(_opaque_pthread_mutex_t))
483 );
484 assert_eq!(
485 unsafe { &(*(::std::ptr::null::<_opaque_pthread_mutex_t>())).__sig as *const _ as usize },
486 0usize,
487 concat!(
488 "Offset of field: ",
489 stringify!(_opaque_pthread_mutex_t),
490 "::",
491 stringify!(__sig)
492 )
493 );
494 assert_eq!(
495 unsafe {
496 &(*(::std::ptr::null::<_opaque_pthread_mutex_t>())).__opaque as *const _ as usize
497 },
498 8usize,
499 concat!(
500 "Offset of field: ",
501 stringify!(_opaque_pthread_mutex_t),
502 "::",
503 stringify!(__opaque)
504 )
505 );
506}
507#[repr(C)]
508#[derive(Debug, Copy, Clone)]
509pub struct _opaque_pthread_mutexattr_t {
510 pub __sig: ::std::os::raw::c_long,
511 pub __opaque: [::std::os::raw::c_char; 8usize],
512}
513#[test]
514fn bindgen_test_layout__opaque_pthread_mutexattr_t() {
515 assert_eq!(
516 ::std::mem::size_of::<_opaque_pthread_mutexattr_t>(),
517 16usize,
518 concat!("Size of: ", stringify!(_opaque_pthread_mutexattr_t))
519 );
520 assert_eq!(
521 ::std::mem::align_of::<_opaque_pthread_mutexattr_t>(),
522 8usize,
523 concat!("Alignment of ", stringify!(_opaque_pthread_mutexattr_t))
524 );
525 assert_eq!(
526 unsafe {
527 &(*(::std::ptr::null::<_opaque_pthread_mutexattr_t>())).__sig as *const _ as usize
528 },
529 0usize,
530 concat!(
531 "Offset of field: ",
532 stringify!(_opaque_pthread_mutexattr_t),
533 "::",
534 stringify!(__sig)
535 )
536 );
537 assert_eq!(
538 unsafe {
539 &(*(::std::ptr::null::<_opaque_pthread_mutexattr_t>())).__opaque as *const _ as usize
540 },
541 8usize,
542 concat!(
543 "Offset of field: ",
544 stringify!(_opaque_pthread_mutexattr_t),
545 "::",
546 stringify!(__opaque)
547 )
548 );
549}
550#[repr(C)]
551#[derive(Debug, Copy, Clone)]
552pub struct _opaque_pthread_once_t {
553 pub __sig: ::std::os::raw::c_long,
554 pub __opaque: [::std::os::raw::c_char; 8usize],
555}
556#[test]
557fn bindgen_test_layout__opaque_pthread_once_t() {
558 assert_eq!(
559 ::std::mem::size_of::<_opaque_pthread_once_t>(),
560 16usize,
561 concat!("Size of: ", stringify!(_opaque_pthread_once_t))
562 );
563 assert_eq!(
564 ::std::mem::align_of::<_opaque_pthread_once_t>(),
565 8usize,
566 concat!("Alignment of ", stringify!(_opaque_pthread_once_t))
567 );
568 assert_eq!(
569 unsafe { &(*(::std::ptr::null::<_opaque_pthread_once_t>())).__sig as *const _ as usize },
570 0usize,
571 concat!(
572 "Offset of field: ",
573 stringify!(_opaque_pthread_once_t),
574 "::",
575 stringify!(__sig)
576 )
577 );
578 assert_eq!(
579 unsafe { &(*(::std::ptr::null::<_opaque_pthread_once_t>())).__opaque as *const _ as usize },
580 8usize,
581 concat!(
582 "Offset of field: ",
583 stringify!(_opaque_pthread_once_t),
584 "::",
585 stringify!(__opaque)
586 )
587 );
588}
589#[repr(C)]
590#[derive(Copy, Clone)]
591pub struct _opaque_pthread_rwlock_t {
592 pub __sig: ::std::os::raw::c_long,
593 pub __opaque: [::std::os::raw::c_char; 192usize],
594}
595#[test]
596fn bindgen_test_layout__opaque_pthread_rwlock_t() {
597 assert_eq!(
598 ::std::mem::size_of::<_opaque_pthread_rwlock_t>(),
599 200usize,
600 concat!("Size of: ", stringify!(_opaque_pthread_rwlock_t))
601 );
602 assert_eq!(
603 ::std::mem::align_of::<_opaque_pthread_rwlock_t>(),
604 8usize,
605 concat!("Alignment of ", stringify!(_opaque_pthread_rwlock_t))
606 );
607 assert_eq!(
608 unsafe { &(*(::std::ptr::null::<_opaque_pthread_rwlock_t>())).__sig as *const _ as usize },
609 0usize,
610 concat!(
611 "Offset of field: ",
612 stringify!(_opaque_pthread_rwlock_t),
613 "::",
614 stringify!(__sig)
615 )
616 );
617 assert_eq!(
618 unsafe {
619 &(*(::std::ptr::null::<_opaque_pthread_rwlock_t>())).__opaque as *const _ as usize
620 },
621 8usize,
622 concat!(
623 "Offset of field: ",
624 stringify!(_opaque_pthread_rwlock_t),
625 "::",
626 stringify!(__opaque)
627 )
628 );
629}
630#[repr(C)]
631#[derive(Debug, Copy, Clone)]
632pub struct _opaque_pthread_rwlockattr_t {
633 pub __sig: ::std::os::raw::c_long,
634 pub __opaque: [::std::os::raw::c_char; 16usize],
635}
636#[test]
637fn bindgen_test_layout__opaque_pthread_rwlockattr_t() {
638 assert_eq!(
639 ::std::mem::size_of::<_opaque_pthread_rwlockattr_t>(),
640 24usize,
641 concat!("Size of: ", stringify!(_opaque_pthread_rwlockattr_t))
642 );
643 assert_eq!(
644 ::std::mem::align_of::<_opaque_pthread_rwlockattr_t>(),
645 8usize,
646 concat!("Alignment of ", stringify!(_opaque_pthread_rwlockattr_t))
647 );
648 assert_eq!(
649 unsafe {
650 &(*(::std::ptr::null::<_opaque_pthread_rwlockattr_t>())).__sig as *const _ as usize
651 },
652 0usize,
653 concat!(
654 "Offset of field: ",
655 stringify!(_opaque_pthread_rwlockattr_t),
656 "::",
657 stringify!(__sig)
658 )
659 );
660 assert_eq!(
661 unsafe {
662 &(*(::std::ptr::null::<_opaque_pthread_rwlockattr_t>())).__opaque as *const _ as usize
663 },
664 8usize,
665 concat!(
666 "Offset of field: ",
667 stringify!(_opaque_pthread_rwlockattr_t),
668 "::",
669 stringify!(__opaque)
670 )
671 );
672}
673#[repr(C)]
674#[derive(Copy, Clone)]
675pub struct _opaque_pthread_t {
676 pub __sig: ::std::os::raw::c_long,
677 pub __cleanup_stack: *mut __darwin_pthread_handler_rec,
678 pub __opaque: [::std::os::raw::c_char; 8176usize],
679}
680#[test]
681fn bindgen_test_layout__opaque_pthread_t() {
682 assert_eq!(
683 ::std::mem::size_of::<_opaque_pthread_t>(),
684 8192usize,
685 concat!("Size of: ", stringify!(_opaque_pthread_t))
686 );
687 assert_eq!(
688 ::std::mem::align_of::<_opaque_pthread_t>(),
689 8usize,
690 concat!("Alignment of ", stringify!(_opaque_pthread_t))
691 );
692 assert_eq!(
693 unsafe { &(*(::std::ptr::null::<_opaque_pthread_t>())).__sig as *const _ as usize },
694 0usize,
695 concat!(
696 "Offset of field: ",
697 stringify!(_opaque_pthread_t),
698 "::",
699 stringify!(__sig)
700 )
701 );
702 assert_eq!(
703 unsafe {
704 &(*(::std::ptr::null::<_opaque_pthread_t>())).__cleanup_stack as *const _ as usize
705 },
706 8usize,
707 concat!(
708 "Offset of field: ",
709 stringify!(_opaque_pthread_t),
710 "::",
711 stringify!(__cleanup_stack)
712 )
713 );
714 assert_eq!(
715 unsafe { &(*(::std::ptr::null::<_opaque_pthread_t>())).__opaque as *const _ as usize },
716 16usize,
717 concat!(
718 "Offset of field: ",
719 stringify!(_opaque_pthread_t),
720 "::",
721 stringify!(__opaque)
722 )
723 );
724}
725pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t;
726pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t;
727pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t;
728pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong;
729pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t;
730pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t;
731pub type __darwin_pthread_once_t = _opaque_pthread_once_t;
732pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t;
733pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t;
734pub type __darwin_pthread_t = *mut _opaque_pthread_t;
735pub type intmax_t = ::std::os::raw::c_long;
736pub type uintmax_t = ::std::os::raw::c_ulong;
737pub mod dc1394video_mode_t {
738 #[doc = " Enumeration of video modes. Note that the notion of IIDC \"format\" is not present here, except in the format_7 name."]
739 pub type Type = u32;
740 pub const DC1394_VIDEO_MODE_160x120_YUV444: Type = 64;
741 pub const DC1394_VIDEO_MODE_320x240_YUV422: Type = 65;
742 pub const DC1394_VIDEO_MODE_640x480_YUV411: Type = 66;
743 pub const DC1394_VIDEO_MODE_640x480_YUV422: Type = 67;
744 pub const DC1394_VIDEO_MODE_640x480_RGB8: Type = 68;
745 pub const DC1394_VIDEO_MODE_640x480_MONO8: Type = 69;
746 pub const DC1394_VIDEO_MODE_640x480_MONO16: Type = 70;
747 pub const DC1394_VIDEO_MODE_800x600_YUV422: Type = 71;
748 pub const DC1394_VIDEO_MODE_800x600_RGB8: Type = 72;
749 pub const DC1394_VIDEO_MODE_800x600_MONO8: Type = 73;
750 pub const DC1394_VIDEO_MODE_1024x768_YUV422: Type = 74;
751 pub const DC1394_VIDEO_MODE_1024x768_RGB8: Type = 75;
752 pub const DC1394_VIDEO_MODE_1024x768_MONO8: Type = 76;
753 pub const DC1394_VIDEO_MODE_800x600_MONO16: Type = 77;
754 pub const DC1394_VIDEO_MODE_1024x768_MONO16: Type = 78;
755 pub const DC1394_VIDEO_MODE_1280x960_YUV422: Type = 79;
756 pub const DC1394_VIDEO_MODE_1280x960_RGB8: Type = 80;
757 pub const DC1394_VIDEO_MODE_1280x960_MONO8: Type = 81;
758 pub const DC1394_VIDEO_MODE_1600x1200_YUV422: Type = 82;
759 pub const DC1394_VIDEO_MODE_1600x1200_RGB8: Type = 83;
760 pub const DC1394_VIDEO_MODE_1600x1200_MONO8: Type = 84;
761 pub const DC1394_VIDEO_MODE_1280x960_MONO16: Type = 85;
762 pub const DC1394_VIDEO_MODE_1600x1200_MONO16: Type = 86;
763 pub const DC1394_VIDEO_MODE_EXIF: Type = 87;
764 pub const DC1394_VIDEO_MODE_FORMAT7_0: Type = 88;
765 pub const DC1394_VIDEO_MODE_FORMAT7_1: Type = 89;
766 pub const DC1394_VIDEO_MODE_FORMAT7_2: Type = 90;
767 pub const DC1394_VIDEO_MODE_FORMAT7_3: Type = 91;
768 pub const DC1394_VIDEO_MODE_FORMAT7_4: Type = 92;
769 pub const DC1394_VIDEO_MODE_FORMAT7_5: Type = 93;
770 pub const DC1394_VIDEO_MODE_FORMAT7_6: Type = 94;
771 pub const DC1394_VIDEO_MODE_FORMAT7_7: Type = 95;
772}
773pub mod dc1394color_coding_t {
774 #[doc = " Enumeration of colour codings. For details on the data format please read the IIDC specifications."]
775 pub type Type = u32;
776 pub const DC1394_COLOR_CODING_MONO8: Type = 352;
777 pub const DC1394_COLOR_CODING_YUV411: Type = 353;
778 pub const DC1394_COLOR_CODING_YUV422: Type = 354;
779 pub const DC1394_COLOR_CODING_YUV444: Type = 355;
780 pub const DC1394_COLOR_CODING_RGB8: Type = 356;
781 pub const DC1394_COLOR_CODING_MONO16: Type = 357;
782 pub const DC1394_COLOR_CODING_RGB16: Type = 358;
783 pub const DC1394_COLOR_CODING_MONO16S: Type = 359;
784 pub const DC1394_COLOR_CODING_RGB16S: Type = 360;
785 pub const DC1394_COLOR_CODING_RAW8: Type = 361;
786 pub const DC1394_COLOR_CODING_RAW16: Type = 362;
787}
788pub mod dc1394color_filter_t {
789 #[doc = " RAW sensor filters. These elementary tiles tesselate the image plane in RAW modes. RGGB should be interpreted in 2D as"]
790 #[doc = ""]
791 #[doc = " RG"]
792 #[doc = " GB"]
793 #[doc = ""]
794 #[doc = " and similarly for other filters."]
795 pub type Type = u32;
796 pub const DC1394_COLOR_FILTER_RGGB: Type = 512;
797 pub const DC1394_COLOR_FILTER_GBRG: Type = 513;
798 pub const DC1394_COLOR_FILTER_GRBG: Type = 514;
799 pub const DC1394_COLOR_FILTER_BGGR: Type = 515;
800}
801pub mod dc1394byte_order_t {
802 #[doc = " Byte order for YUV formats (may be expanded to RGB in the future)"]
803 #[doc = ""]
804 #[doc = " IIDC cameras always return data in UYVY order, but conversion functions can change this if requested."]
805 pub type Type = u32;
806 pub const DC1394_BYTE_ORDER_UYVY: Type = 800;
807 pub const DC1394_BYTE_ORDER_YUYV: Type = 801;
808}
809#[doc = " A struct containing a list of color codings"]
810#[repr(C)]
811#[derive(Debug, Copy, Clone)]
812pub struct dc1394color_codings_t {
813 pub num: u32,
814 pub codings: [dc1394color_coding_t::Type; 11usize],
815}
816#[test]
817fn bindgen_test_layout_dc1394color_codings_t() {
818 assert_eq!(
819 ::std::mem::size_of::<dc1394color_codings_t>(),
820 48usize,
821 concat!("Size of: ", stringify!(dc1394color_codings_t))
822 );
823 assert_eq!(
824 ::std::mem::align_of::<dc1394color_codings_t>(),
825 4usize,
826 concat!("Alignment of ", stringify!(dc1394color_codings_t))
827 );
828 assert_eq!(
829 unsafe { &(*(::std::ptr::null::<dc1394color_codings_t>())).num as *const _ as usize },
830 0usize,
831 concat!(
832 "Offset of field: ",
833 stringify!(dc1394color_codings_t),
834 "::",
835 stringify!(num)
836 )
837 );
838 assert_eq!(
839 unsafe { &(*(::std::ptr::null::<dc1394color_codings_t>())).codings as *const _ as usize },
840 4usize,
841 concat!(
842 "Offset of field: ",
843 stringify!(dc1394color_codings_t),
844 "::",
845 stringify!(codings)
846 )
847 );
848}
849#[doc = " A struct containing a list of video modes"]
850#[repr(C)]
851#[derive(Debug, Copy, Clone)]
852pub struct dc1394video_modes_t {
853 pub num: u32,
854 pub modes: [dc1394video_mode_t::Type; 32usize],
855}
856#[test]
857fn bindgen_test_layout_dc1394video_modes_t() {
858 assert_eq!(
859 ::std::mem::size_of::<dc1394video_modes_t>(),
860 132usize,
861 concat!("Size of: ", stringify!(dc1394video_modes_t))
862 );
863 assert_eq!(
864 ::std::mem::align_of::<dc1394video_modes_t>(),
865 4usize,
866 concat!("Alignment of ", stringify!(dc1394video_modes_t))
867 );
868 assert_eq!(
869 unsafe { &(*(::std::ptr::null::<dc1394video_modes_t>())).num as *const _ as usize },
870 0usize,
871 concat!(
872 "Offset of field: ",
873 stringify!(dc1394video_modes_t),
874 "::",
875 stringify!(num)
876 )
877 );
878 assert_eq!(
879 unsafe { &(*(::std::ptr::null::<dc1394video_modes_t>())).modes as *const _ as usize },
880 4usize,
881 concat!(
882 "Offset of field: ",
883 stringify!(dc1394video_modes_t),
884 "::",
885 stringify!(modes)
886 )
887 );
888}
889pub mod dc1394bool_t {
890 #[doc = " Yet another boolean data type"]
891 pub type Type = u32;
892 pub const DC1394_FALSE: Type = 0;
893 pub const DC1394_TRUE: Type = 1;
894}
895pub mod dc1394switch_t {
896 #[doc = " Yet another boolean data type, a bit more oriented towards electrical-engineers"]
897 pub type Type = u32;
898 pub const DC1394_OFF: Type = 0;
899 pub const DC1394_ON: Type = 1;
900}
901pub mod dc1394error_t {
902 #[doc = " Error codes returned by most libdc1394 functions."]
903 #[doc = ""]
904 #[doc = " General rule: 0 is success, negative denotes a problem."]
905 pub type Type = i32;
906 pub const DC1394_SUCCESS: Type = 0;
907 pub const DC1394_FAILURE: Type = -1;
908 pub const DC1394_NOT_A_CAMERA: Type = -2;
909 pub const DC1394_FUNCTION_NOT_SUPPORTED: Type = -3;
910 pub const DC1394_CAMERA_NOT_INITIALIZED: Type = -4;
911 pub const DC1394_MEMORY_ALLOCATION_FAILURE: Type = -5;
912 pub const DC1394_TAGGED_REGISTER_NOT_FOUND: Type = -6;
913 pub const DC1394_NO_ISO_CHANNEL: Type = -7;
914 pub const DC1394_NO_BANDWIDTH: Type = -8;
915 pub const DC1394_IOCTL_FAILURE: Type = -9;
916 pub const DC1394_CAPTURE_IS_NOT_SET: Type = -10;
917 pub const DC1394_CAPTURE_IS_RUNNING: Type = -11;
918 pub const DC1394_RAW1394_FAILURE: Type = -12;
919 pub const DC1394_FORMAT7_ERROR_FLAG_1: Type = -13;
920 pub const DC1394_FORMAT7_ERROR_FLAG_2: Type = -14;
921 pub const DC1394_INVALID_ARGUMENT_VALUE: Type = -15;
922 pub const DC1394_REQ_VALUE_OUTSIDE_RANGE: Type = -16;
923 pub const DC1394_INVALID_FEATURE: Type = -17;
924 pub const DC1394_INVALID_VIDEO_FORMAT: Type = -18;
925 pub const DC1394_INVALID_VIDEO_MODE: Type = -19;
926 pub const DC1394_INVALID_FRAMERATE: Type = -20;
927 pub const DC1394_INVALID_TRIGGER_MODE: Type = -21;
928 pub const DC1394_INVALID_TRIGGER_SOURCE: Type = -22;
929 pub const DC1394_INVALID_ISO_SPEED: Type = -23;
930 pub const DC1394_INVALID_IIDC_VERSION: Type = -24;
931 pub const DC1394_INVALID_COLOR_CODING: Type = -25;
932 pub const DC1394_INVALID_COLOR_FILTER: Type = -26;
933 pub const DC1394_INVALID_CAPTURE_POLICY: Type = -27;
934 pub const DC1394_INVALID_ERROR_CODE: Type = -28;
935 pub const DC1394_INVALID_BAYER_METHOD: Type = -29;
936 pub const DC1394_INVALID_VIDEO1394_DEVICE: Type = -30;
937 pub const DC1394_INVALID_OPERATION_MODE: Type = -31;
938 pub const DC1394_INVALID_TRIGGER_POLARITY: Type = -32;
939 pub const DC1394_INVALID_FEATURE_MODE: Type = -33;
940 pub const DC1394_INVALID_LOG_TYPE: Type = -34;
941 pub const DC1394_INVALID_BYTE_ORDER: Type = -35;
942 pub const DC1394_INVALID_STEREO_METHOD: Type = -36;
943 pub const DC1394_BASLER_NO_MORE_SFF_CHUNKS: Type = -37;
944 pub const DC1394_BASLER_CORRUPTED_SFF_CHUNK: Type = -38;
945 pub const DC1394_BASLER_UNKNOWN_SFF_CHUNK: Type = -39;
946}
947pub mod dc1394log_t {
948 #[doc = " Types of logging messages"]
949 #[doc = ""]
950 #[doc = " Three types exist:"]
951 #[doc = " - ERROR for real, hard, unrecoverable errors that will result in the program terminating."]
952 #[doc = " - WARNING for things that have gone wrong, but are not requiring a termination of the program."]
953 #[doc = " - DEBUG for debug messages that can be very verbose but may help the developers to fix bugs."]
954 pub type Type = u32;
955 pub const DC1394_LOG_ERROR: Type = 768;
956 pub const DC1394_LOG_WARNING: Type = 769;
957 pub const DC1394_LOG_DEBUG: Type = 770;
958}
959extern "C" {
960 #[doc = " dc1394_log_register_handler: register log handler for reporting error, warning or debug statements"]
961 #[doc = " Passing NULL as argument turns off this log level."]
962 #[doc = " @param [in] log_handler: pointer to a function which takes a character string as argument"]
963 #[doc = " type: the type of log"]
964 #[doc = " @param [in] type: message type (\\a debug, \\a err or \\a warning)"]
965 #[doc = " @param [in] message: log message"]
966 pub fn dc1394_log_register_handler(
967 type_: dc1394log_t::Type,
968 log_handler: ::std::option::Option<
969 unsafe extern "C" fn(
970 type_: dc1394log_t::Type,
971 log_handler: *const ::std::os::raw::c_char,
972 user: *mut ::std::os::raw::c_void,
973 ),
974 >,
975 user: *mut ::std::os::raw::c_void,
976 ) -> dc1394error_t::Type;
977}
978extern "C" {
979 #[doc = " dc1394_log_set_default_handler: set the log handler to the default handler"]
980 #[doc = " At boot time, debug logging is OFF (handler is NULL). Using this function for the debug statements"]
981 #[doc = " will start logging of debug statements usng the default handler."]
982 pub fn dc1394_log_set_default_handler(type_: dc1394log_t::Type) -> dc1394error_t::Type;
983}
984extern "C" {
985 #[doc = " dc1394_log_error: logs a fatal error condition to the registered facility"]
986 #[doc = " This function shall be invoked if a fatal error condition is encountered."]
987 #[doc = " The message passed as argument is delivered to the registered error reporting"]
988 #[doc = " function registered before."]
989 #[doc = " @param [in] format,...: error message to be logged, multiple arguments allowed (printf style)"]
990 pub fn dc1394_log_error(format: *const ::std::os::raw::c_char, ...);
991}
992extern "C" {
993 #[doc = " dc1394_log_warning: logs a nonfatal error condition to the registered facility"]
994 #[doc = " This function shall be invoked if a nonfatal error condition is encountered."]
995 #[doc = " The message passed as argument is delivered to the registered warning reporting"]
996 #[doc = " function registered before."]
997 #[doc = " @param [in] format,...: warning message to be logged, multiple arguments allowed (printf style)"]
998 pub fn dc1394_log_warning(format: *const ::std::os::raw::c_char, ...);
999}
1000extern "C" {
1001 #[doc = " dc1394_log_debug: logs a debug statement to the registered facility"]
1002 #[doc = " This function shall be invoked if a debug statement is to be logged."]
1003 #[doc = " The message passed as argument is delivered to the registered debug reporting"]
1004 #[doc = " function registered before ONLY IF the environment variable DC1394_DEBUG has been set before the"]
1005 #[doc = " program starts."]
1006 #[doc = " @param [in] format,...: debug statement to be logged, multiple arguments allowed (printf style)"]
1007 pub fn dc1394_log_debug(format: *const ::std::os::raw::c_char, ...);
1008}
1009pub type __darwin_nl_item = ::std::os::raw::c_int;
1010pub type __darwin_wctrans_t = ::std::os::raw::c_int;
1011pub type __darwin_wctype_t = __uint32_t;
1012pub type va_list = __darwin_va_list;
1013extern "C" {
1014 pub fn renameat(
1015 arg1: ::std::os::raw::c_int,
1016 arg2: *const ::std::os::raw::c_char,
1017 arg3: ::std::os::raw::c_int,
1018 arg4: *const ::std::os::raw::c_char,
1019 ) -> ::std::os::raw::c_int;
1020}
1021extern "C" {
1022 pub fn renamex_np(
1023 arg1: *const ::std::os::raw::c_char,
1024 arg2: *const ::std::os::raw::c_char,
1025 arg3: ::std::os::raw::c_uint,
1026 ) -> ::std::os::raw::c_int;
1027}
1028extern "C" {
1029 pub fn renameatx_np(
1030 arg1: ::std::os::raw::c_int,
1031 arg2: *const ::std::os::raw::c_char,
1032 arg3: ::std::os::raw::c_int,
1033 arg4: *const ::std::os::raw::c_char,
1034 arg5: ::std::os::raw::c_uint,
1035 ) -> ::std::os::raw::c_int;
1036}
1037pub type fpos_t = __darwin_off_t;
1038#[repr(C)]
1039#[derive(Debug, Copy, Clone)]
1040pub struct __sbuf {
1041 pub _base: *mut ::std::os::raw::c_uchar,
1042 pub _size: ::std::os::raw::c_int,
1043}
1044#[test]
1045fn bindgen_test_layout___sbuf() {
1046 assert_eq!(
1047 ::std::mem::size_of::<__sbuf>(),
1048 16usize,
1049 concat!("Size of: ", stringify!(__sbuf))
1050 );
1051 assert_eq!(
1052 ::std::mem::align_of::<__sbuf>(),
1053 8usize,
1054 concat!("Alignment of ", stringify!(__sbuf))
1055 );
1056 assert_eq!(
1057 unsafe { &(*(::std::ptr::null::<__sbuf>()))._base as *const _ as usize },
1058 0usize,
1059 concat!(
1060 "Offset of field: ",
1061 stringify!(__sbuf),
1062 "::",
1063 stringify!(_base)
1064 )
1065 );
1066 assert_eq!(
1067 unsafe { &(*(::std::ptr::null::<__sbuf>()))._size as *const _ as usize },
1068 8usize,
1069 concat!(
1070 "Offset of field: ",
1071 stringify!(__sbuf),
1072 "::",
1073 stringify!(_size)
1074 )
1075 );
1076}
1077#[repr(C)]
1078#[derive(Debug, Copy, Clone)]
1079pub struct __sFILEX {
1080 _unused: [u8; 0],
1081}
1082#[repr(C)]
1083#[derive(Debug, Copy, Clone)]
1084pub struct __sFILE {
1085 pub _p: *mut ::std::os::raw::c_uchar,
1086 pub _r: ::std::os::raw::c_int,
1087 pub _w: ::std::os::raw::c_int,
1088 pub _flags: ::std::os::raw::c_short,
1089 pub _file: ::std::os::raw::c_short,
1090 pub _bf: __sbuf,
1091 pub _lbfsize: ::std::os::raw::c_int,
1092 pub _cookie: *mut ::std::os::raw::c_void,
1093 pub _close: ::std::option::Option<
1094 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
1095 >,
1096 pub _read: ::std::option::Option<
1097 unsafe extern "C" fn(
1098 arg1: *mut ::std::os::raw::c_void,
1099 arg2: *mut ::std::os::raw::c_char,
1100 arg3: ::std::os::raw::c_int,
1101 ) -> ::std::os::raw::c_int,
1102 >,
1103 pub _seek: ::std::option::Option<
1104 unsafe extern "C" fn(
1105 arg1: *mut ::std::os::raw::c_void,
1106 arg2: fpos_t,
1107 arg3: ::std::os::raw::c_int,
1108 ) -> fpos_t,
1109 >,
1110 pub _write: ::std::option::Option<
1111 unsafe extern "C" fn(
1112 arg1: *mut ::std::os::raw::c_void,
1113 arg2: *const ::std::os::raw::c_char,
1114 arg3: ::std::os::raw::c_int,
1115 ) -> ::std::os::raw::c_int,
1116 >,
1117 pub _ub: __sbuf,
1118 pub _extra: *mut __sFILEX,
1119 pub _ur: ::std::os::raw::c_int,
1120 pub _ubuf: [::std::os::raw::c_uchar; 3usize],
1121 pub _nbuf: [::std::os::raw::c_uchar; 1usize],
1122 pub _lb: __sbuf,
1123 pub _blksize: ::std::os::raw::c_int,
1124 pub _offset: fpos_t,
1125}
1126#[test]
1127fn bindgen_test_layout___sFILE() {
1128 assert_eq!(
1129 ::std::mem::size_of::<__sFILE>(),
1130 152usize,
1131 concat!("Size of: ", stringify!(__sFILE))
1132 );
1133 assert_eq!(
1134 ::std::mem::align_of::<__sFILE>(),
1135 8usize,
1136 concat!("Alignment of ", stringify!(__sFILE))
1137 );
1138 assert_eq!(
1139 unsafe { &(*(::std::ptr::null::<__sFILE>()))._p as *const _ as usize },
1140 0usize,
1141 concat!(
1142 "Offset of field: ",
1143 stringify!(__sFILE),
1144 "::",
1145 stringify!(_p)
1146 )
1147 );
1148 assert_eq!(
1149 unsafe { &(*(::std::ptr::null::<__sFILE>()))._r as *const _ as usize },
1150 8usize,
1151 concat!(
1152 "Offset of field: ",
1153 stringify!(__sFILE),
1154 "::",
1155 stringify!(_r)
1156 )
1157 );
1158 assert_eq!(
1159 unsafe { &(*(::std::ptr::null::<__sFILE>()))._w as *const _ as usize },
1160 12usize,
1161 concat!(
1162 "Offset of field: ",
1163 stringify!(__sFILE),
1164 "::",
1165 stringify!(_w)
1166 )
1167 );
1168 assert_eq!(
1169 unsafe { &(*(::std::ptr::null::<__sFILE>()))._flags as *const _ as usize },
1170 16usize,
1171 concat!(
1172 "Offset of field: ",
1173 stringify!(__sFILE),
1174 "::",
1175 stringify!(_flags)
1176 )
1177 );
1178 assert_eq!(
1179 unsafe { &(*(::std::ptr::null::<__sFILE>()))._file as *const _ as usize },
1180 18usize,
1181 concat!(
1182 "Offset of field: ",
1183 stringify!(__sFILE),
1184 "::",
1185 stringify!(_file)
1186 )
1187 );
1188 assert_eq!(
1189 unsafe { &(*(::std::ptr::null::<__sFILE>()))._bf as *const _ as usize },
1190 24usize,
1191 concat!(
1192 "Offset of field: ",
1193 stringify!(__sFILE),
1194 "::",
1195 stringify!(_bf)
1196 )
1197 );
1198 assert_eq!(
1199 unsafe { &(*(::std::ptr::null::<__sFILE>()))._lbfsize as *const _ as usize },
1200 40usize,
1201 concat!(
1202 "Offset of field: ",
1203 stringify!(__sFILE),
1204 "::",
1205 stringify!(_lbfsize)
1206 )
1207 );
1208 assert_eq!(
1209 unsafe { &(*(::std::ptr::null::<__sFILE>()))._cookie as *const _ as usize },
1210 48usize,
1211 concat!(
1212 "Offset of field: ",
1213 stringify!(__sFILE),
1214 "::",
1215 stringify!(_cookie)
1216 )
1217 );
1218 assert_eq!(
1219 unsafe { &(*(::std::ptr::null::<__sFILE>()))._close as *const _ as usize },
1220 56usize,
1221 concat!(
1222 "Offset of field: ",
1223 stringify!(__sFILE),
1224 "::",
1225 stringify!(_close)
1226 )
1227 );
1228 assert_eq!(
1229 unsafe { &(*(::std::ptr::null::<__sFILE>()))._read as *const _ as usize },
1230 64usize,
1231 concat!(
1232 "Offset of field: ",
1233 stringify!(__sFILE),
1234 "::",
1235 stringify!(_read)
1236 )
1237 );
1238 assert_eq!(
1239 unsafe { &(*(::std::ptr::null::<__sFILE>()))._seek as *const _ as usize },
1240 72usize,
1241 concat!(
1242 "Offset of field: ",
1243 stringify!(__sFILE),
1244 "::",
1245 stringify!(_seek)
1246 )
1247 );
1248 assert_eq!(
1249 unsafe { &(*(::std::ptr::null::<__sFILE>()))._write as *const _ as usize },
1250 80usize,
1251 concat!(
1252 "Offset of field: ",
1253 stringify!(__sFILE),
1254 "::",
1255 stringify!(_write)
1256 )
1257 );
1258 assert_eq!(
1259 unsafe { &(*(::std::ptr::null::<__sFILE>()))._ub as *const _ as usize },
1260 88usize,
1261 concat!(
1262 "Offset of field: ",
1263 stringify!(__sFILE),
1264 "::",
1265 stringify!(_ub)
1266 )
1267 );
1268 assert_eq!(
1269 unsafe { &(*(::std::ptr::null::<__sFILE>()))._extra as *const _ as usize },
1270 104usize,
1271 concat!(
1272 "Offset of field: ",
1273 stringify!(__sFILE),
1274 "::",
1275 stringify!(_extra)
1276 )
1277 );
1278 assert_eq!(
1279 unsafe { &(*(::std::ptr::null::<__sFILE>()))._ur as *const _ as usize },
1280 112usize,
1281 concat!(
1282 "Offset of field: ",
1283 stringify!(__sFILE),
1284 "::",
1285 stringify!(_ur)
1286 )
1287 );
1288 assert_eq!(
1289 unsafe { &(*(::std::ptr::null::<__sFILE>()))._ubuf as *const _ as usize },
1290 116usize,
1291 concat!(
1292 "Offset of field: ",
1293 stringify!(__sFILE),
1294 "::",
1295 stringify!(_ubuf)
1296 )
1297 );
1298 assert_eq!(
1299 unsafe { &(*(::std::ptr::null::<__sFILE>()))._nbuf as *const _ as usize },
1300 119usize,
1301 concat!(
1302 "Offset of field: ",
1303 stringify!(__sFILE),
1304 "::",
1305 stringify!(_nbuf)
1306 )
1307 );
1308 assert_eq!(
1309 unsafe { &(*(::std::ptr::null::<__sFILE>()))._lb as *const _ as usize },
1310 120usize,
1311 concat!(
1312 "Offset of field: ",
1313 stringify!(__sFILE),
1314 "::",
1315 stringify!(_lb)
1316 )
1317 );
1318 assert_eq!(
1319 unsafe { &(*(::std::ptr::null::<__sFILE>()))._blksize as *const _ as usize },
1320 136usize,
1321 concat!(
1322 "Offset of field: ",
1323 stringify!(__sFILE),
1324 "::",
1325 stringify!(_blksize)
1326 )
1327 );
1328 assert_eq!(
1329 unsafe { &(*(::std::ptr::null::<__sFILE>()))._offset as *const _ as usize },
1330 144usize,
1331 concat!(
1332 "Offset of field: ",
1333 stringify!(__sFILE),
1334 "::",
1335 stringify!(_offset)
1336 )
1337 );
1338}
1339pub type FILE = __sFILE;
1340extern "C" {
1341 pub static mut __stdinp: *mut FILE;
1342}
1343extern "C" {
1344 pub static mut __stdoutp: *mut FILE;
1345}
1346extern "C" {
1347 pub static mut __stderrp: *mut FILE;
1348}
1349extern "C" {
1350 pub fn clearerr(arg1: *mut FILE);
1351}
1352extern "C" {
1353 pub fn fclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
1354}
1355extern "C" {
1356 pub fn feof(arg1: *mut FILE) -> ::std::os::raw::c_int;
1357}
1358extern "C" {
1359 pub fn ferror(arg1: *mut FILE) -> ::std::os::raw::c_int;
1360}
1361extern "C" {
1362 pub fn fflush(arg1: *mut FILE) -> ::std::os::raw::c_int;
1363}
1364extern "C" {
1365 pub fn fgetc(arg1: *mut FILE) -> ::std::os::raw::c_int;
1366}
1367extern "C" {
1368 pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::std::os::raw::c_int;
1369}
1370extern "C" {
1371 pub fn fgets(
1372 arg1: *mut ::std::os::raw::c_char,
1373 arg2: ::std::os::raw::c_int,
1374 arg3: *mut FILE,
1375 ) -> *mut ::std::os::raw::c_char;
1376}
1377extern "C" {
1378 pub fn fopen(
1379 __filename: *const ::std::os::raw::c_char,
1380 __mode: *const ::std::os::raw::c_char,
1381 ) -> *mut FILE;
1382}
1383extern "C" {
1384 pub fn fprintf(
1385 arg1: *mut FILE,
1386 arg2: *const ::std::os::raw::c_char,
1387 ...
1388 ) -> ::std::os::raw::c_int;
1389}
1390extern "C" {
1391 pub fn fputc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
1392}
1393extern "C" {
1394 pub fn fputs(arg1: *const ::std::os::raw::c_char, arg2: *mut FILE) -> ::std::os::raw::c_int;
1395}
1396extern "C" {
1397 pub fn fread(
1398 __ptr: *mut ::std::os::raw::c_void,
1399 __size: usize,
1400 __nitems: usize,
1401 __stream: *mut FILE,
1402 ) -> usize;
1403}
1404extern "C" {
1405 pub fn freopen(
1406 arg1: *const ::std::os::raw::c_char,
1407 arg2: *const ::std::os::raw::c_char,
1408 arg3: *mut FILE,
1409 ) -> *mut FILE;
1410}
1411extern "C" {
1412 pub fn fscanf(
1413 arg1: *mut FILE,
1414 arg2: *const ::std::os::raw::c_char,
1415 ...
1416 ) -> ::std::os::raw::c_int;
1417}
1418extern "C" {
1419 pub fn fseek(
1420 arg1: *mut FILE,
1421 arg2: ::std::os::raw::c_long,
1422 arg3: ::std::os::raw::c_int,
1423 ) -> ::std::os::raw::c_int;
1424}
1425extern "C" {
1426 pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::std::os::raw::c_int;
1427}
1428extern "C" {
1429 pub fn ftell(arg1: *mut FILE) -> ::std::os::raw::c_long;
1430}
1431extern "C" {
1432 pub fn fwrite(
1433 __ptr: *const ::std::os::raw::c_void,
1434 __size: usize,
1435 __nitems: usize,
1436 __stream: *mut FILE,
1437 ) -> usize;
1438}
1439extern "C" {
1440 pub fn getc(arg1: *mut FILE) -> ::std::os::raw::c_int;
1441}
1442extern "C" {
1443 pub fn getchar() -> ::std::os::raw::c_int;
1444}
1445extern "C" {
1446 pub fn gets(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1447}
1448extern "C" {
1449 pub fn perror(arg1: *const ::std::os::raw::c_char);
1450}
1451extern "C" {
1452 pub fn printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
1453}
1454extern "C" {
1455 pub fn putc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
1456}
1457extern "C" {
1458 pub fn putchar(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1459}
1460extern "C" {
1461 pub fn puts(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1462}
1463extern "C" {
1464 pub fn remove(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1465}
1466extern "C" {
1467 pub fn rename(
1468 __old: *const ::std::os::raw::c_char,
1469 __new: *const ::std::os::raw::c_char,
1470 ) -> ::std::os::raw::c_int;
1471}
1472extern "C" {
1473 pub fn rewind(arg1: *mut FILE);
1474}
1475extern "C" {
1476 pub fn scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
1477}
1478extern "C" {
1479 pub fn setbuf(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char);
1480}
1481extern "C" {
1482 pub fn setvbuf(
1483 arg1: *mut FILE,
1484 arg2: *mut ::std::os::raw::c_char,
1485 arg3: ::std::os::raw::c_int,
1486 arg4: usize,
1487 ) -> ::std::os::raw::c_int;
1488}
1489extern "C" {
1490 pub fn sprintf(
1491 arg1: *mut ::std::os::raw::c_char,
1492 arg2: *const ::std::os::raw::c_char,
1493 ...
1494 ) -> ::std::os::raw::c_int;
1495}
1496extern "C" {
1497 pub fn sscanf(
1498 arg1: *const ::std::os::raw::c_char,
1499 arg2: *const ::std::os::raw::c_char,
1500 ...
1501 ) -> ::std::os::raw::c_int;
1502}
1503extern "C" {
1504 pub fn tmpfile() -> *mut FILE;
1505}
1506extern "C" {
1507 pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1508}
1509extern "C" {
1510 pub fn ungetc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
1511}
1512extern "C" {
1513 pub fn vfprintf(
1514 arg1: *mut FILE,
1515 arg2: *const ::std::os::raw::c_char,
1516 arg3: *mut __va_list_tag,
1517 ) -> ::std::os::raw::c_int;
1518}
1519extern "C" {
1520 pub fn vprintf(
1521 arg1: *const ::std::os::raw::c_char,
1522 arg2: *mut __va_list_tag,
1523 ) -> ::std::os::raw::c_int;
1524}
1525extern "C" {
1526 pub fn vsprintf(
1527 arg1: *mut ::std::os::raw::c_char,
1528 arg2: *const ::std::os::raw::c_char,
1529 arg3: *mut __va_list_tag,
1530 ) -> ::std::os::raw::c_int;
1531}
1532extern "C" {
1533 pub fn ctermid(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1534}
1535extern "C" {
1536 pub fn fdopen(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char) -> *mut FILE;
1537}
1538extern "C" {
1539 pub fn fileno(arg1: *mut FILE) -> ::std::os::raw::c_int;
1540}
1541extern "C" {
1542 pub fn pclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
1543}
1544extern "C" {
1545 pub fn popen(
1546 arg1: *const ::std::os::raw::c_char,
1547 arg2: *const ::std::os::raw::c_char,
1548 ) -> *mut FILE;
1549}
1550extern "C" {
1551 pub fn __srget(arg1: *mut FILE) -> ::std::os::raw::c_int;
1552}
1553extern "C" {
1554 pub fn __svfscanf(
1555 arg1: *mut FILE,
1556 arg2: *const ::std::os::raw::c_char,
1557 arg3: *mut __va_list_tag,
1558 ) -> ::std::os::raw::c_int;
1559}
1560extern "C" {
1561 pub fn __swbuf(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
1562}
1563extern "C" {
1564 pub fn flockfile(arg1: *mut FILE);
1565}
1566extern "C" {
1567 pub fn ftrylockfile(arg1: *mut FILE) -> ::std::os::raw::c_int;
1568}
1569extern "C" {
1570 pub fn funlockfile(arg1: *mut FILE);
1571}
1572extern "C" {
1573 pub fn getc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int;
1574}
1575extern "C" {
1576 pub fn getchar_unlocked() -> ::std::os::raw::c_int;
1577}
1578extern "C" {
1579 pub fn putc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
1580}
1581extern "C" {
1582 pub fn putchar_unlocked(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1583}
1584extern "C" {
1585 pub fn getw(arg1: *mut FILE) -> ::std::os::raw::c_int;
1586}
1587extern "C" {
1588 pub fn putw(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
1589}
1590extern "C" {
1591 pub fn tempnam(
1592 __dir: *const ::std::os::raw::c_char,
1593 __prefix: *const ::std::os::raw::c_char,
1594 ) -> *mut ::std::os::raw::c_char;
1595}
1596pub type off_t = __darwin_off_t;
1597extern "C" {
1598 pub fn fseeko(
1599 __stream: *mut FILE,
1600 __offset: off_t,
1601 __whence: ::std::os::raw::c_int,
1602 ) -> ::std::os::raw::c_int;
1603}
1604extern "C" {
1605 pub fn ftello(__stream: *mut FILE) -> off_t;
1606}
1607extern "C" {
1608 pub fn snprintf(
1609 __str: *mut ::std::os::raw::c_char,
1610 __size: ::std::os::raw::c_ulong,
1611 __format: *const ::std::os::raw::c_char,
1612 ...
1613 ) -> ::std::os::raw::c_int;
1614}
1615extern "C" {
1616 pub fn vfscanf(
1617 __stream: *mut FILE,
1618 __format: *const ::std::os::raw::c_char,
1619 arg1: *mut __va_list_tag,
1620 ) -> ::std::os::raw::c_int;
1621}
1622extern "C" {
1623 pub fn vscanf(
1624 __format: *const ::std::os::raw::c_char,
1625 arg1: *mut __va_list_tag,
1626 ) -> ::std::os::raw::c_int;
1627}
1628extern "C" {
1629 pub fn vsnprintf(
1630 __str: *mut ::std::os::raw::c_char,
1631 __size: ::std::os::raw::c_ulong,
1632 __format: *const ::std::os::raw::c_char,
1633 arg1: *mut __va_list_tag,
1634 ) -> ::std::os::raw::c_int;
1635}
1636extern "C" {
1637 pub fn vsscanf(
1638 __str: *const ::std::os::raw::c_char,
1639 __format: *const ::std::os::raw::c_char,
1640 arg1: *mut __va_list_tag,
1641 ) -> ::std::os::raw::c_int;
1642}
1643extern "C" {
1644 pub fn dprintf(
1645 arg1: ::std::os::raw::c_int,
1646 arg2: *const ::std::os::raw::c_char,
1647 ...
1648 ) -> ::std::os::raw::c_int;
1649}
1650extern "C" {
1651 pub fn vdprintf(
1652 arg1: ::std::os::raw::c_int,
1653 arg2: *const ::std::os::raw::c_char,
1654 arg3: *mut __va_list_tag,
1655 ) -> ::std::os::raw::c_int;
1656}
1657extern "C" {
1658 pub fn getdelim(
1659 __linep: *mut *mut ::std::os::raw::c_char,
1660 __linecapp: *mut usize,
1661 __delimiter: ::std::os::raw::c_int,
1662 __stream: *mut FILE,
1663 ) -> isize;
1664}
1665extern "C" {
1666 pub fn getline(
1667 __linep: *mut *mut ::std::os::raw::c_char,
1668 __linecapp: *mut usize,
1669 __stream: *mut FILE,
1670 ) -> isize;
1671}
1672extern "C" {
1673 pub static sys_nerr: ::std::os::raw::c_int;
1674}
1675extern "C" {
1676 pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize];
1677}
1678extern "C" {
1679 pub fn asprintf(
1680 arg1: *mut *mut ::std::os::raw::c_char,
1681 arg2: *const ::std::os::raw::c_char,
1682 ...
1683 ) -> ::std::os::raw::c_int;
1684}
1685extern "C" {
1686 pub fn ctermid_r(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1687}
1688extern "C" {
1689 pub fn fgetln(arg1: *mut FILE, arg2: *mut usize) -> *mut ::std::os::raw::c_char;
1690}
1691extern "C" {
1692 pub fn fmtcheck(
1693 arg1: *const ::std::os::raw::c_char,
1694 arg2: *const ::std::os::raw::c_char,
1695 ) -> *const ::std::os::raw::c_char;
1696}
1697extern "C" {
1698 pub fn fpurge(arg1: *mut FILE) -> ::std::os::raw::c_int;
1699}
1700extern "C" {
1701 pub fn setbuffer(
1702 arg1: *mut FILE,
1703 arg2: *mut ::std::os::raw::c_char,
1704 arg3: ::std::os::raw::c_int,
1705 );
1706}
1707extern "C" {
1708 pub fn setlinebuf(arg1: *mut FILE) -> ::std::os::raw::c_int;
1709}
1710extern "C" {
1711 pub fn vasprintf(
1712 arg1: *mut *mut ::std::os::raw::c_char,
1713 arg2: *const ::std::os::raw::c_char,
1714 arg3: *mut __va_list_tag,
1715 ) -> ::std::os::raw::c_int;
1716}
1717extern "C" {
1718 pub fn zopen(
1719 arg1: *const ::std::os::raw::c_char,
1720 arg2: *const ::std::os::raw::c_char,
1721 arg3: ::std::os::raw::c_int,
1722 ) -> *mut FILE;
1723}
1724extern "C" {
1725 pub fn funopen(
1726 arg1: *const ::std::os::raw::c_void,
1727 arg2: ::std::option::Option<
1728 unsafe extern "C" fn(
1729 arg1: *mut ::std::os::raw::c_void,
1730 arg2: *mut ::std::os::raw::c_char,
1731 arg3: ::std::os::raw::c_int,
1732 ) -> ::std::os::raw::c_int,
1733 >,
1734 arg3: ::std::option::Option<
1735 unsafe extern "C" fn(
1736 arg1: *mut ::std::os::raw::c_void,
1737 arg2: *const ::std::os::raw::c_char,
1738 arg3: ::std::os::raw::c_int,
1739 ) -> ::std::os::raw::c_int,
1740 >,
1741 arg4: ::std::option::Option<
1742 unsafe extern "C" fn(
1743 arg1: *mut ::std::os::raw::c_void,
1744 arg2: fpos_t,
1745 arg3: ::std::os::raw::c_int,
1746 ) -> fpos_t,
1747 >,
1748 arg5: ::std::option::Option<
1749 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
1750 >,
1751 ) -> *mut FILE;
1752}
1753pub mod dc1394iidc_version_t {
1754 #[doc = " List of IIDC versions"]
1755 #[doc = ""]
1756 #[doc = " Currently, the following versions exist: 1.04, 1.20, PTGREY, 1.30 and 1.31 (1.32 coming soon)"]
1757 #[doc = " Observing other versions means that there\'s a bug crawling somewhere."]
1758 pub type Type = u32;
1759 pub const DC1394_IIDC_VERSION_1_04: Type = 544;
1760 pub const DC1394_IIDC_VERSION_1_20: Type = 545;
1761 pub const DC1394_IIDC_VERSION_PTGREY: Type = 546;
1762 pub const DC1394_IIDC_VERSION_1_30: Type = 547;
1763 pub const DC1394_IIDC_VERSION_1_31: Type = 548;
1764 pub const DC1394_IIDC_VERSION_1_32: Type = 549;
1765 pub const DC1394_IIDC_VERSION_1_33: Type = 550;
1766 pub const DC1394_IIDC_VERSION_1_34: Type = 551;
1767 pub const DC1394_IIDC_VERSION_1_35: Type = 552;
1768 pub const DC1394_IIDC_VERSION_1_36: Type = 553;
1769 pub const DC1394_IIDC_VERSION_1_37: Type = 554;
1770 pub const DC1394_IIDC_VERSION_1_38: Type = 555;
1771 pub const DC1394_IIDC_VERSION_1_39: Type = 556;
1772}
1773pub mod dc1394power_class_t {
1774 #[doc = " Enumeration of power classes"]
1775 #[doc = ""]
1776 #[doc = " This is currently not used in libdc1394."]
1777 pub type Type = u32;
1778 pub const DC1394_POWER_CLASS_NONE: Type = 608;
1779 pub const DC1394_POWER_CLASS_PROV_MIN_15W: Type = 609;
1780 pub const DC1394_POWER_CLASS_PROV_MIN_30W: Type = 610;
1781 pub const DC1394_POWER_CLASS_PROV_MIN_45W: Type = 611;
1782 pub const DC1394_POWER_CLASS_USES_MAX_1W: Type = 612;
1783 pub const DC1394_POWER_CLASS_USES_MAX_3W: Type = 613;
1784 pub const DC1394_POWER_CLASS_USES_MAX_6W: Type = 614;
1785 pub const DC1394_POWER_CLASS_USES_MAX_10W: Type = 615;
1786}
1787pub mod dc1394phy_delay_t {
1788 #[doc = " Enumeration of PHY delays"]
1789 #[doc = ""]
1790 #[doc = " This is currently not used in libdc1394."]
1791 pub type Type = u32;
1792 pub const DC1394_PHY_DELAY_MAX_144_NS: Type = 640;
1793 pub const DC1394_PHY_DELAY_UNKNOWN_0: Type = 641;
1794 pub const DC1394_PHY_DELAY_UNKNOWN_1: Type = 642;
1795 pub const DC1394_PHY_DELAY_UNKNOWN_2: Type = 643;
1796}
1797#[doc = " Camera structure"]
1798#[doc = ""]
1799#[doc = " This structure represents the camera in libdc1394. It contains a number of useful static information, such as model/vendor names,"]
1800#[doc = " a few capabilities, some ROM offsets, a unique identifier, etc..."]
1801#[repr(C)]
1802#[derive(Debug, Copy, Clone)]
1803pub struct __dc1394_camera {
1804 pub guid: u64,
1805 pub unit: ::std::os::raw::c_int,
1806 pub unit_spec_ID: u32,
1807 pub unit_sw_version: u32,
1808 pub unit_sub_sw_version: u32,
1809 pub command_registers_base: u32,
1810 pub unit_directory: u32,
1811 pub unit_dependent_directory: u32,
1812 pub advanced_features_csr: u64,
1813 pub PIO_control_csr: u64,
1814 pub SIO_control_csr: u64,
1815 pub strobe_control_csr: u64,
1816 pub format7_csr: [u64; 8usize],
1817 pub iidc_version: dc1394iidc_version_t::Type,
1818 pub vendor: *mut ::std::os::raw::c_char,
1819 pub model: *mut ::std::os::raw::c_char,
1820 pub vendor_id: u32,
1821 pub model_id: u32,
1822 pub bmode_capable: dc1394bool_t::Type,
1823 pub one_shot_capable: dc1394bool_t::Type,
1824 pub multi_shot_capable: dc1394bool_t::Type,
1825 pub can_switch_on_off: dc1394bool_t::Type,
1826 pub has_vmode_error_status: dc1394bool_t::Type,
1827 pub has_feature_error_status: dc1394bool_t::Type,
1828 pub max_mem_channel: ::std::os::raw::c_int,
1829 pub flags: u32,
1830}
1831#[test]
1832fn bindgen_test_layout___dc1394_camera() {
1833 assert_eq!(
1834 ::std::mem::size_of::<__dc1394_camera>(),
1835 200usize,
1836 concat!("Size of: ", stringify!(__dc1394_camera))
1837 );
1838 assert_eq!(
1839 ::std::mem::align_of::<__dc1394_camera>(),
1840 8usize,
1841 concat!("Alignment of ", stringify!(__dc1394_camera))
1842 );
1843 assert_eq!(
1844 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).guid as *const _ as usize },
1845 0usize,
1846 concat!(
1847 "Offset of field: ",
1848 stringify!(__dc1394_camera),
1849 "::",
1850 stringify!(guid)
1851 )
1852 );
1853 assert_eq!(
1854 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).unit as *const _ as usize },
1855 8usize,
1856 concat!(
1857 "Offset of field: ",
1858 stringify!(__dc1394_camera),
1859 "::",
1860 stringify!(unit)
1861 )
1862 );
1863 assert_eq!(
1864 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).unit_spec_ID as *const _ as usize },
1865 12usize,
1866 concat!(
1867 "Offset of field: ",
1868 stringify!(__dc1394_camera),
1869 "::",
1870 stringify!(unit_spec_ID)
1871 )
1872 );
1873 assert_eq!(
1874 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).unit_sw_version as *const _ as usize },
1875 16usize,
1876 concat!(
1877 "Offset of field: ",
1878 stringify!(__dc1394_camera),
1879 "::",
1880 stringify!(unit_sw_version)
1881 )
1882 );
1883 assert_eq!(
1884 unsafe {
1885 &(*(::std::ptr::null::<__dc1394_camera>())).unit_sub_sw_version as *const _ as usize
1886 },
1887 20usize,
1888 concat!(
1889 "Offset of field: ",
1890 stringify!(__dc1394_camera),
1891 "::",
1892 stringify!(unit_sub_sw_version)
1893 )
1894 );
1895 assert_eq!(
1896 unsafe {
1897 &(*(::std::ptr::null::<__dc1394_camera>())).command_registers_base as *const _ as usize
1898 },
1899 24usize,
1900 concat!(
1901 "Offset of field: ",
1902 stringify!(__dc1394_camera),
1903 "::",
1904 stringify!(command_registers_base)
1905 )
1906 );
1907 assert_eq!(
1908 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).unit_directory as *const _ as usize },
1909 28usize,
1910 concat!(
1911 "Offset of field: ",
1912 stringify!(__dc1394_camera),
1913 "::",
1914 stringify!(unit_directory)
1915 )
1916 );
1917 assert_eq!(
1918 unsafe {
1919 &(*(::std::ptr::null::<__dc1394_camera>())).unit_dependent_directory as *const _
1920 as usize
1921 },
1922 32usize,
1923 concat!(
1924 "Offset of field: ",
1925 stringify!(__dc1394_camera),
1926 "::",
1927 stringify!(unit_dependent_directory)
1928 )
1929 );
1930 assert_eq!(
1931 unsafe {
1932 &(*(::std::ptr::null::<__dc1394_camera>())).advanced_features_csr as *const _ as usize
1933 },
1934 40usize,
1935 concat!(
1936 "Offset of field: ",
1937 stringify!(__dc1394_camera),
1938 "::",
1939 stringify!(advanced_features_csr)
1940 )
1941 );
1942 assert_eq!(
1943 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).PIO_control_csr as *const _ as usize },
1944 48usize,
1945 concat!(
1946 "Offset of field: ",
1947 stringify!(__dc1394_camera),
1948 "::",
1949 stringify!(PIO_control_csr)
1950 )
1951 );
1952 assert_eq!(
1953 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).SIO_control_csr as *const _ as usize },
1954 56usize,
1955 concat!(
1956 "Offset of field: ",
1957 stringify!(__dc1394_camera),
1958 "::",
1959 stringify!(SIO_control_csr)
1960 )
1961 );
1962 assert_eq!(
1963 unsafe {
1964 &(*(::std::ptr::null::<__dc1394_camera>())).strobe_control_csr as *const _ as usize
1965 },
1966 64usize,
1967 concat!(
1968 "Offset of field: ",
1969 stringify!(__dc1394_camera),
1970 "::",
1971 stringify!(strobe_control_csr)
1972 )
1973 );
1974 assert_eq!(
1975 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).format7_csr as *const _ as usize },
1976 72usize,
1977 concat!(
1978 "Offset of field: ",
1979 stringify!(__dc1394_camera),
1980 "::",
1981 stringify!(format7_csr)
1982 )
1983 );
1984 assert_eq!(
1985 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).iidc_version as *const _ as usize },
1986 136usize,
1987 concat!(
1988 "Offset of field: ",
1989 stringify!(__dc1394_camera),
1990 "::",
1991 stringify!(iidc_version)
1992 )
1993 );
1994 assert_eq!(
1995 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).vendor as *const _ as usize },
1996 144usize,
1997 concat!(
1998 "Offset of field: ",
1999 stringify!(__dc1394_camera),
2000 "::",
2001 stringify!(vendor)
2002 )
2003 );
2004 assert_eq!(
2005 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).model as *const _ as usize },
2006 152usize,
2007 concat!(
2008 "Offset of field: ",
2009 stringify!(__dc1394_camera),
2010 "::",
2011 stringify!(model)
2012 )
2013 );
2014 assert_eq!(
2015 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).vendor_id as *const _ as usize },
2016 160usize,
2017 concat!(
2018 "Offset of field: ",
2019 stringify!(__dc1394_camera),
2020 "::",
2021 stringify!(vendor_id)
2022 )
2023 );
2024 assert_eq!(
2025 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).model_id as *const _ as usize },
2026 164usize,
2027 concat!(
2028 "Offset of field: ",
2029 stringify!(__dc1394_camera),
2030 "::",
2031 stringify!(model_id)
2032 )
2033 );
2034 assert_eq!(
2035 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).bmode_capable as *const _ as usize },
2036 168usize,
2037 concat!(
2038 "Offset of field: ",
2039 stringify!(__dc1394_camera),
2040 "::",
2041 stringify!(bmode_capable)
2042 )
2043 );
2044 assert_eq!(
2045 unsafe {
2046 &(*(::std::ptr::null::<__dc1394_camera>())).one_shot_capable as *const _ as usize
2047 },
2048 172usize,
2049 concat!(
2050 "Offset of field: ",
2051 stringify!(__dc1394_camera),
2052 "::",
2053 stringify!(one_shot_capable)
2054 )
2055 );
2056 assert_eq!(
2057 unsafe {
2058 &(*(::std::ptr::null::<__dc1394_camera>())).multi_shot_capable as *const _ as usize
2059 },
2060 176usize,
2061 concat!(
2062 "Offset of field: ",
2063 stringify!(__dc1394_camera),
2064 "::",
2065 stringify!(multi_shot_capable)
2066 )
2067 );
2068 assert_eq!(
2069 unsafe {
2070 &(*(::std::ptr::null::<__dc1394_camera>())).can_switch_on_off as *const _ as usize
2071 },
2072 180usize,
2073 concat!(
2074 "Offset of field: ",
2075 stringify!(__dc1394_camera),
2076 "::",
2077 stringify!(can_switch_on_off)
2078 )
2079 );
2080 assert_eq!(
2081 unsafe {
2082 &(*(::std::ptr::null::<__dc1394_camera>())).has_vmode_error_status as *const _ as usize
2083 },
2084 184usize,
2085 concat!(
2086 "Offset of field: ",
2087 stringify!(__dc1394_camera),
2088 "::",
2089 stringify!(has_vmode_error_status)
2090 )
2091 );
2092 assert_eq!(
2093 unsafe {
2094 &(*(::std::ptr::null::<__dc1394_camera>())).has_feature_error_status as *const _
2095 as usize
2096 },
2097 188usize,
2098 concat!(
2099 "Offset of field: ",
2100 stringify!(__dc1394_camera),
2101 "::",
2102 stringify!(has_feature_error_status)
2103 )
2104 );
2105 assert_eq!(
2106 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).max_mem_channel as *const _ as usize },
2107 192usize,
2108 concat!(
2109 "Offset of field: ",
2110 stringify!(__dc1394_camera),
2111 "::",
2112 stringify!(max_mem_channel)
2113 )
2114 );
2115 assert_eq!(
2116 unsafe { &(*(::std::ptr::null::<__dc1394_camera>())).flags as *const _ as usize },
2117 196usize,
2118 concat!(
2119 "Offset of field: ",
2120 stringify!(__dc1394_camera),
2121 "::",
2122 stringify!(flags)
2123 )
2124 );
2125}
2126pub type dc1394camera_t = __dc1394_camera;
2127#[doc = " A unique identifier for a functional camera unit"]
2128#[doc = ""]
2129#[doc = " Since a single camera can contain several functional units (think stereo cameras), the GUID is not enough to identify an IIDC camera."]
2130#[doc = " The unit number must also be used, hence this struct."]
2131#[repr(C)]
2132#[derive(Debug, Copy, Clone)]
2133pub struct dc1394camera_id_t {
2134 pub unit: u16,
2135 pub guid: u64,
2136}
2137#[test]
2138fn bindgen_test_layout_dc1394camera_id_t() {
2139 assert_eq!(
2140 ::std::mem::size_of::<dc1394camera_id_t>(),
2141 16usize,
2142 concat!("Size of: ", stringify!(dc1394camera_id_t))
2143 );
2144 assert_eq!(
2145 ::std::mem::align_of::<dc1394camera_id_t>(),
2146 8usize,
2147 concat!("Alignment of ", stringify!(dc1394camera_id_t))
2148 );
2149 assert_eq!(
2150 unsafe { &(*(::std::ptr::null::<dc1394camera_id_t>())).unit as *const _ as usize },
2151 0usize,
2152 concat!(
2153 "Offset of field: ",
2154 stringify!(dc1394camera_id_t),
2155 "::",
2156 stringify!(unit)
2157 )
2158 );
2159 assert_eq!(
2160 unsafe { &(*(::std::ptr::null::<dc1394camera_id_t>())).guid as *const _ as usize },
2161 8usize,
2162 concat!(
2163 "Offset of field: ",
2164 stringify!(dc1394camera_id_t),
2165 "::",
2166 stringify!(guid)
2167 )
2168 );
2169}
2170#[doc = " A list of cameras"]
2171#[doc = ""]
2172#[doc = " Usually returned by dc1394_camera_eumerate()."]
2173#[repr(C)]
2174#[derive(Debug, Copy, Clone)]
2175pub struct __dc1394camera_list_t {
2176 pub num: u32,
2177 pub ids: *mut dc1394camera_id_t,
2178}
2179#[test]
2180fn bindgen_test_layout___dc1394camera_list_t() {
2181 assert_eq!(
2182 ::std::mem::size_of::<__dc1394camera_list_t>(),
2183 16usize,
2184 concat!("Size of: ", stringify!(__dc1394camera_list_t))
2185 );
2186 assert_eq!(
2187 ::std::mem::align_of::<__dc1394camera_list_t>(),
2188 8usize,
2189 concat!("Alignment of ", stringify!(__dc1394camera_list_t))
2190 );
2191 assert_eq!(
2192 unsafe { &(*(::std::ptr::null::<__dc1394camera_list_t>())).num as *const _ as usize },
2193 0usize,
2194 concat!(
2195 "Offset of field: ",
2196 stringify!(__dc1394camera_list_t),
2197 "::",
2198 stringify!(num)
2199 )
2200 );
2201 assert_eq!(
2202 unsafe { &(*(::std::ptr::null::<__dc1394camera_list_t>())).ids as *const _ as usize },
2203 8usize,
2204 concat!(
2205 "Offset of field: ",
2206 stringify!(__dc1394camera_list_t),
2207 "::",
2208 stringify!(ids)
2209 )
2210 );
2211}
2212pub type dc1394camera_list_t = __dc1394camera_list_t;
2213#[repr(C)]
2214#[derive(Debug, Copy, Clone)]
2215pub struct __dc1394_t {
2216 _unused: [u8; 0],
2217}
2218pub type dc1394_t = __dc1394_t;
2219extern "C" {
2220 #[doc = " Creates a new context in which cameras can be searched and used. This should be called before using any other libdc1394 function."]
2221 pub fn dc1394_new() -> *mut dc1394_t;
2222}
2223extern "C" {
2224 #[doc = " Liberates a context. Last function to use in your program. After this, no libdc1394 function can be used."]
2225 pub fn dc1394_free(dc1394: *mut dc1394_t);
2226}
2227extern "C" {
2228 #[doc = " Sets and gets the broadcast flag of a camera. If the broadcast flag is set,"]
2229 #[doc = " all devices on the bus will execute the command. Useful to sync ISO start"]
2230 #[doc = " commands or setting a bunch of cameras at the same time. Broadcast only works"]
2231 #[doc = " with identical devices (brand/model). If the devices are not identical your"]
2232 #[doc = " mileage may vary. Some cameras may not answer broadcast commands at all. Also,"]
2233 #[doc = " this only works with cameras on the SAME bus (IOW, the same port)."]
2234 pub fn dc1394_camera_set_broadcast(
2235 camera: *mut dc1394camera_t,
2236 pwr: dc1394bool_t::Type,
2237 ) -> dc1394error_t::Type;
2238}
2239extern "C" {
2240 pub fn dc1394_camera_get_broadcast(
2241 camera: *mut dc1394camera_t,
2242 pwr: *mut dc1394bool_t::Type,
2243 ) -> dc1394error_t::Type;
2244}
2245extern "C" {
2246 #[doc = " Resets the IEEE1394 bus which camera is attached to. Calling this function is"]
2247 #[doc = " \"rude\" to other devices because it causes them to re-enumerate on the bus and"]
2248 #[doc = " may cause a temporary disruption in their current activities. Thus, use it"]
2249 #[doc = " sparingly. Its primary use is if a program shuts down uncleanly and needs to"]
2250 #[doc = " free leftover ISO channels or bandwidth. A bus reset will free those things"]
2251 #[doc = " as a side effect."]
2252 pub fn dc1394_reset_bus(camera: *mut dc1394camera_t) -> dc1394error_t::Type;
2253}
2254extern "C" {
2255 pub fn dc1394_read_cycle_timer(
2256 camera: *mut dc1394camera_t,
2257 cycle_timer: *mut u32,
2258 local_time: *mut u64,
2259 ) -> dc1394error_t::Type;
2260}
2261extern "C" {
2262 #[doc = " Gets the IEEE 1394 node ID of the camera."]
2263 pub fn dc1394_camera_get_node(
2264 camera: *mut dc1394camera_t,
2265 node: *mut u32,
2266 generation: *mut u32,
2267 ) -> dc1394error_t::Type;
2268}
2269extern "C" {
2270 #[doc = " Returns the list of cameras available on the computer. If present, multiple cards will be probed"]
2271 pub fn dc1394_camera_enumerate(
2272 dc1394: *mut dc1394_t,
2273 list: *mut *mut dc1394camera_list_t,
2274 ) -> dc1394error_t::Type;
2275}
2276extern "C" {
2277 #[doc = " Frees the memory allocated in dc1394_enumerate_cameras for the camera list"]
2278 pub fn dc1394_camera_free_list(list: *mut dc1394camera_list_t);
2279}
2280extern "C" {
2281 #[doc = " Create a new camera based on a GUID (Global Unique IDentifier)"]
2282 pub fn dc1394_camera_new(dc1394: *mut dc1394_t, guid: u64) -> *mut dc1394camera_t;
2283}
2284extern "C" {
2285 #[doc = " Create a new camera based on a GUID and a unit number (for multi-unit cameras)"]
2286 pub fn dc1394_camera_new_unit(
2287 dc1394: *mut dc1394_t,
2288 guid: u64,
2289 unit: ::std::os::raw::c_int,
2290 ) -> *mut dc1394camera_t;
2291}
2292extern "C" {
2293 #[doc = " Frees a camera structure"]
2294 pub fn dc1394_camera_free(camera: *mut dc1394camera_t);
2295}
2296extern "C" {
2297 #[doc = " Print various camera information, such as GUID, vendor, model, supported IIDC specs, etc..."]
2298 pub fn dc1394_camera_print_info(
2299 camera: *mut dc1394camera_t,
2300 fd: *mut FILE,
2301 ) -> dc1394error_t::Type;
2302}
2303extern "C" {
2304 #[doc = " Returns a pointer to a string identifying the platform for the cameras. Platforms strings are:"]
2305 #[doc = " juju, linux, macosx, windows, usb"]
2306 pub fn dc1394_camera_get_platform_string(
2307 camera: *mut dc1394camera_t,
2308 platform: *mut *const ::std::os::raw::c_char,
2309 ) -> dc1394error_t::Type;
2310}
2311pub mod dc1394trigger_mode_t {
2312 #[doc = " Enumeration of trigger modes"]
2313 pub type Type = u32;
2314 pub const DC1394_TRIGGER_MODE_0: Type = 384;
2315 pub const DC1394_TRIGGER_MODE_1: Type = 385;
2316 pub const DC1394_TRIGGER_MODE_2: Type = 386;
2317 pub const DC1394_TRIGGER_MODE_3: Type = 387;
2318 pub const DC1394_TRIGGER_MODE_4: Type = 388;
2319 pub const DC1394_TRIGGER_MODE_5: Type = 389;
2320 pub const DC1394_TRIGGER_MODE_14: Type = 390;
2321 pub const DC1394_TRIGGER_MODE_15: Type = 391;
2322}
2323pub mod dc1394feature_t {
2324 #[doc = " Enumeration of camera features"]
2325 pub type Type = u32;
2326 pub const DC1394_FEATURE_BRIGHTNESS: Type = 416;
2327 pub const DC1394_FEATURE_EXPOSURE: Type = 417;
2328 pub const DC1394_FEATURE_SHARPNESS: Type = 418;
2329 pub const DC1394_FEATURE_WHITE_BALANCE: Type = 419;
2330 pub const DC1394_FEATURE_HUE: Type = 420;
2331 pub const DC1394_FEATURE_SATURATION: Type = 421;
2332 pub const DC1394_FEATURE_GAMMA: Type = 422;
2333 pub const DC1394_FEATURE_SHUTTER: Type = 423;
2334 pub const DC1394_FEATURE_GAIN: Type = 424;
2335 pub const DC1394_FEATURE_IRIS: Type = 425;
2336 pub const DC1394_FEATURE_FOCUS: Type = 426;
2337 pub const DC1394_FEATURE_TEMPERATURE: Type = 427;
2338 pub const DC1394_FEATURE_TRIGGER: Type = 428;
2339 pub const DC1394_FEATURE_TRIGGER_DELAY: Type = 429;
2340 pub const DC1394_FEATURE_WHITE_SHADING: Type = 430;
2341 pub const DC1394_FEATURE_FRAME_RATE: Type = 431;
2342 pub const DC1394_FEATURE_ZOOM: Type = 432;
2343 pub const DC1394_FEATURE_PAN: Type = 433;
2344 pub const DC1394_FEATURE_TILT: Type = 434;
2345 pub const DC1394_FEATURE_OPTICAL_FILTER: Type = 435;
2346 pub const DC1394_FEATURE_CAPTURE_SIZE: Type = 436;
2347 pub const DC1394_FEATURE_CAPTURE_QUALITY: Type = 437;
2348}
2349pub mod dc1394trigger_source_t {
2350 #[doc = " Enumeration of trigger sources"]
2351 pub type Type = u32;
2352 pub const DC1394_TRIGGER_SOURCE_0: Type = 576;
2353 pub const DC1394_TRIGGER_SOURCE_1: Type = 577;
2354 pub const DC1394_TRIGGER_SOURCE_2: Type = 578;
2355 pub const DC1394_TRIGGER_SOURCE_3: Type = 579;
2356 pub const DC1394_TRIGGER_SOURCE_SOFTWARE: Type = 580;
2357}
2358pub mod dc1394trigger_polarity_t {
2359 #[doc = " External trigger polarity"]
2360 pub type Type = u32;
2361 pub const DC1394_TRIGGER_ACTIVE_LOW: Type = 704;
2362 pub const DC1394_TRIGGER_ACTIVE_HIGH: Type = 705;
2363}
2364pub mod dc1394feature_mode_t {
2365 #[doc = " Control modes for a feature (excl. absolute control)"]
2366 pub type Type = u32;
2367 pub const DC1394_FEATURE_MODE_MANUAL: Type = 736;
2368 pub const DC1394_FEATURE_MODE_AUTO: Type = 737;
2369 pub const DC1394_FEATURE_MODE_ONE_PUSH_AUTO: Type = 738;
2370}
2371#[doc = " List of feature modes"]
2372#[repr(C)]
2373#[derive(Debug, Copy, Clone)]
2374pub struct dc1394feature_modes_t {
2375 pub num: u32,
2376 pub modes: [dc1394feature_mode_t::Type; 3usize],
2377}
2378#[test]
2379fn bindgen_test_layout_dc1394feature_modes_t() {
2380 assert_eq!(
2381 ::std::mem::size_of::<dc1394feature_modes_t>(),
2382 16usize,
2383 concat!("Size of: ", stringify!(dc1394feature_modes_t))
2384 );
2385 assert_eq!(
2386 ::std::mem::align_of::<dc1394feature_modes_t>(),
2387 4usize,
2388 concat!("Alignment of ", stringify!(dc1394feature_modes_t))
2389 );
2390 assert_eq!(
2391 unsafe { &(*(::std::ptr::null::<dc1394feature_modes_t>())).num as *const _ as usize },
2392 0usize,
2393 concat!(
2394 "Offset of field: ",
2395 stringify!(dc1394feature_modes_t),
2396 "::",
2397 stringify!(num)
2398 )
2399 );
2400 assert_eq!(
2401 unsafe { &(*(::std::ptr::null::<dc1394feature_modes_t>())).modes as *const _ as usize },
2402 4usize,
2403 concat!(
2404 "Offset of field: ",
2405 stringify!(dc1394feature_modes_t),
2406 "::",
2407 stringify!(modes)
2408 )
2409 );
2410}
2411#[doc = " List of trigger modes"]
2412#[repr(C)]
2413#[derive(Debug, Copy, Clone)]
2414pub struct dc1394trigger_modes_t {
2415 pub num: u32,
2416 pub modes: [dc1394trigger_mode_t::Type; 8usize],
2417}
2418#[test]
2419fn bindgen_test_layout_dc1394trigger_modes_t() {
2420 assert_eq!(
2421 ::std::mem::size_of::<dc1394trigger_modes_t>(),
2422 36usize,
2423 concat!("Size of: ", stringify!(dc1394trigger_modes_t))
2424 );
2425 assert_eq!(
2426 ::std::mem::align_of::<dc1394trigger_modes_t>(),
2427 4usize,
2428 concat!("Alignment of ", stringify!(dc1394trigger_modes_t))
2429 );
2430 assert_eq!(
2431 unsafe { &(*(::std::ptr::null::<dc1394trigger_modes_t>())).num as *const _ as usize },
2432 0usize,
2433 concat!(
2434 "Offset of field: ",
2435 stringify!(dc1394trigger_modes_t),
2436 "::",
2437 stringify!(num)
2438 )
2439 );
2440 assert_eq!(
2441 unsafe { &(*(::std::ptr::null::<dc1394trigger_modes_t>())).modes as *const _ as usize },
2442 4usize,
2443 concat!(
2444 "Offset of field: ",
2445 stringify!(dc1394trigger_modes_t),
2446 "::",
2447 stringify!(modes)
2448 )
2449 );
2450}
2451#[doc = " List of trigger sources"]
2452#[repr(C)]
2453#[derive(Debug, Copy, Clone)]
2454pub struct dc1394trigger_sources_t {
2455 pub num: u32,
2456 pub sources: [dc1394trigger_source_t::Type; 5usize],
2457}
2458#[test]
2459fn bindgen_test_layout_dc1394trigger_sources_t() {
2460 assert_eq!(
2461 ::std::mem::size_of::<dc1394trigger_sources_t>(),
2462 24usize,
2463 concat!("Size of: ", stringify!(dc1394trigger_sources_t))
2464 );
2465 assert_eq!(
2466 ::std::mem::align_of::<dc1394trigger_sources_t>(),
2467 4usize,
2468 concat!("Alignment of ", stringify!(dc1394trigger_sources_t))
2469 );
2470 assert_eq!(
2471 unsafe { &(*(::std::ptr::null::<dc1394trigger_sources_t>())).num as *const _ as usize },
2472 0usize,
2473 concat!(
2474 "Offset of field: ",
2475 stringify!(dc1394trigger_sources_t),
2476 "::",
2477 stringify!(num)
2478 )
2479 );
2480 assert_eq!(
2481 unsafe { &(*(::std::ptr::null::<dc1394trigger_sources_t>())).sources as *const _ as usize },
2482 4usize,
2483 concat!(
2484 "Offset of field: ",
2485 stringify!(dc1394trigger_sources_t),
2486 "::",
2487 stringify!(sources)
2488 )
2489 );
2490}
2491#[doc = " A structure containing all information about a feature."]
2492#[doc = ""]
2493#[doc = " Some fields are only valid for some features (e.g. trigger, white balance,...)"]
2494#[repr(C)]
2495#[derive(Debug, Copy, Clone)]
2496pub struct __dc1394feature_info_t_struct {
2497 pub id: dc1394feature_t::Type,
2498 pub available: dc1394bool_t::Type,
2499 pub absolute_capable: dc1394bool_t::Type,
2500 pub readout_capable: dc1394bool_t::Type,
2501 pub on_off_capable: dc1394bool_t::Type,
2502 pub polarity_capable: dc1394bool_t::Type,
2503 pub is_on: dc1394switch_t::Type,
2504 pub current_mode: dc1394feature_mode_t::Type,
2505 pub modes: dc1394feature_modes_t,
2506 pub trigger_modes: dc1394trigger_modes_t,
2507 pub trigger_mode: dc1394trigger_mode_t::Type,
2508 pub trigger_polarity: dc1394trigger_polarity_t::Type,
2509 pub trigger_sources: dc1394trigger_sources_t,
2510 pub trigger_source: dc1394trigger_source_t::Type,
2511 pub min: u32,
2512 pub max: u32,
2513 pub value: u32,
2514 pub BU_value: u32,
2515 pub RV_value: u32,
2516 pub B_value: u32,
2517 pub R_value: u32,
2518 pub G_value: u32,
2519 pub target_value: u32,
2520 pub abs_control: dc1394switch_t::Type,
2521 pub abs_value: f32,
2522 pub abs_max: f32,
2523 pub abs_min: f32,
2524}
2525#[test]
2526fn bindgen_test_layout___dc1394feature_info_t_struct() {
2527 assert_eq!(
2528 ::std::mem::size_of::<__dc1394feature_info_t_struct>(),
2529 172usize,
2530 concat!("Size of: ", stringify!(__dc1394feature_info_t_struct))
2531 );
2532 assert_eq!(
2533 ::std::mem::align_of::<__dc1394feature_info_t_struct>(),
2534 4usize,
2535 concat!("Alignment of ", stringify!(__dc1394feature_info_t_struct))
2536 );
2537 assert_eq!(
2538 unsafe {
2539 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).id as *const _ as usize
2540 },
2541 0usize,
2542 concat!(
2543 "Offset of field: ",
2544 stringify!(__dc1394feature_info_t_struct),
2545 "::",
2546 stringify!(id)
2547 )
2548 );
2549 assert_eq!(
2550 unsafe {
2551 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).available as *const _ as usize
2552 },
2553 4usize,
2554 concat!(
2555 "Offset of field: ",
2556 stringify!(__dc1394feature_info_t_struct),
2557 "::",
2558 stringify!(available)
2559 )
2560 );
2561 assert_eq!(
2562 unsafe {
2563 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).absolute_capable as *const _
2564 as usize
2565 },
2566 8usize,
2567 concat!(
2568 "Offset of field: ",
2569 stringify!(__dc1394feature_info_t_struct),
2570 "::",
2571 stringify!(absolute_capable)
2572 )
2573 );
2574 assert_eq!(
2575 unsafe {
2576 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).readout_capable as *const _
2577 as usize
2578 },
2579 12usize,
2580 concat!(
2581 "Offset of field: ",
2582 stringify!(__dc1394feature_info_t_struct),
2583 "::",
2584 stringify!(readout_capable)
2585 )
2586 );
2587 assert_eq!(
2588 unsafe {
2589 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).on_off_capable as *const _
2590 as usize
2591 },
2592 16usize,
2593 concat!(
2594 "Offset of field: ",
2595 stringify!(__dc1394feature_info_t_struct),
2596 "::",
2597 stringify!(on_off_capable)
2598 )
2599 );
2600 assert_eq!(
2601 unsafe {
2602 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).polarity_capable as *const _
2603 as usize
2604 },
2605 20usize,
2606 concat!(
2607 "Offset of field: ",
2608 stringify!(__dc1394feature_info_t_struct),
2609 "::",
2610 stringify!(polarity_capable)
2611 )
2612 );
2613 assert_eq!(
2614 unsafe {
2615 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).is_on as *const _ as usize
2616 },
2617 24usize,
2618 concat!(
2619 "Offset of field: ",
2620 stringify!(__dc1394feature_info_t_struct),
2621 "::",
2622 stringify!(is_on)
2623 )
2624 );
2625 assert_eq!(
2626 unsafe {
2627 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).current_mode as *const _
2628 as usize
2629 },
2630 28usize,
2631 concat!(
2632 "Offset of field: ",
2633 stringify!(__dc1394feature_info_t_struct),
2634 "::",
2635 stringify!(current_mode)
2636 )
2637 );
2638 assert_eq!(
2639 unsafe {
2640 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).modes as *const _ as usize
2641 },
2642 32usize,
2643 concat!(
2644 "Offset of field: ",
2645 stringify!(__dc1394feature_info_t_struct),
2646 "::",
2647 stringify!(modes)
2648 )
2649 );
2650 assert_eq!(
2651 unsafe {
2652 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).trigger_modes as *const _
2653 as usize
2654 },
2655 48usize,
2656 concat!(
2657 "Offset of field: ",
2658 stringify!(__dc1394feature_info_t_struct),
2659 "::",
2660 stringify!(trigger_modes)
2661 )
2662 );
2663 assert_eq!(
2664 unsafe {
2665 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).trigger_mode as *const _
2666 as usize
2667 },
2668 84usize,
2669 concat!(
2670 "Offset of field: ",
2671 stringify!(__dc1394feature_info_t_struct),
2672 "::",
2673 stringify!(trigger_mode)
2674 )
2675 );
2676 assert_eq!(
2677 unsafe {
2678 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).trigger_polarity as *const _
2679 as usize
2680 },
2681 88usize,
2682 concat!(
2683 "Offset of field: ",
2684 stringify!(__dc1394feature_info_t_struct),
2685 "::",
2686 stringify!(trigger_polarity)
2687 )
2688 );
2689 assert_eq!(
2690 unsafe {
2691 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).trigger_sources as *const _
2692 as usize
2693 },
2694 92usize,
2695 concat!(
2696 "Offset of field: ",
2697 stringify!(__dc1394feature_info_t_struct),
2698 "::",
2699 stringify!(trigger_sources)
2700 )
2701 );
2702 assert_eq!(
2703 unsafe {
2704 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).trigger_source as *const _
2705 as usize
2706 },
2707 116usize,
2708 concat!(
2709 "Offset of field: ",
2710 stringify!(__dc1394feature_info_t_struct),
2711 "::",
2712 stringify!(trigger_source)
2713 )
2714 );
2715 assert_eq!(
2716 unsafe {
2717 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).min as *const _ as usize
2718 },
2719 120usize,
2720 concat!(
2721 "Offset of field: ",
2722 stringify!(__dc1394feature_info_t_struct),
2723 "::",
2724 stringify!(min)
2725 )
2726 );
2727 assert_eq!(
2728 unsafe {
2729 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).max as *const _ as usize
2730 },
2731 124usize,
2732 concat!(
2733 "Offset of field: ",
2734 stringify!(__dc1394feature_info_t_struct),
2735 "::",
2736 stringify!(max)
2737 )
2738 );
2739 assert_eq!(
2740 unsafe {
2741 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).value as *const _ as usize
2742 },
2743 128usize,
2744 concat!(
2745 "Offset of field: ",
2746 stringify!(__dc1394feature_info_t_struct),
2747 "::",
2748 stringify!(value)
2749 )
2750 );
2751 assert_eq!(
2752 unsafe {
2753 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).BU_value as *const _ as usize
2754 },
2755 132usize,
2756 concat!(
2757 "Offset of field: ",
2758 stringify!(__dc1394feature_info_t_struct),
2759 "::",
2760 stringify!(BU_value)
2761 )
2762 );
2763 assert_eq!(
2764 unsafe {
2765 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).RV_value as *const _ as usize
2766 },
2767 136usize,
2768 concat!(
2769 "Offset of field: ",
2770 stringify!(__dc1394feature_info_t_struct),
2771 "::",
2772 stringify!(RV_value)
2773 )
2774 );
2775 assert_eq!(
2776 unsafe {
2777 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).B_value as *const _ as usize
2778 },
2779 140usize,
2780 concat!(
2781 "Offset of field: ",
2782 stringify!(__dc1394feature_info_t_struct),
2783 "::",
2784 stringify!(B_value)
2785 )
2786 );
2787 assert_eq!(
2788 unsafe {
2789 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).R_value as *const _ as usize
2790 },
2791 144usize,
2792 concat!(
2793 "Offset of field: ",
2794 stringify!(__dc1394feature_info_t_struct),
2795 "::",
2796 stringify!(R_value)
2797 )
2798 );
2799 assert_eq!(
2800 unsafe {
2801 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).G_value as *const _ as usize
2802 },
2803 148usize,
2804 concat!(
2805 "Offset of field: ",
2806 stringify!(__dc1394feature_info_t_struct),
2807 "::",
2808 stringify!(G_value)
2809 )
2810 );
2811 assert_eq!(
2812 unsafe {
2813 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).target_value as *const _
2814 as usize
2815 },
2816 152usize,
2817 concat!(
2818 "Offset of field: ",
2819 stringify!(__dc1394feature_info_t_struct),
2820 "::",
2821 stringify!(target_value)
2822 )
2823 );
2824 assert_eq!(
2825 unsafe {
2826 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).abs_control as *const _
2827 as usize
2828 },
2829 156usize,
2830 concat!(
2831 "Offset of field: ",
2832 stringify!(__dc1394feature_info_t_struct),
2833 "::",
2834 stringify!(abs_control)
2835 )
2836 );
2837 assert_eq!(
2838 unsafe {
2839 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).abs_value as *const _ as usize
2840 },
2841 160usize,
2842 concat!(
2843 "Offset of field: ",
2844 stringify!(__dc1394feature_info_t_struct),
2845 "::",
2846 stringify!(abs_value)
2847 )
2848 );
2849 assert_eq!(
2850 unsafe {
2851 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).abs_max as *const _ as usize
2852 },
2853 164usize,
2854 concat!(
2855 "Offset of field: ",
2856 stringify!(__dc1394feature_info_t_struct),
2857 "::",
2858 stringify!(abs_max)
2859 )
2860 );
2861 assert_eq!(
2862 unsafe {
2863 &(*(::std::ptr::null::<__dc1394feature_info_t_struct>())).abs_min as *const _ as usize
2864 },
2865 168usize,
2866 concat!(
2867 "Offset of field: ",
2868 stringify!(__dc1394feature_info_t_struct),
2869 "::",
2870 stringify!(abs_min)
2871 )
2872 );
2873}
2874pub type dc1394feature_info_t = __dc1394feature_info_t_struct;
2875#[doc = " The list of features"]
2876#[repr(C)]
2877#[derive(Debug, Copy, Clone)]
2878pub struct __dc1394featureset_t {
2879 pub feature: [dc1394feature_info_t; 22usize],
2880}
2881#[test]
2882fn bindgen_test_layout___dc1394featureset_t() {
2883 assert_eq!(
2884 ::std::mem::size_of::<__dc1394featureset_t>(),
2885 3784usize,
2886 concat!("Size of: ", stringify!(__dc1394featureset_t))
2887 );
2888 assert_eq!(
2889 ::std::mem::align_of::<__dc1394featureset_t>(),
2890 4usize,
2891 concat!("Alignment of ", stringify!(__dc1394featureset_t))
2892 );
2893 assert_eq!(
2894 unsafe { &(*(::std::ptr::null::<__dc1394featureset_t>())).feature as *const _ as usize },
2895 0usize,
2896 concat!(
2897 "Offset of field: ",
2898 stringify!(__dc1394featureset_t),
2899 "::",
2900 stringify!(feature)
2901 )
2902 );
2903}
2904pub type dc1394featureset_t = __dc1394featureset_t;
2905extern "C" {
2906 #[doc = " Collects the available features for the camera described by node and stores them in features."]
2907 pub fn dc1394_feature_get_all(
2908 camera: *mut dc1394camera_t,
2909 features: *mut dc1394featureset_t,
2910 ) -> dc1394error_t::Type;
2911}
2912extern "C" {
2913 #[doc = " Stores the bounds and options associated with the feature described by feature->feature_id"]
2914 pub fn dc1394_feature_get(
2915 camera: *mut dc1394camera_t,
2916 feature: *mut dc1394feature_info_t,
2917 ) -> dc1394error_t::Type;
2918}
2919extern "C" {
2920 #[doc = " Displays the bounds and options of the given feature"]
2921 pub fn dc1394_feature_print(
2922 feature: *mut dc1394feature_info_t,
2923 fd: *mut FILE,
2924 ) -> dc1394error_t::Type;
2925}
2926extern "C" {
2927 #[doc = " Displays the bounds and options of every feature supported by the camera"]
2928 pub fn dc1394_feature_print_all(
2929 features: *mut dc1394featureset_t,
2930 fd: *mut FILE,
2931 ) -> dc1394error_t::Type;
2932}
2933extern "C" {
2934 #[doc = " Gets the whitebalance values"]
2935 pub fn dc1394_feature_whitebalance_get_value(
2936 camera: *mut dc1394camera_t,
2937 u_b_value: *mut u32,
2938 v_r_value: *mut u32,
2939 ) -> dc1394error_t::Type;
2940}
2941extern "C" {
2942 #[doc = " Sets the whitebalance values"]
2943 pub fn dc1394_feature_whitebalance_set_value(
2944 camera: *mut dc1394camera_t,
2945 u_b_value: u32,
2946 v_r_value: u32,
2947 ) -> dc1394error_t::Type;
2948}
2949extern "C" {
2950 #[doc = " Gets the temperature values (target and current)"]
2951 pub fn dc1394_feature_temperature_get_value(
2952 camera: *mut dc1394camera_t,
2953 target_temperature: *mut u32,
2954 temperature: *mut u32,
2955 ) -> dc1394error_t::Type;
2956}
2957extern "C" {
2958 #[doc = " Sets the temperature values (target only) FIXME: COULD BE DROPPED? already in the standard feature_set_value()?"]
2959 pub fn dc1394_feature_temperature_set_value(
2960 camera: *mut dc1394camera_t,
2961 target_temperature: u32,
2962 ) -> dc1394error_t::Type;
2963}
2964extern "C" {
2965 #[doc = " Gets the white shading values"]
2966 pub fn dc1394_feature_whiteshading_get_value(
2967 camera: *mut dc1394camera_t,
2968 r_value: *mut u32,
2969 g_value: *mut u32,
2970 b_value: *mut u32,
2971 ) -> dc1394error_t::Type;
2972}
2973extern "C" {
2974 #[doc = " Sets the white shading values"]
2975 pub fn dc1394_feature_whiteshading_set_value(
2976 camera: *mut dc1394camera_t,
2977 r_value: u32,
2978 g_value: u32,
2979 b_value: u32,
2980 ) -> dc1394error_t::Type;
2981}
2982extern "C" {
2983 #[doc = " Gets the value of a feature"]
2984 pub fn dc1394_feature_get_value(
2985 camera: *mut dc1394camera_t,
2986 feature: dc1394feature_t::Type,
2987 value: *mut u32,
2988 ) -> dc1394error_t::Type;
2989}
2990extern "C" {
2991 #[doc = " Sets the value of a feature"]
2992 pub fn dc1394_feature_set_value(
2993 camera: *mut dc1394camera_t,
2994 feature: dc1394feature_t::Type,
2995 value: u32,
2996 ) -> dc1394error_t::Type;
2997}
2998extern "C" {
2999 #[doc = " Tells whether a feature is present or not"]
3000 pub fn dc1394_feature_is_present(
3001 camera: *mut dc1394camera_t,
3002 feature: dc1394feature_t::Type,
3003 value: *mut dc1394bool_t::Type,
3004 ) -> dc1394error_t::Type;
3005}
3006extern "C" {
3007 #[doc = " Tells whether a feature is readable or not"]
3008 pub fn dc1394_feature_is_readable(
3009 camera: *mut dc1394camera_t,
3010 feature: dc1394feature_t::Type,
3011 value: *mut dc1394bool_t::Type,
3012 ) -> dc1394error_t::Type;
3013}
3014extern "C" {
3015 #[doc = " Gets the boundaries of a feature"]
3016 pub fn dc1394_feature_get_boundaries(
3017 camera: *mut dc1394camera_t,
3018 feature: dc1394feature_t::Type,
3019 min: *mut u32,
3020 max: *mut u32,
3021 ) -> dc1394error_t::Type;
3022}
3023extern "C" {
3024 #[doc = " Tells whether a feature is switcheable or not (ON/OFF)"]
3025 pub fn dc1394_feature_is_switchable(
3026 camera: *mut dc1394camera_t,
3027 feature: dc1394feature_t::Type,
3028 value: *mut dc1394bool_t::Type,
3029 ) -> dc1394error_t::Type;
3030}
3031extern "C" {
3032 #[doc = " Gets the power status of a feature (ON or OFF)"]
3033 pub fn dc1394_feature_get_power(
3034 camera: *mut dc1394camera_t,
3035 feature: dc1394feature_t::Type,
3036 pwr: *mut dc1394switch_t::Type,
3037 ) -> dc1394error_t::Type;
3038}
3039extern "C" {
3040 #[doc = " Sets the power status of a feature (ON or OFF)"]
3041 pub fn dc1394_feature_set_power(
3042 camera: *mut dc1394camera_t,
3043 feature: dc1394feature_t::Type,
3044 pwr: dc1394switch_t::Type,
3045 ) -> dc1394error_t::Type;
3046}
3047extern "C" {
3048 #[doc = " Gets the list of control modes for a feature (manual, auto, etc...)"]
3049 pub fn dc1394_feature_get_modes(
3050 camera: *mut dc1394camera_t,
3051 feature: dc1394feature_t::Type,
3052 modes: *mut dc1394feature_modes_t,
3053 ) -> dc1394error_t::Type;
3054}
3055extern "C" {
3056 #[doc = " Gets the current control modes for a feature"]
3057 pub fn dc1394_feature_get_mode(
3058 camera: *mut dc1394camera_t,
3059 feature: dc1394feature_t::Type,
3060 mode: *mut dc1394feature_mode_t::Type,
3061 ) -> dc1394error_t::Type;
3062}
3063extern "C" {
3064 #[doc = " Sets the current control modes for a feature"]
3065 pub fn dc1394_feature_set_mode(
3066 camera: *mut dc1394camera_t,
3067 feature: dc1394feature_t::Type,
3068 mode: dc1394feature_mode_t::Type,
3069 ) -> dc1394error_t::Type;
3070}
3071extern "C" {
3072 #[doc = " Tells whether a feature can be controlled in absolute mode"]
3073 pub fn dc1394_feature_has_absolute_control(
3074 camera: *mut dc1394camera_t,
3075 feature: dc1394feature_t::Type,
3076 value: *mut dc1394bool_t::Type,
3077 ) -> dc1394error_t::Type;
3078}
3079extern "C" {
3080 #[doc = " Gets the absolute boundaries of a feature"]
3081 pub fn dc1394_feature_get_absolute_boundaries(
3082 camera: *mut dc1394camera_t,
3083 feature: dc1394feature_t::Type,
3084 min: *mut f32,
3085 max: *mut f32,
3086 ) -> dc1394error_t::Type;
3087}
3088extern "C" {
3089 #[doc = " Gets the absolute value of a feature"]
3090 pub fn dc1394_feature_get_absolute_value(
3091 camera: *mut dc1394camera_t,
3092 feature: dc1394feature_t::Type,
3093 value: *mut f32,
3094 ) -> dc1394error_t::Type;
3095}
3096extern "C" {
3097 #[doc = " Sets the absolute value of a feature"]
3098 pub fn dc1394_feature_set_absolute_value(
3099 camera: *mut dc1394camera_t,
3100 feature: dc1394feature_t::Type,
3101 value: f32,
3102 ) -> dc1394error_t::Type;
3103}
3104extern "C" {
3105 #[doc = " Gets the status of absolute control of a feature"]
3106 pub fn dc1394_feature_get_absolute_control(
3107 camera: *mut dc1394camera_t,
3108 feature: dc1394feature_t::Type,
3109 pwr: *mut dc1394switch_t::Type,
3110 ) -> dc1394error_t::Type;
3111}
3112extern "C" {
3113 #[doc = " Sets the feature in absolute control mode (ON/OFF)"]
3114 pub fn dc1394_feature_set_absolute_control(
3115 camera: *mut dc1394camera_t,
3116 feature: dc1394feature_t::Type,
3117 pwr: dc1394switch_t::Type,
3118 ) -> dc1394error_t::Type;
3119}
3120extern "C" {
3121 #[doc = " Sets the polarity of the external trigger"]
3122 pub fn dc1394_external_trigger_set_polarity(
3123 camera: *mut dc1394camera_t,
3124 polarity: dc1394trigger_polarity_t::Type,
3125 ) -> dc1394error_t::Type;
3126}
3127extern "C" {
3128 #[doc = " Gets the polarity of the external trigger"]
3129 pub fn dc1394_external_trigger_get_polarity(
3130 camera: *mut dc1394camera_t,
3131 polarity: *mut dc1394trigger_polarity_t::Type,
3132 ) -> dc1394error_t::Type;
3133}
3134extern "C" {
3135 #[doc = " Tells whether the external trigger can change its polarity or not."]
3136 pub fn dc1394_external_trigger_has_polarity(
3137 camera: *mut dc1394camera_t,
3138 polarity_capable: *mut dc1394bool_t::Type,
3139 ) -> dc1394error_t::Type;
3140}
3141extern "C" {
3142 #[doc = " Switch between internal and external trigger"]
3143 pub fn dc1394_external_trigger_set_power(
3144 camera: *mut dc1394camera_t,
3145 pwr: dc1394switch_t::Type,
3146 ) -> dc1394error_t::Type;
3147}
3148extern "C" {
3149 #[doc = " Gets the status of the external trigger"]
3150 pub fn dc1394_external_trigger_get_power(
3151 camera: *mut dc1394camera_t,
3152 pwr: *mut dc1394switch_t::Type,
3153 ) -> dc1394error_t::Type;
3154}
3155extern "C" {
3156 #[doc = " Sets the external trigger mode"]
3157 pub fn dc1394_external_trigger_set_mode(
3158 camera: *mut dc1394camera_t,
3159 mode: dc1394trigger_mode_t::Type,
3160 ) -> dc1394error_t::Type;
3161}
3162extern "C" {
3163 #[doc = " Gets the external trigger mode"]
3164 pub fn dc1394_external_trigger_get_mode(
3165 camera: *mut dc1394camera_t,
3166 mode: *mut dc1394trigger_mode_t::Type,
3167 ) -> dc1394error_t::Type;
3168}
3169extern "C" {
3170 #[doc = " Sets the external trigger source"]
3171 pub fn dc1394_external_trigger_set_source(
3172 camera: *mut dc1394camera_t,
3173 source: dc1394trigger_source_t::Type,
3174 ) -> dc1394error_t::Type;
3175}
3176extern "C" {
3177 #[doc = " Gets the external trigger source"]
3178 pub fn dc1394_external_trigger_get_source(
3179 camera: *mut dc1394camera_t,
3180 source: *mut dc1394trigger_source_t::Type,
3181 ) -> dc1394error_t::Type;
3182}
3183extern "C" {
3184 #[doc = " Gets the list of available external trigger source"]
3185 pub fn dc1394_external_trigger_get_supported_sources(
3186 camera: *mut dc1394camera_t,
3187 sources: *mut dc1394trigger_sources_t,
3188 ) -> dc1394error_t::Type;
3189}
3190extern "C" {
3191 #[doc = " Turn software trigger on or off"]
3192 pub fn dc1394_software_trigger_set_power(
3193 camera: *mut dc1394camera_t,
3194 pwr: dc1394switch_t::Type,
3195 ) -> dc1394error_t::Type;
3196}
3197extern "C" {
3198 #[doc = " Gets the state of software trigger"]
3199 pub fn dc1394_software_trigger_get_power(
3200 camera: *mut dc1394camera_t,
3201 pwr: *mut dc1394switch_t::Type,
3202 ) -> dc1394error_t::Type;
3203}
3204extern "C" {
3205 #[doc = " Sends a quadlet on the PIO (output)"]
3206 pub fn dc1394_pio_set(camera: *mut dc1394camera_t, value: u32) -> dc1394error_t::Type;
3207}
3208extern "C" {
3209 #[doc = " Gets the current quadlet at the PIO (input)"]
3210 pub fn dc1394_pio_get(camera: *mut dc1394camera_t, value: *mut u32) -> dc1394error_t::Type;
3211}
3212extern "C" {
3213 #[doc = " reset a camera to factory default settings"]
3214 pub fn dc1394_camera_reset(camera: *mut dc1394camera_t) -> dc1394error_t::Type;
3215}
3216extern "C" {
3217 #[doc = " turn a camera on or off"]
3218 pub fn dc1394_camera_set_power(
3219 camera: *mut dc1394camera_t,
3220 pwr: dc1394switch_t::Type,
3221 ) -> dc1394error_t::Type;
3222}
3223extern "C" {
3224 #[doc = " Download a camera setup from the memory."]
3225 pub fn dc1394_memory_busy(
3226 camera: *mut dc1394camera_t,
3227 value: *mut dc1394bool_t::Type,
3228 ) -> dc1394error_t::Type;
3229}
3230extern "C" {
3231 #[doc = " Uploads a camera setup in the memory."]
3232 #[doc = ""]
3233 #[doc = " Note that this operation can only be performed a certain number of"]
3234 #[doc = " times for a given camera, as it requires reprogramming of an EEPROM."]
3235 pub fn dc1394_memory_save(camera: *mut dc1394camera_t, channel: u32) -> dc1394error_t::Type;
3236}
3237extern "C" {
3238 #[doc = " Tells whether the writing of the camera setup in memory is finished or not."]
3239 pub fn dc1394_memory_load(camera: *mut dc1394camera_t, channel: u32) -> dc1394error_t::Type;
3240}
3241pub mod dc1394speed_t {
3242 #[doc = " Enumeration of iso data speeds"]
3243 #[doc = ""]
3244 #[doc = " Most (if not all) cameras are compatible with 400Mbps speed. Only older cameras (pre-1999) may still only work at sub-400"]
3245 #[doc = " speeds. However, speeds lower than 400Mbps are still useful: they can be used for longer distances (e.g. 10m cables)."]
3246 #[doc = " Speeds over 400Mbps are only available in \"B\" mode (DC1394_OPERATION_MODE_1394B)."]
3247 pub type Type = u32;
3248 pub const DC1394_ISO_SPEED_100: Type = 0;
3249 pub const DC1394_ISO_SPEED_200: Type = 1;
3250 pub const DC1394_ISO_SPEED_400: Type = 2;
3251 pub const DC1394_ISO_SPEED_800: Type = 3;
3252 pub const DC1394_ISO_SPEED_1600: Type = 4;
3253 pub const DC1394_ISO_SPEED_3200: Type = 5;
3254}
3255pub mod dc1394framerate_t {
3256 #[doc = " Enumeration of video framerates"]
3257 #[doc = ""]
3258 #[doc = " This enumeration is used for non-Format_7 modes. The framerate can be lower than expected if the exposure time is longer"]
3259 #[doc = " than the requested frame period. Framerate can be controlled in a number of other ways: framerate feature, external trigger,"]
3260 #[doc = " software trigger, shutter throttling and packet size (Format_7)"]
3261 pub type Type = u32;
3262 pub const DC1394_FRAMERATE_1_875: Type = 32;
3263 pub const DC1394_FRAMERATE_3_75: Type = 33;
3264 pub const DC1394_FRAMERATE_7_5: Type = 34;
3265 pub const DC1394_FRAMERATE_15: Type = 35;
3266 pub const DC1394_FRAMERATE_30: Type = 36;
3267 pub const DC1394_FRAMERATE_60: Type = 37;
3268 pub const DC1394_FRAMERATE_120: Type = 38;
3269 pub const DC1394_FRAMERATE_240: Type = 39;
3270}
3271pub mod dc1394operation_mode_t {
3272 #[doc = " Operation modes"]
3273 #[doc = ""]
3274 #[doc = " Two operation modes exist: the legacy and most common 1394a, and the newer 1394B. The latter allows speeds over 400Mbps, but"]
3275 #[doc = " can also be used at other speeds."]
3276 pub type Type = u32;
3277 pub const DC1394_OPERATION_MODE_LEGACY: Type = 480;
3278 pub const DC1394_OPERATION_MODE_1394B: Type = 481;
3279}
3280#[doc = " List of framerates"]
3281#[doc = ""]
3282#[doc = " dc1394framerates_t contains a list of available framerates for a particular video mode."]
3283#[repr(C)]
3284#[derive(Debug, Copy, Clone)]
3285pub struct dc1394framerates_t {
3286 pub num: u32,
3287 pub framerates: [dc1394framerate_t::Type; 8usize],
3288}
3289#[test]
3290fn bindgen_test_layout_dc1394framerates_t() {
3291 assert_eq!(
3292 ::std::mem::size_of::<dc1394framerates_t>(),
3293 36usize,
3294 concat!("Size of: ", stringify!(dc1394framerates_t))
3295 );
3296 assert_eq!(
3297 ::std::mem::align_of::<dc1394framerates_t>(),
3298 4usize,
3299 concat!("Alignment of ", stringify!(dc1394framerates_t))
3300 );
3301 assert_eq!(
3302 unsafe { &(*(::std::ptr::null::<dc1394framerates_t>())).num as *const _ as usize },
3303 0usize,
3304 concat!(
3305 "Offset of field: ",
3306 stringify!(dc1394framerates_t),
3307 "::",
3308 stringify!(num)
3309 )
3310 );
3311 assert_eq!(
3312 unsafe { &(*(::std::ptr::null::<dc1394framerates_t>())).framerates as *const _ as usize },
3313 4usize,
3314 concat!(
3315 "Offset of field: ",
3316 stringify!(dc1394framerates_t),
3317 "::",
3318 stringify!(framerates)
3319 )
3320 );
3321}
3322#[doc = " Video frame structure."]
3323#[doc = ""]
3324#[doc = " dc1394video_frame_t is the structure returned by the capture functions. It contains the captured image as well as a number of"]
3325#[doc = " information."]
3326#[doc = ""]
3327#[doc = " In general this structure should be calloc\'ed so that members such as \"allocated size\""]
3328#[doc = " are properly set to zero. Don\'t forget to free the \"image\" member before freeing the struct itself."]
3329#[repr(C)]
3330#[derive(Debug, Copy, Clone)]
3331pub struct __dc1394_video_frame {
3332 pub image: *mut ::std::os::raw::c_uchar,
3333 pub size: [u32; 2usize],
3334 pub position: [u32; 2usize],
3335 pub color_coding: dc1394color_coding_t::Type,
3336 pub color_filter: dc1394color_filter_t::Type,
3337 pub yuv_byte_order: u32,
3338 pub data_depth: u32,
3339 pub stride: u32,
3340 pub video_mode: dc1394video_mode_t::Type,
3341 pub total_bytes: u64,
3342 pub image_bytes: u32,
3343 pub padding_bytes: u32,
3344 pub packet_size: u32,
3345 pub packets_per_frame: u32,
3346 pub timestamp: u64,
3347 pub frames_behind: u32,
3348 pub camera: *mut dc1394camera_t,
3349 pub id: u32,
3350 pub allocated_image_bytes: u64,
3351 pub little_endian: dc1394bool_t::Type,
3352 pub data_in_padding: dc1394bool_t::Type,
3353}
3354#[test]
3355fn bindgen_test_layout___dc1394_video_frame() {
3356 assert_eq!(
3357 ::std::mem::size_of::<__dc1394_video_frame>(),
3358 120usize,
3359 concat!("Size of: ", stringify!(__dc1394_video_frame))
3360 );
3361 assert_eq!(
3362 ::std::mem::align_of::<__dc1394_video_frame>(),
3363 8usize,
3364 concat!("Alignment of ", stringify!(__dc1394_video_frame))
3365 );
3366 assert_eq!(
3367 unsafe { &(*(::std::ptr::null::<__dc1394_video_frame>())).image as *const _ as usize },
3368 0usize,
3369 concat!(
3370 "Offset of field: ",
3371 stringify!(__dc1394_video_frame),
3372 "::",
3373 stringify!(image)
3374 )
3375 );
3376 assert_eq!(
3377 unsafe { &(*(::std::ptr::null::<__dc1394_video_frame>())).size as *const _ as usize },
3378 8usize,
3379 concat!(
3380 "Offset of field: ",
3381 stringify!(__dc1394_video_frame),
3382 "::",
3383 stringify!(size)
3384 )
3385 );
3386 assert_eq!(
3387 unsafe { &(*(::std::ptr::null::<__dc1394_video_frame>())).position as *const _ as usize },
3388 16usize,
3389 concat!(
3390 "Offset of field: ",
3391 stringify!(__dc1394_video_frame),
3392 "::",
3393 stringify!(position)
3394 )
3395 );
3396 assert_eq!(
3397 unsafe {
3398 &(*(::std::ptr::null::<__dc1394_video_frame>())).color_coding as *const _ as usize
3399 },
3400 24usize,
3401 concat!(
3402 "Offset of field: ",
3403 stringify!(__dc1394_video_frame),
3404 "::",
3405 stringify!(color_coding)
3406 )
3407 );
3408 assert_eq!(
3409 unsafe {
3410 &(*(::std::ptr::null::<__dc1394_video_frame>())).color_filter as *const _ as usize
3411 },
3412 28usize,
3413 concat!(
3414 "Offset of field: ",
3415 stringify!(__dc1394_video_frame),
3416 "::",
3417 stringify!(color_filter)
3418 )
3419 );
3420 assert_eq!(
3421 unsafe {
3422 &(*(::std::ptr::null::<__dc1394_video_frame>())).yuv_byte_order as *const _ as usize
3423 },
3424 32usize,
3425 concat!(
3426 "Offset of field: ",
3427 stringify!(__dc1394_video_frame),
3428 "::",
3429 stringify!(yuv_byte_order)
3430 )
3431 );
3432 assert_eq!(
3433 unsafe { &(*(::std::ptr::null::<__dc1394_video_frame>())).data_depth as *const _ as usize },
3434 36usize,
3435 concat!(
3436 "Offset of field: ",
3437 stringify!(__dc1394_video_frame),
3438 "::",
3439 stringify!(data_depth)
3440 )
3441 );
3442 assert_eq!(
3443 unsafe { &(*(::std::ptr::null::<__dc1394_video_frame>())).stride as *const _ as usize },
3444 40usize,
3445 concat!(
3446 "Offset of field: ",
3447 stringify!(__dc1394_video_frame),
3448 "::",
3449 stringify!(stride)
3450 )
3451 );
3452 assert_eq!(
3453 unsafe { &(*(::std::ptr::null::<__dc1394_video_frame>())).video_mode as *const _ as usize },
3454 44usize,
3455 concat!(
3456 "Offset of field: ",
3457 stringify!(__dc1394_video_frame),
3458 "::",
3459 stringify!(video_mode)
3460 )
3461 );
3462 assert_eq!(
3463 unsafe {
3464 &(*(::std::ptr::null::<__dc1394_video_frame>())).total_bytes as *const _ as usize
3465 },
3466 48usize,
3467 concat!(
3468 "Offset of field: ",
3469 stringify!(__dc1394_video_frame),
3470 "::",
3471 stringify!(total_bytes)
3472 )
3473 );
3474 assert_eq!(
3475 unsafe {
3476 &(*(::std::ptr::null::<__dc1394_video_frame>())).image_bytes as *const _ as usize
3477 },
3478 56usize,
3479 concat!(
3480 "Offset of field: ",
3481 stringify!(__dc1394_video_frame),
3482 "::",
3483 stringify!(image_bytes)
3484 )
3485 );
3486 assert_eq!(
3487 unsafe {
3488 &(*(::std::ptr::null::<__dc1394_video_frame>())).padding_bytes as *const _ as usize
3489 },
3490 60usize,
3491 concat!(
3492 "Offset of field: ",
3493 stringify!(__dc1394_video_frame),
3494 "::",
3495 stringify!(padding_bytes)
3496 )
3497 );
3498 assert_eq!(
3499 unsafe {
3500 &(*(::std::ptr::null::<__dc1394_video_frame>())).packet_size as *const _ as usize
3501 },
3502 64usize,
3503 concat!(
3504 "Offset of field: ",
3505 stringify!(__dc1394_video_frame),
3506 "::",
3507 stringify!(packet_size)
3508 )
3509 );
3510 assert_eq!(
3511 unsafe {
3512 &(*(::std::ptr::null::<__dc1394_video_frame>())).packets_per_frame as *const _ as usize
3513 },
3514 68usize,
3515 concat!(
3516 "Offset of field: ",
3517 stringify!(__dc1394_video_frame),
3518 "::",
3519 stringify!(packets_per_frame)
3520 )
3521 );
3522 assert_eq!(
3523 unsafe { &(*(::std::ptr::null::<__dc1394_video_frame>())).timestamp as *const _ as usize },
3524 72usize,
3525 concat!(
3526 "Offset of field: ",
3527 stringify!(__dc1394_video_frame),
3528 "::",
3529 stringify!(timestamp)
3530 )
3531 );
3532 assert_eq!(
3533 unsafe {
3534 &(*(::std::ptr::null::<__dc1394_video_frame>())).frames_behind as *const _ as usize
3535 },
3536 80usize,
3537 concat!(
3538 "Offset of field: ",
3539 stringify!(__dc1394_video_frame),
3540 "::",
3541 stringify!(frames_behind)
3542 )
3543 );
3544 assert_eq!(
3545 unsafe { &(*(::std::ptr::null::<__dc1394_video_frame>())).camera as *const _ as usize },
3546 88usize,
3547 concat!(
3548 "Offset of field: ",
3549 stringify!(__dc1394_video_frame),
3550 "::",
3551 stringify!(camera)
3552 )
3553 );
3554 assert_eq!(
3555 unsafe { &(*(::std::ptr::null::<__dc1394_video_frame>())).id as *const _ as usize },
3556 96usize,
3557 concat!(
3558 "Offset of field: ",
3559 stringify!(__dc1394_video_frame),
3560 "::",
3561 stringify!(id)
3562 )
3563 );
3564 assert_eq!(
3565 unsafe {
3566 &(*(::std::ptr::null::<__dc1394_video_frame>())).allocated_image_bytes as *const _
3567 as usize
3568 },
3569 104usize,
3570 concat!(
3571 "Offset of field: ",
3572 stringify!(__dc1394_video_frame),
3573 "::",
3574 stringify!(allocated_image_bytes)
3575 )
3576 );
3577 assert_eq!(
3578 unsafe {
3579 &(*(::std::ptr::null::<__dc1394_video_frame>())).little_endian as *const _ as usize
3580 },
3581 112usize,
3582 concat!(
3583 "Offset of field: ",
3584 stringify!(__dc1394_video_frame),
3585 "::",
3586 stringify!(little_endian)
3587 )
3588 );
3589 assert_eq!(
3590 unsafe {
3591 &(*(::std::ptr::null::<__dc1394_video_frame>())).data_in_padding as *const _ as usize
3592 },
3593 116usize,
3594 concat!(
3595 "Offset of field: ",
3596 stringify!(__dc1394_video_frame),
3597 "::",
3598 stringify!(data_in_padding)
3599 )
3600 );
3601}
3602pub type dc1394video_frame_t = __dc1394_video_frame;
3603extern "C" {
3604 #[doc = " Gets a list of video modes supported by the camera."]
3605 pub fn dc1394_video_get_supported_modes(
3606 camera: *mut dc1394camera_t,
3607 video_modes: *mut dc1394video_modes_t,
3608 ) -> dc1394error_t::Type;
3609}
3610extern "C" {
3611 #[doc = " Gets a list of supported video framerates for a given video mode. This function only works with non-scalable formats."]
3612 pub fn dc1394_video_get_supported_framerates(
3613 camera: *mut dc1394camera_t,
3614 video_mode: dc1394video_mode_t::Type,
3615 framerates: *mut dc1394framerates_t,
3616 ) -> dc1394error_t::Type;
3617}
3618extern "C" {
3619 #[doc = " Gets the current framerate. This is meaningful only if the video mode is not scalable."]
3620 pub fn dc1394_video_get_framerate(
3621 camera: *mut dc1394camera_t,
3622 framerate: *mut dc1394framerate_t::Type,
3623 ) -> dc1394error_t::Type;
3624}
3625extern "C" {
3626 #[doc = " Sets the current framerate. This is meaningful only if the video mode is not scalable."]
3627 pub fn dc1394_video_set_framerate(
3628 camera: *mut dc1394camera_t,
3629 framerate: dc1394framerate_t::Type,
3630 ) -> dc1394error_t::Type;
3631}
3632extern "C" {
3633 #[doc = " Gets the current vide mode."]
3634 pub fn dc1394_video_get_mode(
3635 camera: *mut dc1394camera_t,
3636 video_mode: *mut dc1394video_mode_t::Type,
3637 ) -> dc1394error_t::Type;
3638}
3639extern "C" {
3640 #[doc = " Sets the current vide mode."]
3641 pub fn dc1394_video_set_mode(
3642 camera: *mut dc1394camera_t,
3643 video_mode: dc1394video_mode_t::Type,
3644 ) -> dc1394error_t::Type;
3645}
3646extern "C" {
3647 #[doc = " Gets the current operation mode."]
3648 pub fn dc1394_video_get_operation_mode(
3649 camera: *mut dc1394camera_t,
3650 mode: *mut dc1394operation_mode_t::Type,
3651 ) -> dc1394error_t::Type;
3652}
3653extern "C" {
3654 #[doc = " Sets the current operation mode."]
3655 pub fn dc1394_video_set_operation_mode(
3656 camera: *mut dc1394camera_t,
3657 mode: dc1394operation_mode_t::Type,
3658 ) -> dc1394error_t::Type;
3659}
3660extern "C" {
3661 #[doc = " Gets the current ISO speed."]
3662 pub fn dc1394_video_get_iso_speed(
3663 camera: *mut dc1394camera_t,
3664 speed: *mut dc1394speed_t::Type,
3665 ) -> dc1394error_t::Type;
3666}
3667extern "C" {
3668 #[doc = " Sets the current ISO speed. Speeds over 400Mbps require 1394B."]
3669 pub fn dc1394_video_set_iso_speed(
3670 camera: *mut dc1394camera_t,
3671 speed: dc1394speed_t::Type,
3672 ) -> dc1394error_t::Type;
3673}
3674extern "C" {
3675 #[doc = " Gets the current ISO channel"]
3676 pub fn dc1394_video_get_iso_channel(
3677 camera: *mut dc1394camera_t,
3678 channel: *mut u32,
3679 ) -> dc1394error_t::Type;
3680}
3681extern "C" {
3682 #[doc = " Sets the current ISO channel"]
3683 pub fn dc1394_video_set_iso_channel(
3684 camera: *mut dc1394camera_t,
3685 channel: u32,
3686 ) -> dc1394error_t::Type;
3687}
3688extern "C" {
3689 #[doc = " Gets the current data depth, in bits. Only meaningful for 16bpp video modes (RAW16, RGB48, MONO16,...)"]
3690 pub fn dc1394_video_get_data_depth(
3691 camera: *mut dc1394camera_t,
3692 depth: *mut u32,
3693 ) -> dc1394error_t::Type;
3694}
3695extern "C" {
3696 #[doc = " Starts/stops the isochronous data transmission. In other words, use this to control the image flow."]
3697 pub fn dc1394_video_set_transmission(
3698 camera: *mut dc1394camera_t,
3699 pwr: dc1394switch_t::Type,
3700 ) -> dc1394error_t::Type;
3701}
3702extern "C" {
3703 #[doc = " Gets the status of the video transmission"]
3704 pub fn dc1394_video_get_transmission(
3705 camera: *mut dc1394camera_t,
3706 pwr: *mut dc1394switch_t::Type,
3707 ) -> dc1394error_t::Type;
3708}
3709extern "C" {
3710 #[doc = " Turns one-shot mode on or off"]
3711 pub fn dc1394_video_set_one_shot(
3712 camera: *mut dc1394camera_t,
3713 pwr: dc1394switch_t::Type,
3714 ) -> dc1394error_t::Type;
3715}
3716extern "C" {
3717 #[doc = " Gets the status of the one-shot mode."]
3718 pub fn dc1394_video_get_one_shot(
3719 camera: *mut dc1394camera_t,
3720 is_on: *mut dc1394bool_t::Type,
3721 ) -> dc1394error_t::Type;
3722}
3723extern "C" {
3724 #[doc = " Turns multishot mode on or off"]
3725 pub fn dc1394_video_set_multi_shot(
3726 camera: *mut dc1394camera_t,
3727 numFrames: u32,
3728 pwr: dc1394switch_t::Type,
3729 ) -> dc1394error_t::Type;
3730}
3731extern "C" {
3732 #[doc = " Gets the status of the multi-shot mode."]
3733 pub fn dc1394_video_get_multi_shot(
3734 camera: *mut dc1394camera_t,
3735 is_on: *mut dc1394bool_t::Type,
3736 numFrames: *mut u32,
3737 ) -> dc1394error_t::Type;
3738}
3739extern "C" {
3740 #[doc = " Gets the bandwidth usage of a camera."]
3741 #[doc = ""]
3742 #[doc = " This function returns the bandwidth that is used by the camera *IF* ISO was ON."]
3743 #[doc = " The returned value is in bandwidth units. The 1394 bus has 4915 bandwidth units"]
3744 #[doc = " available per cycle. Each unit corresponds to the time it takes to send one"]
3745 #[doc = " quadlet at ISO speed S1600. The bandwidth usage at S400 is thus four times the"]
3746 #[doc = " number of quadlets per packet. Thanks to Krisitian Hogsberg for clarifying this."]
3747 pub fn dc1394_video_get_bandwidth_usage(
3748 camera: *mut dc1394camera_t,
3749 bandwidth: *mut u32,
3750 ) -> dc1394error_t::Type;
3751}
3752pub mod dc1394capture_policy_t {
3753 #[doc = " The capture policy."]
3754 #[doc = ""]
3755 #[doc = " Can be blocking (wait for a frame forever) or polling (returns if no frames is in the ring buffer)"]
3756 pub type Type = u32;
3757 pub const DC1394_CAPTURE_POLICY_WAIT: Type = 672;
3758 pub const DC1394_CAPTURE_POLICY_POLL: Type = 673;
3759}
3760#[doc = " typedef for the callback param for dc1394_capture_set_callback"]
3761pub type dc1394capture_callback_t = ::std::option::Option<
3762 unsafe extern "C" fn(arg1: *mut dc1394camera_t, arg2: *mut ::std::os::raw::c_void),
3763>;
3764extern "C" {
3765 #[doc = " Setup the capture, using a ring buffer of a certain size (num_dma_buffers) and certain options (flags)"]
3766 pub fn dc1394_capture_setup(
3767 camera: *mut dc1394camera_t,
3768 num_dma_buffers: u32,
3769 flags: u32,
3770 ) -> dc1394error_t::Type;
3771}
3772extern "C" {
3773 #[doc = " Stop the capture"]
3774 pub fn dc1394_capture_stop(camera: *mut dc1394camera_t) -> dc1394error_t::Type;
3775}
3776extern "C" {
3777 #[doc = " Gets a file descriptor to be used for select(). Must be called after dc1394_capture_setup()."]
3778 pub fn dc1394_capture_get_fileno(camera: *mut dc1394camera_t) -> ::std::os::raw::c_int;
3779}
3780extern "C" {
3781 #[doc = " Captures a video frame. The returned struct contains the image buffer, among others. This image buffer SHALL NOT be freed, as it represents an area"]
3782 #[doc = " in the memory that belongs to the system."]
3783 pub fn dc1394_capture_dequeue(
3784 camera: *mut dc1394camera_t,
3785 policy: dc1394capture_policy_t::Type,
3786 frame: *mut *mut dc1394video_frame_t,
3787 ) -> dc1394error_t::Type;
3788}
3789extern "C" {
3790 #[doc = " Returns a frame to the ring buffer once it has been used."]
3791 pub fn dc1394_capture_enqueue(
3792 camera: *mut dc1394camera_t,
3793 frame: *mut dc1394video_frame_t,
3794 ) -> dc1394error_t::Type;
3795}
3796extern "C" {
3797 #[doc = " Returns DC1394_TRUE if the given frame (previously dequeued) has been"]
3798 #[doc = " detected to be corrupt (missing data, corrupted data, overrun buffer, etc.)."]
3799 #[doc = " Note that certain types of corruption may go undetected in which case"]
3800 #[doc = " DC1394_FALSE will be returned. The ability to detect corruption also"]
3801 #[doc = " varies between platforms. Note that corrupt frames still need to be"]
3802 #[doc = " enqueued with dc1394_capture_enqueue() when no longer needed by the user."]
3803 pub fn dc1394_capture_is_frame_corrupt(
3804 camera: *mut dc1394camera_t,
3805 frame: *mut dc1394video_frame_t,
3806 ) -> dc1394bool_t::Type;
3807}
3808extern "C" {
3809 #[doc = " Set a callback if supported by the platform (OS X only for now)."]
3810 pub fn dc1394_capture_set_callback(
3811 camera: *mut dc1394camera_t,
3812 callback: dc1394capture_callback_t,
3813 user_data: *mut ::std::os::raw::c_void,
3814 );
3815}
3816pub mod dc1394bayer_method_t {
3817 #[doc = " A list of de-mosaicing techniques for Bayer-patterns."]
3818 #[doc = ""]
3819 #[doc = " The speed of the techniques can vary greatly, as well as their quality."]
3820 pub type Type = u32;
3821 pub const DC1394_BAYER_METHOD_NEAREST: Type = 0;
3822 pub const DC1394_BAYER_METHOD_SIMPLE: Type = 1;
3823 pub const DC1394_BAYER_METHOD_BILINEAR: Type = 2;
3824 pub const DC1394_BAYER_METHOD_HQLINEAR: Type = 3;
3825 pub const DC1394_BAYER_METHOD_DOWNSAMPLE: Type = 4;
3826 pub const DC1394_BAYER_METHOD_EDGESENSE: Type = 5;
3827 pub const DC1394_BAYER_METHOD_VNG: Type = 6;
3828 pub const DC1394_BAYER_METHOD_AHD: Type = 7;
3829}
3830pub mod dc1394stereo_method_t {
3831 #[doc = " A list of known stereo-in-normal-video modes used by manufacturers like Point Grey Research and Videre Design."]
3832 pub type Type = u32;
3833 pub const DC1394_STEREO_METHOD_INTERLACED: Type = 0;
3834 pub const DC1394_STEREO_METHOD_FIELD: Type = 1;
3835}
3836extern "C" {
3837 #[doc = " Converts an image buffer to YUV422"]
3838 pub fn dc1394_convert_to_YUV422(
3839 src: *mut u8,
3840 dest: *mut u8,
3841 width: u32,
3842 height: u32,
3843 byte_order: u32,
3844 source_coding: dc1394color_coding_t::Type,
3845 bits: u32,
3846 ) -> dc1394error_t::Type;
3847}
3848extern "C" {
3849 #[doc = " Converts an image buffer to MONO8"]
3850 pub fn dc1394_convert_to_MONO8(
3851 src: *mut u8,
3852 dest: *mut u8,
3853 width: u32,
3854 height: u32,
3855 byte_order: u32,
3856 source_coding: dc1394color_coding_t::Type,
3857 bits: u32,
3858 ) -> dc1394error_t::Type;
3859}
3860extern "C" {
3861 #[doc = " Converts an image buffer to RGB8"]
3862 pub fn dc1394_convert_to_RGB8(
3863 src: *mut u8,
3864 dest: *mut u8,
3865 width: u32,
3866 height: u32,
3867 byte_order: u32,
3868 source_coding: dc1394color_coding_t::Type,
3869 bits: u32,
3870 ) -> dc1394error_t::Type;
3871}
3872extern "C" {
3873 #[doc = " changes a 16bit stereo image (8bit/channel) into two 8bit images on top of each other"]
3874 pub fn dc1394_deinterlace_stereo(
3875 src: *mut u8,
3876 dest: *mut u8,
3877 width: u32,
3878 height: u32,
3879 ) -> dc1394error_t::Type;
3880}
3881extern "C" {
3882 #[doc = " Perform de-mosaicing on an 8-bit image buffer"]
3883 pub fn dc1394_bayer_decoding_8bit(
3884 bayer: *const u8,
3885 rgb: *mut u8,
3886 width: u32,
3887 height: u32,
3888 tile: dc1394color_filter_t::Type,
3889 method: dc1394bayer_method_t::Type,
3890 ) -> dc1394error_t::Type;
3891}
3892extern "C" {
3893 #[doc = " Perform de-mosaicing on an 16-bit image buffer"]
3894 pub fn dc1394_bayer_decoding_16bit(
3895 bayer: *const u16,
3896 rgb: *mut u16,
3897 width: u32,
3898 height: u32,
3899 tile: dc1394color_filter_t::Type,
3900 method: dc1394bayer_method_t::Type,
3901 bits: u32,
3902 ) -> dc1394error_t::Type;
3903}
3904extern "C" {
3905 #[doc = " Converts the format of a video frame."]
3906 #[doc = ""]
3907 #[doc = " To set the format of the output, simply set the values of the corresponding fields in the output frame"]
3908 pub fn dc1394_convert_frames(
3909 in_: *mut dc1394video_frame_t,
3910 out: *mut dc1394video_frame_t,
3911 ) -> dc1394error_t::Type;
3912}
3913extern "C" {
3914 #[doc = " De-mosaicing of a Bayer-encoded video frame"]
3915 #[doc = ""]
3916 #[doc = " To set the format of the output, simply set the values of the corresponding fields in the output frame"]
3917 #[doc = " @param in is a pointer to the bayer video frame that is to be converted"]
3918 #[doc = " @param out is a pointer to the frame to be converted to. If there is memory allocated to the image field,"]
3919 #[doc = " then it will be adjusted accordingly by this function. If there is no memory allocated to the image"]
3920 #[doc = " field, then ensure that out->image == NULL and out->allocated_image_bytes == 0"]
3921 #[doc = " @param method is the bayer method to interpolate the frame."]
3922 pub fn dc1394_debayer_frames(
3923 in_: *mut dc1394video_frame_t,
3924 out: *mut dc1394video_frame_t,
3925 method: dc1394bayer_method_t::Type,
3926 ) -> dc1394error_t::Type;
3927}
3928extern "C" {
3929 #[doc = " De-interlacing of stereo data for cideo frames"]
3930 #[doc = ""]
3931 #[doc = " To set the format of the output, simply set the values of the corresponding fields in the output frame"]
3932 pub fn dc1394_deinterlace_stereo_frames(
3933 in_: *mut dc1394video_frame_t,
3934 out: *mut dc1394video_frame_t,
3935 method: dc1394stereo_method_t::Type,
3936 ) -> dc1394error_t::Type;
3937}
3938#[doc = " A struct containing information about a mode of Format_7, the scalable image format."]
3939#[repr(C)]
3940#[derive(Debug, Copy, Clone)]
3941pub struct __dc1394format7mode_t {
3942 pub present: dc1394bool_t::Type,
3943 pub size_x: u32,
3944 pub size_y: u32,
3945 pub max_size_x: u32,
3946 pub max_size_y: u32,
3947 pub pos_x: u32,
3948 pub pos_y: u32,
3949 pub unit_size_x: u32,
3950 pub unit_size_y: u32,
3951 pub unit_pos_x: u32,
3952 pub unit_pos_y: u32,
3953 pub color_codings: dc1394color_codings_t,
3954 pub color_coding: dc1394color_coding_t::Type,
3955 pub pixnum: u32,
3956 pub packet_size: u32,
3957 pub unit_packet_size: u32,
3958 pub max_packet_size: u32,
3959 pub total_bytes: u64,
3960 pub color_filter: dc1394color_filter_t::Type,
3961}
3962#[test]
3963fn bindgen_test_layout___dc1394format7mode_t() {
3964 assert_eq!(
3965 ::std::mem::size_of::<__dc1394format7mode_t>(),
3966 128usize,
3967 concat!("Size of: ", stringify!(__dc1394format7mode_t))
3968 );
3969 assert_eq!(
3970 ::std::mem::align_of::<__dc1394format7mode_t>(),
3971 8usize,
3972 concat!("Alignment of ", stringify!(__dc1394format7mode_t))
3973 );
3974 assert_eq!(
3975 unsafe { &(*(::std::ptr::null::<__dc1394format7mode_t>())).present as *const _ as usize },
3976 0usize,
3977 concat!(
3978 "Offset of field: ",
3979 stringify!(__dc1394format7mode_t),
3980 "::",
3981 stringify!(present)
3982 )
3983 );
3984 assert_eq!(
3985 unsafe { &(*(::std::ptr::null::<__dc1394format7mode_t>())).size_x as *const _ as usize },
3986 4usize,
3987 concat!(
3988 "Offset of field: ",
3989 stringify!(__dc1394format7mode_t),
3990 "::",
3991 stringify!(size_x)
3992 )
3993 );
3994 assert_eq!(
3995 unsafe { &(*(::std::ptr::null::<__dc1394format7mode_t>())).size_y as *const _ as usize },
3996 8usize,
3997 concat!(
3998 "Offset of field: ",
3999 stringify!(__dc1394format7mode_t),
4000 "::",
4001 stringify!(size_y)
4002 )
4003 );
4004 assert_eq!(
4005 unsafe {
4006 &(*(::std::ptr::null::<__dc1394format7mode_t>())).max_size_x as *const _ as usize
4007 },
4008 12usize,
4009 concat!(
4010 "Offset of field: ",
4011 stringify!(__dc1394format7mode_t),
4012 "::",
4013 stringify!(max_size_x)
4014 )
4015 );
4016 assert_eq!(
4017 unsafe {
4018 &(*(::std::ptr::null::<__dc1394format7mode_t>())).max_size_y as *const _ as usize
4019 },
4020 16usize,
4021 concat!(
4022 "Offset of field: ",
4023 stringify!(__dc1394format7mode_t),
4024 "::",
4025 stringify!(max_size_y)
4026 )
4027 );
4028 assert_eq!(
4029 unsafe { &(*(::std::ptr::null::<__dc1394format7mode_t>())).pos_x as *const _ as usize },
4030 20usize,
4031 concat!(
4032 "Offset of field: ",
4033 stringify!(__dc1394format7mode_t),
4034 "::",
4035 stringify!(pos_x)
4036 )
4037 );
4038 assert_eq!(
4039 unsafe { &(*(::std::ptr::null::<__dc1394format7mode_t>())).pos_y as *const _ as usize },
4040 24usize,
4041 concat!(
4042 "Offset of field: ",
4043 stringify!(__dc1394format7mode_t),
4044 "::",
4045 stringify!(pos_y)
4046 )
4047 );
4048 assert_eq!(
4049 unsafe {
4050 &(*(::std::ptr::null::<__dc1394format7mode_t>())).unit_size_x as *const _ as usize
4051 },
4052 28usize,
4053 concat!(
4054 "Offset of field: ",
4055 stringify!(__dc1394format7mode_t),
4056 "::",
4057 stringify!(unit_size_x)
4058 )
4059 );
4060 assert_eq!(
4061 unsafe {
4062 &(*(::std::ptr::null::<__dc1394format7mode_t>())).unit_size_y as *const _ as usize
4063 },
4064 32usize,
4065 concat!(
4066 "Offset of field: ",
4067 stringify!(__dc1394format7mode_t),
4068 "::",
4069 stringify!(unit_size_y)
4070 )
4071 );
4072 assert_eq!(
4073 unsafe {
4074 &(*(::std::ptr::null::<__dc1394format7mode_t>())).unit_pos_x as *const _ as usize
4075 },
4076 36usize,
4077 concat!(
4078 "Offset of field: ",
4079 stringify!(__dc1394format7mode_t),
4080 "::",
4081 stringify!(unit_pos_x)
4082 )
4083 );
4084 assert_eq!(
4085 unsafe {
4086 &(*(::std::ptr::null::<__dc1394format7mode_t>())).unit_pos_y as *const _ as usize
4087 },
4088 40usize,
4089 concat!(
4090 "Offset of field: ",
4091 stringify!(__dc1394format7mode_t),
4092 "::",
4093 stringify!(unit_pos_y)
4094 )
4095 );
4096 assert_eq!(
4097 unsafe {
4098 &(*(::std::ptr::null::<__dc1394format7mode_t>())).color_codings as *const _ as usize
4099 },
4100 44usize,
4101 concat!(
4102 "Offset of field: ",
4103 stringify!(__dc1394format7mode_t),
4104 "::",
4105 stringify!(color_codings)
4106 )
4107 );
4108 assert_eq!(
4109 unsafe {
4110 &(*(::std::ptr::null::<__dc1394format7mode_t>())).color_coding as *const _ as usize
4111 },
4112 92usize,
4113 concat!(
4114 "Offset of field: ",
4115 stringify!(__dc1394format7mode_t),
4116 "::",
4117 stringify!(color_coding)
4118 )
4119 );
4120 assert_eq!(
4121 unsafe { &(*(::std::ptr::null::<__dc1394format7mode_t>())).pixnum as *const _ as usize },
4122 96usize,
4123 concat!(
4124 "Offset of field: ",
4125 stringify!(__dc1394format7mode_t),
4126 "::",
4127 stringify!(pixnum)
4128 )
4129 );
4130 assert_eq!(
4131 unsafe {
4132 &(*(::std::ptr::null::<__dc1394format7mode_t>())).packet_size as *const _ as usize
4133 },
4134 100usize,
4135 concat!(
4136 "Offset of field: ",
4137 stringify!(__dc1394format7mode_t),
4138 "::",
4139 stringify!(packet_size)
4140 )
4141 );
4142 assert_eq!(
4143 unsafe {
4144 &(*(::std::ptr::null::<__dc1394format7mode_t>())).unit_packet_size as *const _ as usize
4145 },
4146 104usize,
4147 concat!(
4148 "Offset of field: ",
4149 stringify!(__dc1394format7mode_t),
4150 "::",
4151 stringify!(unit_packet_size)
4152 )
4153 );
4154 assert_eq!(
4155 unsafe {
4156 &(*(::std::ptr::null::<__dc1394format7mode_t>())).max_packet_size as *const _ as usize
4157 },
4158 108usize,
4159 concat!(
4160 "Offset of field: ",
4161 stringify!(__dc1394format7mode_t),
4162 "::",
4163 stringify!(max_packet_size)
4164 )
4165 );
4166 assert_eq!(
4167 unsafe {
4168 &(*(::std::ptr::null::<__dc1394format7mode_t>())).total_bytes as *const _ as usize
4169 },
4170 112usize,
4171 concat!(
4172 "Offset of field: ",
4173 stringify!(__dc1394format7mode_t),
4174 "::",
4175 stringify!(total_bytes)
4176 )
4177 );
4178 assert_eq!(
4179 unsafe {
4180 &(*(::std::ptr::null::<__dc1394format7mode_t>())).color_filter as *const _ as usize
4181 },
4182 120usize,
4183 concat!(
4184 "Offset of field: ",
4185 stringify!(__dc1394format7mode_t),
4186 "::",
4187 stringify!(color_filter)
4188 )
4189 );
4190}
4191pub type dc1394format7mode_t = __dc1394format7mode_t;
4192#[doc = " A struct containing the list of Format_7 modes."]
4193#[doc = " FIXME: this may become very big if format_7 pages are used in IIDC 1.32. It would be better to use a \"num\" and an allocated list."]
4194#[repr(C)]
4195#[derive(Debug, Copy, Clone)]
4196pub struct __dc1394format7modeset_t {
4197 pub mode: [dc1394format7mode_t; 8usize],
4198}
4199#[test]
4200fn bindgen_test_layout___dc1394format7modeset_t() {
4201 assert_eq!(
4202 ::std::mem::size_of::<__dc1394format7modeset_t>(),
4203 1024usize,
4204 concat!("Size of: ", stringify!(__dc1394format7modeset_t))
4205 );
4206 assert_eq!(
4207 ::std::mem::align_of::<__dc1394format7modeset_t>(),
4208 8usize,
4209 concat!("Alignment of ", stringify!(__dc1394format7modeset_t))
4210 );
4211 assert_eq!(
4212 unsafe { &(*(::std::ptr::null::<__dc1394format7modeset_t>())).mode as *const _ as usize },
4213 0usize,
4214 concat!(
4215 "Offset of field: ",
4216 stringify!(__dc1394format7modeset_t),
4217 "::",
4218 stringify!(mode)
4219 )
4220 );
4221}
4222pub type dc1394format7modeset_t = __dc1394format7modeset_t;
4223extern "C" {
4224 #[doc = " Gets the maximal image size for a given mode."]
4225 pub fn dc1394_format7_get_max_image_size(
4226 camera: *mut dc1394camera_t,
4227 video_mode: dc1394video_mode_t::Type,
4228 h_size: *mut u32,
4229 v_size: *mut u32,
4230 ) -> dc1394error_t::Type;
4231}
4232extern "C" {
4233 #[doc = " Gets the unit sizes for a given mode. The image size can only be a multiple of the unit size, and cannot be smaller than it."]
4234 pub fn dc1394_format7_get_unit_size(
4235 camera: *mut dc1394camera_t,
4236 video_mode: dc1394video_mode_t::Type,
4237 h_unit: *mut u32,
4238 v_unit: *mut u32,
4239 ) -> dc1394error_t::Type;
4240}
4241extern "C" {
4242 #[doc = " Gets the current image size."]
4243 pub fn dc1394_format7_get_image_size(
4244 camera: *mut dc1394camera_t,
4245 video_mode: dc1394video_mode_t::Type,
4246 width: *mut u32,
4247 height: *mut u32,
4248 ) -> dc1394error_t::Type;
4249}
4250extern "C" {
4251 #[doc = " Sets the current image size"]
4252 pub fn dc1394_format7_set_image_size(
4253 camera: *mut dc1394camera_t,
4254 video_mode: dc1394video_mode_t::Type,
4255 width: u32,
4256 height: u32,
4257 ) -> dc1394error_t::Type;
4258}
4259extern "C" {
4260 #[doc = " Gets the current image position"]
4261 pub fn dc1394_format7_get_image_position(
4262 camera: *mut dc1394camera_t,
4263 video_mode: dc1394video_mode_t::Type,
4264 left: *mut u32,
4265 top: *mut u32,
4266 ) -> dc1394error_t::Type;
4267}
4268extern "C" {
4269 #[doc = " Sets the current image position"]
4270 pub fn dc1394_format7_set_image_position(
4271 camera: *mut dc1394camera_t,
4272 video_mode: dc1394video_mode_t::Type,
4273 left: u32,
4274 top: u32,
4275 ) -> dc1394error_t::Type;
4276}
4277extern "C" {
4278 #[doc = " Gets the unit positions for a given mode. The image position can only be a multiple of the unit position (zero is acceptable)."]
4279 pub fn dc1394_format7_get_unit_position(
4280 camera: *mut dc1394camera_t,
4281 video_mode: dc1394video_mode_t::Type,
4282 h_unit_pos: *mut u32,
4283 v_unit_pos: *mut u32,
4284 ) -> dc1394error_t::Type;
4285}
4286extern "C" {
4287 #[doc = " Gets the current color coding"]
4288 pub fn dc1394_format7_get_color_coding(
4289 camera: *mut dc1394camera_t,
4290 video_mode: dc1394video_mode_t::Type,
4291 color_coding: *mut dc1394color_coding_t::Type,
4292 ) -> dc1394error_t::Type;
4293}
4294extern "C" {
4295 #[doc = " Gets the list of color codings available for this mode"]
4296 pub fn dc1394_format7_get_color_codings(
4297 camera: *mut dc1394camera_t,
4298 video_mode: dc1394video_mode_t::Type,
4299 codings: *mut dc1394color_codings_t,
4300 ) -> dc1394error_t::Type;
4301}
4302extern "C" {
4303 #[doc = " Sets the current color coding"]
4304 pub fn dc1394_format7_set_color_coding(
4305 camera: *mut dc1394camera_t,
4306 video_mode: dc1394video_mode_t::Type,
4307 color_coding: dc1394color_coding_t::Type,
4308 ) -> dc1394error_t::Type;
4309}
4310extern "C" {
4311 #[doc = " Gets the current color filter"]
4312 pub fn dc1394_format7_get_color_filter(
4313 camera: *mut dc1394camera_t,
4314 video_mode: dc1394video_mode_t::Type,
4315 color_filter: *mut dc1394color_filter_t::Type,
4316 ) -> dc1394error_t::Type;
4317}
4318extern "C" {
4319 #[doc = " Get the parameters of the packet size: its maximal size and its unit size. The packet size is always a multiple of the unit bytes and cannot be zero."]
4320 pub fn dc1394_format7_get_packet_parameters(
4321 camera: *mut dc1394camera_t,
4322 video_mode: dc1394video_mode_t::Type,
4323 unit_bytes: *mut u32,
4324 max_bytes: *mut u32,
4325 ) -> dc1394error_t::Type;
4326}
4327extern "C" {
4328 #[doc = " Gets the current packet size"]
4329 pub fn dc1394_format7_get_packet_size(
4330 camera: *mut dc1394camera_t,
4331 video_mode: dc1394video_mode_t::Type,
4332 packet_size: *mut u32,
4333 ) -> dc1394error_t::Type;
4334}
4335extern "C" {
4336 #[doc = " Sets the current packet size"]
4337 pub fn dc1394_format7_set_packet_size(
4338 camera: *mut dc1394camera_t,
4339 video_mode: dc1394video_mode_t::Type,
4340 packet_size: u32,
4341 ) -> dc1394error_t::Type;
4342}
4343extern "C" {
4344 #[doc = " Gets the recommended packet size. Ignore if zero."]
4345 pub fn dc1394_format7_get_recommended_packet_size(
4346 camera: *mut dc1394camera_t,
4347 video_mode: dc1394video_mode_t::Type,
4348 packet_size: *mut u32,
4349 ) -> dc1394error_t::Type;
4350}
4351extern "C" {
4352 #[doc = " Gets the number of packets per frame."]
4353 pub fn dc1394_format7_get_packets_per_frame(
4354 camera: *mut dc1394camera_t,
4355 video_mode: dc1394video_mode_t::Type,
4356 ppf: *mut u32,
4357 ) -> dc1394error_t::Type;
4358}
4359extern "C" {
4360 #[doc = " Gets the data depth (e.g. 12, 13, 14 bits/pixel)"]
4361 pub fn dc1394_format7_get_data_depth(
4362 camera: *mut dc1394camera_t,
4363 video_mode: dc1394video_mode_t::Type,
4364 data_depth: *mut u32,
4365 ) -> dc1394error_t::Type;
4366}
4367extern "C" {
4368 #[doc = " Gets the frame interval in float format"]
4369 pub fn dc1394_format7_get_frame_interval(
4370 camera: *mut dc1394camera_t,
4371 video_mode: dc1394video_mode_t::Type,
4372 interval: *mut f32,
4373 ) -> dc1394error_t::Type;
4374}
4375extern "C" {
4376 #[doc = " Gets the number of pixels per image frame"]
4377 pub fn dc1394_format7_get_pixel_number(
4378 camera: *mut dc1394camera_t,
4379 video_mode: dc1394video_mode_t::Type,
4380 pixnum: *mut u32,
4381 ) -> dc1394error_t::Type;
4382}
4383extern "C" {
4384 #[doc = " Get the total number of bytes per frame. This includes padding (to reach an entire number of packets)"]
4385 pub fn dc1394_format7_get_total_bytes(
4386 camera: *mut dc1394camera_t,
4387 video_mode: dc1394video_mode_t::Type,
4388 total_bytes: *mut u64,
4389 ) -> dc1394error_t::Type;
4390}
4391extern "C" {
4392 #[doc = " Gets the properties of all Format_7 modes supported by the camera."]
4393 pub fn dc1394_format7_get_modeset(
4394 camera: *mut dc1394camera_t,
4395 info: *mut dc1394format7modeset_t,
4396 ) -> dc1394error_t::Type;
4397}
4398extern "C" {
4399 #[doc = " Gets the properties of a Format_7 mode"]
4400 pub fn dc1394_format7_get_mode_info(
4401 camera: *mut dc1394camera_t,
4402 video_mode: dc1394video_mode_t::Type,
4403 f7_mode: *mut dc1394format7mode_t,
4404 ) -> dc1394error_t::Type;
4405}
4406extern "C" {
4407 #[doc = " Joint function that fully sets a certain ROI taking all parameters into account."]
4408 #[doc = " Note that this function does not SWITCH to the video mode passed as argument, it mearly sets it"]
4409 pub fn dc1394_format7_set_roi(
4410 camera: *mut dc1394camera_t,
4411 video_mode: dc1394video_mode_t::Type,
4412 color_coding: dc1394color_coding_t::Type,
4413 packet_size: i32,
4414 left: i32,
4415 top: i32,
4416 width: i32,
4417 height: i32,
4418 ) -> dc1394error_t::Type;
4419}
4420extern "C" {
4421 #[doc = " Joint function that fully gets a certain ROI taking all parameters into account."]
4422 pub fn dc1394_format7_get_roi(
4423 camera: *mut dc1394camera_t,
4424 video_mode: dc1394video_mode_t::Type,
4425 color_coding: *mut dc1394color_coding_t::Type,
4426 packet_size: *mut u32,
4427 left: *mut u32,
4428 top: *mut u32,
4429 width: *mut u32,
4430 height: *mut u32,
4431 ) -> dc1394error_t::Type;
4432}
4433extern "C" {
4434 #[doc = " dc1394_iso_set_persist"]
4435 #[doc = " @param camera A camera handle."]
4436 #[doc = ""]
4437 #[doc = " Calling this function will cause isochronous channel and bandwidth"]
4438 #[doc = " allocations to persist beyond the lifetime of this dc1394camera_t"]
4439 #[doc = " instance. Normally (when this function is not called), any allocations"]
4440 #[doc = " would be automatically released upon freeing this camera or a"]
4441 #[doc = " premature shutdown of the application (if possible). For this function"]
4442 #[doc = " to be used, it must be called prior to any allocations or an error will"]
4443 #[doc = " be returned."]
4444 #[doc = ""]
4445 #[doc = " @return \\a DC1394_SUCCESS if the operation succeeded."]
4446 #[doc = " \\a DC1394_FUNCTION_NOT_SUPPORTED if the current platform/driver does not"]
4447 #[doc = " allow persistent allocations."]
4448 pub fn dc1394_iso_set_persist(camera: *mut dc1394camera_t) -> dc1394error_t::Type;
4449}
4450extern "C" {
4451 #[doc = " dc1394_iso_allocate_channel:"]
4452 #[doc = " @param camera A camera handle."]
4453 #[doc = " @param channels_allowed A bitmask of acceptable channels for the allocation."]
4454 #[doc = " The LSB corresponds to channel 0 and the MSB corresponds to channel"]
4455 #[doc = " 63. Only channels whose bit is set will be considered for the allocation."]
4456 #[doc = " If \\a channels_allowed = 0, the complete set of channels supported by"]
4457 #[doc = " this camera will be considered for the allocation."]
4458 #[doc = " @param channel The allocated channel number is returned here."]
4459 #[doc = ""]
4460 #[doc = " Allocates an isochronous channel. This"]
4461 #[doc = " function may be called multiple times, each time allocating an additional"]
4462 #[doc = " channel. The channel is automatically re-allocated if there is a bus"]
4463 #[doc = " reset. The channel is automatically released when this dc1394camera_t"]
4464 #[doc = " is freed or if the application shuts down prematurely. If the channel"]
4465 #[doc = " needs to persist beyond the lifetime of this application, call"]
4466 #[doc = " \\a dc1394_iso_set_persist() first. Note that this function does _not_"]
4467 #[doc = " automatically program @a camera to use the allocated channel for isochronous"]
4468 #[doc = " streaming. You must do that manually using \\a dc1394_video_set_iso_channel()."]
4469 #[doc = ""]
4470 #[doc = " @return \\a DC1394_SUCCESS if the operation succeeded. The allocated"]
4471 #[doc = " channel is stored in \\a channel. \\a DC1394_FUNCTION_NOT_SUPPORTED if the"]
4472 #[doc = " current driver/platform does not allow channel allocation."]
4473 #[doc = " \\a DC1394_NO_ISO_CHANNEL if none of the requested channels are available."]
4474 pub fn dc1394_iso_allocate_channel(
4475 camera: *mut dc1394camera_t,
4476 channels_allowed: u64,
4477 channel: *mut ::std::os::raw::c_int,
4478 ) -> dc1394error_t::Type;
4479}
4480extern "C" {
4481 #[doc = " dc1394_iso_release_channel:"]
4482 #[doc = " @param camera A camera handle."]
4483 #[doc = " @param channel The channel number to release."]
4484 #[doc = ""]
4485 #[doc = " Releases a previously allocated channel. It is acceptable to release"]
4486 #[doc = " channels that were allocated by a different process or host. If"]
4487 #[doc = " attempting to release a channel that is already released, the function"]
4488 #[doc = " will succeed."]
4489 #[doc = ""]
4490 #[doc = " @return \\a DC1394_SUCCESS if the operation succeeded."]
4491 #[doc = " \\a DC1394_FUNCTION_NOT_SUPPORTED if the current driver/platform does not"]
4492 #[doc = " allow channel release."]
4493 pub fn dc1394_iso_release_channel(
4494 camera: *mut dc1394camera_t,
4495 channel: ::std::os::raw::c_int,
4496 ) -> dc1394error_t::Type;
4497}
4498extern "C" {
4499 #[doc = " dc1394_iso_allocate_bandwidth:"]
4500 #[doc = " @param camera A camera handle."]
4501 #[doc = " @param bandwidth_units The number of isochronous bandwidth units to allocate."]
4502 #[doc = ""]
4503 #[doc = " Allocates isochronous bandwidth. This functions allocates bandwidth"]
4504 #[doc = " _in addition_ to any previous allocations. It may be called multiple"]
4505 #[doc = " times. The bandwidth is automatically re-allocated if there is a bus"]
4506 #[doc = " reset. The bandwidth is automatically released if this camera is freed"]
4507 #[doc = " or the application shuts down prematurely. If the bandwidth needs to"]
4508 #[doc = " persist beyond the lifetime of this application, call"]
4509 #[doc = " \\a dc1394_iso_set_persist() first."]
4510 #[doc = ""]
4511 #[doc = " @return \\a DC1394_SUCCESS if the operation succeeded."]
4512 #[doc = " \\a DC1394_FUNCTION_NOT_SUPPORTED if the current driver/platform does not"]
4513 #[doc = " allow bandwidth allocation. \\a DC1394_NO_BANDWIDTH if there is not enough"]
4514 #[doc = " available bandwidth to support the allocation. In this case,"]
4515 #[doc = " no bandwidth is allocated."]
4516 pub fn dc1394_iso_allocate_bandwidth(
4517 camera: *mut dc1394camera_t,
4518 bandwidth_units: ::std::os::raw::c_int,
4519 ) -> dc1394error_t::Type;
4520}
4521extern "C" {
4522 #[doc = " dc1394_iso_release_bandwidth:"]
4523 #[doc = " @param camera A camera handle."]
4524 #[doc = " @param bandwidth_units The number of isochronous bandwidth units to free."]
4525 #[doc = ""]
4526 #[doc = " Releases previously allocated isochronous bandwidth. Each \\a dc1394camera_t"]
4527 #[doc = " keeps track of a running total of bandwidth that has been allocated."]
4528 #[doc = " Released bandwidth is subtracted from this total for the sake of"]
4529 #[doc = " automatic re-allocation and automatic release on shutdown. It is also"]
4530 #[doc = " acceptable for a camera to release more bandwidth than it has allocated"]
4531 #[doc = " (to clean up for another process for example). In this case, the"]
4532 #[doc = " running total of bandwidth is not affected. It is acceptable to"]
4533 #[doc = " release more bandwidth than is allocated in total for the bus. In this"]
4534 #[doc = " case, all bandwidth is released and the function succeeds."]
4535 #[doc = ""]
4536 #[doc = " @return \\a DC1394_SUCCESS if the operation succeeded."]
4537 #[doc = " \\a DC1394_FUNCTION_NOT_SUPPORTED if the current driver/platform does not"]
4538 #[doc = " allow bandwidth release."]
4539 pub fn dc1394_iso_release_bandwidth(
4540 camera: *mut dc1394camera_t,
4541 bandwidth_units: ::std::os::raw::c_int,
4542 ) -> dc1394error_t::Type;
4543}
4544extern "C" {
4545 #[doc = " dc1394_iso_release_all:"]
4546 #[doc = " @param camera A camera handle."]
4547 #[doc = ""]
4548 #[doc = " Releases all channels and bandwidth that have been previously allocated"]
4549 #[doc = " for this dc1394camera_t. Note that this information can only be tracked"]
4550 #[doc = " per process, and there is no knowledge of allocations for this camera"]
4551 #[doc = " by previous processes. To release resources in such a case, the manual"]
4552 #[doc = " release functions \\a dc1394_iso_release_channel() and"]
4553 #[doc = " \\a dc1394_iso_release_bandwidth() must be used."]
4554 #[doc = ""]
4555 #[doc = " @return \\a DC1394_SUCCESS if the operation succeeded. \\a DC1394_FAILURE"]
4556 #[doc = " if some resources were not able to be released."]
4557 pub fn dc1394_iso_release_all(camera: *mut dc1394camera_t) -> dc1394error_t::Type;
4558}
4559extern "C" {
4560 #[doc = " No Docs"]
4561 pub fn dc1394_get_registers(
4562 camera: *mut dc1394camera_t,
4563 offset: u64,
4564 value: *mut u32,
4565 num_regs: u32,
4566 ) -> dc1394error_t::Type;
4567}
4568extern "C" {
4569 #[doc = " No Docs"]
4570 pub fn dc1394_set_registers(
4571 camera: *mut dc1394camera_t,
4572 offset: u64,
4573 value: *const u32,
4574 num_regs: u32,
4575 ) -> dc1394error_t::Type;
4576}
4577extern "C" {
4578 #[doc = " No Docs"]
4579 pub fn dc1394_get_control_registers(
4580 camera: *mut dc1394camera_t,
4581 offset: u64,
4582 value: *mut u32,
4583 num_regs: u32,
4584 ) -> dc1394error_t::Type;
4585}
4586extern "C" {
4587 #[doc = " No Docs"]
4588 pub fn dc1394_set_control_registers(
4589 camera: *mut dc1394camera_t,
4590 offset: u64,
4591 value: *const u32,
4592 num_regs: u32,
4593 ) -> dc1394error_t::Type;
4594}
4595extern "C" {
4596 #[doc = " No Docs"]
4597 pub fn dc1394_get_adv_control_registers(
4598 camera: *mut dc1394camera_t,
4599 offset: u64,
4600 value: *mut u32,
4601 num_regs: u32,
4602 ) -> dc1394error_t::Type;
4603}
4604extern "C" {
4605 #[doc = " No Docs"]
4606 pub fn dc1394_set_adv_control_registers(
4607 camera: *mut dc1394camera_t,
4608 offset: u64,
4609 value: *const u32,
4610 num_regs: u32,
4611 ) -> dc1394error_t::Type;
4612}
4613extern "C" {
4614 #[doc = " No Docs"]
4615 pub fn dc1394_get_format7_register(
4616 camera: *mut dc1394camera_t,
4617 mode: ::std::os::raw::c_uint,
4618 offset: u64,
4619 value: *mut u32,
4620 ) -> dc1394error_t::Type;
4621}
4622extern "C" {
4623 #[doc = " No Docs"]
4624 pub fn dc1394_set_format7_register(
4625 camera: *mut dc1394camera_t,
4626 mode: ::std::os::raw::c_uint,
4627 offset: u64,
4628 value: u32,
4629 ) -> dc1394error_t::Type;
4630}
4631extern "C" {
4632 #[doc = " No Docs"]
4633 pub fn dc1394_get_absolute_register(
4634 camera: *mut dc1394camera_t,
4635 feature: ::std::os::raw::c_uint,
4636 offset: u64,
4637 value: *mut u32,
4638 ) -> dc1394error_t::Type;
4639}
4640extern "C" {
4641 #[doc = " No Docs"]
4642 pub fn dc1394_set_absolute_register(
4643 camera: *mut dc1394camera_t,
4644 feature: ::std::os::raw::c_uint,
4645 offset: u64,
4646 value: u32,
4647 ) -> dc1394error_t::Type;
4648}
4649extern "C" {
4650 #[doc = " No Docs"]
4651 pub fn dc1394_get_PIO_register(
4652 camera: *mut dc1394camera_t,
4653 offset: u64,
4654 value: *mut u32,
4655 ) -> dc1394error_t::Type;
4656}
4657extern "C" {
4658 #[doc = " No Docs"]
4659 pub fn dc1394_set_PIO_register(
4660 camera: *mut dc1394camera_t,
4661 offset: u64,
4662 value: u32,
4663 ) -> dc1394error_t::Type;
4664}
4665extern "C" {
4666 #[doc = " No Docs"]
4667 pub fn dc1394_get_SIO_register(
4668 camera: *mut dc1394camera_t,
4669 offset: u64,
4670 value: *mut u32,
4671 ) -> dc1394error_t::Type;
4672}
4673extern "C" {
4674 #[doc = " No Docs"]
4675 pub fn dc1394_set_SIO_register(
4676 camera: *mut dc1394camera_t,
4677 offset: u64,
4678 value: u32,
4679 ) -> dc1394error_t::Type;
4680}
4681extern "C" {
4682 #[doc = " No Docs"]
4683 pub fn dc1394_get_strobe_register(
4684 camera: *mut dc1394camera_t,
4685 offset: u64,
4686 value: *mut u32,
4687 ) -> dc1394error_t::Type;
4688}
4689extern "C" {
4690 #[doc = " No Docs"]
4691 pub fn dc1394_set_strobe_register(
4692 camera: *mut dc1394camera_t,
4693 offset: u64,
4694 value: u32,
4695 ) -> dc1394error_t::Type;
4696}
4697extern "C" {
4698 #[doc = " Returns the image width and height (in pixels) corresponding to a video mode. Works for scalable and non-scalable video modes."]
4699 pub fn dc1394_get_image_size_from_video_mode(
4700 camera: *mut dc1394camera_t,
4701 video_mode: u32,
4702 width: *mut u32,
4703 height: *mut u32,
4704 ) -> dc1394error_t::Type;
4705}
4706extern "C" {
4707 #[doc = " Returns the given framerate as a float."]
4708 pub fn dc1394_framerate_as_float(
4709 framerate_enum: dc1394framerate_t::Type,
4710 framerate: *mut f32,
4711 ) -> dc1394error_t::Type;
4712}
4713extern "C" {
4714 #[doc = " Returns the number of bits per pixel for a certain color coding. This is the size of the data sent on the bus, the effective"]
4715 #[doc = " data depth may vary. Example: RGB16 is 16, YUV411 is 8, YUV422 is 8."]
4716 pub fn dc1394_get_color_coding_data_depth(
4717 color_coding: dc1394color_coding_t::Type,
4718 bits: *mut u32,
4719 ) -> dc1394error_t::Type;
4720}
4721extern "C" {
4722 #[doc = " Returns the bit-space used by a pixel. This is different from the data depth! For instance, RGB16 has a bit space of 48 bits,"]
4723 #[doc = " YUV422 is 16bits and YU411 is 12bits."]
4724 pub fn dc1394_get_color_coding_bit_size(
4725 color_coding: dc1394color_coding_t::Type,
4726 bits: *mut u32,
4727 ) -> dc1394error_t::Type;
4728}
4729extern "C" {
4730 #[doc = " Returns the color coding from the video mode. Works with scalable image formats too."]
4731 pub fn dc1394_get_color_coding_from_video_mode(
4732 camera: *mut dc1394camera_t,
4733 video_mode: dc1394video_mode_t::Type,
4734 color_coding: *mut dc1394color_coding_t::Type,
4735 ) -> dc1394error_t::Type;
4736}
4737extern "C" {
4738 #[doc = " Tells whether the color mode is color or monochrome"]
4739 pub fn dc1394_is_color(
4740 color_mode: dc1394color_coding_t::Type,
4741 is_color: *mut dc1394bool_t::Type,
4742 ) -> dc1394error_t::Type;
4743}
4744extern "C" {
4745 #[doc = " Tells whether the video mode is scalable or not."]
4746 pub fn dc1394_is_video_mode_scalable(
4747 video_mode: dc1394video_mode_t::Type,
4748 ) -> dc1394bool_t::Type;
4749}
4750extern "C" {
4751 #[doc = " Tells whether the video mode is \"still image\" or not (\"still image\" is currently not supported by any cameras on the market)"]
4752 pub fn dc1394_is_video_mode_still_image(
4753 video_mode: dc1394video_mode_t::Type,
4754 ) -> dc1394bool_t::Type;
4755}
4756extern "C" {
4757 #[doc = " Tells whether two IDs refer to the same physical camera unit."]
4758 pub fn dc1394_is_same_camera(
4759 id1: dc1394camera_id_t,
4760 id2: dc1394camera_id_t,
4761 ) -> dc1394bool_t::Type;
4762}
4763extern "C" {
4764 #[doc = " Returns a descriptive name for a feature"]
4765 pub fn dc1394_feature_get_string(
4766 feature: dc1394feature_t::Type,
4767 ) -> *const ::std::os::raw::c_char;
4768}
4769extern "C" {
4770 #[doc = " Returns a descriptive string for an error code"]
4771 pub fn dc1394_error_get_string(error: dc1394error_t::Type) -> *const ::std::os::raw::c_char;
4772}
4773extern "C" {
4774 #[doc = " Calculates the CRC16 checksum of a memory region. Useful to verify the CRC of an image buffer, for instance."]
4775 pub fn dc1394_checksum_crc16(buffer: *const u8, buffer_size: u32) -> u16;
4776}
4777pub type __builtin_va_list = [__va_list_tag; 1usize];
4778#[repr(C)]
4779#[derive(Debug, Copy, Clone)]
4780pub struct __va_list_tag {
4781 pub gp_offset: ::std::os::raw::c_uint,
4782 pub fp_offset: ::std::os::raw::c_uint,
4783 pub overflow_arg_area: *mut ::std::os::raw::c_void,
4784 pub reg_save_area: *mut ::std::os::raw::c_void,
4785}
4786#[test]
4787fn bindgen_test_layout___va_list_tag() {
4788 assert_eq!(
4789 ::std::mem::size_of::<__va_list_tag>(),
4790 24usize,
4791 concat!("Size of: ", stringify!(__va_list_tag))
4792 );
4793 assert_eq!(
4794 ::std::mem::align_of::<__va_list_tag>(),
4795 8usize,
4796 concat!("Alignment of ", stringify!(__va_list_tag))
4797 );
4798 assert_eq!(
4799 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
4800 0usize,
4801 concat!(
4802 "Offset of field: ",
4803 stringify!(__va_list_tag),
4804 "::",
4805 stringify!(gp_offset)
4806 )
4807 );
4808 assert_eq!(
4809 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
4810 4usize,
4811 concat!(
4812 "Offset of field: ",
4813 stringify!(__va_list_tag),
4814 "::",
4815 stringify!(fp_offset)
4816 )
4817 );
4818 assert_eq!(
4819 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize },
4820 8usize,
4821 concat!(
4822 "Offset of field: ",
4823 stringify!(__va_list_tag),
4824 "::",
4825 stringify!(overflow_arg_area)
4826 )
4827 );
4828 assert_eq!(
4829 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
4830 16usize,
4831 concat!(
4832 "Offset of field: ",
4833 stringify!(__va_list_tag),
4834 "::",
4835 stringify!(reg_save_area)
4836 )
4837 );
4838}