mvsdk/camera/
c_bindings.rs

1/* automatically generated by rust-bindgen 0.59.2 */
2#![allow(dead_code)]
3#![warn(deref_nullptr)]
4pub const CAMERA_STATUS_SUCCESS: u32 = 0;
5pub const CAMERA_STATUS_FAILED: i32 = -1;
6pub const CAMERA_STATUS_INTERNAL_ERROR: i32 = -2;
7pub const CAMERA_STATUS_UNKNOW: i32 = -3;
8pub const CAMERA_STATUS_NOT_SUPPORTED: i32 = -4;
9pub const CAMERA_STATUS_NOT_INITIALIZED: i32 = -5;
10pub const CAMERA_STATUS_PARAMETER_INVALID: i32 = -6;
11pub const CAMERA_STATUS_PARAMETER_OUT_OF_BOUND: i32 = -7;
12pub const CAMERA_STATUS_UNENABLED: i32 = -8;
13pub const CAMERA_STATUS_USER_CANCEL: i32 = -9;
14pub const CAMERA_STATUS_PATH_NOT_FOUND: i32 = -10;
15pub const CAMERA_STATUS_SIZE_DISMATCH: i32 = -11;
16pub const CAMERA_STATUS_TIME_OUT: i32 = -12;
17pub const CAMERA_STATUS_IO_ERROR: i32 = -13;
18pub const CAMERA_STATUS_COMM_ERROR: i32 = -14;
19pub const CAMERA_STATUS_BUS_ERROR: i32 = -15;
20pub const CAMERA_STATUS_NO_DEVICE_FOUND: i32 = -16;
21pub const CAMERA_STATUS_NO_LOGIC_DEVICE_FOUND: i32 = -17;
22pub const CAMERA_STATUS_DEVICE_IS_OPENED: i32 = -18;
23pub const CAMERA_STATUS_DEVICE_IS_CLOSED: i32 = -19;
24pub const CAMERA_STATUS_DEVICE_VEDIO_CLOSED: i32 = -20;
25pub const CAMERA_STATUS_NO_MEMORY: i32 = -21;
26pub const CAMERA_STATUS_FILE_CREATE_FAILED: i32 = -22;
27pub const CAMERA_STATUS_FILE_INVALID: i32 = -23;
28pub const CAMERA_STATUS_WRITE_PROTECTED: i32 = -24;
29pub const CAMERA_STATUS_GRAB_FAILED: i32 = -25;
30pub const CAMERA_STATUS_LOST_DATA: i32 = -26;
31pub const CAMERA_STATUS_EOF_ERROR: i32 = -27;
32pub const CAMERA_STATUS_BUSY: i32 = -28;
33pub const CAMERA_STATUS_WAIT: i32 = -29;
34pub const CAMERA_STATUS_IN_PROCESS: i32 = -30;
35pub const CAMERA_STATUS_IIC_ERROR: i32 = -31;
36pub const CAMERA_STATUS_SPI_ERROR: i32 = -32;
37pub const CAMERA_STATUS_USB_CONTROL_ERROR: i32 = -33;
38pub const CAMERA_STATUS_USB_BULK_ERROR: i32 = -34;
39pub const CAMERA_STATUS_SOCKET_INIT_ERROR: i32 = -35;
40pub const CAMERA_STATUS_GIGE_FILTER_INIT_ERROR: i32 = -36;
41pub const CAMERA_STATUS_NET_SEND_ERROR: i32 = -37;
42pub const CAMERA_STATUS_DEVICE_LOST: i32 = -38;
43pub const CAMERA_STATUS_DATA_RECV_LESS: i32 = -39;
44pub const CAMERA_STATUS_FUNCTION_LOAD_FAILED: i32 = -40;
45pub const CAMERA_STATUS_CRITICAL_FILE_LOST: i32 = -41;
46pub const CAMERA_STATUS_SENSOR_ID_DISMATCH: i32 = -42;
47pub const CAMERA_STATUS_OUT_OF_RANGE: i32 = -43;
48pub const CAMERA_STATUS_REGISTRY_ERROR: i32 = -44;
49pub const CAMERA_STATUS_ACCESS_DENY: i32 = -45;
50pub const CAMERA_STATUS_CAMERA_NEED_RESET: i32 = -46;
51pub const CAMERA_STATUS_ISP_MOUDLE_NOT_INITIALIZED: i32 = -47;
52pub const CAMERA_STATUS_ISP_DATA_CRC_ERROR: i32 = -48;
53pub const CAMERA_STATUS_MV_TEST_FAILED: i32 = -49;
54pub const CAMERA_STATUS_INTERNAL_ERR1: i32 = -50;
55pub const CAMERA_STATUS_U3V_NO_CONTROL_EP: i32 = -51;
56pub const CAMERA_STATUS_U3V_CONTROL_ERROR: i32 = -52;
57pub const CAMERA_AIA_PACKET_RESEND: u32 = 256;
58pub const CAMERA_AIA_NOT_IMPLEMENTED: u32 = 32769;
59pub const CAMERA_AIA_INVALID_PARAMETER: u32 = 32770;
60pub const CAMERA_AIA_INVALID_ADDRESS: u32 = 32771;
61pub const CAMERA_AIA_WRITE_PROTECT: u32 = 32772;
62pub const CAMERA_AIA_BAD_ALIGNMENT: u32 = 32773;
63pub const CAMERA_AIA_ACCESS_DENIED: u32 = 32774;
64pub const CAMERA_AIA_BUSY: u32 = 32775;
65pub const CAMERA_AIA_DEPRECATED: u32 = 32776;
66pub const CAMERA_AIA_PACKET_UNAVAILABLE: u32 = 32780;
67pub const CAMERA_AIA_DATA_OVERRUN: u32 = 32781;
68pub const CAMERA_AIA_INVALID_HEADER: u32 = 32782;
69pub const CAMERA_AIA_PACKET_NOT_YET_AVAILABLE: u32 = 32784;
70pub const CAMERA_AIA_PACKET_AND_PREV_REMOVED_FROM_MEMORY: u32 = 32785;
71pub const CAMERA_AIA_PACKET_REMOVED_FROM_MEMORY: u32 = 32786;
72pub const CAMERA_AIA_NO_REF_TIME: u32 = 2067;
73pub const CAMERA_AIA_PACKET_TEMPORARILY_UNAVAILABLE: u32 = 2068;
74pub const CAMERA_AIA_OVERFLOW: u32 = 2069;
75pub const CAMERA_AIA_ACTION_LATE: u32 = 2070;
76pub const CAMERA_AIA_ERROR: u32 = 36863;
77pub const MAX_CROSS_LINE: u32 = 9;
78pub const TRUE: u32 = 1;
79pub const FALSE: u32 = 0;
80pub const EXT_TRIG_MASK_GRR_SHUTTER: u32 = 1;
81pub const EXT_TRIG_MASK_LEVEL_MODE: u32 = 2;
82pub const EXT_TRIG_MASK_DOUBLE_EDGE: u32 = 4;
83pub const MASK_2X2_HD: u32 = 1;
84pub const MASK_3X3_HD: u32 = 2;
85pub const MASK_4X4_HD: u32 = 4;
86pub const MASK_5X5_HD: u32 = 8;
87pub const MASK_6X6_HD: u32 = 16;
88pub const MASK_7X7_HD: u32 = 32;
89pub const MASK_8X8_HD: u32 = 64;
90pub const MASK_9X9_HD: u32 = 128;
91pub const MASK_10X10_HD: u32 = 256;
92pub const MASK_11X11_HD: u32 = 512;
93pub const MASK_12X12_HD: u32 = 1024;
94pub const MASK_13X13_HD: u32 = 2048;
95pub const MASK_14X14_HD: u32 = 4096;
96pub const MASK_15X15_HD: u32 = 8192;
97pub const MASK_16X16_HD: u32 = 16384;
98pub const MASK_17X17_HD: u32 = 32768;
99pub const MASK_2X2_SW: u32 = 65536;
100pub const MASK_3X3_SW: u32 = 131072;
101pub const MASK_4X4_SW: u32 = 262144;
102pub const MASK_5X5_SW: u32 = 524288;
103pub const MASK_6X6_SW: u32 = 1048576;
104pub const MASK_7X7_SW: u32 = 2097152;
105pub const MASK_8X8_SW: u32 = 4194304;
106pub const MASK_9X9_SW: u32 = 8388608;
107pub const MASK_10X10_SW: u32 = 16777216;
108pub const MASK_11X11_SW: u32 = 33554432;
109pub const MASK_12X12_SW: u32 = 67108864;
110pub const MASK_13X13_SW: u32 = 134217728;
111pub const MASK_14X14_SW: u32 = 268435456;
112pub const MASK_15X15_SW: u32 = 536870912;
113pub const MASK_16X16_SW: u32 = 1073741824;
114pub const MASK_17X17_SW: u32 = 2147483648;
115pub const CAMERA_MEDIA_TYPE_MONO: u32 = 16777216;
116pub const CAMERA_MEDIA_TYPE_RGB: u32 = 33554432;
117pub const CAMERA_MEDIA_TYPE_COLOR: u32 = 33554432;
118pub const CAMERA_MEDIA_TYPE_CUSTOM: u32 = 2147483648;
119pub const CAMERA_MEDIA_TYPE_COLOR_MASK: u32 = 4278190080;
120pub const CAMERA_MEDIA_TYPE_OCCUPY1BIT: u32 = 65536;
121pub const CAMERA_MEDIA_TYPE_OCCUPY2BIT: u32 = 131072;
122pub const CAMERA_MEDIA_TYPE_OCCUPY4BIT: u32 = 262144;
123pub const CAMERA_MEDIA_TYPE_OCCUPY8BIT: u32 = 524288;
124pub const CAMERA_MEDIA_TYPE_OCCUPY10BIT: u32 = 655360;
125pub const CAMERA_MEDIA_TYPE_OCCUPY12BIT: u32 = 786432;
126pub const CAMERA_MEDIA_TYPE_OCCUPY16BIT: u32 = 1048576;
127pub const CAMERA_MEDIA_TYPE_OCCUPY24BIT: u32 = 1572864;
128pub const CAMERA_MEDIA_TYPE_OCCUPY32BIT: u32 = 2097152;
129pub const CAMERA_MEDIA_TYPE_OCCUPY36BIT: u32 = 2359296;
130pub const CAMERA_MEDIA_TYPE_OCCUPY48BIT: u32 = 3145728;
131pub const CAMERA_MEDIA_TYPE_OCCUPY64BIT: u32 = 4194304;
132pub const CAMERA_MEDIA_TYPE_EFFECTIVE_PIXEL_SIZE_MASK: u32 = 16711680;
133pub const CAMERA_MEDIA_TYPE_EFFECTIVE_PIXEL_SIZE_SHIFT: u32 = 16;
134pub const CAMERA_MEDIA_TYPE_ID_MASK: u32 = 65535;
135pub const CAMERA_MEDIA_TYPE_COUNT: u32 = 70;
136pub const CAMERA_MEDIA_TYPE_MONO1P: u32 = 16842807;
137pub const CAMERA_MEDIA_TYPE_MONO2P: u32 = 16908344;
138pub const CAMERA_MEDIA_TYPE_MONO4P: u32 = 17039417;
139pub const CAMERA_MEDIA_TYPE_MONO8: u32 = 17301505;
140pub const CAMERA_MEDIA_TYPE_MONO8S: u32 = 17301506;
141pub const CAMERA_MEDIA_TYPE_MONO10: u32 = 17825795;
142pub const CAMERA_MEDIA_TYPE_MONO10_PACKED: u32 = 17563652;
143pub const CAMERA_MEDIA_TYPE_MONO12: u32 = 17825797;
144pub const CAMERA_MEDIA_TYPE_MONO12_PACKED: u32 = 17563654;
145pub const CAMERA_MEDIA_TYPE_MONO14: u32 = 17825829;
146pub const CAMERA_MEDIA_TYPE_MONO16: u32 = 17825799;
147pub const CAMERA_MEDIA_TYPE_BAYGR8: u32 = 17301512;
148pub const CAMERA_MEDIA_TYPE_BAYRG8: u32 = 17301513;
149pub const CAMERA_MEDIA_TYPE_BAYGB8: u32 = 17301514;
150pub const CAMERA_MEDIA_TYPE_BAYBG8: u32 = 17301515;
151pub const CAMERA_MEDIA_TYPE_BAYGR10_MIPI: u32 = 17432614;
152pub const CAMERA_MEDIA_TYPE_BAYRG10_MIPI: u32 = 17432615;
153pub const CAMERA_MEDIA_TYPE_BAYGB10_MIPI: u32 = 17432616;
154pub const CAMERA_MEDIA_TYPE_BAYBG10_MIPI: u32 = 17432617;
155pub const CAMERA_MEDIA_TYPE_BAYGR10: u32 = 17825804;
156pub const CAMERA_MEDIA_TYPE_BAYRG10: u32 = 17825805;
157pub const CAMERA_MEDIA_TYPE_BAYGB10: u32 = 17825806;
158pub const CAMERA_MEDIA_TYPE_BAYBG10: u32 = 17825807;
159pub const CAMERA_MEDIA_TYPE_BAYGR12: u32 = 17825808;
160pub const CAMERA_MEDIA_TYPE_BAYRG12: u32 = 17825809;
161pub const CAMERA_MEDIA_TYPE_BAYGB12: u32 = 17825810;
162pub const CAMERA_MEDIA_TYPE_BAYBG12: u32 = 17825811;
163pub const CAMERA_MEDIA_TYPE_BAYGR10_PACKED: u32 = 17563686;
164pub const CAMERA_MEDIA_TYPE_BAYRG10_PACKED: u32 = 17563687;
165pub const CAMERA_MEDIA_TYPE_BAYGB10_PACKED: u32 = 17563688;
166pub const CAMERA_MEDIA_TYPE_BAYBG10_PACKED: u32 = 17563689;
167pub const CAMERA_MEDIA_TYPE_BAYGR12_PACKED: u32 = 17563690;
168pub const CAMERA_MEDIA_TYPE_BAYRG12_PACKED: u32 = 17563691;
169pub const CAMERA_MEDIA_TYPE_BAYGB12_PACKED: u32 = 17563692;
170pub const CAMERA_MEDIA_TYPE_BAYBG12_PACKED: u32 = 17563693;
171pub const CAMERA_MEDIA_TYPE_BAYGR16: u32 = 17825838;
172pub const CAMERA_MEDIA_TYPE_BAYRG16: u32 = 17825839;
173pub const CAMERA_MEDIA_TYPE_BAYGB16: u32 = 17825840;
174pub const CAMERA_MEDIA_TYPE_BAYBG16: u32 = 17825841;
175pub const CAMERA_MEDIA_TYPE_RGB8: u32 = 35127316;
176pub const CAMERA_MEDIA_TYPE_BGR8: u32 = 35127317;
177pub const CAMERA_MEDIA_TYPE_RGBA8: u32 = 35651606;
178pub const CAMERA_MEDIA_TYPE_BGRA8: u32 = 35651607;
179pub const CAMERA_MEDIA_TYPE_RGB10: u32 = 36700184;
180pub const CAMERA_MEDIA_TYPE_BGR10: u32 = 36700185;
181pub const CAMERA_MEDIA_TYPE_RGB12: u32 = 36700186;
182pub const CAMERA_MEDIA_TYPE_BGR12: u32 = 36700187;
183pub const CAMERA_MEDIA_TYPE_RGB16: u32 = 36700211;
184pub const CAMERA_MEDIA_TYPE_BGR16: u32 = 36700235;
185pub const CAMERA_MEDIA_TYPE_RGBA16: u32 = 37748836;
186pub const CAMERA_MEDIA_TYPE_BGRA16: u32 = 37748817;
187pub const CAMERA_MEDIA_TYPE_RGB10V1_PACKED: u32 = 35651612;
188pub const CAMERA_MEDIA_TYPE_RGB10P32: u32 = 35651613;
189pub const CAMERA_MEDIA_TYPE_RGB12V1_PACKED: u32 = 35913780;
190pub const CAMERA_MEDIA_TYPE_RGB565P: u32 = 34603061;
191pub const CAMERA_MEDIA_TYPE_BGR565P: u32 = 34603062;
192pub const CAMERA_MEDIA_TYPE_YUV411_8_UYYVYY: u32 = 34340894;
193pub const CAMERA_MEDIA_TYPE_YUV422_8_UYVY: u32 = 34603039;
194pub const CAMERA_MEDIA_TYPE_YUV422_8: u32 = 34603058;
195pub const CAMERA_MEDIA_TYPE_YUV8_UYV: u32 = 35127328;
196pub const CAMERA_MEDIA_TYPE_YCBCR8_CBYCR: u32 = 35127354;
197pub const CAMERA_MEDIA_TYPE_YCBCR422_8: u32 = 34603067;
198pub const CAMERA_MEDIA_TYPE_YCBCR422_8_CBYCRY: u32 = 34603075;
199pub const CAMERA_MEDIA_TYPE_YCBCR411_8_CBYYCRYY: u32 = 34340924;
200pub const CAMERA_MEDIA_TYPE_YCBCR601_8_CBYCR: u32 = 35127357;
201pub const CAMERA_MEDIA_TYPE_YCBCR601_422_8: u32 = 34603070;
202pub const CAMERA_MEDIA_TYPE_YCBCR601_422_8_CBYCRY: u32 = 34603076;
203pub const CAMERA_MEDIA_TYPE_YCBCR601_411_8_CBYYCRYY: u32 = 34340927;
204pub const CAMERA_MEDIA_TYPE_YCBCR709_8_CBYCR: u32 = 35127360;
205pub const CAMERA_MEDIA_TYPE_YCBCR709_422_8: u32 = 34603073;
206pub const CAMERA_MEDIA_TYPE_YCBCR709_422_8_CBYCRY: u32 = 34603077;
207pub const CAMERA_MEDIA_TYPE_YCBCR709_411_8_CBYYCRYY: u32 = 34340930;
208pub const CAMERA_MEDIA_TYPE_RGB8_PLANAR: u32 = 35127329;
209pub const CAMERA_MEDIA_TYPE_RGB10_PLANAR: u32 = 36700194;
210pub const CAMERA_MEDIA_TYPE_RGB12_PLANAR: u32 = 36700195;
211pub const CAMERA_MEDIA_TYPE_RGB16_PLANAR: u32 = 36700196;
212pub const CAMERA_MEDIA_TYPE_BAYGR12_PACKED_MV: u32 = 17563744;
213pub const CAMERA_MEDIA_TYPE_BAYRG12_PACKED_MV: u32 = 17563745;
214pub const CAMERA_MEDIA_TYPE_BAYGB12_PACKED_MV: u32 = 17563746;
215pub const CAMERA_MEDIA_TYPE_BAYBG12_PACKED_MV: u32 = 17563747;
216pub const CAMERA_MEDIA_TYPE_MONO12_PACKED_MV: u32 = 17563748;
217pub const CAMERA_MEDIA_TYPE_YUV420P_MV: u32 = 34340965;
218pub type CameraSdkStatus = ::std::os::raw::c_int;
219pub type CameraHandle = ::std::os::raw::c_int;
220pub type INT = ::std::os::raw::c_int;
221pub type LONG = ::std::os::raw::c_int;
222pub type UINT = ::std::os::raw::c_uint;
223pub type UINT64 = ::std::os::raw::c_ulonglong;
224pub type BOOL = ::std::os::raw::c_int;
225pub type BYTE = ::std::os::raw::c_uchar;
226pub type DWORD = ::std::os::raw::c_uint;
227pub type PVOID = *mut ::std::os::raw::c_void;
228pub type HWND = *mut ::std::os::raw::c_void;
229pub type LPCTSTR = *mut ::std::os::raw::c_char;
230pub type USHORT = ::std::os::raw::c_ushort;
231pub type SHORT = ::std::os::raw::c_short;
232pub type LPBYTE = *mut ::std::os::raw::c_uchar;
233pub type CHAR = ::std::os::raw::c_char;
234pub type TCHAR = ::std::os::raw::c_char;
235pub type WORD = ::std::os::raw::c_ushort;
236pub type HANDLE = INT;
237pub type VOID = ::std::os::raw::c_void;
238pub type ULONG = ::std::os::raw::c_uint;
239pub type LPVOID = *mut ::std::os::raw::c_void;
240pub type UCHAR = ::std::os::raw::c_uchar;
241pub type HMODULE = *mut ::std::os::raw::c_void;
242pub const emSdkLutMode_LUTMODE_PARAM_GEN: emSdkLutMode = 0;
243pub const emSdkLutMode_LUTMODE_PRESET: emSdkLutMode = 1;
244pub const emSdkLutMode_LUTMODE_USER_DEF: emSdkLutMode = 2;
245pub type emSdkLutMode = ::std::os::raw::c_uint;
246pub const emSdkRunMode_RUNMODE_PLAY: emSdkRunMode = 0;
247pub const emSdkRunMode_RUNMODE_PAUSE: emSdkRunMode = 1;
248pub const emSdkRunMode_RUNMODE_STOP: emSdkRunMode = 2;
249pub type emSdkRunMode = ::std::os::raw::c_uint;
250pub const emSdkDisplayMode_DISPLAYMODE_SCALE: emSdkDisplayMode = 0;
251pub const emSdkDisplayMode_DISPLAYMODE_REAL: emSdkDisplayMode = 1;
252pub type emSdkDisplayMode = ::std::os::raw::c_uint;
253pub const emSdkRecordMode_RECORD_STOP: emSdkRecordMode = 0;
254pub const emSdkRecordMode_RECORD_START: emSdkRecordMode = 1;
255pub const emSdkRecordMode_RECORD_PAUSE: emSdkRecordMode = 2;
256pub type emSdkRecordMode = ::std::os::raw::c_uint;
257pub const emSdkMirrorDirection_MIRROR_DIRECTION_HORIZONTAL: emSdkMirrorDirection = 0;
258pub const emSdkMirrorDirection_MIRROR_DIRECTION_VERTICAL: emSdkMirrorDirection = 1;
259pub type emSdkMirrorDirection = ::std::os::raw::c_uint;
260pub const emSdkRotateDirection_ROTATE_DIRECTION_0: emSdkRotateDirection = 0;
261pub const emSdkRotateDirection_ROTATE_DIRECTION_90: emSdkRotateDirection = 1;
262pub const emSdkRotateDirection_ROTATE_DIRECTION_180: emSdkRotateDirection = 2;
263pub const emSdkRotateDirection_ROTATE_DIRECTION_270: emSdkRotateDirection = 3;
264pub type emSdkRotateDirection = ::std::os::raw::c_uint;
265pub const emSdkFrameSpeed_FRAME_SPEED_LOW: emSdkFrameSpeed = 0;
266pub const emSdkFrameSpeed_FRAME_SPEED_NORMAL: emSdkFrameSpeed = 1;
267pub const emSdkFrameSpeed_FRAME_SPEED_HIGH: emSdkFrameSpeed = 2;
268pub const emSdkFrameSpeed_FRAME_SPEED_SUPER: emSdkFrameSpeed = 3;
269pub type emSdkFrameSpeed = ::std::os::raw::c_uint;
270pub const emSdkFileType_FILE_JPG: emSdkFileType = 1;
271pub const emSdkFileType_FILE_BMP: emSdkFileType = 2;
272pub const emSdkFileType_FILE_RAW: emSdkFileType = 4;
273pub const emSdkFileType_FILE_PNG: emSdkFileType = 8;
274pub const emSdkFileType_FILE_BMP_8BIT: emSdkFileType = 16;
275pub const emSdkFileType_FILE_PNG_8BIT: emSdkFileType = 32;
276pub const emSdkFileType_FILE_RAW_16BIT: emSdkFileType = 64;
277pub type emSdkFileType = ::std::os::raw::c_uint;
278pub const emSdkSnapMode_CONTINUATION: emSdkSnapMode = 0;
279pub const emSdkSnapMode_SOFT_TRIGGER: emSdkSnapMode = 1;
280pub const emSdkSnapMode_EXTERNAL_TRIGGER: emSdkSnapMode = 2;
281pub type emSdkSnapMode = ::std::os::raw::c_uint;
282pub const emSdkLightFrequency_LIGHT_FREQUENCY_50HZ: emSdkLightFrequency = 0;
283pub const emSdkLightFrequency_LIGHT_FREQUENCY_60HZ: emSdkLightFrequency = 1;
284pub type emSdkLightFrequency = ::std::os::raw::c_uint;
285pub const emSdkParameterTeam_PARAMETER_TEAM_DEFAULT: emSdkParameterTeam = 255;
286pub const emSdkParameterTeam_PARAMETER_TEAM_A: emSdkParameterTeam = 0;
287pub const emSdkParameterTeam_PARAMETER_TEAM_B: emSdkParameterTeam = 1;
288pub const emSdkParameterTeam_PARAMETER_TEAM_C: emSdkParameterTeam = 2;
289pub const emSdkParameterTeam_PARAMETER_TEAM_D: emSdkParameterTeam = 3;
290pub type emSdkParameterTeam = ::std::os::raw::c_uint;
291pub const emSdkParameterMode_PARAM_MODE_BY_MODEL: emSdkParameterMode = 0;
292pub const emSdkParameterMode_PARAM_MODE_BY_NAME: emSdkParameterMode = 1;
293pub const emSdkParameterMode_PARAM_MODE_BY_SN: emSdkParameterMode = 2;
294pub const emSdkParameterMode_PARAM_MODE_IN_DEVICE: emSdkParameterMode = 3;
295pub type emSdkParameterMode = ::std::os::raw::c_uint;
296pub const emSdkPropSheetMask_PROP_SHEET_INDEX_EXPOSURE: emSdkPropSheetMask = 0;
297pub const emSdkPropSheetMask_PROP_SHEET_INDEX_ISP_COLOR: emSdkPropSheetMask = 1;
298pub const emSdkPropSheetMask_PROP_SHEET_INDEX_ISP_LUT: emSdkPropSheetMask = 2;
299pub const emSdkPropSheetMask_PROP_SHEET_INDEX_ISP_SHAPE: emSdkPropSheetMask = 3;
300pub const emSdkPropSheetMask_PROP_SHEET_INDEX_VIDEO_FORMAT: emSdkPropSheetMask = 4;
301pub const emSdkPropSheetMask_PROP_SHEET_INDEX_RESOLUTION: emSdkPropSheetMask = 5;
302pub const emSdkPropSheetMask_PROP_SHEET_INDEX_IO_CTRL: emSdkPropSheetMask = 6;
303pub const emSdkPropSheetMask_PROP_SHEET_INDEX_TRIGGER_SET: emSdkPropSheetMask = 7;
304pub const emSdkPropSheetMask_PROP_SHEET_INDEX_OVERLAY: emSdkPropSheetMask = 8;
305pub const emSdkPropSheetMask_PROP_SHEET_INDEX_DEVICE_INFO: emSdkPropSheetMask = 9;
306pub const emSdkPropSheetMask_PROP_SHEET_INDEX_WDR: emSdkPropSheetMask = 10;
307pub const emSdkPropSheetMask_PROP_SHEET_INDEX_MULTI_EXPOSURE: emSdkPropSheetMask = 11;
308pub type emSdkPropSheetMask = ::std::os::raw::c_uint;
309pub const emSdkPropSheetMsg_SHEET_MSG_LOAD_PARAM_DEFAULT: emSdkPropSheetMsg = 0;
310pub const emSdkPropSheetMsg_SHEET_MSG_LOAD_PARAM_GROUP: emSdkPropSheetMsg = 1;
311pub const emSdkPropSheetMsg_SHEET_MSG_LOAD_PARAM_FROMFILE: emSdkPropSheetMsg = 2;
312pub const emSdkPropSheetMsg_SHEET_MSG_SAVE_PARAM_GROUP: emSdkPropSheetMsg = 3;
313pub type emSdkPropSheetMsg = ::std::os::raw::c_uint;
314pub const emSdkRefWinType_REF_WIN_AUTO_EXPOSURE: emSdkRefWinType = 0;
315pub const emSdkRefWinType_REF_WIN_WHITE_BALANCE: emSdkRefWinType = 1;
316pub type emSdkRefWinType = ::std::os::raw::c_uint;
317pub const emSdkResolutionMode_RES_MODE_PREVIEW: emSdkResolutionMode = 0;
318pub const emSdkResolutionMode_RES_MODE_SNAPSHOT: emSdkResolutionMode = 1;
319pub type emSdkResolutionMode = ::std::os::raw::c_uint;
320pub const emSdkClrTmpMode_CT_MODE_AUTO: emSdkClrTmpMode = 0;
321pub const emSdkClrTmpMode_CT_MODE_PRESET: emSdkClrTmpMode = 1;
322pub const emSdkClrTmpMode_CT_MODE_USER_DEF: emSdkClrTmpMode = 2;
323pub type emSdkClrTmpMode = ::std::os::raw::c_uint;
324pub const emSdkLutChannel_LUT_CHANNEL_ALL: emSdkLutChannel = 0;
325pub const emSdkLutChannel_LUT_CHANNEL_RED: emSdkLutChannel = 1;
326pub const emSdkLutChannel_LUT_CHANNEL_GREEN: emSdkLutChannel = 2;
327pub const emSdkLutChannel_LUT_CHANNEL_BLUE: emSdkLutChannel = 3;
328pub type emSdkLutChannel = ::std::os::raw::c_uint;
329pub const emSdkIspProcessor_ISP_PROCESSSOR_PC: emSdkIspProcessor = 0;
330pub const emSdkIspProcessor_ISP_PROCESSSOR_DEVICE: emSdkIspProcessor = 1;
331pub type emSdkIspProcessor = ::std::os::raw::c_uint;
332pub const emStrobeControl_STROBE_SYNC_WITH_TRIG_AUTO: emStrobeControl = 0;
333pub const emStrobeControl_STROBE_SYNC_WITH_TRIG_MANUAL: emStrobeControl = 1;
334pub const emStrobeControl_STROBE_ALWAYS_HIGH: emStrobeControl = 2;
335pub const emStrobeControl_STROBE_ALWAYS_LOW: emStrobeControl = 3;
336pub type emStrobeControl = ::std::os::raw::c_uint;
337pub const emExtTrigSignal_EXT_TRIG_LEADING_EDGE: emExtTrigSignal = 0;
338pub const emExtTrigSignal_EXT_TRIG_TRAILING_EDGE: emExtTrigSignal = 1;
339pub const emExtTrigSignal_EXT_TRIG_HIGH_LEVEL: emExtTrigSignal = 2;
340pub const emExtTrigSignal_EXT_TRIG_LOW_LEVEL: emExtTrigSignal = 3;
341pub type emExtTrigSignal = ::std::os::raw::c_uint;
342pub const emExtTrigShutterMode_EXT_TRIG_EXP_STANDARD: emExtTrigShutterMode = 0;
343pub const emExtTrigShutterMode_EXT_TRIG_EXP_GRR: emExtTrigShutterMode = 1;
344pub type emExtTrigShutterMode = ::std::os::raw::c_uint;
345pub const emCameraGPIOMode_IOMODE_TRIG_INPUT: emCameraGPIOMode = 0;
346#[doc = "\\~english Trigger input"]
347pub const emCameraGPIOMode_IOMODE_STROBE_OUTPUT: emCameraGPIOMode = 1;
348#[doc = "\\~english Strobe output"]
349pub const emCameraGPIOMode_IOMODE_GP_INPUT: emCameraGPIOMode = 2;
350#[doc = "\\~english Universal input"]
351pub const emCameraGPIOMode_IOMODE_GP_OUTPUT: emCameraGPIOMode = 3;
352#[doc = "\\~english Universal output"]
353pub const emCameraGPIOMode_IOMODE_PWM_OUTPUT: emCameraGPIOMode = 4;
354#[doc = "\\~english PWM output"]
355pub const emCameraGPIOMode_IOMODE_ROTARYENC_INPUT: emCameraGPIOMode = 5;
356pub type emCameraGPIOMode = ::std::os::raw::c_uint;
357#[doc = "<\\~english single ended"]
358pub const emCameraGPIOFormat_IOFORMAT_SINGLE: emCameraGPIOFormat = 0;
359#[doc = "<\\~english Differential RS422"]
360pub const emCameraGPIOFormat_IOFORMAT_RS422: emCameraGPIOFormat = 1;
361#[doc = "<\\~english Differential RS422 and Termination Enable"]
362pub const emCameraGPIOFormat_IOFORMAT_RS422_TERM: emCameraGPIOFormat = 2;
363pub type emCameraGPIOFormat = ::std::os::raw::c_uint;
364#[doc = "< \\~english\tGet the oldest frame in the cache"]
365pub const emCameraGetImagePriority_CAMERA_GET_IMAGE_PRIORITY_OLDEST: emCameraGetImagePriority = 0;
366#[doc = "< \\~english Get the latest frame in the cache (older than this frame will be discarded)"]
367pub const emCameraGetImagePriority_CAMERA_GET_IMAGE_PRIORITY_NEWEST: emCameraGetImagePriority = 1;
368#[doc = " \\~english All frames in the cache are discarded, and if the camera is now being exposed or transmitted it will be immediately interrupted, waiting to receive the next frame"]
369#[doc = " \\note Some models do not support this feature. For cameras that do not support this feature this flag is equivalent to @link #CAMERA_GET_IMAGE_PRIORITY_OLDEST @endlink"]
370pub const emCameraGetImagePriority_CAMERA_GET_IMAGE_PRIORITY_NEXT: emCameraGetImagePriority = 2;
371pub type emCameraGetImagePriority = ::std::os::raw::c_uint;
372pub const emCameraSoftTriggerExFlags_CAMERA_ST_CLEAR_BUFFER_BEFORE: emCameraSoftTriggerExFlags = 1;
373pub type emCameraSoftTriggerExFlags = ::std::os::raw::c_uint;
374#[repr(C)]
375#[derive(Debug, Copy, Clone, Default)]
376pub struct tSdkCameraDevInfo {
377    pub acProductSeries: [::std::os::raw::c_char; 32usize],
378    pub acProductName: [::std::os::raw::c_char; 32usize],
379    pub acFriendlyName: [::std::os::raw::c_char; 32usize],
380    pub acLinkName: [::std::os::raw::c_char; 32usize],
381    pub acDriverVersion: [::std::os::raw::c_char; 32usize],
382    pub acSensorType: [::std::os::raw::c_char; 32usize],
383    pub acPortType: [::std::os::raw::c_char; 32usize],
384    pub acSn: [::std::os::raw::c_char; 32usize],
385    pub uInstance: UINT,
386}
387#[test]
388fn bindgen_test_layout_tSdkCameraDevInfo() {
389    assert_eq!(
390        ::std::mem::size_of::<tSdkCameraDevInfo>(),
391        260usize,
392        concat!("Size of: ", stringify!(tSdkCameraDevInfo))
393    );
394    assert_eq!(
395        ::std::mem::align_of::<tSdkCameraDevInfo>(),
396        4usize,
397        concat!("Alignment of ", stringify!(tSdkCameraDevInfo))
398    );
399    assert_eq!(
400        unsafe {
401            &(*(::std::ptr::null::<tSdkCameraDevInfo>())).acProductSeries as *const _ as usize
402        },
403        0usize,
404        concat!(
405            "Offset of field: ",
406            stringify!(tSdkCameraDevInfo),
407            "::",
408            stringify!(acProductSeries)
409        )
410    );
411    assert_eq!(
412        unsafe { &(*(::std::ptr::null::<tSdkCameraDevInfo>())).acProductName as *const _ as usize },
413        32usize,
414        concat!(
415            "Offset of field: ",
416            stringify!(tSdkCameraDevInfo),
417            "::",
418            stringify!(acProductName)
419        )
420    );
421    assert_eq!(
422        unsafe {
423            &(*(::std::ptr::null::<tSdkCameraDevInfo>())).acFriendlyName as *const _ as usize
424        },
425        64usize,
426        concat!(
427            "Offset of field: ",
428            stringify!(tSdkCameraDevInfo),
429            "::",
430            stringify!(acFriendlyName)
431        )
432    );
433    assert_eq!(
434        unsafe { &(*(::std::ptr::null::<tSdkCameraDevInfo>())).acLinkName as *const _ as usize },
435        96usize,
436        concat!(
437            "Offset of field: ",
438            stringify!(tSdkCameraDevInfo),
439            "::",
440            stringify!(acLinkName)
441        )
442    );
443    assert_eq!(
444        unsafe {
445            &(*(::std::ptr::null::<tSdkCameraDevInfo>())).acDriverVersion as *const _ as usize
446        },
447        128usize,
448        concat!(
449            "Offset of field: ",
450            stringify!(tSdkCameraDevInfo),
451            "::",
452            stringify!(acDriverVersion)
453        )
454    );
455    assert_eq!(
456        unsafe { &(*(::std::ptr::null::<tSdkCameraDevInfo>())).acSensorType as *const _ as usize },
457        160usize,
458        concat!(
459            "Offset of field: ",
460            stringify!(tSdkCameraDevInfo),
461            "::",
462            stringify!(acSensorType)
463        )
464    );
465    assert_eq!(
466        unsafe { &(*(::std::ptr::null::<tSdkCameraDevInfo>())).acPortType as *const _ as usize },
467        192usize,
468        concat!(
469            "Offset of field: ",
470            stringify!(tSdkCameraDevInfo),
471            "::",
472            stringify!(acPortType)
473        )
474    );
475    assert_eq!(
476        unsafe { &(*(::std::ptr::null::<tSdkCameraDevInfo>())).acSn as *const _ as usize },
477        224usize,
478        concat!(
479            "Offset of field: ",
480            stringify!(tSdkCameraDevInfo),
481            "::",
482            stringify!(acSn)
483        )
484    );
485    assert_eq!(
486        unsafe { &(*(::std::ptr::null::<tSdkCameraDevInfo>())).uInstance as *const _ as usize },
487        256usize,
488        concat!(
489            "Offset of field: ",
490            stringify!(tSdkCameraDevInfo),
491            "::",
492            stringify!(uInstance)
493        )
494    );
495}
496#[repr(C)]
497#[derive(Debug, Copy, Clone, Default)]
498pub struct tSdkResolutionRange {
499    pub iHeightMax: INT,
500    pub iHeightMin: INT,
501    pub iWidthMax: INT,
502    pub iWidthMin: INT,
503    pub uSkipModeMask: UINT,
504    pub uBinSumModeMask: UINT,
505    pub uBinAverageModeMask: UINT,
506    pub uResampleMask: UINT,
507}
508#[test]
509fn bindgen_test_layout_tSdkResolutionRange() {
510    assert_eq!(
511        ::std::mem::size_of::<tSdkResolutionRange>(),
512        32usize,
513        concat!("Size of: ", stringify!(tSdkResolutionRange))
514    );
515    assert_eq!(
516        ::std::mem::align_of::<tSdkResolutionRange>(),
517        4usize,
518        concat!("Alignment of ", stringify!(tSdkResolutionRange))
519    );
520    assert_eq!(
521        unsafe { &(*(::std::ptr::null::<tSdkResolutionRange>())).iHeightMax as *const _ as usize },
522        0usize,
523        concat!(
524            "Offset of field: ",
525            stringify!(tSdkResolutionRange),
526            "::",
527            stringify!(iHeightMax)
528        )
529    );
530    assert_eq!(
531        unsafe { &(*(::std::ptr::null::<tSdkResolutionRange>())).iHeightMin as *const _ as usize },
532        4usize,
533        concat!(
534            "Offset of field: ",
535            stringify!(tSdkResolutionRange),
536            "::",
537            stringify!(iHeightMin)
538        )
539    );
540    assert_eq!(
541        unsafe { &(*(::std::ptr::null::<tSdkResolutionRange>())).iWidthMax as *const _ as usize },
542        8usize,
543        concat!(
544            "Offset of field: ",
545            stringify!(tSdkResolutionRange),
546            "::",
547            stringify!(iWidthMax)
548        )
549    );
550    assert_eq!(
551        unsafe { &(*(::std::ptr::null::<tSdkResolutionRange>())).iWidthMin as *const _ as usize },
552        12usize,
553        concat!(
554            "Offset of field: ",
555            stringify!(tSdkResolutionRange),
556            "::",
557            stringify!(iWidthMin)
558        )
559    );
560    assert_eq!(
561        unsafe {
562            &(*(::std::ptr::null::<tSdkResolutionRange>())).uSkipModeMask as *const _ as usize
563        },
564        16usize,
565        concat!(
566            "Offset of field: ",
567            stringify!(tSdkResolutionRange),
568            "::",
569            stringify!(uSkipModeMask)
570        )
571    );
572    assert_eq!(
573        unsafe {
574            &(*(::std::ptr::null::<tSdkResolutionRange>())).uBinSumModeMask as *const _ as usize
575        },
576        20usize,
577        concat!(
578            "Offset of field: ",
579            stringify!(tSdkResolutionRange),
580            "::",
581            stringify!(uBinSumModeMask)
582        )
583    );
584    assert_eq!(
585        unsafe {
586            &(*(::std::ptr::null::<tSdkResolutionRange>())).uBinAverageModeMask as *const _ as usize
587        },
588        24usize,
589        concat!(
590            "Offset of field: ",
591            stringify!(tSdkResolutionRange),
592            "::",
593            stringify!(uBinAverageModeMask)
594        )
595    );
596    assert_eq!(
597        unsafe {
598            &(*(::std::ptr::null::<tSdkResolutionRange>())).uResampleMask as *const _ as usize
599        },
600        28usize,
601        concat!(
602            "Offset of field: ",
603            stringify!(tSdkResolutionRange),
604            "::",
605            stringify!(uResampleMask)
606        )
607    );
608}
609#[repr(C)]
610#[derive(Debug, Copy, Clone, Default)]
611pub struct tSdkImageResolution {
612    pub iIndex: INT,
613    pub acDescription: [::std::os::raw::c_char; 32usize],
614    pub uBinSumMode: UINT,
615    pub uBinAverageMode: UINT,
616    pub uSkipMode: UINT,
617    pub uResampleMask: UINT,
618    pub iHOffsetFOV: INT,
619    pub iVOffsetFOV: INT,
620    pub iWidthFOV: INT,
621    pub iHeightFOV: INT,
622    pub iWidth: INT,
623    pub iHeight: INT,
624    pub iWidthZoomHd: INT,
625    pub iHeightZoomHd: INT,
626    pub iWidthZoomSw: INT,
627    pub iHeightZoomSw: INT,
628}
629#[test]
630fn bindgen_test_layout_tSdkImageResolution() {
631    assert_eq!(
632        ::std::mem::size_of::<tSdkImageResolution>(),
633        92usize,
634        concat!("Size of: ", stringify!(tSdkImageResolution))
635    );
636    assert_eq!(
637        ::std::mem::align_of::<tSdkImageResolution>(),
638        4usize,
639        concat!("Alignment of ", stringify!(tSdkImageResolution))
640    );
641    assert_eq!(
642        unsafe { &(*(::std::ptr::null::<tSdkImageResolution>())).iIndex as *const _ as usize },
643        0usize,
644        concat!(
645            "Offset of field: ",
646            stringify!(tSdkImageResolution),
647            "::",
648            stringify!(iIndex)
649        )
650    );
651    assert_eq!(
652        unsafe {
653            &(*(::std::ptr::null::<tSdkImageResolution>())).acDescription as *const _ as usize
654        },
655        4usize,
656        concat!(
657            "Offset of field: ",
658            stringify!(tSdkImageResolution),
659            "::",
660            stringify!(acDescription)
661        )
662    );
663    assert_eq!(
664        unsafe { &(*(::std::ptr::null::<tSdkImageResolution>())).uBinSumMode as *const _ as usize },
665        36usize,
666        concat!(
667            "Offset of field: ",
668            stringify!(tSdkImageResolution),
669            "::",
670            stringify!(uBinSumMode)
671        )
672    );
673    assert_eq!(
674        unsafe {
675            &(*(::std::ptr::null::<tSdkImageResolution>())).uBinAverageMode as *const _ as usize
676        },
677        40usize,
678        concat!(
679            "Offset of field: ",
680            stringify!(tSdkImageResolution),
681            "::",
682            stringify!(uBinAverageMode)
683        )
684    );
685    assert_eq!(
686        unsafe { &(*(::std::ptr::null::<tSdkImageResolution>())).uSkipMode as *const _ as usize },
687        44usize,
688        concat!(
689            "Offset of field: ",
690            stringify!(tSdkImageResolution),
691            "::",
692            stringify!(uSkipMode)
693        )
694    );
695    assert_eq!(
696        unsafe {
697            &(*(::std::ptr::null::<tSdkImageResolution>())).uResampleMask as *const _ as usize
698        },
699        48usize,
700        concat!(
701            "Offset of field: ",
702            stringify!(tSdkImageResolution),
703            "::",
704            stringify!(uResampleMask)
705        )
706    );
707    assert_eq!(
708        unsafe { &(*(::std::ptr::null::<tSdkImageResolution>())).iHOffsetFOV as *const _ as usize },
709        52usize,
710        concat!(
711            "Offset of field: ",
712            stringify!(tSdkImageResolution),
713            "::",
714            stringify!(iHOffsetFOV)
715        )
716    );
717    assert_eq!(
718        unsafe { &(*(::std::ptr::null::<tSdkImageResolution>())).iVOffsetFOV as *const _ as usize },
719        56usize,
720        concat!(
721            "Offset of field: ",
722            stringify!(tSdkImageResolution),
723            "::",
724            stringify!(iVOffsetFOV)
725        )
726    );
727    assert_eq!(
728        unsafe { &(*(::std::ptr::null::<tSdkImageResolution>())).iWidthFOV as *const _ as usize },
729        60usize,
730        concat!(
731            "Offset of field: ",
732            stringify!(tSdkImageResolution),
733            "::",
734            stringify!(iWidthFOV)
735        )
736    );
737    assert_eq!(
738        unsafe { &(*(::std::ptr::null::<tSdkImageResolution>())).iHeightFOV as *const _ as usize },
739        64usize,
740        concat!(
741            "Offset of field: ",
742            stringify!(tSdkImageResolution),
743            "::",
744            stringify!(iHeightFOV)
745        )
746    );
747    assert_eq!(
748        unsafe { &(*(::std::ptr::null::<tSdkImageResolution>())).iWidth as *const _ as usize },
749        68usize,
750        concat!(
751            "Offset of field: ",
752            stringify!(tSdkImageResolution),
753            "::",
754            stringify!(iWidth)
755        )
756    );
757    assert_eq!(
758        unsafe { &(*(::std::ptr::null::<tSdkImageResolution>())).iHeight as *const _ as usize },
759        72usize,
760        concat!(
761            "Offset of field: ",
762            stringify!(tSdkImageResolution),
763            "::",
764            stringify!(iHeight)
765        )
766    );
767    assert_eq!(
768        unsafe {
769            &(*(::std::ptr::null::<tSdkImageResolution>())).iWidthZoomHd as *const _ as usize
770        },
771        76usize,
772        concat!(
773            "Offset of field: ",
774            stringify!(tSdkImageResolution),
775            "::",
776            stringify!(iWidthZoomHd)
777        )
778    );
779    assert_eq!(
780        unsafe {
781            &(*(::std::ptr::null::<tSdkImageResolution>())).iHeightZoomHd as *const _ as usize
782        },
783        80usize,
784        concat!(
785            "Offset of field: ",
786            stringify!(tSdkImageResolution),
787            "::",
788            stringify!(iHeightZoomHd)
789        )
790    );
791    assert_eq!(
792        unsafe {
793            &(*(::std::ptr::null::<tSdkImageResolution>())).iWidthZoomSw as *const _ as usize
794        },
795        84usize,
796        concat!(
797            "Offset of field: ",
798            stringify!(tSdkImageResolution),
799            "::",
800            stringify!(iWidthZoomSw)
801        )
802    );
803    assert_eq!(
804        unsafe {
805            &(*(::std::ptr::null::<tSdkImageResolution>())).iHeightZoomSw as *const _ as usize
806        },
807        88usize,
808        concat!(
809            "Offset of field: ",
810            stringify!(tSdkImageResolution),
811            "::",
812            stringify!(iHeightZoomSw)
813        )
814    );
815}
816#[repr(C)]
817#[derive(Debug, Copy, Clone, Default)]
818pub struct tSdkColorTemperatureDes {
819    pub iIndex: INT,
820    pub acDescription: [::std::os::raw::c_char; 32usize],
821}
822#[test]
823fn bindgen_test_layout_tSdkColorTemperatureDes() {
824    assert_eq!(
825        ::std::mem::size_of::<tSdkColorTemperatureDes>(),
826        36usize,
827        concat!("Size of: ", stringify!(tSdkColorTemperatureDes))
828    );
829    assert_eq!(
830        ::std::mem::align_of::<tSdkColorTemperatureDes>(),
831        4usize,
832        concat!("Alignment of ", stringify!(tSdkColorTemperatureDes))
833    );
834    assert_eq!(
835        unsafe { &(*(::std::ptr::null::<tSdkColorTemperatureDes>())).iIndex as *const _ as usize },
836        0usize,
837        concat!(
838            "Offset of field: ",
839            stringify!(tSdkColorTemperatureDes),
840            "::",
841            stringify!(iIndex)
842        )
843    );
844    assert_eq!(
845        unsafe {
846            &(*(::std::ptr::null::<tSdkColorTemperatureDes>())).acDescription as *const _ as usize
847        },
848        4usize,
849        concat!(
850            "Offset of field: ",
851            stringify!(tSdkColorTemperatureDes),
852            "::",
853            stringify!(acDescription)
854        )
855    );
856}
857#[repr(C)]
858#[derive(Debug, Copy, Clone, Default)]
859pub struct tSdkFrameSpeed {
860    pub iIndex: INT,
861    pub acDescription: [::std::os::raw::c_char; 32usize],
862}
863#[test]
864fn bindgen_test_layout_tSdkFrameSpeed() {
865    assert_eq!(
866        ::std::mem::size_of::<tSdkFrameSpeed>(),
867        36usize,
868        concat!("Size of: ", stringify!(tSdkFrameSpeed))
869    );
870    assert_eq!(
871        ::std::mem::align_of::<tSdkFrameSpeed>(),
872        4usize,
873        concat!("Alignment of ", stringify!(tSdkFrameSpeed))
874    );
875    assert_eq!(
876        unsafe { &(*(::std::ptr::null::<tSdkFrameSpeed>())).iIndex as *const _ as usize },
877        0usize,
878        concat!(
879            "Offset of field: ",
880            stringify!(tSdkFrameSpeed),
881            "::",
882            stringify!(iIndex)
883        )
884    );
885    assert_eq!(
886        unsafe { &(*(::std::ptr::null::<tSdkFrameSpeed>())).acDescription as *const _ as usize },
887        4usize,
888        concat!(
889            "Offset of field: ",
890            stringify!(tSdkFrameSpeed),
891            "::",
892            stringify!(acDescription)
893        )
894    );
895}
896#[repr(C)]
897#[derive(Debug, Copy, Clone, Default)]
898pub struct tSdkExpose {
899    pub uiTargetMin: UINT,
900    pub uiTargetMax: UINT,
901    pub uiAnalogGainMin: UINT,
902    pub uiAnalogGainMax: UINT,
903    pub fAnalogGainStep: f32,
904    pub uiExposeTimeMin: UINT,
905    pub uiExposeTimeMax: UINT,
906}
907#[test]
908fn bindgen_test_layout_tSdkExpose() {
909    assert_eq!(
910        ::std::mem::size_of::<tSdkExpose>(),
911        28usize,
912        concat!("Size of: ", stringify!(tSdkExpose))
913    );
914    assert_eq!(
915        ::std::mem::align_of::<tSdkExpose>(),
916        4usize,
917        concat!("Alignment of ", stringify!(tSdkExpose))
918    );
919    assert_eq!(
920        unsafe { &(*(::std::ptr::null::<tSdkExpose>())).uiTargetMin as *const _ as usize },
921        0usize,
922        concat!(
923            "Offset of field: ",
924            stringify!(tSdkExpose),
925            "::",
926            stringify!(uiTargetMin)
927        )
928    );
929    assert_eq!(
930        unsafe { &(*(::std::ptr::null::<tSdkExpose>())).uiTargetMax as *const _ as usize },
931        4usize,
932        concat!(
933            "Offset of field: ",
934            stringify!(tSdkExpose),
935            "::",
936            stringify!(uiTargetMax)
937        )
938    );
939    assert_eq!(
940        unsafe { &(*(::std::ptr::null::<tSdkExpose>())).uiAnalogGainMin as *const _ as usize },
941        8usize,
942        concat!(
943            "Offset of field: ",
944            stringify!(tSdkExpose),
945            "::",
946            stringify!(uiAnalogGainMin)
947        )
948    );
949    assert_eq!(
950        unsafe { &(*(::std::ptr::null::<tSdkExpose>())).uiAnalogGainMax as *const _ as usize },
951        12usize,
952        concat!(
953            "Offset of field: ",
954            stringify!(tSdkExpose),
955            "::",
956            stringify!(uiAnalogGainMax)
957        )
958    );
959    assert_eq!(
960        unsafe { &(*(::std::ptr::null::<tSdkExpose>())).fAnalogGainStep as *const _ as usize },
961        16usize,
962        concat!(
963            "Offset of field: ",
964            stringify!(tSdkExpose),
965            "::",
966            stringify!(fAnalogGainStep)
967        )
968    );
969    assert_eq!(
970        unsafe { &(*(::std::ptr::null::<tSdkExpose>())).uiExposeTimeMin as *const _ as usize },
971        20usize,
972        concat!(
973            "Offset of field: ",
974            stringify!(tSdkExpose),
975            "::",
976            stringify!(uiExposeTimeMin)
977        )
978    );
979    assert_eq!(
980        unsafe { &(*(::std::ptr::null::<tSdkExpose>())).uiExposeTimeMax as *const _ as usize },
981        24usize,
982        concat!(
983            "Offset of field: ",
984            stringify!(tSdkExpose),
985            "::",
986            stringify!(uiExposeTimeMax)
987        )
988    );
989}
990#[repr(C)]
991#[derive(Debug, Copy, Clone, Default)]
992pub struct tSdkTrigger {
993    pub iIndex: INT,
994    pub acDescription: [::std::os::raw::c_char; 32usize],
995}
996#[test]
997fn bindgen_test_layout_tSdkTrigger() {
998    assert_eq!(
999        ::std::mem::size_of::<tSdkTrigger>(),
1000        36usize,
1001        concat!("Size of: ", stringify!(tSdkTrigger))
1002    );
1003    assert_eq!(
1004        ::std::mem::align_of::<tSdkTrigger>(),
1005        4usize,
1006        concat!("Alignment of ", stringify!(tSdkTrigger))
1007    );
1008    assert_eq!(
1009        unsafe { &(*(::std::ptr::null::<tSdkTrigger>())).iIndex as *const _ as usize },
1010        0usize,
1011        concat!(
1012            "Offset of field: ",
1013            stringify!(tSdkTrigger),
1014            "::",
1015            stringify!(iIndex)
1016        )
1017    );
1018    assert_eq!(
1019        unsafe { &(*(::std::ptr::null::<tSdkTrigger>())).acDescription as *const _ as usize },
1020        4usize,
1021        concat!(
1022            "Offset of field: ",
1023            stringify!(tSdkTrigger),
1024            "::",
1025            stringify!(acDescription)
1026        )
1027    );
1028}
1029#[repr(C)]
1030#[derive(Debug, Copy, Clone, Default)]
1031pub struct tSdkPackLength {
1032    pub iIndex: INT,
1033    pub acDescription: [::std::os::raw::c_char; 32usize],
1034    pub iPackSize: UINT,
1035}
1036#[test]
1037fn bindgen_test_layout_tSdkPackLength() {
1038    assert_eq!(
1039        ::std::mem::size_of::<tSdkPackLength>(),
1040        40usize,
1041        concat!("Size of: ", stringify!(tSdkPackLength))
1042    );
1043    assert_eq!(
1044        ::std::mem::align_of::<tSdkPackLength>(),
1045        4usize,
1046        concat!("Alignment of ", stringify!(tSdkPackLength))
1047    );
1048    assert_eq!(
1049        unsafe { &(*(::std::ptr::null::<tSdkPackLength>())).iIndex as *const _ as usize },
1050        0usize,
1051        concat!(
1052            "Offset of field: ",
1053            stringify!(tSdkPackLength),
1054            "::",
1055            stringify!(iIndex)
1056        )
1057    );
1058    assert_eq!(
1059        unsafe { &(*(::std::ptr::null::<tSdkPackLength>())).acDescription as *const _ as usize },
1060        4usize,
1061        concat!(
1062            "Offset of field: ",
1063            stringify!(tSdkPackLength),
1064            "::",
1065            stringify!(acDescription)
1066        )
1067    );
1068    assert_eq!(
1069        unsafe { &(*(::std::ptr::null::<tSdkPackLength>())).iPackSize as *const _ as usize },
1070        36usize,
1071        concat!(
1072            "Offset of field: ",
1073            stringify!(tSdkPackLength),
1074            "::",
1075            stringify!(iPackSize)
1076        )
1077    );
1078}
1079#[repr(C)]
1080#[derive(Debug, Copy, Clone, Default)]
1081pub struct tSdkPresetLut {
1082    pub iIndex: INT,
1083    pub acDescription: [::std::os::raw::c_char; 32usize],
1084}
1085#[test]
1086fn bindgen_test_layout_tSdkPresetLut() {
1087    assert_eq!(
1088        ::std::mem::size_of::<tSdkPresetLut>(),
1089        36usize,
1090        concat!("Size of: ", stringify!(tSdkPresetLut))
1091    );
1092    assert_eq!(
1093        ::std::mem::align_of::<tSdkPresetLut>(),
1094        4usize,
1095        concat!("Alignment of ", stringify!(tSdkPresetLut))
1096    );
1097    assert_eq!(
1098        unsafe { &(*(::std::ptr::null::<tSdkPresetLut>())).iIndex as *const _ as usize },
1099        0usize,
1100        concat!(
1101            "Offset of field: ",
1102            stringify!(tSdkPresetLut),
1103            "::",
1104            stringify!(iIndex)
1105        )
1106    );
1107    assert_eq!(
1108        unsafe { &(*(::std::ptr::null::<tSdkPresetLut>())).acDescription as *const _ as usize },
1109        4usize,
1110        concat!(
1111            "Offset of field: ",
1112            stringify!(tSdkPresetLut),
1113            "::",
1114            stringify!(acDescription)
1115        )
1116    );
1117}
1118#[repr(C)]
1119#[derive(Debug, Copy, Clone, Default)]
1120pub struct tSdkAeAlgorithm {
1121    pub iIndex: INT,
1122    pub acDescription: [::std::os::raw::c_char; 32usize],
1123}
1124#[test]
1125fn bindgen_test_layout_tSdkAeAlgorithm() {
1126    assert_eq!(
1127        ::std::mem::size_of::<tSdkAeAlgorithm>(),
1128        36usize,
1129        concat!("Size of: ", stringify!(tSdkAeAlgorithm))
1130    );
1131    assert_eq!(
1132        ::std::mem::align_of::<tSdkAeAlgorithm>(),
1133        4usize,
1134        concat!("Alignment of ", stringify!(tSdkAeAlgorithm))
1135    );
1136    assert_eq!(
1137        unsafe { &(*(::std::ptr::null::<tSdkAeAlgorithm>())).iIndex as *const _ as usize },
1138        0usize,
1139        concat!(
1140            "Offset of field: ",
1141            stringify!(tSdkAeAlgorithm),
1142            "::",
1143            stringify!(iIndex)
1144        )
1145    );
1146    assert_eq!(
1147        unsafe { &(*(::std::ptr::null::<tSdkAeAlgorithm>())).acDescription as *const _ as usize },
1148        4usize,
1149        concat!(
1150            "Offset of field: ",
1151            stringify!(tSdkAeAlgorithm),
1152            "::",
1153            stringify!(acDescription)
1154        )
1155    );
1156}
1157#[repr(C)]
1158#[derive(Debug, Copy, Clone, Default)]
1159pub struct tSdkBayerDecodeAlgorithm {
1160    pub iIndex: INT,
1161    pub acDescription: [::std::os::raw::c_char; 32usize],
1162}
1163#[test]
1164fn bindgen_test_layout_tSdkBayerDecodeAlgorithm() {
1165    assert_eq!(
1166        ::std::mem::size_of::<tSdkBayerDecodeAlgorithm>(),
1167        36usize,
1168        concat!("Size of: ", stringify!(tSdkBayerDecodeAlgorithm))
1169    );
1170    assert_eq!(
1171        ::std::mem::align_of::<tSdkBayerDecodeAlgorithm>(),
1172        4usize,
1173        concat!("Alignment of ", stringify!(tSdkBayerDecodeAlgorithm))
1174    );
1175    assert_eq!(
1176        unsafe { &(*(::std::ptr::null::<tSdkBayerDecodeAlgorithm>())).iIndex as *const _ as usize },
1177        0usize,
1178        concat!(
1179            "Offset of field: ",
1180            stringify!(tSdkBayerDecodeAlgorithm),
1181            "::",
1182            stringify!(iIndex)
1183        )
1184    );
1185    assert_eq!(
1186        unsafe {
1187            &(*(::std::ptr::null::<tSdkBayerDecodeAlgorithm>())).acDescription as *const _ as usize
1188        },
1189        4usize,
1190        concat!(
1191            "Offset of field: ",
1192            stringify!(tSdkBayerDecodeAlgorithm),
1193            "::",
1194            stringify!(acDescription)
1195        )
1196    );
1197}
1198#[repr(C)]
1199#[derive(Debug, Copy, Clone, Default)]
1200pub struct tSdkFrameStatistic {
1201    pub iTotal: INT,
1202    pub iCapture: INT,
1203    pub iLost: INT,
1204}
1205#[test]
1206fn bindgen_test_layout_tSdkFrameStatistic() {
1207    assert_eq!(
1208        ::std::mem::size_of::<tSdkFrameStatistic>(),
1209        12usize,
1210        concat!("Size of: ", stringify!(tSdkFrameStatistic))
1211    );
1212    assert_eq!(
1213        ::std::mem::align_of::<tSdkFrameStatistic>(),
1214        4usize,
1215        concat!("Alignment of ", stringify!(tSdkFrameStatistic))
1216    );
1217    assert_eq!(
1218        unsafe { &(*(::std::ptr::null::<tSdkFrameStatistic>())).iTotal as *const _ as usize },
1219        0usize,
1220        concat!(
1221            "Offset of field: ",
1222            stringify!(tSdkFrameStatistic),
1223            "::",
1224            stringify!(iTotal)
1225        )
1226    );
1227    assert_eq!(
1228        unsafe { &(*(::std::ptr::null::<tSdkFrameStatistic>())).iCapture as *const _ as usize },
1229        4usize,
1230        concat!(
1231            "Offset of field: ",
1232            stringify!(tSdkFrameStatistic),
1233            "::",
1234            stringify!(iCapture)
1235        )
1236    );
1237    assert_eq!(
1238        unsafe { &(*(::std::ptr::null::<tSdkFrameStatistic>())).iLost as *const _ as usize },
1239        8usize,
1240        concat!(
1241            "Offset of field: ",
1242            stringify!(tSdkFrameStatistic),
1243            "::",
1244            stringify!(iLost)
1245        )
1246    );
1247}
1248#[repr(C)]
1249#[derive(Debug, Copy, Clone, Default)]
1250pub struct tSdkMediaType {
1251    pub iIndex: INT,
1252    pub acDescription: [::std::os::raw::c_char; 32usize],
1253    pub iMediaType: UINT,
1254}
1255#[test]
1256fn bindgen_test_layout_tSdkMediaType() {
1257    assert_eq!(
1258        ::std::mem::size_of::<tSdkMediaType>(),
1259        40usize,
1260        concat!("Size of: ", stringify!(tSdkMediaType))
1261    );
1262    assert_eq!(
1263        ::std::mem::align_of::<tSdkMediaType>(),
1264        4usize,
1265        concat!("Alignment of ", stringify!(tSdkMediaType))
1266    );
1267    assert_eq!(
1268        unsafe { &(*(::std::ptr::null::<tSdkMediaType>())).iIndex as *const _ as usize },
1269        0usize,
1270        concat!(
1271            "Offset of field: ",
1272            stringify!(tSdkMediaType),
1273            "::",
1274            stringify!(iIndex)
1275        )
1276    );
1277    assert_eq!(
1278        unsafe { &(*(::std::ptr::null::<tSdkMediaType>())).acDescription as *const _ as usize },
1279        4usize,
1280        concat!(
1281            "Offset of field: ",
1282            stringify!(tSdkMediaType),
1283            "::",
1284            stringify!(acDescription)
1285        )
1286    );
1287    assert_eq!(
1288        unsafe { &(*(::std::ptr::null::<tSdkMediaType>())).iMediaType as *const _ as usize },
1289        36usize,
1290        concat!(
1291            "Offset of field: ",
1292            stringify!(tSdkMediaType),
1293            "::",
1294            stringify!(iMediaType)
1295        )
1296    );
1297}
1298#[repr(C)]
1299#[derive(Debug, Copy, Clone, Default)]
1300pub struct tGammaRange {
1301    pub iMin: INT,
1302    pub iMax: INT,
1303}
1304#[test]
1305fn bindgen_test_layout_tGammaRange() {
1306    assert_eq!(
1307        ::std::mem::size_of::<tGammaRange>(),
1308        8usize,
1309        concat!("Size of: ", stringify!(tGammaRange))
1310    );
1311    assert_eq!(
1312        ::std::mem::align_of::<tGammaRange>(),
1313        4usize,
1314        concat!("Alignment of ", stringify!(tGammaRange))
1315    );
1316    assert_eq!(
1317        unsafe { &(*(::std::ptr::null::<tGammaRange>())).iMin as *const _ as usize },
1318        0usize,
1319        concat!(
1320            "Offset of field: ",
1321            stringify!(tGammaRange),
1322            "::",
1323            stringify!(iMin)
1324        )
1325    );
1326    assert_eq!(
1327        unsafe { &(*(::std::ptr::null::<tGammaRange>())).iMax as *const _ as usize },
1328        4usize,
1329        concat!(
1330            "Offset of field: ",
1331            stringify!(tGammaRange),
1332            "::",
1333            stringify!(iMax)
1334        )
1335    );
1336}
1337#[repr(C)]
1338#[derive(Debug, Copy, Clone, Default)]
1339pub struct tContrastRange {
1340    pub iMin: INT,
1341    pub iMax: INT,
1342}
1343#[test]
1344fn bindgen_test_layout_tContrastRange() {
1345    assert_eq!(
1346        ::std::mem::size_of::<tContrastRange>(),
1347        8usize,
1348        concat!("Size of: ", stringify!(tContrastRange))
1349    );
1350    assert_eq!(
1351        ::std::mem::align_of::<tContrastRange>(),
1352        4usize,
1353        concat!("Alignment of ", stringify!(tContrastRange))
1354    );
1355    assert_eq!(
1356        unsafe { &(*(::std::ptr::null::<tContrastRange>())).iMin as *const _ as usize },
1357        0usize,
1358        concat!(
1359            "Offset of field: ",
1360            stringify!(tContrastRange),
1361            "::",
1362            stringify!(iMin)
1363        )
1364    );
1365    assert_eq!(
1366        unsafe { &(*(::std::ptr::null::<tContrastRange>())).iMax as *const _ as usize },
1367        4usize,
1368        concat!(
1369            "Offset of field: ",
1370            stringify!(tContrastRange),
1371            "::",
1372            stringify!(iMax)
1373        )
1374    );
1375}
1376#[repr(C)]
1377#[derive(Debug, Copy, Clone, Default)]
1378pub struct tRgbGainRange {
1379    pub iRGainMin: INT,
1380    pub iRGainMax: INT,
1381    pub iGGainMin: INT,
1382    pub iGGainMax: INT,
1383    pub iBGainMin: INT,
1384    pub iBGainMax: INT,
1385}
1386#[test]
1387fn bindgen_test_layout_tRgbGainRange() {
1388    assert_eq!(
1389        ::std::mem::size_of::<tRgbGainRange>(),
1390        24usize,
1391        concat!("Size of: ", stringify!(tRgbGainRange))
1392    );
1393    assert_eq!(
1394        ::std::mem::align_of::<tRgbGainRange>(),
1395        4usize,
1396        concat!("Alignment of ", stringify!(tRgbGainRange))
1397    );
1398    assert_eq!(
1399        unsafe { &(*(::std::ptr::null::<tRgbGainRange>())).iRGainMin as *const _ as usize },
1400        0usize,
1401        concat!(
1402            "Offset of field: ",
1403            stringify!(tRgbGainRange),
1404            "::",
1405            stringify!(iRGainMin)
1406        )
1407    );
1408    assert_eq!(
1409        unsafe { &(*(::std::ptr::null::<tRgbGainRange>())).iRGainMax as *const _ as usize },
1410        4usize,
1411        concat!(
1412            "Offset of field: ",
1413            stringify!(tRgbGainRange),
1414            "::",
1415            stringify!(iRGainMax)
1416        )
1417    );
1418    assert_eq!(
1419        unsafe { &(*(::std::ptr::null::<tRgbGainRange>())).iGGainMin as *const _ as usize },
1420        8usize,
1421        concat!(
1422            "Offset of field: ",
1423            stringify!(tRgbGainRange),
1424            "::",
1425            stringify!(iGGainMin)
1426        )
1427    );
1428    assert_eq!(
1429        unsafe { &(*(::std::ptr::null::<tRgbGainRange>())).iGGainMax as *const _ as usize },
1430        12usize,
1431        concat!(
1432            "Offset of field: ",
1433            stringify!(tRgbGainRange),
1434            "::",
1435            stringify!(iGGainMax)
1436        )
1437    );
1438    assert_eq!(
1439        unsafe { &(*(::std::ptr::null::<tRgbGainRange>())).iBGainMin as *const _ as usize },
1440        16usize,
1441        concat!(
1442            "Offset of field: ",
1443            stringify!(tRgbGainRange),
1444            "::",
1445            stringify!(iBGainMin)
1446        )
1447    );
1448    assert_eq!(
1449        unsafe { &(*(::std::ptr::null::<tRgbGainRange>())).iBGainMax as *const _ as usize },
1450        20usize,
1451        concat!(
1452            "Offset of field: ",
1453            stringify!(tRgbGainRange),
1454            "::",
1455            stringify!(iBGainMax)
1456        )
1457    );
1458}
1459#[repr(C)]
1460#[derive(Debug, Copy, Clone, Default)]
1461pub struct tSaturationRange {
1462    pub iMin: INT,
1463    pub iMax: INT,
1464}
1465#[test]
1466fn bindgen_test_layout_tSaturationRange() {
1467    assert_eq!(
1468        ::std::mem::size_of::<tSaturationRange>(),
1469        8usize,
1470        concat!("Size of: ", stringify!(tSaturationRange))
1471    );
1472    assert_eq!(
1473        ::std::mem::align_of::<tSaturationRange>(),
1474        4usize,
1475        concat!("Alignment of ", stringify!(tSaturationRange))
1476    );
1477    assert_eq!(
1478        unsafe { &(*(::std::ptr::null::<tSaturationRange>())).iMin as *const _ as usize },
1479        0usize,
1480        concat!(
1481            "Offset of field: ",
1482            stringify!(tSaturationRange),
1483            "::",
1484            stringify!(iMin)
1485        )
1486    );
1487    assert_eq!(
1488        unsafe { &(*(::std::ptr::null::<tSaturationRange>())).iMax as *const _ as usize },
1489        4usize,
1490        concat!(
1491            "Offset of field: ",
1492            stringify!(tSaturationRange),
1493            "::",
1494            stringify!(iMax)
1495        )
1496    );
1497}
1498#[repr(C)]
1499#[derive(Debug, Copy, Clone, Default)]
1500pub struct tSharpnessRange {
1501    pub iMin: INT,
1502    pub iMax: INT,
1503}
1504#[test]
1505fn bindgen_test_layout_tSharpnessRange() {
1506    assert_eq!(
1507        ::std::mem::size_of::<tSharpnessRange>(),
1508        8usize,
1509        concat!("Size of: ", stringify!(tSharpnessRange))
1510    );
1511    assert_eq!(
1512        ::std::mem::align_of::<tSharpnessRange>(),
1513        4usize,
1514        concat!("Alignment of ", stringify!(tSharpnessRange))
1515    );
1516    assert_eq!(
1517        unsafe { &(*(::std::ptr::null::<tSharpnessRange>())).iMin as *const _ as usize },
1518        0usize,
1519        concat!(
1520            "Offset of field: ",
1521            stringify!(tSharpnessRange),
1522            "::",
1523            stringify!(iMin)
1524        )
1525    );
1526    assert_eq!(
1527        unsafe { &(*(::std::ptr::null::<tSharpnessRange>())).iMax as *const _ as usize },
1528        4usize,
1529        concat!(
1530            "Offset of field: ",
1531            stringify!(tSharpnessRange),
1532            "::",
1533            stringify!(iMax)
1534        )
1535    );
1536}
1537#[repr(C)]
1538#[derive(Debug, Copy, Clone, Default)]
1539pub struct tSdkIspCapacity {
1540    pub bMonoSensor: BOOL,
1541    pub bWbOnce: BOOL,
1542    pub bAutoWb: BOOL,
1543    pub bAutoExposure: BOOL,
1544    pub bManualExposure: BOOL,
1545    pub bAntiFlick: BOOL,
1546    pub bDeviceIsp: BOOL,
1547    pub bForceUseDeviceIsp: BOOL,
1548    pub bZoomHD: BOOL,
1549}
1550#[test]
1551fn bindgen_test_layout_tSdkIspCapacity() {
1552    assert_eq!(
1553        ::std::mem::size_of::<tSdkIspCapacity>(),
1554        36usize,
1555        concat!("Size of: ", stringify!(tSdkIspCapacity))
1556    );
1557    assert_eq!(
1558        ::std::mem::align_of::<tSdkIspCapacity>(),
1559        4usize,
1560        concat!("Alignment of ", stringify!(tSdkIspCapacity))
1561    );
1562    assert_eq!(
1563        unsafe { &(*(::std::ptr::null::<tSdkIspCapacity>())).bMonoSensor as *const _ as usize },
1564        0usize,
1565        concat!(
1566            "Offset of field: ",
1567            stringify!(tSdkIspCapacity),
1568            "::",
1569            stringify!(bMonoSensor)
1570        )
1571    );
1572    assert_eq!(
1573        unsafe { &(*(::std::ptr::null::<tSdkIspCapacity>())).bWbOnce as *const _ as usize },
1574        4usize,
1575        concat!(
1576            "Offset of field: ",
1577            stringify!(tSdkIspCapacity),
1578            "::",
1579            stringify!(bWbOnce)
1580        )
1581    );
1582    assert_eq!(
1583        unsafe { &(*(::std::ptr::null::<tSdkIspCapacity>())).bAutoWb as *const _ as usize },
1584        8usize,
1585        concat!(
1586            "Offset of field: ",
1587            stringify!(tSdkIspCapacity),
1588            "::",
1589            stringify!(bAutoWb)
1590        )
1591    );
1592    assert_eq!(
1593        unsafe { &(*(::std::ptr::null::<tSdkIspCapacity>())).bAutoExposure as *const _ as usize },
1594        12usize,
1595        concat!(
1596            "Offset of field: ",
1597            stringify!(tSdkIspCapacity),
1598            "::",
1599            stringify!(bAutoExposure)
1600        )
1601    );
1602    assert_eq!(
1603        unsafe { &(*(::std::ptr::null::<tSdkIspCapacity>())).bManualExposure as *const _ as usize },
1604        16usize,
1605        concat!(
1606            "Offset of field: ",
1607            stringify!(tSdkIspCapacity),
1608            "::",
1609            stringify!(bManualExposure)
1610        )
1611    );
1612    assert_eq!(
1613        unsafe { &(*(::std::ptr::null::<tSdkIspCapacity>())).bAntiFlick as *const _ as usize },
1614        20usize,
1615        concat!(
1616            "Offset of field: ",
1617            stringify!(tSdkIspCapacity),
1618            "::",
1619            stringify!(bAntiFlick)
1620        )
1621    );
1622    assert_eq!(
1623        unsafe { &(*(::std::ptr::null::<tSdkIspCapacity>())).bDeviceIsp as *const _ as usize },
1624        24usize,
1625        concat!(
1626            "Offset of field: ",
1627            stringify!(tSdkIspCapacity),
1628            "::",
1629            stringify!(bDeviceIsp)
1630        )
1631    );
1632    assert_eq!(
1633        unsafe {
1634            &(*(::std::ptr::null::<tSdkIspCapacity>())).bForceUseDeviceIsp as *const _ as usize
1635        },
1636        28usize,
1637        concat!(
1638            "Offset of field: ",
1639            stringify!(tSdkIspCapacity),
1640            "::",
1641            stringify!(bForceUseDeviceIsp)
1642        )
1643    );
1644    assert_eq!(
1645        unsafe { &(*(::std::ptr::null::<tSdkIspCapacity>())).bZoomHD as *const _ as usize },
1646        32usize,
1647        concat!(
1648            "Offset of field: ",
1649            stringify!(tSdkIspCapacity),
1650            "::",
1651            stringify!(bZoomHD)
1652        )
1653    );
1654}
1655#[repr(C)]
1656#[derive(Debug, Copy, Clone)]
1657pub struct tSdkCameraCapbility {
1658    pub pTriggerDesc: *mut tSdkTrigger,
1659    pub iTriggerDesc: INT,
1660    pub pImageSizeDesc: *mut tSdkImageResolution,
1661    pub iImageSizeDesc: INT,
1662    pub pClrTempDesc: *mut tSdkColorTemperatureDes,
1663    pub iClrTempDesc: INT,
1664    pub pMediaTypeDesc: *mut tSdkMediaType,
1665    pub iMediaTypdeDesc: INT,
1666    pub pFrameSpeedDesc: *mut tSdkFrameSpeed,
1667    pub iFrameSpeedDesc: INT,
1668    pub pPackLenDesc: *mut tSdkPackLength,
1669    pub iPackLenDesc: INT,
1670    pub iOutputIoCounts: INT,
1671    pub iInputIoCounts: INT,
1672    pub pPresetLutDesc: *mut tSdkPresetLut,
1673    pub iPresetLut: INT,
1674    pub iUserDataMaxLen: INT,
1675    pub bParamInDevice: BOOL,
1676    pub pAeAlmSwDesc: *mut tSdkAeAlgorithm,
1677    pub iAeAlmSwDesc: ::std::os::raw::c_int,
1678    pub pAeAlmHdDesc: *mut tSdkAeAlgorithm,
1679    pub iAeAlmHdDesc: ::std::os::raw::c_int,
1680    pub pBayerDecAlmSwDesc: *mut tSdkBayerDecodeAlgorithm,
1681    pub iBayerDecAlmSwDesc: ::std::os::raw::c_int,
1682    pub pBayerDecAlmHdDesc: *mut tSdkBayerDecodeAlgorithm,
1683    pub iBayerDecAlmHdDesc: ::std::os::raw::c_int,
1684    pub sExposeDesc: tSdkExpose,
1685    pub sResolutionRange: tSdkResolutionRange,
1686    pub sRgbGainRange: tRgbGainRange,
1687    pub sSaturationRange: tSaturationRange,
1688    pub sGammaRange: tGammaRange,
1689    pub sContrastRange: tContrastRange,
1690    pub sSharpnessRange: tSharpnessRange,
1691    pub sIspCapacity: tSdkIspCapacity,
1692}
1693#[test]
1694fn bindgen_test_layout_tSdkCameraCapbility() {
1695    assert_eq!(
1696        ::std::mem::size_of::<tSdkCameraCapbility>(),
1697        344usize,
1698        concat!("Size of: ", stringify!(tSdkCameraCapbility))
1699    );
1700    assert_eq!(
1701        ::std::mem::align_of::<tSdkCameraCapbility>(),
1702        8usize,
1703        concat!("Alignment of ", stringify!(tSdkCameraCapbility))
1704    );
1705    assert_eq!(
1706        unsafe {
1707            &(*(::std::ptr::null::<tSdkCameraCapbility>())).pTriggerDesc as *const _ as usize
1708        },
1709        0usize,
1710        concat!(
1711            "Offset of field: ",
1712            stringify!(tSdkCameraCapbility),
1713            "::",
1714            stringify!(pTriggerDesc)
1715        )
1716    );
1717    assert_eq!(
1718        unsafe {
1719            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iTriggerDesc as *const _ as usize
1720        },
1721        8usize,
1722        concat!(
1723            "Offset of field: ",
1724            stringify!(tSdkCameraCapbility),
1725            "::",
1726            stringify!(iTriggerDesc)
1727        )
1728    );
1729    assert_eq!(
1730        unsafe {
1731            &(*(::std::ptr::null::<tSdkCameraCapbility>())).pImageSizeDesc as *const _ as usize
1732        },
1733        16usize,
1734        concat!(
1735            "Offset of field: ",
1736            stringify!(tSdkCameraCapbility),
1737            "::",
1738            stringify!(pImageSizeDesc)
1739        )
1740    );
1741    assert_eq!(
1742        unsafe {
1743            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iImageSizeDesc as *const _ as usize
1744        },
1745        24usize,
1746        concat!(
1747            "Offset of field: ",
1748            stringify!(tSdkCameraCapbility),
1749            "::",
1750            stringify!(iImageSizeDesc)
1751        )
1752    );
1753    assert_eq!(
1754        unsafe {
1755            &(*(::std::ptr::null::<tSdkCameraCapbility>())).pClrTempDesc as *const _ as usize
1756        },
1757        32usize,
1758        concat!(
1759            "Offset of field: ",
1760            stringify!(tSdkCameraCapbility),
1761            "::",
1762            stringify!(pClrTempDesc)
1763        )
1764    );
1765    assert_eq!(
1766        unsafe {
1767            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iClrTempDesc as *const _ as usize
1768        },
1769        40usize,
1770        concat!(
1771            "Offset of field: ",
1772            stringify!(tSdkCameraCapbility),
1773            "::",
1774            stringify!(iClrTempDesc)
1775        )
1776    );
1777    assert_eq!(
1778        unsafe {
1779            &(*(::std::ptr::null::<tSdkCameraCapbility>())).pMediaTypeDesc as *const _ as usize
1780        },
1781        48usize,
1782        concat!(
1783            "Offset of field: ",
1784            stringify!(tSdkCameraCapbility),
1785            "::",
1786            stringify!(pMediaTypeDesc)
1787        )
1788    );
1789    assert_eq!(
1790        unsafe {
1791            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iMediaTypdeDesc as *const _ as usize
1792        },
1793        56usize,
1794        concat!(
1795            "Offset of field: ",
1796            stringify!(tSdkCameraCapbility),
1797            "::",
1798            stringify!(iMediaTypdeDesc)
1799        )
1800    );
1801    assert_eq!(
1802        unsafe {
1803            &(*(::std::ptr::null::<tSdkCameraCapbility>())).pFrameSpeedDesc as *const _ as usize
1804        },
1805        64usize,
1806        concat!(
1807            "Offset of field: ",
1808            stringify!(tSdkCameraCapbility),
1809            "::",
1810            stringify!(pFrameSpeedDesc)
1811        )
1812    );
1813    assert_eq!(
1814        unsafe {
1815            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iFrameSpeedDesc as *const _ as usize
1816        },
1817        72usize,
1818        concat!(
1819            "Offset of field: ",
1820            stringify!(tSdkCameraCapbility),
1821            "::",
1822            stringify!(iFrameSpeedDesc)
1823        )
1824    );
1825    assert_eq!(
1826        unsafe {
1827            &(*(::std::ptr::null::<tSdkCameraCapbility>())).pPackLenDesc as *const _ as usize
1828        },
1829        80usize,
1830        concat!(
1831            "Offset of field: ",
1832            stringify!(tSdkCameraCapbility),
1833            "::",
1834            stringify!(pPackLenDesc)
1835        )
1836    );
1837    assert_eq!(
1838        unsafe {
1839            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iPackLenDesc as *const _ as usize
1840        },
1841        88usize,
1842        concat!(
1843            "Offset of field: ",
1844            stringify!(tSdkCameraCapbility),
1845            "::",
1846            stringify!(iPackLenDesc)
1847        )
1848    );
1849    assert_eq!(
1850        unsafe {
1851            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iOutputIoCounts as *const _ as usize
1852        },
1853        92usize,
1854        concat!(
1855            "Offset of field: ",
1856            stringify!(tSdkCameraCapbility),
1857            "::",
1858            stringify!(iOutputIoCounts)
1859        )
1860    );
1861    assert_eq!(
1862        unsafe {
1863            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iInputIoCounts as *const _ as usize
1864        },
1865        96usize,
1866        concat!(
1867            "Offset of field: ",
1868            stringify!(tSdkCameraCapbility),
1869            "::",
1870            stringify!(iInputIoCounts)
1871        )
1872    );
1873    assert_eq!(
1874        unsafe {
1875            &(*(::std::ptr::null::<tSdkCameraCapbility>())).pPresetLutDesc as *const _ as usize
1876        },
1877        104usize,
1878        concat!(
1879            "Offset of field: ",
1880            stringify!(tSdkCameraCapbility),
1881            "::",
1882            stringify!(pPresetLutDesc)
1883        )
1884    );
1885    assert_eq!(
1886        unsafe { &(*(::std::ptr::null::<tSdkCameraCapbility>())).iPresetLut as *const _ as usize },
1887        112usize,
1888        concat!(
1889            "Offset of field: ",
1890            stringify!(tSdkCameraCapbility),
1891            "::",
1892            stringify!(iPresetLut)
1893        )
1894    );
1895    assert_eq!(
1896        unsafe {
1897            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iUserDataMaxLen as *const _ as usize
1898        },
1899        116usize,
1900        concat!(
1901            "Offset of field: ",
1902            stringify!(tSdkCameraCapbility),
1903            "::",
1904            stringify!(iUserDataMaxLen)
1905        )
1906    );
1907    assert_eq!(
1908        unsafe {
1909            &(*(::std::ptr::null::<tSdkCameraCapbility>())).bParamInDevice as *const _ as usize
1910        },
1911        120usize,
1912        concat!(
1913            "Offset of field: ",
1914            stringify!(tSdkCameraCapbility),
1915            "::",
1916            stringify!(bParamInDevice)
1917        )
1918    );
1919    assert_eq!(
1920        unsafe {
1921            &(*(::std::ptr::null::<tSdkCameraCapbility>())).pAeAlmSwDesc as *const _ as usize
1922        },
1923        128usize,
1924        concat!(
1925            "Offset of field: ",
1926            stringify!(tSdkCameraCapbility),
1927            "::",
1928            stringify!(pAeAlmSwDesc)
1929        )
1930    );
1931    assert_eq!(
1932        unsafe {
1933            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iAeAlmSwDesc as *const _ as usize
1934        },
1935        136usize,
1936        concat!(
1937            "Offset of field: ",
1938            stringify!(tSdkCameraCapbility),
1939            "::",
1940            stringify!(iAeAlmSwDesc)
1941        )
1942    );
1943    assert_eq!(
1944        unsafe {
1945            &(*(::std::ptr::null::<tSdkCameraCapbility>())).pAeAlmHdDesc as *const _ as usize
1946        },
1947        144usize,
1948        concat!(
1949            "Offset of field: ",
1950            stringify!(tSdkCameraCapbility),
1951            "::",
1952            stringify!(pAeAlmHdDesc)
1953        )
1954    );
1955    assert_eq!(
1956        unsafe {
1957            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iAeAlmHdDesc as *const _ as usize
1958        },
1959        152usize,
1960        concat!(
1961            "Offset of field: ",
1962            stringify!(tSdkCameraCapbility),
1963            "::",
1964            stringify!(iAeAlmHdDesc)
1965        )
1966    );
1967    assert_eq!(
1968        unsafe {
1969            &(*(::std::ptr::null::<tSdkCameraCapbility>())).pBayerDecAlmSwDesc as *const _ as usize
1970        },
1971        160usize,
1972        concat!(
1973            "Offset of field: ",
1974            stringify!(tSdkCameraCapbility),
1975            "::",
1976            stringify!(pBayerDecAlmSwDesc)
1977        )
1978    );
1979    assert_eq!(
1980        unsafe {
1981            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iBayerDecAlmSwDesc as *const _ as usize
1982        },
1983        168usize,
1984        concat!(
1985            "Offset of field: ",
1986            stringify!(tSdkCameraCapbility),
1987            "::",
1988            stringify!(iBayerDecAlmSwDesc)
1989        )
1990    );
1991    assert_eq!(
1992        unsafe {
1993            &(*(::std::ptr::null::<tSdkCameraCapbility>())).pBayerDecAlmHdDesc as *const _ as usize
1994        },
1995        176usize,
1996        concat!(
1997            "Offset of field: ",
1998            stringify!(tSdkCameraCapbility),
1999            "::",
2000            stringify!(pBayerDecAlmHdDesc)
2001        )
2002    );
2003    assert_eq!(
2004        unsafe {
2005            &(*(::std::ptr::null::<tSdkCameraCapbility>())).iBayerDecAlmHdDesc as *const _ as usize
2006        },
2007        184usize,
2008        concat!(
2009            "Offset of field: ",
2010            stringify!(tSdkCameraCapbility),
2011            "::",
2012            stringify!(iBayerDecAlmHdDesc)
2013        )
2014    );
2015    assert_eq!(
2016        unsafe { &(*(::std::ptr::null::<tSdkCameraCapbility>())).sExposeDesc as *const _ as usize },
2017        188usize,
2018        concat!(
2019            "Offset of field: ",
2020            stringify!(tSdkCameraCapbility),
2021            "::",
2022            stringify!(sExposeDesc)
2023        )
2024    );
2025    assert_eq!(
2026        unsafe {
2027            &(*(::std::ptr::null::<tSdkCameraCapbility>())).sResolutionRange as *const _ as usize
2028        },
2029        216usize,
2030        concat!(
2031            "Offset of field: ",
2032            stringify!(tSdkCameraCapbility),
2033            "::",
2034            stringify!(sResolutionRange)
2035        )
2036    );
2037    assert_eq!(
2038        unsafe {
2039            &(*(::std::ptr::null::<tSdkCameraCapbility>())).sRgbGainRange as *const _ as usize
2040        },
2041        248usize,
2042        concat!(
2043            "Offset of field: ",
2044            stringify!(tSdkCameraCapbility),
2045            "::",
2046            stringify!(sRgbGainRange)
2047        )
2048    );
2049    assert_eq!(
2050        unsafe {
2051            &(*(::std::ptr::null::<tSdkCameraCapbility>())).sSaturationRange as *const _ as usize
2052        },
2053        272usize,
2054        concat!(
2055            "Offset of field: ",
2056            stringify!(tSdkCameraCapbility),
2057            "::",
2058            stringify!(sSaturationRange)
2059        )
2060    );
2061    assert_eq!(
2062        unsafe { &(*(::std::ptr::null::<tSdkCameraCapbility>())).sGammaRange as *const _ as usize },
2063        280usize,
2064        concat!(
2065            "Offset of field: ",
2066            stringify!(tSdkCameraCapbility),
2067            "::",
2068            stringify!(sGammaRange)
2069        )
2070    );
2071    assert_eq!(
2072        unsafe {
2073            &(*(::std::ptr::null::<tSdkCameraCapbility>())).sContrastRange as *const _ as usize
2074        },
2075        288usize,
2076        concat!(
2077            "Offset of field: ",
2078            stringify!(tSdkCameraCapbility),
2079            "::",
2080            stringify!(sContrastRange)
2081        )
2082    );
2083    assert_eq!(
2084        unsafe {
2085            &(*(::std::ptr::null::<tSdkCameraCapbility>())).sSharpnessRange as *const _ as usize
2086        },
2087        296usize,
2088        concat!(
2089            "Offset of field: ",
2090            stringify!(tSdkCameraCapbility),
2091            "::",
2092            stringify!(sSharpnessRange)
2093        )
2094    );
2095    assert_eq!(
2096        unsafe {
2097            &(*(::std::ptr::null::<tSdkCameraCapbility>())).sIspCapacity as *const _ as usize
2098        },
2099        304usize,
2100        concat!(
2101            "Offset of field: ",
2102            stringify!(tSdkCameraCapbility),
2103            "::",
2104            stringify!(sIspCapacity)
2105        )
2106    );
2107}
2108#[repr(C)]
2109#[derive(Debug, Default, Copy, Clone)]
2110pub struct tSdkFrameHead {
2111    pub uiMediaType: UINT,
2112    pub uBytes: UINT,
2113    pub iWidth: INT,
2114    pub iHeight: INT,
2115    pub iWidthZoomSw: INT,
2116    pub iHeightZoomSw: INT,
2117    pub bIsTrigger: BOOL,
2118    pub uiTimeStamp: UINT,
2119    pub uiExpTime: UINT,
2120    pub fAnalogGain: f32,
2121    pub iGamma: INT,
2122    pub iContrast: INT,
2123    pub iSaturation: INT,
2124    pub fRgain: f32,
2125    pub fGgain: f32,
2126    pub fBgain: f32,
2127}
2128#[test]
2129fn bindgen_test_layout_tSdkFrameHead() {
2130    assert_eq!(
2131        ::std::mem::size_of::<tSdkFrameHead>(),
2132        64usize,
2133        concat!("Size of: ", stringify!(tSdkFrameHead))
2134    );
2135    assert_eq!(
2136        ::std::mem::align_of::<tSdkFrameHead>(),
2137        4usize,
2138        concat!("Alignment of ", stringify!(tSdkFrameHead))
2139    );
2140    assert_eq!(
2141        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).uiMediaType as *const _ as usize },
2142        0usize,
2143        concat!(
2144            "Offset of field: ",
2145            stringify!(tSdkFrameHead),
2146            "::",
2147            stringify!(uiMediaType)
2148        )
2149    );
2150    assert_eq!(
2151        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).uBytes as *const _ as usize },
2152        4usize,
2153        concat!(
2154            "Offset of field: ",
2155            stringify!(tSdkFrameHead),
2156            "::",
2157            stringify!(uBytes)
2158        )
2159    );
2160    assert_eq!(
2161        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).iWidth as *const _ as usize },
2162        8usize,
2163        concat!(
2164            "Offset of field: ",
2165            stringify!(tSdkFrameHead),
2166            "::",
2167            stringify!(iWidth)
2168        )
2169    );
2170    assert_eq!(
2171        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).iHeight as *const _ as usize },
2172        12usize,
2173        concat!(
2174            "Offset of field: ",
2175            stringify!(tSdkFrameHead),
2176            "::",
2177            stringify!(iHeight)
2178        )
2179    );
2180    assert_eq!(
2181        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).iWidthZoomSw as *const _ as usize },
2182        16usize,
2183        concat!(
2184            "Offset of field: ",
2185            stringify!(tSdkFrameHead),
2186            "::",
2187            stringify!(iWidthZoomSw)
2188        )
2189    );
2190    assert_eq!(
2191        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).iHeightZoomSw as *const _ as usize },
2192        20usize,
2193        concat!(
2194            "Offset of field: ",
2195            stringify!(tSdkFrameHead),
2196            "::",
2197            stringify!(iHeightZoomSw)
2198        )
2199    );
2200    assert_eq!(
2201        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).bIsTrigger as *const _ as usize },
2202        24usize,
2203        concat!(
2204            "Offset of field: ",
2205            stringify!(tSdkFrameHead),
2206            "::",
2207            stringify!(bIsTrigger)
2208        )
2209    );
2210    assert_eq!(
2211        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).uiTimeStamp as *const _ as usize },
2212        28usize,
2213        concat!(
2214            "Offset of field: ",
2215            stringify!(tSdkFrameHead),
2216            "::",
2217            stringify!(uiTimeStamp)
2218        )
2219    );
2220    assert_eq!(
2221        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).uiExpTime as *const _ as usize },
2222        32usize,
2223        concat!(
2224            "Offset of field: ",
2225            stringify!(tSdkFrameHead),
2226            "::",
2227            stringify!(uiExpTime)
2228        )
2229    );
2230    assert_eq!(
2231        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).fAnalogGain as *const _ as usize },
2232        36usize,
2233        concat!(
2234            "Offset of field: ",
2235            stringify!(tSdkFrameHead),
2236            "::",
2237            stringify!(fAnalogGain)
2238        )
2239    );
2240    assert_eq!(
2241        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).iGamma as *const _ as usize },
2242        40usize,
2243        concat!(
2244            "Offset of field: ",
2245            stringify!(tSdkFrameHead),
2246            "::",
2247            stringify!(iGamma)
2248        )
2249    );
2250    assert_eq!(
2251        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).iContrast as *const _ as usize },
2252        44usize,
2253        concat!(
2254            "Offset of field: ",
2255            stringify!(tSdkFrameHead),
2256            "::",
2257            stringify!(iContrast)
2258        )
2259    );
2260    assert_eq!(
2261        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).iSaturation as *const _ as usize },
2262        48usize,
2263        concat!(
2264            "Offset of field: ",
2265            stringify!(tSdkFrameHead),
2266            "::",
2267            stringify!(iSaturation)
2268        )
2269    );
2270    assert_eq!(
2271        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).fRgain as *const _ as usize },
2272        52usize,
2273        concat!(
2274            "Offset of field: ",
2275            stringify!(tSdkFrameHead),
2276            "::",
2277            stringify!(fRgain)
2278        )
2279    );
2280    assert_eq!(
2281        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).fGgain as *const _ as usize },
2282        56usize,
2283        concat!(
2284            "Offset of field: ",
2285            stringify!(tSdkFrameHead),
2286            "::",
2287            stringify!(fGgain)
2288        )
2289    );
2290    assert_eq!(
2291        unsafe { &(*(::std::ptr::null::<tSdkFrameHead>())).fBgain as *const _ as usize },
2292        60usize,
2293        concat!(
2294            "Offset of field: ",
2295            stringify!(tSdkFrameHead),
2296            "::",
2297            stringify!(fBgain)
2298        )
2299    );
2300}
2301#[repr(C)]
2302#[derive(Debug, Copy, Clone)]
2303pub struct sCameraFrame {
2304    pub head: tSdkFrameHead,
2305    pub pBuffer: *mut BYTE,
2306}
2307#[test]
2308fn bindgen_test_layout_sCameraFrame() {
2309    assert_eq!(
2310        ::std::mem::size_of::<sCameraFrame>(),
2311        72usize,
2312        concat!("Size of: ", stringify!(sCameraFrame))
2313    );
2314    assert_eq!(
2315        ::std::mem::align_of::<sCameraFrame>(),
2316        8usize,
2317        concat!("Alignment of ", stringify!(sCameraFrame))
2318    );
2319    assert_eq!(
2320        unsafe { &(*(::std::ptr::null::<sCameraFrame>())).head as *const _ as usize },
2321        0usize,
2322        concat!(
2323            "Offset of field: ",
2324            stringify!(sCameraFrame),
2325            "::",
2326            stringify!(head)
2327        )
2328    );
2329    assert_eq!(
2330        unsafe { &(*(::std::ptr::null::<sCameraFrame>())).pBuffer as *const _ as usize },
2331        64usize,
2332        concat!(
2333            "Offset of field: ",
2334            stringify!(sCameraFrame),
2335            "::",
2336            stringify!(pBuffer)
2337        )
2338    );
2339}
2340pub type tSdkFrame = sCameraFrame;
2341pub type CAMERA_SNAP_PROC = ::std::option::Option<
2342    unsafe extern "C" fn(
2343        hCamera: CameraHandle,
2344        pFrameBuffer: *mut BYTE,
2345        pFrameHead: *mut tSdkFrameHead,
2346        pContext: PVOID,
2347    ),
2348>;
2349pub type CAMERA_PAGE_MSG_PROC = ::std::option::Option<
2350    unsafe extern "C" fn(hCamera: CameraHandle, MSG: UINT, uParam: UINT, pContext: PVOID),
2351>;
2352pub type CAMERA_CONNECTION_STATUS_CALLBACK = ::std::option::Option<
2353    unsafe extern "C" fn(hCamera: CameraHandle, MSG: UINT, uParam: UINT, pContext: PVOID),
2354>;
2355extern "C" {
2356    pub fn CameraSdkInit(iLanguageSel: ::std::os::raw::c_int) -> CameraSdkStatus;
2357}
2358extern "C" {
2359    pub fn CameraSetDataDirectory(dirname: *const ::std::os::raw::c_char) -> CameraSdkStatus;
2360}
2361extern "C" {
2362    pub fn CameraUSBDeviceInit() -> CameraSdkStatus;
2363}
2364extern "C" {
2365    pub fn CameraUSBDeviceUninit() -> CameraSdkStatus;
2366}
2367extern "C" {
2368    pub fn CameraEnumerateDevice(
2369        pCameraList: *mut tSdkCameraDevInfo,
2370        piNums: *mut INT,
2371    ) -> CameraSdkStatus;
2372}
2373extern "C" {
2374    pub fn CameraIdleStateDevice(
2375        pCameraList: *mut tSdkCameraDevInfo,
2376        piNums: *mut INT,
2377    ) -> CameraSdkStatus;
2378}
2379extern "C" {
2380    pub fn CameraEnumerateDeviceEx() -> INT;
2381}
2382extern "C" {
2383    pub fn CameraIsOpened(
2384        pCameraList: *mut tSdkCameraDevInfo,
2385        pOpened: *mut BOOL,
2386    ) -> CameraSdkStatus;
2387}
2388extern "C" {
2389    pub fn CameraInit(
2390        pCameraInfo: *mut tSdkCameraDevInfo,
2391        emParamLoadMode: ::std::os::raw::c_int,
2392        emTeam: ::std::os::raw::c_int,
2393        pCameraHandle: *mut CameraHandle,
2394    ) -> CameraSdkStatus;
2395}
2396extern "C" {
2397    pub fn CameraInitEx(
2398        iDeviceIndex: ::std::os::raw::c_int,
2399        iParamLoadMode: ::std::os::raw::c_int,
2400        emTeam: ::std::os::raw::c_int,
2401        pCameraHandle: *mut CameraHandle,
2402    ) -> CameraSdkStatus;
2403}
2404extern "C" {
2405    pub fn CameraInitEx2(
2406        CameraName: *mut ::std::os::raw::c_char,
2407        pCameraHandle: *mut CameraHandle,
2408    ) -> CameraSdkStatus;
2409}
2410extern "C" {
2411    pub fn CameraSetCallbackFunction(
2412        hCamera: CameraHandle,
2413        pCallBack: CAMERA_SNAP_PROC,
2414        pContext: PVOID,
2415        pCallbackOld: *mut CAMERA_SNAP_PROC,
2416    ) -> CameraSdkStatus;
2417}
2418extern "C" {
2419    pub fn CameraUnInit(hCamera: CameraHandle) -> CameraSdkStatus;
2420}
2421extern "C" {
2422    pub fn CameraGetInformation(
2423        hCamera: CameraHandle,
2424        pbuffer: *mut *mut ::std::os::raw::c_char,
2425    ) -> CameraSdkStatus;
2426}
2427extern "C" {
2428    pub fn CameraImageProcess(
2429        hCamera: CameraHandle,
2430        pbyIn: *mut BYTE,
2431        pbyOut: *mut BYTE,
2432        pFrInfo: *mut tSdkFrameHead,
2433    ) -> CameraSdkStatus;
2434}
2435extern "C" {
2436    pub fn CameraImageProcessEx(
2437        hCamera: CameraHandle,
2438        pbyIn: *mut BYTE,
2439        pbyOut: *mut BYTE,
2440        pFrInfo: *mut tSdkFrameHead,
2441        uOutFormat: UINT,
2442        uReserved: UINT,
2443    ) -> CameraSdkStatus;
2444}
2445extern "C" {
2446    pub fn CameraDisplayInit(hCamera: CameraHandle, hWndDisplay: HWND) -> CameraSdkStatus;
2447}
2448extern "C" {
2449    pub fn CameraDisplayRGB24(
2450        hCamera: CameraHandle,
2451        pbyRGB24: *mut BYTE,
2452        pFrInfo: *mut tSdkFrameHead,
2453    ) -> CameraSdkStatus;
2454}
2455extern "C" {
2456    pub fn CameraSetDisplayMode(hCamera: CameraHandle, iMode: INT) -> CameraSdkStatus;
2457}
2458extern "C" {
2459    pub fn CameraSetDisplayOffset(
2460        hCamera: CameraHandle,
2461        iOffsetX: ::std::os::raw::c_int,
2462        iOffsetY: ::std::os::raw::c_int,
2463    ) -> CameraSdkStatus;
2464}
2465extern "C" {
2466    pub fn CameraSetDisplaySize(
2467        hCamera: CameraHandle,
2468        iWidth: INT,
2469        iHeight: INT,
2470    ) -> CameraSdkStatus;
2471}
2472extern "C" {
2473    pub fn CameraGetImageBuffer(
2474        hCamera: CameraHandle,
2475        pFrameInfo: *mut tSdkFrameHead,
2476        pbyBuffer: *mut *mut BYTE,
2477        wTimes: UINT,
2478    ) -> CameraSdkStatus;
2479}
2480extern "C" {
2481    pub fn CameraGetImageBufferEx(
2482        hCamera: CameraHandle,
2483        piWidth: *mut INT,
2484        piHeight: *mut INT,
2485        wTimes: UINT,
2486    ) -> *mut ::std::os::raw::c_uchar;
2487}
2488extern "C" {
2489    pub fn CameraSnapToBuffer(
2490        hCamera: CameraHandle,
2491        pFrameInfo: *mut tSdkFrameHead,
2492        pbyBuffer: *mut *mut BYTE,
2493        uWaitTimeMs: UINT,
2494    ) -> CameraSdkStatus;
2495}
2496extern "C" {
2497    pub fn CameraReleaseImageBuffer(hCamera: CameraHandle, pbyBuffer: *mut BYTE)
2498        -> CameraSdkStatus;
2499}
2500extern "C" {
2501    pub fn CameraPlay(hCamera: CameraHandle) -> CameraSdkStatus;
2502}
2503extern "C" {
2504    pub fn CameraPause(hCamera: CameraHandle) -> CameraSdkStatus;
2505}
2506extern "C" {
2507    pub fn CameraStop(hCamera: CameraHandle) -> CameraSdkStatus;
2508}
2509extern "C" {
2510    pub fn CameraInitRecord(
2511        hCamera: CameraHandle,
2512        iFormat: ::std::os::raw::c_int,
2513        pcSavePath: *mut ::std::os::raw::c_char,
2514        b2GLimit: BOOL,
2515        dwQuality: DWORD,
2516        iFrameRate: ::std::os::raw::c_int,
2517    ) -> CameraSdkStatus;
2518}
2519extern "C" {
2520    pub fn CameraStopRecord(hCamera: CameraHandle) -> CameraSdkStatus;
2521}
2522extern "C" {
2523    pub fn CameraPushFrame(
2524        hCamera: CameraHandle,
2525        pbyImageBuffer: *mut BYTE,
2526        pFrInfo: *mut tSdkFrameHead,
2527    ) -> CameraSdkStatus;
2528}
2529extern "C" {
2530    pub fn CameraSaveImage(
2531        hCamera: CameraHandle,
2532        lpszFileName: *mut ::std::os::raw::c_char,
2533        pbyImageBuffer: *mut BYTE,
2534        pFrInfo: *mut tSdkFrameHead,
2535        byFileType: BYTE,
2536        byQuality: BYTE,
2537    ) -> CameraSdkStatus;
2538}
2539extern "C" {
2540    pub fn CameraGetImageResolution(
2541        hCamera: CameraHandle,
2542        psCurVideoSize: *mut tSdkImageResolution,
2543    ) -> CameraSdkStatus;
2544}
2545extern "C" {
2546    pub fn CameraSetImageResolution(
2547        hCamera: CameraHandle,
2548        pImageResolution: *mut tSdkImageResolution,
2549    ) -> CameraSdkStatus;
2550}
2551extern "C" {
2552    pub fn CameraGetMediaType(hCamera: CameraHandle, piMediaType: *mut INT) -> CameraSdkStatus;
2553}
2554extern "C" {
2555    pub fn CameraSetMediaType(hCamera: CameraHandle, iMediaType: INT) -> CameraSdkStatus;
2556}
2557extern "C" {
2558    pub fn CameraSetAeState(hCamera: CameraHandle, bAeState: BOOL) -> CameraSdkStatus;
2559}
2560extern "C" {
2561    pub fn CameraGetAeState(hCamera: CameraHandle, pAeState: *mut BOOL) -> CameraSdkStatus;
2562}
2563extern "C" {
2564    pub fn CameraSetSharpness(
2565        hCamera: CameraHandle,
2566        iSharpness: ::std::os::raw::c_int,
2567    ) -> CameraSdkStatus;
2568}
2569extern "C" {
2570    pub fn CameraGetSharpness(
2571        hCamera: CameraHandle,
2572        piSharpness: *mut ::std::os::raw::c_int,
2573    ) -> CameraSdkStatus;
2574}
2575extern "C" {
2576    pub fn CameraSetLutMode(
2577        hCamera: CameraHandle,
2578        emLutMode: ::std::os::raw::c_int,
2579    ) -> CameraSdkStatus;
2580}
2581extern "C" {
2582    pub fn CameraGetLutMode(
2583        hCamera: CameraHandle,
2584        pemLutMode: *mut ::std::os::raw::c_int,
2585    ) -> CameraSdkStatus;
2586}
2587extern "C" {
2588    pub fn CameraSelectLutPreset(
2589        hCamera: CameraHandle,
2590        iSel: ::std::os::raw::c_int,
2591    ) -> CameraSdkStatus;
2592}
2593extern "C" {
2594    pub fn CameraGetLutPresetSel(
2595        hCamera: CameraHandle,
2596        piSel: *mut ::std::os::raw::c_int,
2597    ) -> CameraSdkStatus;
2598}
2599extern "C" {
2600    pub fn CameraSetCustomLut(
2601        hCamera: CameraHandle,
2602        iChannel: ::std::os::raw::c_int,
2603        pLut: *mut USHORT,
2604    ) -> CameraSdkStatus;
2605}
2606extern "C" {
2607    pub fn CameraGetCustomLut(
2608        hCamera: CameraHandle,
2609        iChannel: ::std::os::raw::c_int,
2610        pLut: *mut USHORT,
2611    ) -> CameraSdkStatus;
2612}
2613extern "C" {
2614    pub fn CameraGetCurrentLut(
2615        hCamera: CameraHandle,
2616        iChannel: ::std::os::raw::c_int,
2617        pLut: *mut USHORT,
2618    ) -> CameraSdkStatus;
2619}
2620extern "C" {
2621    pub fn CameraSetWbMode(hCamera: CameraHandle, bAuto: BOOL) -> CameraSdkStatus;
2622}
2623extern "C" {
2624    pub fn CameraGetWbMode(hCamera: CameraHandle, pbAuto: *mut BOOL) -> CameraSdkStatus;
2625}
2626extern "C" {
2627    pub fn CameraSetPresetClrTemp(
2628        hCamera: CameraHandle,
2629        iSel: ::std::os::raw::c_int,
2630    ) -> CameraSdkStatus;
2631}
2632extern "C" {
2633    pub fn CameraGetPresetClrTemp(
2634        hCamera: CameraHandle,
2635        piSel: *mut ::std::os::raw::c_int,
2636    ) -> CameraSdkStatus;
2637}
2638extern "C" {
2639    pub fn CameraSetUserClrTempGain(
2640        hCamera: CameraHandle,
2641        iRgain: ::std::os::raw::c_int,
2642        iGgain: ::std::os::raw::c_int,
2643        iBgain: ::std::os::raw::c_int,
2644    ) -> CameraSdkStatus;
2645}
2646extern "C" {
2647    pub fn CameraGetUserClrTempGain(
2648        hCamera: CameraHandle,
2649        piRgain: *mut ::std::os::raw::c_int,
2650        piGgain: *mut ::std::os::raw::c_int,
2651        piBgain: *mut ::std::os::raw::c_int,
2652    ) -> CameraSdkStatus;
2653}
2654extern "C" {
2655    pub fn CameraSetUserClrTempMatrix(hCamera: CameraHandle, pMatrix: *mut f32) -> CameraSdkStatus;
2656}
2657extern "C" {
2658    pub fn CameraGetUserClrTempMatrix(hCamera: CameraHandle, pMatrix: *mut f32) -> CameraSdkStatus;
2659}
2660extern "C" {
2661    pub fn CameraSetClrTempMode(
2662        hCamera: CameraHandle,
2663        iMode: ::std::os::raw::c_int,
2664    ) -> CameraSdkStatus;
2665}
2666extern "C" {
2667    pub fn CameraGetClrTempMode(
2668        hCamera: CameraHandle,
2669        pimode: *mut ::std::os::raw::c_int,
2670    ) -> CameraSdkStatus;
2671}
2672extern "C" {
2673    pub fn CameraSetOnceWB(hCamera: CameraHandle) -> CameraSdkStatus;
2674}
2675extern "C" {
2676    pub fn CameraSetOnceBB(hCamera: CameraHandle) -> CameraSdkStatus;
2677}
2678extern "C" {
2679    pub fn CameraSetAeTarget(
2680        hCamera: CameraHandle,
2681        iAeTarget: ::std::os::raw::c_int,
2682    ) -> CameraSdkStatus;
2683}
2684extern "C" {
2685    pub fn CameraGetAeTarget(
2686        hCamera: CameraHandle,
2687        piAeTarget: *mut ::std::os::raw::c_int,
2688    ) -> CameraSdkStatus;
2689}
2690extern "C" {
2691    pub fn CameraSetAeExposureRange(
2692        hCamera: CameraHandle,
2693        fMinExposureTime: f64,
2694        fMaxExposureTime: f64,
2695    ) -> CameraSdkStatus;
2696}
2697extern "C" {
2698    pub fn CameraGetAeExposureRange(
2699        hCamera: CameraHandle,
2700        fMinExposureTime: *mut f64,
2701        fMaxExposureTime: *mut f64,
2702    ) -> CameraSdkStatus;
2703}
2704extern "C" {
2705    pub fn CameraSetAeAnalogGainRange(
2706        hCamera: CameraHandle,
2707        iMinAnalogGain: ::std::os::raw::c_int,
2708        iMaxAnalogGain: ::std::os::raw::c_int,
2709    ) -> CameraSdkStatus;
2710}
2711extern "C" {
2712    pub fn CameraGetAeAnalogGainRange(
2713        hCamera: CameraHandle,
2714        iMinAnalogGain: *mut ::std::os::raw::c_int,
2715        iMaxAnalogGain: *mut ::std::os::raw::c_int,
2716    ) -> CameraSdkStatus;
2717}
2718extern "C" {
2719    pub fn CameraSetAeThreshold(
2720        hCamera: CameraHandle,
2721        iThreshold: ::std::os::raw::c_int,
2722    ) -> CameraSdkStatus;
2723}
2724extern "C" {
2725    pub fn CameraGetAeThreshold(
2726        hCamera: CameraHandle,
2727        iThreshold: *mut ::std::os::raw::c_int,
2728    ) -> CameraSdkStatus;
2729}
2730extern "C" {
2731    pub fn CameraSetExposureTime(hCamera: CameraHandle, fExposureTime: f64) -> CameraSdkStatus;
2732}
2733extern "C" {
2734    pub fn CameraGetExposureLineTime(
2735        hCamera: CameraHandle,
2736        pfLineTime: *mut f64,
2737    ) -> CameraSdkStatus;
2738}
2739extern "C" {
2740    pub fn CameraGetExposureTime(
2741        hCamera: CameraHandle,
2742        pfExposureTime: *mut f64,
2743    ) -> CameraSdkStatus;
2744}
2745extern "C" {
2746    pub fn CameraGetExposureTimeRange(
2747        hCamera: CameraHandle,
2748        pfMin: *mut f64,
2749        pfMax: *mut f64,
2750        pfStep: *mut f64,
2751    ) -> CameraSdkStatus;
2752}
2753extern "C" {
2754    pub fn CameraSetMultiExposureTime(
2755        hCamera: CameraHandle,
2756        index: ::std::os::raw::c_int,
2757        fExposureTime: f64,
2758    ) -> CameraSdkStatus;
2759}
2760extern "C" {
2761    pub fn CameraGetMultiExposureTime(
2762        hCamera: CameraHandle,
2763        index: ::std::os::raw::c_int,
2764        fExposureTime: *mut f64,
2765    ) -> CameraSdkStatus;
2766}
2767extern "C" {
2768    pub fn CameraSetMultiExposureCount(
2769        hCamera: CameraHandle,
2770        count: ::std::os::raw::c_int,
2771    ) -> CameraSdkStatus;
2772}
2773extern "C" {
2774    pub fn CameraGetMultiExposureCount(
2775        hCamera: CameraHandle,
2776        count: *mut ::std::os::raw::c_int,
2777    ) -> CameraSdkStatus;
2778}
2779extern "C" {
2780    pub fn CameraGetMultiExposureMaxCount(
2781        hCamera: CameraHandle,
2782        max_count: *mut ::std::os::raw::c_int,
2783    ) -> CameraSdkStatus;
2784}
2785extern "C" {
2786    pub fn CameraSetAnalogGain(hCamera: CameraHandle, iAnalogGain: INT) -> CameraSdkStatus;
2787}
2788extern "C" {
2789    pub fn CameraGetAnalogGain(hCamera: CameraHandle, piAnalogGain: *mut INT) -> CameraSdkStatus;
2790}
2791extern "C" {
2792    pub fn CameraSetGain(
2793        hCamera: CameraHandle,
2794        iRGain: ::std::os::raw::c_int,
2795        iGGain: ::std::os::raw::c_int,
2796        iBGain: ::std::os::raw::c_int,
2797    ) -> CameraSdkStatus;
2798}
2799extern "C" {
2800    pub fn CameraGetGain(
2801        hCamera: CameraHandle,
2802        piRGain: *mut ::std::os::raw::c_int,
2803        piGGain: *mut ::std::os::raw::c_int,
2804        piBGain: *mut ::std::os::raw::c_int,
2805    ) -> CameraSdkStatus;
2806}
2807extern "C" {
2808    pub fn CameraSetGamma(hCamera: CameraHandle, iGamma: ::std::os::raw::c_int) -> CameraSdkStatus;
2809}
2810extern "C" {
2811    pub fn CameraGetGamma(
2812        hCamera: CameraHandle,
2813        piGamma: *mut ::std::os::raw::c_int,
2814    ) -> CameraSdkStatus;
2815}
2816extern "C" {
2817    pub fn CameraSetContrast(
2818        hCamera: CameraHandle,
2819        iContrast: ::std::os::raw::c_int,
2820    ) -> CameraSdkStatus;
2821}
2822extern "C" {
2823    pub fn CameraGetContrast(
2824        hCamera: CameraHandle,
2825        piContrast: *mut ::std::os::raw::c_int,
2826    ) -> CameraSdkStatus;
2827}
2828extern "C" {
2829    pub fn CameraSetSaturation(
2830        hCamera: CameraHandle,
2831        iSaturation: ::std::os::raw::c_int,
2832    ) -> CameraSdkStatus;
2833}
2834extern "C" {
2835    pub fn CameraGetSaturation(
2836        hCamera: CameraHandle,
2837        piSaturation: *mut ::std::os::raw::c_int,
2838    ) -> CameraSdkStatus;
2839}
2840extern "C" {
2841    pub fn CameraSetMonochrome(hCamera: CameraHandle, bEnable: BOOL) -> CameraSdkStatus;
2842}
2843extern "C" {
2844    pub fn CameraGetMonochrome(hCamera: CameraHandle, pbEnable: *mut BOOL) -> CameraSdkStatus;
2845}
2846extern "C" {
2847    pub fn CameraSetInverse(hCamera: CameraHandle, bEnable: BOOL) -> CameraSdkStatus;
2848}
2849extern "C" {
2850    pub fn CameraGetInverse(hCamera: CameraHandle, pbEnable: *mut BOOL) -> CameraSdkStatus;
2851}
2852extern "C" {
2853    pub fn CameraSetAntiFlick(hCamera: CameraHandle, bEnable: BOOL) -> CameraSdkStatus;
2854}
2855extern "C" {
2856    pub fn CameraGetAntiFlick(hCamera: CameraHandle, pbEnable: *mut BOOL) -> CameraSdkStatus;
2857}
2858extern "C" {
2859    pub fn CameraGetLightFrequency(
2860        hCamera: CameraHandle,
2861        piFrequencySel: *mut ::std::os::raw::c_int,
2862    ) -> CameraSdkStatus;
2863}
2864extern "C" {
2865    pub fn CameraSetLightFrequency(
2866        hCamera: CameraHandle,
2867        iFrequencySel: ::std::os::raw::c_int,
2868    ) -> CameraSdkStatus;
2869}
2870extern "C" {
2871    pub fn CameraSetFrameSpeed(
2872        hCamera: CameraHandle,
2873        iFrameSpeed: ::std::os::raw::c_int,
2874    ) -> CameraSdkStatus;
2875}
2876extern "C" {
2877    pub fn CameraGetFrameSpeed(
2878        hCamera: CameraHandle,
2879        piFrameSpeed: *mut ::std::os::raw::c_int,
2880    ) -> CameraSdkStatus;
2881}
2882extern "C" {
2883    pub fn CameraSetFrameRate(
2884        hCamera: CameraHandle,
2885        RateHZ: ::std::os::raw::c_int,
2886    ) -> CameraSdkStatus;
2887}
2888extern "C" {
2889    pub fn CameraGetFrameRate(
2890        hCamera: CameraHandle,
2891        RateHZ: *mut ::std::os::raw::c_int,
2892    ) -> CameraSdkStatus;
2893}
2894extern "C" {
2895    pub fn CameraSetParameterMode(
2896        hCamera: CameraHandle,
2897        iMode: ::std::os::raw::c_int,
2898    ) -> CameraSdkStatus;
2899}
2900extern "C" {
2901    pub fn CameraGetParameterMode(
2902        hCamera: CameraHandle,
2903        piTarget: *mut ::std::os::raw::c_int,
2904    ) -> CameraSdkStatus;
2905}
2906extern "C" {
2907    pub fn CameraSetParameterMask(hCamera: CameraHandle, uMask: UINT) -> CameraSdkStatus;
2908}
2909extern "C" {
2910    pub fn CameraSaveParameter(
2911        hCamera: CameraHandle,
2912        iTeam: ::std::os::raw::c_int,
2913    ) -> CameraSdkStatus;
2914}
2915extern "C" {
2916    pub fn CameraSaveParameterToFile(
2917        hCamera: CameraHandle,
2918        sFileName: *mut ::std::os::raw::c_char,
2919    ) -> CameraSdkStatus;
2920}
2921extern "C" {
2922    pub fn CameraReadParameterFromFile(
2923        hCamera: CameraHandle,
2924        sFileName: *mut ::std::os::raw::c_char,
2925    ) -> CameraSdkStatus;
2926}
2927extern "C" {
2928    pub fn CameraLoadParameter(
2929        hCamera: CameraHandle,
2930        iTeam: ::std::os::raw::c_int,
2931    ) -> CameraSdkStatus;
2932}
2933extern "C" {
2934    pub fn CameraGetCurrentParameterGroup(
2935        hCamera: CameraHandle,
2936        piTeam: *mut ::std::os::raw::c_int,
2937    ) -> CameraSdkStatus;
2938}
2939extern "C" {
2940    pub fn CameraSetTransPackLen(hCamera: CameraHandle, iPackSel: INT) -> CameraSdkStatus;
2941}
2942extern "C" {
2943    pub fn CameraGetTransPackLen(hCamera: CameraHandle, piPackSel: *mut INT) -> CameraSdkStatus;
2944}
2945extern "C" {
2946    pub fn CameraIsAeWinVisible(hCamera: CameraHandle, pbIsVisible: *mut BOOL) -> CameraSdkStatus;
2947}
2948extern "C" {
2949    pub fn CameraSetAeWinVisible(hCamera: CameraHandle, bIsVisible: BOOL) -> CameraSdkStatus;
2950}
2951extern "C" {
2952    pub fn CameraGetAeWindow(
2953        hCamera: CameraHandle,
2954        piHOff: *mut INT,
2955        piVOff: *mut INT,
2956        piWidth: *mut INT,
2957        piHeight: *mut INT,
2958    ) -> CameraSdkStatus;
2959}
2960extern "C" {
2961    pub fn CameraSetAeWindow(
2962        hCamera: CameraHandle,
2963        iHOff: ::std::os::raw::c_int,
2964        iVOff: ::std::os::raw::c_int,
2965        iWidth: ::std::os::raw::c_int,
2966        iHeight: ::std::os::raw::c_int,
2967    ) -> CameraSdkStatus;
2968}
2969extern "C" {
2970    pub fn CameraSetMirror(
2971        hCamera: CameraHandle,
2972        iDir: ::std::os::raw::c_int,
2973        bEnable: BOOL,
2974    ) -> CameraSdkStatus;
2975}
2976extern "C" {
2977    pub fn CameraGetMirror(
2978        hCamera: CameraHandle,
2979        iDir: ::std::os::raw::c_int,
2980        pbEnable: *mut BOOL,
2981    ) -> CameraSdkStatus;
2982}
2983extern "C" {
2984    pub fn CameraSetHardwareMirror(
2985        hCamera: CameraHandle,
2986        iDir: ::std::os::raw::c_int,
2987        bEnable: BOOL,
2988    ) -> CameraSdkStatus;
2989}
2990extern "C" {
2991    pub fn CameraGetHardwareMirror(
2992        hCamera: CameraHandle,
2993        iDir: ::std::os::raw::c_int,
2994        pbEnable: *mut BOOL,
2995    ) -> CameraSdkStatus;
2996}
2997extern "C" {
2998    pub fn CameraSetRotate(hCamera: CameraHandle, iRot: ::std::os::raw::c_int) -> CameraSdkStatus;
2999}
3000extern "C" {
3001    pub fn CameraGetRotate(
3002        hCamera: CameraHandle,
3003        iRot: *mut ::std::os::raw::c_int,
3004    ) -> CameraSdkStatus;
3005}
3006extern "C" {
3007    pub fn CameraGetWbWindow(
3008        hCamera: CameraHandle,
3009        PiHOff: *mut INT,
3010        PiVOff: *mut INT,
3011        PiWidth: *mut INT,
3012        PiHeight: *mut INT,
3013    ) -> CameraSdkStatus;
3014}
3015extern "C" {
3016    pub fn CameraSetWbWindow(
3017        hCamera: CameraHandle,
3018        iHOff: INT,
3019        iVOff: INT,
3020        iWidth: INT,
3021        iHeight: INT,
3022    ) -> CameraSdkStatus;
3023}
3024extern "C" {
3025    pub fn CameraIsWbWinVisible(hCamera: CameraHandle, pbShow: *mut BOOL) -> CameraSdkStatus;
3026}
3027extern "C" {
3028    pub fn CameraSetWbWinVisible(hCamera: CameraHandle, bShow: BOOL) -> CameraSdkStatus;
3029}
3030extern "C" {
3031    pub fn CameraImageOverlay(
3032        hCamera: CameraHandle,
3033        pRgbBuffer: *mut BYTE,
3034        pFrInfo: *mut tSdkFrameHead,
3035    ) -> CameraSdkStatus;
3036}
3037extern "C" {
3038    pub fn CameraSetCrossLine(
3039        hCamera: CameraHandle,
3040        iLine: ::std::os::raw::c_int,
3041        x: INT,
3042        y: INT,
3043        uColor: UINT,
3044        bVisible: BOOL,
3045    ) -> CameraSdkStatus;
3046}
3047extern "C" {
3048    pub fn CameraGetCrossLine(
3049        hCamera: CameraHandle,
3050        iLine: INT,
3051        px: *mut INT,
3052        py: *mut INT,
3053        pcolor: *mut UINT,
3054        pbVisible: *mut BOOL,
3055    ) -> CameraSdkStatus;
3056}
3057extern "C" {
3058    pub fn CameraGetCapability(
3059        hCamera: CameraHandle,
3060        pCameraInfo: *mut tSdkCameraCapbility,
3061    ) -> CameraSdkStatus;
3062}
3063extern "C" {
3064    pub fn CameraGetCapabilityEx(
3065        sDeviceModel: *mut ::std::os::raw::c_char,
3066        pCameraInfo: *mut tSdkCameraCapbility,
3067        hCameraHandle: PVOID,
3068    ) -> CameraSdkStatus;
3069}
3070extern "C" {
3071    pub fn CameraWriteSN(hCamera: CameraHandle, pbySN: *mut BYTE, iLevel: INT) -> CameraSdkStatus;
3072}
3073extern "C" {
3074    pub fn CameraReadSN(hCamera: CameraHandle, pbySN: *mut BYTE, iLevel: INT) -> CameraSdkStatus;
3075}
3076extern "C" {
3077    pub fn CameraSetTriggerDelayTime(hCamera: CameraHandle, uDelayTimeUs: UINT) -> CameraSdkStatus;
3078}
3079extern "C" {
3080    pub fn CameraGetTriggerDelayTime(
3081        hCamera: CameraHandle,
3082        puDelayTimeUs: *mut UINT,
3083    ) -> CameraSdkStatus;
3084}
3085extern "C" {
3086    pub fn CameraSetTriggerPeriodTime(hCamera: CameraHandle, time: UINT) -> CameraSdkStatus;
3087}
3088extern "C" {
3089    pub fn CameraGetTriggerPeriodTime(hCamera: CameraHandle, time: *mut UINT) -> CameraSdkStatus;
3090}
3091extern "C" {
3092    pub fn CameraSetTriggerCount(hCamera: CameraHandle, iCount: INT) -> CameraSdkStatus;
3093}
3094extern "C" {
3095    pub fn CameraGetTriggerCount(hCamera: CameraHandle, piCount: *mut INT) -> CameraSdkStatus;
3096}
3097extern "C" {
3098    pub fn CameraSoftTrigger(hCamera: CameraHandle) -> CameraSdkStatus;
3099}
3100extern "C" {
3101    pub fn CameraSetTriggerMode(
3102        hCamera: CameraHandle,
3103        iModeSel: ::std::os::raw::c_int,
3104    ) -> CameraSdkStatus;
3105}
3106extern "C" {
3107    pub fn CameraGetTriggerMode(hCamera: CameraHandle, piModeSel: *mut INT) -> CameraSdkStatus;
3108}
3109extern "C" {
3110    pub fn CameraSetStrobeMode(hCamera: CameraHandle, iMode: INT) -> CameraSdkStatus;
3111}
3112extern "C" {
3113    pub fn CameraGetStrobeMode(hCamera: CameraHandle, piMode: *mut INT) -> CameraSdkStatus;
3114}
3115extern "C" {
3116    pub fn CameraSetStrobeDelayTime(hCamera: CameraHandle, uDelayTimeUs: UINT) -> CameraSdkStatus;
3117}
3118extern "C" {
3119    pub fn CameraGetStrobeDelayTime(
3120        hCamera: CameraHandle,
3121        upDelayTimeUs: *mut UINT,
3122    ) -> CameraSdkStatus;
3123}
3124extern "C" {
3125    pub fn CameraSetStrobePulseWidth(hCamera: CameraHandle, uTimeUs: UINT) -> CameraSdkStatus;
3126}
3127extern "C" {
3128    pub fn CameraGetStrobePulseWidth(hCamera: CameraHandle, upTimeUs: *mut UINT)
3129        -> CameraSdkStatus;
3130}
3131extern "C" {
3132    pub fn CameraSetStrobePolarity(hCamera: CameraHandle, uPolarity: INT) -> CameraSdkStatus;
3133}
3134extern "C" {
3135    pub fn CameraGetStrobePolarity(hCamera: CameraHandle, upPolarity: *mut INT) -> CameraSdkStatus;
3136}
3137extern "C" {
3138    pub fn CameraSetExtTrigSignalType(hCamera: CameraHandle, iType: INT) -> CameraSdkStatus;
3139}
3140extern "C" {
3141    pub fn CameraGetExtTrigSignalType(hCamera: CameraHandle, ipType: *mut INT) -> CameraSdkStatus;
3142}
3143extern "C" {
3144    pub fn CameraSetExtTrigShutterType(hCamera: CameraHandle, iType: INT) -> CameraSdkStatus;
3145}
3146extern "C" {
3147    pub fn CameraGetExtTrigShutterType(hCamera: CameraHandle, ipType: *mut INT) -> CameraSdkStatus;
3148}
3149extern "C" {
3150    pub fn CameraSetExtTrigDelayTime(hCamera: CameraHandle, uDelayTimeUs: UINT) -> CameraSdkStatus;
3151}
3152extern "C" {
3153    pub fn CameraGetExtTrigDelayTime(
3154        hCamera: CameraHandle,
3155        upDelayTimeUs: *mut UINT,
3156    ) -> CameraSdkStatus;
3157}
3158extern "C" {
3159    pub fn CameraSetExtTrigBufferedDelayTime(
3160        hCamera: CameraHandle,
3161        uDelayTimeUs: UINT,
3162    ) -> CameraSdkStatus;
3163}
3164extern "C" {
3165    pub fn CameraGetExtTrigBufferedDelayTime(
3166        hCamera: CameraHandle,
3167        puDelayTimeUs: *mut UINT,
3168    ) -> CameraSdkStatus;
3169}
3170extern "C" {
3171    pub fn CameraSetExtTrigIntervalTime(hCamera: CameraHandle, uTimeUs: UINT) -> CameraSdkStatus;
3172}
3173extern "C" {
3174    pub fn CameraGetExtTrigIntervalTime(
3175        hCamera: CameraHandle,
3176        upTimeUs: *mut UINT,
3177    ) -> CameraSdkStatus;
3178}
3179extern "C" {
3180    pub fn CameraSetExtTrigJitterTime(hCamera: CameraHandle, uTimeUs: UINT) -> CameraSdkStatus;
3181}
3182extern "C" {
3183    pub fn CameraGetExtTrigJitterTime(
3184        hCamera: CameraHandle,
3185        upTimeUs: *mut UINT,
3186    ) -> CameraSdkStatus;
3187}
3188extern "C" {
3189    pub fn CameraGetExtTrigCapability(
3190        hCamera: CameraHandle,
3191        puCapabilityMask: *mut UINT,
3192    ) -> CameraSdkStatus;
3193}
3194extern "C" {
3195    pub fn CameraGetResolutionForSnap(
3196        hCamera: CameraHandle,
3197        pImageResolution: *mut tSdkImageResolution,
3198    ) -> CameraSdkStatus;
3199}
3200extern "C" {
3201    pub fn CameraSetResolutionForSnap(
3202        hCamera: CameraHandle,
3203        pImageResolution: *mut tSdkImageResolution,
3204    ) -> CameraSdkStatus;
3205}
3206extern "C" {
3207    pub fn CameraCustomizeResolution(
3208        hCamera: CameraHandle,
3209        pImageCustom: *mut tSdkImageResolution,
3210    ) -> CameraSdkStatus;
3211}
3212extern "C" {
3213    pub fn CameraCustomizeReferWin(
3214        hCamera: CameraHandle,
3215        iWinType: INT,
3216        hParent: HWND,
3217        piHOff: *mut INT,
3218        piVOff: *mut INT,
3219        piWidth: *mut INT,
3220        piHeight: *mut INT,
3221    ) -> CameraSdkStatus;
3222}
3223extern "C" {
3224    pub fn CameraShowSettingPage(hCamera: CameraHandle, bShow: BOOL) -> CameraSdkStatus;
3225}
3226extern "C" {
3227    pub fn CameraCreateSettingPage(
3228        hCamera: CameraHandle,
3229        hParent: HWND,
3230        pWinText: *mut ::std::os::raw::c_char,
3231        pCallbackFunc: CAMERA_PAGE_MSG_PROC,
3232        pCallbackCtx: PVOID,
3233        uReserved: UINT,
3234    ) -> CameraSdkStatus;
3235}
3236extern "C" {
3237    pub fn CameraCreateSettingPageEx(hCamera: CameraHandle) -> CameraSdkStatus;
3238}
3239extern "C" {
3240    pub fn CameraSetActiveSettingSubPage(hCamera: CameraHandle, index: INT) -> CameraSdkStatus;
3241}
3242extern "C" {
3243    pub fn CameraSpecialControl(
3244        hCamera: CameraHandle,
3245        dwCtrlCode: DWORD,
3246        dwParam: DWORD,
3247        lpData: LPVOID,
3248    ) -> CameraSdkStatus;
3249}
3250extern "C" {
3251    pub fn CameraGetFrameStatistic(
3252        hCamera: CameraHandle,
3253        psFrameStatistic: *mut tSdkFrameStatistic,
3254    ) -> CameraSdkStatus;
3255}
3256extern "C" {
3257    pub fn CameraGetStatisticResend(
3258        hCamera: CameraHandle,
3259        pResendCount: *mut UINT,
3260    ) -> CameraSdkStatus;
3261}
3262extern "C" {
3263    pub fn CameraSetNoiseFilter(hCamera: CameraHandle, bEnable: BOOL) -> CameraSdkStatus;
3264}
3265extern "C" {
3266    pub fn CameraGetNoiseFilterState(hCamera: CameraHandle, pEnable: *mut BOOL) -> CameraSdkStatus;
3267}
3268extern "C" {
3269    pub fn CameraRstTimeStamp(hCamera: CameraHandle) -> CameraSdkStatus;
3270}
3271extern "C" {
3272    pub fn CameraSaveUserData(
3273        hCamera: CameraHandle,
3274        uStartAddr: UINT,
3275        pbData: *mut BYTE,
3276        ilen: ::std::os::raw::c_int,
3277    ) -> CameraSdkStatus;
3278}
3279extern "C" {
3280    pub fn CameraLoadUserData(
3281        hCamera: CameraHandle,
3282        uStartAddr: UINT,
3283        pbData: *mut BYTE,
3284        ilen: ::std::os::raw::c_int,
3285    ) -> CameraSdkStatus;
3286}
3287extern "C" {
3288    pub fn CameraGetFriendlyName(
3289        hCamera: CameraHandle,
3290        pName: *mut ::std::os::raw::c_char,
3291    ) -> CameraSdkStatus;
3292}
3293extern "C" {
3294    pub fn CameraSetFriendlyName(
3295        hCamera: CameraHandle,
3296        pName: *mut ::std::os::raw::c_char,
3297    ) -> CameraSdkStatus;
3298}
3299extern "C" {
3300    pub fn CameraSdkGetVersionString(
3301        pVersionString: *mut ::std::os::raw::c_char,
3302    ) -> CameraSdkStatus;
3303}
3304extern "C" {
3305    pub fn CameraCheckFwUpdate(hCamera: CameraHandle, pNeedUpdate: *mut BOOL) -> CameraSdkStatus;
3306}
3307extern "C" {
3308    pub fn CameraGetFirmwareVersion(
3309        hCamera: CameraHandle,
3310        pVersion: *mut ::std::os::raw::c_char,
3311    ) -> CameraSdkStatus;
3312}
3313extern "C" {
3314    pub fn CameraGetEnumInfo(
3315        hCamera: CameraHandle,
3316        pCameraInfo: *mut tSdkCameraDevInfo,
3317    ) -> CameraSdkStatus;
3318}
3319extern "C" {
3320    pub fn CameraGetInerfaceVersion(
3321        hCamera: CameraHandle,
3322        pVersion: *mut ::std::os::raw::c_char,
3323    ) -> CameraSdkStatus;
3324}
3325extern "C" {
3326    pub fn CameraSetIOState(
3327        hCamera: CameraHandle,
3328        iOutputIOIndex: INT,
3329        uState: UINT,
3330    ) -> CameraSdkStatus;
3331}
3332extern "C" {
3333    pub fn CameraGetOutPutIOState(
3334        hCamera: CameraHandle,
3335        iOutputIOIndex: INT,
3336        puState: *mut UINT,
3337    ) -> CameraSdkStatus;
3338}
3339extern "C" {
3340    pub fn CameraGetIOState(
3341        hCamera: CameraHandle,
3342        iInputIOIndex: INT,
3343        puState: *mut UINT,
3344    ) -> CameraSdkStatus;
3345}
3346extern "C" {
3347    pub fn CameraSetInPutIOMode(
3348        hCamera: CameraHandle,
3349        iInputIOIndex: INT,
3350        iMode: INT,
3351    ) -> CameraSdkStatus;
3352}
3353extern "C" {
3354    pub fn CameraGetInPutIOMode(
3355        hCamera: CameraHandle,
3356        iInputIOIndex: INT,
3357        piMode: *mut INT,
3358    ) -> CameraSdkStatus;
3359}
3360extern "C" {
3361    pub fn CameraSetOutPutIOMode(
3362        hCamera: CameraHandle,
3363        iOutputIOIndex: INT,
3364        iMode: INT,
3365    ) -> CameraSdkStatus;
3366}
3367extern "C" {
3368    pub fn CameraGetOutPutIOMode(
3369        hCamera: CameraHandle,
3370        iOutputIOIndex: INT,
3371        piMode: *mut INT,
3372    ) -> CameraSdkStatus;
3373}
3374extern "C" {
3375    pub fn CameraGetInPutIOModeCapbility(
3376        hCamera: CameraHandle,
3377        iInputIOIndex: INT,
3378        piCapbility: *mut UINT,
3379    ) -> CameraSdkStatus;
3380}
3381extern "C" {
3382    pub fn CameraGetOutPutIOModeCapbility(
3383        hCamera: CameraHandle,
3384        iOutputIOIndex: INT,
3385        piCapbility: *mut UINT,
3386    ) -> CameraSdkStatus;
3387}
3388extern "C" {
3389    pub fn CameraSetOutPutPWM(
3390        hCamera: CameraHandle,
3391        iOutputIOIndex: INT,
3392        iCycle: UINT,
3393        uDuty: UINT,
3394    ) -> CameraSdkStatus;
3395}
3396extern "C" {
3397    pub fn CameraSetRotaryEncDir(hCamera: CameraHandle, dir: INT) -> CameraSdkStatus;
3398}
3399extern "C" {
3400    pub fn CameraGetRotaryEncDir(hCamera: CameraHandle, dir: *mut INT) -> CameraSdkStatus;
3401}
3402extern "C" {
3403    pub fn CameraSetRotaryEncFreq(hCamera: CameraHandle, mul: INT, div: INT) -> CameraSdkStatus;
3404}
3405extern "C" {
3406    pub fn CameraGetRotaryEncFreq(
3407        hCamera: CameraHandle,
3408        mul: *mut INT,
3409        div: *mut INT,
3410    ) -> CameraSdkStatus;
3411}
3412extern "C" {
3413    pub fn CameraSetInPutIOFormat(
3414        hCamera: CameraHandle,
3415        iInputIOIndex: INT,
3416        iFormat: INT,
3417    ) -> CameraSdkStatus;
3418}
3419extern "C" {
3420    pub fn CameraGetInPutIOFormat(
3421        hCamera: CameraHandle,
3422        iInputIOIndex: INT,
3423        piFormat: *mut INT,
3424    ) -> CameraSdkStatus;
3425}
3426extern "C" {
3427    pub fn CameraSetOutPutIOFormat(
3428        hCamera: CameraHandle,
3429        iOutputIOIndex: INT,
3430        iFormat: INT,
3431    ) -> CameraSdkStatus;
3432}
3433extern "C" {
3434    pub fn CameraGetOutPutIOFormat(
3435        hCamera: CameraHandle,
3436        iOutputIOIndex: INT,
3437        piFormat: *mut INT,
3438    ) -> CameraSdkStatus;
3439}
3440extern "C" {
3441    pub fn CameraGetInPutIOFormatCapbility(
3442        hCamera: CameraHandle,
3443        iInputIOIndex: INT,
3444        piCapbility: *mut UINT,
3445    ) -> CameraSdkStatus;
3446}
3447extern "C" {
3448    pub fn CameraGetOutPutIOFormatCapbility(
3449        hCamera: CameraHandle,
3450        iOutputIOIndex: INT,
3451        piCapbility: *mut UINT,
3452    ) -> CameraSdkStatus;
3453}
3454extern "C" {
3455    pub fn CameraSetOutPutDelayTime(
3456        hCamera: CameraHandle,
3457        iOutputIOIndex: INT,
3458        uDelayTimeUs: UINT,
3459    ) -> CameraSdkStatus;
3460}
3461extern "C" {
3462    pub fn CameraSetOutPutPulseWidth(
3463        hCamera: CameraHandle,
3464        iOutputIOIndex: INT,
3465        uTimeUs: UINT,
3466    ) -> CameraSdkStatus;
3467}
3468extern "C" {
3469    pub fn CameraSetOutPutPolarity(
3470        hCamera: CameraHandle,
3471        iOutputIOIndex: INT,
3472        uPolarity: UINT,
3473    ) -> CameraSdkStatus;
3474}
3475extern "C" {
3476    pub fn CameraSetAeAlgorithm(
3477        hCamera: CameraHandle,
3478        iIspProcessor: INT,
3479        iAeAlgorithmSel: INT,
3480    ) -> CameraSdkStatus;
3481}
3482extern "C" {
3483    pub fn CameraGetAeAlgorithm(
3484        hCamera: CameraHandle,
3485        iIspProcessor: INT,
3486        piAlgorithmSel: *mut INT,
3487    ) -> CameraSdkStatus;
3488}
3489extern "C" {
3490    pub fn CameraSetBayerDecAlgorithm(
3491        hCamera: CameraHandle,
3492        iIspProcessor: INT,
3493        iAlgorithmSel: INT,
3494    ) -> CameraSdkStatus;
3495}
3496extern "C" {
3497    pub fn CameraGetBayerDecAlgorithm(
3498        hCamera: CameraHandle,
3499        iIspProcessor: INT,
3500        piAlgorithmSel: *mut INT,
3501    ) -> CameraSdkStatus;
3502}
3503extern "C" {
3504    pub fn CameraSetIspProcessor(hCamera: CameraHandle, iIspProcessor: INT) -> CameraSdkStatus;
3505}
3506extern "C" {
3507    pub fn CameraGetIspProcessor(
3508        hCamera: CameraHandle,
3509        piIspProcessor: *mut INT,
3510    ) -> CameraSdkStatus;
3511}
3512extern "C" {
3513    pub fn CameraSetBlackLevel(hCamera: CameraHandle, iBlackLevel: INT) -> CameraSdkStatus;
3514}
3515extern "C" {
3516    pub fn CameraGetBlackLevel(hCamera: CameraHandle, piBlackLevel: *mut INT) -> CameraSdkStatus;
3517}
3518extern "C" {
3519    pub fn CameraSetWhiteLevel(hCamera: CameraHandle, iWhiteLevel: INT) -> CameraSdkStatus;
3520}
3521extern "C" {
3522    pub fn CameraGetWhiteLevel(hCamera: CameraHandle, piWhiteLevel: *mut INT) -> CameraSdkStatus;
3523}
3524extern "C" {
3525    pub fn CameraSetIspOutFormat(hCamera: CameraHandle, uFormat: UINT) -> CameraSdkStatus;
3526}
3527extern "C" {
3528    pub fn CameraGetIspOutFormat(hCamera: CameraHandle, puFormat: *mut UINT) -> CameraSdkStatus;
3529}
3530extern "C" {
3531    pub fn CameraGetErrorString(iStatusCode: CameraSdkStatus) -> *mut ::std::os::raw::c_char;
3532}
3533extern "C" {
3534    pub fn CameraReConnect(hCamera: CameraHandle) -> CameraSdkStatus;
3535}
3536extern "C" {
3537    pub fn CameraConnectTest(hCamera: CameraHandle) -> CameraSdkStatus;
3538}
3539extern "C" {
3540    pub fn CameraSetLedEnable(
3541        hCamera: CameraHandle,
3542        index: ::std::os::raw::c_int,
3543        enable: BOOL,
3544    ) -> CameraSdkStatus;
3545}
3546extern "C" {
3547    pub fn CameraGetLedEnable(
3548        hCamera: CameraHandle,
3549        index: ::std::os::raw::c_int,
3550        enable: *mut BOOL,
3551    ) -> CameraSdkStatus;
3552}
3553extern "C" {
3554    pub fn CameraSetLedOnOff(
3555        hCamera: CameraHandle,
3556        index: ::std::os::raw::c_int,
3557        onoff: BOOL,
3558    ) -> CameraSdkStatus;
3559}
3560extern "C" {
3561    pub fn CameraGetLedOnOff(
3562        hCamera: CameraHandle,
3563        index: ::std::os::raw::c_int,
3564        onoff: *mut BOOL,
3565    ) -> CameraSdkStatus;
3566}
3567extern "C" {
3568    pub fn CameraSetLedDuration(
3569        hCamera: CameraHandle,
3570        index: ::std::os::raw::c_int,
3571        duration: UINT,
3572    ) -> CameraSdkStatus;
3573}
3574extern "C" {
3575    pub fn CameraGetLedDuration(
3576        hCamera: CameraHandle,
3577        index: ::std::os::raw::c_int,
3578        duration: *mut UINT,
3579    ) -> CameraSdkStatus;
3580}
3581extern "C" {
3582    pub fn CameraSetLedBrightness(
3583        hCamera: CameraHandle,
3584        index: ::std::os::raw::c_int,
3585        uBrightness: UINT,
3586    ) -> CameraSdkStatus;
3587}
3588extern "C" {
3589    pub fn CameraGetLedBrightness(
3590        hCamera: CameraHandle,
3591        index: ::std::os::raw::c_int,
3592        uBrightness: *mut UINT,
3593    ) -> CameraSdkStatus;
3594}
3595extern "C" {
3596    pub fn CameraAlignMalloc(
3597        size: ::std::os::raw::c_int,
3598        align: ::std::os::raw::c_int,
3599    ) -> *mut BYTE;
3600}
3601extern "C" {
3602    pub fn CameraAlignFree(membuffer: *mut BYTE);
3603}
3604extern "C" {
3605    pub fn CameraCommonCall(
3606        hCamera: CameraHandle,
3607        pszCall: *const ::std::os::raw::c_char,
3608        pszResult: *mut ::std::os::raw::c_char,
3609        uResultBufSize: UINT,
3610    ) -> CameraSdkStatus;
3611}
3612extern "C" {
3613    pub fn CameraGetEyeCount(
3614        hCamera: CameraHandle,
3615        eyecount: *mut ::std::os::raw::c_int,
3616    ) -> CameraSdkStatus;
3617}
3618extern "C" {
3619    pub fn CameraMultiEyeImageProcess(
3620        hCamera: CameraHandle,
3621        iEyeIndex: ::std::os::raw::c_int,
3622        pbyIn: *mut BYTE,
3623        pInFrInfo: *mut tSdkFrameHead,
3624        pbyOut: *mut BYTE,
3625        pOutFrInfo: *mut tSdkFrameHead,
3626        uOutFormat: UINT,
3627        uReserved: UINT,
3628    ) -> CameraSdkStatus;
3629}
3630extern "C" {
3631    pub fn CameraSetLightingControllerMode(
3632        hCamera: CameraHandle,
3633        index: ::std::os::raw::c_int,
3634        mode: ::std::os::raw::c_int,
3635    ) -> CameraSdkStatus;
3636}
3637extern "C" {
3638    pub fn CameraSetLightingControllerState(
3639        hCamera: CameraHandle,
3640        index: ::std::os::raw::c_int,
3641        state: ::std::os::raw::c_int,
3642    ) -> CameraSdkStatus;
3643}
3644extern "C" {
3645    pub fn CameraFlipFrameBuffer(
3646        pFrameBuffer: *mut BYTE,
3647        pFrameHead: *mut tSdkFrameHead,
3648        Flags: ::std::os::raw::c_int,
3649    ) -> CameraSdkStatus;
3650}
3651extern "C" {
3652    pub fn CameraConvertFrameBufferFormat(
3653        hCamera: CameraHandle,
3654        pInFrameBuffer: *mut BYTE,
3655        pOutFrameBuffer: *mut BYTE,
3656        outWidth: ::std::os::raw::c_int,
3657        outHeight: ::std::os::raw::c_int,
3658        outMediaType: UINT,
3659        pFrameHead: *mut tSdkFrameHead,
3660    ) -> CameraSdkStatus;
3661}
3662extern "C" {
3663    pub fn CameraGetFrameID(hCamera: CameraHandle, id: *mut UINT) -> CameraSdkStatus;
3664}
3665extern "C" {
3666    pub fn CameraGetFrameTimeStamp(
3667        hCamera: CameraHandle,
3668        TimeStampL: *mut UINT,
3669        TimeStampH: *mut UINT,
3670    ) -> CameraSdkStatus;
3671}
3672extern "C" {
3673    pub fn CameraSetConnectionStatusCallback(
3674        hCamera: CameraHandle,
3675        pCallBack: CAMERA_CONNECTION_STATUS_CALLBACK,
3676        pContext: PVOID,
3677    ) -> CameraSdkStatus;
3678}
3679extern "C" {
3680    pub fn CameraGigeEnumerateDevice(
3681        ppIpList: *mut *const ::std::os::raw::c_char,
3682        numIp: ::std::os::raw::c_int,
3683        pCameraList: *mut tSdkCameraDevInfo,
3684        piNums: *mut INT,
3685    ) -> CameraSdkStatus;
3686}
3687extern "C" {
3688    pub fn CameraGigeSetOption(
3689        optionName: *const ::std::os::raw::c_char,
3690        value: *const ::std::os::raw::c_char,
3691    ) -> CameraSdkStatus;
3692}
3693extern "C" {
3694    pub fn CameraGigeGetIp(
3695        pCameraInfo: *mut tSdkCameraDevInfo,
3696        CamIp: *mut ::std::os::raw::c_char,
3697        CamMask: *mut ::std::os::raw::c_char,
3698        CamGateWay: *mut ::std::os::raw::c_char,
3699        EtIp: *mut ::std::os::raw::c_char,
3700        EtMask: *mut ::std::os::raw::c_char,
3701        EtGateWay: *mut ::std::os::raw::c_char,
3702    ) -> CameraSdkStatus;
3703}
3704extern "C" {
3705    pub fn CameraGigeSetIp(
3706        pCameraInfo: *mut tSdkCameraDevInfo,
3707        Ip: *const ::std::os::raw::c_char,
3708        SubMask: *const ::std::os::raw::c_char,
3709        GateWay: *const ::std::os::raw::c_char,
3710        bPersistent: BOOL,
3711    ) -> CameraSdkStatus;
3712}
3713extern "C" {
3714    pub fn CameraGigeGetMac(
3715        pCameraInfo: *mut tSdkCameraDevInfo,
3716        CamMac: *mut ::std::os::raw::c_char,
3717        EtMac: *mut ::std::os::raw::c_char,
3718    ) -> CameraSdkStatus;
3719}
3720extern "C" {
3721    pub fn CameraClearBuffer(hCamera: CameraHandle) -> CameraSdkStatus;
3722}
3723extern "C" {
3724    pub fn CameraGetImageBufferPriority(
3725        hCamera: CameraHandle,
3726        pFrameInfo: *mut tSdkFrameHead,
3727        pbyBuffer: *mut *mut BYTE,
3728        wTimes: UINT,
3729        Priority: UINT,
3730    ) -> CameraSdkStatus;
3731}
3732extern "C" {
3733    pub fn CameraGetImageBufferPriorityEx(
3734        hCamera: CameraHandle,
3735        piWidth: *mut INT,
3736        piHeight: *mut INT,
3737        wTimes: UINT,
3738        Priority: UINT,
3739    ) -> *mut ::std::os::raw::c_uchar;
3740}
3741extern "C" {
3742    pub fn CameraSoftTriggerEx(hCamera: CameraHandle, uFlags: UINT) -> CameraSdkStatus;
3743}
3744extern "C" {
3745    pub fn CameraSetFrameResendCount(
3746        hCamera: CameraHandle,
3747        count: ::std::os::raw::c_int,
3748    ) -> CameraSdkStatus;
3749}
3750extern "C" {
3751    pub fn CameraSetSysOption(
3752        optionName: *const ::std::os::raw::c_char,
3753        value: *const ::std::os::raw::c_char,
3754    ) -> CameraSdkStatus;
3755}
3756extern "C" {
3757    pub fn CameraSetCorrectDeadPixel(hCamera: CameraHandle, bEnable: BOOL) -> CameraSdkStatus;
3758}
3759extern "C" {
3760    pub fn CameraGetCorrectDeadPixel(hCamera: CameraHandle, pbEnable: *mut BOOL)
3761        -> CameraSdkStatus;
3762}