libflycapture2_sys/
lib.rs

1/* automatically generated by rust-bindgen */
2
3#![allow(dead_code,
4         non_camel_case_types,
5         non_upper_case_globals,
6         non_snake_case)]
7pub type size_t = usize;
8pub type wchar_t = ::std::os::raw::c_int;
9#[derive(Copy, Clone)]
10#[repr(u32)]
11#[derive(Debug)]
12pub enum idtype_t { P_ALL = 0, P_PID = 1, P_PGID = 2, }
13pub type __u_char = ::std::os::raw::c_uchar;
14pub type __u_short = ::std::os::raw::c_ushort;
15pub type __u_int = ::std::os::raw::c_uint;
16pub type __u_long = ::std::os::raw::c_ulong;
17pub type __int8_t = ::std::os::raw::c_char;
18pub type __uint8_t = ::std::os::raw::c_uchar;
19pub type __int16_t = ::std::os::raw::c_short;
20pub type __uint16_t = ::std::os::raw::c_ushort;
21pub type __int32_t = ::std::os::raw::c_int;
22pub type __uint32_t = ::std::os::raw::c_uint;
23pub type __int64_t = ::std::os::raw::c_long;
24pub type __uint64_t = ::std::os::raw::c_ulong;
25pub type __quad_t = ::std::os::raw::c_long;
26pub type __u_quad_t = ::std::os::raw::c_ulong;
27pub type __dev_t = ::std::os::raw::c_ulong;
28pub type __uid_t = ::std::os::raw::c_uint;
29pub type __gid_t = ::std::os::raw::c_uint;
30pub type __ino_t = ::std::os::raw::c_ulong;
31pub type __ino64_t = ::std::os::raw::c_ulong;
32pub type __mode_t = ::std::os::raw::c_uint;
33pub type __nlink_t = ::std::os::raw::c_ulong;
34pub type __off_t = ::std::os::raw::c_long;
35pub type __off64_t = ::std::os::raw::c_long;
36pub type __pid_t = ::std::os::raw::c_int;
37#[repr(C)]
38#[derive(Copy, Clone)]
39#[derive(Debug)]
40pub struct __fsid_t {
41    pub __val: [::std::os::raw::c_int; 2usize],
42}
43impl ::std::default::Default for __fsid_t {
44    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
45}
46pub type __clock_t = ::std::os::raw::c_long;
47pub type __rlim_t = ::std::os::raw::c_ulong;
48pub type __rlim64_t = ::std::os::raw::c_ulong;
49pub type __id_t = ::std::os::raw::c_uint;
50pub type __time_t = ::std::os::raw::c_long;
51pub type __useconds_t = ::std::os::raw::c_uint;
52pub type __suseconds_t = ::std::os::raw::c_long;
53pub type __daddr_t = ::std::os::raw::c_int;
54pub type __key_t = ::std::os::raw::c_int;
55pub type __clockid_t = ::std::os::raw::c_int;
56pub type __timer_t = *mut ::std::os::raw::c_void;
57pub type __blksize_t = ::std::os::raw::c_long;
58pub type __blkcnt_t = ::std::os::raw::c_long;
59pub type __blkcnt64_t = ::std::os::raw::c_long;
60pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
61pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
62pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
63pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
64pub type __fsword_t = ::std::os::raw::c_long;
65pub type __ssize_t = ::std::os::raw::c_long;
66pub type __syscall_slong_t = ::std::os::raw::c_long;
67pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
68pub type __loff_t = __off64_t;
69pub type __qaddr_t = *mut __quad_t;
70pub type __caddr_t = *mut ::std::os::raw::c_char;
71pub type __intptr_t = ::std::os::raw::c_long;
72pub type __socklen_t = ::std::os::raw::c_uint;
73#[repr(C)]
74#[derive(Copy, Clone)]
75#[derive(Debug)]
76pub struct wait {
77    pub _bindgen_data_: [u32; 1usize],
78}
79impl wait {
80    pub unsafe fn w_status(&mut self) -> *mut ::std::os::raw::c_int {
81        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
82        ::std::mem::transmute(raw.offset(0))
83    }
84    pub unsafe fn __wait_terminated(&mut self) -> *mut Struct_Unnamed1 {
85        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
86        ::std::mem::transmute(raw.offset(0))
87    }
88    pub unsafe fn __wait_stopped(&mut self) -> *mut Struct_Unnamed2 {
89        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
90        ::std::mem::transmute(raw.offset(0))
91    }
92}
93impl ::std::default::Default for wait {
94    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
95}
96#[repr(C)]
97#[derive(Copy, Clone)]
98#[derive(Debug)]
99pub struct Struct_Unnamed1 {
100    pub _bindgen_bitfield_1_: ::std::os::raw::c_uint,
101}
102impl ::std::default::Default for Struct_Unnamed1 {
103    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
104}
105#[repr(C)]
106#[derive(Copy, Clone)]
107#[derive(Debug)]
108pub struct Struct_Unnamed2 {
109    pub _bindgen_bitfield_1_: ::std::os::raw::c_uint,
110}
111impl ::std::default::Default for Struct_Unnamed2 {
112    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
113}
114#[repr(C)]
115#[derive(Copy, Clone)]
116#[derive(Debug)]
117pub struct __WAIT_STATUS {
118    pub _bindgen_data_: [u64; 1usize],
119}
120impl __WAIT_STATUS {
121    pub unsafe fn __uptr(&mut self) -> *mut *mut wait {
122        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
123        ::std::mem::transmute(raw.offset(0))
124    }
125    pub unsafe fn __iptr(&mut self) -> *mut *mut ::std::os::raw::c_int {
126        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
127        ::std::mem::transmute(raw.offset(0))
128    }
129}
130impl ::std::default::Default for __WAIT_STATUS {
131    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
132}
133#[repr(C)]
134#[derive(Copy, Clone)]
135#[derive(Debug)]
136pub struct div_t {
137    pub quot: ::std::os::raw::c_int,
138    pub rem: ::std::os::raw::c_int,
139}
140impl ::std::default::Default for div_t {
141    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
142}
143#[repr(C)]
144#[derive(Copy, Clone)]
145#[derive(Debug)]
146pub struct ldiv_t {
147    pub quot: ::std::os::raw::c_long,
148    pub rem: ::std::os::raw::c_long,
149}
150impl ::std::default::Default for ldiv_t {
151    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
152}
153#[repr(C)]
154#[derive(Copy, Clone)]
155#[derive(Debug)]
156pub struct lldiv_t {
157    pub quot: ::std::os::raw::c_longlong,
158    pub rem: ::std::os::raw::c_longlong,
159}
160impl ::std::default::Default for lldiv_t {
161    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
162}
163pub type u_char = __u_char;
164pub type u_short = __u_short;
165pub type u_int = __u_int;
166pub type u_long = __u_long;
167pub type quad_t = __quad_t;
168pub type u_quad_t = __u_quad_t;
169pub type fsid_t = __fsid_t;
170pub type loff_t = __loff_t;
171pub type ino_t = __ino_t;
172pub type dev_t = __dev_t;
173pub type gid_t = __gid_t;
174pub type mode_t = __mode_t;
175pub type nlink_t = __nlink_t;
176pub type uid_t = __uid_t;
177pub type off_t = __off_t;
178pub type pid_t = __pid_t;
179pub type id_t = __id_t;
180pub type ssize_t = isize;
181pub type daddr_t = __daddr_t;
182pub type caddr_t = __caddr_t;
183pub type key_t = __key_t;
184pub type clock_t = __clock_t;
185pub type time_t = __time_t;
186pub type clockid_t = __clockid_t;
187pub type timer_t = __timer_t;
188pub type ulong = ::std::os::raw::c_ulong;
189pub type ushort = ::std::os::raw::c_ushort;
190pub type uint_ = ::std::os::raw::c_uint;
191pub type int8_t = i8;
192pub type int16_t = i16;
193pub type int32_t = i32;
194pub type int64_t = i64;
195pub type u_int8_t = ::std::os::raw::c_uchar;
196pub type u_int16_t = ::std::os::raw::c_ushort;
197pub type u_int32_t = ::std::os::raw::c_uint;
198pub type u_int64_t = ::std::os::raw::c_ulong;
199pub type register_t = ::std::os::raw::c_long;
200pub type __sig_atomic_t = ::std::os::raw::c_int;
201#[repr(C)]
202#[derive(Copy, Clone)]
203#[derive(Debug)]
204pub struct __sigset_t {
205    pub __val: [::std::os::raw::c_ulong; 16usize],
206}
207impl ::std::default::Default for __sigset_t {
208    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
209}
210pub type sigset_t = __sigset_t;
211#[repr(C)]
212#[derive(Copy, Clone)]
213#[derive(Debug)]
214pub struct timespec {
215    pub tv_sec: __time_t,
216    pub tv_nsec: __syscall_slong_t,
217}
218impl ::std::default::Default for timespec {
219    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
220}
221#[repr(C)]
222#[derive(Copy, Clone)]
223#[derive(Debug)]
224pub struct timeval {
225    pub tv_sec: __time_t,
226    pub tv_usec: __suseconds_t,
227}
228impl ::std::default::Default for timeval {
229    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
230}
231pub type suseconds_t = __suseconds_t;
232pub type __fd_mask = ::std::os::raw::c_long;
233#[repr(C)]
234#[derive(Copy, Clone)]
235#[derive(Debug)]
236pub struct fd_set {
237    pub __fds_bits: [__fd_mask; 16usize],
238}
239impl ::std::default::Default for fd_set {
240    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
241}
242pub type fd_mask = __fd_mask;
243pub type blksize_t = __blksize_t;
244pub type blkcnt_t = __blkcnt_t;
245pub type fsblkcnt_t = __fsblkcnt_t;
246pub type fsfilcnt_t = __fsfilcnt_t;
247pub type pthread_t = ::std::os::raw::c_ulong;
248#[repr(C)]
249#[derive(Copy)]
250pub struct pthread_attr_t {
251    pub _bindgen_data_: [u64; 7usize],
252}
253impl pthread_attr_t {
254    pub unsafe fn __size(&mut self)
255     -> *mut [::std::os::raw::c_char; 56usize] {
256        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
257        ::std::mem::transmute(raw.offset(0))
258    }
259    pub unsafe fn __align(&mut self) -> *mut ::std::os::raw::c_long {
260        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
261        ::std::mem::transmute(raw.offset(0))
262    }
263}
264impl ::std::clone::Clone for pthread_attr_t {
265    fn clone(&self) -> Self { *self }
266}
267impl ::std::default::Default for pthread_attr_t {
268    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
269}
270#[repr(C)]
271#[derive(Copy, Clone)]
272#[derive(Debug)]
273pub struct __pthread_internal_list {
274    pub __prev: *mut __pthread_internal_list,
275    pub __next: *mut __pthread_internal_list,
276}
277impl ::std::default::Default for __pthread_internal_list {
278    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
279}
280pub type __pthread_list_t = __pthread_internal_list;
281#[repr(C)]
282#[derive(Copy)]
283pub struct pthread_mutex_t {
284    pub _bindgen_data_: [u64; 5usize],
285}
286impl pthread_mutex_t {
287    pub unsafe fn __data(&mut self) -> *mut __pthread_mutex_s {
288        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
289        ::std::mem::transmute(raw.offset(0))
290    }
291    pub unsafe fn __size(&mut self)
292     -> *mut [::std::os::raw::c_char; 40usize] {
293        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
294        ::std::mem::transmute(raw.offset(0))
295    }
296    pub unsafe fn __align(&mut self) -> *mut ::std::os::raw::c_long {
297        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
298        ::std::mem::transmute(raw.offset(0))
299    }
300}
301impl ::std::clone::Clone for pthread_mutex_t {
302    fn clone(&self) -> Self { *self }
303}
304impl ::std::default::Default for pthread_mutex_t {
305    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
306}
307#[repr(C)]
308#[derive(Copy, Clone)]
309#[derive(Debug)]
310pub struct __pthread_mutex_s {
311    pub __lock: ::std::os::raw::c_int,
312    pub __count: ::std::os::raw::c_uint,
313    pub __owner: ::std::os::raw::c_int,
314    pub __nusers: ::std::os::raw::c_uint,
315    pub __kind: ::std::os::raw::c_int,
316    pub __spins: ::std::os::raw::c_short,
317    pub __elision: ::std::os::raw::c_short,
318    pub __list: __pthread_list_t,
319}
320impl ::std::default::Default for __pthread_mutex_s {
321    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
322}
323#[repr(C)]
324#[derive(Copy, Clone)]
325#[derive(Debug)]
326pub struct pthread_mutexattr_t {
327    pub _bindgen_data_: [u32; 1usize],
328}
329impl pthread_mutexattr_t {
330    pub unsafe fn __size(&mut self) -> *mut [::std::os::raw::c_char; 4usize] {
331        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
332        ::std::mem::transmute(raw.offset(0))
333    }
334    pub unsafe fn __align(&mut self) -> *mut ::std::os::raw::c_int {
335        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
336        ::std::mem::transmute(raw.offset(0))
337    }
338}
339impl ::std::default::Default for pthread_mutexattr_t {
340    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
341}
342#[repr(C)]
343#[derive(Copy)]
344pub struct pthread_cond_t {
345    pub _bindgen_data_: [u64; 6usize],
346}
347impl pthread_cond_t {
348    pub unsafe fn __data(&mut self) -> *mut Struct_Unnamed3 {
349        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
350        ::std::mem::transmute(raw.offset(0))
351    }
352    pub unsafe fn __size(&mut self)
353     -> *mut [::std::os::raw::c_char; 48usize] {
354        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
355        ::std::mem::transmute(raw.offset(0))
356    }
357    pub unsafe fn __align(&mut self) -> *mut ::std::os::raw::c_longlong {
358        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
359        ::std::mem::transmute(raw.offset(0))
360    }
361}
362impl ::std::clone::Clone for pthread_cond_t {
363    fn clone(&self) -> Self { *self }
364}
365impl ::std::default::Default for pthread_cond_t {
366    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
367}
368#[repr(C)]
369#[derive(Copy, Clone)]
370#[derive(Debug)]
371pub struct Struct_Unnamed3 {
372    pub __lock: ::std::os::raw::c_int,
373    pub __futex: ::std::os::raw::c_uint,
374    pub __total_seq: ::std::os::raw::c_ulonglong,
375    pub __wakeup_seq: ::std::os::raw::c_ulonglong,
376    pub __woken_seq: ::std::os::raw::c_ulonglong,
377    pub __mutex: *mut ::std::os::raw::c_void,
378    pub __nwaiters: ::std::os::raw::c_uint,
379    pub __broadcast_seq: ::std::os::raw::c_uint,
380}
381impl ::std::default::Default for Struct_Unnamed3 {
382    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
383}
384#[repr(C)]
385#[derive(Copy, Clone)]
386#[derive(Debug)]
387pub struct pthread_condattr_t {
388    pub _bindgen_data_: [u32; 1usize],
389}
390impl pthread_condattr_t {
391    pub unsafe fn __size(&mut self) -> *mut [::std::os::raw::c_char; 4usize] {
392        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
393        ::std::mem::transmute(raw.offset(0))
394    }
395    pub unsafe fn __align(&mut self) -> *mut ::std::os::raw::c_int {
396        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
397        ::std::mem::transmute(raw.offset(0))
398    }
399}
400impl ::std::default::Default for pthread_condattr_t {
401    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
402}
403pub type pthread_key_t = ::std::os::raw::c_uint;
404pub type pthread_once_t = ::std::os::raw::c_int;
405#[repr(C)]
406#[derive(Copy)]
407pub struct pthread_rwlock_t {
408    pub _bindgen_data_: [u64; 7usize],
409}
410impl pthread_rwlock_t {
411    pub unsafe fn __data(&mut self) -> *mut Struct_Unnamed4 {
412        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
413        ::std::mem::transmute(raw.offset(0))
414    }
415    pub unsafe fn __size(&mut self)
416     -> *mut [::std::os::raw::c_char; 56usize] {
417        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
418        ::std::mem::transmute(raw.offset(0))
419    }
420    pub unsafe fn __align(&mut self) -> *mut ::std::os::raw::c_long {
421        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
422        ::std::mem::transmute(raw.offset(0))
423    }
424}
425impl ::std::clone::Clone for pthread_rwlock_t {
426    fn clone(&self) -> Self { *self }
427}
428impl ::std::default::Default for pthread_rwlock_t {
429    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
430}
431#[repr(C)]
432#[derive(Copy, Clone)]
433#[derive(Debug)]
434pub struct Struct_Unnamed4 {
435    pub __lock: ::std::os::raw::c_int,
436    pub __nr_readers: ::std::os::raw::c_uint,
437    pub __readers_wakeup: ::std::os::raw::c_uint,
438    pub __writer_wakeup: ::std::os::raw::c_uint,
439    pub __nr_readers_queued: ::std::os::raw::c_uint,
440    pub __nr_writers_queued: ::std::os::raw::c_uint,
441    pub __writer: ::std::os::raw::c_int,
442    pub __shared: ::std::os::raw::c_int,
443    pub __rwelision: ::std::os::raw::c_char,
444    pub __pad1: [::std::os::raw::c_uchar; 7usize],
445    pub __pad2: ::std::os::raw::c_ulong,
446    pub __flags: ::std::os::raw::c_uint,
447}
448impl ::std::default::Default for Struct_Unnamed4 {
449    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
450}
451#[repr(C)]
452#[derive(Copy, Clone)]
453#[derive(Debug)]
454pub struct pthread_rwlockattr_t {
455    pub _bindgen_data_: [u64; 1usize],
456}
457impl pthread_rwlockattr_t {
458    pub unsafe fn __size(&mut self) -> *mut [::std::os::raw::c_char; 8usize] {
459        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
460        ::std::mem::transmute(raw.offset(0))
461    }
462    pub unsafe fn __align(&mut self) -> *mut ::std::os::raw::c_long {
463        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
464        ::std::mem::transmute(raw.offset(0))
465    }
466}
467impl ::std::default::Default for pthread_rwlockattr_t {
468    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
469}
470pub type pthread_spinlock_t = ::std::os::raw::c_int;
471#[repr(C)]
472#[derive(Copy, Clone)]
473#[derive(Debug)]
474pub struct pthread_barrier_t {
475    pub _bindgen_data_: [u64; 4usize],
476}
477impl pthread_barrier_t {
478    pub unsafe fn __size(&mut self)
479     -> *mut [::std::os::raw::c_char; 32usize] {
480        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
481        ::std::mem::transmute(raw.offset(0))
482    }
483    pub unsafe fn __align(&mut self) -> *mut ::std::os::raw::c_long {
484        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
485        ::std::mem::transmute(raw.offset(0))
486    }
487}
488impl ::std::default::Default for pthread_barrier_t {
489    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
490}
491#[repr(C)]
492#[derive(Copy, Clone)]
493#[derive(Debug)]
494pub struct pthread_barrierattr_t {
495    pub _bindgen_data_: [u32; 1usize],
496}
497impl pthread_barrierattr_t {
498    pub unsafe fn __size(&mut self) -> *mut [::std::os::raw::c_char; 4usize] {
499        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
500        ::std::mem::transmute(raw.offset(0))
501    }
502    pub unsafe fn __align(&mut self) -> *mut ::std::os::raw::c_int {
503        let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
504        ::std::mem::transmute(raw.offset(0))
505    }
506}
507impl ::std::default::Default for pthread_barrierattr_t {
508    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
509}
510#[repr(C)]
511#[derive(Copy, Clone)]
512#[derive(Debug)]
513pub struct random_data {
514    pub fptr: *mut int32_t,
515    pub rptr: *mut int32_t,
516    pub state: *mut int32_t,
517    pub rand_type: ::std::os::raw::c_int,
518    pub rand_deg: ::std::os::raw::c_int,
519    pub rand_sep: ::std::os::raw::c_int,
520    pub end_ptr: *mut int32_t,
521}
522impl ::std::default::Default for random_data {
523    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
524}
525#[repr(C)]
526#[derive(Copy, Clone)]
527#[derive(Debug)]
528pub struct drand48_data {
529    pub __x: [::std::os::raw::c_ushort; 3usize],
530    pub __old_x: [::std::os::raw::c_ushort; 3usize],
531    pub __c: ::std::os::raw::c_ushort,
532    pub __init: ::std::os::raw::c_ushort,
533    pub __a: ::std::os::raw::c_ulonglong,
534}
535impl ::std::default::Default for drand48_data {
536    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
537}
538pub type __compar_fn_t =
539    ::std::option::Option<unsafe extern "C" fn(arg1:
540                                                   *const ::std::os::raw::c_void,
541                                               arg2:
542                                                   *const ::std::os::raw::c_void)
543                              -> ::std::os::raw::c_int>;
544pub type BOOL = ::std::os::raw::c_int;
545pub type fc2Context = *mut ::std::os::raw::c_void;
546pub type fc2GuiContext = *mut ::std::os::raw::c_void;
547pub type fc2ImageImpl = *mut ::std::os::raw::c_void;
548pub type fc2AVIContext = *mut ::std::os::raw::c_void;
549pub type fc2ImageStatisticsContext = *mut ::std::os::raw::c_void;
550#[repr(C)]
551#[derive(Copy, Clone)]
552#[derive(Debug)]
553pub struct _fc2PGRGuid {
554    pub value: [::std::os::raw::c_uint; 4usize],
555}
556impl ::std::default::Default for _fc2PGRGuid {
557    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
558}
559pub type fc2PGRGuid = _fc2PGRGuid;
560#[derive(Copy, Clone)]
561#[repr(i32)]
562#[derive(Debug)]
563pub enum _fc2Error {
564    FC2_ERROR_UNDEFINED = -1,
565    FC2_ERROR_OK = 0,
566    FC2_ERROR_FAILED = 1,
567    FC2_ERROR_NOT_IMPLEMENTED = 2,
568    FC2_ERROR_FAILED_BUS_MASTER_CONNECTION = 3,
569    FC2_ERROR_NOT_CONNECTED = 4,
570    FC2_ERROR_INIT_FAILED = 5,
571    FC2_ERROR_NOT_INTITIALIZED = 6,
572    FC2_ERROR_INVALID_PARAMETER = 7,
573    FC2_ERROR_INVALID_SETTINGS = 8,
574    FC2_ERROR_INVALID_BUS_MANAGER = 9,
575    FC2_ERROR_MEMORY_ALLOCATION_FAILED = 10,
576    FC2_ERROR_LOW_LEVEL_FAILURE = 11,
577    FC2_ERROR_NOT_FOUND = 12,
578    FC2_ERROR_FAILED_GUID = 13,
579    FC2_ERROR_INVALID_PACKET_SIZE = 14,
580    FC2_ERROR_INVALID_MODE = 15,
581    FC2_ERROR_NOT_IN_FORMAT7 = 16,
582    FC2_ERROR_NOT_SUPPORTED = 17,
583    FC2_ERROR_TIMEOUT = 18,
584    FC2_ERROR_BUS_MASTER_FAILED = 19,
585    FC2_ERROR_INVALID_GENERATION = 20,
586    FC2_ERROR_LUT_FAILED = 21,
587    FC2_ERROR_IIDC_FAILED = 22,
588    FC2_ERROR_STROBE_FAILED = 23,
589    FC2_ERROR_TRIGGER_FAILED = 24,
590    FC2_ERROR_PROPERTY_FAILED = 25,
591    FC2_ERROR_PROPERTY_NOT_PRESENT = 26,
592    FC2_ERROR_REGISTER_FAILED = 27,
593    FC2_ERROR_READ_REGISTER_FAILED = 28,
594    FC2_ERROR_WRITE_REGISTER_FAILED = 29,
595    FC2_ERROR_ISOCH_FAILED = 30,
596    FC2_ERROR_ISOCH_ALREADY_STARTED = 31,
597    FC2_ERROR_ISOCH_NOT_STARTED = 32,
598    FC2_ERROR_ISOCH_START_FAILED = 33,
599    FC2_ERROR_ISOCH_RETRIEVE_BUFFER_FAILED = 34,
600    FC2_ERROR_ISOCH_STOP_FAILED = 35,
601    FC2_ERROR_ISOCH_SYNC_FAILED = 36,
602    FC2_ERROR_ISOCH_BANDWIDTH_EXCEEDED = 37,
603    FC2_ERROR_IMAGE_CONVERSION_FAILED = 38,
604    FC2_ERROR_IMAGE_LIBRARY_FAILURE = 39,
605    FC2_ERROR_BUFFER_TOO_SMALL = 40,
606    FC2_ERROR_IMAGE_CONSISTENCY_ERROR = 41,
607    FC2_ERROR_INCOMPATIBLE_DRIVER = 42,
608    FC2_ERROR_FORCE_32BITS = 2147483647,
609}
610pub type fc2Error = _fc2Error;
611#[derive(Copy, Clone)]
612#[repr(u32)]
613#[derive(Debug)]
614pub enum _fc2BusCallbackType {
615    FC2_BUS_RESET = 0,
616    FC2_ARRIVAL = 1,
617    FC2_REMOVAL = 2,
618    FC2_CALLBACK_TYPE_FORCE_32BITS = 2147483647,
619}
620pub type fc2BusCallbackType = _fc2BusCallbackType;
621#[derive(Copy, Clone)]
622#[repr(u32)]
623#[derive(Debug)]
624pub enum _fc2GrabMode {
625    FC2_DROP_FRAMES = 0,
626    FC2_BUFFER_FRAMES = 1,
627    FC2_UNSPECIFIED_GRAB_MODE = 2,
628    FC2_GRAB_MODE_FORCE_32BITS = 2147483647,
629}
630pub type fc2GrabMode = _fc2GrabMode;
631#[derive(Copy, Clone)]
632#[repr(i32)]
633#[derive(Debug)]
634pub enum _fc2GrabTimeout {
635    FC2_TIMEOUT_NONE = 0,
636    FC2_TIMEOUT_INFINITE = -1,
637    FC2_TIMEOUT_UNSPECIFIED = -2,
638    FC2_GRAB_TIMEOUT_FORCE_32BITS = 2147483647,
639}
640pub type fc2GrabTimeout = _fc2GrabTimeout;
641#[derive(Copy, Clone)]
642#[repr(u32)]
643#[derive(Debug)]
644pub enum _fc2BandwidthAllocation {
645    FC2_BANDWIDTH_ALLOCATION_OFF = 0,
646    FC2_BANDWIDTH_ALLOCATION_ON = 1,
647    FC2_BANDWIDTH_ALLOCATION_UNSUPPORTED = 2,
648    FC2_BANDWIDTH_ALLOCATION_UNSPECIFIED = 3,
649    FC2_BANDWIDTH_ALLOCATION_FORCE_32BITS = 2147483647,
650}
651pub type fc2BandwidthAllocation = _fc2BandwidthAllocation;
652#[derive(Copy, Clone)]
653#[repr(u32)]
654#[derive(Debug)]
655pub enum _fc2InterfaceType {
656    FC2_INTERFACE_IEEE1394 = 0,
657    FC2_INTERFACE_USB_2 = 1,
658    FC2_INTERFACE_USB_3 = 2,
659    FC2_INTERFACE_GIGE = 3,
660    FC2_INTERFACE_UNKNOWN = 4,
661    FC2_INTERFACE_TYPE_FORCE_32BITS = 2147483647,
662}
663pub type fc2InterfaceType = _fc2InterfaceType;
664#[derive(Copy, Clone)]
665#[repr(i32)]
666#[derive(Debug)]
667pub enum _fc2DriverType {
668    FC2_DRIVER_1394_CAM = 0,
669    FC2_DRIVER_1394_PRO = 1,
670    FC2_DRIVER_1394_JUJU = 2,
671    FC2_DRIVER_1394_VIDEO1394 = 3,
672    FC2_DRIVER_1394_RAW1394 = 4,
673    FC2_DRIVER_USB_NONE = 5,
674    FC2_DRIVER_USB_CAM = 6,
675    FC2_DRIVER_USB3_PRO = 7,
676    FC2_DRIVER_GIGE_NONE = 8,
677    FC2_DRIVER_GIGE_FILTER = 9,
678    FC2_DRIVER_GIGE_PRO = 10,
679    FC2_DRIVER_GIGE_LWF = 11,
680    FC2_DRIVER_UNKNOWN = -1,
681    FC2_DRIVER_FORCE_32BITS = 2147483647,
682}
683pub type fc2DriverType = _fc2DriverType;
684#[derive(Copy, Clone)]
685#[repr(u32)]
686#[derive(Debug)]
687pub enum _fc2PropertyType {
688    FC2_BRIGHTNESS = 0,
689    FC2_AUTO_EXPOSURE = 1,
690    FC2_SHARPNESS = 2,
691    FC2_WHITE_BALANCE = 3,
692    FC2_HUE = 4,
693    FC2_SATURATION = 5,
694    FC2_GAMMA = 6,
695    FC2_IRIS = 7,
696    FC2_FOCUS = 8,
697    FC2_ZOOM = 9,
698    FC2_PAN = 10,
699    FC2_TILT = 11,
700    FC2_SHUTTER = 12,
701    FC2_GAIN = 13,
702    FC2_TRIGGER_MODE = 14,
703    FC2_TRIGGER_DELAY = 15,
704    FC2_FRAME_RATE = 16,
705    FC2_TEMPERATURE = 17,
706    FC2_UNSPECIFIED_PROPERTY_TYPE = 18,
707    FC2_PROPERTY_TYPE_FORCE_32BITS = 2147483647,
708}
709pub type fc2PropertyType = _fc2PropertyType;
710#[derive(Copy, Clone)]
711#[repr(u32)]
712#[derive(Debug)]
713pub enum _fc2FrameRate {
714    FC2_FRAMERATE_1_875 = 0,
715    FC2_FRAMERATE_3_75 = 1,
716    FC2_FRAMERATE_7_5 = 2,
717    FC2_FRAMERATE_15 = 3,
718    FC2_FRAMERATE_30 = 4,
719    FC2_FRAMERATE_60 = 5,
720    FC2_FRAMERATE_120 = 6,
721    FC2_FRAMERATE_240 = 7,
722    FC2_FRAMERATE_FORMAT7 = 8,
723    FC2_NUM_FRAMERATES = 9,
724    FC2_FRAMERATE_FORCE_32BITS = 2147483647,
725}
726pub type fc2FrameRate = _fc2FrameRate;
727#[derive(Copy, Clone)]
728#[repr(u32)]
729#[derive(Debug)]
730pub enum _fc2VideoMode {
731    FC2_VIDEOMODE_160x120YUV444 = 0,
732    FC2_VIDEOMODE_320x240YUV422 = 1,
733    FC2_VIDEOMODE_640x480YUV411 = 2,
734    FC2_VIDEOMODE_640x480YUV422 = 3,
735    FC2_VIDEOMODE_640x480RGB = 4,
736    FC2_VIDEOMODE_640x480Y8 = 5,
737    FC2_VIDEOMODE_640x480Y16 = 6,
738    FC2_VIDEOMODE_800x600YUV422 = 7,
739    FC2_VIDEOMODE_800x600RGB = 8,
740    FC2_VIDEOMODE_800x600Y8 = 9,
741    FC2_VIDEOMODE_800x600Y16 = 10,
742    FC2_VIDEOMODE_1024x768YUV422 = 11,
743    FC2_VIDEOMODE_1024x768RGB = 12,
744    FC2_VIDEOMODE_1024x768Y8 = 13,
745    FC2_VIDEOMODE_1024x768Y16 = 14,
746    FC2_VIDEOMODE_1280x960YUV422 = 15,
747    FC2_VIDEOMODE_1280x960RGB = 16,
748    FC2_VIDEOMODE_1280x960Y8 = 17,
749    FC2_VIDEOMODE_1280x960Y16 = 18,
750    FC2_VIDEOMODE_1600x1200YUV422 = 19,
751    FC2_VIDEOMODE_1600x1200RGB = 20,
752    FC2_VIDEOMODE_1600x1200Y8 = 21,
753    FC2_VIDEOMODE_1600x1200Y16 = 22,
754    FC2_VIDEOMODE_FORMAT7 = 23,
755    FC2_NUM_VIDEOMODES = 24,
756    FC2_VIDEOMODE_FORCE_32BITS = 2147483647,
757}
758pub type fc2VideoMode = _fc2VideoMode;
759#[derive(Copy, Clone)]
760#[repr(u32)]
761#[derive(Debug)]
762pub enum _fc2Mode {
763    FC2_MODE_0 = 0,
764    FC2_MODE_1 = 1,
765    FC2_MODE_2 = 2,
766    FC2_MODE_3 = 3,
767    FC2_MODE_4 = 4,
768    FC2_MODE_5 = 5,
769    FC2_MODE_6 = 6,
770    FC2_MODE_7 = 7,
771    FC2_MODE_8 = 8,
772    FC2_MODE_9 = 9,
773    FC2_MODE_10 = 10,
774    FC2_MODE_11 = 11,
775    FC2_MODE_12 = 12,
776    FC2_MODE_13 = 13,
777    FC2_MODE_14 = 14,
778    FC2_MODE_15 = 15,
779    FC2_MODE_16 = 16,
780    FC2_MODE_17 = 17,
781    FC2_MODE_18 = 18,
782    FC2_MODE_19 = 19,
783    FC2_MODE_20 = 20,
784    FC2_MODE_21 = 21,
785    FC2_MODE_22 = 22,
786    FC2_MODE_23 = 23,
787    FC2_MODE_24 = 24,
788    FC2_MODE_25 = 25,
789    FC2_MODE_26 = 26,
790    FC2_MODE_27 = 27,
791    FC2_MODE_28 = 28,
792    FC2_MODE_29 = 29,
793    FC2_MODE_30 = 30,
794    FC2_MODE_31 = 31,
795    FC2_NUM_MODES = 32,
796    FC2_MODE_FORCE_32BITS = 2147483647,
797}
798pub type fc2Mode = _fc2Mode;
799pub const FC2_PIXEL_FORMAT_RGB: _fc2PixelFormat =
800    _fc2PixelFormat::FC2_PIXEL_FORMAT_RGB8;
801#[derive(Copy, Clone)]
802#[repr(u32)]
803#[derive(Debug)]
804pub enum _fc2PixelFormat {
805    FC2_PIXEL_FORMAT_MONO8 = 2147483648,
806    FC2_PIXEL_FORMAT_411YUV8 = 1073741824,
807    FC2_PIXEL_FORMAT_422YUV8 = 536870912,
808    FC2_PIXEL_FORMAT_444YUV8 = 268435456,
809    FC2_PIXEL_FORMAT_RGB8 = 134217728,
810    FC2_PIXEL_FORMAT_MONO16 = 67108864,
811    FC2_PIXEL_FORMAT_RGB16 = 33554432,
812    FC2_PIXEL_FORMAT_S_MONO16 = 16777216,
813    FC2_PIXEL_FORMAT_S_RGB16 = 8388608,
814    FC2_PIXEL_FORMAT_RAW8 = 4194304,
815    FC2_PIXEL_FORMAT_RAW16 = 2097152,
816    FC2_PIXEL_FORMAT_MONO12 = 1048576,
817    FC2_PIXEL_FORMAT_RAW12 = 524288,
818    FC2_PIXEL_FORMAT_BGR = 2147483656,
819    FC2_PIXEL_FORMAT_BGRU = 1073741832,
820    FC2_PIXEL_FORMAT_RGBU = 1073741826,
821    FC2_PIXEL_FORMAT_BGR16 = 33554433,
822    FC2_PIXEL_FORMAT_BGRU16 = 33554434,
823    FC2_PIXEL_FORMAT_422YUV8_JPEG = 1073741825,
824    FC2_NUM_PIXEL_FORMATS = 20,
825    FC2_UNSPECIFIED_PIXEL_FORMAT = 0,
826}
827pub type fc2PixelFormat = _fc2PixelFormat;
828#[derive(Copy, Clone)]
829#[repr(i32)]
830#[derive(Debug)]
831pub enum _fc2BusSpeed {
832    FC2_BUSSPEED_S100 = 0,
833    FC2_BUSSPEED_S200 = 1,
834    FC2_BUSSPEED_S400 = 2,
835    FC2_BUSSPEED_S480 = 3,
836    FC2_BUSSPEED_S800 = 4,
837    FC2_BUSSPEED_S1600 = 5,
838    FC2_BUSSPEED_S3200 = 6,
839    FC2_BUSSPEED_S5000 = 7,
840    FC2_BUSSPEED_10BASE_T = 8,
841    FC2_BUSSPEED_100BASE_T = 9,
842    FC2_BUSSPEED_1000BASE_T = 10,
843    FC2_BUSSPEED_10000BASE_T = 11,
844    FC2_BUSSPEED_S_FASTEST = 12,
845    FC2_BUSSPEED_ANY = 13,
846    FC2_BUSSPEED_SPEED_UNKNOWN = -1,
847    FC2_BUSSPEED_FORCE_32BITS = 2147483647,
848}
849pub type fc2BusSpeed = _fc2BusSpeed;
850#[derive(Copy, Clone)]
851#[repr(i32)]
852#[derive(Debug)]
853pub enum _fc2PCIeBusSpeed {
854    FC2_PCIE_BUSSPEED_2_5 = 0,
855    FC2_PCIE_BUSSPEED_5_0 = 1,
856    FC2_PCIE_BUSSPEED_UNKNOWN = -1,
857    FC2_PCIE_BUSSPEED_FORCE_32BITS = 2147483647,
858}
859pub type fc2PCIeBusSpeed = _fc2PCIeBusSpeed;
860#[derive(Copy, Clone)]
861#[repr(u32)]
862#[derive(Debug)]
863pub enum _fc2ColorProcessingAlgorithm {
864    FC2_DEFAULT = 0,
865    FC2_NO_COLOR_PROCESSING = 1,
866    FC2_NEAREST_NEIGHBOR_FAST = 2,
867    FC2_EDGE_SENSING = 3,
868    FC2_HQ_LINEAR = 4,
869    FC2_RIGOROUS = 5,
870    FC2_IPP = 6,
871    FC2_DIRECTIONAL = 7,
872    FC2_COLOR_PROCESSING_ALGORITHM_FORCE_32BITS = 2147483647,
873}
874pub type fc2ColorProcessingAlgorithm = _fc2ColorProcessingAlgorithm;
875#[derive(Copy, Clone)]
876#[repr(u32)]
877#[derive(Debug)]
878pub enum _fc2BayerTileFormat {
879    FC2_BT_NONE = 0,
880    FC2_BT_RGGB = 1,
881    FC2_BT_GRBG = 2,
882    FC2_BT_GBRG = 3,
883    FC2_BT_BGGR = 4,
884    FC2_BT_FORCE_32BITS = 2147483647,
885}
886pub type fc2BayerTileFormat = _fc2BayerTileFormat;
887#[derive(Copy, Clone)]
888#[repr(i32)]
889#[derive(Debug)]
890pub enum _fc2ImageFileFormat {
891    FC2_FROM_FILE_EXT = -1,
892    FC2_PGM = 0,
893    FC2_PPM = 1,
894    FC2_BMP = 2,
895    FC2_JPEG = 3,
896    FC2_JPEG2000 = 4,
897    FC2_TIFF = 5,
898    FC2_PNG = 6,
899    FC2_RAW = 7,
900    FC2_IMAGE_FILE_FORMAT_FORCE_32BITS = 2147483647,
901}
902pub type fc2ImageFileFormat = _fc2ImageFileFormat;
903#[derive(Copy, Clone)]
904#[repr(u32)]
905#[derive(Debug)]
906pub enum _fc2GigEPropertyType {
907    FC2_HEARTBEAT = 0,
908    FC2_HEARTBEAT_TIMEOUT = 1,
909}
910pub type fc2GigEPropertyType = _fc2GigEPropertyType;
911#[derive(Copy, Clone)]
912#[repr(u32)]
913#[derive(Debug)]
914pub enum _fc2StatisticsChannel {
915    FC2_STATISTICS_GREY = 0,
916    FC2_STATISTICS_RED = 1,
917    FC2_STATISTICS_GREEN = 2,
918    FC2_STATISTICS_BLUE = 3,
919    FC2_STATISTICS_HUE = 4,
920    FC2_STATISTICS_SATURATION = 5,
921    FC2_STATISTICS_LIGHTNESS = 6,
922    FC2_STATISTICS_FORCE_32BITS = 2147483647,
923}
924pub type fc2StatisticsChannel = _fc2StatisticsChannel;
925#[derive(Copy, Clone)]
926#[repr(u32)]
927#[derive(Debug)]
928pub enum _fc2OSType {
929    FC2_WINDOWS_X86 = 0,
930    FC2_WINDOWS_X64 = 1,
931    FC2_LINUX_X86 = 2,
932    FC2_LINUX_X64 = 3,
933    FC2_MAC = 4,
934    FC2_UNKNOWN_OS = 5,
935    FC2_OSTYPE_FORCE_32BITS = 2147483647,
936}
937pub type fc2OSType = _fc2OSType;
938#[derive(Copy, Clone)]
939#[repr(u32)]
940#[derive(Debug)]
941pub enum _fc2ByteOrder {
942    FC2_BYTE_ORDER_LITTLE_ENDIAN = 0,
943    FC2_BYTE_ORDER_BIG_ENDIAN = 1,
944    FC2_BYTE_ORDER_FORCE_32BITS = 2147483647,
945}
946pub type fc2ByteOrder = _fc2ByteOrder;
947#[repr(C)]
948#[derive(Copy, Clone)]
949#[derive(Debug)]
950pub struct _fc2Image {
951    pub rows: ::std::os::raw::c_uint,
952    pub cols: ::std::os::raw::c_uint,
953    pub stride: ::std::os::raw::c_uint,
954    pub pData: *mut ::std::os::raw::c_uchar,
955    pub dataSize: ::std::os::raw::c_uint,
956    pub receivedDataSize: ::std::os::raw::c_uint,
957    pub format: fc2PixelFormat,
958    pub bayerFormat: fc2BayerTileFormat,
959    pub imageImpl: fc2ImageImpl,
960}
961impl ::std::default::Default for _fc2Image {
962    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
963}
964pub type fc2Image = _fc2Image;
965#[repr(C)]
966#[derive(Copy)]
967pub struct _fc2SystemInfo {
968    pub osType: fc2OSType,
969    pub osDescription: [::std::os::raw::c_char; 512usize],
970    pub byteOrder: fc2ByteOrder,
971    pub sysMemSize: size_t,
972    pub cpuDescription: [::std::os::raw::c_char; 512usize],
973    pub numCpuCores: size_t,
974    pub driverList: [::std::os::raw::c_char; 512usize],
975    pub libraryList: [::std::os::raw::c_char; 512usize],
976    pub gpuDescription: [::std::os::raw::c_char; 512usize],
977    pub screenWidth: size_t,
978    pub screenHeight: size_t,
979    pub reserved: [::std::os::raw::c_uint; 16usize],
980}
981impl ::std::clone::Clone for _fc2SystemInfo {
982    fn clone(&self) -> Self { *self }
983}
984impl ::std::default::Default for _fc2SystemInfo {
985    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
986}
987pub type fc2SystemInfo = _fc2SystemInfo;
988#[repr(C)]
989#[derive(Copy, Clone)]
990#[derive(Debug)]
991pub struct _fc2Version {
992    pub major: ::std::os::raw::c_uint,
993    pub minor: ::std::os::raw::c_uint,
994    pub type_: ::std::os::raw::c_uint,
995    pub build: ::std::os::raw::c_uint,
996}
997impl ::std::default::Default for _fc2Version {
998    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
999}
1000pub type fc2Version = _fc2Version;
1001#[repr(C)]
1002#[derive(Copy, Clone)]
1003#[derive(Debug)]
1004pub struct _fc2Config {
1005    pub numBuffers: ::std::os::raw::c_uint,
1006    pub numImageNotifications: ::std::os::raw::c_uint,
1007    pub minNumImageNotifications: ::std::os::raw::c_uint,
1008    pub grabTimeout: ::std::os::raw::c_int,
1009    pub grabMode: fc2GrabMode,
1010    pub isochBusSpeed: fc2BusSpeed,
1011    pub asyncBusSpeed: fc2BusSpeed,
1012    pub bandwidthAllocation: fc2BandwidthAllocation,
1013    pub registerTimeoutRetries: ::std::os::raw::c_uint,
1014    pub registerTimeout: ::std::os::raw::c_uint,
1015    pub reserved: [::std::os::raw::c_uint; 16usize],
1016}
1017impl ::std::default::Default for _fc2Config {
1018    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1019}
1020pub type fc2Config = _fc2Config;
1021#[repr(C)]
1022#[derive(Copy)]
1023pub struct _fc2PropertyInfo {
1024    pub type_: fc2PropertyType,
1025    pub present: BOOL,
1026    pub autoSupported: BOOL,
1027    pub manualSupported: BOOL,
1028    pub onOffSupported: BOOL,
1029    pub onePushSupported: BOOL,
1030    pub absValSupported: BOOL,
1031    pub readOutSupported: BOOL,
1032    pub min: ::std::os::raw::c_uint,
1033    pub max: ::std::os::raw::c_uint,
1034    pub absMin: f32,
1035    pub absMax: f32,
1036    pub pUnits: [::std::os::raw::c_char; 512usize],
1037    pub pUnitAbbr: [::std::os::raw::c_char; 512usize],
1038    pub reserved: [::std::os::raw::c_uint; 8usize],
1039}
1040impl ::std::clone::Clone for _fc2PropertyInfo {
1041    fn clone(&self) -> Self { *self }
1042}
1043impl ::std::default::Default for _fc2PropertyInfo {
1044    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1045}
1046pub type fc2PropertyInfo = _fc2PropertyInfo;
1047pub type fc2TriggerDelayInfo = _fc2PropertyInfo;
1048#[repr(C)]
1049#[derive(Copy, Clone)]
1050#[derive(Debug)]
1051pub struct _Property {
1052    pub type_: fc2PropertyType,
1053    pub present: BOOL,
1054    pub absControl: BOOL,
1055    pub onePush: BOOL,
1056    pub onOff: BOOL,
1057    pub autoManualMode: BOOL,
1058    pub valueA: ::std::os::raw::c_uint,
1059    pub valueB: ::std::os::raw::c_uint,
1060    pub absValue: f32,
1061    pub reserved: [::std::os::raw::c_uint; 8usize],
1062}
1063impl ::std::default::Default for _Property {
1064    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1065}
1066pub type fc2Property = _Property;
1067pub type fc2TriggerDelay = _Property;
1068#[repr(C)]
1069#[derive(Copy, Clone)]
1070#[derive(Debug)]
1071pub struct _fc2TriggerModeInfo {
1072    pub present: BOOL,
1073    pub readOutSupported: BOOL,
1074    pub onOffSupported: BOOL,
1075    pub polaritySupported: BOOL,
1076    pub valueReadable: BOOL,
1077    pub sourceMask: ::std::os::raw::c_uint,
1078    pub softwareTriggerSupported: BOOL,
1079    pub modeMask: ::std::os::raw::c_uint,
1080    pub reserved: [::std::os::raw::c_uint; 8usize],
1081}
1082impl ::std::default::Default for _fc2TriggerModeInfo {
1083    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1084}
1085pub type fc2TriggerModeInfo = _fc2TriggerModeInfo;
1086#[repr(C)]
1087#[derive(Copy, Clone)]
1088#[derive(Debug)]
1089pub struct _fc2TriggerMode {
1090    pub onOff: BOOL,
1091    pub polarity: ::std::os::raw::c_uint,
1092    pub source: ::std::os::raw::c_uint,
1093    pub mode: ::std::os::raw::c_uint,
1094    pub parameter: ::std::os::raw::c_uint,
1095    pub reserved: [::std::os::raw::c_uint; 8usize],
1096}
1097impl ::std::default::Default for _fc2TriggerMode {
1098    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1099}
1100pub type fc2TriggerMode = _fc2TriggerMode;
1101#[repr(C)]
1102#[derive(Copy, Clone)]
1103#[derive(Debug)]
1104pub struct _fc2StrobeInfo {
1105    pub source: ::std::os::raw::c_uint,
1106    pub present: BOOL,
1107    pub readOutSupported: BOOL,
1108    pub onOffSupported: BOOL,
1109    pub polaritySupported: BOOL,
1110    pub minValue: f32,
1111    pub maxValue: f32,
1112    pub reserved: [::std::os::raw::c_uint; 8usize],
1113}
1114impl ::std::default::Default for _fc2StrobeInfo {
1115    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1116}
1117pub type fc2StrobeInfo = _fc2StrobeInfo;
1118#[repr(C)]
1119#[derive(Copy, Clone)]
1120#[derive(Debug)]
1121pub struct _fc2StrobeControl {
1122    pub source: ::std::os::raw::c_uint,
1123    pub onOff: BOOL,
1124    pub polarity: ::std::os::raw::c_uint,
1125    pub delay: f32,
1126    pub duration: f32,
1127    pub reserved: [::std::os::raw::c_uint; 8usize],
1128}
1129impl ::std::default::Default for _fc2StrobeControl {
1130    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1131}
1132pub type fc2StrobeControl = _fc2StrobeControl;
1133#[repr(C)]
1134#[derive(Copy, Clone)]
1135#[derive(Debug)]
1136pub struct _fc2Format7ImageSettings {
1137    pub mode: fc2Mode,
1138    pub offsetX: ::std::os::raw::c_uint,
1139    pub offsetY: ::std::os::raw::c_uint,
1140    pub width: ::std::os::raw::c_uint,
1141    pub height: ::std::os::raw::c_uint,
1142    pub pixelFormat: fc2PixelFormat,
1143    pub reserved: [::std::os::raw::c_uint; 8usize],
1144}
1145impl ::std::default::Default for _fc2Format7ImageSettings {
1146    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1147}
1148pub type fc2Format7ImageSettings = _fc2Format7ImageSettings;
1149#[repr(C)]
1150#[derive(Copy, Clone)]
1151#[derive(Debug)]
1152pub struct _fc2Format7Info {
1153    pub mode: fc2Mode,
1154    pub maxWidth: ::std::os::raw::c_uint,
1155    pub maxHeight: ::std::os::raw::c_uint,
1156    pub offsetHStepSize: ::std::os::raw::c_uint,
1157    pub offsetVStepSize: ::std::os::raw::c_uint,
1158    pub imageHStepSize: ::std::os::raw::c_uint,
1159    pub imageVStepSize: ::std::os::raw::c_uint,
1160    pub pixelFormatBitField: ::std::os::raw::c_uint,
1161    pub vendorPixelFormatBitField: ::std::os::raw::c_uint,
1162    pub packetSize: ::std::os::raw::c_uint,
1163    pub minPacketSize: ::std::os::raw::c_uint,
1164    pub maxPacketSize: ::std::os::raw::c_uint,
1165    pub percentage: f32,
1166    pub reserved: [::std::os::raw::c_uint; 16usize],
1167}
1168impl ::std::default::Default for _fc2Format7Info {
1169    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1170}
1171pub type fc2Format7Info = _fc2Format7Info;
1172#[repr(C)]
1173#[derive(Copy, Clone)]
1174#[derive(Debug)]
1175pub struct _fc2Format7PacketInfo {
1176    pub recommendedBytesPerPacket: ::std::os::raw::c_uint,
1177    pub maxBytesPerPacket: ::std::os::raw::c_uint,
1178    pub unitBytesPerPacket: ::std::os::raw::c_uint,
1179    pub reserved: [::std::os::raw::c_uint; 8usize],
1180}
1181impl ::std::default::Default for _fc2Format7PacketInfo {
1182    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1183}
1184pub type fc2Format7PacketInfo = _fc2Format7PacketInfo;
1185#[repr(C)]
1186#[derive(Copy, Clone)]
1187#[derive(Debug)]
1188pub struct _fc2IPAddress {
1189    pub octets: [::std::os::raw::c_uchar; 4usize],
1190}
1191impl ::std::default::Default for _fc2IPAddress {
1192    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1193}
1194pub type fc2IPAddress = _fc2IPAddress;
1195#[repr(C)]
1196#[derive(Copy, Clone)]
1197#[derive(Debug)]
1198pub struct _fc2MACAddress {
1199    pub octets: [::std::os::raw::c_uchar; 6usize],
1200}
1201impl ::std::default::Default for _fc2MACAddress {
1202    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1203}
1204pub type fc2MACAddress = _fc2MACAddress;
1205#[repr(C)]
1206#[derive(Copy, Clone)]
1207#[derive(Debug)]
1208pub struct _fc2GigEProperty {
1209    pub propType: fc2GigEPropertyType,
1210    pub isReadable: BOOL,
1211    pub isWritable: BOOL,
1212    pub min: ::std::os::raw::c_uint,
1213    pub max: ::std::os::raw::c_uint,
1214    pub value: ::std::os::raw::c_uint,
1215    pub reserved: [::std::os::raw::c_uint; 8usize],
1216}
1217impl ::std::default::Default for _fc2GigEProperty {
1218    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1219}
1220pub type fc2GigEProperty = _fc2GigEProperty;
1221#[repr(C)]
1222#[derive(Copy, Clone)]
1223#[derive(Debug)]
1224pub struct _fc2GigEStreamChannel {
1225    pub networkInterfaceIndex: ::std::os::raw::c_uint,
1226    pub hostPost: ::std::os::raw::c_uint,
1227    pub doNotFragment: BOOL,
1228    pub packetSize: ::std::os::raw::c_uint,
1229    pub interPacketDelay: ::std::os::raw::c_uint,
1230    pub destinationIpAddress: fc2IPAddress,
1231    pub sourcePort: ::std::os::raw::c_uint,
1232    pub reserved: [::std::os::raw::c_uint; 8usize],
1233}
1234impl ::std::default::Default for _fc2GigEStreamChannel {
1235    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1236}
1237pub type fc2GigEStreamChannel = _fc2GigEStreamChannel;
1238#[repr(C)]
1239#[derive(Copy, Clone)]
1240#[derive(Debug)]
1241pub struct _fc2GigEConfig {
1242    pub enablePacketResend: BOOL,
1243    pub timeoutForPacketResend: ::std::os::raw::c_uint,
1244    pub maxPacketsToResend: ::std::os::raw::c_uint,
1245    pub reserved: [::std::os::raw::c_uint; 8usize],
1246}
1247impl ::std::default::Default for _fc2GigEConfig {
1248    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1249}
1250pub type fc2GigEConfig = _fc2GigEConfig;
1251#[repr(C)]
1252#[derive(Copy, Clone)]
1253#[derive(Debug)]
1254pub struct _fc2GigEImageSettingsInfo {
1255    pub maxWidth: ::std::os::raw::c_uint,
1256    pub maxHeight: ::std::os::raw::c_uint,
1257    pub offsetHStepSize: ::std::os::raw::c_uint,
1258    pub offsetVStepSize: ::std::os::raw::c_uint,
1259    pub imageHStepSize: ::std::os::raw::c_uint,
1260    pub imageVStepSize: ::std::os::raw::c_uint,
1261    pub pixelFormatBitField: ::std::os::raw::c_uint,
1262    pub vendorPixelFormatBitField: ::std::os::raw::c_uint,
1263    pub reserved: [::std::os::raw::c_uint; 16usize],
1264}
1265impl ::std::default::Default for _fc2GigEImageSettingsInfo {
1266    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1267}
1268pub type fc2GigEImageSettingsInfo = _fc2GigEImageSettingsInfo;
1269#[repr(C)]
1270#[derive(Copy, Clone)]
1271#[derive(Debug)]
1272pub struct _fc2GigEImageSettings {
1273    pub offsetX: ::std::os::raw::c_uint,
1274    pub offsetY: ::std::os::raw::c_uint,
1275    pub width: ::std::os::raw::c_uint,
1276    pub height: ::std::os::raw::c_uint,
1277    pub pixelFormat: fc2PixelFormat,
1278    pub reserved: [::std::os::raw::c_uint; 8usize],
1279}
1280impl ::std::default::Default for _fc2GigEImageSettings {
1281    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1282}
1283pub type fc2GigEImageSettings = _fc2GigEImageSettings;
1284#[repr(C)]
1285#[derive(Copy, Clone)]
1286#[derive(Debug)]
1287pub struct _fc2TimeStamp {
1288    pub seconds: ::std::os::raw::c_longlong,
1289    pub microSeconds: ::std::os::raw::c_uint,
1290    pub cycleSeconds: ::std::os::raw::c_uint,
1291    pub cycleCount: ::std::os::raw::c_uint,
1292    pub cycleOffset: ::std::os::raw::c_uint,
1293    pub reserved: [::std::os::raw::c_uint; 8usize],
1294}
1295impl ::std::default::Default for _fc2TimeStamp {
1296    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1297}
1298pub type fc2TimeStamp = _fc2TimeStamp;
1299#[repr(C)]
1300#[derive(Copy)]
1301pub struct _fc2ConfigROM {
1302    pub nodeVendorId: ::std::os::raw::c_uint,
1303    pub chipIdHi: ::std::os::raw::c_uint,
1304    pub chipIdLo: ::std::os::raw::c_uint,
1305    pub unitSpecId: ::std::os::raw::c_uint,
1306    pub unitSWVer: ::std::os::raw::c_uint,
1307    pub unitSubSWVer: ::std::os::raw::c_uint,
1308    pub vendorUniqueInfo_0: ::std::os::raw::c_uint,
1309    pub vendorUniqueInfo_1: ::std::os::raw::c_uint,
1310    pub vendorUniqueInfo_2: ::std::os::raw::c_uint,
1311    pub vendorUniqueInfo_3: ::std::os::raw::c_uint,
1312    pub pszKeyword: [::std::os::raw::c_char; 512usize],
1313    pub reserved: [::std::os::raw::c_uint; 16usize],
1314}
1315impl ::std::clone::Clone for _fc2ConfigROM {
1316    fn clone(&self) -> Self { *self }
1317}
1318impl ::std::default::Default for _fc2ConfigROM {
1319    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1320}
1321pub type fc2ConfigROM = _fc2ConfigROM;
1322#[repr(C)]
1323#[derive(Copy)]
1324pub struct _fc2CameraInfo {
1325    pub serialNumber: ::std::os::raw::c_uint,
1326    pub interfaceType: fc2InterfaceType,
1327    pub driverType: fc2DriverType,
1328    pub isColorCamera: BOOL,
1329    pub modelName: [::std::os::raw::c_char; 512usize],
1330    pub vendorName: [::std::os::raw::c_char; 512usize],
1331    pub sensorInfo: [::std::os::raw::c_char; 512usize],
1332    pub sensorResolution: [::std::os::raw::c_char; 512usize],
1333    pub driverName: [::std::os::raw::c_char; 512usize],
1334    pub firmwareVersion: [::std::os::raw::c_char; 512usize],
1335    pub firmwareBuildTime: [::std::os::raw::c_char; 512usize],
1336    pub maximumBusSpeed: fc2BusSpeed,
1337    pub pcieBusSpeed: fc2PCIeBusSpeed,
1338    pub bayerTileFormat: fc2BayerTileFormat,
1339    pub busNumber: ::std::os::raw::c_ushort,
1340    pub nodeNumber: ::std::os::raw::c_ushort,
1341    pub iidcVer: ::std::os::raw::c_uint,
1342    pub configROM: fc2ConfigROM,
1343    pub gigEMajorVersion: ::std::os::raw::c_uint,
1344    pub gigEMinorVersion: ::std::os::raw::c_uint,
1345    pub userDefinedName: [::std::os::raw::c_char; 512usize],
1346    pub xmlURL1: [::std::os::raw::c_char; 512usize],
1347    pub xmlURL2: [::std::os::raw::c_char; 512usize],
1348    pub macAddress: fc2MACAddress,
1349    pub ipAddress: fc2IPAddress,
1350    pub subnetMask: fc2IPAddress,
1351    pub defaultGateway: fc2IPAddress,
1352    pub ccpStatus: ::std::os::raw::c_uint,
1353    pub applicationIPAddress: ::std::os::raw::c_uint,
1354    pub applicationPort: ::std::os::raw::c_uint,
1355    pub reserved: [::std::os::raw::c_uint; 16usize],
1356}
1357impl ::std::clone::Clone for _fc2CameraInfo {
1358    fn clone(&self) -> Self { *self }
1359}
1360impl ::std::default::Default for _fc2CameraInfo {
1361    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1362}
1363pub type fc2CameraInfo = _fc2CameraInfo;
1364#[repr(C)]
1365#[derive(Copy, Clone)]
1366#[derive(Debug)]
1367pub struct _fc2EmbeddedImageInfoProperty {
1368    pub available: BOOL,
1369    pub onOff: BOOL,
1370}
1371impl ::std::default::Default for _fc2EmbeddedImageInfoProperty {
1372    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1373}
1374pub type fc2EmbeddedImageInfoProperty = _fc2EmbeddedImageInfoProperty;
1375#[repr(C)]
1376#[derive(Copy, Clone)]
1377#[derive(Debug)]
1378pub struct _fc2EmbeddedImageInfo {
1379    pub timestamp: fc2EmbeddedImageInfoProperty,
1380    pub gain: fc2EmbeddedImageInfoProperty,
1381    pub shutter: fc2EmbeddedImageInfoProperty,
1382    pub brightness: fc2EmbeddedImageInfoProperty,
1383    pub exposure: fc2EmbeddedImageInfoProperty,
1384    pub whiteBalance: fc2EmbeddedImageInfoProperty,
1385    pub frameCounter: fc2EmbeddedImageInfoProperty,
1386    pub strobePattern: fc2EmbeddedImageInfoProperty,
1387    pub GPIOPinState: fc2EmbeddedImageInfoProperty,
1388    pub ROIPosition: fc2EmbeddedImageInfoProperty,
1389}
1390impl ::std::default::Default for _fc2EmbeddedImageInfo {
1391    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1392}
1393pub type fc2EmbeddedImageInfo = _fc2EmbeddedImageInfo;
1394#[repr(C)]
1395#[derive(Copy, Clone)]
1396#[derive(Debug)]
1397pub struct _fc2ImageMetadata {
1398    pub embeddedTimeStamp: ::std::os::raw::c_uint,
1399    pub embeddedGain: ::std::os::raw::c_uint,
1400    pub embeddedShutter: ::std::os::raw::c_uint,
1401    pub embeddedBrightness: ::std::os::raw::c_uint,
1402    pub embeddedExposure: ::std::os::raw::c_uint,
1403    pub embeddedWhiteBalance: ::std::os::raw::c_uint,
1404    pub embeddedFrameCounter: ::std::os::raw::c_uint,
1405    pub embeddedStrobePattern: ::std::os::raw::c_uint,
1406    pub embeddedGPIOPinState: ::std::os::raw::c_uint,
1407    pub embeddedROIPosition: ::std::os::raw::c_uint,
1408    pub reserved: [::std::os::raw::c_uint; 31usize],
1409}
1410impl ::std::default::Default for _fc2ImageMetadata {
1411    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1412}
1413pub type fc2ImageMetadata = _fc2ImageMetadata;
1414#[repr(C)]
1415#[derive(Copy, Clone)]
1416#[derive(Debug)]
1417pub struct _fc2LUTData {
1418    pub supported: BOOL,
1419    pub enabled: BOOL,
1420    pub numBanks: ::std::os::raw::c_uint,
1421    pub numChannels: ::std::os::raw::c_uint,
1422    pub inputBitDepth: ::std::os::raw::c_uint,
1423    pub outputBitDepth: ::std::os::raw::c_uint,
1424    pub numEntries: ::std::os::raw::c_uint,
1425    pub reserved: [::std::os::raw::c_uint; 8usize],
1426}
1427impl ::std::default::Default for _fc2LUTData {
1428    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1429}
1430pub type fc2LUTData = _fc2LUTData;
1431#[repr(C)]
1432#[derive(Copy, Clone)]
1433#[derive(Debug)]
1434pub struct _fc2PNGOption {
1435    pub interlaced: BOOL,
1436    pub compressionLevel: ::std::os::raw::c_uint,
1437    pub reserved: [::std::os::raw::c_uint; 16usize],
1438}
1439impl ::std::default::Default for _fc2PNGOption {
1440    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1441}
1442pub type fc2PNGOption = _fc2PNGOption;
1443#[repr(C)]
1444#[derive(Copy, Clone)]
1445#[derive(Debug)]
1446pub struct _fc2PPMOption {
1447    pub binaryFile: BOOL,
1448    pub reserved: [::std::os::raw::c_uint; 16usize],
1449}
1450impl ::std::default::Default for _fc2PPMOption {
1451    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1452}
1453pub type fc2PPMOption = _fc2PPMOption;
1454#[repr(C)]
1455#[derive(Copy, Clone)]
1456#[derive(Debug)]
1457pub struct _fc2PGMOption {
1458    pub binaryFile: BOOL,
1459    pub reserved: [::std::os::raw::c_uint; 16usize],
1460}
1461impl ::std::default::Default for _fc2PGMOption {
1462    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1463}
1464pub type fc2PGMOption = _fc2PGMOption;
1465#[derive(Copy, Clone)]
1466#[repr(u32)]
1467#[derive(Debug)]
1468pub enum _fc2TIFFCompressionMethod {
1469    FC2_TIFF_NONE = 1,
1470    FC2_TIFF_PACKBITS = 2,
1471    FC2_TIFF_DEFLATE = 3,
1472    FC2_TIFF_ADOBE_DEFLATE = 4,
1473    FC2_TIFF_CCITTFAX3 = 5,
1474    FC2_TIFF_CCITTFAX4 = 6,
1475    FC2_TIFF_LZW = 7,
1476    FC2_TIFF_JPEG = 8,
1477}
1478pub type fc2TIFFCompressionMethod = _fc2TIFFCompressionMethod;
1479#[repr(C)]
1480#[derive(Copy, Clone)]
1481#[derive(Debug)]
1482pub struct _fc2TIFFOption {
1483    pub compression: fc2TIFFCompressionMethod,
1484    pub reserved: [::std::os::raw::c_uint; 16usize],
1485}
1486impl ::std::default::Default for _fc2TIFFOption {
1487    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1488}
1489pub type fc2TIFFOption = _fc2TIFFOption;
1490#[repr(C)]
1491#[derive(Copy, Clone)]
1492#[derive(Debug)]
1493pub struct _fc2JPEGOption {
1494    pub progressive: BOOL,
1495    pub quality: ::std::os::raw::c_uint,
1496    pub reserved: [::std::os::raw::c_uint; 16usize],
1497}
1498impl ::std::default::Default for _fc2JPEGOption {
1499    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1500}
1501pub type fc2JPEGOption = _fc2JPEGOption;
1502#[repr(C)]
1503#[derive(Copy, Clone)]
1504#[derive(Debug)]
1505pub struct _fc2JPG2Option {
1506    pub quality: ::std::os::raw::c_uint,
1507    pub reserved: [::std::os::raw::c_uint; 16usize],
1508}
1509impl ::std::default::Default for _fc2JPG2Option {
1510    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1511}
1512pub type fc2JPG2Option = _fc2JPG2Option;
1513#[repr(C)]
1514#[derive(Copy)]
1515pub struct _fc2AVIOption {
1516    pub frameRate: f32,
1517    pub reserved: [::std::os::raw::c_uint; 256usize],
1518}
1519impl ::std::clone::Clone for _fc2AVIOption {
1520    fn clone(&self) -> Self { *self }
1521}
1522impl ::std::default::Default for _fc2AVIOption {
1523    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1524}
1525pub type fc2AVIOption = _fc2AVIOption;
1526#[repr(C)]
1527#[derive(Copy)]
1528pub struct _fc2MJPGOption {
1529    pub frameRate: f32,
1530    pub quality: ::std::os::raw::c_uint,
1531    pub reserved: [::std::os::raw::c_uint; 256usize],
1532}
1533impl ::std::clone::Clone for _fc2MJPGOption {
1534    fn clone(&self) -> Self { *self }
1535}
1536impl ::std::default::Default for _fc2MJPGOption {
1537    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1538}
1539pub type fc2MJPGOption = _fc2MJPGOption;
1540#[repr(C)]
1541#[derive(Copy)]
1542pub struct _fc2H264Option {
1543    pub frameRate: f32,
1544    pub width: ::std::os::raw::c_uint,
1545    pub height: ::std::os::raw::c_uint,
1546    pub bitrate: ::std::os::raw::c_uint,
1547    pub reserved: [::std::os::raw::c_uint; 256usize],
1548}
1549impl ::std::clone::Clone for _fc2H264Option {
1550    fn clone(&self) -> Self { *self }
1551}
1552impl ::std::default::Default for _fc2H264Option {
1553    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
1554}
1555pub type fc2H264Option = _fc2H264Option;
1556pub type fc2CallbackHandle = *mut ::std::os::raw::c_void;
1557pub type fc2BusEventCallback =
1558    ::std::option::Option<unsafe extern "C" fn(pParameter:
1559                                                   *mut ::std::os::raw::c_void,
1560                                               serialNumber:
1561                                                   ::std::os::raw::c_uint)>;
1562pub type fc2ImageEventCallback =
1563    ::std::option::Option<unsafe extern "C" fn(image: *mut fc2Image,
1564                                               pCallbackData:
1565                                                   *mut ::std::os::raw::c_void)>;
1566pub type fc2AsyncCommandCallback =
1567    ::std::option::Option<unsafe extern "C" fn(retError: fc2Error,
1568                                               pUserData:
1569                                                   *mut ::std::os::raw::c_void)>;
1570extern "C" {
1571    pub fn __ctype_get_mb_cur_max() -> size_t;
1572    pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
1573    pub fn atoi(__nptr: *const ::std::os::raw::c_char)
1574     -> ::std::os::raw::c_int;
1575    pub fn atol(__nptr: *const ::std::os::raw::c_char)
1576     -> ::std::os::raw::c_long;
1577    pub fn atoll(__nptr: *const ::std::os::raw::c_char)
1578     -> ::std::os::raw::c_longlong;
1579    pub fn strtod(__nptr: *const ::std::os::raw::c_char,
1580                  __endptr: *mut *mut ::std::os::raw::c_char) -> f64;
1581    pub fn strtof(__nptr: *const ::std::os::raw::c_char,
1582                  __endptr: *mut *mut ::std::os::raw::c_char) -> f32;
1583    pub fn strtold(__nptr: *const ::std::os::raw::c_char,
1584                   __endptr: *mut *mut ::std::os::raw::c_char) -> f64;
1585    pub fn strtol(__nptr: *const ::std::os::raw::c_char,
1586                  __endptr: *mut *mut ::std::os::raw::c_char,
1587                  __base: ::std::os::raw::c_int) -> ::std::os::raw::c_long;
1588    pub fn strtoul(__nptr: *const ::std::os::raw::c_char,
1589                   __endptr: *mut *mut ::std::os::raw::c_char,
1590                   __base: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
1591    pub fn strtoq(__nptr: *const ::std::os::raw::c_char,
1592                  __endptr: *mut *mut ::std::os::raw::c_char,
1593                  __base: ::std::os::raw::c_int)
1594     -> ::std::os::raw::c_longlong;
1595    pub fn strtouq(__nptr: *const ::std::os::raw::c_char,
1596                   __endptr: *mut *mut ::std::os::raw::c_char,
1597                   __base: ::std::os::raw::c_int)
1598     -> ::std::os::raw::c_ulonglong;
1599    pub fn strtoll(__nptr: *const ::std::os::raw::c_char,
1600                   __endptr: *mut *mut ::std::os::raw::c_char,
1601                   __base: ::std::os::raw::c_int)
1602     -> ::std::os::raw::c_longlong;
1603    pub fn strtoull(__nptr: *const ::std::os::raw::c_char,
1604                    __endptr: *mut *mut ::std::os::raw::c_char,
1605                    __base: ::std::os::raw::c_int)
1606     -> ::std::os::raw::c_ulonglong;
1607    pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
1608    pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
1609    pub fn select(__nfds: ::std::os::raw::c_int, __readfds: *mut fd_set,
1610                  __writefds: *mut fd_set, __exceptfds: *mut fd_set,
1611                  __timeout: *mut timeval) -> ::std::os::raw::c_int;
1612    pub fn pselect(__nfds: ::std::os::raw::c_int, __readfds: *mut fd_set,
1613                   __writefds: *mut fd_set, __exceptfds: *mut fd_set,
1614                   __timeout: *const timespec, __sigmask: *const __sigset_t)
1615     -> ::std::os::raw::c_int;
1616    pub fn gnu_dev_major(__dev: ::std::os::raw::c_ulonglong)
1617     -> ::std::os::raw::c_uint;
1618    pub fn gnu_dev_minor(__dev: ::std::os::raw::c_ulonglong)
1619     -> ::std::os::raw::c_uint;
1620    pub fn gnu_dev_makedev(__major: ::std::os::raw::c_uint,
1621                           __minor: ::std::os::raw::c_uint)
1622     -> ::std::os::raw::c_ulonglong;
1623    pub fn random() -> ::std::os::raw::c_long;
1624    pub fn srandom(__seed: ::std::os::raw::c_uint);
1625    pub fn initstate(__seed: ::std::os::raw::c_uint,
1626                     __statebuf: *mut ::std::os::raw::c_char,
1627                     __statelen: size_t) -> *mut ::std::os::raw::c_char;
1628    pub fn setstate(__statebuf: *mut ::std::os::raw::c_char)
1629     -> *mut ::std::os::raw::c_char;
1630    pub fn random_r(__buf: *mut random_data, __result: *mut int32_t)
1631     -> ::std::os::raw::c_int;
1632    pub fn srandom_r(__seed: ::std::os::raw::c_uint, __buf: *mut random_data)
1633     -> ::std::os::raw::c_int;
1634    pub fn initstate_r(__seed: ::std::os::raw::c_uint,
1635                       __statebuf: *mut ::std::os::raw::c_char,
1636                       __statelen: size_t, __buf: *mut random_data)
1637     -> ::std::os::raw::c_int;
1638    pub fn setstate_r(__statebuf: *mut ::std::os::raw::c_char,
1639                      __buf: *mut random_data) -> ::std::os::raw::c_int;
1640    pub fn rand() -> ::std::os::raw::c_int;
1641    pub fn srand(__seed: ::std::os::raw::c_uint);
1642    pub fn rand_r(__seed: *mut ::std::os::raw::c_uint)
1643     -> ::std::os::raw::c_int;
1644    pub fn drand48() -> f64;
1645    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
1646    pub fn lrand48() -> ::std::os::raw::c_long;
1647    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort)
1648     -> ::std::os::raw::c_long;
1649    pub fn mrand48() -> ::std::os::raw::c_long;
1650    pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort)
1651     -> ::std::os::raw::c_long;
1652    pub fn srand48(__seedval: ::std::os::raw::c_long);
1653    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort)
1654     -> *mut ::std::os::raw::c_ushort;
1655    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
1656    pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64)
1657     -> ::std::os::raw::c_int;
1658    pub fn erand48_r(__xsubi: *mut ::std::os::raw::c_ushort,
1659                     __buffer: *mut drand48_data, __result: *mut f64)
1660     -> ::std::os::raw::c_int;
1661    pub fn lrand48_r(__buffer: *mut drand48_data,
1662                     __result: *mut ::std::os::raw::c_long)
1663     -> ::std::os::raw::c_int;
1664    pub fn nrand48_r(__xsubi: *mut ::std::os::raw::c_ushort,
1665                     __buffer: *mut drand48_data,
1666                     __result: *mut ::std::os::raw::c_long)
1667     -> ::std::os::raw::c_int;
1668    pub fn mrand48_r(__buffer: *mut drand48_data,
1669                     __result: *mut ::std::os::raw::c_long)
1670     -> ::std::os::raw::c_int;
1671    pub fn jrand48_r(__xsubi: *mut ::std::os::raw::c_ushort,
1672                     __buffer: *mut drand48_data,
1673                     __result: *mut ::std::os::raw::c_long)
1674     -> ::std::os::raw::c_int;
1675    pub fn srand48_r(__seedval: ::std::os::raw::c_long,
1676                     __buffer: *mut drand48_data) -> ::std::os::raw::c_int;
1677    pub fn seed48_r(__seed16v: *mut ::std::os::raw::c_ushort,
1678                    __buffer: *mut drand48_data) -> ::std::os::raw::c_int;
1679    pub fn lcong48_r(__param: *mut ::std::os::raw::c_ushort,
1680                     __buffer: *mut drand48_data) -> ::std::os::raw::c_int;
1681    pub fn malloc(__size: size_t) -> *mut ::std::os::raw::c_void;
1682    pub fn calloc(__nmemb: size_t, __size: size_t)
1683     -> *mut ::std::os::raw::c_void;
1684    pub fn realloc(__ptr: *mut ::std::os::raw::c_void, __size: size_t)
1685     -> *mut ::std::os::raw::c_void;
1686    pub fn free(__ptr: *mut ::std::os::raw::c_void);
1687    pub fn cfree(__ptr: *mut ::std::os::raw::c_void);
1688    pub fn alloca(__size: size_t) -> *mut ::std::os::raw::c_void;
1689    pub fn valloc(__size: size_t) -> *mut ::std::os::raw::c_void;
1690    pub fn posix_memalign(__memptr: *mut *mut ::std::os::raw::c_void,
1691                          __alignment: size_t, __size: size_t)
1692     -> ::std::os::raw::c_int;
1693    pub fn aligned_alloc(__alignment: size_t, __size: size_t)
1694     -> *mut ::std::os::raw::c_void;
1695    pub fn abort();
1696    pub fn atexit(__func: ::std::option::Option<extern "C" fn()>)
1697     -> ::std::os::raw::c_int;
1698    pub fn at_quick_exit(__func: ::std::option::Option<extern "C" fn()>)
1699     -> ::std::os::raw::c_int;
1700    pub fn on_exit(__func:
1701                       ::std::option::Option<unsafe extern "C" fn(__status:
1702                                                                      ::std::os::raw::c_int,
1703                                                                  __arg:
1704                                                                      *mut ::std::os::raw::c_void)>,
1705                   __arg: *mut ::std::os::raw::c_void)
1706     -> ::std::os::raw::c_int;
1707    pub fn exit(__status: ::std::os::raw::c_int);
1708    pub fn quick_exit(__status: ::std::os::raw::c_int);
1709    pub fn _Exit(__status: ::std::os::raw::c_int);
1710    pub fn getenv(__name: *const ::std::os::raw::c_char)
1711     -> *mut ::std::os::raw::c_char;
1712    pub fn putenv(__string: *mut ::std::os::raw::c_char)
1713     -> ::std::os::raw::c_int;
1714    pub fn setenv(__name: *const ::std::os::raw::c_char,
1715                  __value: *const ::std::os::raw::c_char,
1716                  __replace: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1717    pub fn unsetenv(__name: *const ::std::os::raw::c_char)
1718     -> ::std::os::raw::c_int;
1719    pub fn clearenv() -> ::std::os::raw::c_int;
1720    pub fn mktemp(__template: *mut ::std::os::raw::c_char)
1721     -> *mut ::std::os::raw::c_char;
1722    pub fn mkstemp(__template: *mut ::std::os::raw::c_char)
1723     -> ::std::os::raw::c_int;
1724    pub fn mkstemps(__template: *mut ::std::os::raw::c_char,
1725                    __suffixlen: ::std::os::raw::c_int)
1726     -> ::std::os::raw::c_int;
1727    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char)
1728     -> *mut ::std::os::raw::c_char;
1729    pub fn system(__command: *const ::std::os::raw::c_char)
1730     -> ::std::os::raw::c_int;
1731    pub fn realpath(__name: *const ::std::os::raw::c_char,
1732                    __resolved: *mut ::std::os::raw::c_char)
1733     -> *mut ::std::os::raw::c_char;
1734    pub fn bsearch(__key: *const ::std::os::raw::c_void,
1735                   __base: *const ::std::os::raw::c_void, __nmemb: size_t,
1736                   __size: size_t, __compar: __compar_fn_t)
1737     -> *mut ::std::os::raw::c_void;
1738    pub fn qsort(__base: *mut ::std::os::raw::c_void, __nmemb: size_t,
1739                 __size: size_t, __compar: __compar_fn_t);
1740    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1741    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
1742    pub fn llabs(__x: ::std::os::raw::c_longlong)
1743     -> ::std::os::raw::c_longlong;
1744    pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int)
1745     -> div_t;
1746    pub fn ldiv(__numer: ::std::os::raw::c_long,
1747                __denom: ::std::os::raw::c_long) -> ldiv_t;
1748    pub fn lldiv(__numer: ::std::os::raw::c_longlong,
1749                 __denom: ::std::os::raw::c_longlong) -> lldiv_t;
1750    pub fn ecvt(__value: f64, __ndigit: ::std::os::raw::c_int,
1751                __decpt: *mut ::std::os::raw::c_int,
1752                __sign: *mut ::std::os::raw::c_int)
1753     -> *mut ::std::os::raw::c_char;
1754    pub fn fcvt(__value: f64, __ndigit: ::std::os::raw::c_int,
1755                __decpt: *mut ::std::os::raw::c_int,
1756                __sign: *mut ::std::os::raw::c_int)
1757     -> *mut ::std::os::raw::c_char;
1758    pub fn gcvt(__value: f64, __ndigit: ::std::os::raw::c_int,
1759                __buf: *mut ::std::os::raw::c_char)
1760     -> *mut ::std::os::raw::c_char;
1761    pub fn qecvt(__value: f64, __ndigit: ::std::os::raw::c_int,
1762                 __decpt: *mut ::std::os::raw::c_int,
1763                 __sign: *mut ::std::os::raw::c_int)
1764     -> *mut ::std::os::raw::c_char;
1765    pub fn qfcvt(__value: f64, __ndigit: ::std::os::raw::c_int,
1766                 __decpt: *mut ::std::os::raw::c_int,
1767                 __sign: *mut ::std::os::raw::c_int)
1768     -> *mut ::std::os::raw::c_char;
1769    pub fn qgcvt(__value: f64, __ndigit: ::std::os::raw::c_int,
1770                 __buf: *mut ::std::os::raw::c_char)
1771     -> *mut ::std::os::raw::c_char;
1772    pub fn ecvt_r(__value: f64, __ndigit: ::std::os::raw::c_int,
1773                  __decpt: *mut ::std::os::raw::c_int,
1774                  __sign: *mut ::std::os::raw::c_int,
1775                  __buf: *mut ::std::os::raw::c_char, __len: size_t)
1776     -> ::std::os::raw::c_int;
1777    pub fn fcvt_r(__value: f64, __ndigit: ::std::os::raw::c_int,
1778                  __decpt: *mut ::std::os::raw::c_int,
1779                  __sign: *mut ::std::os::raw::c_int,
1780                  __buf: *mut ::std::os::raw::c_char, __len: size_t)
1781     -> ::std::os::raw::c_int;
1782    pub fn qecvt_r(__value: f64, __ndigit: ::std::os::raw::c_int,
1783                   __decpt: *mut ::std::os::raw::c_int,
1784                   __sign: *mut ::std::os::raw::c_int,
1785                   __buf: *mut ::std::os::raw::c_char, __len: size_t)
1786     -> ::std::os::raw::c_int;
1787    pub fn qfcvt_r(__value: f64, __ndigit: ::std::os::raw::c_int,
1788                   __decpt: *mut ::std::os::raw::c_int,
1789                   __sign: *mut ::std::os::raw::c_int,
1790                   __buf: *mut ::std::os::raw::c_char, __len: size_t)
1791     -> ::std::os::raw::c_int;
1792    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: size_t)
1793     -> ::std::os::raw::c_int;
1794    pub fn mbtowc(__pwc: *mut wchar_t, __s: *const ::std::os::raw::c_char,
1795                  __n: size_t) -> ::std::os::raw::c_int;
1796    pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t)
1797     -> ::std::os::raw::c_int;
1798    pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char,
1799                    __n: size_t) -> size_t;
1800    pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t,
1801                    __n: size_t) -> size_t;
1802    pub fn rpmatch(__response: *const ::std::os::raw::c_char)
1803     -> ::std::os::raw::c_int;
1804    pub fn getsubopt(__optionp: *mut *mut ::std::os::raw::c_char,
1805                     __tokens: *const *mut ::std::os::raw::c_char,
1806                     __valuep: *mut *mut ::std::os::raw::c_char)
1807     -> ::std::os::raw::c_int;
1808    pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
1809     -> ::std::os::raw::c_int;
1810    pub fn fc2CreateContext(pContext: *mut fc2Context) -> fc2Error;
1811    pub fn fc2CreateGigEContext(pContext: *mut fc2Context) -> fc2Error;
1812    pub fn fc2DestroyContext(context: fc2Context) -> fc2Error;
1813    pub fn fc2FireBusReset(context: fc2Context, pGuid: *mut fc2PGRGuid)
1814     -> fc2Error;
1815    pub fn fc2GetNumOfCameras(context: fc2Context,
1816                              pNumCameras: *mut ::std::os::raw::c_uint)
1817     -> fc2Error;
1818    pub fn fc2IsCameraControlable(context: fc2Context, pGuid: *mut fc2PGRGuid,
1819                                  pControlable: *mut BOOL) -> fc2Error;
1820    pub fn fc2GetCameraFromIndex(context: fc2Context,
1821                                 index: ::std::os::raw::c_uint,
1822                                 pGuid: *mut fc2PGRGuid) -> fc2Error;
1823    pub fn fc2GetCameraFromIPAddress(context: fc2Context,
1824                                     ipAddress: fc2IPAddress,
1825                                     pGuid: *mut fc2PGRGuid) -> fc2Error;
1826    pub fn fc2GetCameraFromSerialNumber(context: fc2Context,
1827                                        serialNumber: ::std::os::raw::c_uint,
1828                                        pGuid: *mut fc2PGRGuid) -> fc2Error;
1829    pub fn fc2GetCameraSerialNumberFromIndex(context: fc2Context,
1830                                             index: ::std::os::raw::c_uint,
1831                                             pSerialNumber:
1832                                                 *mut ::std::os::raw::c_uint)
1833     -> fc2Error;
1834    pub fn fc2GetInterfaceTypeFromGuid(context: fc2Context,
1835                                       pGuid: *mut fc2PGRGuid,
1836                                       pInterfaceType: *mut fc2InterfaceType)
1837     -> fc2Error;
1838    pub fn fc2GetNumOfDevices(context: fc2Context,
1839                              pNumDevices: *mut ::std::os::raw::c_uint)
1840     -> fc2Error;
1841    pub fn fc2GetDeviceFromIndex(context: fc2Context,
1842                                 index: ::std::os::raw::c_uint,
1843                                 pGuid: *mut fc2PGRGuid) -> fc2Error;
1844    pub fn fc2RegisterCallback(context: fc2Context,
1845                               enumCallback: fc2BusEventCallback,
1846                               callbackType: fc2BusCallbackType,
1847                               pParameter: *mut ::std::os::raw::c_void,
1848                               pCallbackHandle: *mut fc2CallbackHandle)
1849     -> fc2Error;
1850    pub fn fc2UnregisterCallback(context: fc2Context,
1851                                 callbackHandle: fc2CallbackHandle)
1852     -> fc2Error;
1853    pub fn fc2RescanBus(context: fc2Context) -> fc2Error;
1854    pub fn fc2ForceIPAddressToCamera(context: fc2Context,
1855                                     macAddress: fc2MACAddress,
1856                                     ipAddress: fc2IPAddress,
1857                                     subnetMask: fc2IPAddress,
1858                                     defaultGateway: fc2IPAddress)
1859     -> fc2Error;
1860    pub fn fc2ForceAllIPAddressesAutomatically() -> fc2Error;
1861    pub fn fc2ForceIPAddressAutomatically(serialNumber:
1862                                              ::std::os::raw::c_uint)
1863     -> fc2Error;
1864    pub fn fc2DiscoverGigECameras(context: fc2Context,
1865                                  gigECameras: *mut fc2CameraInfo,
1866                                  arraySize: *mut ::std::os::raw::c_uint)
1867     -> fc2Error;
1868    pub fn fc2WriteRegister(context: fc2Context,
1869                            address: ::std::os::raw::c_uint,
1870                            value: ::std::os::raw::c_uint) -> fc2Error;
1871    pub fn fc2WriteRegisterBroadcast(context: fc2Context,
1872                                     address: ::std::os::raw::c_uint,
1873                                     value: ::std::os::raw::c_uint)
1874     -> fc2Error;
1875    pub fn fc2ReadRegister(context: fc2Context,
1876                           address: ::std::os::raw::c_uint,
1877                           pValue: *mut ::std::os::raw::c_uint) -> fc2Error;
1878    pub fn fc2WriteRegisterBlock(context: fc2Context,
1879                                 addressHigh: ::std::os::raw::c_ushort,
1880                                 addressLow: ::std::os::raw::c_uint,
1881                                 pBuffer: *const ::std::os::raw::c_uint,
1882                                 length: ::std::os::raw::c_uint) -> fc2Error;
1883    pub fn fc2ReadRegisterBlock(context: fc2Context,
1884                                addressHigh: ::std::os::raw::c_ushort,
1885                                addressLow: ::std::os::raw::c_uint,
1886                                pBuffer: *mut ::std::os::raw::c_uint,
1887                                length: ::std::os::raw::c_uint) -> fc2Error;
1888    pub fn fc2Connect(context: fc2Context, guid: *mut fc2PGRGuid) -> fc2Error;
1889    pub fn fc2Disconnect(context: fc2Context) -> fc2Error;
1890    pub fn fc2SetCallback(context: fc2Context,
1891                          pCallbackFn: fc2ImageEventCallback,
1892                          pCallbackData: *mut ::std::os::raw::c_void)
1893     -> fc2Error;
1894    pub fn fc2StartCapture(context: fc2Context) -> fc2Error;
1895    pub fn fc2StartCaptureCallback(context: fc2Context,
1896                                   pCallbackFn: fc2ImageEventCallback,
1897                                   pCallbackData: *mut ::std::os::raw::c_void)
1898     -> fc2Error;
1899    pub fn fc2StartSyncCapture(numCameras: ::std::os::raw::c_uint,
1900                               pContexts: *mut fc2Context) -> fc2Error;
1901    pub fn fc2StartSyncCaptureCallback(numCameras: ::std::os::raw::c_uint,
1902                                       pContexts: *mut fc2Context,
1903                                       pCallbackFns:
1904                                           *mut fc2ImageEventCallback,
1905                                       pCallbackDataArray:
1906                                           *mut *mut ::std::os::raw::c_void)
1907     -> fc2Error;
1908    pub fn fc2RetrieveBuffer(context: fc2Context, pImage: *mut fc2Image)
1909     -> fc2Error;
1910    pub fn fc2StopCapture(context: fc2Context) -> fc2Error;
1911    pub fn fc2SetUserBuffers(context: fc2Context,
1912                             ppMemBuffers: *mut ::std::os::raw::c_uchar,
1913                             size: ::std::os::raw::c_int,
1914                             nNumBuffers: ::std::os::raw::c_int) -> fc2Error;
1915    pub fn fc2GetConfiguration(context: fc2Context, config: *mut fc2Config)
1916     -> fc2Error;
1917    pub fn fc2SetConfiguration(context: fc2Context, config: *mut fc2Config)
1918     -> fc2Error;
1919    pub fn fc2GetCameraInfo(context: fc2Context,
1920                            pCameraInfo: *mut fc2CameraInfo) -> fc2Error;
1921    pub fn fc2GetPropertyInfo(context: fc2Context,
1922                              propInfo: *mut fc2PropertyInfo) -> fc2Error;
1923    pub fn fc2GetProperty(context: fc2Context, prop: *mut fc2Property)
1924     -> fc2Error;
1925    pub fn fc2SetProperty(context: fc2Context, prop: *mut fc2Property)
1926     -> fc2Error;
1927    pub fn fc2SetPropertyBroadcast(context: fc2Context,
1928                                   prop: *mut fc2Property) -> fc2Error;
1929    pub fn fc2GetGPIOPinDirection(context: fc2Context,
1930                                  pin: ::std::os::raw::c_uint,
1931                                  pDirection: *mut ::std::os::raw::c_uint)
1932     -> fc2Error;
1933    pub fn fc2SetGPIOPinDirection(context: fc2Context,
1934                                  pin: ::std::os::raw::c_uint,
1935                                  direction: ::std::os::raw::c_uint)
1936     -> fc2Error;
1937    pub fn fc2SetGPIOPinDirectionBroadcast(context: fc2Context,
1938                                           pin: ::std::os::raw::c_uint,
1939                                           direction: ::std::os::raw::c_uint)
1940     -> fc2Error;
1941    pub fn fc2GetTriggerModeInfo(context: fc2Context,
1942                                 triggerModeInfo: *mut fc2TriggerModeInfo)
1943     -> fc2Error;
1944    pub fn fc2GetTriggerMode(context: fc2Context,
1945                             triggerMode: *mut fc2TriggerMode) -> fc2Error;
1946    pub fn fc2SetTriggerMode(context: fc2Context,
1947                             triggerMode: *mut fc2TriggerMode) -> fc2Error;
1948    pub fn fc2SetTriggerModeBroadcast(context: fc2Context,
1949                                      triggerMode: *mut fc2TriggerMode)
1950     -> fc2Error;
1951    pub fn fc2FireSoftwareTrigger(context: fc2Context) -> fc2Error;
1952    pub fn fc2FireSoftwareTriggerBroadcast(context: fc2Context) -> fc2Error;
1953    pub fn fc2GetTriggerDelayInfo(context: fc2Context,
1954                                  triggerDelayInfo: *mut fc2TriggerDelayInfo)
1955     -> fc2Error;
1956    pub fn fc2GetTriggerDelay(context: fc2Context,
1957                              triggerDelay: *mut fc2TriggerDelay) -> fc2Error;
1958    pub fn fc2SetTriggerDelay(context: fc2Context,
1959                              triggerDelay: *mut fc2TriggerDelay) -> fc2Error;
1960    pub fn fc2SetTriggerDelayBroadcast(context: fc2Context,
1961                                       triggerDelay: *mut fc2TriggerDelay)
1962     -> fc2Error;
1963    pub fn fc2GetStrobeInfo(context: fc2Context,
1964                            strobeInfo: *mut fc2StrobeInfo) -> fc2Error;
1965    pub fn fc2GetStrobe(context: fc2Context,
1966                        strobeControl: *mut fc2StrobeControl) -> fc2Error;
1967    pub fn fc2SetStrobe(context: fc2Context,
1968                        strobeControl: *mut fc2StrobeControl) -> fc2Error;
1969    pub fn fc2SetStrobeBroadcast(context: fc2Context,
1970                                 strobeControl: *mut fc2StrobeControl)
1971     -> fc2Error;
1972    pub fn fc2GetVideoModeAndFrameRateInfo(context: fc2Context,
1973                                           videoMode: fc2VideoMode,
1974                                           frameRate: fc2FrameRate,
1975                                           pSupported: *mut BOOL) -> fc2Error;
1976    pub fn fc2GetVideoModeAndFrameRate(context: fc2Context,
1977                                       videoMode: *mut fc2VideoMode,
1978                                       frameRate: *mut fc2FrameRate)
1979     -> fc2Error;
1980    pub fn fc2SetVideoModeAndFrameRate(context: fc2Context,
1981                                       videoMode: fc2VideoMode,
1982                                       frameRate: fc2FrameRate) -> fc2Error;
1983    pub fn fc2GetFormat7Info(context: fc2Context, info: *mut fc2Format7Info,
1984                             pSupported: *mut BOOL) -> fc2Error;
1985    pub fn fc2ValidateFormat7Settings(context: fc2Context,
1986                                      imageSettings:
1987                                          *mut fc2Format7ImageSettings,
1988                                      settingsAreValid: *mut BOOL,
1989                                      packetInfo: *mut fc2Format7PacketInfo)
1990     -> fc2Error;
1991    pub fn fc2GetFormat7Configuration(context: fc2Context,
1992                                      imageSettings:
1993                                          *mut fc2Format7ImageSettings,
1994                                      packetSize: *mut ::std::os::raw::c_uint,
1995                                      percentage: *mut f32) -> fc2Error;
1996    pub fn fc2SetFormat7ConfigurationPacket(context: fc2Context,
1997                                            imageSettings:
1998                                                *mut fc2Format7ImageSettings,
1999                                            packetSize:
2000                                                ::std::os::raw::c_uint)
2001     -> fc2Error;
2002    pub fn fc2SetFormat7Configuration(context: fc2Context,
2003                                      imageSettings:
2004                                          *mut fc2Format7ImageSettings,
2005                                      percentSpeed: f32) -> fc2Error;
2006    pub fn fc2WriteGVCPRegister(context: fc2Context,
2007                                address: ::std::os::raw::c_uint,
2008                                value: ::std::os::raw::c_uint) -> fc2Error;
2009    pub fn fc2WriteGVCPRegisterBroadcast(context: fc2Context,
2010                                         address: ::std::os::raw::c_uint,
2011                                         value: ::std::os::raw::c_uint)
2012     -> fc2Error;
2013    pub fn fc2ReadGVCPRegister(context: fc2Context,
2014                               address: ::std::os::raw::c_uint,
2015                               pValue: *mut ::std::os::raw::c_uint)
2016     -> fc2Error;
2017    pub fn fc2WriteGVCPRegisterBlock(context: fc2Context,
2018                                     address: ::std::os::raw::c_uint,
2019                                     pBuffer: *const ::std::os::raw::c_uint,
2020                                     length: ::std::os::raw::c_uint)
2021     -> fc2Error;
2022    pub fn fc2ReadGVCPRegisterBlock(context: fc2Context,
2023                                    address: ::std::os::raw::c_uint,
2024                                    pBuffer: *mut ::std::os::raw::c_uint,
2025                                    length: ::std::os::raw::c_uint)
2026     -> fc2Error;
2027    pub fn fc2WriteGVCPMemory(context: fc2Context,
2028                              address: ::std::os::raw::c_uint,
2029                              pBuffer: *const ::std::os::raw::c_uchar,
2030                              length: ::std::os::raw::c_uint) -> fc2Error;
2031    pub fn fc2ReadGVCPMemory(context: fc2Context,
2032                             address: ::std::os::raw::c_uint,
2033                             pBuffer: *mut ::std::os::raw::c_uchar,
2034                             length: ::std::os::raw::c_uint) -> fc2Error;
2035    pub fn fc2GetGigEProperty(context: fc2Context,
2036                              pGigEProp: *mut fc2GigEProperty) -> fc2Error;
2037    pub fn fc2SetGigEProperty(context: fc2Context,
2038                              pGigEProp: *const fc2GigEProperty) -> fc2Error;
2039    pub fn fc2QueryGigEImagingMode(context: fc2Context, mode: fc2Mode,
2040                                   isSupported: *mut BOOL) -> fc2Error;
2041    pub fn fc2GetGigEImagingMode(context: fc2Context, mode: *mut fc2Mode)
2042     -> fc2Error;
2043    pub fn fc2SetGigEImagingMode(context: fc2Context, mode: fc2Mode)
2044     -> fc2Error;
2045    pub fn fc2GetGigEImageSettingsInfo(context: fc2Context,
2046                                       pInfo: *mut fc2GigEImageSettingsInfo)
2047     -> fc2Error;
2048    pub fn fc2GetGigEImageSettings(context: fc2Context,
2049                                   pImageSettings: *mut fc2GigEImageSettings)
2050     -> fc2Error;
2051    pub fn fc2SetGigEImageSettings(context: fc2Context,
2052                                   pImageSettings:
2053                                       *const fc2GigEImageSettings)
2054     -> fc2Error;
2055    pub fn fc2GetGigEConfig(context: fc2Context, pConfig: *mut fc2GigEConfig)
2056     -> fc2Error;
2057    pub fn fc2SetGigEConfig(context: fc2Context,
2058                            pConfig: *const fc2GigEConfig) -> fc2Error;
2059    pub fn fc2GetGigEImageBinningSettings(context: fc2Context,
2060                                          horzBinnningValue:
2061                                              *mut ::std::os::raw::c_uint,
2062                                          vertBinnningValue:
2063                                              *mut ::std::os::raw::c_uint)
2064     -> fc2Error;
2065    pub fn fc2SetGigEImageBinningSettings(context: fc2Context,
2066                                          horzBinnningValue:
2067                                              ::std::os::raw::c_uint,
2068                                          vertBinnningValue:
2069                                              ::std::os::raw::c_uint)
2070     -> fc2Error;
2071    pub fn fc2GetNumStreamChannels(context: fc2Context,
2072                                   numChannels: *mut ::std::os::raw::c_uint)
2073     -> fc2Error;
2074    pub fn fc2GetGigEStreamChannelInfo(context: fc2Context,
2075                                       channel: ::std::os::raw::c_uint,
2076                                       pChannel: *mut fc2GigEStreamChannel)
2077     -> fc2Error;
2078    pub fn fc2SetGigEStreamChannelInfo(context: fc2Context,
2079                                       channel: ::std::os::raw::c_uint,
2080                                       pChannel: *mut fc2GigEStreamChannel)
2081     -> fc2Error;
2082    pub fn fc2GetLUTInfo(context: fc2Context, pData: *mut fc2LUTData)
2083     -> fc2Error;
2084    pub fn fc2GetLUTBankInfo(context: fc2Context,
2085                             bank: ::std::os::raw::c_uint,
2086                             pReadSupported: *mut BOOL,
2087                             pWriteSupported: *mut BOOL) -> fc2Error;
2088    pub fn fc2GetActiveLUTBank(context: fc2Context,
2089                               pActiveBank: *mut ::std::os::raw::c_uint)
2090     -> fc2Error;
2091    pub fn fc2SetActiveLUTBank(context: fc2Context,
2092                               activeBank: ::std::os::raw::c_uint)
2093     -> fc2Error;
2094    pub fn fc2EnableLUT(context: fc2Context, on: BOOL) -> fc2Error;
2095    pub fn fc2GetLUTChannel(context: fc2Context, bank: ::std::os::raw::c_uint,
2096                            channel: ::std::os::raw::c_uint,
2097                            sizeEntries: ::std::os::raw::c_uint,
2098                            pEntries: *mut ::std::os::raw::c_uint)
2099     -> fc2Error;
2100    pub fn fc2SetLUTChannel(context: fc2Context, bank: ::std::os::raw::c_uint,
2101                            channel: ::std::os::raw::c_uint,
2102                            sizeEntries: ::std::os::raw::c_uint,
2103                            pEntries: *mut ::std::os::raw::c_uint)
2104     -> fc2Error;
2105    pub fn fc2GetMemoryChannel(context: fc2Context,
2106                               pCurrentChannel: *mut ::std::os::raw::c_uint)
2107     -> fc2Error;
2108    pub fn fc2SaveToMemoryChannel(context: fc2Context,
2109                                  channel: ::std::os::raw::c_uint)
2110     -> fc2Error;
2111    pub fn fc2RestoreFromMemoryChannel(context: fc2Context,
2112                                       channel: ::std::os::raw::c_uint)
2113     -> fc2Error;
2114    pub fn fc2GetMemoryChannelInfo(context: fc2Context,
2115                                   pNumChannels: *mut ::std::os::raw::c_uint)
2116     -> fc2Error;
2117    pub fn fc2GetEmbeddedImageInfo(context: fc2Context,
2118                                   pInfo: *mut fc2EmbeddedImageInfo)
2119     -> fc2Error;
2120    pub fn fc2SetEmbeddedImageInfo(context: fc2Context,
2121                                   pInfo: *mut fc2EmbeddedImageInfo)
2122     -> fc2Error;
2123    pub fn fc2GetRegisterString(registerVal: ::std::os::raw::c_uint)
2124     -> *const ::std::os::raw::c_char;
2125    pub fn fc2CreateImage(pImage: *mut fc2Image) -> fc2Error;
2126    pub fn fc2DestroyImage(image: *mut fc2Image) -> fc2Error;
2127    pub fn fc2SetDefaultColorProcessing(defaultMethod:
2128                                            fc2ColorProcessingAlgorithm)
2129     -> fc2Error;
2130    pub fn fc2GetDefaultColorProcessing(pDefaultMethod:
2131                                            *mut fc2ColorProcessingAlgorithm)
2132     -> fc2Error;
2133    pub fn fc2SetDefaultOutputFormat(format: fc2PixelFormat) -> fc2Error;
2134    pub fn fc2GetDefaultOutputFormat(pFormat: *mut fc2PixelFormat)
2135     -> fc2Error;
2136    pub fn fc2DetermineBitsPerPixel(format: fc2PixelFormat,
2137                                    pBitsPerPixel:
2138                                        *mut ::std::os::raw::c_uint)
2139     -> fc2Error;
2140    pub fn fc2SaveImage(pImage: *mut fc2Image,
2141                        pFilename: *const ::std::os::raw::c_char,
2142                        format: fc2ImageFileFormat) -> fc2Error;
2143    pub fn fc2SaveImageWithOption(pImage: *mut fc2Image,
2144                                  pFilename: *const ::std::os::raw::c_char,
2145                                  format: fc2ImageFileFormat,
2146                                  pOption: *mut ::std::os::raw::c_void)
2147     -> fc2Error;
2148    pub fn fc2ConvertImage(pImageIn: *mut fc2Image, pImageOut: *mut fc2Image)
2149     -> fc2Error;
2150    pub fn fc2ConvertImageTo(format: fc2PixelFormat, pImageIn: *mut fc2Image,
2151                             pImageOut: *mut fc2Image) -> fc2Error;
2152    pub fn fc2GetImageData(pImage: *mut fc2Image,
2153                           ppData: *mut *mut ::std::os::raw::c_uchar)
2154     -> fc2Error;
2155    pub fn fc2SetImageData(pImage: *mut fc2Image,
2156                           pData: *const ::std::os::raw::c_uchar,
2157                           dataSize: ::std::os::raw::c_uint) -> fc2Error;
2158    pub fn fc2SetImageDimensions(pImage: *mut fc2Image,
2159                                 rows: ::std::os::raw::c_uint,
2160                                 cols: ::std::os::raw::c_uint,
2161                                 stride: ::std::os::raw::c_uint,
2162                                 pixelFormat: fc2PixelFormat,
2163                                 bayerFormat: fc2BayerTileFormat) -> fc2Error;
2164    pub fn fc2GetImageTimeStamp(pImage: *mut fc2Image) -> fc2TimeStamp;
2165    pub fn fc2CalculateImageStatistics(pImage: *mut fc2Image,
2166                                       pImageStatisticsContext:
2167                                           *mut fc2ImageStatisticsContext)
2168     -> fc2Error;
2169    pub fn fc2CreateImageStatistics(pImageStatisticsContext:
2170                                        *mut fc2ImageStatisticsContext)
2171     -> fc2Error;
2172    pub fn fc2DestroyImageStatistics(imageStatisticsContext:
2173                                         fc2ImageStatisticsContext)
2174     -> fc2Error;
2175    pub fn fc2GetChannelStatus(imageStatisticsContext:
2176                                   fc2ImageStatisticsContext,
2177                               channel: fc2StatisticsChannel,
2178                               pEnabled: *mut BOOL) -> fc2Error;
2179    pub fn fc2SetChannelStatus(imageStatisticsContext:
2180                                   fc2ImageStatisticsContext,
2181                               channel: fc2StatisticsChannel, enabled: BOOL)
2182     -> fc2Error;
2183    pub fn fc2GetImageStatistics(imageStatisticsContext:
2184                                     fc2ImageStatisticsContext,
2185                                 channel: fc2StatisticsChannel,
2186                                 pRangeMin: *mut ::std::os::raw::c_uint,
2187                                 pRangeMax: *mut ::std::os::raw::c_uint,
2188                                 pPixelValueMin: *mut ::std::os::raw::c_uint,
2189                                 pPixelValueMax: *mut ::std::os::raw::c_uint,
2190                                 pNumPixelValues: *mut ::std::os::raw::c_uint,
2191                                 pPixelValueMean: *mut f32,
2192                                 ppHistogram: *mut *mut ::std::os::raw::c_int)
2193     -> fc2Error;
2194    pub fn fc2CreateAVI(pAVIContext: *mut fc2AVIContext) -> fc2Error;
2195    pub fn fc2AVIOpen(AVIContext: fc2AVIContext,
2196                      pFileName: *const ::std::os::raw::c_char,
2197                      pOption: *mut fc2AVIOption) -> fc2Error;
2198    pub fn fc2MJPGOpen(AVIContext: fc2AVIContext,
2199                       pFileName: *const ::std::os::raw::c_char,
2200                       pOption: *mut fc2MJPGOption) -> fc2Error;
2201    pub fn fc2H264Open(AVIContext: fc2AVIContext,
2202                       pFileName: *const ::std::os::raw::c_char,
2203                       pOption: *mut fc2H264Option) -> fc2Error;
2204    pub fn fc2AVIAppend(AVIContext: fc2AVIContext, pImage: *mut fc2Image)
2205     -> fc2Error;
2206    pub fn fc2AVIClose(AVIContext: fc2AVIContext) -> fc2Error;
2207    pub fn fc2DestroyAVI(AVIContext: fc2AVIContext) -> fc2Error;
2208    pub fn fc2GetSystemInfo(pSystemInfo: *mut fc2SystemInfo) -> fc2Error;
2209    pub fn fc2GetLibraryVersion(pVersion: *mut fc2Version) -> fc2Error;
2210    pub fn fc2LaunchBrowser(pAddress: *const ::std::os::raw::c_char)
2211     -> fc2Error;
2212    pub fn fc2LaunchHelp(pFileName: *const ::std::os::raw::c_char)
2213     -> fc2Error;
2214    pub fn fc2LaunchCommand(pCommand: *const ::std::os::raw::c_char)
2215     -> fc2Error;
2216    pub fn fc2LaunchCommandAsync(pCommand: *const ::std::os::raw::c_char,
2217                                 pCallback: fc2AsyncCommandCallback,
2218                                 pUserData: *mut ::std::os::raw::c_void)
2219     -> fc2Error;
2220    pub fn fc2ErrorToDescription(error: fc2Error)
2221     -> *const ::std::os::raw::c_char;
2222    pub fn fc2GetCycleTime(context: fc2Context, pTimeStamp: *mut fc2TimeStamp)
2223     -> fc2Error;
2224}