libspinnaker_sys/
lib.rs

1/* automatically generated by rust-bindgen 0.58.1 */
2
3// Generated from C headers of Spinnaker 2.4.0.143.
4
5#![allow(
6    non_camel_case_types,
7    non_upper_case_globals,
8    non_snake_case
9)]
10
11pub type size_t = ::std::os::raw::c_ulong;
12pub type bool8_t = u8;
13pub const False: bool8_t = 0;
14pub const True: bool8_t = 1;
15
16#[doc = " Handle for system functionality. Created by calling"]
17#[doc = " spinSystemGetInstance(), which requires a call to"]
18#[doc = " spinSystemReleaseInstance() to release."]
19pub type spinSystem = *mut ::std::os::raw::c_void;
20#[doc = " Handle for interface list functionality. Created by calling"]
21#[doc = " spinSystemGetInterfaces(), which requires a call to"]
22#[doc = " spinInterfaceListClear() to clear, or spinInterfaceListCreateEmpty(),"]
23#[doc = " which requires a call to spinInterfaceListDestroy() to destroy."]
24pub type spinInterfaceList = *mut ::std::os::raw::c_void;
25#[doc = " Handle for interface functionality. Created by calling"]
26#[doc = " spinInterfaceListGet(), which requires a call to"]
27#[doc = " spinInterfaceRelease() to release."]
28pub type spinInterface = *mut ::std::os::raw::c_void;
29#[doc = " Handle for interface functionality. Created by calling"]
30#[doc = " spinSystemGetCameras() or spinInterfaceGetCameras(), which require"]
31#[doc = " a call to spinCameraListClear() to clear, or"]
32#[doc = " spinCameraListCreateEmpty(), which requires a call to"]
33#[doc = " spinCameraListDestroy() to destroy."]
34pub type spinCameraList = *mut ::std::os::raw::c_void;
35#[doc = " Handle for camera functionality. Created by calling"]
36#[doc = " spinCameraListGet(), which requires a call to spinCameraRelease() to"]
37#[doc = " release."]
38pub type spinCamera = *mut ::std::os::raw::c_void;
39#[doc = " Handle for image functionality. Created by calling"]
40#[doc = " spinCameraGetNextImage() or spinCameraGetNextImageEx(), which require"]
41#[doc = " a call to spinImageRelease() to remove from buffer, or"]
42#[doc = " spinImageCreateEmpty(), spinImageCreateEx(), or spinImageCreate(),"]
43#[doc = " which require a call to spinImageDestroy() to destroy."]
44pub type spinImage = *mut ::std::os::raw::c_void;
45#[doc = " Handle for image statistics functionality. Created by calling"]
46#[doc = " spinImageStatisticsCreate(), which requires a call to"]
47#[doc = " spinImageStatisticsDestroy() to destroy."]
48pub type spinImageStatistics = *mut ::std::os::raw::c_void;
49#[doc = " Handle for device event handler functionality. Created by calling"]
50#[doc = " spinDeviceEventHandlerCreate(), which requires a call to spinDeviceEventHandlerDestroy()"]
51#[doc = " to destroy."]
52pub type spinDeviceEventHandler = *mut ::std::os::raw::c_void;
53#[doc = " Handle for image event handler functionality. Created by calling"]
54#[doc = " spinImageEventHandlerCreate(), which requires a call to spinImageEventHandlerDestroy()"]
55#[doc = " to destroy."]
56pub type spinImageEventHandler = *mut ::std::os::raw::c_void;
57#[doc = " Handle for arrival event handler functionality. Created by calling"]
58#[doc = " spinArrivalEventCreate(), which requires a call to"]
59#[doc = " spinDeviceArrivalEventHandlerDestroy() to destroy."]
60pub type spinDeviceArrivalEventHandler = *mut ::std::os::raw::c_void;
61#[doc = " Handle for removal event handler functionality. Created by calling"]
62#[doc = " spinDeviceRemovalEventHandlerCreate(), which requires a call to"]
63#[doc = " spinDeviceRemovalEventHandlerDestroy() to destroy."]
64pub type spinDeviceRemovalEventHandler = *mut ::std::os::raw::c_void;
65#[doc = " Handle for interface event handler functionality. Created by calling"]
66#[doc = " spinInterfaceEventHandlerCreate(), which requires a call to"]
67#[doc = " spinInterfaceEventHandlerDestroy() to destroy."]
68pub type spinInterfaceEventHandler = *mut ::std::os::raw::c_void;
69#[doc = " Handle for logging event handler functionality. Created by calling"]
70#[doc = " spinLogEventHandlerCreate(), which requires a call to spinLogEventHandlerDestroy()"]
71#[doc = " to destroy."]
72pub type spinLogEventHandler = *mut ::std::os::raw::c_void;
73#[doc = " Handle for logging event data functionality. Received in log event"]
74#[doc = " function. No need to release, clear, or destroy."]
75pub type spinLogEventData = *mut ::std::os::raw::c_void;
76#[doc = " Handle for device event data functionality. Received in device event"]
77#[doc = " function. No need to release, clear, or destroy."]
78pub type spinDeviceEventData = *mut ::std::os::raw::c_void;
79#[doc = " Handle for video recording functionality. Created by calling"]
80#[doc = " spinVideoOpenUncompressed(), spinVideoOpenMJPG(), and"]
81#[doc = " spinVideoOpenH264(), which require a call to"]
82#[doc = " spinVideoClose() to destroy."]
83pub type spinVideo = *mut ::std::os::raw::c_void;
84#[doc = " Function signatures are used to create and trigger callbacks and"]
85#[doc = " events."]
86pub type spinDeviceEventFunction = ::std::option::Option<
87    unsafe extern "C" fn(
88        hEventData: spinDeviceEventData,
89        pEventName: *const ::std::os::raw::c_char,
90        pUserData: *mut ::std::os::raw::c_void,
91    ),
92>;
93pub type spinImageEventFunction = ::std::option::Option<
94    unsafe extern "C" fn(hImage: spinImage, pUserData: *mut ::std::os::raw::c_void),
95>;
96pub type spinArrivalEventFunction = ::std::option::Option<
97    unsafe extern "C" fn(deviceSerialNumber: u64, pUserData: *mut ::std::os::raw::c_void),
98>;
99pub type spinRemovalEventFunction = ::std::option::Option<
100    unsafe extern "C" fn(deviceSerialNumber: u64, pUserData: *mut ::std::os::raw::c_void),
101>;
102pub type spinLogEventFunction = ::std::option::Option<
103    unsafe extern "C" fn(hEventData: spinLogEventData, pUserData: *mut ::std::os::raw::c_void),
104>;
105#[doc = " An error code of 0 means that the function has run without error."]
106pub const _spinError_SPINNAKER_ERR_SUCCESS: _spinError = 0;
107#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
108#[doc = " Spinnaker exceptions."]
109pub const _spinError_SPINNAKER_ERR_ERROR: _spinError = -1001;
110#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
111#[doc = " Spinnaker exceptions."]
112pub const _spinError_SPINNAKER_ERR_NOT_INITIALIZED: _spinError = -1002;
113#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
114#[doc = " Spinnaker exceptions."]
115pub const _spinError_SPINNAKER_ERR_NOT_IMPLEMENTED: _spinError = -1003;
116#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
117#[doc = " Spinnaker exceptions."]
118pub const _spinError_SPINNAKER_ERR_RESOURCE_IN_USE: _spinError = -1004;
119#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
120#[doc = " Spinnaker exceptions."]
121pub const _spinError_SPINNAKER_ERR_ACCESS_DENIED: _spinError = -1005;
122#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
123#[doc = " Spinnaker exceptions."]
124pub const _spinError_SPINNAKER_ERR_INVALID_HANDLE: _spinError = -1006;
125#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
126#[doc = " Spinnaker exceptions."]
127pub const _spinError_SPINNAKER_ERR_INVALID_ID: _spinError = -1007;
128#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
129#[doc = " Spinnaker exceptions."]
130pub const _spinError_SPINNAKER_ERR_NO_DATA: _spinError = -1008;
131#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
132#[doc = " Spinnaker exceptions."]
133pub const _spinError_SPINNAKER_ERR_INVALID_PARAMETER: _spinError = -1009;
134#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
135#[doc = " Spinnaker exceptions."]
136pub const _spinError_SPINNAKER_ERR_IO: _spinError = -1010;
137#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
138#[doc = " Spinnaker exceptions."]
139pub const _spinError_SPINNAKER_ERR_TIMEOUT: _spinError = -1011;
140#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
141#[doc = " Spinnaker exceptions."]
142pub const _spinError_SPINNAKER_ERR_ABORT: _spinError = -1012;
143#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
144#[doc = " Spinnaker exceptions."]
145pub const _spinError_SPINNAKER_ERR_INVALID_BUFFER: _spinError = -1013;
146#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
147#[doc = " Spinnaker exceptions."]
148pub const _spinError_SPINNAKER_ERR_NOT_AVAILABLE: _spinError = -1014;
149#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
150#[doc = " Spinnaker exceptions."]
151pub const _spinError_SPINNAKER_ERR_INVALID_ADDRESS: _spinError = -1015;
152#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
153#[doc = " Spinnaker exceptions."]
154pub const _spinError_SPINNAKER_ERR_BUFFER_TOO_SMALL: _spinError = -1016;
155#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
156#[doc = " Spinnaker exceptions."]
157pub const _spinError_SPINNAKER_ERR_INVALID_INDEX: _spinError = -1017;
158#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
159#[doc = " Spinnaker exceptions."]
160pub const _spinError_SPINNAKER_ERR_PARSING_CHUNK_DATA: _spinError = -1018;
161#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
162#[doc = " Spinnaker exceptions."]
163pub const _spinError_SPINNAKER_ERR_INVALID_VALUE: _spinError = -1019;
164#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
165#[doc = " Spinnaker exceptions."]
166pub const _spinError_SPINNAKER_ERR_RESOURCE_EXHAUSTED: _spinError = -1020;
167#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
168#[doc = " Spinnaker exceptions."]
169pub const _spinError_SPINNAKER_ERR_OUT_OF_MEMORY: _spinError = -1021;
170#[doc = " The error codes in the range of -1000 to -1999 are reserved for"]
171#[doc = " Spinnaker exceptions."]
172pub const _spinError_SPINNAKER_ERR_BUSY: _spinError = -1022;
173#[doc = " The error codes in the range of -2000 to -2999 are reserved for"]
174#[doc = " Gen API related errors."]
175pub const _spinError_GENICAM_ERR_INVALID_ARGUMENT: _spinError = -2001;
176#[doc = " The error codes in the range of -2000 to -2999 are reserved for"]
177#[doc = " Gen API related errors."]
178pub const _spinError_GENICAM_ERR_OUT_OF_RANGE: _spinError = -2002;
179#[doc = " The error codes in the range of -2000 to -2999 are reserved for"]
180#[doc = " Gen API related errors."]
181pub const _spinError_GENICAM_ERR_PROPERTY: _spinError = -2003;
182#[doc = " The error codes in the range of -2000 to -2999 are reserved for"]
183#[doc = " Gen API related errors."]
184pub const _spinError_GENICAM_ERR_RUN_TIME: _spinError = -2004;
185#[doc = " The error codes in the range of -2000 to -2999 are reserved for"]
186#[doc = " Gen API related errors."]
187pub const _spinError_GENICAM_ERR_LOGICAL: _spinError = -2005;
188#[doc = " The error codes in the range of -2000 to -2999 are reserved for"]
189#[doc = " Gen API related errors."]
190pub const _spinError_GENICAM_ERR_ACCESS: _spinError = -2006;
191#[doc = " The error codes in the range of -2000 to -2999 are reserved for"]
192#[doc = " Gen API related errors."]
193pub const _spinError_GENICAM_ERR_TIMEOUT: _spinError = -2007;
194#[doc = " The error codes in the range of -2000 to -2999 are reserved for"]
195#[doc = " Gen API related errors."]
196pub const _spinError_GENICAM_ERR_DYNAMIC_CAST: _spinError = -2008;
197#[doc = " The error codes in the range of -2000 to -2999 are reserved for"]
198#[doc = " Gen API related errors."]
199pub const _spinError_GENICAM_ERR_GENERIC: _spinError = -2009;
200#[doc = " The error codes in the range of -2000 to -2999 are reserved for"]
201#[doc = " Gen API related errors."]
202pub const _spinError_GENICAM_ERR_BAD_ALLOCATION: _spinError = -2010;
203#[doc = " The error codes in the range of -3000 to -3999 are reserved for"]
204#[doc = " image processing related errors."]
205pub const _spinError_SPINNAKER_ERR_IM_CONVERT: _spinError = -3001;
206#[doc = " The error codes in the range of -3000 to -3999 are reserved for"]
207#[doc = " image processing related errors."]
208pub const _spinError_SPINNAKER_ERR_IM_COPY: _spinError = -3002;
209#[doc = " The error codes in the range of -3000 to -3999 are reserved for"]
210#[doc = " image processing related errors."]
211pub const _spinError_SPINNAKER_ERR_IM_MALLOC: _spinError = -3003;
212#[doc = " The error codes in the range of -3000 to -3999 are reserved for"]
213#[doc = " image processing related errors."]
214pub const _spinError_SPINNAKER_ERR_IM_NOT_SUPPORTED: _spinError = -3004;
215#[doc = " The error codes in the range of -3000 to -3999 are reserved for"]
216#[doc = " image processing related errors."]
217pub const _spinError_SPINNAKER_ERR_IM_HISTOGRAM_RANGE: _spinError = -3005;
218#[doc = " The error codes in the range of -3000 to -3999 are reserved for"]
219#[doc = " image processing related errors."]
220pub const _spinError_SPINNAKER_ERR_IM_HISTOGRAM_MEAN: _spinError = -3006;
221#[doc = " The error codes in the range of -3000 to -3999 are reserved for"]
222#[doc = " image processing related errors."]
223pub const _spinError_SPINNAKER_ERR_IM_MIN_MAX: _spinError = -3007;
224#[doc = " The error codes in the range of -3000 to -3999 are reserved for"]
225#[doc = " image processing related errors."]
226pub const _spinError_SPINNAKER_ERR_IM_COLOR_CONVERSION: _spinError = -3008;
227#[doc = " Error codes less than -10000 are reserved for user-defined custom"]
228#[doc = " errors."]
229pub const _spinError_SPINNAKER_ERR_CUSTOM_ID: _spinError = -10000;
230#[doc = " The error codes in the range of -2000 to -2999 are reserved"]
231#[doc = " for GenICam related errors.  The error codes in the range of -3000 to -3999"]
232#[doc = " are reserved for image processing related errors."]
233pub type _spinError = ::std::os::raw::c_int;
234#[doc = " The error codes in the range of -2000 to -2999 are reserved"]
235#[doc = " for GenICam related errors.  The error codes in the range of -3000 to -3999"]
236#[doc = " are reserved for image processing related errors."]
237pub use self::_spinError as spinError;
238#[doc = " Default method."]
239pub const _spinColorProcessingAlgorithm_DEFAULT: _spinColorProcessingAlgorithm = 0;
240#[doc = " No color processing."]
241pub const _spinColorProcessingAlgorithm_NO_COLOR_PROCESSING: _spinColorProcessingAlgorithm = 1;
242#[doc = " Fastest but lowest quality. Equivalent to"]
243#[doc = " FLYCAPTURE_NEAREST_NEIGHBOR_FAST in FlyCapture."]
244pub const _spinColorProcessingAlgorithm_NEAREST_NEIGHBOR: _spinColorProcessingAlgorithm = 2;
245#[doc = " Nearest Neighbor with averaged green pixels. Higher quality but slower"]
246#[doc = " compared to nearest neighbor without averaging."]
247pub const _spinColorProcessingAlgorithm_NEAREST_NEIGHBOR_AVG: _spinColorProcessingAlgorithm = 3;
248#[doc = " Weighted average of surrounding 4 pixels in a 2x2 neighborhood."]
249pub const _spinColorProcessingAlgorithm_BILINEAR: _spinColorProcessingAlgorithm = 4;
250#[doc = " Weights surrounding pixels based on localized edge orientation."]
251pub const _spinColorProcessingAlgorithm_EDGE_SENSING: _spinColorProcessingAlgorithm = 5;
252#[doc = " Well-balanced speed and quality."]
253pub const _spinColorProcessingAlgorithm_HQ_LINEAR: _spinColorProcessingAlgorithm = 6;
254#[doc = " Multi-threaded with similar results to edge sensing."]
255pub const _spinColorProcessingAlgorithm_IPP: _spinColorProcessingAlgorithm = 7;
256#[doc = " Best quality but much faster than rigorous."]
257pub const _spinColorProcessingAlgorithm_DIRECTIONAL_FILTER: _spinColorProcessingAlgorithm = 8;
258#[doc = " Slowest but produces good results."]
259pub const _spinColorProcessingAlgorithm_RIGOROUS: _spinColorProcessingAlgorithm = 9;
260#[doc = " Weighted pixel average from different directions."]
261pub const _spinColorProcessingAlgorithm_WEIGHTED_DIRECTIONAL_FILTER: _spinColorProcessingAlgorithm =
262    10;
263#[doc = " Color processing algorithms. Please refer to our knowledge base at"]
264#[doc = " article at"]
265#[doc = " https://www.flir.com/support-center/iis/machine-vision/knowledge-base/different-color-processing-algorithms-in-flycapture2"]
266#[doc = " for complete details for each algorithm."]
267pub type _spinColorProcessingAlgorithm = ::std::os::raw::c_uint;
268#[doc = " Color processing algorithms. Please refer to our knowledge base at"]
269#[doc = " article at"]
270#[doc = " https://www.flir.com/support-center/iis/machine-vision/knowledge-base/different-color-processing-algorithms-in-flycapture2"]
271#[doc = " for complete details for each algorithm."]
272pub use self::_spinColorProcessingAlgorithm as spinColorProcessingAlgorithm;
273pub const _spinStatisticsChannel_GREY: _spinStatisticsChannel = 0;
274pub const _spinStatisticsChannel_RED: _spinStatisticsChannel = 1;
275pub const _spinStatisticsChannel_GREEN: _spinStatisticsChannel = 2;
276pub const _spinStatisticsChannel_BLUE: _spinStatisticsChannel = 3;
277pub const _spinStatisticsChannel_HUE: _spinStatisticsChannel = 4;
278pub const _spinStatisticsChannel_SATURATION: _spinStatisticsChannel = 5;
279pub const _spinStatisticsChannel_LIGHTNESS: _spinStatisticsChannel = 6;
280pub const _spinStatisticsChannel_NUM_STATISTICS_CHANNELS: _spinStatisticsChannel = 7;
281#[doc = " Channels that allow statistics to be calculated."]
282pub type _spinStatisticsChannel = ::std::os::raw::c_uint;
283#[doc = " Channels that allow statistics to be calculated."]
284pub use self::_spinStatisticsChannel as spinStatisticsChannel;
285#[doc = "< Determine file format from file extension."]
286pub const _spinImageFileFormat_FROM_FILE_EXT: _spinImageFileFormat = -1;
287#[doc = "< Portable gray map."]
288pub const _spinImageFileFormat_PGM: _spinImageFileFormat = 0;
289#[doc = "< Portable pixmap."]
290pub const _spinImageFileFormat_PPM: _spinImageFileFormat = 1;
291#[doc = "< Bitmap."]
292pub const _spinImageFileFormat_BMP: _spinImageFileFormat = 2;
293#[doc = "< JPEG."]
294pub const _spinImageFileFormat_JPEG: _spinImageFileFormat = 3;
295#[doc = "< JPEG 2000."]
296pub const _spinImageFileFormat_JPEG2000: _spinImageFileFormat = 4;
297#[doc = "< Tagged image file format."]
298pub const _spinImageFileFormat_TIFF: _spinImageFileFormat = 5;
299#[doc = "< Portable network graphics."]
300pub const _spinImageFileFormat_PNG: _spinImageFileFormat = 6;
301#[doc = "< Raw data."]
302pub const _spinImageFileFormat_RAW: _spinImageFileFormat = 7;
303pub const _spinImageFileFormat_IMAGE_FILE_FORMAT_FORCE_32BITS: _spinImageFileFormat = 2147483647;
304#[doc = " File formats to be used for saving images to disk."]
305pub type _spinImageFileFormat = ::std::os::raw::c_int;
306#[doc = " File formats to be used for saving images to disk."]
307pub use self::_spinImageFileFormat as spinImageFileFormat;
308pub const _spinPixelFormatNamespaceID_SPINNAKER_PIXELFORMAT_NAMESPACE_UNKNOWN:
309    _spinPixelFormatNamespaceID = 0;
310pub const _spinPixelFormatNamespaceID_SPINNAKER_PIXELFORMAT_NAMESPACE_GEV:
311    _spinPixelFormatNamespaceID = 1;
312pub const _spinPixelFormatNamespaceID_SPINNAKER_PIXELFORMAT_NAMESPACE_IIDC:
313    _spinPixelFormatNamespaceID = 2;
314pub const _spinPixelFormatNamespaceID_SPINNAKER_PIXELFORMAT_NAMESPACE_PFNC_16BIT:
315    _spinPixelFormatNamespaceID = 3;
316pub const _spinPixelFormatNamespaceID_SPINNAKER_PIXELFORMAT_NAMESPACE_PFNC_32BIT:
317    _spinPixelFormatNamespaceID = 4;
318pub const _spinPixelFormatNamespaceID_SPINNAKER_PIXELFORMAT_NAMESPACE_CUSTOM_ID:
319    _spinPixelFormatNamespaceID = 1000;
320#[doc = " This enum represents the namespace in which the TL specific pixel format"]
321#[doc = " resides. This enum is returned from a captured image when calling"]
322#[doc = " spinImageGetTLPixelFormatNamespace().  It can be used to interpret the raw"]
323#[doc = " pixel format returned from spinImageGetTLPixelFormat()."]
324#[doc = ""]
325#[doc = " @see spinImageGetTLPixelFormat()"]
326#[doc = ""]
327#[doc = " @see spinImageGetTLPixelFormatNamespace()"]
328pub type _spinPixelFormatNamespaceID = ::std::os::raw::c_uint;
329#[doc = " This enum represents the namespace in which the TL specific pixel format"]
330#[doc = " resides. This enum is returned from a captured image when calling"]
331#[doc = " spinImageGetTLPixelFormatNamespace().  It can be used to interpret the raw"]
332#[doc = " pixel format returned from spinImageGetTLPixelFormat()."]
333#[doc = ""]
334#[doc = " @see spinImageGetTLPixelFormat()"]
335#[doc = ""]
336#[doc = " @see spinImageGetTLPixelFormatNamespace()"]
337pub use self::_spinPixelFormatNamespaceID as spinPixelFormatNamespaceID;
338#[doc = "< Image has an unknown error."]
339pub const _spinImageStatus_IMAGE_UNKNOWN_ERROR: _spinImageStatus = -1;
340#[doc = "< Image is returned from GetNextImage() call without any errors."]
341pub const _spinImageStatus_IMAGE_NO_ERROR: _spinImageStatus = 0;
342#[doc = "< Image failed CRC check."]
343pub const _spinImageStatus_IMAGE_CRC_CHECK_FAILED: _spinImageStatus = 1;
344#[doc = "< Received more data than the size of the image."]
345pub const _spinImageStatus_IMAGE_DATA_OVERFLOW: _spinImageStatus = 2;
346pub const _spinImageStatus_IMAGE_MISSING_PACKETS: _spinImageStatus = 3;
347pub const _spinImageStatus_IMAGE_LEADER_BUFFER_SIZE_INCONSISTENT: _spinImageStatus = 4;
348pub const _spinImageStatus_IMAGE_TRAILER_BUFFER_SIZE_INCONSISTENT: _spinImageStatus = 5;
349pub const _spinImageStatus_IMAGE_PACKETID_INCONSISTENT: _spinImageStatus = 6;
350#[doc = "< Image leader is missing. Could be caused by missing packet(s). See link above."]
351pub const _spinImageStatus_IMAGE_MISSING_LEADER: _spinImageStatus = 7;
352#[doc = "< Image trailer is missing. Could be caused by missing packet(s). See link above."]
353pub const _spinImageStatus_IMAGE_MISSING_TRAILER: _spinImageStatus = 8;
354#[doc = "< Image data is incomplete. Could be caused by missing packet(s). See link above."]
355pub const _spinImageStatus_IMAGE_DATA_INCOMPLETE: _spinImageStatus = 9;
356#[doc = "< Image info is corrupted. Could be caused by missing packet(s). See link above."]
357pub const _spinImageStatus_IMAGE_INFO_INCONSISTENT: _spinImageStatus = 10;
358#[doc = "< Image chunk data is invalid"]
359pub const _spinImageStatus_IMAGE_CHUNK_DATA_INVALID: _spinImageStatus = 11;
360#[doc = "< Image cannot be processed due to lack of system"]
361#[doc = "resources."]
362pub const _spinImageStatus_IMAGE_NO_SYSTEM_RESOURCES: _spinImageStatus = 12;
363#[doc = " Status of images returned from spinImageGetStatus() call."]
364pub type _spinImageStatus = ::std::os::raw::c_int;
365#[doc = " Status of images returned from spinImageGetStatus() call."]
366pub use self::_spinImageStatus as spinImageStatus;
367pub const _spinLogLevel_LOG_LEVEL_OFF: _spinLogLevel = -1;
368pub const _spinLogLevel_LOG_LEVEL_FATAL: _spinLogLevel = 0;
369pub const _spinLogLevel_LOG_LEVEL_ALERT: _spinLogLevel = 100;
370pub const _spinLogLevel_LOG_LEVEL_CRIT: _spinLogLevel = 200;
371pub const _spinLogLevel_LOG_LEVEL_ERROR: _spinLogLevel = 300;
372pub const _spinLogLevel_LOG_LEVEL_WARN: _spinLogLevel = 400;
373pub const _spinLogLevel_LOG_LEVEL_NOTICE: _spinLogLevel = 500;
374pub const _spinLogLevel_LOG_LEVEL_INFO: _spinLogLevel = 600;
375pub const _spinLogLevel_LOG_LEVEL_DEBUG: _spinLogLevel = 700;
376pub const _spinLogLevel_LOG_LEVEL_NOTSET: _spinLogLevel = 800;
377#[doc = " log levels"]
378pub type _spinLogLevel = ::std::os::raw::c_int;
379#[doc = " log levels"]
380pub use self::_spinLogLevel as spinnakerLogLevel;
381pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_UNKNOWN: _spinPayloadTypeInfoIDs = 0;
382pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_IMAGE: _spinPayloadTypeInfoIDs = 1;
383pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_RAW_DATA: _spinPayloadTypeInfoIDs = 2;
384pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_FILE: _spinPayloadTypeInfoIDs = 3;
385pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_CHUNK_DATA: _spinPayloadTypeInfoIDs = 4;
386pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_JPEG: _spinPayloadTypeInfoIDs = 5;
387pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_JPEG2000: _spinPayloadTypeInfoIDs = 6;
388pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_H264: _spinPayloadTypeInfoIDs = 7;
389pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_CHUNK_ONLY: _spinPayloadTypeInfoIDs = 8;
390pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_DEVICE_SPECIFIC: _spinPayloadTypeInfoIDs = 9;
391pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_MULTI_PART: _spinPayloadTypeInfoIDs = 10;
392pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_CUSTOM_ID: _spinPayloadTypeInfoIDs = 1000;
393pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_EXTENDED_CHUNK: _spinPayloadTypeInfoIDs = 1001;
394pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_LOSSLESS_COMPRESSED: _spinPayloadTypeInfoIDs = 1002;
395pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_LOSSY_COMPRESSED: _spinPayloadTypeInfoIDs = 1003;
396pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_JPEG_LOSSLESS_COMPRESSED: _spinPayloadTypeInfoIDs =
397    1004;
398pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_CHUNK_DATA_LOSSLESS_COMPRESSED:
399    _spinPayloadTypeInfoIDs = 1005;
400pub const _spinPayloadTypeInfoIDs_PAYLOAD_TYPE_CHUNK_DATA_LOSSY_COMPRESSED:
401    _spinPayloadTypeInfoIDs = 1006;
402pub type _spinPayloadTypeInfoIDs = ::std::os::raw::c_uint;
403pub use self::_spinPayloadTypeInfoIDs as spinPayloadTypeInfoIDs;
404#[doc = " Options for saving PNG images. Used in saving PNG images"]
405#[doc = " with a call to spinImageSavePng()."]
406#[repr(C)]
407#[derive(Debug, Copy, Clone)]
408pub struct _spinPNGOption {
409    #[doc = " Whether to save the PNG as interlaced."]
410    pub interlaced: bool8_t,
411    #[doc = " Compression level (0-9). 0 is no compression, 9 is best compression."]
412    pub compressionLevel: ::std::os::raw::c_uint,
413    #[doc = " Reserved for future use."]
414    pub reserved: [::std::os::raw::c_uint; 16usize],
415}
416#[test]
417fn bindgen_test_layout__spinPNGOption() {
418    assert_eq!(
419        ::std::mem::size_of::<_spinPNGOption>(),
420        72usize,
421        concat!("Size of: ", stringify!(_spinPNGOption))
422    );
423    assert_eq!(
424        ::std::mem::align_of::<_spinPNGOption>(),
425        4usize,
426        concat!("Alignment of ", stringify!(_spinPNGOption))
427    );
428    assert_eq!(
429        unsafe { &(*(::std::ptr::null::<_spinPNGOption>())).interlaced as *const _ as usize },
430        0usize,
431        concat!(
432            "Offset of field: ",
433            stringify!(_spinPNGOption),
434            "::",
435            stringify!(interlaced)
436        )
437    );
438    assert_eq!(
439        unsafe { &(*(::std::ptr::null::<_spinPNGOption>())).compressionLevel as *const _ as usize },
440        4usize,
441        concat!(
442            "Offset of field: ",
443            stringify!(_spinPNGOption),
444            "::",
445            stringify!(compressionLevel)
446        )
447    );
448    assert_eq!(
449        unsafe { &(*(::std::ptr::null::<_spinPNGOption>())).reserved as *const _ as usize },
450        8usize,
451        concat!(
452            "Offset of field: ",
453            stringify!(_spinPNGOption),
454            "::",
455            stringify!(reserved)
456        )
457    );
458}
459#[doc = " Options for saving PNG images. Used in saving PNG images"]
460#[doc = " with a call to spinImageSavePng()."]
461pub type spinPNGOption = _spinPNGOption;
462#[doc = " Options for saving PPM images. Used in saving PPM images"]
463#[doc = " with a call to spinImageSavePpm()."]
464#[repr(C)]
465#[derive(Debug, Copy, Clone)]
466pub struct _spinPPMOption {
467    #[doc = " Whether to save the PPM as a binary file."]
468    pub binaryFile: bool8_t,
469    #[doc = " Reserved for future use."]
470    pub reserved: [::std::os::raw::c_uint; 16usize],
471}
472#[test]
473fn bindgen_test_layout__spinPPMOption() {
474    assert_eq!(
475        ::std::mem::size_of::<_spinPPMOption>(),
476        68usize,
477        concat!("Size of: ", stringify!(_spinPPMOption))
478    );
479    assert_eq!(
480        ::std::mem::align_of::<_spinPPMOption>(),
481        4usize,
482        concat!("Alignment of ", stringify!(_spinPPMOption))
483    );
484    assert_eq!(
485        unsafe { &(*(::std::ptr::null::<_spinPPMOption>())).binaryFile as *const _ as usize },
486        0usize,
487        concat!(
488            "Offset of field: ",
489            stringify!(_spinPPMOption),
490            "::",
491            stringify!(binaryFile)
492        )
493    );
494    assert_eq!(
495        unsafe { &(*(::std::ptr::null::<_spinPPMOption>())).reserved as *const _ as usize },
496        4usize,
497        concat!(
498            "Offset of field: ",
499            stringify!(_spinPPMOption),
500            "::",
501            stringify!(reserved)
502        )
503    );
504}
505#[doc = " Options for saving PPM images. Used in saving PPM images"]
506#[doc = " with a call to spinImageSavePpm()."]
507pub type spinPPMOption = _spinPPMOption;
508#[doc = " Options for saving PGM images."]
509#[repr(C)]
510#[derive(Debug, Copy, Clone)]
511pub struct _spinPGMOption {
512    #[doc = " Whether to save the PPM as a binary file."]
513    pub binaryFile: bool8_t,
514    #[doc = " Reserved for future use."]
515    pub reserved: [::std::os::raw::c_uint; 16usize],
516}
517#[test]
518fn bindgen_test_layout__spinPGMOption() {
519    assert_eq!(
520        ::std::mem::size_of::<_spinPGMOption>(),
521        68usize,
522        concat!("Size of: ", stringify!(_spinPGMOption))
523    );
524    assert_eq!(
525        ::std::mem::align_of::<_spinPGMOption>(),
526        4usize,
527        concat!("Alignment of ", stringify!(_spinPGMOption))
528    );
529    assert_eq!(
530        unsafe { &(*(::std::ptr::null::<_spinPGMOption>())).binaryFile as *const _ as usize },
531        0usize,
532        concat!(
533            "Offset of field: ",
534            stringify!(_spinPGMOption),
535            "::",
536            stringify!(binaryFile)
537        )
538    );
539    assert_eq!(
540        unsafe { &(*(::std::ptr::null::<_spinPGMOption>())).reserved as *const _ as usize },
541        4usize,
542        concat!(
543            "Offset of field: ",
544            stringify!(_spinPGMOption),
545            "::",
546            stringify!(reserved)
547        )
548    );
549}
550#[doc = " Options for saving PGM images."]
551pub type spinPGMOption = _spinPGMOption;
552pub const CompressionMethod_NONE: CompressionMethod = 1;
553pub const CompressionMethod_PACKBITS: CompressionMethod = 2;
554pub const CompressionMethod_DEFLATE: CompressionMethod = 3;
555pub const CompressionMethod_ADOBE_DEFLATE: CompressionMethod = 4;
556pub const CompressionMethod_CCITTFAX3: CompressionMethod = 5;
557pub const CompressionMethod_CCITTFAX4: CompressionMethod = 6;
558pub const CompressionMethod_LZW: CompressionMethod = 7;
559pub const CompressionMethod_JPG: CompressionMethod = 8;
560#[doc = " Compression method used in saving TIFF images in the spinTIFFOption struct."]
561pub type CompressionMethod = ::std::os::raw::c_uint;
562#[doc = " Compression method used in saving TIFF images in the spinTIFFOption struct."]
563pub use self::CompressionMethod as spinCompressionMethod;
564#[doc = " Options for saving TIFF images. Used in saving PPM images"]
565#[doc = " with a call to spinImageSaveTiff()."]
566#[repr(C)]
567#[derive(Debug, Copy, Clone)]
568pub struct _spinTIFFOption {
569    #[doc = " Compression method to use for encoding TIFF images."]
570    pub compression: spinCompressionMethod,
571    #[doc = " Reserved for future use."]
572    pub reserved: [::std::os::raw::c_uint; 16usize],
573}
574#[test]
575fn bindgen_test_layout__spinTIFFOption() {
576    assert_eq!(
577        ::std::mem::size_of::<_spinTIFFOption>(),
578        68usize,
579        concat!("Size of: ", stringify!(_spinTIFFOption))
580    );
581    assert_eq!(
582        ::std::mem::align_of::<_spinTIFFOption>(),
583        4usize,
584        concat!("Alignment of ", stringify!(_spinTIFFOption))
585    );
586    assert_eq!(
587        unsafe { &(*(::std::ptr::null::<_spinTIFFOption>())).compression as *const _ as usize },
588        0usize,
589        concat!(
590            "Offset of field: ",
591            stringify!(_spinTIFFOption),
592            "::",
593            stringify!(compression)
594        )
595    );
596    assert_eq!(
597        unsafe { &(*(::std::ptr::null::<_spinTIFFOption>())).reserved as *const _ as usize },
598        4usize,
599        concat!(
600            "Offset of field: ",
601            stringify!(_spinTIFFOption),
602            "::",
603            stringify!(reserved)
604        )
605    );
606}
607#[doc = " Options for saving TIFF images. Used in saving PPM images"]
608#[doc = " with a call to spinImageSaveTiff()."]
609pub type spinTIFFOption = _spinTIFFOption;
610#[doc = " Options for saving JPEG images. Used in saving PPM images"]
611#[doc = " with a call to spinImageSaveJpeg()."]
612#[repr(C)]
613#[derive(Debug, Copy, Clone)]
614pub struct _spinJPEGOption {
615    #[doc = " Whether to save as a progressive JPEG file."]
616    pub progressive: bool8_t,
617    #[doc = " JPEG image quality in range (0-100)."]
618    #[doc = " - 100 - Superb quality."]
619    #[doc = " - 75  - Good quality."]
620    #[doc = " - 50  - Normal quality."]
621    #[doc = " - 10  - Poor quality."]
622    pub quality: ::std::os::raw::c_uint,
623    #[doc = " Reserved for future use."]
624    pub reserved: [::std::os::raw::c_uint; 16usize],
625}
626#[test]
627fn bindgen_test_layout__spinJPEGOption() {
628    assert_eq!(
629        ::std::mem::size_of::<_spinJPEGOption>(),
630        72usize,
631        concat!("Size of: ", stringify!(_spinJPEGOption))
632    );
633    assert_eq!(
634        ::std::mem::align_of::<_spinJPEGOption>(),
635        4usize,
636        concat!("Alignment of ", stringify!(_spinJPEGOption))
637    );
638    assert_eq!(
639        unsafe { &(*(::std::ptr::null::<_spinJPEGOption>())).progressive as *const _ as usize },
640        0usize,
641        concat!(
642            "Offset of field: ",
643            stringify!(_spinJPEGOption),
644            "::",
645            stringify!(progressive)
646        )
647    );
648    assert_eq!(
649        unsafe { &(*(::std::ptr::null::<_spinJPEGOption>())).quality as *const _ as usize },
650        4usize,
651        concat!(
652            "Offset of field: ",
653            stringify!(_spinJPEGOption),
654            "::",
655            stringify!(quality)
656        )
657    );
658    assert_eq!(
659        unsafe { &(*(::std::ptr::null::<_spinJPEGOption>())).reserved as *const _ as usize },
660        8usize,
661        concat!(
662            "Offset of field: ",
663            stringify!(_spinJPEGOption),
664            "::",
665            stringify!(reserved)
666        )
667    );
668}
669#[doc = " Options for saving JPEG images. Used in saving PPM images"]
670#[doc = " with a call to spinImageSaveJpeg()."]
671pub type spinJPEGOption = _spinJPEGOption;
672#[doc = " Options for saving JPEG 2000 images. Used in saving PPM images"]
673#[doc = " with a call to spinImageSaveJpg2()."]
674#[repr(C)]
675#[derive(Debug, Copy, Clone)]
676pub struct _spinJPG2Option {
677    #[doc = " JPEG saving quality in range (1-512)."]
678    pub quality: ::std::os::raw::c_uint,
679    #[doc = " Reserved for future use."]
680    pub reserved: [::std::os::raw::c_uint; 16usize],
681}
682#[test]
683fn bindgen_test_layout__spinJPG2Option() {
684    assert_eq!(
685        ::std::mem::size_of::<_spinJPG2Option>(),
686        68usize,
687        concat!("Size of: ", stringify!(_spinJPG2Option))
688    );
689    assert_eq!(
690        ::std::mem::align_of::<_spinJPG2Option>(),
691        4usize,
692        concat!("Alignment of ", stringify!(_spinJPG2Option))
693    );
694    assert_eq!(
695        unsafe { &(*(::std::ptr::null::<_spinJPG2Option>())).quality as *const _ as usize },
696        0usize,
697        concat!(
698            "Offset of field: ",
699            stringify!(_spinJPG2Option),
700            "::",
701            stringify!(quality)
702        )
703    );
704    assert_eq!(
705        unsafe { &(*(::std::ptr::null::<_spinJPG2Option>())).reserved as *const _ as usize },
706        4usize,
707        concat!(
708            "Offset of field: ",
709            stringify!(_spinJPG2Option),
710            "::",
711            stringify!(reserved)
712        )
713    );
714}
715#[doc = " Options for saving JPEG 2000 images. Used in saving PPM images"]
716#[doc = " with a call to spinImageSaveJpg2()."]
717pub type spinJPG2Option = _spinJPG2Option;
718#[doc = " Options for saving BMP images. Used in saving PPM images"]
719#[doc = " with a call to spinImageSaveBmp()."]
720#[repr(C)]
721#[derive(Debug, Copy, Clone)]
722pub struct _spinBMPOption {
723    pub indexedColor_8bit: bool8_t,
724    #[doc = " Reserved for future use."]
725    pub reserved: [::std::os::raw::c_uint; 16usize],
726}
727#[test]
728fn bindgen_test_layout__spinBMPOption() {
729    assert_eq!(
730        ::std::mem::size_of::<_spinBMPOption>(),
731        68usize,
732        concat!("Size of: ", stringify!(_spinBMPOption))
733    );
734    assert_eq!(
735        ::std::mem::align_of::<_spinBMPOption>(),
736        4usize,
737        concat!("Alignment of ", stringify!(_spinBMPOption))
738    );
739    assert_eq!(
740        unsafe {
741            &(*(::std::ptr::null::<_spinBMPOption>())).indexedColor_8bit as *const _ as usize
742        },
743        0usize,
744        concat!(
745            "Offset of field: ",
746            stringify!(_spinBMPOption),
747            "::",
748            stringify!(indexedColor_8bit)
749        )
750    );
751    assert_eq!(
752        unsafe { &(*(::std::ptr::null::<_spinBMPOption>())).reserved as *const _ as usize },
753        4usize,
754        concat!(
755            "Offset of field: ",
756            stringify!(_spinBMPOption),
757            "::",
758            stringify!(reserved)
759        )
760    );
761}
762#[doc = " Options for saving BMP images. Used in saving PPM images"]
763#[doc = " with a call to spinImageSaveBmp()."]
764pub type spinBMPOption = _spinBMPOption;
765#[doc = " Options for saving MJPG videos. Used in saving MJPG videos"]
766#[doc = " with a call to spinAVIRecorderOpenMJPG()."]
767#[repr(C)]
768#[derive(Copy, Clone)]
769pub struct _spinMJPGOption {
770    #[doc = " Frame rate of the stream"]
771    pub frameRate: f32,
772    #[doc = " Image quality (1-100)"]
773    pub quality: ::std::os::raw::c_uint,
774    pub reserved: [::std::os::raw::c_uint; 256usize],
775}
776#[test]
777fn bindgen_test_layout__spinMJPGOption() {
778    assert_eq!(
779        ::std::mem::size_of::<_spinMJPGOption>(),
780        1032usize,
781        concat!("Size of: ", stringify!(_spinMJPGOption))
782    );
783    assert_eq!(
784        ::std::mem::align_of::<_spinMJPGOption>(),
785        4usize,
786        concat!("Alignment of ", stringify!(_spinMJPGOption))
787    );
788    assert_eq!(
789        unsafe { &(*(::std::ptr::null::<_spinMJPGOption>())).frameRate as *const _ as usize },
790        0usize,
791        concat!(
792            "Offset of field: ",
793            stringify!(_spinMJPGOption),
794            "::",
795            stringify!(frameRate)
796        )
797    );
798    assert_eq!(
799        unsafe { &(*(::std::ptr::null::<_spinMJPGOption>())).quality as *const _ as usize },
800        4usize,
801        concat!(
802            "Offset of field: ",
803            stringify!(_spinMJPGOption),
804            "::",
805            stringify!(quality)
806        )
807    );
808    assert_eq!(
809        unsafe { &(*(::std::ptr::null::<_spinMJPGOption>())).reserved as *const _ as usize },
810        8usize,
811        concat!(
812            "Offset of field: ",
813            stringify!(_spinMJPGOption),
814            "::",
815            stringify!(reserved)
816        )
817    );
818}
819#[doc = " Options for saving MJPG videos. Used in saving MJPG videos"]
820#[doc = " with a call to spinAVIRecorderOpenMJPG()."]
821pub type spinMJPGOption = _spinMJPGOption;
822#[doc = " Options for saving H264 videos. Used in saving H264 videos"]
823#[doc = " with a call to spinAVIRecorderOpenH264()."]
824#[repr(C)]
825#[derive(Copy, Clone)]
826pub struct _spinH264Option {
827    #[doc = " Frame rate of the stream"]
828    pub frameRate: f32,
829    #[doc = " Width of source image"]
830    pub width: ::std::os::raw::c_uint,
831    #[doc = " Height of source image"]
832    pub height: ::std::os::raw::c_uint,
833    #[doc = " Bitrate to encode at"]
834    pub bitrate: ::std::os::raw::c_uint,
835    #[doc = " Reserved for future use"]
836    pub reserved: [::std::os::raw::c_uint; 256usize],
837}
838#[test]
839fn bindgen_test_layout__spinH264Option() {
840    assert_eq!(
841        ::std::mem::size_of::<_spinH264Option>(),
842        1040usize,
843        concat!("Size of: ", stringify!(_spinH264Option))
844    );
845    assert_eq!(
846        ::std::mem::align_of::<_spinH264Option>(),
847        4usize,
848        concat!("Alignment of ", stringify!(_spinH264Option))
849    );
850    assert_eq!(
851        unsafe { &(*(::std::ptr::null::<_spinH264Option>())).frameRate as *const _ as usize },
852        0usize,
853        concat!(
854            "Offset of field: ",
855            stringify!(_spinH264Option),
856            "::",
857            stringify!(frameRate)
858        )
859    );
860    assert_eq!(
861        unsafe { &(*(::std::ptr::null::<_spinH264Option>())).width as *const _ as usize },
862        4usize,
863        concat!(
864            "Offset of field: ",
865            stringify!(_spinH264Option),
866            "::",
867            stringify!(width)
868        )
869    );
870    assert_eq!(
871        unsafe { &(*(::std::ptr::null::<_spinH264Option>())).height as *const _ as usize },
872        8usize,
873        concat!(
874            "Offset of field: ",
875            stringify!(_spinH264Option),
876            "::",
877            stringify!(height)
878        )
879    );
880    assert_eq!(
881        unsafe { &(*(::std::ptr::null::<_spinH264Option>())).bitrate as *const _ as usize },
882        12usize,
883        concat!(
884            "Offset of field: ",
885            stringify!(_spinH264Option),
886            "::",
887            stringify!(bitrate)
888        )
889    );
890    assert_eq!(
891        unsafe { &(*(::std::ptr::null::<_spinH264Option>())).reserved as *const _ as usize },
892        16usize,
893        concat!(
894            "Offset of field: ",
895            stringify!(_spinH264Option),
896            "::",
897            stringify!(reserved)
898        )
899    );
900}
901#[doc = " Options for saving H264 videos. Used in saving H264 videos"]
902#[doc = " with a call to spinAVIRecorderOpenH264()."]
903pub type spinH264Option = _spinH264Option;
904#[doc = " Options for saving uncompressed videos. Used in saving AVI videos"]
905#[doc = " with a call to spinAVIRecorderOpenUncompressed()."]
906#[repr(C)]
907#[derive(Copy, Clone)]
908pub struct _spinAVIOption {
909    #[doc = " Frame rate of the stream"]
910    pub frameRate: f32,
911    #[doc = " Reserved for future use"]
912    pub reserved: [::std::os::raw::c_uint; 256usize],
913}
914#[test]
915fn bindgen_test_layout__spinAVIOption() {
916    assert_eq!(
917        ::std::mem::size_of::<_spinAVIOption>(),
918        1028usize,
919        concat!("Size of: ", stringify!(_spinAVIOption))
920    );
921    assert_eq!(
922        ::std::mem::align_of::<_spinAVIOption>(),
923        4usize,
924        concat!("Alignment of ", stringify!(_spinAVIOption))
925    );
926    assert_eq!(
927        unsafe { &(*(::std::ptr::null::<_spinAVIOption>())).frameRate as *const _ as usize },
928        0usize,
929        concat!(
930            "Offset of field: ",
931            stringify!(_spinAVIOption),
932            "::",
933            stringify!(frameRate)
934        )
935    );
936    assert_eq!(
937        unsafe { &(*(::std::ptr::null::<_spinAVIOption>())).reserved as *const _ as usize },
938        4usize,
939        concat!(
940            "Offset of field: ",
941            stringify!(_spinAVIOption),
942            "::",
943            stringify!(reserved)
944        )
945    );
946}
947#[doc = " Options for saving uncompressed videos. Used in saving AVI videos"]
948#[doc = " with a call to spinAVIRecorderOpenUncompressed()."]
949pub type spinAVIOption = _spinAVIOption;
950#[doc = " Provides easier access to the current version of Spinnaker."]
951#[repr(C)]
952#[derive(Debug, Copy, Clone)]
953pub struct _spinLibraryVersion {
954    #[doc = " Major version of the library"]
955    pub major: ::std::os::raw::c_uint,
956    #[doc = " Minor version of the library"]
957    pub minor: ::std::os::raw::c_uint,
958    #[doc = " Version type of the library"]
959    pub type_: ::std::os::raw::c_uint,
960    #[doc = " Build number of the library"]
961    pub build: ::std::os::raw::c_uint,
962}
963#[test]
964fn bindgen_test_layout__spinLibraryVersion() {
965    assert_eq!(
966        ::std::mem::size_of::<_spinLibraryVersion>(),
967        16usize,
968        concat!("Size of: ", stringify!(_spinLibraryVersion))
969    );
970    assert_eq!(
971        ::std::mem::align_of::<_spinLibraryVersion>(),
972        4usize,
973        concat!("Alignment of ", stringify!(_spinLibraryVersion))
974    );
975    assert_eq!(
976        unsafe { &(*(::std::ptr::null::<_spinLibraryVersion>())).major as *const _ as usize },
977        0usize,
978        concat!(
979            "Offset of field: ",
980            stringify!(_spinLibraryVersion),
981            "::",
982            stringify!(major)
983        )
984    );
985    assert_eq!(
986        unsafe { &(*(::std::ptr::null::<_spinLibraryVersion>())).minor as *const _ as usize },
987        4usize,
988        concat!(
989            "Offset of field: ",
990            stringify!(_spinLibraryVersion),
991            "::",
992            stringify!(minor)
993        )
994    );
995    assert_eq!(
996        unsafe { &(*(::std::ptr::null::<_spinLibraryVersion>())).type_ as *const _ as usize },
997        8usize,
998        concat!(
999            "Offset of field: ",
1000            stringify!(_spinLibraryVersion),
1001            "::",
1002            stringify!(type_)
1003        )
1004    );
1005    assert_eq!(
1006        unsafe { &(*(::std::ptr::null::<_spinLibraryVersion>())).build as *const _ as usize },
1007        12usize,
1008        concat!(
1009            "Offset of field: ",
1010            stringify!(_spinLibraryVersion),
1011            "::",
1012            stringify!(build)
1013        )
1014    );
1015}
1016#[doc = " Provides easier access to the current version of Spinnaker."]
1017pub type spinLibraryVersion = _spinLibraryVersion;
1018#[doc = " The device acknowledged the command."]
1019pub const _actionCommandStatus_ACTION_COMMAND_STATUS_OK: _actionCommandStatus = 0;
1020#[doc = " The device acknowledged the command."]
1021pub const _actionCommandStatus_ACTION_COMMAND_STATUS_NO_REF_TIME: _actionCommandStatus = 32787;
1022#[doc = " The device acknowledged the command."]
1023pub const _actionCommandStatus_ACTION_COMMAND_STATUS_OVERFLOW: _actionCommandStatus = 32789;
1024#[doc = " The device acknowledged the command."]
1025pub const _actionCommandStatus_ACTION_COMMAND_STATUS_ACTION_LATE: _actionCommandStatus = 32790;
1026#[doc = " The device acknowledged the command."]
1027pub const _actionCommandStatus_ACTION_COMMAND_STATUS_ERROR: _actionCommandStatus = 36863;
1028#[doc = " Possible Status Codes Returned from Action Command."]
1029pub type _actionCommandStatus = ::std::os::raw::c_uint;
1030#[doc = " Possible Status Codes Returned from Action Command."]
1031pub use self::_actionCommandStatus as actionCommandStatus;
1032#[doc = " Action Command Result."]
1033#[repr(C)]
1034#[derive(Debug, Copy, Clone)]
1035pub struct _actionCommandResult {
1036    pub DeviceAddress: ::std::os::raw::c_uint,
1037    pub Status: actionCommandStatus,
1038}
1039#[test]
1040fn bindgen_test_layout__actionCommandResult() {
1041    assert_eq!(
1042        ::std::mem::size_of::<_actionCommandResult>(),
1043        8usize,
1044        concat!("Size of: ", stringify!(_actionCommandResult))
1045    );
1046    assert_eq!(
1047        ::std::mem::align_of::<_actionCommandResult>(),
1048        4usize,
1049        concat!("Alignment of ", stringify!(_actionCommandResult))
1050    );
1051    assert_eq!(
1052        unsafe {
1053            &(*(::std::ptr::null::<_actionCommandResult>())).DeviceAddress as *const _ as usize
1054        },
1055        0usize,
1056        concat!(
1057            "Offset of field: ",
1058            stringify!(_actionCommandResult),
1059            "::",
1060            stringify!(DeviceAddress)
1061        )
1062    );
1063    assert_eq!(
1064        unsafe { &(*(::std::ptr::null::<_actionCommandResult>())).Status as *const _ as usize },
1065        4usize,
1066        concat!(
1067            "Offset of field: ",
1068            stringify!(_actionCommandResult),
1069            "::",
1070            stringify!(Status)
1071        )
1072    );
1073}
1074#[doc = " Action Command Result."]
1075pub type actionCommandResult = _actionCommandResult;
1076#[doc = "<"]
1077#[doc = "This LUT is for re-mapping pixels of all formats"]
1078#[doc = "(mono, Bayer, red, green and blue)."]
1079pub const _spinLUTSelectorEnums_LUTSelector_LUT1: _spinLUTSelectorEnums = 0;
1080pub const _spinLUTSelectorEnums_NUM_LUTSELECTOR: _spinLUTSelectorEnums = 1;
1081#[doc = "@brief The enum definitions for camera nodes."]
1082pub type _spinLUTSelectorEnums = ::std::os::raw::c_uint;
1083#[doc = "@brief The enum definitions for camera nodes."]
1084pub use self::_spinLUTSelectorEnums as spinLUTSelectorEnums;
1085#[doc = "<"]
1086#[doc = "Timed exposure. The exposure time is set using the"]
1087#[doc = "ExposureTime or ExposureAuto features and the exposure starts with the"]
1088#[doc = "FrameStart or LineStart."]
1089pub const _spinExposureModeEnums_ExposureMode_Timed: _spinExposureModeEnums = 0;
1090#[doc = "<"]
1091#[doc = "Uses the width of the current Frame trigger signal pulse to control the"]
1092#[doc = "exposure time."]
1093pub const _spinExposureModeEnums_ExposureMode_TriggerWidth: _spinExposureModeEnums = 1;
1094pub const _spinExposureModeEnums_NUM_EXPOSUREMODE: _spinExposureModeEnums = 2;
1095pub type _spinExposureModeEnums = ::std::os::raw::c_uint;
1096pub use self::_spinExposureModeEnums as spinExposureModeEnums;
1097#[doc = "<"]
1098pub const _spinAcquisitionModeEnums_AcquisitionMode_Continuous: _spinAcquisitionModeEnums = 0;
1099#[doc = "<"]
1100pub const _spinAcquisitionModeEnums_AcquisitionMode_SingleFrame: _spinAcquisitionModeEnums = 1;
1101#[doc = "<"]
1102pub const _spinAcquisitionModeEnums_AcquisitionMode_MultiFrame: _spinAcquisitionModeEnums = 2;
1103pub const _spinAcquisitionModeEnums_NUM_ACQUISITIONMODE: _spinAcquisitionModeEnums = 3;
1104pub type _spinAcquisitionModeEnums = ::std::os::raw::c_uint;
1105pub use self::_spinAcquisitionModeEnums as spinAcquisitionModeEnums;
1106#[doc = "<"]
1107pub const _spinTriggerSourceEnums_TriggerSource_Software: _spinTriggerSourceEnums = 0;
1108#[doc = "<"]
1109pub const _spinTriggerSourceEnums_TriggerSource_Line0: _spinTriggerSourceEnums = 1;
1110#[doc = "<"]
1111pub const _spinTriggerSourceEnums_TriggerSource_Line1: _spinTriggerSourceEnums = 2;
1112#[doc = "<"]
1113pub const _spinTriggerSourceEnums_TriggerSource_Line2: _spinTriggerSourceEnums = 3;
1114#[doc = "<"]
1115pub const _spinTriggerSourceEnums_TriggerSource_Line3: _spinTriggerSourceEnums = 4;
1116#[doc = "<"]
1117pub const _spinTriggerSourceEnums_TriggerSource_UserOutput0: _spinTriggerSourceEnums = 5;
1118#[doc = "<"]
1119pub const _spinTriggerSourceEnums_TriggerSource_UserOutput1: _spinTriggerSourceEnums = 6;
1120#[doc = "<"]
1121pub const _spinTriggerSourceEnums_TriggerSource_UserOutput2: _spinTriggerSourceEnums = 7;
1122#[doc = "<"]
1123pub const _spinTriggerSourceEnums_TriggerSource_UserOutput3: _spinTriggerSourceEnums = 8;
1124#[doc = "<"]
1125pub const _spinTriggerSourceEnums_TriggerSource_Counter0Start: _spinTriggerSourceEnums = 9;
1126#[doc = "<"]
1127pub const _spinTriggerSourceEnums_TriggerSource_Counter1Start: _spinTriggerSourceEnums = 10;
1128#[doc = "<"]
1129pub const _spinTriggerSourceEnums_TriggerSource_Counter0End: _spinTriggerSourceEnums = 11;
1130#[doc = "<"]
1131pub const _spinTriggerSourceEnums_TriggerSource_Counter1End: _spinTriggerSourceEnums = 12;
1132#[doc = "<"]
1133pub const _spinTriggerSourceEnums_TriggerSource_LogicBlock0: _spinTriggerSourceEnums = 13;
1134#[doc = "<"]
1135pub const _spinTriggerSourceEnums_TriggerSource_LogicBlock1: _spinTriggerSourceEnums = 14;
1136#[doc = "<"]
1137pub const _spinTriggerSourceEnums_TriggerSource_Action0: _spinTriggerSourceEnums = 15;
1138pub const _spinTriggerSourceEnums_NUM_TRIGGERSOURCE: _spinTriggerSourceEnums = 16;
1139pub type _spinTriggerSourceEnums = ::std::os::raw::c_uint;
1140pub use self::_spinTriggerSourceEnums as spinTriggerSourceEnums;
1141#[doc = "<"]
1142pub const _spinTriggerActivationEnums_TriggerActivation_LevelLow: _spinTriggerActivationEnums = 0;
1143#[doc = "<"]
1144pub const _spinTriggerActivationEnums_TriggerActivation_LevelHigh: _spinTriggerActivationEnums = 1;
1145#[doc = "<"]
1146pub const _spinTriggerActivationEnums_TriggerActivation_FallingEdge: _spinTriggerActivationEnums =
1147    2;
1148#[doc = "<"]
1149pub const _spinTriggerActivationEnums_TriggerActivation_RisingEdge: _spinTriggerActivationEnums = 3;
1150#[doc = "<"]
1151pub const _spinTriggerActivationEnums_TriggerActivation_AnyEdge: _spinTriggerActivationEnums = 4;
1152pub const _spinTriggerActivationEnums_NUM_TRIGGERACTIVATION: _spinTriggerActivationEnums = 5;
1153pub type _spinTriggerActivationEnums = ::std::os::raw::c_uint;
1154pub use self::_spinTriggerActivationEnums as spinTriggerActivationEnums;
1155#[doc = "<"]
1156#[doc = "The shutter opens and closes at the same time for all pixels."]
1157#[doc = "All the pixels are exposed for the same length of time at the same time."]
1158pub const _spinSensorShutterModeEnums_SensorShutterMode_Global: _spinSensorShutterModeEnums = 0;
1159#[doc = "<"]
1160#[doc = "The shutter opens and closes sequentially for groups (typically lines) of pixels."]
1161#[doc = "All the pixels are exposed for the same length of time but not at the same time."]
1162pub const _spinSensorShutterModeEnums_SensorShutterMode_Rolling: _spinSensorShutterModeEnums = 1;
1163#[doc = "<"]
1164#[doc = "The shutter opens at the same time for all pixels but ends in a sequential manner."]
1165#[doc = "The pixels are exposed for different lengths of time."]
1166pub const _spinSensorShutterModeEnums_SensorShutterMode_GlobalReset: _spinSensorShutterModeEnums =
1167    2;
1168pub const _spinSensorShutterModeEnums_NUM_SENSORSHUTTERMODE: _spinSensorShutterModeEnums = 3;
1169pub type _spinSensorShutterModeEnums = ::std::os::raw::c_uint;
1170pub use self::_spinSensorShutterModeEnums as spinSensorShutterModeEnums;
1171#[doc = "<"]
1172pub const _spinTriggerModeEnums_TriggerMode_Off: _spinTriggerModeEnums = 0;
1173#[doc = "<"]
1174pub const _spinTriggerModeEnums_TriggerMode_On: _spinTriggerModeEnums = 1;
1175pub const _spinTriggerModeEnums_NUM_TRIGGERMODE: _spinTriggerModeEnums = 2;
1176pub type _spinTriggerModeEnums = ::std::os::raw::c_uint;
1177pub use self::_spinTriggerModeEnums as spinTriggerModeEnums;
1178#[doc = "<"]
1179pub const _spinTriggerOverlapEnums_TriggerOverlap_Off: _spinTriggerOverlapEnums = 0;
1180#[doc = "<"]
1181pub const _spinTriggerOverlapEnums_TriggerOverlap_ReadOut: _spinTriggerOverlapEnums = 1;
1182#[doc = "<"]
1183pub const _spinTriggerOverlapEnums_TriggerOverlap_PreviousFrame: _spinTriggerOverlapEnums = 2;
1184pub const _spinTriggerOverlapEnums_NUM_TRIGGEROVERLAP: _spinTriggerOverlapEnums = 3;
1185pub type _spinTriggerOverlapEnums = ::std::os::raw::c_uint;
1186pub use self::_spinTriggerOverlapEnums as spinTriggerOverlapEnums;
1187#[doc = "<"]
1188pub const _spinTriggerSelectorEnums_TriggerSelector_AcquisitionStart: _spinTriggerSelectorEnums = 0;
1189#[doc = "<"]
1190pub const _spinTriggerSelectorEnums_TriggerSelector_FrameStart: _spinTriggerSelectorEnums = 1;
1191#[doc = "<"]
1192pub const _spinTriggerSelectorEnums_TriggerSelector_FrameBurstStart: _spinTriggerSelectorEnums = 2;
1193pub const _spinTriggerSelectorEnums_NUM_TRIGGERSELECTOR: _spinTriggerSelectorEnums = 3;
1194pub type _spinTriggerSelectorEnums = ::std::os::raw::c_uint;
1195pub use self::_spinTriggerSelectorEnums as spinTriggerSelectorEnums;
1196#[doc = "<"]
1197#[doc = "Exposure time is manually controlled using ExposureTime"]
1198pub const _spinExposureAutoEnums_ExposureAuto_Off: _spinExposureAutoEnums = 0;
1199#[doc = "<"]
1200#[doc = "Exposure time is adapted once by the device. Once it has converged,"]
1201#[doc = "it returns to the Off state."]
1202pub const _spinExposureAutoEnums_ExposureAuto_Once: _spinExposureAutoEnums = 1;
1203#[doc = "<"]
1204#[doc = "Exposure time is constantly adapted by the device to maximize the"]
1205#[doc = "dynamic range."]
1206pub const _spinExposureAutoEnums_ExposureAuto_Continuous: _spinExposureAutoEnums = 2;
1207pub const _spinExposureAutoEnums_NUM_EXPOSUREAUTO: _spinExposureAutoEnums = 3;
1208pub type _spinExposureAutoEnums = ::std::os::raw::c_uint;
1209pub use self::_spinExposureAutoEnums as spinExposureAutoEnums;
1210#[doc = "<"]
1211pub const _spinEventSelectorEnums_EventSelector_Error: _spinEventSelectorEnums = 0;
1212#[doc = "<"]
1213pub const _spinEventSelectorEnums_EventSelector_ExposureEnd: _spinEventSelectorEnums = 1;
1214#[doc = "<"]
1215pub const _spinEventSelectorEnums_EventSelector_SerialPortReceive: _spinEventSelectorEnums = 2;
1216pub const _spinEventSelectorEnums_NUM_EVENTSELECTOR: _spinEventSelectorEnums = 3;
1217pub type _spinEventSelectorEnums = ::std::os::raw::c_uint;
1218pub use self::_spinEventSelectorEnums as spinEventSelectorEnums;
1219#[doc = "<"]
1220pub const _spinEventNotificationEnums_EventNotification_On: _spinEventNotificationEnums = 0;
1221#[doc = "<"]
1222pub const _spinEventNotificationEnums_EventNotification_Off: _spinEventNotificationEnums = 1;
1223pub const _spinEventNotificationEnums_NUM_EVENTNOTIFICATION: _spinEventNotificationEnums = 2;
1224pub type _spinEventNotificationEnums = ::std::os::raw::c_uint;
1225pub use self::_spinEventNotificationEnums as spinEventNotificationEnums;
1226#[doc = "<"]
1227pub const _spinLogicBlockSelectorEnums_LogicBlockSelector_LogicBlock0:
1228    _spinLogicBlockSelectorEnums = 0;
1229#[doc = "<"]
1230pub const _spinLogicBlockSelectorEnums_LogicBlockSelector_LogicBlock1:
1231    _spinLogicBlockSelectorEnums = 1;
1232pub const _spinLogicBlockSelectorEnums_NUM_LOGICBLOCKSELECTOR: _spinLogicBlockSelectorEnums = 2;
1233pub type _spinLogicBlockSelectorEnums = ::std::os::raw::c_uint;
1234pub use self::_spinLogicBlockSelectorEnums as spinLogicBlockSelectorEnums;
1235#[doc = "<"]
1236pub const _spinLogicBlockLUTInputActivationEnums_LogicBlockLUTInputActivation_LevelLow:
1237    _spinLogicBlockLUTInputActivationEnums = 0;
1238#[doc = "<"]
1239pub const _spinLogicBlockLUTInputActivationEnums_LogicBlockLUTInputActivation_LevelHigh:
1240    _spinLogicBlockLUTInputActivationEnums = 1;
1241#[doc = "<"]
1242pub const _spinLogicBlockLUTInputActivationEnums_LogicBlockLUTInputActivation_FallingEdge:
1243    _spinLogicBlockLUTInputActivationEnums = 2;
1244#[doc = "<"]
1245pub const _spinLogicBlockLUTInputActivationEnums_LogicBlockLUTInputActivation_RisingEdge:
1246    _spinLogicBlockLUTInputActivationEnums = 3;
1247#[doc = "<"]
1248pub const _spinLogicBlockLUTInputActivationEnums_LogicBlockLUTInputActivation_AnyEdge:
1249    _spinLogicBlockLUTInputActivationEnums = 4;
1250pub const _spinLogicBlockLUTInputActivationEnums_NUM_LOGICBLOCKLUTINPUTACTIVATION:
1251    _spinLogicBlockLUTInputActivationEnums = 5;
1252pub type _spinLogicBlockLUTInputActivationEnums = ::std::os::raw::c_uint;
1253pub use self::_spinLogicBlockLUTInputActivationEnums as spinLogicBlockLUTInputActivationEnums;
1254#[doc = "<"]
1255pub const _spinLogicBlockLUTInputSelectorEnums_LogicBlockLUTInputSelector_Input0:
1256    _spinLogicBlockLUTInputSelectorEnums = 0;
1257#[doc = "<"]
1258pub const _spinLogicBlockLUTInputSelectorEnums_LogicBlockLUTInputSelector_Input1:
1259    _spinLogicBlockLUTInputSelectorEnums = 1;
1260#[doc = "<"]
1261pub const _spinLogicBlockLUTInputSelectorEnums_LogicBlockLUTInputSelector_Input2:
1262    _spinLogicBlockLUTInputSelectorEnums = 2;
1263#[doc = "<"]
1264pub const _spinLogicBlockLUTInputSelectorEnums_LogicBlockLUTInputSelector_Input3:
1265    _spinLogicBlockLUTInputSelectorEnums = 3;
1266pub const _spinLogicBlockLUTInputSelectorEnums_NUM_LOGICBLOCKLUTINPUTSELECTOR:
1267    _spinLogicBlockLUTInputSelectorEnums = 4;
1268pub type _spinLogicBlockLUTInputSelectorEnums = ::std::os::raw::c_uint;
1269pub use self::_spinLogicBlockLUTInputSelectorEnums as spinLogicBlockLUTInputSelectorEnums;
1270#[doc = "< Zero"]
1271pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_Zero:
1272    _spinLogicBlockLUTInputSourceEnums = 0;
1273#[doc = "< Line0"]
1274pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_Line0:
1275    _spinLogicBlockLUTInputSourceEnums = 1;
1276#[doc = "< Line1"]
1277pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_Line1:
1278    _spinLogicBlockLUTInputSourceEnums = 2;
1279#[doc = "< Line2"]
1280pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_Line2:
1281    _spinLogicBlockLUTInputSourceEnums = 3;
1282#[doc = "< Line3"]
1283pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_Line3:
1284    _spinLogicBlockLUTInputSourceEnums = 4;
1285#[doc = "< UserOutput0"]
1286pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_UserOutput0:
1287    _spinLogicBlockLUTInputSourceEnums = 5;
1288#[doc = "< UserOutput1"]
1289pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_UserOutput1:
1290    _spinLogicBlockLUTInputSourceEnums = 6;
1291#[doc = "< UserOutput2"]
1292pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_UserOutput2:
1293    _spinLogicBlockLUTInputSourceEnums = 7;
1294#[doc = "< UserOutput3"]
1295pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_UserOutput3:
1296    _spinLogicBlockLUTInputSourceEnums = 8;
1297#[doc = "< Counter0Start"]
1298pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_Counter0Start:
1299    _spinLogicBlockLUTInputSourceEnums = 9;
1300#[doc = "< Counter1Start"]
1301pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_Counter1Start:
1302    _spinLogicBlockLUTInputSourceEnums = 10;
1303#[doc = "< Counter0End"]
1304pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_Counter0End:
1305    _spinLogicBlockLUTInputSourceEnums = 11;
1306#[doc = "< Counter1End"]
1307pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_Counter1End:
1308    _spinLogicBlockLUTInputSourceEnums = 12;
1309#[doc = "< LogicBlock0"]
1310pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_LogicBlock0:
1311    _spinLogicBlockLUTInputSourceEnums = 13;
1312#[doc = "< LogicBlock1"]
1313pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_LogicBlock1:
1314    _spinLogicBlockLUTInputSourceEnums = 14;
1315#[doc = "< ExposureStart"]
1316pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_ExposureStart:
1317    _spinLogicBlockLUTInputSourceEnums = 15;
1318#[doc = "< ExposureEnd"]
1319pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_ExposureEnd:
1320    _spinLogicBlockLUTInputSourceEnums = 16;
1321#[doc = "< FrameTriggerWait"]
1322pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_FrameTriggerWait:
1323    _spinLogicBlockLUTInputSourceEnums = 17;
1324#[doc = "< AcquisitionActive"]
1325pub const _spinLogicBlockLUTInputSourceEnums_LogicBlockLUTInputSource_AcquisitionActive:
1326    _spinLogicBlockLUTInputSourceEnums = 18;
1327pub const _spinLogicBlockLUTInputSourceEnums_NUM_LOGICBLOCKLUTINPUTSOURCE:
1328    _spinLogicBlockLUTInputSourceEnums = 19;
1329pub type _spinLogicBlockLUTInputSourceEnums = ::std::os::raw::c_uint;
1330pub use self::_spinLogicBlockLUTInputSourceEnums as spinLogicBlockLUTInputSourceEnums;
1331#[doc = "<"]
1332pub const _spinLogicBlockLUTSelectorEnums_LogicBlockLUTSelector_Value:
1333    _spinLogicBlockLUTSelectorEnums = 0;
1334#[doc = "<"]
1335pub const _spinLogicBlockLUTSelectorEnums_LogicBlockLUTSelector_Enable:
1336    _spinLogicBlockLUTSelectorEnums = 1;
1337pub const _spinLogicBlockLUTSelectorEnums_NUM_LOGICBLOCKLUTSELECTOR:
1338    _spinLogicBlockLUTSelectorEnums = 2;
1339pub type _spinLogicBlockLUTSelectorEnums = ::std::os::raw::c_uint;
1340pub use self::_spinLogicBlockLUTSelectorEnums as spinLogicBlockLUTSelectorEnums;
1341#[doc = "<"]
1342pub const _spinColorTransformationSelectorEnums_ColorTransformationSelector_RGBtoRGB:
1343    _spinColorTransformationSelectorEnums = 0;
1344#[doc = "<"]
1345pub const _spinColorTransformationSelectorEnums_ColorTransformationSelector_RGBtoYUV:
1346    _spinColorTransformationSelectorEnums = 1;
1347pub const _spinColorTransformationSelectorEnums_NUM_COLORTRANSFORMATIONSELECTOR:
1348    _spinColorTransformationSelectorEnums = 2;
1349pub type _spinColorTransformationSelectorEnums = ::std::os::raw::c_uint;
1350pub use self::_spinColorTransformationSelectorEnums as spinColorTransformationSelectorEnums;
1351#[doc = "<"]
1352#[doc = "Uses a matrix calibrated for a wide range of light sources."]
1353pub const _spinRgbTransformLightSourceEnums_RgbTransformLightSource_General:
1354    _spinRgbTransformLightSourceEnums = 0;
1355#[doc = "<"]
1356#[doc = "Uses a matrix optimized for tungsten/incandescent light with color temperature 2800K."]
1357pub const _spinRgbTransformLightSourceEnums_RgbTransformLightSource_Tungsten2800K:
1358    _spinRgbTransformLightSourceEnums = 1;
1359#[doc = "<"]
1360#[doc = "Uses a matrix optimized for a typical warm fluoresecent light with color temperature 3000K."]
1361pub const _spinRgbTransformLightSourceEnums_RgbTransformLightSource_WarmFluorescent3000K:
1362    _spinRgbTransformLightSourceEnums = 2;
1363#[doc = "<"]
1364#[doc = "Uses a matrix optimized for a typical cool fluoresecent light with color temperature 4000K."]
1365pub const _spinRgbTransformLightSourceEnums_RgbTransformLightSource_CoolFluorescent4000K:
1366    _spinRgbTransformLightSourceEnums = 3;
1367#[doc = "<"]
1368#[doc = "Uses a matrix optimized for noon Daylight with color temperature 5000K."]
1369pub const _spinRgbTransformLightSourceEnums_RgbTransformLightSource_Daylight5000K:
1370    _spinRgbTransformLightSourceEnums = 4;
1371#[doc = "<"]
1372#[doc = "Uses a matrix optimized for a cloudy sky with color temperature 6500K."]
1373pub const _spinRgbTransformLightSourceEnums_RgbTransformLightSource_Cloudy6500K:
1374    _spinRgbTransformLightSourceEnums = 5;
1375#[doc = "<"]
1376#[doc = "Uses a matrix optimized for shade with color temperature 8000K."]
1377pub const _spinRgbTransformLightSourceEnums_RgbTransformLightSource_Shade8000K:
1378    _spinRgbTransformLightSourceEnums = 6;
1379#[doc = "<"]
1380#[doc = "Uses a custom matrix set by the user through the"]
1381#[doc = "ColorTransformationValueSelector and ColorTransformationValue controls."]
1382pub const _spinRgbTransformLightSourceEnums_RgbTransformLightSource_Custom:
1383    _spinRgbTransformLightSourceEnums = 7;
1384pub const _spinRgbTransformLightSourceEnums_NUM_RGBTRANSFORMLIGHTSOURCE:
1385    _spinRgbTransformLightSourceEnums = 8;
1386pub type _spinRgbTransformLightSourceEnums = ::std::os::raw::c_uint;
1387pub use self::_spinRgbTransformLightSourceEnums as spinRgbTransformLightSourceEnums;
1388#[doc = "<"]
1389pub const _spinColorTransformationValueSelectorEnums_ColorTransformationValueSelector_Gain00:
1390    _spinColorTransformationValueSelectorEnums = 0;
1391#[doc = "<"]
1392pub const _spinColorTransformationValueSelectorEnums_ColorTransformationValueSelector_Gain01:
1393    _spinColorTransformationValueSelectorEnums = 1;
1394#[doc = "<"]
1395pub const _spinColorTransformationValueSelectorEnums_ColorTransformationValueSelector_Gain02:
1396    _spinColorTransformationValueSelectorEnums = 2;
1397#[doc = "<"]
1398pub const _spinColorTransformationValueSelectorEnums_ColorTransformationValueSelector_Gain10:
1399    _spinColorTransformationValueSelectorEnums = 3;
1400#[doc = "<"]
1401pub const _spinColorTransformationValueSelectorEnums_ColorTransformationValueSelector_Gain11:
1402    _spinColorTransformationValueSelectorEnums = 4;
1403#[doc = "<"]
1404pub const _spinColorTransformationValueSelectorEnums_ColorTransformationValueSelector_Gain12:
1405    _spinColorTransformationValueSelectorEnums = 5;
1406#[doc = "<"]
1407pub const _spinColorTransformationValueSelectorEnums_ColorTransformationValueSelector_Gain20:
1408    _spinColorTransformationValueSelectorEnums = 6;
1409#[doc = "<"]
1410pub const _spinColorTransformationValueSelectorEnums_ColorTransformationValueSelector_Gain21:
1411    _spinColorTransformationValueSelectorEnums = 7;
1412#[doc = "<"]
1413pub const _spinColorTransformationValueSelectorEnums_ColorTransformationValueSelector_Gain22:
1414    _spinColorTransformationValueSelectorEnums = 8;
1415#[doc = "<"]
1416pub const _spinColorTransformationValueSelectorEnums_ColorTransformationValueSelector_Offset0:
1417    _spinColorTransformationValueSelectorEnums = 9;
1418#[doc = "<"]
1419pub const _spinColorTransformationValueSelectorEnums_ColorTransformationValueSelector_Offset1:
1420    _spinColorTransformationValueSelectorEnums = 10;
1421#[doc = "<"]
1422pub const _spinColorTransformationValueSelectorEnums_ColorTransformationValueSelector_Offset2:
1423    _spinColorTransformationValueSelectorEnums = 11;
1424pub const _spinColorTransformationValueSelectorEnums_NUM_COLORTRANSFORMATIONVALUESELECTOR:
1425    _spinColorTransformationValueSelectorEnums = 12;
1426pub type _spinColorTransformationValueSelectorEnums = ::std::os::raw::c_uint;
1427pub use self::_spinColorTransformationValueSelectorEnums as spinColorTransformationValueSelectorEnums;
1428#[doc = "<"]
1429pub const _spinDeviceRegistersEndiannessEnums_DeviceRegistersEndianness_Little:
1430    _spinDeviceRegistersEndiannessEnums = 0;
1431#[doc = "<"]
1432pub const _spinDeviceRegistersEndiannessEnums_DeviceRegistersEndianness_Big:
1433    _spinDeviceRegistersEndiannessEnums = 1;
1434pub const _spinDeviceRegistersEndiannessEnums_NUM_DEVICEREGISTERSENDIANNESS:
1435    _spinDeviceRegistersEndiannessEnums = 2;
1436pub type _spinDeviceRegistersEndiannessEnums = ::std::os::raw::c_uint;
1437pub use self::_spinDeviceRegistersEndiannessEnums as spinDeviceRegistersEndiannessEnums;
1438#[doc = "<"]
1439pub const _spinDeviceScanTypeEnums_DeviceScanType_Areascan: _spinDeviceScanTypeEnums = 0;
1440pub const _spinDeviceScanTypeEnums_NUM_DEVICESCANTYPE: _spinDeviceScanTypeEnums = 1;
1441pub type _spinDeviceScanTypeEnums = ::std::os::raw::c_uint;
1442pub use self::_spinDeviceScanTypeEnums as spinDeviceScanTypeEnums;
1443#[doc = "<"]
1444pub const _spinDeviceCharacterSetEnums_DeviceCharacterSet_UTF8: _spinDeviceCharacterSetEnums = 0;
1445#[doc = "<"]
1446pub const _spinDeviceCharacterSetEnums_DeviceCharacterSet_ASCII: _spinDeviceCharacterSetEnums = 1;
1447pub const _spinDeviceCharacterSetEnums_NUM_DEVICECHARACTERSET: _spinDeviceCharacterSetEnums = 2;
1448pub type _spinDeviceCharacterSetEnums = ::std::os::raw::c_uint;
1449pub use self::_spinDeviceCharacterSetEnums as spinDeviceCharacterSetEnums;
1450#[doc = "<"]
1451pub const _spinDeviceTLTypeEnums_DeviceTLType_GigEVision: _spinDeviceTLTypeEnums = 0;
1452#[doc = "<"]
1453pub const _spinDeviceTLTypeEnums_DeviceTLType_CameraLink: _spinDeviceTLTypeEnums = 1;
1454#[doc = "<"]
1455pub const _spinDeviceTLTypeEnums_DeviceTLType_CameraLinkHS: _spinDeviceTLTypeEnums = 2;
1456#[doc = "<"]
1457pub const _spinDeviceTLTypeEnums_DeviceTLType_CoaXPress: _spinDeviceTLTypeEnums = 3;
1458#[doc = "<"]
1459pub const _spinDeviceTLTypeEnums_DeviceTLType_USB3Vision: _spinDeviceTLTypeEnums = 4;
1460#[doc = "<"]
1461pub const _spinDeviceTLTypeEnums_DeviceTLType_Custom: _spinDeviceTLTypeEnums = 5;
1462pub const _spinDeviceTLTypeEnums_NUM_DEVICETLTYPE: _spinDeviceTLTypeEnums = 6;
1463pub type _spinDeviceTLTypeEnums = ::std::os::raw::c_uint;
1464pub use self::_spinDeviceTLTypeEnums as spinDeviceTLTypeEnums;
1465#[doc = "<"]
1466pub const _spinDevicePowerSupplySelectorEnums_DevicePowerSupplySelector_External:
1467    _spinDevicePowerSupplySelectorEnums = 0;
1468pub const _spinDevicePowerSupplySelectorEnums_NUM_DEVICEPOWERSUPPLYSELECTOR:
1469    _spinDevicePowerSupplySelectorEnums = 1;
1470pub type _spinDevicePowerSupplySelectorEnums = ::std::os::raw::c_uint;
1471pub use self::_spinDevicePowerSupplySelectorEnums as spinDevicePowerSupplySelectorEnums;
1472#[doc = "<"]
1473pub const _spinDeviceTemperatureSelectorEnums_DeviceTemperatureSelector_Sensor:
1474    _spinDeviceTemperatureSelectorEnums = 0;
1475pub const _spinDeviceTemperatureSelectorEnums_NUM_DEVICETEMPERATURESELECTOR:
1476    _spinDeviceTemperatureSelectorEnums = 1;
1477pub type _spinDeviceTemperatureSelectorEnums = ::std::os::raw::c_uint;
1478pub use self::_spinDeviceTemperatureSelectorEnums as spinDeviceTemperatureSelectorEnums;
1479#[doc = "<"]
1480pub const _spinDeviceIndicatorModeEnums_DeviceIndicatorMode_Inactive:
1481    _spinDeviceIndicatorModeEnums = 0;
1482#[doc = "<"]
1483pub const _spinDeviceIndicatorModeEnums_DeviceIndicatorMode_Active: _spinDeviceIndicatorModeEnums =
1484    1;
1485#[doc = "<"]
1486pub const _spinDeviceIndicatorModeEnums_DeviceIndicatorMode_ErrorStatus:
1487    _spinDeviceIndicatorModeEnums = 2;
1488pub const _spinDeviceIndicatorModeEnums_NUM_DEVICEINDICATORMODE: _spinDeviceIndicatorModeEnums = 3;
1489pub type _spinDeviceIndicatorModeEnums = ::std::os::raw::c_uint;
1490pub use self::_spinDeviceIndicatorModeEnums as spinDeviceIndicatorModeEnums;
1491#[doc = "<"]
1492pub const _spinAutoExposureControlPriorityEnums_AutoExposureControlPriority_Gain:
1493    _spinAutoExposureControlPriorityEnums = 0;
1494#[doc = "<"]
1495pub const _spinAutoExposureControlPriorityEnums_AutoExposureControlPriority_ExposureTime:
1496    _spinAutoExposureControlPriorityEnums = 1;
1497pub const _spinAutoExposureControlPriorityEnums_NUM_AUTOEXPOSURECONTROLPRIORITY:
1498    _spinAutoExposureControlPriorityEnums = 2;
1499pub type _spinAutoExposureControlPriorityEnums = ::std::os::raw::c_uint;
1500pub use self::_spinAutoExposureControlPriorityEnums as spinAutoExposureControlPriorityEnums;
1501#[doc = "<"]
1502pub const _spinAutoExposureMeteringModeEnums_AutoExposureMeteringMode_Average:
1503    _spinAutoExposureMeteringModeEnums = 0;
1504#[doc = "<"]
1505pub const _spinAutoExposureMeteringModeEnums_AutoExposureMeteringMode_Spot:
1506    _spinAutoExposureMeteringModeEnums = 1;
1507#[doc = "<"]
1508pub const _spinAutoExposureMeteringModeEnums_AutoExposureMeteringMode_Partial:
1509    _spinAutoExposureMeteringModeEnums = 2;
1510#[doc = "<"]
1511pub const _spinAutoExposureMeteringModeEnums_AutoExposureMeteringMode_CenterWeighted:
1512    _spinAutoExposureMeteringModeEnums = 3;
1513#[doc = "<"]
1514pub const _spinAutoExposureMeteringModeEnums_AutoExposureMeteringMode_HistgramPeak:
1515    _spinAutoExposureMeteringModeEnums = 4;
1516pub const _spinAutoExposureMeteringModeEnums_NUM_AUTOEXPOSUREMETERINGMODE:
1517    _spinAutoExposureMeteringModeEnums = 5;
1518pub type _spinAutoExposureMeteringModeEnums = ::std::os::raw::c_uint;
1519pub use self::_spinAutoExposureMeteringModeEnums as spinAutoExposureMeteringModeEnums;
1520#[doc = "< Indoor auto white balance Profile. Can be used to compensate for artificial lighting."]
1521pub const _spinBalanceWhiteAutoProfileEnums_BalanceWhiteAutoProfile_Indoor:
1522    _spinBalanceWhiteAutoProfileEnums = 0;
1523#[doc = "< Outdoor auto white balance profile. Designed for scenes with"]
1524#[doc = "natural lighting."]
1525pub const _spinBalanceWhiteAutoProfileEnums_BalanceWhiteAutoProfile_Outdoor:
1526    _spinBalanceWhiteAutoProfileEnums = 1;
1527pub const _spinBalanceWhiteAutoProfileEnums_NUM_BALANCEWHITEAUTOPROFILE:
1528    _spinBalanceWhiteAutoProfileEnums = 2;
1529pub type _spinBalanceWhiteAutoProfileEnums = ::std::os::raw::c_uint;
1530pub use self::_spinBalanceWhiteAutoProfileEnums as spinBalanceWhiteAutoProfileEnums;
1531#[doc = "< Selects the Auto White Balance algorithm."]
1532pub const _spinAutoAlgorithmSelectorEnums_AutoAlgorithmSelector_Awb:
1533    _spinAutoAlgorithmSelectorEnums = 0;
1534#[doc = "< Selects the Auto Exposure algorithm."]
1535pub const _spinAutoAlgorithmSelectorEnums_AutoAlgorithmSelector_Ae:
1536    _spinAutoAlgorithmSelectorEnums = 1;
1537pub const _spinAutoAlgorithmSelectorEnums_NUM_AUTOALGORITHMSELECTOR:
1538    _spinAutoAlgorithmSelectorEnums = 2;
1539pub type _spinAutoAlgorithmSelectorEnums = ::std::os::raw::c_uint;
1540pub use self::_spinAutoAlgorithmSelectorEnums as spinAutoAlgorithmSelectorEnums;
1541#[doc = "< Target grey value is manually controlled"]
1542pub const _spinAutoExposureTargetGreyValueAutoEnums_AutoExposureTargetGreyValueAuto_Off:
1543    _spinAutoExposureTargetGreyValueAutoEnums = 0;
1544#[doc = "< Target grey value is constantly adapted by the device to maximize the dynamic range."]
1545pub const _spinAutoExposureTargetGreyValueAutoEnums_AutoExposureTargetGreyValueAuto_Continuous:
1546    _spinAutoExposureTargetGreyValueAutoEnums = 1;
1547pub const _spinAutoExposureTargetGreyValueAutoEnums_NUM_AUTOEXPOSURETARGETGREYVALUEAUTO:
1548    _spinAutoExposureTargetGreyValueAutoEnums = 2;
1549pub type _spinAutoExposureTargetGreyValueAutoEnums = ::std::os::raw::c_uint;
1550pub use self::_spinAutoExposureTargetGreyValueAutoEnums as spinAutoExposureTargetGreyValueAutoEnums;
1551#[doc = "<"]
1552pub const _spinAutoExposureLightingModeEnums_AutoExposureLightingMode_AutoDetect:
1553    _spinAutoExposureLightingModeEnums = 0;
1554#[doc = "<"]
1555pub const _spinAutoExposureLightingModeEnums_AutoExposureLightingMode_Backlight:
1556    _spinAutoExposureLightingModeEnums = 1;
1557#[doc = "<"]
1558pub const _spinAutoExposureLightingModeEnums_AutoExposureLightingMode_Frontlight:
1559    _spinAutoExposureLightingModeEnums = 2;
1560#[doc = "<"]
1561pub const _spinAutoExposureLightingModeEnums_AutoExposureLightingMode_Normal:
1562    _spinAutoExposureLightingModeEnums = 3;
1563pub const _spinAutoExposureLightingModeEnums_NUM_AUTOEXPOSURELIGHTINGMODE:
1564    _spinAutoExposureLightingModeEnums = 4;
1565pub type _spinAutoExposureLightingModeEnums = ::std::os::raw::c_uint;
1566pub use self::_spinAutoExposureLightingModeEnums as spinAutoExposureLightingModeEnums;
1567#[doc = "< Initializing"]
1568pub const _spinGevIEEE1588StatusEnums_GevIEEE1588Status_Initializing: _spinGevIEEE1588StatusEnums =
1569    0;
1570#[doc = "< Faulty"]
1571pub const _spinGevIEEE1588StatusEnums_GevIEEE1588Status_Faulty: _spinGevIEEE1588StatusEnums = 1;
1572#[doc = "< Disabled"]
1573pub const _spinGevIEEE1588StatusEnums_GevIEEE1588Status_Disabled: _spinGevIEEE1588StatusEnums = 2;
1574#[doc = "< Listening"]
1575pub const _spinGevIEEE1588StatusEnums_GevIEEE1588Status_Listening: _spinGevIEEE1588StatusEnums = 3;
1576#[doc = "< Pre Master"]
1577pub const _spinGevIEEE1588StatusEnums_GevIEEE1588Status_PreMaster: _spinGevIEEE1588StatusEnums = 4;
1578#[doc = "< Master"]
1579pub const _spinGevIEEE1588StatusEnums_GevIEEE1588Status_Master: _spinGevIEEE1588StatusEnums = 5;
1580#[doc = "< Passive"]
1581pub const _spinGevIEEE1588StatusEnums_GevIEEE1588Status_Passive: _spinGevIEEE1588StatusEnums = 6;
1582#[doc = "< Uncalibrated"]
1583pub const _spinGevIEEE1588StatusEnums_GevIEEE1588Status_Uncalibrated: _spinGevIEEE1588StatusEnums =
1584    7;
1585#[doc = "< Slave"]
1586pub const _spinGevIEEE1588StatusEnums_GevIEEE1588Status_Slave: _spinGevIEEE1588StatusEnums = 8;
1587pub const _spinGevIEEE1588StatusEnums_NUM_GEVIEEE1588STATUS: _spinGevIEEE1588StatusEnums = 9;
1588pub type _spinGevIEEE1588StatusEnums = ::std::os::raw::c_uint;
1589pub use self::_spinGevIEEE1588StatusEnums as spinGevIEEE1588StatusEnums;
1590#[doc = "< Automatic"]
1591pub const _spinGevIEEE1588ModeEnums_GevIEEE1588Mode_Auto: _spinGevIEEE1588ModeEnums = 0;
1592#[doc = "< Slave Only"]
1593pub const _spinGevIEEE1588ModeEnums_GevIEEE1588Mode_SlaveOnly: _spinGevIEEE1588ModeEnums = 1;
1594pub const _spinGevIEEE1588ModeEnums_NUM_GEVIEEE1588MODE: _spinGevIEEE1588ModeEnums = 2;
1595pub type _spinGevIEEE1588ModeEnums = ::std::os::raw::c_uint;
1596pub use self::_spinGevIEEE1588ModeEnums as spinGevIEEE1588ModeEnums;
1597#[doc = "< Unknown Accuracy"]
1598pub const _spinGevIEEE1588ClockAccuracyEnums_GevIEEE1588ClockAccuracy_Unknown:
1599    _spinGevIEEE1588ClockAccuracyEnums = 0;
1600pub const _spinGevIEEE1588ClockAccuracyEnums_NUM_GEVIEEE1588CLOCKACCURACY:
1601    _spinGevIEEE1588ClockAccuracyEnums = 1;
1602pub type _spinGevIEEE1588ClockAccuracyEnums = ::std::os::raw::c_uint;
1603pub use self::_spinGevIEEE1588ClockAccuracyEnums as spinGevIEEE1588ClockAccuracyEnums;
1604#[doc = "<"]
1605pub const _spinGevCCPEnums_GevCCP_OpenAccess: _spinGevCCPEnums = 0;
1606#[doc = "<"]
1607pub const _spinGevCCPEnums_GevCCP_ExclusiveAccess: _spinGevCCPEnums = 1;
1608#[doc = "<"]
1609pub const _spinGevCCPEnums_GevCCP_ControlAccess: _spinGevCCPEnums = 2;
1610pub const _spinGevCCPEnums_NUM_GEVCCP: _spinGevCCPEnums = 3;
1611pub type _spinGevCCPEnums = ::std::os::raw::c_uint;
1612pub use self::_spinGevCCPEnums as spinGevCCPEnums;
1613#[doc = "<"]
1614pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_UserDefinedName:
1615    _spinGevSupportedOptionSelectorEnums = 0;
1616#[doc = "<"]
1617pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_SerialNumber:
1618    _spinGevSupportedOptionSelectorEnums = 1;
1619#[doc = "<"]
1620pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_HeartbeatDisable:
1621    _spinGevSupportedOptionSelectorEnums = 2;
1622#[doc = "<"]
1623pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_LinkSpeed:
1624    _spinGevSupportedOptionSelectorEnums = 3;
1625#[doc = "<"]
1626pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_CCPApplicationSocket:
1627    _spinGevSupportedOptionSelectorEnums = 4;
1628#[doc = "<"]
1629pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_ManifestTable:
1630    _spinGevSupportedOptionSelectorEnums = 5;
1631#[doc = "<"]
1632pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_TestData:
1633    _spinGevSupportedOptionSelectorEnums = 6;
1634#[doc = "<"]
1635pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_DiscoveryAckDelay:
1636    _spinGevSupportedOptionSelectorEnums = 7;
1637#[doc = "<"]
1638pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_DiscoveryAckDelayWritable : _spinGevSupportedOptionSelectorEnums = 8 ;
1639#[doc = "<"]
1640pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_ExtendedStatusCodes:
1641    _spinGevSupportedOptionSelectorEnums = 9;
1642#[doc = "<"]
1643pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_Action:
1644    _spinGevSupportedOptionSelectorEnums = 10;
1645#[doc = "<"]
1646pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_PendingAck:
1647    _spinGevSupportedOptionSelectorEnums = 11;
1648#[doc = "<"]
1649pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_EventData:
1650    _spinGevSupportedOptionSelectorEnums = 12;
1651#[doc = "<"]
1652pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_Event:
1653    _spinGevSupportedOptionSelectorEnums = 13;
1654#[doc = "<"]
1655pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_PacketResend:
1656    _spinGevSupportedOptionSelectorEnums = 14;
1657#[doc = "<"]
1658pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_WriteMem:
1659    _spinGevSupportedOptionSelectorEnums = 15;
1660#[doc = "<"]
1661pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_CommandsConcatenation:
1662    _spinGevSupportedOptionSelectorEnums = 16;
1663#[doc = "<"]
1664pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_IPConfigurationLLA:
1665    _spinGevSupportedOptionSelectorEnums = 17;
1666#[doc = "<"]
1667pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_IPConfigurationDHCP:
1668    _spinGevSupportedOptionSelectorEnums = 18;
1669#[doc = "<"]
1670pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_IPConfigurationPersistentIP : _spinGevSupportedOptionSelectorEnums = 19 ;
1671#[doc = "<"]
1672pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_StreamChannelSourceSocket : _spinGevSupportedOptionSelectorEnums = 20 ;
1673#[doc = "<"]
1674pub const _spinGevSupportedOptionSelectorEnums_GevSupportedOptionSelector_MessageChannelSourceSocket : _spinGevSupportedOptionSelectorEnums = 21 ;
1675pub const _spinGevSupportedOptionSelectorEnums_NUM_GEVSUPPORTEDOPTIONSELECTOR:
1676    _spinGevSupportedOptionSelectorEnums = 22;
1677pub type _spinGevSupportedOptionSelectorEnums = ::std::os::raw::c_uint;
1678pub use self::_spinGevSupportedOptionSelectorEnums as spinGevSupportedOptionSelectorEnums;
1679#[doc = "<"]
1680pub const _spinBlackLevelSelectorEnums_BlackLevelSelector_All: _spinBlackLevelSelectorEnums = 0;
1681#[doc = "<"]
1682pub const _spinBlackLevelSelectorEnums_BlackLevelSelector_Analog: _spinBlackLevelSelectorEnums = 1;
1683#[doc = "<"]
1684pub const _spinBlackLevelSelectorEnums_BlackLevelSelector_Digital: _spinBlackLevelSelectorEnums = 2;
1685pub const _spinBlackLevelSelectorEnums_NUM_BLACKLEVELSELECTOR: _spinBlackLevelSelectorEnums = 3;
1686pub type _spinBlackLevelSelectorEnums = ::std::os::raw::c_uint;
1687pub use self::_spinBlackLevelSelectorEnums as spinBlackLevelSelectorEnums;
1688#[doc = "< Sets operation mode to Off, which is manual control."]
1689pub const _spinBalanceWhiteAutoEnums_BalanceWhiteAuto_Off: _spinBalanceWhiteAutoEnums = 0;
1690#[doc = "< Sets operation mode to once. Once runs for a number of iterations and then sets White Balance Auto to Off."]
1691pub const _spinBalanceWhiteAutoEnums_BalanceWhiteAuto_Once: _spinBalanceWhiteAutoEnums = 1;
1692#[doc = "< Sets operation mode to continuous. Continuous automatically adjusts values if the colors are imbalanced."]
1693pub const _spinBalanceWhiteAutoEnums_BalanceWhiteAuto_Continuous: _spinBalanceWhiteAutoEnums = 2;
1694pub const _spinBalanceWhiteAutoEnums_NUM_BALANCEWHITEAUTO: _spinBalanceWhiteAutoEnums = 3;
1695pub type _spinBalanceWhiteAutoEnums = ::std::os::raw::c_uint;
1696pub use self::_spinBalanceWhiteAutoEnums as spinBalanceWhiteAutoEnums;
1697#[doc = "< Gain is manually controlled"]
1698pub const _spinGainAutoEnums_GainAuto_Off: _spinGainAutoEnums = 0;
1699#[doc = "<"]
1700#[doc = "Gain is adapted once by the device. Once it has converged, it returns to the Off state."]
1701pub const _spinGainAutoEnums_GainAuto_Once: _spinGainAutoEnums = 1;
1702#[doc = "<"]
1703#[doc = "Gain is constantly adapted by the device to maximize the dynamic range."]
1704pub const _spinGainAutoEnums_GainAuto_Continuous: _spinGainAutoEnums = 2;
1705pub const _spinGainAutoEnums_NUM_GAINAUTO: _spinGainAutoEnums = 3;
1706pub type _spinGainAutoEnums = ::std::os::raw::c_uint;
1707pub use self::_spinGainAutoEnums as spinGainAutoEnums;
1708#[doc = "<"]
1709#[doc = "Selects the red balance ratio control for adjustment.  The red balance"]
1710#[doc = "ratio is relative to the green channel."]
1711pub const _spinBalanceRatioSelectorEnums_BalanceRatioSelector_Red: _spinBalanceRatioSelectorEnums =
1712    0;
1713#[doc = "<"]
1714#[doc = "Selects the blue balance ratio control for adjustment. The blue balance"]
1715#[doc = "ratio is relative to the green channel."]
1716pub const _spinBalanceRatioSelectorEnums_BalanceRatioSelector_Blue: _spinBalanceRatioSelectorEnums =
1717    1;
1718pub const _spinBalanceRatioSelectorEnums_NUM_BALANCERATIOSELECTOR: _spinBalanceRatioSelectorEnums =
1719    2;
1720pub type _spinBalanceRatioSelectorEnums = ::std::os::raw::c_uint;
1721pub use self::_spinBalanceRatioSelectorEnums as spinBalanceRatioSelectorEnums;
1722#[doc = "<"]
1723pub const _spinGainSelectorEnums_GainSelector_All: _spinGainSelectorEnums = 0;
1724pub const _spinGainSelectorEnums_NUM_GAINSELECTOR: _spinGainSelectorEnums = 1;
1725pub type _spinGainSelectorEnums = ::std::os::raw::c_uint;
1726pub use self::_spinGainSelectorEnums as spinGainSelectorEnums;
1727#[doc = "< Pixels are replaced with the average of their neighbours.  This is the normal mode of operation."]
1728pub const _spinDefectCorrectionModeEnums_DefectCorrectionMode_Average:
1729    _spinDefectCorrectionModeEnums = 0;
1730#[doc = "< Pixels are replaced with the maximum pixel value (i.e., 255 for 8-bit images).  Can be used for debugging the table."]
1731pub const _spinDefectCorrectionModeEnums_DefectCorrectionMode_Highlight:
1732    _spinDefectCorrectionModeEnums = 1;
1733#[doc = "< Pixels are replaced by the value zero.  Can be used for testing the table."]
1734pub const _spinDefectCorrectionModeEnums_DefectCorrectionMode_Zero: _spinDefectCorrectionModeEnums =
1735    2;
1736pub const _spinDefectCorrectionModeEnums_NUM_DEFECTCORRECTIONMODE: _spinDefectCorrectionModeEnums =
1737    3;
1738pub type _spinDefectCorrectionModeEnums = ::std::os::raw::c_uint;
1739pub use self::_spinDefectCorrectionModeEnums as spinDefectCorrectionModeEnums;
1740#[doc = "< Factory default set."]
1741pub const _spinUserSetSelectorEnums_UserSetSelector_Default: _spinUserSetSelectorEnums = 0;
1742#[doc = "< User configurable set 0."]
1743pub const _spinUserSetSelectorEnums_UserSetSelector_UserSet0: _spinUserSetSelectorEnums = 1;
1744#[doc = "< User configurable set 1."]
1745pub const _spinUserSetSelectorEnums_UserSetSelector_UserSet1: _spinUserSetSelectorEnums = 2;
1746pub const _spinUserSetSelectorEnums_NUM_USERSETSELECTOR: _spinUserSetSelectorEnums = 3;
1747pub type _spinUserSetSelectorEnums = ::std::os::raw::c_uint;
1748pub use self::_spinUserSetSelectorEnums as spinUserSetSelectorEnums;
1749#[doc = "< Factory default set."]
1750pub const _spinUserSetDefaultEnums_UserSetDefault_Default: _spinUserSetDefaultEnums = 0;
1751#[doc = "< User configurable set 0."]
1752pub const _spinUserSetDefaultEnums_UserSetDefault_UserSet0: _spinUserSetDefaultEnums = 1;
1753#[doc = "< User configurable set 1."]
1754pub const _spinUserSetDefaultEnums_UserSetDefault_UserSet1: _spinUserSetDefaultEnums = 2;
1755pub const _spinUserSetDefaultEnums_NUM_USERSETDEFAULT: _spinUserSetDefaultEnums = 3;
1756pub type _spinUserSetDefaultEnums = ::std::os::raw::c_uint;
1757pub use self::_spinUserSetDefaultEnums as spinUserSetDefaultEnums;
1758#[doc = "<"]
1759pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud300: _spinSerialPortBaudRateEnums = 0;
1760#[doc = "<"]
1761pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud600: _spinSerialPortBaudRateEnums = 1;
1762#[doc = "<"]
1763pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud1200: _spinSerialPortBaudRateEnums =
1764    2;
1765#[doc = "<"]
1766pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud2400: _spinSerialPortBaudRateEnums =
1767    3;
1768#[doc = "<"]
1769pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud4800: _spinSerialPortBaudRateEnums =
1770    4;
1771#[doc = "<"]
1772pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud9600: _spinSerialPortBaudRateEnums =
1773    5;
1774#[doc = "<"]
1775pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud14400: _spinSerialPortBaudRateEnums =
1776    6;
1777#[doc = "<"]
1778pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud19200: _spinSerialPortBaudRateEnums =
1779    7;
1780#[doc = "<"]
1781pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud38400: _spinSerialPortBaudRateEnums =
1782    8;
1783#[doc = "<"]
1784pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud57600: _spinSerialPortBaudRateEnums =
1785    9;
1786#[doc = "<"]
1787pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud115200: _spinSerialPortBaudRateEnums =
1788    10;
1789#[doc = "<"]
1790pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud230400: _spinSerialPortBaudRateEnums =
1791    11;
1792#[doc = "<"]
1793pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud460800: _spinSerialPortBaudRateEnums =
1794    12;
1795#[doc = "<"]
1796pub const _spinSerialPortBaudRateEnums_SerialPortBaudRate_Baud921600: _spinSerialPortBaudRateEnums =
1797    13;
1798pub const _spinSerialPortBaudRateEnums_NUM_SERIALPORTBAUDRATE: _spinSerialPortBaudRateEnums = 14;
1799pub type _spinSerialPortBaudRateEnums = ::std::os::raw::c_uint;
1800pub use self::_spinSerialPortBaudRateEnums as spinSerialPortBaudRateEnums;
1801#[doc = "<"]
1802pub const _spinSerialPortParityEnums_SerialPortParity_None: _spinSerialPortParityEnums = 0;
1803#[doc = "<"]
1804pub const _spinSerialPortParityEnums_SerialPortParity_Odd: _spinSerialPortParityEnums = 1;
1805#[doc = "<"]
1806pub const _spinSerialPortParityEnums_SerialPortParity_Even: _spinSerialPortParityEnums = 2;
1807#[doc = "<"]
1808pub const _spinSerialPortParityEnums_SerialPortParity_Mark: _spinSerialPortParityEnums = 3;
1809#[doc = "<"]
1810pub const _spinSerialPortParityEnums_SerialPortParity_Space: _spinSerialPortParityEnums = 4;
1811pub const _spinSerialPortParityEnums_NUM_SERIALPORTPARITY: _spinSerialPortParityEnums = 5;
1812pub type _spinSerialPortParityEnums = ::std::os::raw::c_uint;
1813pub use self::_spinSerialPortParityEnums as spinSerialPortParityEnums;
1814#[doc = "<"]
1815pub const _spinSerialPortSelectorEnums_SerialPortSelector_SerialPort0:
1816    _spinSerialPortSelectorEnums = 0;
1817pub const _spinSerialPortSelectorEnums_NUM_SERIALPORTSELECTOR: _spinSerialPortSelectorEnums = 1;
1818pub type _spinSerialPortSelectorEnums = ::std::os::raw::c_uint;
1819pub use self::_spinSerialPortSelectorEnums as spinSerialPortSelectorEnums;
1820#[doc = "<"]
1821pub const _spinSerialPortStopBitsEnums_SerialPortStopBits_Bits1: _spinSerialPortStopBitsEnums = 0;
1822#[doc = "<"]
1823pub const _spinSerialPortStopBitsEnums_SerialPortStopBits_Bits1AndAHalf:
1824    _spinSerialPortStopBitsEnums = 1;
1825#[doc = "<"]
1826pub const _spinSerialPortStopBitsEnums_SerialPortStopBits_Bits2: _spinSerialPortStopBitsEnums = 2;
1827pub const _spinSerialPortStopBitsEnums_NUM_SERIALPORTSTOPBITS: _spinSerialPortStopBitsEnums = 3;
1828pub type _spinSerialPortStopBitsEnums = ::std::os::raw::c_uint;
1829pub use self::_spinSerialPortStopBitsEnums as spinSerialPortStopBitsEnums;
1830#[doc = "<"]
1831pub const _spinSerialPortSourceEnums_SerialPortSource_Line0: _spinSerialPortSourceEnums = 0;
1832#[doc = "<"]
1833pub const _spinSerialPortSourceEnums_SerialPortSource_Line1: _spinSerialPortSourceEnums = 1;
1834#[doc = "<"]
1835pub const _spinSerialPortSourceEnums_SerialPortSource_Line2: _spinSerialPortSourceEnums = 2;
1836#[doc = "<"]
1837pub const _spinSerialPortSourceEnums_SerialPortSource_Line3: _spinSerialPortSourceEnums = 3;
1838#[doc = "<"]
1839pub const _spinSerialPortSourceEnums_SerialPortSource_Off: _spinSerialPortSourceEnums = 4;
1840pub const _spinSerialPortSourceEnums_NUM_SERIALPORTSOURCE: _spinSerialPortSourceEnums = 5;
1841pub type _spinSerialPortSourceEnums = ::std::os::raw::c_uint;
1842pub use self::_spinSerialPortSourceEnums as spinSerialPortSourceEnums;
1843#[doc = "<"]
1844pub const _spinSequencerModeEnums_SequencerMode_Off: _spinSequencerModeEnums = 0;
1845#[doc = "<"]
1846pub const _spinSequencerModeEnums_SequencerMode_On: _spinSequencerModeEnums = 1;
1847pub const _spinSequencerModeEnums_NUM_SEQUENCERMODE: _spinSequencerModeEnums = 2;
1848pub type _spinSequencerModeEnums = ::std::os::raw::c_uint;
1849pub use self::_spinSequencerModeEnums as spinSequencerModeEnums;
1850#[doc = "<"]
1851pub const _spinSequencerConfigurationValidEnums_SequencerConfigurationValid_No:
1852    _spinSequencerConfigurationValidEnums = 0;
1853#[doc = "<"]
1854pub const _spinSequencerConfigurationValidEnums_SequencerConfigurationValid_Yes:
1855    _spinSequencerConfigurationValidEnums = 1;
1856pub const _spinSequencerConfigurationValidEnums_NUM_SEQUENCERCONFIGURATIONVALID:
1857    _spinSequencerConfigurationValidEnums = 2;
1858pub type _spinSequencerConfigurationValidEnums = ::std::os::raw::c_uint;
1859pub use self::_spinSequencerConfigurationValidEnums as spinSequencerConfigurationValidEnums;
1860#[doc = "<"]
1861pub const _spinSequencerSetValidEnums_SequencerSetValid_No: _spinSequencerSetValidEnums = 0;
1862#[doc = "<"]
1863pub const _spinSequencerSetValidEnums_SequencerSetValid_Yes: _spinSequencerSetValidEnums = 1;
1864pub const _spinSequencerSetValidEnums_NUM_SEQUENCERSETVALID: _spinSequencerSetValidEnums = 2;
1865pub type _spinSequencerSetValidEnums = ::std::os::raw::c_uint;
1866pub use self::_spinSequencerSetValidEnums as spinSequencerSetValidEnums;
1867#[doc = "<"]
1868pub const _spinSequencerTriggerActivationEnums_SequencerTriggerActivation_RisingEdge:
1869    _spinSequencerTriggerActivationEnums = 0;
1870#[doc = "<"]
1871pub const _spinSequencerTriggerActivationEnums_SequencerTriggerActivation_FallingEdge:
1872    _spinSequencerTriggerActivationEnums = 1;
1873#[doc = "<"]
1874pub const _spinSequencerTriggerActivationEnums_SequencerTriggerActivation_AnyEdge:
1875    _spinSequencerTriggerActivationEnums = 2;
1876#[doc = "<"]
1877pub const _spinSequencerTriggerActivationEnums_SequencerTriggerActivation_LevelHigh:
1878    _spinSequencerTriggerActivationEnums = 3;
1879#[doc = "<"]
1880pub const _spinSequencerTriggerActivationEnums_SequencerTriggerActivation_LevelLow:
1881    _spinSequencerTriggerActivationEnums = 4;
1882pub const _spinSequencerTriggerActivationEnums_NUM_SEQUENCERTRIGGERACTIVATION:
1883    _spinSequencerTriggerActivationEnums = 5;
1884pub type _spinSequencerTriggerActivationEnums = ::std::os::raw::c_uint;
1885pub use self::_spinSequencerTriggerActivationEnums as spinSequencerTriggerActivationEnums;
1886#[doc = "<"]
1887pub const _spinSequencerConfigurationModeEnums_SequencerConfigurationMode_Off:
1888    _spinSequencerConfigurationModeEnums = 0;
1889#[doc = "<"]
1890pub const _spinSequencerConfigurationModeEnums_SequencerConfigurationMode_On:
1891    _spinSequencerConfigurationModeEnums = 1;
1892pub const _spinSequencerConfigurationModeEnums_NUM_SEQUENCERCONFIGURATIONMODE:
1893    _spinSequencerConfigurationModeEnums = 2;
1894pub type _spinSequencerConfigurationModeEnums = ::std::os::raw::c_uint;
1895pub use self::_spinSequencerConfigurationModeEnums as spinSequencerConfigurationModeEnums;
1896#[doc = "<"]
1897pub const _spinSequencerTriggerSourceEnums_SequencerTriggerSource_Off:
1898    _spinSequencerTriggerSourceEnums = 0;
1899#[doc = "<"]
1900pub const _spinSequencerTriggerSourceEnums_SequencerTriggerSource_FrameStart:
1901    _spinSequencerTriggerSourceEnums = 1;
1902pub const _spinSequencerTriggerSourceEnums_NUM_SEQUENCERTRIGGERSOURCE:
1903    _spinSequencerTriggerSourceEnums = 2;
1904pub type _spinSequencerTriggerSourceEnums = ::std::os::raw::c_uint;
1905pub use self::_spinSequencerTriggerSourceEnums as spinSequencerTriggerSourceEnums;
1906#[doc = "< Blocks first In are transferred Out first."]
1907pub const _spinTransferQueueModeEnums_TransferQueueMode_FirstInFirstOut:
1908    _spinTransferQueueModeEnums = 0;
1909pub const _spinTransferQueueModeEnums_NUM_TRANSFERQUEUEMODE: _spinTransferQueueModeEnums = 1;
1910pub type _spinTransferQueueModeEnums = ::std::os::raw::c_uint;
1911pub use self::_spinTransferQueueModeEnums as spinTransferQueueModeEnums;
1912#[doc = "< Continuous"]
1913pub const _spinTransferOperationModeEnums_TransferOperationMode_Continuous:
1914    _spinTransferOperationModeEnums = 0;
1915#[doc = "< Multi Block"]
1916pub const _spinTransferOperationModeEnums_TransferOperationMode_MultiBlock:
1917    _spinTransferOperationModeEnums = 1;
1918pub const _spinTransferOperationModeEnums_NUM_TRANSFEROPERATIONMODE:
1919    _spinTransferOperationModeEnums = 2;
1920pub type _spinTransferOperationModeEnums = ::std::os::raw::c_uint;
1921pub use self::_spinTransferOperationModeEnums as spinTransferOperationModeEnums;
1922#[doc = "< Basic"]
1923pub const _spinTransferControlModeEnums_TransferControlMode_Basic: _spinTransferControlModeEnums =
1924    0;
1925#[doc = "< Automatic"]
1926pub const _spinTransferControlModeEnums_TransferControlMode_Automatic:
1927    _spinTransferControlModeEnums = 1;
1928#[doc = "< User Controlled"]
1929pub const _spinTransferControlModeEnums_TransferControlMode_UserControlled:
1930    _spinTransferControlModeEnums = 2;
1931pub const _spinTransferControlModeEnums_NUM_TRANSFERCONTROLMODE: _spinTransferControlModeEnums = 3;
1932pub type _spinTransferControlModeEnums = ::std::os::raw::c_uint;
1933pub use self::_spinTransferControlModeEnums as spinTransferControlModeEnums;
1934#[doc = "<"]
1935pub const _spinChunkGainSelectorEnums_ChunkGainSelector_All: _spinChunkGainSelectorEnums = 0;
1936#[doc = "<"]
1937pub const _spinChunkGainSelectorEnums_ChunkGainSelector_Red: _spinChunkGainSelectorEnums = 1;
1938#[doc = "<"]
1939pub const _spinChunkGainSelectorEnums_ChunkGainSelector_Green: _spinChunkGainSelectorEnums = 2;
1940#[doc = "<"]
1941pub const _spinChunkGainSelectorEnums_ChunkGainSelector_Blue: _spinChunkGainSelectorEnums = 3;
1942pub const _spinChunkGainSelectorEnums_NUM_CHUNKGAINSELECTOR: _spinChunkGainSelectorEnums = 4;
1943pub type _spinChunkGainSelectorEnums = ::std::os::raw::c_uint;
1944pub use self::_spinChunkGainSelectorEnums as spinChunkGainSelectorEnums;
1945#[doc = "<"]
1946pub const _spinChunkSelectorEnums_ChunkSelector_Image: _spinChunkSelectorEnums = 0;
1947#[doc = "<"]
1948pub const _spinChunkSelectorEnums_ChunkSelector_CRC: _spinChunkSelectorEnums = 1;
1949#[doc = "<"]
1950pub const _spinChunkSelectorEnums_ChunkSelector_FrameID: _spinChunkSelectorEnums = 2;
1951#[doc = "<"]
1952pub const _spinChunkSelectorEnums_ChunkSelector_OffsetX: _spinChunkSelectorEnums = 3;
1953#[doc = "<"]
1954pub const _spinChunkSelectorEnums_ChunkSelector_OffsetY: _spinChunkSelectorEnums = 4;
1955#[doc = "<"]
1956pub const _spinChunkSelectorEnums_ChunkSelector_Width: _spinChunkSelectorEnums = 5;
1957#[doc = "<"]
1958pub const _spinChunkSelectorEnums_ChunkSelector_Height: _spinChunkSelectorEnums = 6;
1959#[doc = "<"]
1960pub const _spinChunkSelectorEnums_ChunkSelector_ExposureTime: _spinChunkSelectorEnums = 7;
1961#[doc = "<"]
1962pub const _spinChunkSelectorEnums_ChunkSelector_Gain: _spinChunkSelectorEnums = 8;
1963#[doc = "<"]
1964pub const _spinChunkSelectorEnums_ChunkSelector_BlackLevel: _spinChunkSelectorEnums = 9;
1965#[doc = "<"]
1966pub const _spinChunkSelectorEnums_ChunkSelector_PixelFormat: _spinChunkSelectorEnums = 10;
1967#[doc = "<"]
1968pub const _spinChunkSelectorEnums_ChunkSelector_Timestamp: _spinChunkSelectorEnums = 11;
1969#[doc = "<"]
1970pub const _spinChunkSelectorEnums_ChunkSelector_SequencerSetActive: _spinChunkSelectorEnums = 12;
1971#[doc = "<"]
1972pub const _spinChunkSelectorEnums_ChunkSelector_SerialData: _spinChunkSelectorEnums = 13;
1973#[doc = "<"]
1974pub const _spinChunkSelectorEnums_ChunkSelector_ExposureEndLineStatusAll: _spinChunkSelectorEnums =
1975    14;
1976pub const _spinChunkSelectorEnums_NUM_CHUNKSELECTOR: _spinChunkSelectorEnums = 15;
1977pub type _spinChunkSelectorEnums = ::std::os::raw::c_uint;
1978pub use self::_spinChunkSelectorEnums as spinChunkSelectorEnums;
1979#[doc = "<"]
1980pub const _spinChunkBlackLevelSelectorEnums_ChunkBlackLevelSelector_All:
1981    _spinChunkBlackLevelSelectorEnums = 0;
1982pub const _spinChunkBlackLevelSelectorEnums_NUM_CHUNKBLACKLEVELSELECTOR:
1983    _spinChunkBlackLevelSelectorEnums = 1;
1984pub type _spinChunkBlackLevelSelectorEnums = ::std::os::raw::c_uint;
1985pub use self::_spinChunkBlackLevelSelectorEnums as spinChunkBlackLevelSelectorEnums;
1986#[doc = "<"]
1987pub const _spinChunkPixelFormatEnums_ChunkPixelFormat_Mono8: _spinChunkPixelFormatEnums = 0;
1988#[doc = "<"]
1989pub const _spinChunkPixelFormatEnums_ChunkPixelFormat_Mono12Packed: _spinChunkPixelFormatEnums = 1;
1990#[doc = "<"]
1991pub const _spinChunkPixelFormatEnums_ChunkPixelFormat_Mono16: _spinChunkPixelFormatEnums = 2;
1992#[doc = "<"]
1993pub const _spinChunkPixelFormatEnums_ChunkPixelFormat_RGB8Packed: _spinChunkPixelFormatEnums = 3;
1994#[doc = "<"]
1995pub const _spinChunkPixelFormatEnums_ChunkPixelFormat_YUV422Packed: _spinChunkPixelFormatEnums = 4;
1996#[doc = "<"]
1997pub const _spinChunkPixelFormatEnums_ChunkPixelFormat_BayerGR8: _spinChunkPixelFormatEnums = 5;
1998#[doc = "<"]
1999pub const _spinChunkPixelFormatEnums_ChunkPixelFormat_BayerRG8: _spinChunkPixelFormatEnums = 6;
2000#[doc = "<"]
2001pub const _spinChunkPixelFormatEnums_ChunkPixelFormat_BayerGB8: _spinChunkPixelFormatEnums = 7;
2002#[doc = "<"]
2003pub const _spinChunkPixelFormatEnums_ChunkPixelFormat_BayerBG8: _spinChunkPixelFormatEnums = 8;
2004#[doc = "<"]
2005pub const _spinChunkPixelFormatEnums_ChunkPixelFormat_YCbCr601_422_8_CbYCrY:
2006    _spinChunkPixelFormatEnums = 9;
2007pub const _spinChunkPixelFormatEnums_NUM_CHUNKPIXELFORMAT: _spinChunkPixelFormatEnums = 10;
2008pub type _spinChunkPixelFormatEnums = ::std::os::raw::c_uint;
2009pub use self::_spinChunkPixelFormatEnums as spinChunkPixelFormatEnums;
2010#[doc = "< File Operation was sucessful."]
2011pub const _spinFileOperationStatusEnums_FileOperationStatus_Success: _spinFileOperationStatusEnums =
2012    0;
2013#[doc = "< File Operation failed."]
2014pub const _spinFileOperationStatusEnums_FileOperationStatus_Failure: _spinFileOperationStatusEnums =
2015    1;
2016#[doc = "< An overflow occurred while executing the File Operation."]
2017pub const _spinFileOperationStatusEnums_FileOperationStatus_Overflow:
2018    _spinFileOperationStatusEnums = 2;
2019pub const _spinFileOperationStatusEnums_NUM_FILEOPERATIONSTATUS: _spinFileOperationStatusEnums = 3;
2020pub type _spinFileOperationStatusEnums = ::std::os::raw::c_uint;
2021pub use self::_spinFileOperationStatusEnums as spinFileOperationStatusEnums;
2022#[doc = "<"]
2023pub const _spinFileOpenModeEnums_FileOpenMode_Read: _spinFileOpenModeEnums = 0;
2024#[doc = "<"]
2025pub const _spinFileOpenModeEnums_FileOpenMode_Write: _spinFileOpenModeEnums = 1;
2026#[doc = "<"]
2027pub const _spinFileOpenModeEnums_FileOpenMode_ReadWrite: _spinFileOpenModeEnums = 2;
2028pub const _spinFileOpenModeEnums_NUM_FILEOPENMODE: _spinFileOpenModeEnums = 3;
2029pub type _spinFileOpenModeEnums = ::std::os::raw::c_uint;
2030pub use self::_spinFileOpenModeEnums as spinFileOpenModeEnums;
2031#[doc = "<"]
2032pub const _spinFileOperationSelectorEnums_FileOperationSelector_Open:
2033    _spinFileOperationSelectorEnums = 0;
2034#[doc = "<"]
2035pub const _spinFileOperationSelectorEnums_FileOperationSelector_Close:
2036    _spinFileOperationSelectorEnums = 1;
2037#[doc = "<"]
2038pub const _spinFileOperationSelectorEnums_FileOperationSelector_Read:
2039    _spinFileOperationSelectorEnums = 2;
2040#[doc = "<"]
2041pub const _spinFileOperationSelectorEnums_FileOperationSelector_Write:
2042    _spinFileOperationSelectorEnums = 3;
2043#[doc = "<"]
2044pub const _spinFileOperationSelectorEnums_FileOperationSelector_Delete:
2045    _spinFileOperationSelectorEnums = 4;
2046pub const _spinFileOperationSelectorEnums_NUM_FILEOPERATIONSELECTOR:
2047    _spinFileOperationSelectorEnums = 5;
2048pub type _spinFileOperationSelectorEnums = ::std::os::raw::c_uint;
2049pub use self::_spinFileOperationSelectorEnums as spinFileOperationSelectorEnums;
2050#[doc = "<"]
2051pub const _spinFileSelectorEnums_FileSelector_UserSetDefault: _spinFileSelectorEnums = 0;
2052#[doc = "<"]
2053pub const _spinFileSelectorEnums_FileSelector_UserSet0: _spinFileSelectorEnums = 1;
2054#[doc = "<"]
2055pub const _spinFileSelectorEnums_FileSelector_UserSet1: _spinFileSelectorEnums = 2;
2056#[doc = "<"]
2057pub const _spinFileSelectorEnums_FileSelector_UserFile1: _spinFileSelectorEnums = 3;
2058#[doc = "<"]
2059pub const _spinFileSelectorEnums_FileSelector_SerialPort0: _spinFileSelectorEnums = 4;
2060pub const _spinFileSelectorEnums_NUM_FILESELECTOR: _spinFileSelectorEnums = 5;
2061pub type _spinFileSelectorEnums = ::std::os::raw::c_uint;
2062pub use self::_spinFileSelectorEnums as spinFileSelectorEnums;
2063#[doc = "<"]
2064#[doc = "The total amount of binning to be performed on the captured sensor data."]
2065pub const _spinBinningSelectorEnums_BinningSelector_All: _spinBinningSelectorEnums = 0;
2066#[doc = "<"]
2067#[doc = "The portion of binning to be performed on the sensor directly."]
2068pub const _spinBinningSelectorEnums_BinningSelector_Sensor: _spinBinningSelectorEnums = 1;
2069#[doc = "<"]
2070#[doc = "The portion of binning to be performed by the image signal processing"]
2071#[doc = "engine (ISP) outside of the sensor. Note: the ISP can be disabled."]
2072pub const _spinBinningSelectorEnums_BinningSelector_ISP: _spinBinningSelectorEnums = 2;
2073pub const _spinBinningSelectorEnums_NUM_BINNINGSELECTOR: _spinBinningSelectorEnums = 3;
2074pub type _spinBinningSelectorEnums = ::std::os::raw::c_uint;
2075pub use self::_spinBinningSelectorEnums as spinBinningSelectorEnums;
2076#[doc = "< TestPattern feature controls the sensor`s test pattern generator."]
2077pub const _spinTestPatternGeneratorSelectorEnums_TestPatternGeneratorSelector_Sensor:
2078    _spinTestPatternGeneratorSelectorEnums = 0;
2079#[doc = "< TestPattern feature controls the test pattern inserted at the start of the image pipeline."]
2080pub const _spinTestPatternGeneratorSelectorEnums_TestPatternGeneratorSelector_PipelineStart:
2081    _spinTestPatternGeneratorSelectorEnums = 1;
2082pub const _spinTestPatternGeneratorSelectorEnums_NUM_TESTPATTERNGENERATORSELECTOR:
2083    _spinTestPatternGeneratorSelectorEnums = 2;
2084pub type _spinTestPatternGeneratorSelectorEnums = ::std::os::raw::c_uint;
2085pub use self::_spinTestPatternGeneratorSelectorEnums as spinTestPatternGeneratorSelectorEnums;
2086#[doc = "< Frames which will cause the MaxDatarateThreshold to be exceeded will not be transmitted. Requires FrameRateEnable to be True"]
2087pub const _spinCompressionSaturationPriorityEnums_CompressionSaturationPriority_DropFrame:
2088    _spinCompressionSaturationPriorityEnums = 0;
2089#[doc = "< AcquisitionFrameRate is dynamically adjusted to the highest possible value without exceeding the MaxDatarateThreshold."]
2090pub const _spinCompressionSaturationPriorityEnums_CompressionSaturationPriority_ReduceFrameRate:
2091    _spinCompressionSaturationPriorityEnums = 1;
2092pub const _spinCompressionSaturationPriorityEnums_NUM_COMPRESSIONSATURATIONPRIORITY:
2093    _spinCompressionSaturationPriorityEnums = 2;
2094pub type _spinCompressionSaturationPriorityEnums = ::std::os::raw::c_uint;
2095pub use self::_spinCompressionSaturationPriorityEnums as spinCompressionSaturationPriorityEnums;
2096#[doc = "< Test pattern is disabled."]
2097pub const _spinTestPatternEnums_TestPattern_Off: _spinTestPatternEnums = 0;
2098#[doc = "< Pixel value increments by 1 for each pixel."]
2099pub const _spinTestPatternEnums_TestPattern_Increment: _spinTestPatternEnums = 1;
2100#[doc = "< A test pattern generated by the image sensor.  The pattern varies for different sensor models."]
2101pub const _spinTestPatternEnums_TestPattern_SensorTestPattern: _spinTestPatternEnums = 2;
2102pub const _spinTestPatternEnums_NUM_TESTPATTERN: _spinTestPatternEnums = 3;
2103pub type _spinTestPatternEnums = ::std::os::raw::c_uint;
2104pub use self::_spinTestPatternEnums as spinTestPatternEnums;
2105#[doc = "< No color filter."]
2106pub const _spinPixelColorFilterEnums_PixelColorFilter_None: _spinPixelColorFilterEnums = 0;
2107#[doc = "< Bayer Red Green filter."]
2108pub const _spinPixelColorFilterEnums_PixelColorFilter_BayerRG: _spinPixelColorFilterEnums = 1;
2109#[doc = "< Bayer Green Blue filter."]
2110pub const _spinPixelColorFilterEnums_PixelColorFilter_BayerGB: _spinPixelColorFilterEnums = 2;
2111#[doc = "< Bayer Green Red filter."]
2112pub const _spinPixelColorFilterEnums_PixelColorFilter_BayerGR: _spinPixelColorFilterEnums = 3;
2113#[doc = "< Bayer Blue Green filter."]
2114pub const _spinPixelColorFilterEnums_PixelColorFilter_BayerBG: _spinPixelColorFilterEnums = 4;
2115pub const _spinPixelColorFilterEnums_NUM_PIXELCOLORFILTER: _spinPixelColorFilterEnums = 5;
2116pub type _spinPixelColorFilterEnums = ::std::os::raw::c_uint;
2117pub use self::_spinPixelColorFilterEnums as spinPixelColorFilterEnums;
2118#[doc = "<"]
2119pub const _spinAdcBitDepthEnums_AdcBitDepth_Bit8: _spinAdcBitDepthEnums = 0;
2120#[doc = "<"]
2121pub const _spinAdcBitDepthEnums_AdcBitDepth_Bit10: _spinAdcBitDepthEnums = 1;
2122#[doc = "<"]
2123pub const _spinAdcBitDepthEnums_AdcBitDepth_Bit12: _spinAdcBitDepthEnums = 2;
2124#[doc = "<"]
2125pub const _spinAdcBitDepthEnums_AdcBitDepth_Bit14: _spinAdcBitDepthEnums = 3;
2126pub const _spinAdcBitDepthEnums_NUM_ADCBITDEPTH: _spinAdcBitDepthEnums = 4;
2127pub type _spinAdcBitDepthEnums = ::std::os::raw::c_uint;
2128pub use self::_spinAdcBitDepthEnums as spinAdcBitDepthEnums;
2129#[doc = "< The value of every Nth pixel is kept, others are discarded."]
2130pub const _spinDecimationHorizontalModeEnums_DecimationHorizontalMode_Discard:
2131    _spinDecimationHorizontalModeEnums = 0;
2132pub const _spinDecimationHorizontalModeEnums_NUM_DECIMATIONHORIZONTALMODE:
2133    _spinDecimationHorizontalModeEnums = 1;
2134pub type _spinDecimationHorizontalModeEnums = ::std::os::raw::c_uint;
2135pub use self::_spinDecimationHorizontalModeEnums as spinDecimationHorizontalModeEnums;
2136#[doc = "<"]
2137#[doc = "The response from the combined vertical cells is added, resulting"]
2138#[doc = "in increased sensitivity (a brighter image)."]
2139pub const _spinBinningVerticalModeEnums_BinningVerticalMode_Sum: _spinBinningVerticalModeEnums = 0;
2140#[doc = "<"]
2141#[doc = "The response from the combined vertical cells is averaged,"]
2142#[doc = "resulting in increased signal/noise ratio. Not all sensors support average binning."]
2143pub const _spinBinningVerticalModeEnums_BinningVerticalMode_Average: _spinBinningVerticalModeEnums =
2144    1;
2145pub const _spinBinningVerticalModeEnums_NUM_BINNINGVERTICALMODE: _spinBinningVerticalModeEnums = 2;
2146pub type _spinBinningVerticalModeEnums = ::std::os::raw::c_uint;
2147pub use self::_spinBinningVerticalModeEnums as spinBinningVerticalModeEnums;
2148#[doc = "< 1 bit per pixel."]
2149pub const _spinPixelSizeEnums_PixelSize_Bpp1: _spinPixelSizeEnums = 0;
2150#[doc = "< 2 bits per pixel."]
2151pub const _spinPixelSizeEnums_PixelSize_Bpp2: _spinPixelSizeEnums = 1;
2152#[doc = "< 4 bits per pixel."]
2153pub const _spinPixelSizeEnums_PixelSize_Bpp4: _spinPixelSizeEnums = 2;
2154#[doc = "< 8 bits per pixel."]
2155pub const _spinPixelSizeEnums_PixelSize_Bpp8: _spinPixelSizeEnums = 3;
2156#[doc = "< 10 bits per pixel."]
2157pub const _spinPixelSizeEnums_PixelSize_Bpp10: _spinPixelSizeEnums = 4;
2158#[doc = "< 12 bits per pixel."]
2159pub const _spinPixelSizeEnums_PixelSize_Bpp12: _spinPixelSizeEnums = 5;
2160#[doc = "< 14 bits per pixel."]
2161pub const _spinPixelSizeEnums_PixelSize_Bpp14: _spinPixelSizeEnums = 6;
2162#[doc = "< 16 bits per pixel."]
2163pub const _spinPixelSizeEnums_PixelSize_Bpp16: _spinPixelSizeEnums = 7;
2164#[doc = "< 20 bits per pixel."]
2165pub const _spinPixelSizeEnums_PixelSize_Bpp20: _spinPixelSizeEnums = 8;
2166#[doc = "< 24 bits per pixel."]
2167pub const _spinPixelSizeEnums_PixelSize_Bpp24: _spinPixelSizeEnums = 9;
2168#[doc = "< 30 bits per pixel."]
2169pub const _spinPixelSizeEnums_PixelSize_Bpp30: _spinPixelSizeEnums = 10;
2170#[doc = "< 32 bits per pixel."]
2171pub const _spinPixelSizeEnums_PixelSize_Bpp32: _spinPixelSizeEnums = 11;
2172#[doc = "< 36 bits per pixel."]
2173pub const _spinPixelSizeEnums_PixelSize_Bpp36: _spinPixelSizeEnums = 12;
2174#[doc = "< 48 bits per pixel."]
2175pub const _spinPixelSizeEnums_PixelSize_Bpp48: _spinPixelSizeEnums = 13;
2176#[doc = "< 64 bits per pixel."]
2177pub const _spinPixelSizeEnums_PixelSize_Bpp64: _spinPixelSizeEnums = 14;
2178#[doc = "< 96 bits per pixel."]
2179pub const _spinPixelSizeEnums_PixelSize_Bpp96: _spinPixelSizeEnums = 15;
2180pub const _spinPixelSizeEnums_NUM_PIXELSIZE: _spinPixelSizeEnums = 16;
2181pub type _spinPixelSizeEnums = ::std::os::raw::c_uint;
2182pub use self::_spinPixelSizeEnums as spinPixelSizeEnums;
2183#[doc = "< The total amount of decimation to be performed on the captured image data."]
2184pub const _spinDecimationSelectorEnums_DecimationSelector_All: _spinDecimationSelectorEnums = 0;
2185#[doc = "< The portion of decimation to be performed on the sensor directly. Currently this is the only decimation layer available and hence is identical to the \"All\" layer.  All decimation modification should therefore be done via the \"All\" layer only."]
2186pub const _spinDecimationSelectorEnums_DecimationSelector_Sensor: _spinDecimationSelectorEnums = 1;
2187pub const _spinDecimationSelectorEnums_NUM_DECIMATIONSELECTOR: _spinDecimationSelectorEnums = 2;
2188pub type _spinDecimationSelectorEnums = ::std::os::raw::c_uint;
2189pub use self::_spinDecimationSelectorEnums as spinDecimationSelectorEnums;
2190#[doc = "<"]
2191pub const _spinImageCompressionModeEnums_ImageCompressionMode_Off: _spinImageCompressionModeEnums =
2192    0;
2193#[doc = "<"]
2194pub const _spinImageCompressionModeEnums_ImageCompressionMode_Lossless:
2195    _spinImageCompressionModeEnums = 1;
2196pub const _spinImageCompressionModeEnums_NUM_IMAGECOMPRESSIONMODE: _spinImageCompressionModeEnums =
2197    2;
2198pub type _spinImageCompressionModeEnums = ::std::os::raw::c_uint;
2199pub use self::_spinImageCompressionModeEnums as spinImageCompressionModeEnums;
2200#[doc = "<"]
2201#[doc = "The response from the combined horizontal cells is added,"]
2202#[doc = "resulting in increased sensitivity (a brighter image)."]
2203pub const _spinBinningHorizontalModeEnums_BinningHorizontalMode_Sum:
2204    _spinBinningHorizontalModeEnums = 0;
2205#[doc = "<"]
2206#[doc = "The response from the combined horizontal cells is averaged,"]
2207#[doc = "resulting in increased signal/noise ratio. Not all sensors support average binning."]
2208pub const _spinBinningHorizontalModeEnums_BinningHorizontalMode_Average:
2209    _spinBinningHorizontalModeEnums = 1;
2210pub const _spinBinningHorizontalModeEnums_NUM_BINNINGHORIZONTALMODE:
2211    _spinBinningHorizontalModeEnums = 2;
2212pub type _spinBinningHorizontalModeEnums = ::std::os::raw::c_uint;
2213pub use self::_spinBinningHorizontalModeEnums as spinBinningHorizontalModeEnums;
2214#[doc = "<"]
2215pub const _spinPixelFormatEnums_PixelFormat_Mono8: _spinPixelFormatEnums = 0;
2216#[doc = "<"]
2217pub const _spinPixelFormatEnums_PixelFormat_Mono16: _spinPixelFormatEnums = 1;
2218#[doc = "<"]
2219pub const _spinPixelFormatEnums_PixelFormat_RGB8Packed: _spinPixelFormatEnums = 2;
2220#[doc = "<"]
2221pub const _spinPixelFormatEnums_PixelFormat_BayerGR8: _spinPixelFormatEnums = 3;
2222#[doc = "<"]
2223pub const _spinPixelFormatEnums_PixelFormat_BayerRG8: _spinPixelFormatEnums = 4;
2224#[doc = "<"]
2225pub const _spinPixelFormatEnums_PixelFormat_BayerGB8: _spinPixelFormatEnums = 5;
2226#[doc = "<"]
2227pub const _spinPixelFormatEnums_PixelFormat_BayerBG8: _spinPixelFormatEnums = 6;
2228#[doc = "<"]
2229pub const _spinPixelFormatEnums_PixelFormat_BayerGR16: _spinPixelFormatEnums = 7;
2230#[doc = "<"]
2231pub const _spinPixelFormatEnums_PixelFormat_BayerRG16: _spinPixelFormatEnums = 8;
2232#[doc = "<"]
2233pub const _spinPixelFormatEnums_PixelFormat_BayerGB16: _spinPixelFormatEnums = 9;
2234#[doc = "<"]
2235pub const _spinPixelFormatEnums_PixelFormat_BayerBG16: _spinPixelFormatEnums = 10;
2236#[doc = "<"]
2237pub const _spinPixelFormatEnums_PixelFormat_Mono12Packed: _spinPixelFormatEnums = 11;
2238#[doc = "<"]
2239pub const _spinPixelFormatEnums_PixelFormat_BayerGR12Packed: _spinPixelFormatEnums = 12;
2240#[doc = "<"]
2241pub const _spinPixelFormatEnums_PixelFormat_BayerRG12Packed: _spinPixelFormatEnums = 13;
2242#[doc = "<"]
2243pub const _spinPixelFormatEnums_PixelFormat_BayerGB12Packed: _spinPixelFormatEnums = 14;
2244#[doc = "<"]
2245pub const _spinPixelFormatEnums_PixelFormat_BayerBG12Packed: _spinPixelFormatEnums = 15;
2246#[doc = "<"]
2247pub const _spinPixelFormatEnums_PixelFormat_YUV411Packed: _spinPixelFormatEnums = 16;
2248#[doc = "<"]
2249pub const _spinPixelFormatEnums_PixelFormat_YUV422Packed: _spinPixelFormatEnums = 17;
2250#[doc = "<"]
2251pub const _spinPixelFormatEnums_PixelFormat_YUV444Packed: _spinPixelFormatEnums = 18;
2252#[doc = "<"]
2253pub const _spinPixelFormatEnums_PixelFormat_Mono12p: _spinPixelFormatEnums = 19;
2254#[doc = "<"]
2255pub const _spinPixelFormatEnums_PixelFormat_BayerGR12p: _spinPixelFormatEnums = 20;
2256#[doc = "<"]
2257pub const _spinPixelFormatEnums_PixelFormat_BayerRG12p: _spinPixelFormatEnums = 21;
2258#[doc = "<"]
2259pub const _spinPixelFormatEnums_PixelFormat_BayerGB12p: _spinPixelFormatEnums = 22;
2260#[doc = "<"]
2261pub const _spinPixelFormatEnums_PixelFormat_BayerBG12p: _spinPixelFormatEnums = 23;
2262#[doc = "<"]
2263pub const _spinPixelFormatEnums_PixelFormat_YCbCr8: _spinPixelFormatEnums = 24;
2264#[doc = "<"]
2265pub const _spinPixelFormatEnums_PixelFormat_YCbCr422_8: _spinPixelFormatEnums = 25;
2266#[doc = "<"]
2267pub const _spinPixelFormatEnums_PixelFormat_YCbCr411_8: _spinPixelFormatEnums = 26;
2268#[doc = "<"]
2269pub const _spinPixelFormatEnums_PixelFormat_BGR8: _spinPixelFormatEnums = 27;
2270#[doc = "<"]
2271pub const _spinPixelFormatEnums_PixelFormat_BGRa8: _spinPixelFormatEnums = 28;
2272#[doc = "<"]
2273pub const _spinPixelFormatEnums_PixelFormat_Mono10Packed: _spinPixelFormatEnums = 29;
2274#[doc = "<"]
2275pub const _spinPixelFormatEnums_PixelFormat_BayerGR10Packed: _spinPixelFormatEnums = 30;
2276#[doc = "<"]
2277pub const _spinPixelFormatEnums_PixelFormat_BayerRG10Packed: _spinPixelFormatEnums = 31;
2278#[doc = "<"]
2279pub const _spinPixelFormatEnums_PixelFormat_BayerGB10Packed: _spinPixelFormatEnums = 32;
2280#[doc = "<"]
2281pub const _spinPixelFormatEnums_PixelFormat_BayerBG10Packed: _spinPixelFormatEnums = 33;
2282#[doc = "<"]
2283pub const _spinPixelFormatEnums_PixelFormat_Mono10p: _spinPixelFormatEnums = 34;
2284#[doc = "<"]
2285pub const _spinPixelFormatEnums_PixelFormat_BayerGR10p: _spinPixelFormatEnums = 35;
2286#[doc = "<"]
2287pub const _spinPixelFormatEnums_PixelFormat_BayerRG10p: _spinPixelFormatEnums = 36;
2288#[doc = "<"]
2289pub const _spinPixelFormatEnums_PixelFormat_BayerGB10p: _spinPixelFormatEnums = 37;
2290#[doc = "<"]
2291pub const _spinPixelFormatEnums_PixelFormat_BayerBG10p: _spinPixelFormatEnums = 38;
2292#[doc = "< Monochrome 1-bit packed"]
2293pub const _spinPixelFormatEnums_PixelFormat_Mono1p: _spinPixelFormatEnums = 39;
2294#[doc = "< Monochrome 2-bit packed"]
2295pub const _spinPixelFormatEnums_PixelFormat_Mono2p: _spinPixelFormatEnums = 40;
2296#[doc = "< Monochrome 4-bit packed"]
2297pub const _spinPixelFormatEnums_PixelFormat_Mono4p: _spinPixelFormatEnums = 41;
2298#[doc = "< Monochrome 8-bit signed"]
2299pub const _spinPixelFormatEnums_PixelFormat_Mono8s: _spinPixelFormatEnums = 42;
2300#[doc = "< Monochrome 10-bit unpacked"]
2301pub const _spinPixelFormatEnums_PixelFormat_Mono10: _spinPixelFormatEnums = 43;
2302#[doc = "< Monochrome 12-bit unpacked"]
2303pub const _spinPixelFormatEnums_PixelFormat_Mono12: _spinPixelFormatEnums = 44;
2304#[doc = "< Monochrome 14-bit unpacked"]
2305pub const _spinPixelFormatEnums_PixelFormat_Mono14: _spinPixelFormatEnums = 45;
2306#[doc = "< Monochrome 16-bit signed"]
2307pub const _spinPixelFormatEnums_PixelFormat_Mono16s: _spinPixelFormatEnums = 46;
2308#[doc = "< Monochrome 32-bit float"]
2309pub const _spinPixelFormatEnums_PixelFormat_Mono32f: _spinPixelFormatEnums = 47;
2310#[doc = "< Bayer Blue-Green 10-bit unpacked"]
2311pub const _spinPixelFormatEnums_PixelFormat_BayerBG10: _spinPixelFormatEnums = 48;
2312#[doc = "< Bayer Blue-Green 12-bit unpacked"]
2313pub const _spinPixelFormatEnums_PixelFormat_BayerBG12: _spinPixelFormatEnums = 49;
2314#[doc = "< Bayer Green-Blue 10-bit unpacked"]
2315pub const _spinPixelFormatEnums_PixelFormat_BayerGB10: _spinPixelFormatEnums = 50;
2316#[doc = "< Bayer Green-Blue 12-bit unpacked"]
2317pub const _spinPixelFormatEnums_PixelFormat_BayerGB12: _spinPixelFormatEnums = 51;
2318#[doc = "< Bayer Green-Red 10-bit unpacked"]
2319pub const _spinPixelFormatEnums_PixelFormat_BayerGR10: _spinPixelFormatEnums = 52;
2320#[doc = "< Bayer Green-Red 12-bit unpacked"]
2321pub const _spinPixelFormatEnums_PixelFormat_BayerGR12: _spinPixelFormatEnums = 53;
2322#[doc = "< Bayer Red-Green 10-bit unpacked"]
2323pub const _spinPixelFormatEnums_PixelFormat_BayerRG10: _spinPixelFormatEnums = 54;
2324#[doc = "< Bayer Red-Green 12-bit unpacked"]
2325pub const _spinPixelFormatEnums_PixelFormat_BayerRG12: _spinPixelFormatEnums = 55;
2326#[doc = "< Red-Green-Blue-alpha 8-bit"]
2327pub const _spinPixelFormatEnums_PixelFormat_RGBa8: _spinPixelFormatEnums = 56;
2328#[doc = "< Red-Green-Blue-alpha 10-bit unpacked"]
2329pub const _spinPixelFormatEnums_PixelFormat_RGBa10: _spinPixelFormatEnums = 57;
2330#[doc = "< Red-Green-Blue-alpha 10-bit packed"]
2331pub const _spinPixelFormatEnums_PixelFormat_RGBa10p: _spinPixelFormatEnums = 58;
2332#[doc = "< Red-Green-Blue-alpha 12-bit unpacked"]
2333pub const _spinPixelFormatEnums_PixelFormat_RGBa12: _spinPixelFormatEnums = 59;
2334#[doc = "< Red-Green-Blue-alpha 12-bit packed"]
2335pub const _spinPixelFormatEnums_PixelFormat_RGBa12p: _spinPixelFormatEnums = 60;
2336#[doc = "< Red-Green-Blue-alpha 14-bit unpacked"]
2337pub const _spinPixelFormatEnums_PixelFormat_RGBa14: _spinPixelFormatEnums = 61;
2338#[doc = "< Red-Green-Blue-alpha 16-bit"]
2339pub const _spinPixelFormatEnums_PixelFormat_RGBa16: _spinPixelFormatEnums = 62;
2340#[doc = "< Red-Green-Blue 8-bit"]
2341pub const _spinPixelFormatEnums_PixelFormat_RGB8: _spinPixelFormatEnums = 63;
2342#[doc = "< Red-Green-Blue 8-bit planar"]
2343pub const _spinPixelFormatEnums_PixelFormat_RGB8_Planar: _spinPixelFormatEnums = 64;
2344#[doc = "< Red-Green-Blue 10-bit unpacked"]
2345pub const _spinPixelFormatEnums_PixelFormat_RGB10: _spinPixelFormatEnums = 65;
2346#[doc = "< Red-Green-Blue 10-bit unpacked planar"]
2347pub const _spinPixelFormatEnums_PixelFormat_RGB10_Planar: _spinPixelFormatEnums = 66;
2348#[doc = "< Red-Green-Blue 10-bit packed"]
2349pub const _spinPixelFormatEnums_PixelFormat_RGB10p: _spinPixelFormatEnums = 67;
2350#[doc = "< Red-Green-Blue 10-bit packed into 32-bit"]
2351pub const _spinPixelFormatEnums_PixelFormat_RGB10p32: _spinPixelFormatEnums = 68;
2352#[doc = "< Red-Green-Blue 12-bit unpacked"]
2353pub const _spinPixelFormatEnums_PixelFormat_RGB12: _spinPixelFormatEnums = 69;
2354#[doc = "< Red-Green-Blue 12-bit unpacked planar"]
2355pub const _spinPixelFormatEnums_PixelFormat_RGB12_Planar: _spinPixelFormatEnums = 70;
2356#[doc = "< Red-Green-Blue 12-bit packed"]
2357pub const _spinPixelFormatEnums_PixelFormat_RGB12p: _spinPixelFormatEnums = 71;
2358#[doc = "< Red-Green-Blue 14-bit unpacked"]
2359pub const _spinPixelFormatEnums_PixelFormat_RGB14: _spinPixelFormatEnums = 72;
2360#[doc = "< Red-Green-Blue 16-bit"]
2361pub const _spinPixelFormatEnums_PixelFormat_RGB16: _spinPixelFormatEnums = 73;
2362#[doc = "< Red-Green-Blue 16-bit signed"]
2363pub const _spinPixelFormatEnums_PixelFormat_RGB16s: _spinPixelFormatEnums = 74;
2364#[doc = "< Red-Green-Blue 32-bit float"]
2365pub const _spinPixelFormatEnums_PixelFormat_RGB32f: _spinPixelFormatEnums = 75;
2366#[doc = "< Red-Green-Blue 16-bit planar"]
2367pub const _spinPixelFormatEnums_PixelFormat_RGB16_Planar: _spinPixelFormatEnums = 76;
2368#[doc = "< Red-Green-Blue 5/6/5-bit packed"]
2369pub const _spinPixelFormatEnums_PixelFormat_RGB565p: _spinPixelFormatEnums = 77;
2370#[doc = "< Blue-Green-Red-alpha 10-bit unpacked"]
2371pub const _spinPixelFormatEnums_PixelFormat_BGRa10: _spinPixelFormatEnums = 78;
2372#[doc = "< Blue-Green-Red-alpha 10-bit packed"]
2373pub const _spinPixelFormatEnums_PixelFormat_BGRa10p: _spinPixelFormatEnums = 79;
2374#[doc = "< Blue-Green-Red-alpha 12-bit unpacked"]
2375pub const _spinPixelFormatEnums_PixelFormat_BGRa12: _spinPixelFormatEnums = 80;
2376#[doc = "< Blue-Green-Red-alpha 12-bit packed"]
2377pub const _spinPixelFormatEnums_PixelFormat_BGRa12p: _spinPixelFormatEnums = 81;
2378#[doc = "< Blue-Green-Red-alpha 14-bit unpacked"]
2379pub const _spinPixelFormatEnums_PixelFormat_BGRa14: _spinPixelFormatEnums = 82;
2380#[doc = "< Blue-Green-Red-alpha 16-bit"]
2381pub const _spinPixelFormatEnums_PixelFormat_BGRa16: _spinPixelFormatEnums = 83;
2382#[doc = "< Red-Green-Blue-alpha 32-bit float"]
2383pub const _spinPixelFormatEnums_PixelFormat_RGBa32f: _spinPixelFormatEnums = 84;
2384#[doc = "< Blue-Green-Red 10-bit unpacked"]
2385pub const _spinPixelFormatEnums_PixelFormat_BGR10: _spinPixelFormatEnums = 85;
2386#[doc = "< Blue-Green-Red 10-bit packed"]
2387pub const _spinPixelFormatEnums_PixelFormat_BGR10p: _spinPixelFormatEnums = 86;
2388#[doc = "< Blue-Green-Red 12-bit unpacked"]
2389pub const _spinPixelFormatEnums_PixelFormat_BGR12: _spinPixelFormatEnums = 87;
2390#[doc = "< Blue-Green-Red 12-bit packed"]
2391pub const _spinPixelFormatEnums_PixelFormat_BGR12p: _spinPixelFormatEnums = 88;
2392#[doc = "< Blue-Green-Red 14-bit unpacked"]
2393pub const _spinPixelFormatEnums_PixelFormat_BGR14: _spinPixelFormatEnums = 89;
2394#[doc = "< Blue-Green-Red 16-bit"]
2395pub const _spinPixelFormatEnums_PixelFormat_BGR16: _spinPixelFormatEnums = 90;
2396#[doc = "< Blue-Green-Red 5/6/5-bit packed"]
2397pub const _spinPixelFormatEnums_PixelFormat_BGR565p: _spinPixelFormatEnums = 91;
2398#[doc = "< Red 8-bit"]
2399pub const _spinPixelFormatEnums_PixelFormat_R8: _spinPixelFormatEnums = 92;
2400#[doc = "< Red 10-bit"]
2401pub const _spinPixelFormatEnums_PixelFormat_R10: _spinPixelFormatEnums = 93;
2402#[doc = "< Red 12-bit"]
2403pub const _spinPixelFormatEnums_PixelFormat_R12: _spinPixelFormatEnums = 94;
2404#[doc = "< Red 16-bit"]
2405pub const _spinPixelFormatEnums_PixelFormat_R16: _spinPixelFormatEnums = 95;
2406#[doc = "< Green 8-bit"]
2407pub const _spinPixelFormatEnums_PixelFormat_G8: _spinPixelFormatEnums = 96;
2408#[doc = "< Green 10-bit"]
2409pub const _spinPixelFormatEnums_PixelFormat_G10: _spinPixelFormatEnums = 97;
2410#[doc = "< Green 12-bit"]
2411pub const _spinPixelFormatEnums_PixelFormat_G12: _spinPixelFormatEnums = 98;
2412#[doc = "< Green 16-bit"]
2413pub const _spinPixelFormatEnums_PixelFormat_G16: _spinPixelFormatEnums = 99;
2414#[doc = "< Blue 8-bit"]
2415pub const _spinPixelFormatEnums_PixelFormat_B8: _spinPixelFormatEnums = 100;
2416#[doc = "< Blue 10-bit"]
2417pub const _spinPixelFormatEnums_PixelFormat_B10: _spinPixelFormatEnums = 101;
2418#[doc = "< Blue 12-bit"]
2419pub const _spinPixelFormatEnums_PixelFormat_B12: _spinPixelFormatEnums = 102;
2420#[doc = "< Blue 16-bit"]
2421pub const _spinPixelFormatEnums_PixelFormat_B16: _spinPixelFormatEnums = 103;
2422#[doc = "< 3D coordinate A-B-C 8-bit"]
2423pub const _spinPixelFormatEnums_PixelFormat_Coord3D_ABC8: _spinPixelFormatEnums = 104;
2424#[doc = "< 3D coordinate A-B-C 8-bit planar"]
2425pub const _spinPixelFormatEnums_PixelFormat_Coord3D_ABC8_Planar: _spinPixelFormatEnums = 105;
2426#[doc = "< 3D coordinate A-B-C 10-bit packed"]
2427pub const _spinPixelFormatEnums_PixelFormat_Coord3D_ABC10p: _spinPixelFormatEnums = 106;
2428#[doc = "< 3D coordinate A-B-C 10-bit packed planar"]
2429pub const _spinPixelFormatEnums_PixelFormat_Coord3D_ABC10p_Planar: _spinPixelFormatEnums = 107;
2430#[doc = "< 3D coordinate A-B-C 12-bit packed"]
2431pub const _spinPixelFormatEnums_PixelFormat_Coord3D_ABC12p: _spinPixelFormatEnums = 108;
2432#[doc = "< 3D coordinate A-B-C 12-bit packed planar"]
2433pub const _spinPixelFormatEnums_PixelFormat_Coord3D_ABC12p_Planar: _spinPixelFormatEnums = 109;
2434#[doc = "< 3D coordinate A-B-C 16-bit"]
2435pub const _spinPixelFormatEnums_PixelFormat_Coord3D_ABC16: _spinPixelFormatEnums = 110;
2436#[doc = "< 3D coordinate A-B-C 16-bit planar"]
2437pub const _spinPixelFormatEnums_PixelFormat_Coord3D_ABC16_Planar: _spinPixelFormatEnums = 111;
2438#[doc = "< 3D coordinate A-B-C 32-bit floating point"]
2439pub const _spinPixelFormatEnums_PixelFormat_Coord3D_ABC32f: _spinPixelFormatEnums = 112;
2440#[doc = "< 3D coordinate A-B-C 32-bit floating point planar"]
2441pub const _spinPixelFormatEnums_PixelFormat_Coord3D_ABC32f_Planar: _spinPixelFormatEnums = 113;
2442#[doc = "< 3D coordinate A-C 8-bit"]
2443pub const _spinPixelFormatEnums_PixelFormat_Coord3D_AC8: _spinPixelFormatEnums = 114;
2444#[doc = "< 3D coordinate A-C 8-bit planar"]
2445pub const _spinPixelFormatEnums_PixelFormat_Coord3D_AC8_Planar: _spinPixelFormatEnums = 115;
2446#[doc = "< 3D coordinate A-C 10-bit packed"]
2447pub const _spinPixelFormatEnums_PixelFormat_Coord3D_AC10p: _spinPixelFormatEnums = 116;
2448#[doc = "< 3D coordinate A-C 10-bit packed planar"]
2449pub const _spinPixelFormatEnums_PixelFormat_Coord3D_AC10p_Planar: _spinPixelFormatEnums = 117;
2450#[doc = "< 3D coordinate A-C 12-bit packed"]
2451pub const _spinPixelFormatEnums_PixelFormat_Coord3D_AC12p: _spinPixelFormatEnums = 118;
2452#[doc = "< 3D coordinate A-C 12-bit packed planar"]
2453pub const _spinPixelFormatEnums_PixelFormat_Coord3D_AC12p_Planar: _spinPixelFormatEnums = 119;
2454#[doc = "< 3D coordinate A-C 16-bit"]
2455pub const _spinPixelFormatEnums_PixelFormat_Coord3D_AC16: _spinPixelFormatEnums = 120;
2456#[doc = "< 3D coordinate A-C 16-bit planar"]
2457pub const _spinPixelFormatEnums_PixelFormat_Coord3D_AC16_Planar: _spinPixelFormatEnums = 121;
2458#[doc = "< 3D coordinate A-C 32-bit floating point"]
2459pub const _spinPixelFormatEnums_PixelFormat_Coord3D_AC32f: _spinPixelFormatEnums = 122;
2460#[doc = "< 3D coordinate A-C 32-bit floating point planar"]
2461pub const _spinPixelFormatEnums_PixelFormat_Coord3D_AC32f_Planar: _spinPixelFormatEnums = 123;
2462#[doc = "< 3D coordinate A 8-bit"]
2463pub const _spinPixelFormatEnums_PixelFormat_Coord3D_A8: _spinPixelFormatEnums = 124;
2464#[doc = "< 3D coordinate A 10-bit packed"]
2465pub const _spinPixelFormatEnums_PixelFormat_Coord3D_A10p: _spinPixelFormatEnums = 125;
2466#[doc = "< 3D coordinate A 12-bit packed"]
2467pub const _spinPixelFormatEnums_PixelFormat_Coord3D_A12p: _spinPixelFormatEnums = 126;
2468#[doc = "< 3D coordinate A 16-bit"]
2469pub const _spinPixelFormatEnums_PixelFormat_Coord3D_A16: _spinPixelFormatEnums = 127;
2470#[doc = "< 3D coordinate A 32-bit floating point"]
2471pub const _spinPixelFormatEnums_PixelFormat_Coord3D_A32f: _spinPixelFormatEnums = 128;
2472#[doc = "< 3D coordinate B 8-bit"]
2473pub const _spinPixelFormatEnums_PixelFormat_Coord3D_B8: _spinPixelFormatEnums = 129;
2474#[doc = "< 3D coordinate B 10-bit packed"]
2475pub const _spinPixelFormatEnums_PixelFormat_Coord3D_B10p: _spinPixelFormatEnums = 130;
2476#[doc = "< 3D coordinate B 12-bit packed"]
2477pub const _spinPixelFormatEnums_PixelFormat_Coord3D_B12p: _spinPixelFormatEnums = 131;
2478#[doc = "< 3D coordinate B 16-bit"]
2479pub const _spinPixelFormatEnums_PixelFormat_Coord3D_B16: _spinPixelFormatEnums = 132;
2480#[doc = "< 3D coordinate B 32-bit floating point"]
2481pub const _spinPixelFormatEnums_PixelFormat_Coord3D_B32f: _spinPixelFormatEnums = 133;
2482#[doc = "< 3D coordinate C 8-bit"]
2483pub const _spinPixelFormatEnums_PixelFormat_Coord3D_C8: _spinPixelFormatEnums = 134;
2484#[doc = "< 3D coordinate C 10-bit packed"]
2485pub const _spinPixelFormatEnums_PixelFormat_Coord3D_C10p: _spinPixelFormatEnums = 135;
2486#[doc = "< 3D coordinate C 12-bit packed"]
2487pub const _spinPixelFormatEnums_PixelFormat_Coord3D_C12p: _spinPixelFormatEnums = 136;
2488#[doc = "< 3D coordinate C 16-bit"]
2489pub const _spinPixelFormatEnums_PixelFormat_Coord3D_C16: _spinPixelFormatEnums = 137;
2490#[doc = "< 3D coordinate C 32-bit floating point"]
2491pub const _spinPixelFormatEnums_PixelFormat_Coord3D_C32f: _spinPixelFormatEnums = 138;
2492#[doc = "< Confidence 1-bit unpacked"]
2493pub const _spinPixelFormatEnums_PixelFormat_Confidence1: _spinPixelFormatEnums = 139;
2494#[doc = "< Confidence 1-bit packed"]
2495pub const _spinPixelFormatEnums_PixelFormat_Confidence1p: _spinPixelFormatEnums = 140;
2496#[doc = "< Confidence 8-bit"]
2497pub const _spinPixelFormatEnums_PixelFormat_Confidence8: _spinPixelFormatEnums = 141;
2498#[doc = "< Confidence 16-bit"]
2499pub const _spinPixelFormatEnums_PixelFormat_Confidence16: _spinPixelFormatEnums = 142;
2500#[doc = "< Confidence 32-bit floating point"]
2501pub const _spinPixelFormatEnums_PixelFormat_Confidence32f: _spinPixelFormatEnums = 143;
2502#[doc = "< Bi-color Blue/Green - Red/Green 8-bit"]
2503pub const _spinPixelFormatEnums_PixelFormat_BiColorBGRG8: _spinPixelFormatEnums = 144;
2504#[doc = "< Bi-color Blue/Green - Red/Green 10-bit unpacked"]
2505pub const _spinPixelFormatEnums_PixelFormat_BiColorBGRG10: _spinPixelFormatEnums = 145;
2506#[doc = "< Bi-color Blue/Green - Red/Green 10-bit packed"]
2507pub const _spinPixelFormatEnums_PixelFormat_BiColorBGRG10p: _spinPixelFormatEnums = 146;
2508#[doc = "< Bi-color Blue/Green - Red/Green 12-bit unpacked"]
2509pub const _spinPixelFormatEnums_PixelFormat_BiColorBGRG12: _spinPixelFormatEnums = 147;
2510#[doc = "< Bi-color Blue/Green - Red/Green 12-bit packed"]
2511pub const _spinPixelFormatEnums_PixelFormat_BiColorBGRG12p: _spinPixelFormatEnums = 148;
2512#[doc = "< Bi-color Red/Green - Blue/Green 8-bit"]
2513pub const _spinPixelFormatEnums_PixelFormat_BiColorRGBG8: _spinPixelFormatEnums = 149;
2514#[doc = "< Bi-color Red/Green - Blue/Green 10-bit unpacked"]
2515pub const _spinPixelFormatEnums_PixelFormat_BiColorRGBG10: _spinPixelFormatEnums = 150;
2516#[doc = "< Bi-color Red/Green - Blue/Green 10-bit packed"]
2517pub const _spinPixelFormatEnums_PixelFormat_BiColorRGBG10p: _spinPixelFormatEnums = 151;
2518#[doc = "< Bi-color Red/Green - Blue/Green 12-bit unpacked"]
2519pub const _spinPixelFormatEnums_PixelFormat_BiColorRGBG12: _spinPixelFormatEnums = 152;
2520#[doc = "< Bi-color Red/Green - Blue/Green 12-bit packed"]
2521pub const _spinPixelFormatEnums_PixelFormat_BiColorRGBG12p: _spinPixelFormatEnums = 153;
2522#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 8-bit"]
2523pub const _spinPixelFormatEnums_PixelFormat_SCF1WBWG8: _spinPixelFormatEnums = 154;
2524#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 10-bit unpacked"]
2525pub const _spinPixelFormatEnums_PixelFormat_SCF1WBWG10: _spinPixelFormatEnums = 155;
2526#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 10-bit packed"]
2527pub const _spinPixelFormatEnums_PixelFormat_SCF1WBWG10p: _spinPixelFormatEnums = 156;
2528#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 12-bit unpacked"]
2529pub const _spinPixelFormatEnums_PixelFormat_SCF1WBWG12: _spinPixelFormatEnums = 157;
2530#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 12-bit packed"]
2531pub const _spinPixelFormatEnums_PixelFormat_SCF1WBWG12p: _spinPixelFormatEnums = 158;
2532#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 14-bit unpacked"]
2533pub const _spinPixelFormatEnums_PixelFormat_SCF1WBWG14: _spinPixelFormatEnums = 159;
2534#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 16-bit unpacked"]
2535pub const _spinPixelFormatEnums_PixelFormat_SCF1WBWG16: _spinPixelFormatEnums = 160;
2536#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 8-bit"]
2537pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWB8: _spinPixelFormatEnums = 161;
2538#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 10-bit unpacked"]
2539pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWB10: _spinPixelFormatEnums = 162;
2540#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 10-bit packed"]
2541pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWB10p: _spinPixelFormatEnums = 163;
2542#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 12-bit unpacked"]
2543pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWB12: _spinPixelFormatEnums = 164;
2544#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 12-bit packed"]
2545pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWB12p: _spinPixelFormatEnums = 165;
2546#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 14-bit unpacked"]
2547pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWB14: _spinPixelFormatEnums = 166;
2548#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 16-bit"]
2549pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWB16: _spinPixelFormatEnums = 167;
2550#[doc = "< Sparse Color Filter #1 White-Green-White-Red 8-bit"]
2551pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWR8: _spinPixelFormatEnums = 168;
2552#[doc = "< Sparse Color Filter #1 White-Green-White-Red 10-bit unpacked"]
2553pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWR10: _spinPixelFormatEnums = 169;
2554#[doc = "< Sparse Color Filter #1 White-Green-White-Red 10-bit packed"]
2555pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWR10p: _spinPixelFormatEnums = 170;
2556#[doc = "< Sparse Color Filter #1 White-Green-White-Red 12-bit unpacked"]
2557pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWR12: _spinPixelFormatEnums = 171;
2558#[doc = "< Sparse Color Filter #1 White-Green-White-Red 12-bit packed"]
2559pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWR12p: _spinPixelFormatEnums = 172;
2560#[doc = "< Sparse Color Filter #1 White-Green-White-Red 14-bit unpacked"]
2561pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWR14: _spinPixelFormatEnums = 173;
2562#[doc = "< Sparse Color Filter #1 White-Green-White-Red 16-bit"]
2563pub const _spinPixelFormatEnums_PixelFormat_SCF1WGWR16: _spinPixelFormatEnums = 174;
2564#[doc = "< Sparse Color Filter #1 White-Red-White-Green 8-bit"]
2565pub const _spinPixelFormatEnums_PixelFormat_SCF1WRWG8: _spinPixelFormatEnums = 175;
2566#[doc = "< Sparse Color Filter #1 White-Red-White-Green 10-bit unpacked"]
2567pub const _spinPixelFormatEnums_PixelFormat_SCF1WRWG10: _spinPixelFormatEnums = 176;
2568#[doc = "< Sparse Color Filter #1 White-Red-White-Green 10-bit packed"]
2569pub const _spinPixelFormatEnums_PixelFormat_SCF1WRWG10p: _spinPixelFormatEnums = 177;
2570#[doc = "< Sparse Color Filter #1 White-Red-White-Green 12-bit unpacked"]
2571pub const _spinPixelFormatEnums_PixelFormat_SCF1WRWG12: _spinPixelFormatEnums = 178;
2572#[doc = "< Sparse Color Filter #1 White-Red-White-Green 12-bit packed"]
2573pub const _spinPixelFormatEnums_PixelFormat_SCF1WRWG12p: _spinPixelFormatEnums = 179;
2574#[doc = "< Sparse Color Filter #1 White-Red-White-Green 14-bit unpacked"]
2575pub const _spinPixelFormatEnums_PixelFormat_SCF1WRWG14: _spinPixelFormatEnums = 180;
2576#[doc = "< Sparse Color Filter #1 White-Red-White-Green 16-bit"]
2577pub const _spinPixelFormatEnums_PixelFormat_SCF1WRWG16: _spinPixelFormatEnums = 181;
2578#[doc = "< YCbCr 4:4:4 8-bit"]
2579pub const _spinPixelFormatEnums_PixelFormat_YCbCr8_CbYCr: _spinPixelFormatEnums = 182;
2580#[doc = "< YCbCr 4:4:4 10-bit unpacked"]
2581pub const _spinPixelFormatEnums_PixelFormat_YCbCr10_CbYCr: _spinPixelFormatEnums = 183;
2582#[doc = "< YCbCr 4:4:4 10-bit packed"]
2583pub const _spinPixelFormatEnums_PixelFormat_YCbCr10p_CbYCr: _spinPixelFormatEnums = 184;
2584#[doc = "< YCbCr 4:4:4 12-bit unpacked"]
2585pub const _spinPixelFormatEnums_PixelFormat_YCbCr12_CbYCr: _spinPixelFormatEnums = 185;
2586#[doc = "< YCbCr 4:4:4 12-bit packed"]
2587pub const _spinPixelFormatEnums_PixelFormat_YCbCr12p_CbYCr: _spinPixelFormatEnums = 186;
2588#[doc = "< YCbCr 4:1:1 8-bit"]
2589pub const _spinPixelFormatEnums_PixelFormat_YCbCr411_8_CbYYCrYY: _spinPixelFormatEnums = 187;
2590#[doc = "< YCbCr 4:2:2 8-bit"]
2591pub const _spinPixelFormatEnums_PixelFormat_YCbCr422_8_CbYCrY: _spinPixelFormatEnums = 188;
2592#[doc = "< YCbCr 4:2:2 10-bit unpacked"]
2593pub const _spinPixelFormatEnums_PixelFormat_YCbCr422_10: _spinPixelFormatEnums = 189;
2594#[doc = "< YCbCr 4:2:2 10-bit unpacked"]
2595pub const _spinPixelFormatEnums_PixelFormat_YCbCr422_10_CbYCrY: _spinPixelFormatEnums = 190;
2596#[doc = "< YCbCr 4:2:2 10-bit packed"]
2597pub const _spinPixelFormatEnums_PixelFormat_YCbCr422_10p: _spinPixelFormatEnums = 191;
2598#[doc = "< YCbCr 4:2:2 10-bit packed"]
2599pub const _spinPixelFormatEnums_PixelFormat_YCbCr422_10p_CbYCrY: _spinPixelFormatEnums = 192;
2600#[doc = "< YCbCr 4:2:2 12-bit unpacked"]
2601pub const _spinPixelFormatEnums_PixelFormat_YCbCr422_12: _spinPixelFormatEnums = 193;
2602#[doc = "< YCbCr 4:2:2 12-bit unpacked"]
2603pub const _spinPixelFormatEnums_PixelFormat_YCbCr422_12_CbYCrY: _spinPixelFormatEnums = 194;
2604#[doc = "< YCbCr 4:2:2 12-bit packed"]
2605pub const _spinPixelFormatEnums_PixelFormat_YCbCr422_12p: _spinPixelFormatEnums = 195;
2606#[doc = "< YCbCr 4:2:2 12-bit packed"]
2607pub const _spinPixelFormatEnums_PixelFormat_YCbCr422_12p_CbYCrY: _spinPixelFormatEnums = 196;
2608#[doc = "< YCbCr 4:4:4 8-bit BT.601"]
2609pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_8_CbYCr: _spinPixelFormatEnums = 197;
2610#[doc = "< YCbCr 4:4:4 10-bit unpacked BT.601"]
2611pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_10_CbYCr: _spinPixelFormatEnums = 198;
2612#[doc = "< YCbCr 4:4:4 10-bit packed BT.601"]
2613pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_10p_CbYCr: _spinPixelFormatEnums = 199;
2614#[doc = "< YCbCr 4:4:4 12-bit unpacked BT.601"]
2615pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_12_CbYCr: _spinPixelFormatEnums = 200;
2616#[doc = "< YCbCr 4:4:4 12-bit packed BT.601"]
2617pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_12p_CbYCr: _spinPixelFormatEnums = 201;
2618#[doc = "< YCbCr 4:1:1 8-bit BT.601"]
2619pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_411_8_CbYYCrYY: _spinPixelFormatEnums = 202;
2620#[doc = "< YCbCr 4:2:2 8-bit BT.601"]
2621pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_422_8: _spinPixelFormatEnums = 203;
2622#[doc = "< YCbCr 4:2:2 8-bit BT.601"]
2623pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_422_8_CbYCrY: _spinPixelFormatEnums = 204;
2624#[doc = "< YCbCr 4:2:2 10-bit unpacked BT.601"]
2625pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_422_10: _spinPixelFormatEnums = 205;
2626#[doc = "< YCbCr 4:2:2 10-bit unpacked BT.601"]
2627pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_422_10_CbYCrY: _spinPixelFormatEnums = 206;
2628#[doc = "< YCbCr 4:2:2 10-bit packed BT.601"]
2629pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_422_10p: _spinPixelFormatEnums = 207;
2630#[doc = "< YCbCr 4:2:2 10-bit packed BT.601"]
2631pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_422_10p_CbYCrY: _spinPixelFormatEnums = 208;
2632#[doc = "< YCbCr 4:2:2 12-bit unpacked BT.601"]
2633pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_422_12: _spinPixelFormatEnums = 209;
2634#[doc = "< YCbCr 4:2:2 12-bit unpacked BT.601"]
2635pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_422_12_CbYCrY: _spinPixelFormatEnums = 210;
2636#[doc = "< YCbCr 4:2:2 12-bit packed BT.601"]
2637pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_422_12p: _spinPixelFormatEnums = 211;
2638#[doc = "< YCbCr 4:2:2 12-bit packed BT.601"]
2639pub const _spinPixelFormatEnums_PixelFormat_YCbCr601_422_12p_CbYCrY: _spinPixelFormatEnums = 212;
2640#[doc = "< YCbCr 4:4:4 8-bit BT.709"]
2641pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_8_CbYCr: _spinPixelFormatEnums = 213;
2642#[doc = "< YCbCr 4:4:4 10-bit unpacked BT.709"]
2643pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_10_CbYCr: _spinPixelFormatEnums = 214;
2644#[doc = "< YCbCr 4:4:4 10-bit packed BT.709"]
2645pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_10p_CbYCr: _spinPixelFormatEnums = 215;
2646#[doc = "< YCbCr 4:4:4 12-bit unpacked BT.709"]
2647pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_12_CbYCr: _spinPixelFormatEnums = 216;
2648#[doc = "< YCbCr 4:4:4 12-bit packed BT.709"]
2649pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_12p_CbYCr: _spinPixelFormatEnums = 217;
2650#[doc = "< YCbCr 4:1:1 8-bit BT.709"]
2651pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_411_8_CbYYCrYY: _spinPixelFormatEnums = 218;
2652#[doc = "< YCbCr 4:2:2 8-bit BT.709"]
2653pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_422_8: _spinPixelFormatEnums = 219;
2654#[doc = "< YCbCr 4:2:2 8-bit BT.709"]
2655pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_422_8_CbYCrY: _spinPixelFormatEnums = 220;
2656#[doc = "< YCbCr 4:2:2 10-bit unpacked BT.709"]
2657pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_422_10: _spinPixelFormatEnums = 221;
2658#[doc = "< YCbCr 4:2:2 10-bit unpacked BT.709"]
2659pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_422_10_CbYCrY: _spinPixelFormatEnums = 222;
2660#[doc = "< YCbCr 4:2:2 10-bit packed BT.709"]
2661pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_422_10p: _spinPixelFormatEnums = 223;
2662#[doc = "< YCbCr 4:2:2 10-bit packed BT.709"]
2663pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_422_10p_CbYCrY: _spinPixelFormatEnums = 224;
2664#[doc = "< YCbCr 4:2:2 12-bit unpacked BT.709"]
2665pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_422_12: _spinPixelFormatEnums = 225;
2666#[doc = "< YCbCr 4:2:2 12-bit unpacked BT.709"]
2667pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_422_12_CbYCrY: _spinPixelFormatEnums = 226;
2668#[doc = "< YCbCr 4:2:2 12-bit packed BT.709"]
2669pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_422_12p: _spinPixelFormatEnums = 227;
2670#[doc = "< YCbCr 4:2:2 12-bit packed BT.709"]
2671pub const _spinPixelFormatEnums_PixelFormat_YCbCr709_422_12p_CbYCrY: _spinPixelFormatEnums = 228;
2672#[doc = "< YUV 4:4:4 8-bit"]
2673pub const _spinPixelFormatEnums_PixelFormat_YUV8_UYV: _spinPixelFormatEnums = 229;
2674#[doc = "< YUV 4:1:1 8-bit"]
2675pub const _spinPixelFormatEnums_PixelFormat_YUV411_8_UYYVYY: _spinPixelFormatEnums = 230;
2676#[doc = "< YUV 4:2:2 8-bit"]
2677pub const _spinPixelFormatEnums_PixelFormat_YUV422_8: _spinPixelFormatEnums = 231;
2678#[doc = "< YUV 4:2:2 8-bit"]
2679pub const _spinPixelFormatEnums_PixelFormat_YUV422_8_UYVY: _spinPixelFormatEnums = 232;
2680#[doc = "< Monochrome Polarized 8-bit"]
2681pub const _spinPixelFormatEnums_PixelFormat_Polarized8: _spinPixelFormatEnums = 233;
2682#[doc = "< Monochrome Polarized 10-bit packed"]
2683pub const _spinPixelFormatEnums_PixelFormat_Polarized10p: _spinPixelFormatEnums = 234;
2684#[doc = "< Monochrome Polarized 12-bit packed"]
2685pub const _spinPixelFormatEnums_PixelFormat_Polarized12p: _spinPixelFormatEnums = 235;
2686#[doc = "< Monochrome Polarized 16-bit"]
2687pub const _spinPixelFormatEnums_PixelFormat_Polarized16: _spinPixelFormatEnums = 236;
2688#[doc = "< Polarized Bayer Red Green filter 8-bit"]
2689pub const _spinPixelFormatEnums_PixelFormat_BayerRGPolarized8: _spinPixelFormatEnums = 237;
2690#[doc = "< Polarized Bayer Red Green filter 10-bit packed"]
2691pub const _spinPixelFormatEnums_PixelFormat_BayerRGPolarized10p: _spinPixelFormatEnums = 238;
2692#[doc = "< Polarized Bayer Red Green filter 12-bit packed"]
2693pub const _spinPixelFormatEnums_PixelFormat_BayerRGPolarized12p: _spinPixelFormatEnums = 239;
2694#[doc = "< Polarized Bayer Red Green filter 16-bit"]
2695pub const _spinPixelFormatEnums_PixelFormat_BayerRGPolarized16: _spinPixelFormatEnums = 240;
2696#[doc = "< Lossless Compression Monochrome 8-bit"]
2697pub const _spinPixelFormatEnums_PixelFormat_LLCMono8: _spinPixelFormatEnums = 241;
2698#[doc = "< Lossless Compression Bayer Red Green filter 8-bit"]
2699pub const _spinPixelFormatEnums_PixelFormat_LLCBayerRG8: _spinPixelFormatEnums = 242;
2700#[doc = "< JPEG Monochrome 8-bit"]
2701pub const _spinPixelFormatEnums_PixelFormat_JPEGMono8: _spinPixelFormatEnums = 243;
2702#[doc = "< JPEG Color 8-bit"]
2703pub const _spinPixelFormatEnums_PixelFormat_JPEGColor8: _spinPixelFormatEnums = 244;
2704#[doc = "< Raw 16 bit."]
2705pub const _spinPixelFormatEnums_PixelFormat_Raw16: _spinPixelFormatEnums = 245;
2706#[doc = "< Raw bit."]
2707pub const _spinPixelFormatEnums_PixelFormat_Raw8: _spinPixelFormatEnums = 246;
2708#[doc = "< Red 12-bit JPEG."]
2709pub const _spinPixelFormatEnums_PixelFormat_R12_Jpeg: _spinPixelFormatEnums = 247;
2710#[doc = "< Green Red 12-bit JPEG."]
2711pub const _spinPixelFormatEnums_PixelFormat_GR12_Jpeg: _spinPixelFormatEnums = 248;
2712#[doc = "< Green Blue 12-bit JPEG."]
2713pub const _spinPixelFormatEnums_PixelFormat_GB12_Jpeg: _spinPixelFormatEnums = 249;
2714#[doc = "< Blue 12-bit packed JPEG."]
2715pub const _spinPixelFormatEnums_PixelFormat_B12_Jpeg: _spinPixelFormatEnums = 250;
2716pub const _spinPixelFormatEnums_UNKNOWN_PIXELFORMAT: _spinPixelFormatEnums = 251;
2717pub const _spinPixelFormatEnums_NUM_PIXELFORMAT: _spinPixelFormatEnums = 252;
2718pub type _spinPixelFormatEnums = ::std::os::raw::c_uint;
2719pub use self::_spinPixelFormatEnums as spinPixelFormatEnums;
2720#[doc = "< The value of every Nth pixel is kept, others are discarded."]
2721pub const _spinDecimationVerticalModeEnums_DecimationVerticalMode_Discard:
2722    _spinDecimationVerticalModeEnums = 0;
2723pub const _spinDecimationVerticalModeEnums_NUM_DECIMATIONVERTICALMODE:
2724    _spinDecimationVerticalModeEnums = 1;
2725pub type _spinDecimationVerticalModeEnums = ::std::os::raw::c_uint;
2726pub use self::_spinDecimationVerticalModeEnums as spinDecimationVerticalModeEnums;
2727#[doc = "<"]
2728pub const _spinLineModeEnums_LineMode_Input: _spinLineModeEnums = 0;
2729#[doc = "<"]
2730pub const _spinLineModeEnums_LineMode_Output: _spinLineModeEnums = 1;
2731pub const _spinLineModeEnums_NUM_LINEMODE: _spinLineModeEnums = 2;
2732pub type _spinLineModeEnums = ::std::os::raw::c_uint;
2733pub use self::_spinLineModeEnums as spinLineModeEnums;
2734#[doc = "<"]
2735pub const _spinLineSourceEnums_LineSource_Off: _spinLineSourceEnums = 0;
2736#[doc = "<"]
2737pub const _spinLineSourceEnums_LineSource_Line0: _spinLineSourceEnums = 1;
2738#[doc = "<"]
2739pub const _spinLineSourceEnums_LineSource_Line1: _spinLineSourceEnums = 2;
2740#[doc = "<"]
2741pub const _spinLineSourceEnums_LineSource_Line2: _spinLineSourceEnums = 3;
2742#[doc = "<"]
2743pub const _spinLineSourceEnums_LineSource_Line3: _spinLineSourceEnums = 4;
2744#[doc = "<"]
2745pub const _spinLineSourceEnums_LineSource_UserOutput0: _spinLineSourceEnums = 5;
2746#[doc = "<"]
2747pub const _spinLineSourceEnums_LineSource_UserOutput1: _spinLineSourceEnums = 6;
2748#[doc = "<"]
2749pub const _spinLineSourceEnums_LineSource_UserOutput2: _spinLineSourceEnums = 7;
2750#[doc = "<"]
2751pub const _spinLineSourceEnums_LineSource_UserOutput3: _spinLineSourceEnums = 8;
2752#[doc = "<"]
2753pub const _spinLineSourceEnums_LineSource_Counter0Active: _spinLineSourceEnums = 9;
2754#[doc = "<"]
2755pub const _spinLineSourceEnums_LineSource_Counter1Active: _spinLineSourceEnums = 10;
2756#[doc = "<"]
2757pub const _spinLineSourceEnums_LineSource_LogicBlock0: _spinLineSourceEnums = 11;
2758#[doc = "<"]
2759pub const _spinLineSourceEnums_LineSource_LogicBlock1: _spinLineSourceEnums = 12;
2760#[doc = "<"]
2761pub const _spinLineSourceEnums_LineSource_ExposureActive: _spinLineSourceEnums = 13;
2762#[doc = "<"]
2763pub const _spinLineSourceEnums_LineSource_FrameTriggerWait: _spinLineSourceEnums = 14;
2764#[doc = "<"]
2765pub const _spinLineSourceEnums_LineSource_SerialPort0: _spinLineSourceEnums = 15;
2766#[doc = "<"]
2767pub const _spinLineSourceEnums_LineSource_PPSSignal: _spinLineSourceEnums = 16;
2768#[doc = "<"]
2769pub const _spinLineSourceEnums_LineSource_AllPixel: _spinLineSourceEnums = 17;
2770#[doc = "<"]
2771pub const _spinLineSourceEnums_LineSource_AnyPixel: _spinLineSourceEnums = 18;
2772pub const _spinLineSourceEnums_NUM_LINESOURCE: _spinLineSourceEnums = 19;
2773pub type _spinLineSourceEnums = ::std::os::raw::c_uint;
2774pub use self::_spinLineSourceEnums as spinLineSourceEnums;
2775#[doc = "<"]
2776pub const _spinLineInputFilterSelectorEnums_LineInputFilterSelector_Deglitch:
2777    _spinLineInputFilterSelectorEnums = 0;
2778#[doc = "<"]
2779pub const _spinLineInputFilterSelectorEnums_LineInputFilterSelector_Debounce:
2780    _spinLineInputFilterSelectorEnums = 1;
2781pub const _spinLineInputFilterSelectorEnums_NUM_LINEINPUTFILTERSELECTOR:
2782    _spinLineInputFilterSelectorEnums = 2;
2783pub type _spinLineInputFilterSelectorEnums = ::std::os::raw::c_uint;
2784pub use self::_spinLineInputFilterSelectorEnums as spinLineInputFilterSelectorEnums;
2785#[doc = "<"]
2786pub const _spinUserOutputSelectorEnums_UserOutputSelector_UserOutput0:
2787    _spinUserOutputSelectorEnums = 0;
2788#[doc = "<"]
2789pub const _spinUserOutputSelectorEnums_UserOutputSelector_UserOutput1:
2790    _spinUserOutputSelectorEnums = 1;
2791#[doc = "<"]
2792pub const _spinUserOutputSelectorEnums_UserOutputSelector_UserOutput2:
2793    _spinUserOutputSelectorEnums = 2;
2794#[doc = "<"]
2795pub const _spinUserOutputSelectorEnums_UserOutputSelector_UserOutput3:
2796    _spinUserOutputSelectorEnums = 3;
2797pub const _spinUserOutputSelectorEnums_NUM_USEROUTPUTSELECTOR: _spinUserOutputSelectorEnums = 4;
2798pub type _spinUserOutputSelectorEnums = ::std::os::raw::c_uint;
2799pub use self::_spinUserOutputSelectorEnums as spinUserOutputSelectorEnums;
2800#[doc = "<"]
2801pub const _spinLineFormatEnums_LineFormat_NoConnect: _spinLineFormatEnums = 0;
2802#[doc = "<"]
2803pub const _spinLineFormatEnums_LineFormat_TriState: _spinLineFormatEnums = 1;
2804#[doc = "<"]
2805pub const _spinLineFormatEnums_LineFormat_TTL: _spinLineFormatEnums = 2;
2806#[doc = "<"]
2807pub const _spinLineFormatEnums_LineFormat_LVDS: _spinLineFormatEnums = 3;
2808#[doc = "<"]
2809pub const _spinLineFormatEnums_LineFormat_RS422: _spinLineFormatEnums = 4;
2810#[doc = "<"]
2811pub const _spinLineFormatEnums_LineFormat_OptoCoupled: _spinLineFormatEnums = 5;
2812#[doc = "<"]
2813pub const _spinLineFormatEnums_LineFormat_OpenDrain: _spinLineFormatEnums = 6;
2814pub const _spinLineFormatEnums_NUM_LINEFORMAT: _spinLineFormatEnums = 7;
2815pub type _spinLineFormatEnums = ::std::os::raw::c_uint;
2816pub use self::_spinLineFormatEnums as spinLineFormatEnums;
2817#[doc = "<"]
2818pub const _spinLineSelectorEnums_LineSelector_Line0: _spinLineSelectorEnums = 0;
2819#[doc = "<"]
2820pub const _spinLineSelectorEnums_LineSelector_Line1: _spinLineSelectorEnums = 1;
2821#[doc = "<"]
2822pub const _spinLineSelectorEnums_LineSelector_Line2: _spinLineSelectorEnums = 2;
2823#[doc = "<"]
2824pub const _spinLineSelectorEnums_LineSelector_Line3: _spinLineSelectorEnums = 3;
2825pub const _spinLineSelectorEnums_NUM_LINESELECTOR: _spinLineSelectorEnums = 4;
2826pub type _spinLineSelectorEnums = ::std::os::raw::c_uint;
2827pub use self::_spinLineSelectorEnums as spinLineSelectorEnums;
2828#[doc = "<"]
2829pub const _spinExposureActiveModeEnums_ExposureActiveMode_Line1: _spinExposureActiveModeEnums = 0;
2830#[doc = "<"]
2831pub const _spinExposureActiveModeEnums_ExposureActiveMode_AnyPixels: _spinExposureActiveModeEnums =
2832    1;
2833#[doc = "<"]
2834pub const _spinExposureActiveModeEnums_ExposureActiveMode_AllPixels: _spinExposureActiveModeEnums =
2835    2;
2836pub const _spinExposureActiveModeEnums_NUM_EXPOSUREACTIVEMODE: _spinExposureActiveModeEnums = 3;
2837pub type _spinExposureActiveModeEnums = ::std::os::raw::c_uint;
2838pub use self::_spinExposureActiveModeEnums as spinExposureActiveModeEnums;
2839#[doc = "<"]
2840pub const _spinCounterTriggerActivationEnums_CounterTriggerActivation_LevelLow:
2841    _spinCounterTriggerActivationEnums = 0;
2842#[doc = "<"]
2843pub const _spinCounterTriggerActivationEnums_CounterTriggerActivation_LevelHigh:
2844    _spinCounterTriggerActivationEnums = 1;
2845#[doc = "<"]
2846pub const _spinCounterTriggerActivationEnums_CounterTriggerActivation_FallingEdge:
2847    _spinCounterTriggerActivationEnums = 2;
2848#[doc = "<"]
2849pub const _spinCounterTriggerActivationEnums_CounterTriggerActivation_RisingEdge:
2850    _spinCounterTriggerActivationEnums = 3;
2851#[doc = "<"]
2852pub const _spinCounterTriggerActivationEnums_CounterTriggerActivation_AnyEdge:
2853    _spinCounterTriggerActivationEnums = 4;
2854pub const _spinCounterTriggerActivationEnums_NUM_COUNTERTRIGGERACTIVATION:
2855    _spinCounterTriggerActivationEnums = 5;
2856pub type _spinCounterTriggerActivationEnums = ::std::os::raw::c_uint;
2857pub use self::_spinCounterTriggerActivationEnums as spinCounterTriggerActivationEnums;
2858#[doc = "<"]
2859pub const _spinCounterSelectorEnums_CounterSelector_Counter0: _spinCounterSelectorEnums = 0;
2860#[doc = "<"]
2861pub const _spinCounterSelectorEnums_CounterSelector_Counter1: _spinCounterSelectorEnums = 1;
2862pub const _spinCounterSelectorEnums_NUM_COUNTERSELECTOR: _spinCounterSelectorEnums = 2;
2863pub type _spinCounterSelectorEnums = ::std::os::raw::c_uint;
2864pub use self::_spinCounterSelectorEnums as spinCounterSelectorEnums;
2865#[doc = "< The counter is idle."]
2866pub const _spinCounterStatusEnums_CounterStatus_CounterIdle: _spinCounterStatusEnums = 0;
2867#[doc = "< The counter is waiting for a start trigger."]
2868pub const _spinCounterStatusEnums_CounterStatus_CounterTriggerWait: _spinCounterStatusEnums = 1;
2869#[doc = "< The counter is counting for the specified duration."]
2870pub const _spinCounterStatusEnums_CounterStatus_CounterActive: _spinCounterStatusEnums = 2;
2871#[doc = "< The counter reached the CounterDuration count."]
2872pub const _spinCounterStatusEnums_CounterStatus_CounterCompleted: _spinCounterStatusEnums = 3;
2873#[doc = "< The counter reached its maximum possible count."]
2874pub const _spinCounterStatusEnums_CounterStatus_CounterOverflow: _spinCounterStatusEnums = 4;
2875pub const _spinCounterStatusEnums_NUM_COUNTERSTATUS: _spinCounterStatusEnums = 5;
2876pub type _spinCounterStatusEnums = ::std::os::raw::c_uint;
2877pub use self::_spinCounterStatusEnums as spinCounterStatusEnums;
2878#[doc = "< Off"]
2879pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_Off: _spinCounterTriggerSourceEnums =
2880    0;
2881#[doc = "< Line0"]
2882pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_Line0:
2883    _spinCounterTriggerSourceEnums = 1;
2884#[doc = "< Line1"]
2885pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_Line1:
2886    _spinCounterTriggerSourceEnums = 2;
2887#[doc = "< Line2"]
2888pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_Line2:
2889    _spinCounterTriggerSourceEnums = 3;
2890#[doc = "< Line3"]
2891pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_Line3:
2892    _spinCounterTriggerSourceEnums = 4;
2893#[doc = "< UserOutput0"]
2894pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_UserOutput0:
2895    _spinCounterTriggerSourceEnums = 5;
2896#[doc = "< UserOutput1"]
2897pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_UserOutput1:
2898    _spinCounterTriggerSourceEnums = 6;
2899#[doc = "< UserOutput2"]
2900pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_UserOutput2:
2901    _spinCounterTriggerSourceEnums = 7;
2902#[doc = "< UserOutput3"]
2903pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_UserOutput3:
2904    _spinCounterTriggerSourceEnums = 8;
2905#[doc = "< Counter0Start"]
2906pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_Counter0Start:
2907    _spinCounterTriggerSourceEnums = 9;
2908#[doc = "< Counter1Start"]
2909pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_Counter1Start:
2910    _spinCounterTriggerSourceEnums = 10;
2911#[doc = "< Counter0End"]
2912pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_Counter0End:
2913    _spinCounterTriggerSourceEnums = 11;
2914#[doc = "< Counter1End"]
2915pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_Counter1End:
2916    _spinCounterTriggerSourceEnums = 12;
2917#[doc = "< LogicBlock0"]
2918pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_LogicBlock0:
2919    _spinCounterTriggerSourceEnums = 13;
2920#[doc = "< LogicBlock1"]
2921pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_LogicBlock1:
2922    _spinCounterTriggerSourceEnums = 14;
2923#[doc = "< ExposureStart"]
2924pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_ExposureStart:
2925    _spinCounterTriggerSourceEnums = 15;
2926#[doc = "< ExposureEnd"]
2927pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_ExposureEnd:
2928    _spinCounterTriggerSourceEnums = 16;
2929#[doc = "< FrameTriggerWait"]
2930pub const _spinCounterTriggerSourceEnums_CounterTriggerSource_FrameTriggerWait:
2931    _spinCounterTriggerSourceEnums = 17;
2932pub const _spinCounterTriggerSourceEnums_NUM_COUNTERTRIGGERSOURCE: _spinCounterTriggerSourceEnums =
2933    18;
2934pub type _spinCounterTriggerSourceEnums = ::std::os::raw::c_uint;
2935pub use self::_spinCounterTriggerSourceEnums as spinCounterTriggerSourceEnums;
2936#[doc = "< Off"]
2937pub const _spinCounterResetSourceEnums_CounterResetSource_Off: _spinCounterResetSourceEnums = 0;
2938#[doc = "< Line0"]
2939pub const _spinCounterResetSourceEnums_CounterResetSource_Line0: _spinCounterResetSourceEnums = 1;
2940#[doc = "< Line1"]
2941pub const _spinCounterResetSourceEnums_CounterResetSource_Line1: _spinCounterResetSourceEnums = 2;
2942#[doc = "< Line2"]
2943pub const _spinCounterResetSourceEnums_CounterResetSource_Line2: _spinCounterResetSourceEnums = 3;
2944#[doc = "< Line3"]
2945pub const _spinCounterResetSourceEnums_CounterResetSource_Line3: _spinCounterResetSourceEnums = 4;
2946#[doc = "< UserOutput0"]
2947pub const _spinCounterResetSourceEnums_CounterResetSource_UserOutput0:
2948    _spinCounterResetSourceEnums = 5;
2949#[doc = "< UserOutput1"]
2950pub const _spinCounterResetSourceEnums_CounterResetSource_UserOutput1:
2951    _spinCounterResetSourceEnums = 6;
2952#[doc = "< UserOutput2"]
2953pub const _spinCounterResetSourceEnums_CounterResetSource_UserOutput2:
2954    _spinCounterResetSourceEnums = 7;
2955#[doc = "< UserOutput3"]
2956pub const _spinCounterResetSourceEnums_CounterResetSource_UserOutput3:
2957    _spinCounterResetSourceEnums = 8;
2958#[doc = "< Counter0Start"]
2959pub const _spinCounterResetSourceEnums_CounterResetSource_Counter0Start:
2960    _spinCounterResetSourceEnums = 9;
2961#[doc = "< Counter1Start"]
2962pub const _spinCounterResetSourceEnums_CounterResetSource_Counter1Start:
2963    _spinCounterResetSourceEnums = 10;
2964#[doc = "< Counter0End"]
2965pub const _spinCounterResetSourceEnums_CounterResetSource_Counter0End:
2966    _spinCounterResetSourceEnums = 11;
2967#[doc = "< Counter1End"]
2968pub const _spinCounterResetSourceEnums_CounterResetSource_Counter1End:
2969    _spinCounterResetSourceEnums = 12;
2970#[doc = "< LogicBlock0"]
2971pub const _spinCounterResetSourceEnums_CounterResetSource_LogicBlock0:
2972    _spinCounterResetSourceEnums = 13;
2973#[doc = "< LogicBlock1"]
2974pub const _spinCounterResetSourceEnums_CounterResetSource_LogicBlock1:
2975    _spinCounterResetSourceEnums = 14;
2976#[doc = "< ExposureStart"]
2977pub const _spinCounterResetSourceEnums_CounterResetSource_ExposureStart:
2978    _spinCounterResetSourceEnums = 15;
2979#[doc = "< ExposureEnd"]
2980pub const _spinCounterResetSourceEnums_CounterResetSource_ExposureEnd:
2981    _spinCounterResetSourceEnums = 16;
2982#[doc = "< FrameTriggerWait"]
2983pub const _spinCounterResetSourceEnums_CounterResetSource_FrameTriggerWait:
2984    _spinCounterResetSourceEnums = 17;
2985pub const _spinCounterResetSourceEnums_NUM_COUNTERRESETSOURCE: _spinCounterResetSourceEnums = 18;
2986pub type _spinCounterResetSourceEnums = ::std::os::raw::c_uint;
2987pub use self::_spinCounterResetSourceEnums as spinCounterResetSourceEnums;
2988#[doc = "< Off"]
2989pub const _spinCounterEventSourceEnums_CounterEventSource_Off: _spinCounterEventSourceEnums = 0;
2990#[doc = "< MHzTick"]
2991pub const _spinCounterEventSourceEnums_CounterEventSource_MHzTick: _spinCounterEventSourceEnums = 1;
2992#[doc = "< Line0"]
2993pub const _spinCounterEventSourceEnums_CounterEventSource_Line0: _spinCounterEventSourceEnums = 2;
2994#[doc = "< Line1"]
2995pub const _spinCounterEventSourceEnums_CounterEventSource_Line1: _spinCounterEventSourceEnums = 3;
2996#[doc = "< Line2"]
2997pub const _spinCounterEventSourceEnums_CounterEventSource_Line2: _spinCounterEventSourceEnums = 4;
2998#[doc = "< Line3"]
2999pub const _spinCounterEventSourceEnums_CounterEventSource_Line3: _spinCounterEventSourceEnums = 5;
3000#[doc = "< UserOutput0"]
3001pub const _spinCounterEventSourceEnums_CounterEventSource_UserOutput0:
3002    _spinCounterEventSourceEnums = 6;
3003#[doc = "< UserOutput1"]
3004pub const _spinCounterEventSourceEnums_CounterEventSource_UserOutput1:
3005    _spinCounterEventSourceEnums = 7;
3006#[doc = "< UserOutput2"]
3007pub const _spinCounterEventSourceEnums_CounterEventSource_UserOutput2:
3008    _spinCounterEventSourceEnums = 8;
3009#[doc = "< UserOutput3"]
3010pub const _spinCounterEventSourceEnums_CounterEventSource_UserOutput3:
3011    _spinCounterEventSourceEnums = 9;
3012#[doc = "< Counter0Start"]
3013pub const _spinCounterEventSourceEnums_CounterEventSource_Counter0Start:
3014    _spinCounterEventSourceEnums = 10;
3015#[doc = "< Counter1Start"]
3016pub const _spinCounterEventSourceEnums_CounterEventSource_Counter1Start:
3017    _spinCounterEventSourceEnums = 11;
3018#[doc = "< Counter0End"]
3019pub const _spinCounterEventSourceEnums_CounterEventSource_Counter0End:
3020    _spinCounterEventSourceEnums = 12;
3021#[doc = "< Counter1End"]
3022pub const _spinCounterEventSourceEnums_CounterEventSource_Counter1End:
3023    _spinCounterEventSourceEnums = 13;
3024#[doc = "< LogicBlock0"]
3025pub const _spinCounterEventSourceEnums_CounterEventSource_LogicBlock0:
3026    _spinCounterEventSourceEnums = 14;
3027#[doc = "< LogicBlock1"]
3028pub const _spinCounterEventSourceEnums_CounterEventSource_LogicBlock1:
3029    _spinCounterEventSourceEnums = 15;
3030#[doc = "< ExposureStart"]
3031pub const _spinCounterEventSourceEnums_CounterEventSource_ExposureStart:
3032    _spinCounterEventSourceEnums = 16;
3033#[doc = "< ExposureEnd"]
3034pub const _spinCounterEventSourceEnums_CounterEventSource_ExposureEnd:
3035    _spinCounterEventSourceEnums = 17;
3036#[doc = "< FrameTriggerWait"]
3037pub const _spinCounterEventSourceEnums_CounterEventSource_FrameTriggerWait:
3038    _spinCounterEventSourceEnums = 18;
3039pub const _spinCounterEventSourceEnums_NUM_COUNTEREVENTSOURCE: _spinCounterEventSourceEnums = 19;
3040pub type _spinCounterEventSourceEnums = ::std::os::raw::c_uint;
3041pub use self::_spinCounterEventSourceEnums as spinCounterEventSourceEnums;
3042#[doc = "<"]
3043pub const _spinCounterEventActivationEnums_CounterEventActivation_LevelLow:
3044    _spinCounterEventActivationEnums = 0;
3045#[doc = "<"]
3046pub const _spinCounterEventActivationEnums_CounterEventActivation_LevelHigh:
3047    _spinCounterEventActivationEnums = 1;
3048#[doc = "<"]
3049pub const _spinCounterEventActivationEnums_CounterEventActivation_FallingEdge:
3050    _spinCounterEventActivationEnums = 2;
3051#[doc = "<"]
3052pub const _spinCounterEventActivationEnums_CounterEventActivation_RisingEdge:
3053    _spinCounterEventActivationEnums = 3;
3054#[doc = "<"]
3055pub const _spinCounterEventActivationEnums_CounterEventActivation_AnyEdge:
3056    _spinCounterEventActivationEnums = 4;
3057pub const _spinCounterEventActivationEnums_NUM_COUNTEREVENTACTIVATION:
3058    _spinCounterEventActivationEnums = 5;
3059pub type _spinCounterEventActivationEnums = ::std::os::raw::c_uint;
3060pub use self::_spinCounterEventActivationEnums as spinCounterEventActivationEnums;
3061#[doc = "<"]
3062pub const _spinCounterResetActivationEnums_CounterResetActivation_LevelLow:
3063    _spinCounterResetActivationEnums = 0;
3064#[doc = "<"]
3065pub const _spinCounterResetActivationEnums_CounterResetActivation_LevelHigh:
3066    _spinCounterResetActivationEnums = 1;
3067#[doc = "<"]
3068pub const _spinCounterResetActivationEnums_CounterResetActivation_FallingEdge:
3069    _spinCounterResetActivationEnums = 2;
3070#[doc = "<"]
3071pub const _spinCounterResetActivationEnums_CounterResetActivation_RisingEdge:
3072    _spinCounterResetActivationEnums = 3;
3073#[doc = "<"]
3074pub const _spinCounterResetActivationEnums_CounterResetActivation_AnyEdge:
3075    _spinCounterResetActivationEnums = 4;
3076pub const _spinCounterResetActivationEnums_NUM_COUNTERRESETACTIVATION:
3077    _spinCounterResetActivationEnums = 5;
3078pub type _spinCounterResetActivationEnums = ::std::os::raw::c_uint;
3079pub use self::_spinCounterResetActivationEnums as spinCounterResetActivationEnums;
3080#[doc = "< Data stream transmitter device."]
3081pub const _spinDeviceTypeEnums_DeviceType_Transmitter: _spinDeviceTypeEnums = 0;
3082#[doc = "< Data stream receiver device."]
3083pub const _spinDeviceTypeEnums_DeviceType_Receiver: _spinDeviceTypeEnums = 1;
3084#[doc = "< Data stream receiver and transmitter device."]
3085pub const _spinDeviceTypeEnums_DeviceType_Transceiver: _spinDeviceTypeEnums = 2;
3086#[doc = "< Controllable device (with no data stream handling)."]
3087pub const _spinDeviceTypeEnums_DeviceType_Peripheral: _spinDeviceTypeEnums = 3;
3088pub const _spinDeviceTypeEnums_NUM_DEVICETYPE: _spinDeviceTypeEnums = 4;
3089pub type _spinDeviceTypeEnums = ::std::os::raw::c_uint;
3090pub use self::_spinDeviceTypeEnums as spinDeviceTypeEnums;
3091#[doc = "< Connection is in use."]
3092pub const _spinDeviceConnectionStatusEnums_DeviceConnectionStatus_Active:
3093    _spinDeviceConnectionStatusEnums = 0;
3094#[doc = "< Connection is not in use."]
3095pub const _spinDeviceConnectionStatusEnums_DeviceConnectionStatus_Inactive:
3096    _spinDeviceConnectionStatusEnums = 1;
3097pub const _spinDeviceConnectionStatusEnums_NUM_DEVICECONNECTIONSTATUS:
3098    _spinDeviceConnectionStatusEnums = 2;
3099pub type _spinDeviceConnectionStatusEnums = ::std::os::raw::c_uint;
3100pub use self::_spinDeviceConnectionStatusEnums as spinDeviceConnectionStatusEnums;
3101#[doc = "< Enables the DeviceLinkThroughputLimit feature."]
3102pub const _spinDeviceLinkThroughputLimitModeEnums_DeviceLinkThroughputLimitMode_On:
3103    _spinDeviceLinkThroughputLimitModeEnums = 0;
3104#[doc = "< Disables the DeviceLinkThroughputLimit feature."]
3105pub const _spinDeviceLinkThroughputLimitModeEnums_DeviceLinkThroughputLimitMode_Off:
3106    _spinDeviceLinkThroughputLimitModeEnums = 1;
3107pub const _spinDeviceLinkThroughputLimitModeEnums_NUM_DEVICELINKTHROUGHPUTLIMITMODE:
3108    _spinDeviceLinkThroughputLimitModeEnums = 2;
3109pub type _spinDeviceLinkThroughputLimitModeEnums = ::std::os::raw::c_uint;
3110pub use self::_spinDeviceLinkThroughputLimitModeEnums as spinDeviceLinkThroughputLimitModeEnums;
3111#[doc = "< Enables the Link heartbeat."]
3112pub const _spinDeviceLinkHeartbeatModeEnums_DeviceLinkHeartbeatMode_On:
3113    _spinDeviceLinkHeartbeatModeEnums = 0;
3114#[doc = "< Disables the Link heartbeat."]
3115pub const _spinDeviceLinkHeartbeatModeEnums_DeviceLinkHeartbeatMode_Off:
3116    _spinDeviceLinkHeartbeatModeEnums = 1;
3117pub const _spinDeviceLinkHeartbeatModeEnums_NUM_DEVICELINKHEARTBEATMODE:
3118    _spinDeviceLinkHeartbeatModeEnums = 2;
3119pub type _spinDeviceLinkHeartbeatModeEnums = ::std::os::raw::c_uint;
3120pub use self::_spinDeviceLinkHeartbeatModeEnums as spinDeviceLinkHeartbeatModeEnums;
3121#[doc = "< Data stream transmitter channel."]
3122pub const _spinDeviceStreamChannelTypeEnums_DeviceStreamChannelType_Transmitter:
3123    _spinDeviceStreamChannelTypeEnums = 0;
3124#[doc = "< Data stream receiver channel."]
3125pub const _spinDeviceStreamChannelTypeEnums_DeviceStreamChannelType_Receiver:
3126    _spinDeviceStreamChannelTypeEnums = 1;
3127pub const _spinDeviceStreamChannelTypeEnums_NUM_DEVICESTREAMCHANNELTYPE:
3128    _spinDeviceStreamChannelTypeEnums = 2;
3129pub type _spinDeviceStreamChannelTypeEnums = ::std::os::raw::c_uint;
3130pub use self::_spinDeviceStreamChannelTypeEnums as spinDeviceStreamChannelTypeEnums;
3131#[doc = "< Stream channel data is big Endian."]
3132pub const _spinDeviceStreamChannelEndiannessEnums_DeviceStreamChannelEndianness_Big:
3133    _spinDeviceStreamChannelEndiannessEnums = 0;
3134#[doc = "< Stream channel data is little Endian."]
3135pub const _spinDeviceStreamChannelEndiannessEnums_DeviceStreamChannelEndianness_Little:
3136    _spinDeviceStreamChannelEndiannessEnums = 1;
3137pub const _spinDeviceStreamChannelEndiannessEnums_NUM_DEVICESTREAMCHANNELENDIANNESS:
3138    _spinDeviceStreamChannelEndiannessEnums = 2;
3139pub type _spinDeviceStreamChannelEndiannessEnums = ::std::os::raw::c_uint;
3140pub use self::_spinDeviceStreamChannelEndiannessEnums as spinDeviceStreamChannelEndiannessEnums;
3141#[doc = "< Clock frequency of the image sensor of the camera."]
3142pub const _spinDeviceClockSelectorEnums_DeviceClockSelector_Sensor: _spinDeviceClockSelectorEnums =
3143    0;
3144#[doc = "< Clock frequency of the camera A/D conversion stage."]
3145pub const _spinDeviceClockSelectorEnums_DeviceClockSelector_SensorDigitization:
3146    _spinDeviceClockSelectorEnums = 1;
3147#[doc = "< Frequency of the Camera Link clock."]
3148pub const _spinDeviceClockSelectorEnums_DeviceClockSelector_CameraLink:
3149    _spinDeviceClockSelectorEnums = 2;
3150pub const _spinDeviceClockSelectorEnums_NUM_DEVICECLOCKSELECTOR: _spinDeviceClockSelectorEnums = 3;
3151pub type _spinDeviceClockSelectorEnums = ::std::os::raw::c_uint;
3152pub use self::_spinDeviceClockSelectorEnums as spinDeviceClockSelectorEnums;
3153#[doc = "< Serial port associated to the Camera link connection."]
3154pub const _spinDeviceSerialPortSelectorEnums_DeviceSerialPortSelector_CameraLink:
3155    _spinDeviceSerialPortSelectorEnums = 0;
3156pub const _spinDeviceSerialPortSelectorEnums_NUM_DEVICESERIALPORTSELECTOR:
3157    _spinDeviceSerialPortSelectorEnums = 1;
3158pub type _spinDeviceSerialPortSelectorEnums = ::std::os::raw::c_uint;
3159pub use self::_spinDeviceSerialPortSelectorEnums as spinDeviceSerialPortSelectorEnums;
3160#[doc = "< Serial port speed of 9600 baud."]
3161pub const _spinDeviceSerialPortBaudRateEnums_DeviceSerialPortBaudRate_Baud9600:
3162    _spinDeviceSerialPortBaudRateEnums = 0;
3163#[doc = "< Serial port speed of 19200 baud."]
3164pub const _spinDeviceSerialPortBaudRateEnums_DeviceSerialPortBaudRate_Baud19200:
3165    _spinDeviceSerialPortBaudRateEnums = 1;
3166#[doc = "< Serial port speed of 38400 baud."]
3167pub const _spinDeviceSerialPortBaudRateEnums_DeviceSerialPortBaudRate_Baud38400:
3168    _spinDeviceSerialPortBaudRateEnums = 2;
3169#[doc = "< Serial port speed of 57600 baud."]
3170pub const _spinDeviceSerialPortBaudRateEnums_DeviceSerialPortBaudRate_Baud57600:
3171    _spinDeviceSerialPortBaudRateEnums = 3;
3172#[doc = "< Serial port speed of 115200 baud."]
3173pub const _spinDeviceSerialPortBaudRateEnums_DeviceSerialPortBaudRate_Baud115200:
3174    _spinDeviceSerialPortBaudRateEnums = 4;
3175#[doc = "< Serial port speed of 230400 baud."]
3176pub const _spinDeviceSerialPortBaudRateEnums_DeviceSerialPortBaudRate_Baud230400:
3177    _spinDeviceSerialPortBaudRateEnums = 5;
3178#[doc = "< Serial port speed of 460800 baud."]
3179pub const _spinDeviceSerialPortBaudRateEnums_DeviceSerialPortBaudRate_Baud460800:
3180    _spinDeviceSerialPortBaudRateEnums = 6;
3181#[doc = "< Serial port speed of 921600 baud."]
3182pub const _spinDeviceSerialPortBaudRateEnums_DeviceSerialPortBaudRate_Baud921600:
3183    _spinDeviceSerialPortBaudRateEnums = 7;
3184pub const _spinDeviceSerialPortBaudRateEnums_NUM_DEVICESERIALPORTBAUDRATE:
3185    _spinDeviceSerialPortBaudRateEnums = 8;
3186pub type _spinDeviceSerialPortBaudRateEnums = ::std::os::raw::c_uint;
3187pub use self::_spinDeviceSerialPortBaudRateEnums as spinDeviceSerialPortBaudRateEnums;
3188#[doc = "< 1 tap."]
3189pub const _spinSensorTapsEnums_SensorTaps_One: _spinSensorTapsEnums = 0;
3190#[doc = "< 2 taps."]
3191pub const _spinSensorTapsEnums_SensorTaps_Two: _spinSensorTapsEnums = 1;
3192#[doc = "< 3 taps."]
3193pub const _spinSensorTapsEnums_SensorTaps_Three: _spinSensorTapsEnums = 2;
3194#[doc = "< 4 taps."]
3195pub const _spinSensorTapsEnums_SensorTaps_Four: _spinSensorTapsEnums = 3;
3196#[doc = "< 8 taps."]
3197pub const _spinSensorTapsEnums_SensorTaps_Eight: _spinSensorTapsEnums = 4;
3198#[doc = "< 10 taps."]
3199pub const _spinSensorTapsEnums_SensorTaps_Ten: _spinSensorTapsEnums = 5;
3200pub const _spinSensorTapsEnums_NUM_SENSORTAPS: _spinSensorTapsEnums = 6;
3201pub type _spinSensorTapsEnums = ::std::os::raw::c_uint;
3202pub use self::_spinSensorTapsEnums as spinSensorTapsEnums;
3203#[doc = "< 1 tap."]
3204pub const _spinSensorDigitizationTapsEnums_SensorDigitizationTaps_One:
3205    _spinSensorDigitizationTapsEnums = 0;
3206#[doc = "< 2 taps."]
3207pub const _spinSensorDigitizationTapsEnums_SensorDigitizationTaps_Two:
3208    _spinSensorDigitizationTapsEnums = 1;
3209#[doc = "< 3 taps."]
3210pub const _spinSensorDigitizationTapsEnums_SensorDigitizationTaps_Three:
3211    _spinSensorDigitizationTapsEnums = 2;
3212#[doc = "< 4 taps."]
3213pub const _spinSensorDigitizationTapsEnums_SensorDigitizationTaps_Four:
3214    _spinSensorDigitizationTapsEnums = 3;
3215#[doc = "< 8 taps."]
3216pub const _spinSensorDigitizationTapsEnums_SensorDigitizationTaps_Eight:
3217    _spinSensorDigitizationTapsEnums = 4;
3218#[doc = "< 10 taps."]
3219pub const _spinSensorDigitizationTapsEnums_SensorDigitizationTaps_Ten:
3220    _spinSensorDigitizationTapsEnums = 5;
3221pub const _spinSensorDigitizationTapsEnums_NUM_SENSORDIGITIZATIONTAPS:
3222    _spinSensorDigitizationTapsEnums = 6;
3223pub type _spinSensorDigitizationTapsEnums = ::std::os::raw::c_uint;
3224pub use self::_spinSensorDigitizationTapsEnums as spinSensorDigitizationTapsEnums;
3225#[doc = "< Selected feature will control the region 0."]
3226pub const _spinRegionSelectorEnums_RegionSelector_Region0: _spinRegionSelectorEnums = 0;
3227#[doc = "< Selected feature will control the region 1."]
3228pub const _spinRegionSelectorEnums_RegionSelector_Region1: _spinRegionSelectorEnums = 1;
3229#[doc = "< Selected feature will control the region 2."]
3230pub const _spinRegionSelectorEnums_RegionSelector_Region2: _spinRegionSelectorEnums = 2;
3231#[doc = "< Selected features will control all the regions at the same time."]
3232pub const _spinRegionSelectorEnums_RegionSelector_All: _spinRegionSelectorEnums = 3;
3233pub const _spinRegionSelectorEnums_NUM_REGIONSELECTOR: _spinRegionSelectorEnums = 4;
3234pub type _spinRegionSelectorEnums = ::std::os::raw::c_uint;
3235pub use self::_spinRegionSelectorEnums as spinRegionSelectorEnums;
3236#[doc = "< Disable the usage of the Region."]
3237pub const _spinRegionModeEnums_RegionMode_Off: _spinRegionModeEnums = 0;
3238#[doc = "< Enable the usage of the Region."]
3239pub const _spinRegionModeEnums_RegionMode_On: _spinRegionModeEnums = 1;
3240pub const _spinRegionModeEnums_NUM_REGIONMODE: _spinRegionModeEnums = 2;
3241pub type _spinRegionModeEnums = ::std::os::raw::c_uint;
3242pub use self::_spinRegionModeEnums as spinRegionModeEnums;
3243#[doc = "< The destination of the region is the data stream 0."]
3244pub const _spinRegionDestinationEnums_RegionDestination_Stream0: _spinRegionDestinationEnums = 0;
3245#[doc = "< The destination of the region is the data stream 1."]
3246pub const _spinRegionDestinationEnums_RegionDestination_Stream1: _spinRegionDestinationEnums = 1;
3247#[doc = "< The destination of the region is the data stream 2."]
3248pub const _spinRegionDestinationEnums_RegionDestination_Stream2: _spinRegionDestinationEnums = 2;
3249pub const _spinRegionDestinationEnums_NUM_REGIONDESTINATION: _spinRegionDestinationEnums = 3;
3250pub type _spinRegionDestinationEnums = ::std::os::raw::c_uint;
3251pub use self::_spinRegionDestinationEnums as spinRegionDestinationEnums;
3252#[doc = "< The acquisition of intensity of the reflected light is controlled."]
3253pub const _spinImageComponentSelectorEnums_ImageComponentSelector_Intensity:
3254    _spinImageComponentSelectorEnums = 0;
3255#[doc = "< The acquisition of color of the reflected light is controlled"]
3256pub const _spinImageComponentSelectorEnums_ImageComponentSelector_Color:
3257    _spinImageComponentSelectorEnums = 1;
3258#[doc = "< The acquisition of non-visible infrared light is controlled."]
3259pub const _spinImageComponentSelectorEnums_ImageComponentSelector_Infrared:
3260    _spinImageComponentSelectorEnums = 2;
3261#[doc = "< The acquisition of non-visible ultraviolet light is controlled."]
3262pub const _spinImageComponentSelectorEnums_ImageComponentSelector_Ultraviolet:
3263    _spinImageComponentSelectorEnums = 3;
3264#[doc = "< The acquisition of range (distance) data is controlled. The data produced may be only range (2.5D) or a point cloud 3D coordinates depending on the Scan3dControl."]
3265pub const _spinImageComponentSelectorEnums_ImageComponentSelector_Range:
3266    _spinImageComponentSelectorEnums = 4;
3267#[doc = "< The acquisition of stereo camera disparity data is controlled. Disparity is a more specific range format approximately inversely proportional to distance. Disparity is typically given in pixel units."]
3268pub const _spinImageComponentSelectorEnums_ImageComponentSelector_Disparity:
3269    _spinImageComponentSelectorEnums = 5;
3270#[doc = "< The acquisition of confidence map of the acquired image is controlled. Confidence data may be binary (0 - invalid) or an integer where 0 is invalid and increasing value is increased confidence in the data in the corresponding pixel. If floating point representation is used the confidence image is normalized to the range [0,1], for integer representation the maximum possible integer represents maximum confidence."]
3271pub const _spinImageComponentSelectorEnums_ImageComponentSelector_Confidence:
3272    _spinImageComponentSelectorEnums = 6;
3273#[doc = "< The acquisition of data measuring how much light is scattered around the reflected light. In processing this is used as an additional intensity image, often together with the standard intensity."]
3274pub const _spinImageComponentSelectorEnums_ImageComponentSelector_Scatter:
3275    _spinImageComponentSelectorEnums = 7;
3276pub const _spinImageComponentSelectorEnums_NUM_IMAGECOMPONENTSELECTOR:
3277    _spinImageComponentSelectorEnums = 8;
3278pub type _spinImageComponentSelectorEnums = ::std::os::raw::c_uint;
3279pub use self::_spinImageComponentSelectorEnums as spinImageComponentSelectorEnums;
3280#[doc = "< Monochrome 1-bit packed"]
3281pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono1p:
3282    _spinPixelFormatInfoSelectorEnums = 0;
3283#[doc = "< Monochrome 2-bit packed"]
3284pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono2p:
3285    _spinPixelFormatInfoSelectorEnums = 1;
3286#[doc = "< Monochrome 4-bit packed"]
3287pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono4p:
3288    _spinPixelFormatInfoSelectorEnums = 2;
3289#[doc = "< Monochrome 8-bit"]
3290pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono8:
3291    _spinPixelFormatInfoSelectorEnums = 3;
3292#[doc = "< Monochrome 8-bit signed"]
3293pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono8s:
3294    _spinPixelFormatInfoSelectorEnums = 4;
3295#[doc = "< Monochrome 10-bit unpacked"]
3296pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono10:
3297    _spinPixelFormatInfoSelectorEnums = 5;
3298#[doc = "< Monochrome 10-bit packed"]
3299pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono10p:
3300    _spinPixelFormatInfoSelectorEnums = 6;
3301#[doc = "< Monochrome 12-bit unpacked"]
3302pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono12:
3303    _spinPixelFormatInfoSelectorEnums = 7;
3304#[doc = "< Monochrome 12-bit packed"]
3305pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono12p:
3306    _spinPixelFormatInfoSelectorEnums = 8;
3307#[doc = "< Monochrome 14-bit unpacked"]
3308pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono14:
3309    _spinPixelFormatInfoSelectorEnums = 9;
3310#[doc = "< Monochrome 16-bit"]
3311pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono16:
3312    _spinPixelFormatInfoSelectorEnums = 10;
3313#[doc = "< Monochrome 16-bit signed"]
3314pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono16s:
3315    _spinPixelFormatInfoSelectorEnums = 11;
3316#[doc = "< Monochrome 32-bit float"]
3317pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Mono32f:
3318    _spinPixelFormatInfoSelectorEnums = 12;
3319#[doc = "< Bayer Blue-Green 8-bit"]
3320pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerBG8:
3321    _spinPixelFormatInfoSelectorEnums = 13;
3322#[doc = "< Bayer Blue-Green 10-bit unpacked"]
3323pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerBG10:
3324    _spinPixelFormatInfoSelectorEnums = 14;
3325#[doc = "< Bayer Blue-Green 10-bit packed"]
3326pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerBG10p:
3327    _spinPixelFormatInfoSelectorEnums = 15;
3328#[doc = "< Bayer Blue-Green 12-bit unpacked"]
3329pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerBG12:
3330    _spinPixelFormatInfoSelectorEnums = 16;
3331#[doc = "< Bayer Blue-Green 12-bit packed"]
3332pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerBG12p:
3333    _spinPixelFormatInfoSelectorEnums = 17;
3334#[doc = "< Bayer Blue-Green 16-bit"]
3335pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerBG16:
3336    _spinPixelFormatInfoSelectorEnums = 18;
3337#[doc = "< Bayer Green-Blue 8-bit"]
3338pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerGB8:
3339    _spinPixelFormatInfoSelectorEnums = 19;
3340#[doc = "< Bayer Green-Blue 10-bit unpacked"]
3341pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerGB10:
3342    _spinPixelFormatInfoSelectorEnums = 20;
3343#[doc = "< Bayer Green-Blue 10-bit packed"]
3344pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerGB10p:
3345    _spinPixelFormatInfoSelectorEnums = 21;
3346#[doc = "< Bayer Green-Blue 12-bit unpacked"]
3347pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerGB12:
3348    _spinPixelFormatInfoSelectorEnums = 22;
3349#[doc = "< Bayer Green-Blue 12-bit packed"]
3350pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerGB12p:
3351    _spinPixelFormatInfoSelectorEnums = 23;
3352#[doc = "< Bayer Green-Blue 16-bit"]
3353pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerGB16:
3354    _spinPixelFormatInfoSelectorEnums = 24;
3355#[doc = "< Bayer Green-Red 8-bit"]
3356pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerGR8:
3357    _spinPixelFormatInfoSelectorEnums = 25;
3358#[doc = "< Bayer Green-Red 10-bit unpacked"]
3359pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerGR10:
3360    _spinPixelFormatInfoSelectorEnums = 26;
3361#[doc = "< Bayer Green-Red 10-bit packed"]
3362pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerGR10p:
3363    _spinPixelFormatInfoSelectorEnums = 27;
3364#[doc = "< Bayer Green-Red 12-bit unpacked"]
3365pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerGR12:
3366    _spinPixelFormatInfoSelectorEnums = 28;
3367#[doc = "< Bayer Green-Red 12-bit packed"]
3368pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerGR12p:
3369    _spinPixelFormatInfoSelectorEnums = 29;
3370#[doc = "< Bayer Green-Red 16-bit"]
3371pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerGR16:
3372    _spinPixelFormatInfoSelectorEnums = 30;
3373#[doc = "< Bayer Red-Green 8-bit"]
3374pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerRG8:
3375    _spinPixelFormatInfoSelectorEnums = 31;
3376#[doc = "< Bayer Red-Green 10-bit unpacked"]
3377pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerRG10:
3378    _spinPixelFormatInfoSelectorEnums = 32;
3379#[doc = "< Bayer Red-Green 10-bit packed"]
3380pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerRG10p:
3381    _spinPixelFormatInfoSelectorEnums = 33;
3382#[doc = "< Bayer Red-Green 12-bit unpacked"]
3383pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerRG12:
3384    _spinPixelFormatInfoSelectorEnums = 34;
3385#[doc = "< Bayer Red-Green 12-bit packed"]
3386pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerRG12p:
3387    _spinPixelFormatInfoSelectorEnums = 35;
3388#[doc = "< Bayer Red-Green 16-bit"]
3389pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerRG16:
3390    _spinPixelFormatInfoSelectorEnums = 36;
3391#[doc = "< Red-Green-Blue-alpha 8-bit"]
3392pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGBa8:
3393    _spinPixelFormatInfoSelectorEnums = 37;
3394#[doc = "< Red-Green-Blue-alpha 10-bit unpacked"]
3395pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGBa10:
3396    _spinPixelFormatInfoSelectorEnums = 38;
3397#[doc = "< Red-Green-Blue-alpha 10-bit packed"]
3398pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGBa10p:
3399    _spinPixelFormatInfoSelectorEnums = 39;
3400#[doc = "< Red-Green-Blue-alpha 12-bit unpacked"]
3401pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGBa12:
3402    _spinPixelFormatInfoSelectorEnums = 40;
3403#[doc = "< Red-Green-Blue-alpha 12-bit packed"]
3404pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGBa12p:
3405    _spinPixelFormatInfoSelectorEnums = 41;
3406#[doc = "< Red-Green-Blue-alpha 14-bit unpacked"]
3407pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGBa14:
3408    _spinPixelFormatInfoSelectorEnums = 42;
3409#[doc = "< Red-Green-Blue-alpha 16-bit"]
3410pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGBa16:
3411    _spinPixelFormatInfoSelectorEnums = 43;
3412#[doc = "< Red-Green-Blue 8-bit"]
3413pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB8:
3414    _spinPixelFormatInfoSelectorEnums = 44;
3415#[doc = "< Red-Green-Blue 8-bit planar"]
3416pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB8_Planar:
3417    _spinPixelFormatInfoSelectorEnums = 45;
3418#[doc = "< Red-Green-Blue 10-bit unpacked"]
3419pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB10:
3420    _spinPixelFormatInfoSelectorEnums = 46;
3421#[doc = "< Red-Green-Blue 10-bit unpacked planar"]
3422pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB10_Planar:
3423    _spinPixelFormatInfoSelectorEnums = 47;
3424#[doc = "< Red-Green-Blue 10-bit packed"]
3425pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB10p:
3426    _spinPixelFormatInfoSelectorEnums = 48;
3427#[doc = "< Red-Green-Blue 10-bit packed into 32-bit"]
3428pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB10p32:
3429    _spinPixelFormatInfoSelectorEnums = 49;
3430#[doc = "< Red-Green-Blue 12-bit unpacked"]
3431pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB12:
3432    _spinPixelFormatInfoSelectorEnums = 50;
3433#[doc = "< Red-Green-Blue 12-bit unpacked planar"]
3434pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB12_Planar:
3435    _spinPixelFormatInfoSelectorEnums = 51;
3436#[doc = "< Red-Green-Blue 12-bit packed"]
3437pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB12p:
3438    _spinPixelFormatInfoSelectorEnums = 52;
3439#[doc = "< Red-Green-Blue 14-bit unpacked"]
3440pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB14:
3441    _spinPixelFormatInfoSelectorEnums = 53;
3442#[doc = "< Red-Green-Blue 16-bit"]
3443pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB16:
3444    _spinPixelFormatInfoSelectorEnums = 54;
3445#[doc = "< Red-Green-Blue 16-bit signed"]
3446pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB16s:
3447    _spinPixelFormatInfoSelectorEnums = 55;
3448#[doc = "< Red-Green-Blue 32-bit float"]
3449pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB32f:
3450    _spinPixelFormatInfoSelectorEnums = 56;
3451#[doc = "< Red-Green-Blue 16-bit planar"]
3452pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB16_Planar:
3453    _spinPixelFormatInfoSelectorEnums = 57;
3454#[doc = "< Red-Green-Blue 5/6/5-bit packed"]
3455pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGB565p:
3456    _spinPixelFormatInfoSelectorEnums = 58;
3457#[doc = "< Blue-Green-Red-alpha 8-bit"]
3458pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGRa8:
3459    _spinPixelFormatInfoSelectorEnums = 59;
3460#[doc = "< Blue-Green-Red-alpha 10-bit unpacked"]
3461pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGRa10:
3462    _spinPixelFormatInfoSelectorEnums = 60;
3463#[doc = "< Blue-Green-Red-alpha 10-bit packed"]
3464pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGRa10p:
3465    _spinPixelFormatInfoSelectorEnums = 61;
3466#[doc = "< Blue-Green-Red-alpha 12-bit unpacked"]
3467pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGRa12:
3468    _spinPixelFormatInfoSelectorEnums = 62;
3469#[doc = "< Blue-Green-Red-alpha 12-bit packed"]
3470pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGRa12p:
3471    _spinPixelFormatInfoSelectorEnums = 63;
3472#[doc = "< Blue-Green-Red-alpha 14-bit unpacked"]
3473pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGRa14:
3474    _spinPixelFormatInfoSelectorEnums = 64;
3475#[doc = "< Blue-Green-Red-alpha 16-bit"]
3476pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGRa16:
3477    _spinPixelFormatInfoSelectorEnums = 65;
3478#[doc = "< Red-Green-Blue-alpha 32-bit float"]
3479pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_RGBa32f:
3480    _spinPixelFormatInfoSelectorEnums = 66;
3481#[doc = "< Blue-Green-Red 8-bit"]
3482pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGR8:
3483    _spinPixelFormatInfoSelectorEnums = 67;
3484#[doc = "< Blue-Green-Red 10-bit unpacked"]
3485pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGR10:
3486    _spinPixelFormatInfoSelectorEnums = 68;
3487#[doc = "< Blue-Green-Red 10-bit packed"]
3488pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGR10p:
3489    _spinPixelFormatInfoSelectorEnums = 69;
3490#[doc = "< Blue-Green-Red 12-bit unpacked"]
3491pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGR12:
3492    _spinPixelFormatInfoSelectorEnums = 70;
3493#[doc = "< Blue-Green-Red 12-bit packed"]
3494pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGR12p:
3495    _spinPixelFormatInfoSelectorEnums = 71;
3496#[doc = "< Blue-Green-Red 14-bit unpacked"]
3497pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGR14:
3498    _spinPixelFormatInfoSelectorEnums = 72;
3499#[doc = "< Blue-Green-Red 16-bit"]
3500pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGR16:
3501    _spinPixelFormatInfoSelectorEnums = 73;
3502#[doc = "< Blue-Green-Red 5/6/5-bit packed"]
3503pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BGR565p:
3504    _spinPixelFormatInfoSelectorEnums = 74;
3505#[doc = "< Red 8-bit"]
3506pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_R8:
3507    _spinPixelFormatInfoSelectorEnums = 75;
3508#[doc = "< Red 10-bit"]
3509pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_R10:
3510    _spinPixelFormatInfoSelectorEnums = 76;
3511#[doc = "< Red 12-bit"]
3512pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_R12:
3513    _spinPixelFormatInfoSelectorEnums = 77;
3514#[doc = "< Red 16-bit"]
3515pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_R16:
3516    _spinPixelFormatInfoSelectorEnums = 78;
3517#[doc = "< Green 8-bit"]
3518pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_G8:
3519    _spinPixelFormatInfoSelectorEnums = 79;
3520#[doc = "< Green 10-bit"]
3521pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_G10:
3522    _spinPixelFormatInfoSelectorEnums = 80;
3523#[doc = "< Green 12-bit"]
3524pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_G12:
3525    _spinPixelFormatInfoSelectorEnums = 81;
3526#[doc = "< Green 16-bit"]
3527pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_G16:
3528    _spinPixelFormatInfoSelectorEnums = 82;
3529#[doc = "< Blue 8-bit"]
3530pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_B8:
3531    _spinPixelFormatInfoSelectorEnums = 83;
3532#[doc = "< Blue 10-bit"]
3533pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_B10:
3534    _spinPixelFormatInfoSelectorEnums = 84;
3535#[doc = "< Blue 12-bit"]
3536pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_B12:
3537    _spinPixelFormatInfoSelectorEnums = 85;
3538#[doc = "< Blue 16-bit"]
3539pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_B16:
3540    _spinPixelFormatInfoSelectorEnums = 86;
3541#[doc = "< 3D coordinate A-B-C 8-bit"]
3542pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_ABC8:
3543    _spinPixelFormatInfoSelectorEnums = 87;
3544#[doc = "< 3D coordinate A-B-C 8-bit planar"]
3545pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_ABC8_Planar:
3546    _spinPixelFormatInfoSelectorEnums = 88;
3547#[doc = "< 3D coordinate A-B-C 10-bit packed"]
3548pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_ABC10p:
3549    _spinPixelFormatInfoSelectorEnums = 89;
3550#[doc = "< 3D coordinate A-B-C 10-bit packed planar"]
3551pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_ABC10p_Planar:
3552    _spinPixelFormatInfoSelectorEnums = 90;
3553#[doc = "< 3D coordinate A-B-C 12-bit packed"]
3554pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_ABC12p:
3555    _spinPixelFormatInfoSelectorEnums = 91;
3556#[doc = "< 3D coordinate A-B-C 12-bit packed planar"]
3557pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_ABC12p_Planar:
3558    _spinPixelFormatInfoSelectorEnums = 92;
3559#[doc = "< 3D coordinate A-B-C 16-bit"]
3560pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_ABC16:
3561    _spinPixelFormatInfoSelectorEnums = 93;
3562#[doc = "< 3D coordinate A-B-C 16-bit planar"]
3563pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_ABC16_Planar:
3564    _spinPixelFormatInfoSelectorEnums = 94;
3565#[doc = "< 3D coordinate A-B-C 32-bit floating point"]
3566pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_ABC32f:
3567    _spinPixelFormatInfoSelectorEnums = 95;
3568#[doc = "< 3D coordinate A-B-C 32-bit floating point planar"]
3569pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_ABC32f_Planar:
3570    _spinPixelFormatInfoSelectorEnums = 96;
3571#[doc = "< 3D coordinate A-C 8-bit"]
3572pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_AC8:
3573    _spinPixelFormatInfoSelectorEnums = 97;
3574#[doc = "< 3D coordinate A-C 8-bit planar"]
3575pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_AC8_Planar:
3576    _spinPixelFormatInfoSelectorEnums = 98;
3577#[doc = "< 3D coordinate A-C 10-bit packed"]
3578pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_AC10p:
3579    _spinPixelFormatInfoSelectorEnums = 99;
3580#[doc = "< 3D coordinate A-C 10-bit packed planar"]
3581pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_AC10p_Planar:
3582    _spinPixelFormatInfoSelectorEnums = 100;
3583#[doc = "< 3D coordinate A-C 12-bit packed"]
3584pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_AC12p:
3585    _spinPixelFormatInfoSelectorEnums = 101;
3586#[doc = "< 3D coordinate A-C 12-bit packed planar"]
3587pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_AC12p_Planar:
3588    _spinPixelFormatInfoSelectorEnums = 102;
3589#[doc = "< 3D coordinate A-C 16-bit"]
3590pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_AC16:
3591    _spinPixelFormatInfoSelectorEnums = 103;
3592#[doc = "< 3D coordinate A-C 16-bit planar"]
3593pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_AC16_Planar:
3594    _spinPixelFormatInfoSelectorEnums = 104;
3595#[doc = "< 3D coordinate A-C 32-bit floating point"]
3596pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_AC32f:
3597    _spinPixelFormatInfoSelectorEnums = 105;
3598#[doc = "< 3D coordinate A-C 32-bit floating point planar"]
3599pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_AC32f_Planar:
3600    _spinPixelFormatInfoSelectorEnums = 106;
3601#[doc = "< 3D coordinate A 8-bit"]
3602pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_A8:
3603    _spinPixelFormatInfoSelectorEnums = 107;
3604#[doc = "< 3D coordinate A 10-bit packed"]
3605pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_A10p:
3606    _spinPixelFormatInfoSelectorEnums = 108;
3607#[doc = "< 3D coordinate A 12-bit packed"]
3608pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_A12p:
3609    _spinPixelFormatInfoSelectorEnums = 109;
3610#[doc = "< 3D coordinate A 16-bit"]
3611pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_A16:
3612    _spinPixelFormatInfoSelectorEnums = 110;
3613#[doc = "< 3D coordinate A 32-bit floating point"]
3614pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_A32f:
3615    _spinPixelFormatInfoSelectorEnums = 111;
3616#[doc = "< 3D coordinate B 8-bit"]
3617pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_B8:
3618    _spinPixelFormatInfoSelectorEnums = 112;
3619#[doc = "< 3D coordinate B 10-bit packed"]
3620pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_B10p:
3621    _spinPixelFormatInfoSelectorEnums = 113;
3622#[doc = "< 3D coordinate B 12-bit packed"]
3623pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_B12p:
3624    _spinPixelFormatInfoSelectorEnums = 114;
3625#[doc = "< 3D coordinate B 16-bit"]
3626pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_B16:
3627    _spinPixelFormatInfoSelectorEnums = 115;
3628#[doc = "< 3D coordinate B 32-bit floating point"]
3629pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_B32f:
3630    _spinPixelFormatInfoSelectorEnums = 116;
3631#[doc = "< 3D coordinate C 8-bit"]
3632pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_C8:
3633    _spinPixelFormatInfoSelectorEnums = 117;
3634#[doc = "< 3D coordinate C 10-bit packed"]
3635pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_C10p:
3636    _spinPixelFormatInfoSelectorEnums = 118;
3637#[doc = "< 3D coordinate C 12-bit packed"]
3638pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_C12p:
3639    _spinPixelFormatInfoSelectorEnums = 119;
3640#[doc = "< 3D coordinate C 16-bit"]
3641pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_C16:
3642    _spinPixelFormatInfoSelectorEnums = 120;
3643#[doc = "< 3D coordinate C 32-bit floating point"]
3644pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Coord3D_C32f:
3645    _spinPixelFormatInfoSelectorEnums = 121;
3646#[doc = "< Confidence 1-bit unpacked"]
3647pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Confidence1:
3648    _spinPixelFormatInfoSelectorEnums = 122;
3649#[doc = "< Confidence 1-bit packed"]
3650pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Confidence1p:
3651    _spinPixelFormatInfoSelectorEnums = 123;
3652#[doc = "< Confidence 8-bit"]
3653pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Confidence8:
3654    _spinPixelFormatInfoSelectorEnums = 124;
3655#[doc = "< Confidence 16-bit"]
3656pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Confidence16:
3657    _spinPixelFormatInfoSelectorEnums = 125;
3658#[doc = "< Confidence 32-bit floating point"]
3659pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Confidence32f:
3660    _spinPixelFormatInfoSelectorEnums = 126;
3661#[doc = "< Bi-color Blue/Green - Red/Green 8-bit"]
3662pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BiColorBGRG8:
3663    _spinPixelFormatInfoSelectorEnums = 127;
3664#[doc = "< Bi-color Blue/Green - Red/Green 10-bit unpacked"]
3665pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BiColorBGRG10:
3666    _spinPixelFormatInfoSelectorEnums = 128;
3667#[doc = "< Bi-color Blue/Green - Red/Green 10-bit packed"]
3668pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BiColorBGRG10p:
3669    _spinPixelFormatInfoSelectorEnums = 129;
3670#[doc = "< Bi-color Blue/Green - Red/Green 12-bit unpacked"]
3671pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BiColorBGRG12:
3672    _spinPixelFormatInfoSelectorEnums = 130;
3673#[doc = "< Bi-color Blue/Green - Red/Green 12-bit packed"]
3674pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BiColorBGRG12p:
3675    _spinPixelFormatInfoSelectorEnums = 131;
3676#[doc = "< Bi-color Red/Green - Blue/Green 8-bit"]
3677pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BiColorRGBG8:
3678    _spinPixelFormatInfoSelectorEnums = 132;
3679#[doc = "< Bi-color Red/Green - Blue/Green 10-bit unpacked"]
3680pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BiColorRGBG10:
3681    _spinPixelFormatInfoSelectorEnums = 133;
3682#[doc = "< Bi-color Red/Green - Blue/Green 10-bit packed"]
3683pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BiColorRGBG10p:
3684    _spinPixelFormatInfoSelectorEnums = 134;
3685#[doc = "< Bi-color Red/Green - Blue/Green 12-bit unpacked"]
3686pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BiColorRGBG12:
3687    _spinPixelFormatInfoSelectorEnums = 135;
3688#[doc = "< Bi-color Red/Green - Blue/Green 12-bit packed"]
3689pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BiColorRGBG12p:
3690    _spinPixelFormatInfoSelectorEnums = 136;
3691#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 8-bit"]
3692pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WBWG8:
3693    _spinPixelFormatInfoSelectorEnums = 137;
3694#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 10-bit unpacked"]
3695pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WBWG10:
3696    _spinPixelFormatInfoSelectorEnums = 138;
3697#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 10-bit packed"]
3698pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WBWG10p:
3699    _spinPixelFormatInfoSelectorEnums = 139;
3700#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 12-bit unpacked"]
3701pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WBWG12:
3702    _spinPixelFormatInfoSelectorEnums = 140;
3703#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 12-bit packed"]
3704pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WBWG12p:
3705    _spinPixelFormatInfoSelectorEnums = 141;
3706#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 14-bit unpacked"]
3707pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WBWG14:
3708    _spinPixelFormatInfoSelectorEnums = 142;
3709#[doc = "< Sparse Color Filter #1 White-Blue-White-Green 16-bit unpacked"]
3710pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WBWG16:
3711    _spinPixelFormatInfoSelectorEnums = 143;
3712#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 8-bit"]
3713pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWB8:
3714    _spinPixelFormatInfoSelectorEnums = 144;
3715#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 10-bit unpacked"]
3716pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWB10:
3717    _spinPixelFormatInfoSelectorEnums = 145;
3718#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 10-bit packed"]
3719pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWB10p:
3720    _spinPixelFormatInfoSelectorEnums = 146;
3721#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 12-bit unpacked"]
3722pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWB12:
3723    _spinPixelFormatInfoSelectorEnums = 147;
3724#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 12-bit packed"]
3725pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWB12p:
3726    _spinPixelFormatInfoSelectorEnums = 148;
3727#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 14-bit unpacked"]
3728pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWB14:
3729    _spinPixelFormatInfoSelectorEnums = 149;
3730#[doc = "< Sparse Color Filter #1 White-Green-White-Blue 16-bit"]
3731pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWB16:
3732    _spinPixelFormatInfoSelectorEnums = 150;
3733#[doc = "< Sparse Color Filter #1 White-Green-White-Red 8-bit"]
3734pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWR8:
3735    _spinPixelFormatInfoSelectorEnums = 151;
3736#[doc = "< Sparse Color Filter #1 White-Green-White-Red 10-bit unpacked"]
3737pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWR10:
3738    _spinPixelFormatInfoSelectorEnums = 152;
3739#[doc = "< Sparse Color Filter #1 White-Green-White-Red 10-bit packed"]
3740pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWR10p:
3741    _spinPixelFormatInfoSelectorEnums = 153;
3742#[doc = "< Sparse Color Filter #1 White-Green-White-Red 12-bit unpacked"]
3743pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWR12:
3744    _spinPixelFormatInfoSelectorEnums = 154;
3745#[doc = "< Sparse Color Filter #1 White-Green-White-Red 12-bit packed"]
3746pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWR12p:
3747    _spinPixelFormatInfoSelectorEnums = 155;
3748#[doc = "< Sparse Color Filter #1 White-Green-White-Red 14-bit unpacked"]
3749pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWR14:
3750    _spinPixelFormatInfoSelectorEnums = 156;
3751#[doc = "< Sparse Color Filter #1 White-Green-White-Red 16-bit"]
3752pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WGWR16:
3753    _spinPixelFormatInfoSelectorEnums = 157;
3754#[doc = "< Sparse Color Filter #1 White-Red-White-Green 8-bit"]
3755pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WRWG8:
3756    _spinPixelFormatInfoSelectorEnums = 158;
3757#[doc = "< Sparse Color Filter #1 White-Red-White-Green 10-bit unpacked"]
3758pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WRWG10:
3759    _spinPixelFormatInfoSelectorEnums = 159;
3760#[doc = "< Sparse Color Filter #1 White-Red-White-Green 10-bit packed"]
3761pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WRWG10p:
3762    _spinPixelFormatInfoSelectorEnums = 160;
3763#[doc = "< Sparse Color Filter #1 White-Red-White-Green 12-bit unpacked"]
3764pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WRWG12:
3765    _spinPixelFormatInfoSelectorEnums = 161;
3766#[doc = "< Sparse Color Filter #1 White-Red-White-Green 12-bit packed"]
3767pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WRWG12p:
3768    _spinPixelFormatInfoSelectorEnums = 162;
3769#[doc = "< Sparse Color Filter #1 White-Red-White-Green 14-bit unpacked"]
3770pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WRWG14:
3771    _spinPixelFormatInfoSelectorEnums = 163;
3772#[doc = "< Sparse Color Filter #1 White-Red-White-Green 16-bit"]
3773pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_SCF1WRWG16:
3774    _spinPixelFormatInfoSelectorEnums = 164;
3775#[doc = "< YCbCr 4:4:4 8-bit"]
3776pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr8:
3777    _spinPixelFormatInfoSelectorEnums = 165;
3778#[doc = "< YCbCr 4:4:4 8-bit"]
3779pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr8_CbYCr:
3780    _spinPixelFormatInfoSelectorEnums = 166;
3781#[doc = "< YCbCr 4:4:4 10-bit unpacked"]
3782pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr10_CbYCr:
3783    _spinPixelFormatInfoSelectorEnums = 167;
3784#[doc = "< YCbCr 4:4:4 10-bit packed"]
3785pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr10p_CbYCr:
3786    _spinPixelFormatInfoSelectorEnums = 168;
3787#[doc = "< YCbCr 4:4:4 12-bit unpacked"]
3788pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr12_CbYCr:
3789    _spinPixelFormatInfoSelectorEnums = 169;
3790#[doc = "< YCbCr 4:4:4 12-bit packed"]
3791pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr12p_CbYCr:
3792    _spinPixelFormatInfoSelectorEnums = 170;
3793#[doc = "< YCbCr 4:1:1 8-bit"]
3794pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr411_8:
3795    _spinPixelFormatInfoSelectorEnums = 171;
3796#[doc = "< YCbCr 4:1:1 8-bit"]
3797pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr411_8_CbYYCrYY:
3798    _spinPixelFormatInfoSelectorEnums = 172;
3799#[doc = "< YCbCr 4:2:2 8-bit"]
3800pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr422_8:
3801    _spinPixelFormatInfoSelectorEnums = 173;
3802#[doc = "< YCbCr 4:2:2 8-bit"]
3803pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr422_8_CbYCrY:
3804    _spinPixelFormatInfoSelectorEnums = 174;
3805#[doc = "< YCbCr 4:2:2 10-bit unpacked"]
3806pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr422_10:
3807    _spinPixelFormatInfoSelectorEnums = 175;
3808#[doc = "< YCbCr 4:2:2 10-bit unpacked"]
3809pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr422_10_CbYCrY:
3810    _spinPixelFormatInfoSelectorEnums = 176;
3811#[doc = "< YCbCr 4:2:2 10-bit packed"]
3812pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr422_10p:
3813    _spinPixelFormatInfoSelectorEnums = 177;
3814#[doc = "< YCbCr 4:2:2 10-bit packed"]
3815pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr422_10p_CbYCrY:
3816    _spinPixelFormatInfoSelectorEnums = 178;
3817#[doc = "< YCbCr 4:2:2 12-bit unpacked"]
3818pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr422_12:
3819    _spinPixelFormatInfoSelectorEnums = 179;
3820#[doc = "< YCbCr 4:2:2 12-bit unpacked"]
3821pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr422_12_CbYCrY:
3822    _spinPixelFormatInfoSelectorEnums = 180;
3823#[doc = "< YCbCr 4:2:2 12-bit packed"]
3824pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr422_12p:
3825    _spinPixelFormatInfoSelectorEnums = 181;
3826#[doc = "< YCbCr 4:2:2 12-bit packed"]
3827pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr422_12p_CbYCrY:
3828    _spinPixelFormatInfoSelectorEnums = 182;
3829#[doc = "< YCbCr 4:4:4 8-bit BT.601"]
3830pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_8_CbYCr:
3831    _spinPixelFormatInfoSelectorEnums = 183;
3832#[doc = "< YCbCr 4:4:4 10-bit unpacked BT.601"]
3833pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_10_CbYCr:
3834    _spinPixelFormatInfoSelectorEnums = 184;
3835#[doc = "< YCbCr 4:4:4 10-bit packed BT.601"]
3836pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_10p_CbYCr:
3837    _spinPixelFormatInfoSelectorEnums = 185;
3838#[doc = "< YCbCr 4:4:4 12-bit unpacked BT.601"]
3839pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_12_CbYCr:
3840    _spinPixelFormatInfoSelectorEnums = 186;
3841#[doc = "< YCbCr 4:4:4 12-bit packed BT.601"]
3842pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_12p_CbYCr:
3843    _spinPixelFormatInfoSelectorEnums = 187;
3844#[doc = "< YCbCr 4:1:1 8-bit BT.601"]
3845pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_411_8_CbYYCrYY:
3846    _spinPixelFormatInfoSelectorEnums = 188;
3847#[doc = "< YCbCr 4:2:2 8-bit BT.601"]
3848pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_422_8:
3849    _spinPixelFormatInfoSelectorEnums = 189;
3850#[doc = "< YCbCr 4:2:2 8-bit BT.601"]
3851pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_422_8_CbYCrY:
3852    _spinPixelFormatInfoSelectorEnums = 190;
3853#[doc = "< YCbCr 4:2:2 10-bit unpacked BT.601"]
3854pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_422_10:
3855    _spinPixelFormatInfoSelectorEnums = 191;
3856#[doc = "< YCbCr 4:2:2 10-bit unpacked BT.601"]
3857pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_422_10_CbYCrY:
3858    _spinPixelFormatInfoSelectorEnums = 192;
3859#[doc = "< YCbCr 4:2:2 10-bit packed BT.601"]
3860pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_422_10p:
3861    _spinPixelFormatInfoSelectorEnums = 193;
3862#[doc = "< YCbCr 4:2:2 10-bit packed BT.601"]
3863pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_422_10p_CbYCrY:
3864    _spinPixelFormatInfoSelectorEnums = 194;
3865#[doc = "< YCbCr 4:2:2 12-bit unpacked BT.601"]
3866pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_422_12:
3867    _spinPixelFormatInfoSelectorEnums = 195;
3868#[doc = "< YCbCr 4:2:2 12-bit unpacked BT.601"]
3869pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_422_12_CbYCrY:
3870    _spinPixelFormatInfoSelectorEnums = 196;
3871#[doc = "< YCbCr 4:2:2 12-bit packed BT.601"]
3872pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_422_12p:
3873    _spinPixelFormatInfoSelectorEnums = 197;
3874#[doc = "< YCbCr 4:2:2 12-bit packed BT.601"]
3875pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr601_422_12p_CbYCrY:
3876    _spinPixelFormatInfoSelectorEnums = 198;
3877#[doc = "< YCbCr 4:4:4 8-bit BT.709"]
3878pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_8_CbYCr:
3879    _spinPixelFormatInfoSelectorEnums = 199;
3880#[doc = "< YCbCr 4:4:4 10-bit unpacked BT.709"]
3881pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_10_CbYCr:
3882    _spinPixelFormatInfoSelectorEnums = 200;
3883#[doc = "< YCbCr 4:4:4 10-bit packed BT.709"]
3884pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_10p_CbYCr:
3885    _spinPixelFormatInfoSelectorEnums = 201;
3886#[doc = "< YCbCr 4:4:4 12-bit unpacked BT.709"]
3887pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_12_CbYCr:
3888    _spinPixelFormatInfoSelectorEnums = 202;
3889#[doc = "< YCbCr 4:4:4 12-bit packed BT.709"]
3890pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_12p_CbYCr:
3891    _spinPixelFormatInfoSelectorEnums = 203;
3892#[doc = "< YCbCr 4:1:1 8-bit BT.709"]
3893pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_411_8_CbYYCrYY:
3894    _spinPixelFormatInfoSelectorEnums = 204;
3895#[doc = "< YCbCr 4:2:2 8-bit BT.709"]
3896pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_422_8:
3897    _spinPixelFormatInfoSelectorEnums = 205;
3898#[doc = "< YCbCr 4:2:2 8-bit BT.709"]
3899pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_422_8_CbYCrY:
3900    _spinPixelFormatInfoSelectorEnums = 206;
3901#[doc = "< YCbCr 4:2:2 10-bit unpacked BT.709"]
3902pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_422_10:
3903    _spinPixelFormatInfoSelectorEnums = 207;
3904#[doc = "< YCbCr 4:2:2 10-bit unpacked BT.709"]
3905pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_422_10_CbYCrY:
3906    _spinPixelFormatInfoSelectorEnums = 208;
3907#[doc = "< YCbCr 4:2:2 10-bit packed BT.709"]
3908pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_422_10p:
3909    _spinPixelFormatInfoSelectorEnums = 209;
3910#[doc = "< YCbCr 4:2:2 10-bit packed BT.709"]
3911pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_422_10p_CbYCrY:
3912    _spinPixelFormatInfoSelectorEnums = 210;
3913#[doc = "< YCbCr 4:2:2 12-bit unpacked BT.709"]
3914pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_422_12:
3915    _spinPixelFormatInfoSelectorEnums = 211;
3916#[doc = "< YCbCr 4:2:2 12-bit unpacked BT.709"]
3917pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_422_12_CbYCrY:
3918    _spinPixelFormatInfoSelectorEnums = 212;
3919#[doc = "< YCbCr 4:2:2 12-bit packed BT.709"]
3920pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_422_12p:
3921    _spinPixelFormatInfoSelectorEnums = 213;
3922#[doc = "< YCbCr 4:2:2 12-bit packed BT.709"]
3923pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YCbCr709_422_12p_CbYCrY:
3924    _spinPixelFormatInfoSelectorEnums = 214;
3925#[doc = "< YUV 4:4:4 8-bit"]
3926pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YUV8_UYV:
3927    _spinPixelFormatInfoSelectorEnums = 215;
3928#[doc = "< YUV 4:1:1 8-bit"]
3929pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YUV411_8_UYYVYY:
3930    _spinPixelFormatInfoSelectorEnums = 216;
3931#[doc = "< YUV 4:2:2 8-bit"]
3932pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YUV422_8:
3933    _spinPixelFormatInfoSelectorEnums = 217;
3934#[doc = "< YUV 4:2:2 8-bit"]
3935pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_YUV422_8_UYVY:
3936    _spinPixelFormatInfoSelectorEnums = 218;
3937#[doc = "< Monochrome Polarized 8-bit"]
3938pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Polarized8:
3939    _spinPixelFormatInfoSelectorEnums = 219;
3940#[doc = "< Monochrome Polarized 10-bit packed"]
3941pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Polarized10p:
3942    _spinPixelFormatInfoSelectorEnums = 220;
3943#[doc = "< Monochrome Polarized 12-bit packed"]
3944pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Polarized12p:
3945    _spinPixelFormatInfoSelectorEnums = 221;
3946#[doc = "< Monochrome Polarized 16-bit"]
3947pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_Polarized16:
3948    _spinPixelFormatInfoSelectorEnums = 222;
3949#[doc = "< Polarized Bayer Red Green filter 8-bit"]
3950pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerRGPolarized8:
3951    _spinPixelFormatInfoSelectorEnums = 223;
3952#[doc = "< Polarized Bayer Red Green filter 10-bit packed"]
3953pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerRGPolarized10p:
3954    _spinPixelFormatInfoSelectorEnums = 224;
3955#[doc = "< Polarized Bayer Red Green filter 12-bit packed"]
3956pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerRGPolarized12p:
3957    _spinPixelFormatInfoSelectorEnums = 225;
3958#[doc = "< Polarized Bayer Red Green filter 16-bit"]
3959pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_BayerRGPolarized16:
3960    _spinPixelFormatInfoSelectorEnums = 226;
3961#[doc = "< Lossless Compression Monochrome 8-bit"]
3962pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_LLCMono8:
3963    _spinPixelFormatInfoSelectorEnums = 227;
3964#[doc = "< Lossless Compression Bayer Red Green filter 8-bit"]
3965pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_LLCBayerRG8:
3966    _spinPixelFormatInfoSelectorEnums = 228;
3967#[doc = "< JPEG Monochrome 8-bit"]
3968pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_JPEGMono8:
3969    _spinPixelFormatInfoSelectorEnums = 229;
3970#[doc = "< JPEG Color 8-bit"]
3971pub const _spinPixelFormatInfoSelectorEnums_PixelFormatInfoSelector_JPEGColor8:
3972    _spinPixelFormatInfoSelectorEnums = 230;
3973pub const _spinPixelFormatInfoSelectorEnums_NUM_PIXELFORMATINFOSELECTOR:
3974    _spinPixelFormatInfoSelectorEnums = 231;
3975pub type _spinPixelFormatInfoSelectorEnums = ::std::os::raw::c_uint;
3976pub use self::_spinPixelFormatInfoSelectorEnums as spinPixelFormatInfoSelectorEnums;
3977#[doc = "< The device doesn't perform de-interlacing."]
3978pub const _spinDeinterlacingEnums_Deinterlacing_Off: _spinDeinterlacingEnums = 0;
3979#[doc = "< The device performs de-interlacing by outputting each line of each field twice."]
3980pub const _spinDeinterlacingEnums_Deinterlacing_LineDuplication: _spinDeinterlacingEnums = 1;
3981#[doc = "< The device performs de-interlacing by interleaving the lines of all fields."]
3982pub const _spinDeinterlacingEnums_Deinterlacing_Weave: _spinDeinterlacingEnums = 2;
3983pub const _spinDeinterlacingEnums_NUM_DEINTERLACING: _spinDeinterlacingEnums = 3;
3984pub type _spinDeinterlacingEnums = ::std::os::raw::c_uint;
3985pub use self::_spinDeinterlacingEnums as spinDeinterlacingEnums;
3986#[doc = "< Output stream follows a constant bit rate. Allows easy bandwidth management on the link."]
3987pub const _spinImageCompressionRateOptionEnums_ImageCompressionRateOption_FixBitrate:
3988    _spinImageCompressionRateOptionEnums = 0;
3989#[doc = "< Output stream has a constant image quality. Can be used when image processing algorithms are sensitive to image degradation caused by excessive data compression."]
3990pub const _spinImageCompressionRateOptionEnums_ImageCompressionRateOption_FixQuality:
3991    _spinImageCompressionRateOptionEnums = 1;
3992pub const _spinImageCompressionRateOptionEnums_NUM_IMAGECOMPRESSIONRATEOPTION:
3993    _spinImageCompressionRateOptionEnums = 2;
3994pub type _spinImageCompressionRateOptionEnums = ::std::os::raw::c_uint;
3995pub use self::_spinImageCompressionRateOptionEnums as spinImageCompressionRateOptionEnums;
3996#[doc = "< Selects lossless JPEG compression based on a predictive coding model."]
3997pub const _spinImageCompressionJPEGFormatOptionEnums_ImageCompressionJPEGFormatOption_Lossless:
3998    _spinImageCompressionJPEGFormatOptionEnums = 0;
3999#[doc = "< Indicates this is a baseline sequential (single-scan) DCT-based JPEG."]
4000pub const _spinImageCompressionJPEGFormatOptionEnums_ImageCompressionJPEGFormatOption_BaselineStandard : _spinImageCompressionJPEGFormatOptionEnums = 1 ;
4001#[doc = "< Provides optimized color and slightly better compression than baseline standard by using custom Huffman tables optimized after statistical analysis of the image content."]
4002pub const _spinImageCompressionJPEGFormatOptionEnums_ImageCompressionJPEGFormatOption_BaselineOptimized : _spinImageCompressionJPEGFormatOptionEnums = 2 ;
4003#[doc = "< Indicates this is a progressive (multi-scan) DCT-based JPEG."]
4004pub const _spinImageCompressionJPEGFormatOptionEnums_ImageCompressionJPEGFormatOption_Progressive : _spinImageCompressionJPEGFormatOptionEnums = 3 ;
4005pub const _spinImageCompressionJPEGFormatOptionEnums_NUM_IMAGECOMPRESSIONJPEGFORMATOPTION:
4006    _spinImageCompressionJPEGFormatOptionEnums = 4;
4007pub type _spinImageCompressionJPEGFormatOptionEnums = ::std::os::raw::c_uint;
4008pub use self::_spinImageCompressionJPEGFormatOptionEnums as spinImageCompressionJPEGFormatOptionEnums;
4009#[doc = "< Device is currently waiting for a trigger for the capture of one or many frames."]
4010pub const _spinAcquisitionStatusSelectorEnums_AcquisitionStatusSelector_AcquisitionTriggerWait:
4011    _spinAcquisitionStatusSelectorEnums = 0;
4012#[doc = "< Device is currently doing an acquisition of one or many frames."]
4013pub const _spinAcquisitionStatusSelectorEnums_AcquisitionStatusSelector_AcquisitionActive:
4014    _spinAcquisitionStatusSelectorEnums = 1;
4015#[doc = "< Device is currently transferring an acquisition of one or many frames."]
4016pub const _spinAcquisitionStatusSelectorEnums_AcquisitionStatusSelector_AcquisitionTransfer:
4017    _spinAcquisitionStatusSelectorEnums = 2;
4018#[doc = "< Device is currently waiting for a frame start trigger."]
4019pub const _spinAcquisitionStatusSelectorEnums_AcquisitionStatusSelector_FrameTriggerWait:
4020    _spinAcquisitionStatusSelectorEnums = 3;
4021#[doc = "< Device is currently doing the capture of a frame."]
4022pub const _spinAcquisitionStatusSelectorEnums_AcquisitionStatusSelector_FrameActive:
4023    _spinAcquisitionStatusSelectorEnums = 4;
4024#[doc = "< Device is doing the exposure of a frame."]
4025pub const _spinAcquisitionStatusSelectorEnums_AcquisitionStatusSelector_ExposureActive:
4026    _spinAcquisitionStatusSelectorEnums = 5;
4027pub const _spinAcquisitionStatusSelectorEnums_NUM_ACQUISITIONSTATUSSELECTOR:
4028    _spinAcquisitionStatusSelectorEnums = 6;
4029pub type _spinAcquisitionStatusSelectorEnums = ::std::os::raw::c_uint;
4030pub use self::_spinAcquisitionStatusSelectorEnums as spinAcquisitionStatusSelectorEnums;
4031#[doc = "< The exposure time is common to all the color components. The common ExposureTime value to use can be set selecting it with ExposureTimeSelector[Common]."]
4032pub const _spinExposureTimeModeEnums_ExposureTimeMode_Common: _spinExposureTimeModeEnums = 0;
4033#[doc = "< The exposure time is individual for each color component. Each individual ExposureTime values to use can be set by selecting them with ExposureTimeSelector."]
4034pub const _spinExposureTimeModeEnums_ExposureTimeMode_Individual: _spinExposureTimeModeEnums = 1;
4035pub const _spinExposureTimeModeEnums_NUM_EXPOSURETIMEMODE: _spinExposureTimeModeEnums = 2;
4036pub type _spinExposureTimeModeEnums = ::std::os::raw::c_uint;
4037pub use self::_spinExposureTimeModeEnums as spinExposureTimeModeEnums;
4038#[doc = "< Selects the common ExposureTime."]
4039pub const _spinExposureTimeSelectorEnums_ExposureTimeSelector_Common:
4040    _spinExposureTimeSelectorEnums = 0;
4041#[doc = "< Selects the red common ExposureTime."]
4042pub const _spinExposureTimeSelectorEnums_ExposureTimeSelector_Red: _spinExposureTimeSelectorEnums =
4043    1;
4044#[doc = "< Selects the green ExposureTime."]
4045pub const _spinExposureTimeSelectorEnums_ExposureTimeSelector_Green:
4046    _spinExposureTimeSelectorEnums = 2;
4047#[doc = "< Selects the blue ExposureTime."]
4048pub const _spinExposureTimeSelectorEnums_ExposureTimeSelector_Blue: _spinExposureTimeSelectorEnums =
4049    3;
4050#[doc = "< Selects the cyan common ExposureTime."]
4051pub const _spinExposureTimeSelectorEnums_ExposureTimeSelector_Cyan: _spinExposureTimeSelectorEnums =
4052    4;
4053#[doc = "< Selects the magenta ExposureTime."]
4054pub const _spinExposureTimeSelectorEnums_ExposureTimeSelector_Magenta:
4055    _spinExposureTimeSelectorEnums = 5;
4056#[doc = "< Selects the yellow ExposureTime."]
4057pub const _spinExposureTimeSelectorEnums_ExposureTimeSelector_Yellow:
4058    _spinExposureTimeSelectorEnums = 6;
4059#[doc = "< Selects the infrared ExposureTime."]
4060pub const _spinExposureTimeSelectorEnums_ExposureTimeSelector_Infrared:
4061    _spinExposureTimeSelectorEnums = 7;
4062#[doc = "< Selects the ultraviolet ExposureTime."]
4063pub const _spinExposureTimeSelectorEnums_ExposureTimeSelector_Ultraviolet:
4064    _spinExposureTimeSelectorEnums = 8;
4065#[doc = "< Selects the first stage ExposureTime."]
4066pub const _spinExposureTimeSelectorEnums_ExposureTimeSelector_Stage1:
4067    _spinExposureTimeSelectorEnums = 9;
4068#[doc = "< Selects the second stage ExposureTime."]
4069pub const _spinExposureTimeSelectorEnums_ExposureTimeSelector_Stage2:
4070    _spinExposureTimeSelectorEnums = 10;
4071pub const _spinExposureTimeSelectorEnums_NUM_EXPOSURETIMESELECTOR: _spinExposureTimeSelectorEnums =
4072    11;
4073pub type _spinExposureTimeSelectorEnums = ::std::os::raw::c_uint;
4074pub use self::_spinExposureTimeSelectorEnums as spinExposureTimeSelectorEnums;
4075#[doc = "< Gain tap balancing is user controlled using Gain ."]
4076pub const _spinGainAutoBalanceEnums_GainAutoBalance_Off: _spinGainAutoBalanceEnums = 0;
4077#[doc = "< Gain tap balancing is automatically adjusted once by the device. Once it has converged, it automatically returns to the Off state."]
4078pub const _spinGainAutoBalanceEnums_GainAutoBalance_Once: _spinGainAutoBalanceEnums = 1;
4079#[doc = "< Gain tap balancing is constantly adjusted by the device."]
4080pub const _spinGainAutoBalanceEnums_GainAutoBalance_Continuous: _spinGainAutoBalanceEnums = 2;
4081pub const _spinGainAutoBalanceEnums_NUM_GAINAUTOBALANCE: _spinGainAutoBalanceEnums = 3;
4082pub type _spinGainAutoBalanceEnums = ::std::os::raw::c_uint;
4083pub use self::_spinGainAutoBalanceEnums as spinGainAutoBalanceEnums;
4084#[doc = "< Analog black level is user controlled using BlackLevel."]
4085pub const _spinBlackLevelAutoEnums_BlackLevelAuto_Off: _spinBlackLevelAutoEnums = 0;
4086#[doc = "< Analog black level is automatically adjusted once by the device. Once it has converged, it automatically returns to the Off state."]
4087pub const _spinBlackLevelAutoEnums_BlackLevelAuto_Once: _spinBlackLevelAutoEnums = 1;
4088#[doc = "< Analog black level is constantly adjusted by the device."]
4089pub const _spinBlackLevelAutoEnums_BlackLevelAuto_Continuous: _spinBlackLevelAutoEnums = 2;
4090pub const _spinBlackLevelAutoEnums_NUM_BLACKLEVELAUTO: _spinBlackLevelAutoEnums = 3;
4091pub type _spinBlackLevelAutoEnums = ::std::os::raw::c_uint;
4092pub use self::_spinBlackLevelAutoEnums as spinBlackLevelAutoEnums;
4093#[doc = "< Black level tap balancing is user controlled using BlackLevel."]
4094pub const _spinBlackLevelAutoBalanceEnums_BlackLevelAutoBalance_Off:
4095    _spinBlackLevelAutoBalanceEnums = 0;
4096#[doc = "< Black level tap balancing is automatically adjusted once by the device. Once it has converged, it automatically returns to the Off state."]
4097pub const _spinBlackLevelAutoBalanceEnums_BlackLevelAutoBalance_Once:
4098    _spinBlackLevelAutoBalanceEnums = 1;
4099#[doc = "< Black level tap balancing is constantly adjusted by the device."]
4100pub const _spinBlackLevelAutoBalanceEnums_BlackLevelAutoBalance_Continuous:
4101    _spinBlackLevelAutoBalanceEnums = 2;
4102pub const _spinBlackLevelAutoBalanceEnums_NUM_BLACKLEVELAUTOBALANCE:
4103    _spinBlackLevelAutoBalanceEnums = 3;
4104pub type _spinBlackLevelAutoBalanceEnums = ::std::os::raw::c_uint;
4105pub use self::_spinBlackLevelAutoBalanceEnums as spinBlackLevelAutoBalanceEnums;
4106#[doc = "< White Clip will be applied to all channels or taps."]
4107pub const _spinWhiteClipSelectorEnums_WhiteClipSelector_All: _spinWhiteClipSelectorEnums = 0;
4108#[doc = "< White Clip will be applied to the red channel."]
4109pub const _spinWhiteClipSelectorEnums_WhiteClipSelector_Red: _spinWhiteClipSelectorEnums = 1;
4110#[doc = "< White Clip will be applied to the green channel."]
4111pub const _spinWhiteClipSelectorEnums_WhiteClipSelector_Green: _spinWhiteClipSelectorEnums = 2;
4112#[doc = "< White Clip will be applied to the blue channel."]
4113pub const _spinWhiteClipSelectorEnums_WhiteClipSelector_Blue: _spinWhiteClipSelectorEnums = 3;
4114#[doc = "< White Clip will be applied to Y channel."]
4115pub const _spinWhiteClipSelectorEnums_WhiteClipSelector_Y: _spinWhiteClipSelectorEnums = 4;
4116#[doc = "< White Clip will be applied to U channel."]
4117pub const _spinWhiteClipSelectorEnums_WhiteClipSelector_U: _spinWhiteClipSelectorEnums = 5;
4118#[doc = "< White Clip will be applied to V channel."]
4119pub const _spinWhiteClipSelectorEnums_WhiteClipSelector_V: _spinWhiteClipSelectorEnums = 6;
4120#[doc = "< White Clip will be applied to Tap 1."]
4121pub const _spinWhiteClipSelectorEnums_WhiteClipSelector_Tap1: _spinWhiteClipSelectorEnums = 7;
4122#[doc = "< White Clip will be applied to Tap 2."]
4123pub const _spinWhiteClipSelectorEnums_WhiteClipSelector_Tap2: _spinWhiteClipSelectorEnums = 8;
4124pub const _spinWhiteClipSelectorEnums_NUM_WHITECLIPSELECTOR: _spinWhiteClipSelectorEnums = 9;
4125pub type _spinWhiteClipSelectorEnums = ::std::os::raw::c_uint;
4126pub use self::_spinWhiteClipSelectorEnums as spinWhiteClipSelectorEnums;
4127#[doc = "< Selects the Timer 0."]
4128pub const _spinTimerSelectorEnums_TimerSelector_Timer0: _spinTimerSelectorEnums = 0;
4129#[doc = "< Selects the Timer 1."]
4130pub const _spinTimerSelectorEnums_TimerSelector_Timer1: _spinTimerSelectorEnums = 1;
4131#[doc = "< Selects the Timer 2."]
4132pub const _spinTimerSelectorEnums_TimerSelector_Timer2: _spinTimerSelectorEnums = 2;
4133pub const _spinTimerSelectorEnums_NUM_TIMERSELECTOR: _spinTimerSelectorEnums = 3;
4134pub type _spinTimerSelectorEnums = ::std::os::raw::c_uint;
4135pub use self::_spinTimerSelectorEnums as spinTimerSelectorEnums;
4136#[doc = "< The Timer is idle."]
4137pub const _spinTimerStatusEnums_TimerStatus_TimerIdle: _spinTimerStatusEnums = 0;
4138#[doc = "< The Timer is waiting for a start trigger."]
4139pub const _spinTimerStatusEnums_TimerStatus_TimerTriggerWait: _spinTimerStatusEnums = 1;
4140#[doc = "< The Timer is counting for the specified duration."]
4141pub const _spinTimerStatusEnums_TimerStatus_TimerActive: _spinTimerStatusEnums = 2;
4142#[doc = "< The Timer reached the TimerDuration count."]
4143pub const _spinTimerStatusEnums_TimerStatus_TimerCompleted: _spinTimerStatusEnums = 3;
4144pub const _spinTimerStatusEnums_NUM_TIMERSTATUS: _spinTimerStatusEnums = 4;
4145pub type _spinTimerStatusEnums = ::std::os::raw::c_uint;
4146pub use self::_spinTimerStatusEnums as spinTimerStatusEnums;
4147#[doc = "< Disables the Timer trigger."]
4148pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Off: _spinTimerTriggerSourceEnums = 0;
4149#[doc = "< Starts with the reception of the Acquisition Trigger."]
4150pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_AcquisitionTrigger:
4151    _spinTimerTriggerSourceEnums = 1;
4152#[doc = "< Starts with the reception of the Acquisition Start."]
4153pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_AcquisitionStart:
4154    _spinTimerTriggerSourceEnums = 2;
4155#[doc = "< Starts with the reception of the Acquisition End."]
4156pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_AcquisitionEnd:
4157    _spinTimerTriggerSourceEnums = 3;
4158#[doc = "< Starts with the reception of the Frame Start Trigger."]
4159pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_FrameTrigger:
4160    _spinTimerTriggerSourceEnums = 4;
4161#[doc = "< Starts with the reception of the Frame Start."]
4162pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_FrameStart: _spinTimerTriggerSourceEnums =
4163    5;
4164#[doc = "< Starts with the reception of the Frame End."]
4165pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_FrameEnd: _spinTimerTriggerSourceEnums =
4166    6;
4167#[doc = "< Starts with the reception of the Frame Burst Start."]
4168pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_FrameBurstStart:
4169    _spinTimerTriggerSourceEnums = 7;
4170#[doc = "< Starts with the reception of the Frame Burst End."]
4171pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_FrameBurstEnd:
4172    _spinTimerTriggerSourceEnums = 8;
4173#[doc = "< Starts with the reception of the Line Start Trigger."]
4174pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_LineTrigger:
4175    _spinTimerTriggerSourceEnums = 9;
4176#[doc = "< Starts with the reception of the Line Start."]
4177pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_LineStart: _spinTimerTriggerSourceEnums =
4178    10;
4179#[doc = "< Starts with the reception of the Line End."]
4180pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_LineEnd: _spinTimerTriggerSourceEnums =
4181    11;
4182#[doc = "< Starts with the reception of the Exposure Start."]
4183pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_ExposureStart:
4184    _spinTimerTriggerSourceEnums = 12;
4185#[doc = "< Starts with the reception of the Exposure End."]
4186pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_ExposureEnd:
4187    _spinTimerTriggerSourceEnums = 13;
4188#[doc = "< Starts when the specidfied TimerTriggerActivation condition is met on the chosen I/O Line."]
4189pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Line0: _spinTimerTriggerSourceEnums = 14;
4190#[doc = "< Starts when the specidfied TimerTriggerActivation condition is met on the chosen I/O Line."]
4191pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Line1: _spinTimerTriggerSourceEnums = 15;
4192#[doc = "< Starts when the specidfied TimerTriggerActivation condition is met on the chosen I/O Line."]
4193pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Line2: _spinTimerTriggerSourceEnums = 16;
4194#[doc = "< Specifies which User Output bit signal to use as internal source for the trigger."]
4195pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_UserOutput0:
4196    _spinTimerTriggerSourceEnums = 17;
4197#[doc = "< Specifies which User Output bit signal to use as internal source for the trigger."]
4198pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_UserOutput1:
4199    _spinTimerTriggerSourceEnums = 18;
4200#[doc = "< Specifies which User Output bit signal to use as internal source for the trigger."]
4201pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_UserOutput2:
4202    _spinTimerTriggerSourceEnums = 19;
4203#[doc = "< Starts with the reception of the Counter Start."]
4204pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Counter0Start:
4205    _spinTimerTriggerSourceEnums = 20;
4206#[doc = "< Starts with the reception of the Counter Start."]
4207pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Counter1Start:
4208    _spinTimerTriggerSourceEnums = 21;
4209#[doc = "< Starts with the reception of the Counter Start."]
4210pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Counter2Start:
4211    _spinTimerTriggerSourceEnums = 22;
4212#[doc = "< Starts with the reception of the Counter End."]
4213pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Counter0End:
4214    _spinTimerTriggerSourceEnums = 23;
4215#[doc = "< Starts with the reception of the Counter End."]
4216pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Counter1End:
4217    _spinTimerTriggerSourceEnums = 24;
4218#[doc = "< Starts with the reception of the Counter End."]
4219pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Counter2End:
4220    _spinTimerTriggerSourceEnums = 25;
4221#[doc = "< Starts with the reception of the Timer Start."]
4222pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Timer0Start:
4223    _spinTimerTriggerSourceEnums = 26;
4224#[doc = "< Starts with the reception of the Timer Start."]
4225pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Timer1Start:
4226    _spinTimerTriggerSourceEnums = 27;
4227#[doc = "< Starts with the reception of the Timer Start."]
4228pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Timer2Start:
4229    _spinTimerTriggerSourceEnums = 28;
4230#[doc = "< Starts with the reception of the Timer End. Note that a timer can retrigger itself to achieve a free running Timer."]
4231pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Timer0End: _spinTimerTriggerSourceEnums =
4232    29;
4233#[doc = "< Starts with the reception of the Timer End. Note that a timer can retrigger itself to achieve a free running Timer."]
4234pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Timer1End: _spinTimerTriggerSourceEnums =
4235    30;
4236#[doc = "< Starts with the reception of the Timer End. Note that a timer can retrigger itself to achieve a free running Timer."]
4237pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Timer2End: _spinTimerTriggerSourceEnums =
4238    31;
4239#[doc = "< Starts with the reception of the Encoder output signal."]
4240pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Encoder0: _spinTimerTriggerSourceEnums =
4241    32;
4242#[doc = "< Starts with the reception of the Encoder output signal."]
4243pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Encoder1: _spinTimerTriggerSourceEnums =
4244    33;
4245#[doc = "< Starts with the reception of the Encoder output signal."]
4246pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Encoder2: _spinTimerTriggerSourceEnums =
4247    34;
4248#[doc = "< Starts on the reception of the Software Signal."]
4249pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_SoftwareSignal0:
4250    _spinTimerTriggerSourceEnums = 35;
4251#[doc = "< Starts on the reception of the Software Signal."]
4252pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_SoftwareSignal1:
4253    _spinTimerTriggerSourceEnums = 36;
4254#[doc = "< Starts on the reception of the Software Signal."]
4255pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_SoftwareSignal2:
4256    _spinTimerTriggerSourceEnums = 37;
4257#[doc = "< Starts with the assertion of the chosen action signal."]
4258pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Action0: _spinTimerTriggerSourceEnums =
4259    38;
4260#[doc = "< Starts with the assertion of the chosen action signal."]
4261pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Action1: _spinTimerTriggerSourceEnums =
4262    39;
4263#[doc = "< Starts with the assertion of the chosen action signal."]
4264pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_Action2: _spinTimerTriggerSourceEnums =
4265    40;
4266#[doc = "< Starts with the reception of the chosen Link Trigger."]
4267pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_LinkTrigger0:
4268    _spinTimerTriggerSourceEnums = 41;
4269#[doc = "< Starts with the reception of the chosen Link Trigger."]
4270pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_LinkTrigger1:
4271    _spinTimerTriggerSourceEnums = 42;
4272#[doc = "< Starts with the reception of the chosen Link Trigger."]
4273pub const _spinTimerTriggerSourceEnums_TimerTriggerSource_LinkTrigger2:
4274    _spinTimerTriggerSourceEnums = 43;
4275pub const _spinTimerTriggerSourceEnums_NUM_TIMERTRIGGERSOURCE: _spinTimerTriggerSourceEnums = 44;
4276pub type _spinTimerTriggerSourceEnums = ::std::os::raw::c_uint;
4277pub use self::_spinTimerTriggerSourceEnums as spinTimerTriggerSourceEnums;
4278#[doc = "< Starts counting on the Rising Edge of the selected trigger signal."]
4279pub const _spinTimerTriggerActivationEnums_TimerTriggerActivation_RisingEdge:
4280    _spinTimerTriggerActivationEnums = 0;
4281#[doc = "< Starts counting on the Falling Edge of the selected trigger signal."]
4282pub const _spinTimerTriggerActivationEnums_TimerTriggerActivation_FallingEdge:
4283    _spinTimerTriggerActivationEnums = 1;
4284#[doc = "< Starts counting on the Falling or Rising Edge of the selected trigger signal."]
4285pub const _spinTimerTriggerActivationEnums_TimerTriggerActivation_AnyEdge:
4286    _spinTimerTriggerActivationEnums = 2;
4287#[doc = "< Counts as long as the selected trigger signal level is High."]
4288pub const _spinTimerTriggerActivationEnums_TimerTriggerActivation_LevelHigh:
4289    _spinTimerTriggerActivationEnums = 3;
4290#[doc = "< Counts as long as the selected trigger signal level is Low."]
4291pub const _spinTimerTriggerActivationEnums_TimerTriggerActivation_LevelLow:
4292    _spinTimerTriggerActivationEnums = 4;
4293pub const _spinTimerTriggerActivationEnums_NUM_TIMERTRIGGERACTIVATION:
4294    _spinTimerTriggerActivationEnums = 5;
4295pub type _spinTimerTriggerActivationEnums = ::std::os::raw::c_uint;
4296pub use self::_spinTimerTriggerActivationEnums as spinTimerTriggerActivationEnums;
4297#[doc = "< Selects Encoder 0."]
4298pub const _spinEncoderSelectorEnums_EncoderSelector_Encoder0: _spinEncoderSelectorEnums = 0;
4299#[doc = "< Selects Encoder 1."]
4300pub const _spinEncoderSelectorEnums_EncoderSelector_Encoder1: _spinEncoderSelectorEnums = 1;
4301#[doc = "< Selects Encoder 2."]
4302pub const _spinEncoderSelectorEnums_EncoderSelector_Encoder2: _spinEncoderSelectorEnums = 2;
4303pub const _spinEncoderSelectorEnums_NUM_ENCODERSELECTOR: _spinEncoderSelectorEnums = 3;
4304pub type _spinEncoderSelectorEnums = ::std::os::raw::c_uint;
4305pub use self::_spinEncoderSelectorEnums as spinEncoderSelectorEnums;
4306#[doc = "< Counter is stopped."]
4307pub const _spinEncoderSourceAEnums_EncoderSourceA_Off: _spinEncoderSourceAEnums = 0;
4308#[doc = "< Encoder Forward input is taken from the chosen I/O Line."]
4309pub const _spinEncoderSourceAEnums_EncoderSourceA_Line0: _spinEncoderSourceAEnums = 1;
4310#[doc = "< Encoder Forward input is taken from the chosen I/O Line."]
4311pub const _spinEncoderSourceAEnums_EncoderSourceA_Line1: _spinEncoderSourceAEnums = 2;
4312#[doc = "< Encoder Forward input is taken from the chosen I/O Line."]
4313pub const _spinEncoderSourceAEnums_EncoderSourceA_Line2: _spinEncoderSourceAEnums = 3;
4314pub const _spinEncoderSourceAEnums_NUM_ENCODERSOURCEA: _spinEncoderSourceAEnums = 4;
4315pub type _spinEncoderSourceAEnums = ::std::os::raw::c_uint;
4316pub use self::_spinEncoderSourceAEnums as spinEncoderSourceAEnums;
4317#[doc = "< Counter is stopped."]
4318pub const _spinEncoderSourceBEnums_EncoderSourceB_Off: _spinEncoderSourceBEnums = 0;
4319#[doc = "< Encoder Reverse input is taken from the chosen I/O Line.."]
4320pub const _spinEncoderSourceBEnums_EncoderSourceB_Line0: _spinEncoderSourceBEnums = 1;
4321#[doc = "< Encoder Reverse input is taken from the chosen I/O Line.."]
4322pub const _spinEncoderSourceBEnums_EncoderSourceB_Line1: _spinEncoderSourceBEnums = 2;
4323#[doc = "< Encoder Reverse input is taken from the chosen I/O Line.."]
4324pub const _spinEncoderSourceBEnums_EncoderSourceB_Line2: _spinEncoderSourceBEnums = 3;
4325pub const _spinEncoderSourceBEnums_NUM_ENCODERSOURCEB: _spinEncoderSourceBEnums = 4;
4326pub type _spinEncoderSourceBEnums = ::std::os::raw::c_uint;
4327pub use self::_spinEncoderSourceBEnums as spinEncoderSourceBEnums;
4328#[doc = "< The counter increments or decrements 1 for every full quadrature cycle with jitter filtering."]
4329pub const _spinEncoderModeEnums_EncoderMode_FourPhase: _spinEncoderModeEnums = 0;
4330#[doc = "< The counter increments or decrements every quadrature phase for high resolution counting, but without jitter filtering."]
4331pub const _spinEncoderModeEnums_EncoderMode_HighResolution: _spinEncoderModeEnums = 1;
4332pub const _spinEncoderModeEnums_NUM_ENCODERMODE: _spinEncoderModeEnums = 2;
4333pub type _spinEncoderModeEnums = ::std::os::raw::c_uint;
4334pub use self::_spinEncoderModeEnums as spinEncoderModeEnums;
4335#[doc = "< No output pulse are generated."]
4336pub const _spinEncoderOutputModeEnums_EncoderOutputMode_Off: _spinEncoderOutputModeEnums = 0;
4337#[doc = "< Output pulses are generated at all new positions in the positive direction. If the encoder reverses no output pulse are generated until it has again passed the position where the reversal started."]
4338pub const _spinEncoderOutputModeEnums_EncoderOutputMode_PositionUp: _spinEncoderOutputModeEnums = 1;
4339#[doc = "< Output pulses are generated at all new positions in the negative direction. If the encoder reverses no output pulse are generated until it has again passed the position where the reversal started."]
4340pub const _spinEncoderOutputModeEnums_EncoderOutputMode_PositionDown: _spinEncoderOutputModeEnums =
4341    2;
4342#[doc = "< Output pulses are generated at all position increments in the positive direction while ignoring negative direction motion."]
4343pub const _spinEncoderOutputModeEnums_EncoderOutputMode_DirectionUp: _spinEncoderOutputModeEnums =
4344    3;
4345#[doc = "< Output pulses are generated at all position increments in the negative direction while ignoring positive direction motion."]
4346pub const _spinEncoderOutputModeEnums_EncoderOutputMode_DirectionDown: _spinEncoderOutputModeEnums =
4347    4;
4348#[doc = "< Output pulses are generated at all motion increments in both directions."]
4349pub const _spinEncoderOutputModeEnums_EncoderOutputMode_Motion: _spinEncoderOutputModeEnums = 5;
4350pub const _spinEncoderOutputModeEnums_NUM_ENCODEROUTPUTMODE: _spinEncoderOutputModeEnums = 6;
4351pub type _spinEncoderOutputModeEnums = ::std::os::raw::c_uint;
4352pub use self::_spinEncoderOutputModeEnums as spinEncoderOutputModeEnums;
4353#[doc = "< The encoder counter last incremented."]
4354pub const _spinEncoderStatusEnums_EncoderStatus_EncoderUp: _spinEncoderStatusEnums = 0;
4355#[doc = "< The encoder counter last decremented."]
4356pub const _spinEncoderStatusEnums_EncoderStatus_EncoderDown: _spinEncoderStatusEnums = 1;
4357#[doc = "< The encoder is not active."]
4358pub const _spinEncoderStatusEnums_EncoderStatus_EncoderIdle: _spinEncoderStatusEnums = 2;
4359#[doc = "< No motion within the EncoderTimeout time."]
4360pub const _spinEncoderStatusEnums_EncoderStatus_EncoderStatic: _spinEncoderStatusEnums = 3;
4361pub const _spinEncoderStatusEnums_NUM_ENCODERSTATUS: _spinEncoderStatusEnums = 4;
4362pub type _spinEncoderStatusEnums = ::std::os::raw::c_uint;
4363pub use self::_spinEncoderStatusEnums as spinEncoderStatusEnums;
4364#[doc = "< Disable the Encoder Reset trigger."]
4365pub const _spinEncoderResetSourceEnums_EncoderResetSource_Off: _spinEncoderResetSourceEnums = 0;
4366#[doc = "< Resets with the reception of the Acquisition Trigger."]
4367pub const _spinEncoderResetSourceEnums_EncoderResetSource_AcquisitionTrigger:
4368    _spinEncoderResetSourceEnums = 1;
4369#[doc = "< Resets with the reception of the Acquisition Start."]
4370pub const _spinEncoderResetSourceEnums_EncoderResetSource_AcquisitionStart:
4371    _spinEncoderResetSourceEnums = 2;
4372#[doc = "< Resets with the reception of the Acquisition End."]
4373pub const _spinEncoderResetSourceEnums_EncoderResetSource_AcquisitionEnd:
4374    _spinEncoderResetSourceEnums = 3;
4375#[doc = "< Resets with the reception of the Frame Start Trigger."]
4376pub const _spinEncoderResetSourceEnums_EncoderResetSource_FrameTrigger:
4377    _spinEncoderResetSourceEnums = 4;
4378#[doc = "< Resets with the reception of the Frame Start."]
4379pub const _spinEncoderResetSourceEnums_EncoderResetSource_FrameStart: _spinEncoderResetSourceEnums =
4380    5;
4381#[doc = "< Resets with the reception of the Frame End."]
4382pub const _spinEncoderResetSourceEnums_EncoderResetSource_FrameEnd: _spinEncoderResetSourceEnums =
4383    6;
4384#[doc = "< Resets with the reception of the Exposure Start."]
4385pub const _spinEncoderResetSourceEnums_EncoderResetSource_ExposureStart:
4386    _spinEncoderResetSourceEnums = 7;
4387#[doc = "< Resets with the reception of the Exposure End."]
4388pub const _spinEncoderResetSourceEnums_EncoderResetSource_ExposureEnd:
4389    _spinEncoderResetSourceEnums = 8;
4390#[doc = "< Resets by the chosen I/O Line."]
4391pub const _spinEncoderResetSourceEnums_EncoderResetSource_Line0: _spinEncoderResetSourceEnums = 9;
4392#[doc = "< Resets by the chosen I/O Line."]
4393pub const _spinEncoderResetSourceEnums_EncoderResetSource_Line1: _spinEncoderResetSourceEnums = 10;
4394#[doc = "< Resets by the chosen I/O Line."]
4395pub const _spinEncoderResetSourceEnums_EncoderResetSource_Line2: _spinEncoderResetSourceEnums = 11;
4396#[doc = "< Resets with the reception of the Counter Start."]
4397pub const _spinEncoderResetSourceEnums_EncoderResetSource_Counter0Start:
4398    _spinEncoderResetSourceEnums = 12;
4399#[doc = "< Resets with the reception of the Counter Start."]
4400pub const _spinEncoderResetSourceEnums_EncoderResetSource_Counter1Start:
4401    _spinEncoderResetSourceEnums = 13;
4402#[doc = "< Resets with the reception of the Counter Start."]
4403pub const _spinEncoderResetSourceEnums_EncoderResetSource_Counter2Start:
4404    _spinEncoderResetSourceEnums = 14;
4405#[doc = "< Resets with the reception of the Counter End."]
4406pub const _spinEncoderResetSourceEnums_EncoderResetSource_Counter0End:
4407    _spinEncoderResetSourceEnums = 15;
4408#[doc = "< Resets with the reception of the Counter End."]
4409pub const _spinEncoderResetSourceEnums_EncoderResetSource_Counter1End:
4410    _spinEncoderResetSourceEnums = 16;
4411#[doc = "< Resets with the reception of the Counter End."]
4412pub const _spinEncoderResetSourceEnums_EncoderResetSource_Counter2End:
4413    _spinEncoderResetSourceEnums = 17;
4414#[doc = "< Resets with the reception of the Timer Start."]
4415pub const _spinEncoderResetSourceEnums_EncoderResetSource_Timer0Start:
4416    _spinEncoderResetSourceEnums = 18;
4417#[doc = "< Resets with the reception of the Timer Start."]
4418pub const _spinEncoderResetSourceEnums_EncoderResetSource_Timer1Start:
4419    _spinEncoderResetSourceEnums = 19;
4420#[doc = "< Resets with the reception of the Timer Start."]
4421pub const _spinEncoderResetSourceEnums_EncoderResetSource_Timer2Start:
4422    _spinEncoderResetSourceEnums = 20;
4423#[doc = "< Resets with the reception of the Timer End."]
4424pub const _spinEncoderResetSourceEnums_EncoderResetSource_Timer0End: _spinEncoderResetSourceEnums =
4425    21;
4426#[doc = "< Resets with the reception of the Timer End."]
4427pub const _spinEncoderResetSourceEnums_EncoderResetSource_Timer1End: _spinEncoderResetSourceEnums =
4428    22;
4429#[doc = "< Resets with the reception of the Timer End."]
4430pub const _spinEncoderResetSourceEnums_EncoderResetSource_Timer2End: _spinEncoderResetSourceEnums =
4431    23;
4432#[doc = "< Resets by the chosen User Output bit."]
4433pub const _spinEncoderResetSourceEnums_EncoderResetSource_UserOutput0:
4434    _spinEncoderResetSourceEnums = 24;
4435#[doc = "< Resets by the chosen User Output bit."]
4436pub const _spinEncoderResetSourceEnums_EncoderResetSource_UserOutput1:
4437    _spinEncoderResetSourceEnums = 25;
4438#[doc = "< Resets by the chosen User Output bit."]
4439pub const _spinEncoderResetSourceEnums_EncoderResetSource_UserOutput2:
4440    _spinEncoderResetSourceEnums = 26;
4441#[doc = "< Resets on the reception of the Software Signal."]
4442pub const _spinEncoderResetSourceEnums_EncoderResetSource_SoftwareSignal0:
4443    _spinEncoderResetSourceEnums = 27;
4444#[doc = "< Resets on the reception of the Software Signal."]
4445pub const _spinEncoderResetSourceEnums_EncoderResetSource_SoftwareSignal1:
4446    _spinEncoderResetSourceEnums = 28;
4447#[doc = "< Resets on the reception of the Software Signal."]
4448pub const _spinEncoderResetSourceEnums_EncoderResetSource_SoftwareSignal2:
4449    _spinEncoderResetSourceEnums = 29;
4450#[doc = "< Resets on assertions of the chosen action signal (Broadcasted signal on the transport layer)."]
4451pub const _spinEncoderResetSourceEnums_EncoderResetSource_Action0: _spinEncoderResetSourceEnums =
4452    30;
4453#[doc = "< Resets on assertions of the chosen action signal (Broadcasted signal on the transport layer)."]
4454pub const _spinEncoderResetSourceEnums_EncoderResetSource_Action1: _spinEncoderResetSourceEnums =
4455    31;
4456#[doc = "< Resets on assertions of the chosen action signal (Broadcasted signal on the transport layer)."]
4457pub const _spinEncoderResetSourceEnums_EncoderResetSource_Action2: _spinEncoderResetSourceEnums =
4458    32;
4459#[doc = "< Resets on the reception of the chosen Link Trigger (received from the transport layer)."]
4460pub const _spinEncoderResetSourceEnums_EncoderResetSource_LinkTrigger0:
4461    _spinEncoderResetSourceEnums = 33;
4462#[doc = "< Resets on the reception of the chosen Link Trigger (received from the transport layer)."]
4463pub const _spinEncoderResetSourceEnums_EncoderResetSource_LinkTrigger1:
4464    _spinEncoderResetSourceEnums = 34;
4465#[doc = "< Resets on the reception of the chosen Link Trigger (received from the transport layer)."]
4466pub const _spinEncoderResetSourceEnums_EncoderResetSource_LinkTrigger2:
4467    _spinEncoderResetSourceEnums = 35;
4468pub const _spinEncoderResetSourceEnums_NUM_ENCODERRESETSOURCE: _spinEncoderResetSourceEnums = 36;
4469pub type _spinEncoderResetSourceEnums = ::std::os::raw::c_uint;
4470pub use self::_spinEncoderResetSourceEnums as spinEncoderResetSourceEnums;
4471#[doc = "< Resets the Encoder on the Rising Edge of the signal."]
4472pub const _spinEncoderResetActivationEnums_EncoderResetActivation_RisingEdge:
4473    _spinEncoderResetActivationEnums = 0;
4474#[doc = "< Resets the Encoder on the Falling Edge of the signal."]
4475pub const _spinEncoderResetActivationEnums_EncoderResetActivation_FallingEdge:
4476    _spinEncoderResetActivationEnums = 1;
4477#[doc = "< Resets the Encoder on the Falling or rising Edge of the selected signal."]
4478pub const _spinEncoderResetActivationEnums_EncoderResetActivation_AnyEdge:
4479    _spinEncoderResetActivationEnums = 2;
4480#[doc = "< Resets the Encoder as long as the selected signal level is High."]
4481pub const _spinEncoderResetActivationEnums_EncoderResetActivation_LevelHigh:
4482    _spinEncoderResetActivationEnums = 3;
4483#[doc = "< Resets the Encoder as long as the selected signal level is Low."]
4484pub const _spinEncoderResetActivationEnums_EncoderResetActivation_LevelLow:
4485    _spinEncoderResetActivationEnums = 4;
4486pub const _spinEncoderResetActivationEnums_NUM_ENCODERRESETACTIVATION:
4487    _spinEncoderResetActivationEnums = 5;
4488pub type _spinEncoderResetActivationEnums = ::std::os::raw::c_uint;
4489pub use self::_spinEncoderResetActivationEnums as spinEncoderResetActivationEnums;
4490#[doc = "< Selects the software generated signal to control."]
4491pub const _spinSoftwareSignalSelectorEnums_SoftwareSignalSelector_SoftwareSignal0:
4492    _spinSoftwareSignalSelectorEnums = 0;
4493#[doc = "< Selects the software generated signal to control."]
4494pub const _spinSoftwareSignalSelectorEnums_SoftwareSignalSelector_SoftwareSignal1:
4495    _spinSoftwareSignalSelectorEnums = 1;
4496#[doc = "< Selects the software generated signal to control."]
4497pub const _spinSoftwareSignalSelectorEnums_SoftwareSignalSelector_SoftwareSignal2:
4498    _spinSoftwareSignalSelectorEnums = 2;
4499pub const _spinSoftwareSignalSelectorEnums_NUM_SOFTWARESIGNALSELECTOR:
4500    _spinSoftwareSignalSelectorEnums = 3;
4501pub type _spinSoftwareSignalSelectorEnums = ::std::os::raw::c_uint;
4502pub use self::_spinSoftwareSignalSelectorEnums as spinSoftwareSignalSelectorEnums;
4503#[doc = "< Unconditional mode is disabled."]
4504pub const _spinActionUnconditionalModeEnums_ActionUnconditionalMode_Off:
4505    _spinActionUnconditionalModeEnums = 0;
4506#[doc = "< Unconditional mode is enabled."]
4507pub const _spinActionUnconditionalModeEnums_ActionUnconditionalMode_On:
4508    _spinActionUnconditionalModeEnums = 1;
4509pub const _spinActionUnconditionalModeEnums_NUM_ACTIONUNCONDITIONALMODE:
4510    _spinActionUnconditionalModeEnums = 2;
4511pub type _spinActionUnconditionalModeEnums = ::std::os::raw::c_uint;
4512pub use self::_spinActionUnconditionalModeEnums as spinActionUnconditionalModeEnums;
4513#[doc = "< Selects the data source 0."]
4514pub const _spinSourceSelectorEnums_SourceSelector_Source0: _spinSourceSelectorEnums = 0;
4515#[doc = "< Selects the data source 1."]
4516pub const _spinSourceSelectorEnums_SourceSelector_Source1: _spinSourceSelectorEnums = 1;
4517#[doc = "< Selects the data source 2."]
4518pub const _spinSourceSelectorEnums_SourceSelector_Source2: _spinSourceSelectorEnums = 2;
4519#[doc = "< Selects all the data sources."]
4520pub const _spinSourceSelectorEnums_SourceSelector_All: _spinSourceSelectorEnums = 3;
4521pub const _spinSourceSelectorEnums_NUM_SOURCESELECTOR: _spinSourceSelectorEnums = 4;
4522pub type _spinSourceSelectorEnums = ::std::os::raw::c_uint;
4523pub use self::_spinSourceSelectorEnums as spinSourceSelectorEnums;
4524#[doc = "< The transfer features control the data stream 0."]
4525pub const _spinTransferSelectorEnums_TransferSelector_Stream0: _spinTransferSelectorEnums = 0;
4526#[doc = "< The transfer features control the data stream 1."]
4527pub const _spinTransferSelectorEnums_TransferSelector_Stream1: _spinTransferSelectorEnums = 1;
4528#[doc = "< The transfer features control the data stream 2."]
4529pub const _spinTransferSelectorEnums_TransferSelector_Stream2: _spinTransferSelectorEnums = 2;
4530#[doc = "< The transfer features control all the data streams simulateneously."]
4531pub const _spinTransferSelectorEnums_TransferSelector_All: _spinTransferSelectorEnums = 3;
4532pub const _spinTransferSelectorEnums_NUM_TRANSFERSELECTOR: _spinTransferSelectorEnums = 4;
4533pub type _spinTransferSelectorEnums = ::std::os::raw::c_uint;
4534pub use self::_spinTransferSelectorEnums as spinTransferSelectorEnums;
4535#[doc = "< Selects a trigger to start the transfers."]
4536pub const _spinTransferTriggerSelectorEnums_TransferTriggerSelector_TransferStart:
4537    _spinTransferTriggerSelectorEnums = 0;
4538#[doc = "< Selects a trigger to stop the transfers."]
4539pub const _spinTransferTriggerSelectorEnums_TransferTriggerSelector_TransferStop:
4540    _spinTransferTriggerSelectorEnums = 1;
4541#[doc = "< Selects a trigger to abort the transfers."]
4542pub const _spinTransferTriggerSelectorEnums_TransferTriggerSelector_TransferAbort:
4543    _spinTransferTriggerSelectorEnums = 2;
4544#[doc = "< Selects a trigger to pause the transfers."]
4545pub const _spinTransferTriggerSelectorEnums_TransferTriggerSelector_TransferPause:
4546    _spinTransferTriggerSelectorEnums = 3;
4547#[doc = "< Selects a trigger to Resume the transfers."]
4548pub const _spinTransferTriggerSelectorEnums_TransferTriggerSelector_TransferResume:
4549    _spinTransferTriggerSelectorEnums = 4;
4550#[doc = "< Selects a trigger to Activate the transfers. This trigger type is used when TriggerActivation is set LevelHigh or levelLow."]
4551pub const _spinTransferTriggerSelectorEnums_TransferTriggerSelector_TransferActive:
4552    _spinTransferTriggerSelectorEnums = 5;
4553#[doc = "< Selects a trigger to start the transfer of a burst of frames specified by TransferBurstCount."]
4554pub const _spinTransferTriggerSelectorEnums_TransferTriggerSelector_TransferBurstStart:
4555    _spinTransferTriggerSelectorEnums = 6;
4556#[doc = "< Selects a trigger to end the transfer of a burst of frames."]
4557pub const _spinTransferTriggerSelectorEnums_TransferTriggerSelector_TransferBurstStop:
4558    _spinTransferTriggerSelectorEnums = 7;
4559pub const _spinTransferTriggerSelectorEnums_NUM_TRANSFERTRIGGERSELECTOR:
4560    _spinTransferTriggerSelectorEnums = 8;
4561pub type _spinTransferTriggerSelectorEnums = ::std::os::raw::c_uint;
4562pub use self::_spinTransferTriggerSelectorEnums as spinTransferTriggerSelectorEnums;
4563#[doc = "< Disables the selected trigger."]
4564pub const _spinTransferTriggerModeEnums_TransferTriggerMode_Off: _spinTransferTriggerModeEnums = 0;
4565#[doc = "< Enable the selected trigger."]
4566pub const _spinTransferTriggerModeEnums_TransferTriggerMode_On: _spinTransferTriggerModeEnums = 1;
4567pub const _spinTransferTriggerModeEnums_NUM_TRANSFERTRIGGERMODE: _spinTransferTriggerModeEnums = 2;
4568pub type _spinTransferTriggerModeEnums = ::std::os::raw::c_uint;
4569pub use self::_spinTransferTriggerModeEnums as spinTransferTriggerModeEnums;
4570#[doc = "< Specifies which physical line (or pin) and associated I/O control block to use as external source for the transfer control trigger signal."]
4571pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Line0:
4572    _spinTransferTriggerSourceEnums = 0;
4573#[doc = "< Specifies which physical line (or pin) and associated I/O control block to use as external source for the transfer control trigger signal."]
4574pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Line1:
4575    _spinTransferTriggerSourceEnums = 1;
4576#[doc = "< Specifies which physical line (or pin) and associated I/O control block to use as external source for the transfer control trigger signal."]
4577pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Line2:
4578    _spinTransferTriggerSourceEnums = 2;
4579#[doc = "< Specifies which of the Counter signal to use as internal source for the transfer control trigger signal."]
4580pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Counter0Start:
4581    _spinTransferTriggerSourceEnums = 3;
4582#[doc = "< Specifies which of the Counter signal to use as internal source for the transfer control trigger signal."]
4583pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Counter1Start:
4584    _spinTransferTriggerSourceEnums = 4;
4585#[doc = "< Specifies which of the Counter signal to use as internal source for the transfer control trigger signal."]
4586pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Counter2Start:
4587    _spinTransferTriggerSourceEnums = 5;
4588#[doc = "< Specifies which of the Counter signal to use as internal source for the transfer control trigger signal."]
4589pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Counter0End:
4590    _spinTransferTriggerSourceEnums = 6;
4591#[doc = "< Specifies which of the Counter signal to use as internal source for the transfer control trigger signal."]
4592pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Counter1End:
4593    _spinTransferTriggerSourceEnums = 7;
4594#[doc = "< Specifies which of the Counter signal to use as internal source for the transfer control trigger signal."]
4595pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Counter2End:
4596    _spinTransferTriggerSourceEnums = 8;
4597#[doc = "< Specifies which Timer signal to use as internal source for the transfer control trigger signal."]
4598pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Timer0Start:
4599    _spinTransferTriggerSourceEnums = 9;
4600#[doc = "< Specifies which Timer signal to use as internal source for the transfer control trigger signal."]
4601pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Timer1Start:
4602    _spinTransferTriggerSourceEnums = 10;
4603#[doc = "< Specifies which Timer signal to use as internal source for the transfer control trigger signal."]
4604pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Timer2Start:
4605    _spinTransferTriggerSourceEnums = 11;
4606#[doc = "< Specifies which Timer signal to use as internal source for the transfer control trigger signal."]
4607pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Timer0End:
4608    _spinTransferTriggerSourceEnums = 12;
4609#[doc = "< Specifies which Timer signal to use as internal source for the transfer control trigger signal."]
4610pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Timer1End:
4611    _spinTransferTriggerSourceEnums = 13;
4612#[doc = "< Specifies which Timer signal to use as internal source for the transfer control trigger signal."]
4613pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Timer2End:
4614    _spinTransferTriggerSourceEnums = 14;
4615#[doc = "< Specifies which Software Signal to use as internal source for the transfer control trigger signal."]
4616pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_SoftwareSignal0:
4617    _spinTransferTriggerSourceEnums = 15;
4618#[doc = "< Specifies which Software Signal to use as internal source for the transfer control trigger signal."]
4619pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_SoftwareSignal1:
4620    _spinTransferTriggerSourceEnums = 16;
4621#[doc = "< Specifies which Software Signal to use as internal source for the transfer control trigger signal."]
4622pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_SoftwareSignal2:
4623    _spinTransferTriggerSourceEnums = 17;
4624#[doc = "< Specifies which Action command to use as internal source for the transfer control trigger signal."]
4625pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Action0:
4626    _spinTransferTriggerSourceEnums = 18;
4627#[doc = "< Specifies which Action command to use as internal source for the transfer control trigger signal."]
4628pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Action1:
4629    _spinTransferTriggerSourceEnums = 19;
4630#[doc = "< Specifies which Action command to use as internal source for the transfer control trigger signal."]
4631pub const _spinTransferTriggerSourceEnums_TransferTriggerSource_Action2:
4632    _spinTransferTriggerSourceEnums = 20;
4633pub const _spinTransferTriggerSourceEnums_NUM_TRANSFERTRIGGERSOURCE:
4634    _spinTransferTriggerSourceEnums = 21;
4635pub type _spinTransferTriggerSourceEnums = ::std::os::raw::c_uint;
4636pub use self::_spinTransferTriggerSourceEnums as spinTransferTriggerSourceEnums;
4637#[doc = "< Specifies that the trigger is considered valid on the rising edge of the source signal."]
4638pub const _spinTransferTriggerActivationEnums_TransferTriggerActivation_RisingEdge:
4639    _spinTransferTriggerActivationEnums = 0;
4640#[doc = "< Specifies that the trigger is considered valid on the falling edge of the source signal."]
4641pub const _spinTransferTriggerActivationEnums_TransferTriggerActivation_FallingEdge:
4642    _spinTransferTriggerActivationEnums = 1;
4643#[doc = "< Specifies that the trigger is considered valid on the falling or rising edge of the source signal."]
4644pub const _spinTransferTriggerActivationEnums_TransferTriggerActivation_AnyEdge:
4645    _spinTransferTriggerActivationEnums = 2;
4646#[doc = "< Specifies that the trigger is considered valid as long as the level of the source signal is high. This can apply to TransferActive and TransferPause trigger."]
4647pub const _spinTransferTriggerActivationEnums_TransferTriggerActivation_LevelHigh:
4648    _spinTransferTriggerActivationEnums = 3;
4649#[doc = "< Specifies that the trigger is considered valid as long as the level of the source signal is low. This can apply to TransferActive and TransferPause trigger."]
4650pub const _spinTransferTriggerActivationEnums_TransferTriggerActivation_LevelLow:
4651    _spinTransferTriggerActivationEnums = 4;
4652pub const _spinTransferTriggerActivationEnums_NUM_TRANSFERTRIGGERACTIVATION:
4653    _spinTransferTriggerActivationEnums = 5;
4654pub type _spinTransferTriggerActivationEnums = ::std::os::raw::c_uint;
4655pub use self::_spinTransferTriggerActivationEnums as spinTransferTriggerActivationEnums;
4656#[doc = "< Data blocks are transmitted when enough data is available."]
4657pub const _spinTransferStatusSelectorEnums_TransferStatusSelector_Streaming:
4658    _spinTransferStatusSelectorEnums = 0;
4659#[doc = "< Data blocks transmission is suspended immediately."]
4660pub const _spinTransferStatusSelectorEnums_TransferStatusSelector_Paused:
4661    _spinTransferStatusSelectorEnums = 1;
4662#[doc = "< Data blocks transmission is stopping. The current block transmission will be completed and the transfer state will stop."]
4663pub const _spinTransferStatusSelectorEnums_TransferStatusSelector_Stopping:
4664    _spinTransferStatusSelectorEnums = 2;
4665#[doc = "< Data blocks transmission is stopped."]
4666pub const _spinTransferStatusSelectorEnums_TransferStatusSelector_Stopped:
4667    _spinTransferStatusSelectorEnums = 3;
4668#[doc = "< Data blocks queue is in overflow state."]
4669pub const _spinTransferStatusSelectorEnums_TransferStatusSelector_QueueOverflow:
4670    _spinTransferStatusSelectorEnums = 4;
4671pub const _spinTransferStatusSelectorEnums_NUM_TRANSFERSTATUSSELECTOR:
4672    _spinTransferStatusSelectorEnums = 5;
4673pub type _spinTransferStatusSelectorEnums = ::std::os::raw::c_uint;
4674pub use self::_spinTransferStatusSelectorEnums as spinTransferStatusSelectorEnums;
4675#[doc = "< The TransferStreamChannel feature controls the index of the stream channel for the streaming of the red plane of the planar pixel formats."]
4676pub const _spinTransferComponentSelectorEnums_TransferComponentSelector_Red:
4677    _spinTransferComponentSelectorEnums = 0;
4678#[doc = "< The TransferStreamChannel feature controls the index of the stream channel for the streaming of the green plane of the planar pixel formats."]
4679pub const _spinTransferComponentSelectorEnums_TransferComponentSelector_Green:
4680    _spinTransferComponentSelectorEnums = 1;
4681#[doc = "< The TransferStreamChannel feature controls the index of the stream channel for the streaming of blue plane of the planar pixel formats."]
4682pub const _spinTransferComponentSelectorEnums_TransferComponentSelector_Blue:
4683    _spinTransferComponentSelectorEnums = 2;
4684#[doc = "< The TransferStreamChannel feature controls the index of the stream channel for the streaming of all the planes of the planar pixel formats simultaneously or non planar pixel formats."]
4685pub const _spinTransferComponentSelectorEnums_TransferComponentSelector_All:
4686    _spinTransferComponentSelectorEnums = 3;
4687pub const _spinTransferComponentSelectorEnums_NUM_TRANSFERCOMPONENTSELECTOR:
4688    _spinTransferComponentSelectorEnums = 4;
4689pub type _spinTransferComponentSelectorEnums = ::std::os::raw::c_uint;
4690pub use self::_spinTransferComponentSelectorEnums as spinTransferComponentSelectorEnums;
4691#[doc = "< Distance values are in millimeter units (default)."]
4692pub const _spinScan3dDistanceUnitEnums_Scan3dDistanceUnit_Millimeter: _spinScan3dDistanceUnitEnums =
4693    0;
4694#[doc = "< Distance values are in inch units."]
4695pub const _spinScan3dDistanceUnitEnums_Scan3dDistanceUnit_Inch: _spinScan3dDistanceUnitEnums = 1;
4696pub const _spinScan3dDistanceUnitEnums_NUM_SCAN3DDISTANCEUNIT: _spinScan3dDistanceUnitEnums = 2;
4697pub type _spinScan3dDistanceUnitEnums = ::std::os::raw::c_uint;
4698pub use self::_spinScan3dDistanceUnitEnums as spinScan3dDistanceUnitEnums;
4699#[doc = "< Default value. 3-axis orthogonal, right-hand X-Y-Z."]
4700pub const _spinScan3dCoordinateSystemEnums_Scan3dCoordinateSystem_Cartesian:
4701    _spinScan3dCoordinateSystemEnums = 0;
4702#[doc = "< A Theta-Phi-Rho coordinate system."]
4703pub const _spinScan3dCoordinateSystemEnums_Scan3dCoordinateSystem_Spherical:
4704    _spinScan3dCoordinateSystemEnums = 1;
4705#[doc = "< A Theta-Y-Rho coordinate system."]
4706pub const _spinScan3dCoordinateSystemEnums_Scan3dCoordinateSystem_Cylindrical:
4707    _spinScan3dCoordinateSystemEnums = 2;
4708pub const _spinScan3dCoordinateSystemEnums_NUM_SCAN3DCOORDINATESYSTEM:
4709    _spinScan3dCoordinateSystemEnums = 3;
4710pub type _spinScan3dCoordinateSystemEnums = ::std::os::raw::c_uint;
4711pub use self::_spinScan3dCoordinateSystemEnums as spinScan3dCoordinateSystemEnums;
4712#[doc = "< Uncalibrated 2.5D Depth map. The distance data does not represent a physical unit and may be non-linear. The data is a 2.5D range map only."]
4713pub const _spinScan3dOutputModeEnums_Scan3dOutputMode_UncalibratedC: _spinScan3dOutputModeEnums = 0;
4714#[doc = "< 3 Coordinates in grid organization. The full 3 coordinate data with the grid array organization from the sensor kept."]
4715pub const _spinScan3dOutputModeEnums_Scan3dOutputMode_CalibratedABC_Grid:
4716    _spinScan3dOutputModeEnums = 1;
4717#[doc = "< 3 Coordinates without organization. The full 3 coordinate data without any organization of data points. Typically only valid points transmitted giving varying image size."]
4718pub const _spinScan3dOutputModeEnums_Scan3dOutputMode_CalibratedABC_PointCloud:
4719    _spinScan3dOutputModeEnums = 2;
4720#[doc = "< 2 Coordinates with fixed B sampling. The data is sent as a A and C coordinates (X,Z or Theta,Rho). The B (Y) axis uses the scale and offset parameters for the B axis."]
4721pub const _spinScan3dOutputModeEnums_Scan3dOutputMode_CalibratedAC: _spinScan3dOutputModeEnums = 3;
4722#[doc = "< 2 Coordinates with varying sampling. The data is sent as a A and C coordinates (X,Z or Theta,Rho). The B (Y) axis comes from the encoder chunk value."]
4723pub const _spinScan3dOutputModeEnums_Scan3dOutputMode_CalibratedAC_Linescan:
4724    _spinScan3dOutputModeEnums = 4;
4725#[doc = "< Calibrated 2.5D Depth map. The distance data is expressed in the chosen distance unit. The data is a 2.5D range map. No information on X-Y axes available."]
4726pub const _spinScan3dOutputModeEnums_Scan3dOutputMode_CalibratedC: _spinScan3dOutputModeEnums = 5;
4727#[doc = "< Depth Map with varying B sampling. The distance data is expressed in the chosen distance unit. The data is a 2.5D range map. The B (Y) axis comes from the encoder chunk value."]
4728pub const _spinScan3dOutputModeEnums_Scan3dOutputMode_CalibratedC_Linescan:
4729    _spinScan3dOutputModeEnums = 6;
4730#[doc = "< Rectified 2.5D Depth map. The distance data has been rectified to a uniform sampling pattern in the X and Y direction. The data is a 2.5D range map only. If a complete 3D point cloud is rectified but transmitted as explicit coordinates it should be transmitted as one of the \"CalibratedABC\" formats."]
4731pub const _spinScan3dOutputModeEnums_Scan3dOutputMode_RectifiedC: _spinScan3dOutputModeEnums = 7;
4732#[doc = "< Rectified 2.5D Depth map with varying B sampling. The data is sent as rectified 1D profiles using Coord3D_C pixels. The B (Y) axis comes from the encoder chunk value."]
4733pub const _spinScan3dOutputModeEnums_Scan3dOutputMode_RectifiedC_Linescan:
4734    _spinScan3dOutputModeEnums = 8;
4735#[doc = "< Disparity 2.5D Depth map. The distance is inversely proportional to the pixel (disparity) value."]
4736pub const _spinScan3dOutputModeEnums_Scan3dOutputMode_DisparityC: _spinScan3dOutputModeEnums = 9;
4737#[doc = "< Disparity 2.5D Depth map with varying B sampling. The distance is inversely proportional to the pixel (disparity) value. The B (Y) axis comes from the encoder chunk value."]
4738pub const _spinScan3dOutputModeEnums_Scan3dOutputMode_DisparityC_Linescan:
4739    _spinScan3dOutputModeEnums = 10;
4740pub const _spinScan3dOutputModeEnums_NUM_SCAN3DOUTPUTMODE: _spinScan3dOutputModeEnums = 11;
4741pub type _spinScan3dOutputModeEnums = ::std::os::raw::c_uint;
4742pub use self::_spinScan3dOutputModeEnums as spinScan3dOutputModeEnums;
4743#[doc = "< Default value. Original fixed reference. The coordinate system fixed relative the camera reference point marker is used."]
4744pub const _spinScan3dCoordinateSystemReferenceEnums_Scan3dCoordinateSystemReference_Anchor:
4745    _spinScan3dCoordinateSystemReferenceEnums = 0;
4746#[doc = "< Transformed reference system. The transformed coordinate system is used according to the definition in the rotation and translation matrices."]
4747pub const _spinScan3dCoordinateSystemReferenceEnums_Scan3dCoordinateSystemReference_Transformed:
4748    _spinScan3dCoordinateSystemReferenceEnums = 1;
4749pub const _spinScan3dCoordinateSystemReferenceEnums_NUM_SCAN3DCOORDINATESYSTEMREFERENCE:
4750    _spinScan3dCoordinateSystemReferenceEnums = 2;
4751pub type _spinScan3dCoordinateSystemReferenceEnums = ::std::os::raw::c_uint;
4752pub use self::_spinScan3dCoordinateSystemReferenceEnums as spinScan3dCoordinateSystemReferenceEnums;
4753#[doc = "< The first (X or Theta) coordinate"]
4754pub const _spinScan3dCoordinateSelectorEnums_Scan3dCoordinateSelector_CoordinateA:
4755    _spinScan3dCoordinateSelectorEnums = 0;
4756#[doc = "< The second (Y or Phi) coordinate"]
4757pub const _spinScan3dCoordinateSelectorEnums_Scan3dCoordinateSelector_CoordinateB:
4758    _spinScan3dCoordinateSelectorEnums = 1;
4759#[doc = "< The third (Z or Rho) coordinate."]
4760pub const _spinScan3dCoordinateSelectorEnums_Scan3dCoordinateSelector_CoordinateC:
4761    _spinScan3dCoordinateSelectorEnums = 2;
4762pub const _spinScan3dCoordinateSelectorEnums_NUM_SCAN3DCOORDINATESELECTOR:
4763    _spinScan3dCoordinateSelectorEnums = 3;
4764pub type _spinScan3dCoordinateSelectorEnums = ::std::os::raw::c_uint;
4765pub use self::_spinScan3dCoordinateSelectorEnums as spinScan3dCoordinateSelectorEnums;
4766#[doc = "< Rotation around X axis."]
4767pub const _spinScan3dCoordinateTransformSelectorEnums_Scan3dCoordinateTransformSelector_RotationX : _spinScan3dCoordinateTransformSelectorEnums = 0 ;
4768#[doc = "< Rotation around Y axis."]
4769pub const _spinScan3dCoordinateTransformSelectorEnums_Scan3dCoordinateTransformSelector_RotationY : _spinScan3dCoordinateTransformSelectorEnums = 1 ;
4770#[doc = "< Rotation around Z axis."]
4771pub const _spinScan3dCoordinateTransformSelectorEnums_Scan3dCoordinateTransformSelector_RotationZ : _spinScan3dCoordinateTransformSelectorEnums = 2 ;
4772#[doc = "< Translation along X axis."]
4773pub const _spinScan3dCoordinateTransformSelectorEnums_Scan3dCoordinateTransformSelector_TranslationX : _spinScan3dCoordinateTransformSelectorEnums = 3 ;
4774#[doc = "< Translation along Y axis."]
4775pub const _spinScan3dCoordinateTransformSelectorEnums_Scan3dCoordinateTransformSelector_TranslationY : _spinScan3dCoordinateTransformSelectorEnums = 4 ;
4776#[doc = "< Translation along Z axis."]
4777pub const _spinScan3dCoordinateTransformSelectorEnums_Scan3dCoordinateTransformSelector_TranslationZ : _spinScan3dCoordinateTransformSelectorEnums = 5 ;
4778pub const _spinScan3dCoordinateTransformSelectorEnums_NUM_SCAN3DCOORDINATETRANSFORMSELECTOR:
4779    _spinScan3dCoordinateTransformSelectorEnums = 6;
4780pub type _spinScan3dCoordinateTransformSelectorEnums = ::std::os::raw::c_uint;
4781pub use self::_spinScan3dCoordinateTransformSelectorEnums as spinScan3dCoordinateTransformSelectorEnums;
4782#[doc = "< Rotation around X axis."]
4783pub const _spinScan3dCoordinateReferenceSelectorEnums_Scan3dCoordinateReferenceSelector_RotationX : _spinScan3dCoordinateReferenceSelectorEnums = 0 ;
4784#[doc = "< Rotation around Y axis."]
4785pub const _spinScan3dCoordinateReferenceSelectorEnums_Scan3dCoordinateReferenceSelector_RotationY : _spinScan3dCoordinateReferenceSelectorEnums = 1 ;
4786#[doc = "< Rotation around Z axis."]
4787pub const _spinScan3dCoordinateReferenceSelectorEnums_Scan3dCoordinateReferenceSelector_RotationZ : _spinScan3dCoordinateReferenceSelectorEnums = 2 ;
4788#[doc = "< X axis translation."]
4789pub const _spinScan3dCoordinateReferenceSelectorEnums_Scan3dCoordinateReferenceSelector_TranslationX : _spinScan3dCoordinateReferenceSelectorEnums = 3 ;
4790#[doc = "< Y axis translation."]
4791pub const _spinScan3dCoordinateReferenceSelectorEnums_Scan3dCoordinateReferenceSelector_TranslationY : _spinScan3dCoordinateReferenceSelectorEnums = 4 ;
4792#[doc = "< Z axis translation."]
4793pub const _spinScan3dCoordinateReferenceSelectorEnums_Scan3dCoordinateReferenceSelector_TranslationZ : _spinScan3dCoordinateReferenceSelectorEnums = 5 ;
4794pub const _spinScan3dCoordinateReferenceSelectorEnums_NUM_SCAN3DCOORDINATEREFERENCESELECTOR:
4795    _spinScan3dCoordinateReferenceSelectorEnums = 6;
4796pub type _spinScan3dCoordinateReferenceSelectorEnums = ::std::os::raw::c_uint;
4797pub use self::_spinScan3dCoordinateReferenceSelectorEnums as spinScan3dCoordinateReferenceSelectorEnums;
4798#[doc = "< The image data is the intensity component."]
4799pub const _spinChunkImageComponentEnums_ChunkImageComponent_Intensity:
4800    _spinChunkImageComponentEnums = 0;
4801#[doc = "< The image data is color component."]
4802pub const _spinChunkImageComponentEnums_ChunkImageComponent_Color: _spinChunkImageComponentEnums =
4803    1;
4804#[doc = "< The image data is infrared component."]
4805pub const _spinChunkImageComponentEnums_ChunkImageComponent_Infrared:
4806    _spinChunkImageComponentEnums = 2;
4807#[doc = "< The image data is the ultraviolet component."]
4808pub const _spinChunkImageComponentEnums_ChunkImageComponent_Ultraviolet:
4809    _spinChunkImageComponentEnums = 3;
4810#[doc = "< The image data is the range (distance) component."]
4811pub const _spinChunkImageComponentEnums_ChunkImageComponent_Range: _spinChunkImageComponentEnums =
4812    4;
4813#[doc = "< The image data is the disparity component."]
4814pub const _spinChunkImageComponentEnums_ChunkImageComponent_Disparity:
4815    _spinChunkImageComponentEnums = 5;
4816#[doc = "< The image data is the confidence map component."]
4817pub const _spinChunkImageComponentEnums_ChunkImageComponent_Confidence:
4818    _spinChunkImageComponentEnums = 6;
4819#[doc = "< The image data is the scatter component."]
4820pub const _spinChunkImageComponentEnums_ChunkImageComponent_Scatter: _spinChunkImageComponentEnums =
4821    7;
4822pub const _spinChunkImageComponentEnums_NUM_CHUNKIMAGECOMPONENT: _spinChunkImageComponentEnums = 8;
4823pub type _spinChunkImageComponentEnums = ::std::os::raw::c_uint;
4824pub use self::_spinChunkImageComponentEnums as spinChunkImageComponentEnums;
4825#[doc = "< Selects the counter 0."]
4826pub const _spinChunkCounterSelectorEnums_ChunkCounterSelector_Counter0:
4827    _spinChunkCounterSelectorEnums = 0;
4828#[doc = "< Selects the counter 1."]
4829pub const _spinChunkCounterSelectorEnums_ChunkCounterSelector_Counter1:
4830    _spinChunkCounterSelectorEnums = 1;
4831#[doc = "< Selects the counter 2."]
4832pub const _spinChunkCounterSelectorEnums_ChunkCounterSelector_Counter2:
4833    _spinChunkCounterSelectorEnums = 2;
4834pub const _spinChunkCounterSelectorEnums_NUM_CHUNKCOUNTERSELECTOR: _spinChunkCounterSelectorEnums =
4835    3;
4836pub type _spinChunkCounterSelectorEnums = ::std::os::raw::c_uint;
4837pub use self::_spinChunkCounterSelectorEnums as spinChunkCounterSelectorEnums;
4838#[doc = "< Selects the first Timer."]
4839pub const _spinChunkTimerSelectorEnums_ChunkTimerSelector_Timer0: _spinChunkTimerSelectorEnums = 0;
4840#[doc = "< Selects the first Timer."]
4841pub const _spinChunkTimerSelectorEnums_ChunkTimerSelector_Timer1: _spinChunkTimerSelectorEnums = 1;
4842#[doc = "< Selects the second Timer."]
4843pub const _spinChunkTimerSelectorEnums_ChunkTimerSelector_Timer2: _spinChunkTimerSelectorEnums = 2;
4844pub const _spinChunkTimerSelectorEnums_NUM_CHUNKTIMERSELECTOR: _spinChunkTimerSelectorEnums = 3;
4845pub type _spinChunkTimerSelectorEnums = ::std::os::raw::c_uint;
4846pub use self::_spinChunkTimerSelectorEnums as spinChunkTimerSelectorEnums;
4847#[doc = "< Selects the first Encoder."]
4848pub const _spinChunkEncoderSelectorEnums_ChunkEncoderSelector_Encoder0:
4849    _spinChunkEncoderSelectorEnums = 0;
4850#[doc = "< Selects the first Encoder."]
4851pub const _spinChunkEncoderSelectorEnums_ChunkEncoderSelector_Encoder1:
4852    _spinChunkEncoderSelectorEnums = 1;
4853#[doc = "< Selects the second Encoder."]
4854pub const _spinChunkEncoderSelectorEnums_ChunkEncoderSelector_Encoder2:
4855    _spinChunkEncoderSelectorEnums = 2;
4856pub const _spinChunkEncoderSelectorEnums_NUM_CHUNKENCODERSELECTOR: _spinChunkEncoderSelectorEnums =
4857    3;
4858pub type _spinChunkEncoderSelectorEnums = ::std::os::raw::c_uint;
4859pub use self::_spinChunkEncoderSelectorEnums as spinChunkEncoderSelectorEnums;
4860#[doc = "< The encoder counter last incremented."]
4861pub const _spinChunkEncoderStatusEnums_ChunkEncoderStatus_EncoderUp: _spinChunkEncoderStatusEnums =
4862    0;
4863#[doc = "< The encoder counter last decremented."]
4864pub const _spinChunkEncoderStatusEnums_ChunkEncoderStatus_EncoderDown:
4865    _spinChunkEncoderStatusEnums = 1;
4866#[doc = "< The encoder is not active."]
4867pub const _spinChunkEncoderStatusEnums_ChunkEncoderStatus_EncoderIdle:
4868    _spinChunkEncoderStatusEnums = 2;
4869#[doc = "< No motion within the EncoderTimeout time."]
4870pub const _spinChunkEncoderStatusEnums_ChunkEncoderStatus_EncoderStatic:
4871    _spinChunkEncoderStatusEnums = 3;
4872pub const _spinChunkEncoderStatusEnums_NUM_CHUNKENCODERSTATUS: _spinChunkEncoderStatusEnums = 4;
4873pub type _spinChunkEncoderStatusEnums = ::std::os::raw::c_uint;
4874pub use self::_spinChunkEncoderStatusEnums as spinChunkEncoderStatusEnums;
4875#[doc = "< Selects the common ExposureTime."]
4876pub const _spinChunkExposureTimeSelectorEnums_ChunkExposureTimeSelector_Common:
4877    _spinChunkExposureTimeSelectorEnums = 0;
4878#[doc = "< Selects the red common ExposureTime."]
4879pub const _spinChunkExposureTimeSelectorEnums_ChunkExposureTimeSelector_Red:
4880    _spinChunkExposureTimeSelectorEnums = 1;
4881#[doc = "< Selects the green ExposureTime."]
4882pub const _spinChunkExposureTimeSelectorEnums_ChunkExposureTimeSelector_Green:
4883    _spinChunkExposureTimeSelectorEnums = 2;
4884#[doc = "< Selects the blue ExposureTime."]
4885pub const _spinChunkExposureTimeSelectorEnums_ChunkExposureTimeSelector_Blue:
4886    _spinChunkExposureTimeSelectorEnums = 3;
4887#[doc = "< Selects the cyan common ExposureTime.."]
4888pub const _spinChunkExposureTimeSelectorEnums_ChunkExposureTimeSelector_Cyan:
4889    _spinChunkExposureTimeSelectorEnums = 4;
4890#[doc = "< Selects the magenta ExposureTime.."]
4891pub const _spinChunkExposureTimeSelectorEnums_ChunkExposureTimeSelector_Magenta:
4892    _spinChunkExposureTimeSelectorEnums = 5;
4893#[doc = "< Selects the yellow ExposureTime.."]
4894pub const _spinChunkExposureTimeSelectorEnums_ChunkExposureTimeSelector_Yellow:
4895    _spinChunkExposureTimeSelectorEnums = 6;
4896#[doc = "< Selects the infrared ExposureTime."]
4897pub const _spinChunkExposureTimeSelectorEnums_ChunkExposureTimeSelector_Infrared:
4898    _spinChunkExposureTimeSelectorEnums = 7;
4899#[doc = "< Selects the ultraviolet ExposureTime."]
4900pub const _spinChunkExposureTimeSelectorEnums_ChunkExposureTimeSelector_Ultraviolet:
4901    _spinChunkExposureTimeSelectorEnums = 8;
4902#[doc = "< Selects the first stage ExposureTime."]
4903pub const _spinChunkExposureTimeSelectorEnums_ChunkExposureTimeSelector_Stage1:
4904    _spinChunkExposureTimeSelectorEnums = 9;
4905#[doc = "< Selects the second stage ExposureTime."]
4906pub const _spinChunkExposureTimeSelectorEnums_ChunkExposureTimeSelector_Stage2:
4907    _spinChunkExposureTimeSelectorEnums = 10;
4908pub const _spinChunkExposureTimeSelectorEnums_NUM_CHUNKEXPOSURETIMESELECTOR:
4909    _spinChunkExposureTimeSelectorEnums = 11;
4910pub type _spinChunkExposureTimeSelectorEnums = ::std::os::raw::c_uint;
4911pub use self::_spinChunkExposureTimeSelectorEnums as spinChunkExposureTimeSelectorEnums;
4912#[doc = "< Image comes from the Source 0."]
4913pub const _spinChunkSourceIDEnums_ChunkSourceID_Source0: _spinChunkSourceIDEnums = 0;
4914#[doc = "< Image comes from the Source 1."]
4915pub const _spinChunkSourceIDEnums_ChunkSourceID_Source1: _spinChunkSourceIDEnums = 1;
4916#[doc = "< Image comes from the Source 2."]
4917pub const _spinChunkSourceIDEnums_ChunkSourceID_Source2: _spinChunkSourceIDEnums = 2;
4918pub const _spinChunkSourceIDEnums_NUM_CHUNKSOURCEID: _spinChunkSourceIDEnums = 3;
4919pub type _spinChunkSourceIDEnums = ::std::os::raw::c_uint;
4920pub use self::_spinChunkSourceIDEnums as spinChunkSourceIDEnums;
4921#[doc = "< Image comes from the Region 0."]
4922pub const _spinChunkRegionIDEnums_ChunkRegionID_Region0: _spinChunkRegionIDEnums = 0;
4923#[doc = "< Image comes from the Region 1."]
4924pub const _spinChunkRegionIDEnums_ChunkRegionID_Region1: _spinChunkRegionIDEnums = 1;
4925#[doc = "< Image comes from the Region 2."]
4926pub const _spinChunkRegionIDEnums_ChunkRegionID_Region2: _spinChunkRegionIDEnums = 2;
4927pub const _spinChunkRegionIDEnums_NUM_CHUNKREGIONID: _spinChunkRegionIDEnums = 3;
4928pub type _spinChunkRegionIDEnums = ::std::os::raw::c_uint;
4929pub use self::_spinChunkRegionIDEnums as spinChunkRegionIDEnums;
4930#[doc = "< Data comes from Stream0."]
4931pub const _spinChunkTransferStreamIDEnums_ChunkTransferStreamID_Stream0:
4932    _spinChunkTransferStreamIDEnums = 0;
4933#[doc = "< Data comes from Stream1."]
4934pub const _spinChunkTransferStreamIDEnums_ChunkTransferStreamID_Stream1:
4935    _spinChunkTransferStreamIDEnums = 1;
4936#[doc = "< Data comes from Stream2."]
4937pub const _spinChunkTransferStreamIDEnums_ChunkTransferStreamID_Stream2:
4938    _spinChunkTransferStreamIDEnums = 2;
4939#[doc = "< Data comes from Stream3."]
4940pub const _spinChunkTransferStreamIDEnums_ChunkTransferStreamID_Stream3:
4941    _spinChunkTransferStreamIDEnums = 3;
4942pub const _spinChunkTransferStreamIDEnums_NUM_CHUNKTRANSFERSTREAMID:
4943    _spinChunkTransferStreamIDEnums = 4;
4944pub type _spinChunkTransferStreamIDEnums = ::std::os::raw::c_uint;
4945pub use self::_spinChunkTransferStreamIDEnums as spinChunkTransferStreamIDEnums;
4946#[doc = "< Default value. Distance values are in millimeter units."]
4947pub const _spinChunkScan3dDistanceUnitEnums_ChunkScan3dDistanceUnit_Millimeter:
4948    _spinChunkScan3dDistanceUnitEnums = 0;
4949#[doc = "< Distance values are in inch units."]
4950pub const _spinChunkScan3dDistanceUnitEnums_ChunkScan3dDistanceUnit_Inch:
4951    _spinChunkScan3dDistanceUnitEnums = 1;
4952pub const _spinChunkScan3dDistanceUnitEnums_NUM_CHUNKSCAN3DDISTANCEUNIT:
4953    _spinChunkScan3dDistanceUnitEnums = 2;
4954pub type _spinChunkScan3dDistanceUnitEnums = ::std::os::raw::c_uint;
4955pub use self::_spinChunkScan3dDistanceUnitEnums as spinChunkScan3dDistanceUnitEnums;
4956#[doc = "< Uncalibrated 2.5D Depth map. The distance data does not represent a physical unit and may be non-linear. The data is a 2.5D range map only."]
4957pub const _spinChunkScan3dOutputModeEnums_ChunkScan3dOutputMode_UncalibratedC:
4958    _spinChunkScan3dOutputModeEnums = 0;
4959#[doc = "< 3 Coordinates in grid organization. The full 3 coordinate data with the grid array organization from the sensor kept."]
4960pub const _spinChunkScan3dOutputModeEnums_ChunkScan3dOutputMode_CalibratedABC_Grid:
4961    _spinChunkScan3dOutputModeEnums = 1;
4962#[doc = "< 3 Coordinates without organization. The full 3 coordinate data without any organization of data points. Typically only valid points transmitted giving varying image size."]
4963pub const _spinChunkScan3dOutputModeEnums_ChunkScan3dOutputMode_CalibratedABC_PointCloud:
4964    _spinChunkScan3dOutputModeEnums = 2;
4965#[doc = "< 2 Coordinates with fixed B sampling. The data is sent as a A and C coordinates (X,Z or Theta,Rho). The B (Y) axis uses the scale and offset parameters for the B axis."]
4966pub const _spinChunkScan3dOutputModeEnums_ChunkScan3dOutputMode_CalibratedAC:
4967    _spinChunkScan3dOutputModeEnums = 3;
4968#[doc = "< 2 Coordinates with varying sampling. The data is sent as a A and C coordinates (X,Z or Theta,Rho). The B (Y) axis comes from the encoder chunk value."]
4969pub const _spinChunkScan3dOutputModeEnums_ChunkScan3dOutputMode_CalibratedAC_Linescan:
4970    _spinChunkScan3dOutputModeEnums = 4;
4971#[doc = "< Calibrated 2.5D Depth map. The distance data is expressed in the chosen distance unit. The data is a 2.5D range map. No information on X-Y axes available."]
4972pub const _spinChunkScan3dOutputModeEnums_ChunkScan3dOutputMode_CalibratedC:
4973    _spinChunkScan3dOutputModeEnums = 5;
4974#[doc = "< Depth Map with varying B sampling. The distance data is expressed in the chosen distance unit. The data is a 2.5D range map. The B (Y) axis comes from the encoder chunk value."]
4975pub const _spinChunkScan3dOutputModeEnums_ChunkScan3dOutputMode_CalibratedC_Linescan:
4976    _spinChunkScan3dOutputModeEnums = 6;
4977#[doc = "< Rectified 2.5D Depth map. The distance data has been rectified to a uniform sampling pattern in the X and Y direction. The data is a 2.5D range map only. If a complete 3D point cloud is rectified but transmitted as explicit coordinates it should be transmitted as one of the \"CalibratedABC\" formats."]
4978pub const _spinChunkScan3dOutputModeEnums_ChunkScan3dOutputMode_RectifiedC:
4979    _spinChunkScan3dOutputModeEnums = 7;
4980#[doc = "< Rectified 2.5D Depth map with varying B sampling. The data is sent as rectified 1D profiles using Coord3D_C pixels. The B (Y) axis comes from the encoder chunk value."]
4981pub const _spinChunkScan3dOutputModeEnums_ChunkScan3dOutputMode_RectifiedC_Linescan:
4982    _spinChunkScan3dOutputModeEnums = 8;
4983#[doc = "< Disparity 2.5D Depth map. The distance is inversely proportional to the pixel (disparity) value."]
4984pub const _spinChunkScan3dOutputModeEnums_ChunkScan3dOutputMode_DisparityC:
4985    _spinChunkScan3dOutputModeEnums = 9;
4986#[doc = "< Disparity 2.5D Depth map with varying B sampling. The distance is inversely proportional to the pixel (disparity) value. The B (Y) axis comes from the encoder chunk value."]
4987pub const _spinChunkScan3dOutputModeEnums_ChunkScan3dOutputMode_DisparityC_Linescan:
4988    _spinChunkScan3dOutputModeEnums = 10;
4989pub const _spinChunkScan3dOutputModeEnums_NUM_CHUNKSCAN3DOUTPUTMODE:
4990    _spinChunkScan3dOutputModeEnums = 11;
4991pub type _spinChunkScan3dOutputModeEnums = ::std::os::raw::c_uint;
4992pub use self::_spinChunkScan3dOutputModeEnums as spinChunkScan3dOutputModeEnums;
4993#[doc = "< Default value. 3-axis orthogonal, right-hand X-Y-Z."]
4994pub const _spinChunkScan3dCoordinateSystemEnums_ChunkScan3dCoordinateSystem_Cartesian:
4995    _spinChunkScan3dCoordinateSystemEnums = 0;
4996#[doc = "< A Theta-Phi-Rho coordinate system."]
4997pub const _spinChunkScan3dCoordinateSystemEnums_ChunkScan3dCoordinateSystem_Spherical:
4998    _spinChunkScan3dCoordinateSystemEnums = 1;
4999#[doc = "< A Theta-Y-Rho coordinate system."]
5000pub const _spinChunkScan3dCoordinateSystemEnums_ChunkScan3dCoordinateSystem_Cylindrical:
5001    _spinChunkScan3dCoordinateSystemEnums = 2;
5002pub const _spinChunkScan3dCoordinateSystemEnums_NUM_CHUNKSCAN3DCOORDINATESYSTEM:
5003    _spinChunkScan3dCoordinateSystemEnums = 3;
5004pub type _spinChunkScan3dCoordinateSystemEnums = ::std::os::raw::c_uint;
5005pub use self::_spinChunkScan3dCoordinateSystemEnums as spinChunkScan3dCoordinateSystemEnums;
5006#[doc = "< Default value. Original fixed reference. The coordinate system fixed relative the camera reference point marker is used."]
5007pub const _spinChunkScan3dCoordinateSystemReferenceEnums_ChunkScan3dCoordinateSystemReference_Anchor : _spinChunkScan3dCoordinateSystemReferenceEnums = 0 ;
5008#[doc = "< Transformed reference system. The transformed coordinate system is used according to the definition in the rotation and translation matrices."]
5009pub const _spinChunkScan3dCoordinateSystemReferenceEnums_ChunkScan3dCoordinateSystemReference_Transformed : _spinChunkScan3dCoordinateSystemReferenceEnums = 1 ;
5010pub const _spinChunkScan3dCoordinateSystemReferenceEnums_NUM_CHUNKSCAN3DCOORDINATESYSTEMREFERENCE : _spinChunkScan3dCoordinateSystemReferenceEnums = 2 ;
5011pub type _spinChunkScan3dCoordinateSystemReferenceEnums = ::std::os::raw::c_uint;
5012pub use self::_spinChunkScan3dCoordinateSystemReferenceEnums as spinChunkScan3dCoordinateSystemReferenceEnums;
5013#[doc = "< The first (X or Theta) coordinate"]
5014pub const _spinChunkScan3dCoordinateSelectorEnums_ChunkScan3dCoordinateSelector_CoordinateA:
5015    _spinChunkScan3dCoordinateSelectorEnums = 0;
5016#[doc = "< The second (Y or Phi) coordinate"]
5017pub const _spinChunkScan3dCoordinateSelectorEnums_ChunkScan3dCoordinateSelector_CoordinateB:
5018    _spinChunkScan3dCoordinateSelectorEnums = 1;
5019#[doc = "< The third (Z or Rho) coordinate."]
5020pub const _spinChunkScan3dCoordinateSelectorEnums_ChunkScan3dCoordinateSelector_CoordinateC:
5021    _spinChunkScan3dCoordinateSelectorEnums = 2;
5022pub const _spinChunkScan3dCoordinateSelectorEnums_NUM_CHUNKSCAN3DCOORDINATESELECTOR:
5023    _spinChunkScan3dCoordinateSelectorEnums = 3;
5024pub type _spinChunkScan3dCoordinateSelectorEnums = ::std::os::raw::c_uint;
5025pub use self::_spinChunkScan3dCoordinateSelectorEnums as spinChunkScan3dCoordinateSelectorEnums;
5026#[doc = "< Rotation around X axis."]
5027pub const _spinChunkScan3dCoordinateTransformSelectorEnums_ChunkScan3dCoordinateTransformSelector_RotationX : _spinChunkScan3dCoordinateTransformSelectorEnums = 0 ;
5028#[doc = "< Rotation around Y axis."]
5029pub const _spinChunkScan3dCoordinateTransformSelectorEnums_ChunkScan3dCoordinateTransformSelector_RotationY : _spinChunkScan3dCoordinateTransformSelectorEnums = 1 ;
5030#[doc = "< Rotation around Z axis."]
5031pub const _spinChunkScan3dCoordinateTransformSelectorEnums_ChunkScan3dCoordinateTransformSelector_RotationZ : _spinChunkScan3dCoordinateTransformSelectorEnums = 2 ;
5032#[doc = "< Translation along X axis."]
5033pub const _spinChunkScan3dCoordinateTransformSelectorEnums_ChunkScan3dCoordinateTransformSelector_TranslationX : _spinChunkScan3dCoordinateTransformSelectorEnums = 3 ;
5034#[doc = "< Translation along Y axis."]
5035pub const _spinChunkScan3dCoordinateTransformSelectorEnums_ChunkScan3dCoordinateTransformSelector_TranslationY : _spinChunkScan3dCoordinateTransformSelectorEnums = 4 ;
5036#[doc = "< Translation along Z axis."]
5037pub const _spinChunkScan3dCoordinateTransformSelectorEnums_ChunkScan3dCoordinateTransformSelector_TranslationZ : _spinChunkScan3dCoordinateTransformSelectorEnums = 5 ;
5038pub const _spinChunkScan3dCoordinateTransformSelectorEnums_NUM_CHUNKSCAN3DCOORDINATETRANSFORMSELECTOR : _spinChunkScan3dCoordinateTransformSelectorEnums = 6 ;
5039pub type _spinChunkScan3dCoordinateTransformSelectorEnums = ::std::os::raw::c_uint;
5040pub use self::_spinChunkScan3dCoordinateTransformSelectorEnums as spinChunkScan3dCoordinateTransformSelectorEnums;
5041#[doc = "< Rotation around X axis."]
5042pub const _spinChunkScan3dCoordinateReferenceSelectorEnums_ChunkScan3dCoordinateReferenceSelector_RotationX : _spinChunkScan3dCoordinateReferenceSelectorEnums = 0 ;
5043#[doc = "< Rotation around Y axis."]
5044pub const _spinChunkScan3dCoordinateReferenceSelectorEnums_ChunkScan3dCoordinateReferenceSelector_RotationY : _spinChunkScan3dCoordinateReferenceSelectorEnums = 1 ;
5045#[doc = "< Rotation around Z axis."]
5046pub const _spinChunkScan3dCoordinateReferenceSelectorEnums_ChunkScan3dCoordinateReferenceSelector_RotationZ : _spinChunkScan3dCoordinateReferenceSelectorEnums = 2 ;
5047#[doc = "< X axis translation."]
5048pub const _spinChunkScan3dCoordinateReferenceSelectorEnums_ChunkScan3dCoordinateReferenceSelector_TranslationX : _spinChunkScan3dCoordinateReferenceSelectorEnums = 3 ;
5049#[doc = "< Y axis translation."]
5050pub const _spinChunkScan3dCoordinateReferenceSelectorEnums_ChunkScan3dCoordinateReferenceSelector_TranslationY : _spinChunkScan3dCoordinateReferenceSelectorEnums = 4 ;
5051#[doc = "< Z axis translation."]
5052pub const _spinChunkScan3dCoordinateReferenceSelectorEnums_ChunkScan3dCoordinateReferenceSelector_TranslationZ : _spinChunkScan3dCoordinateReferenceSelectorEnums = 5 ;
5053pub const _spinChunkScan3dCoordinateReferenceSelectorEnums_NUM_CHUNKSCAN3DCOORDINATEREFERENCESELECTOR : _spinChunkScan3dCoordinateReferenceSelectorEnums = 6 ;
5054pub type _spinChunkScan3dCoordinateReferenceSelectorEnums = ::std::os::raw::c_uint;
5055pub use self::_spinChunkScan3dCoordinateReferenceSelectorEnums as spinChunkScan3dCoordinateReferenceSelectorEnums;
5056#[doc = "< Geometry_1X_1Y"]
5057pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X_1Y:
5058    _spinDeviceTapGeometryEnums = 0;
5059#[doc = "< Geometry_1X2_1Y"]
5060pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X2_1Y:
5061    _spinDeviceTapGeometryEnums = 1;
5062#[doc = "< Geometry_1X2_1Y2"]
5063pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X2_1Y2:
5064    _spinDeviceTapGeometryEnums = 2;
5065#[doc = "< Geometry_2X_1Y"]
5066pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2X_1Y:
5067    _spinDeviceTapGeometryEnums = 3;
5068#[doc = "< Geometry_2X_1Y2Geometry_2XE_1Y"]
5069pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2X_1Y2Geometry_2XE_1Y:
5070    _spinDeviceTapGeometryEnums = 4;
5071#[doc = "< Geometry_2XE_1Y2"]
5072pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2XE_1Y2:
5073    _spinDeviceTapGeometryEnums = 5;
5074#[doc = "< Geometry_2XM_1Y"]
5075pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2XM_1Y:
5076    _spinDeviceTapGeometryEnums = 6;
5077#[doc = "< Geometry_2XM_1Y2"]
5078pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2XM_1Y2:
5079    _spinDeviceTapGeometryEnums = 7;
5080#[doc = "< Geometry_1X_1Y2"]
5081pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X_1Y2:
5082    _spinDeviceTapGeometryEnums = 8;
5083#[doc = "< Geometry_1X_2YE"]
5084pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X_2YE:
5085    _spinDeviceTapGeometryEnums = 9;
5086#[doc = "< Geometry_1X3_1Y"]
5087pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X3_1Y:
5088    _spinDeviceTapGeometryEnums = 10;
5089#[doc = "< Geometry_3X_1Y"]
5090pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_3X_1Y:
5091    _spinDeviceTapGeometryEnums = 11;
5092#[doc = "< Geometry_1X"]
5093pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X: _spinDeviceTapGeometryEnums =
5094    12;
5095#[doc = "< Geometry_1X2"]
5096pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X2: _spinDeviceTapGeometryEnums =
5097    13;
5098#[doc = "< Geometry_2X"]
5099pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2X: _spinDeviceTapGeometryEnums =
5100    14;
5101#[doc = "< Geometry_2XE"]
5102pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2XE: _spinDeviceTapGeometryEnums =
5103    15;
5104#[doc = "< Geometry_2XM"]
5105pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2XM: _spinDeviceTapGeometryEnums =
5106    16;
5107#[doc = "< Geometry_1X3"]
5108pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X3: _spinDeviceTapGeometryEnums =
5109    17;
5110#[doc = "< Geometry_3X"]
5111pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_3X: _spinDeviceTapGeometryEnums =
5112    18;
5113#[doc = "< Geometry_1X4_1Y"]
5114pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X4_1Y:
5115    _spinDeviceTapGeometryEnums = 19;
5116#[doc = "< Geometry_4X_1Y"]
5117pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_4X_1Y:
5118    _spinDeviceTapGeometryEnums = 20;
5119#[doc = "< Geometry_2X2_1Y"]
5120pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2X2_1Y:
5121    _spinDeviceTapGeometryEnums = 21;
5122#[doc = "< Geometry_2X2E_1YGeometry_2X2M_1Y"]
5123pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2X2E_1YGeometry_2X2M_1Y:
5124    _spinDeviceTapGeometryEnums = 22;
5125#[doc = "< Geometry_1X2_2YE"]
5126pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X2_2YE:
5127    _spinDeviceTapGeometryEnums = 23;
5128#[doc = "< Geometry_2X_2YE"]
5129pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2X_2YE:
5130    _spinDeviceTapGeometryEnums = 24;
5131#[doc = "< Geometry_2XE_2YE"]
5132pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2XE_2YE:
5133    _spinDeviceTapGeometryEnums = 25;
5134#[doc = "< Geometry_2XM_2YE"]
5135pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2XM_2YE:
5136    _spinDeviceTapGeometryEnums = 26;
5137#[doc = "< Geometry_1X4"]
5138pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X4: _spinDeviceTapGeometryEnums =
5139    27;
5140#[doc = "< Geometry_4X"]
5141pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_4X: _spinDeviceTapGeometryEnums =
5142    28;
5143#[doc = "< Geometry_2X2"]
5144pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2X2: _spinDeviceTapGeometryEnums =
5145    29;
5146#[doc = "< Geometry_2X2E"]
5147pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2X2E: _spinDeviceTapGeometryEnums =
5148    30;
5149#[doc = "< Geometry_2X2M"]
5150pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2X2M: _spinDeviceTapGeometryEnums =
5151    31;
5152#[doc = "< Geometry_1X8_1Y"]
5153pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X8_1Y:
5154    _spinDeviceTapGeometryEnums = 32;
5155#[doc = "< Geometry_8X_1Y"]
5156pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_8X_1Y:
5157    _spinDeviceTapGeometryEnums = 33;
5158#[doc = "< Geometry_4X2_1Y"]
5159pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_4X2_1Y:
5160    _spinDeviceTapGeometryEnums = 34;
5161#[doc = "< Geometry_2X2E_2YE"]
5162pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_2X2E_2YE:
5163    _spinDeviceTapGeometryEnums = 35;
5164#[doc = "< Geometry_1X8"]
5165pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X8: _spinDeviceTapGeometryEnums =
5166    36;
5167#[doc = "< Geometry_8X"]
5168pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_8X: _spinDeviceTapGeometryEnums =
5169    37;
5170#[doc = "< Geometry_4X2"]
5171pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_4X2: _spinDeviceTapGeometryEnums =
5172    38;
5173#[doc = "< Geometry_4X2E"]
5174pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_4X2E: _spinDeviceTapGeometryEnums =
5175    39;
5176#[doc = "< Geometry_4X2E_1Y"]
5177pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_4X2E_1Y:
5178    _spinDeviceTapGeometryEnums = 40;
5179#[doc = "< Geometry_1X10_1Y"]
5180pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X10_1Y:
5181    _spinDeviceTapGeometryEnums = 41;
5182#[doc = "< Geometry_10X_1Y"]
5183pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_10X_1Y:
5184    _spinDeviceTapGeometryEnums = 42;
5185#[doc = "< Geometry_1X10"]
5186pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_1X10: _spinDeviceTapGeometryEnums =
5187    43;
5188#[doc = "< Geometry_10X"]
5189pub const _spinDeviceTapGeometryEnums_DeviceTapGeometry_Geometry_10X: _spinDeviceTapGeometryEnums =
5190    44;
5191pub const _spinDeviceTapGeometryEnums_NUM_DEVICETAPGEOMETRY: _spinDeviceTapGeometryEnums = 45;
5192pub type _spinDeviceTapGeometryEnums = ::std::os::raw::c_uint;
5193pub use self::_spinDeviceTapGeometryEnums as spinDeviceTapGeometryEnums;
5194#[doc = "< Single Link"]
5195pub const _spinGevPhysicalLinkConfigurationEnums_GevPhysicalLinkConfiguration_SingleLink:
5196    _spinGevPhysicalLinkConfigurationEnums = 0;
5197#[doc = "< Multi Link"]
5198pub const _spinGevPhysicalLinkConfigurationEnums_GevPhysicalLinkConfiguration_MultiLink:
5199    _spinGevPhysicalLinkConfigurationEnums = 1;
5200#[doc = "< Static LAG"]
5201pub const _spinGevPhysicalLinkConfigurationEnums_GevPhysicalLinkConfiguration_StaticLAG:
5202    _spinGevPhysicalLinkConfigurationEnums = 2;
5203#[doc = "< Dynamic LAG"]
5204pub const _spinGevPhysicalLinkConfigurationEnums_GevPhysicalLinkConfiguration_DynamicLAG:
5205    _spinGevPhysicalLinkConfigurationEnums = 3;
5206pub const _spinGevPhysicalLinkConfigurationEnums_NUM_GEVPHYSICALLINKCONFIGURATION:
5207    _spinGevPhysicalLinkConfigurationEnums = 4;
5208pub type _spinGevPhysicalLinkConfigurationEnums = ::std::os::raw::c_uint;
5209pub use self::_spinGevPhysicalLinkConfigurationEnums as spinGevPhysicalLinkConfigurationEnums;
5210#[doc = "< Single Link"]
5211pub const _spinGevCurrentPhysicalLinkConfigurationEnums_GevCurrentPhysicalLinkConfiguration_SingleLink : _spinGevCurrentPhysicalLinkConfigurationEnums = 0 ;
5212#[doc = "< Multi Link"]
5213pub const _spinGevCurrentPhysicalLinkConfigurationEnums_GevCurrentPhysicalLinkConfiguration_MultiLink : _spinGevCurrentPhysicalLinkConfigurationEnums = 1 ;
5214#[doc = "< Static LAG"]
5215pub const _spinGevCurrentPhysicalLinkConfigurationEnums_GevCurrentPhysicalLinkConfiguration_StaticLAG : _spinGevCurrentPhysicalLinkConfigurationEnums = 2 ;
5216#[doc = "< Dynamic LAG"]
5217pub const _spinGevCurrentPhysicalLinkConfigurationEnums_GevCurrentPhysicalLinkConfiguration_DynamicLAG : _spinGevCurrentPhysicalLinkConfigurationEnums = 3 ;
5218pub const _spinGevCurrentPhysicalLinkConfigurationEnums_NUM_GEVCURRENTPHYSICALLINKCONFIGURATION:
5219    _spinGevCurrentPhysicalLinkConfigurationEnums = 4;
5220pub type _spinGevCurrentPhysicalLinkConfigurationEnums = ::std::os::raw::c_uint;
5221pub use self::_spinGevCurrentPhysicalLinkConfigurationEnums as spinGevCurrentPhysicalLinkConfigurationEnums;
5222#[doc = "< None"]
5223pub const _spinGevIPConfigurationStatusEnums_GevIPConfigurationStatus_None:
5224    _spinGevIPConfigurationStatusEnums = 0;
5225#[doc = "< Persistent IP"]
5226pub const _spinGevIPConfigurationStatusEnums_GevIPConfigurationStatus_PersistentIP:
5227    _spinGevIPConfigurationStatusEnums = 1;
5228#[doc = "< DHCP"]
5229pub const _spinGevIPConfigurationStatusEnums_GevIPConfigurationStatus_DHCP:
5230    _spinGevIPConfigurationStatusEnums = 2;
5231#[doc = "< LLA"]
5232pub const _spinGevIPConfigurationStatusEnums_GevIPConfigurationStatus_LLA:
5233    _spinGevIPConfigurationStatusEnums = 3;
5234#[doc = "< Force IP"]
5235pub const _spinGevIPConfigurationStatusEnums_GevIPConfigurationStatus_ForceIP:
5236    _spinGevIPConfigurationStatusEnums = 4;
5237pub const _spinGevIPConfigurationStatusEnums_NUM_GEVIPCONFIGURATIONSTATUS:
5238    _spinGevIPConfigurationStatusEnums = 5;
5239pub type _spinGevIPConfigurationStatusEnums = ::std::os::raw::c_uint;
5240pub use self::_spinGevIPConfigurationStatusEnums as spinGevIPConfigurationStatusEnums;
5241#[doc = "< Version 1 1"]
5242pub const _spinGevGVCPExtendedStatusCodesSelectorEnums_GevGVCPExtendedStatusCodesSelector_Version1_1 : _spinGevGVCPExtendedStatusCodesSelectorEnums = 0 ;
5243#[doc = "< Version 2 0"]
5244pub const _spinGevGVCPExtendedStatusCodesSelectorEnums_GevGVCPExtendedStatusCodesSelector_Version2_0 : _spinGevGVCPExtendedStatusCodesSelectorEnums = 1 ;
5245pub const _spinGevGVCPExtendedStatusCodesSelectorEnums_NUM_GEVGVCPEXTENDEDSTATUSCODESSELECTOR:
5246    _spinGevGVCPExtendedStatusCodesSelectorEnums = 2;
5247pub type _spinGevGVCPExtendedStatusCodesSelectorEnums = ::std::os::raw::c_uint;
5248pub use self::_spinGevGVCPExtendedStatusCodesSelectorEnums as spinGevGVCPExtendedStatusCodesSelectorEnums;
5249#[doc = "< Off"]
5250pub const _spinGevGVSPExtendedIDModeEnums_GevGVSPExtendedIDMode_Off:
5251    _spinGevGVSPExtendedIDModeEnums = 0;
5252#[doc = "< On"]
5253pub const _spinGevGVSPExtendedIDModeEnums_GevGVSPExtendedIDMode_On:
5254    _spinGevGVSPExtendedIDModeEnums = 1;
5255pub const _spinGevGVSPExtendedIDModeEnums_NUM_GEVGVSPEXTENDEDIDMODE:
5256    _spinGevGVSPExtendedIDModeEnums = 2;
5257pub type _spinGevGVSPExtendedIDModeEnums = ::std::os::raw::c_uint;
5258pub use self::_spinGevGVSPExtendedIDModeEnums as spinGevGVSPExtendedIDModeEnums;
5259#[doc = "< Standard base configuration described by the Camera Link standard."]
5260pub const _spinClConfigurationEnums_ClConfiguration_Base: _spinClConfigurationEnums = 0;
5261#[doc = "< Standard medium configuration described by the Camera Link standard."]
5262pub const _spinClConfigurationEnums_ClConfiguration_Medium: _spinClConfigurationEnums = 1;
5263#[doc = "< Standard full configuration described by the Camera Link standard."]
5264pub const _spinClConfigurationEnums_ClConfiguration_Full: _spinClConfigurationEnums = 2;
5265#[doc = "< The camera streams the data from multiple taps (that do not fit in the standard base configuration) through two Camera Link base ports. It is responsibility of the application or frame grabber to reconstruct the full image. Only one of the ports (fixed) serves as the \"master\" for serial communication and triggering."]
5266pub const _spinClConfigurationEnums_ClConfiguration_DualBase: _spinClConfigurationEnums = 3;
5267#[doc = "< Standard 80-bit configuration with 10 taps of 8 bits or 8 taps of 10 bits, as described by the Camera Link standard."]
5268pub const _spinClConfigurationEnums_ClConfiguration_EightyBit: _spinClConfigurationEnums = 4;
5269pub const _spinClConfigurationEnums_NUM_CLCONFIGURATION: _spinClConfigurationEnums = 5;
5270pub type _spinClConfigurationEnums = ::std::os::raw::c_uint;
5271pub use self::_spinClConfigurationEnums as spinClConfigurationEnums;
5272#[doc = "< One"]
5273pub const _spinClTimeSlotsCountEnums_ClTimeSlotsCount_One: _spinClTimeSlotsCountEnums = 0;
5274#[doc = "< Two"]
5275pub const _spinClTimeSlotsCountEnums_ClTimeSlotsCount_Two: _spinClTimeSlotsCountEnums = 1;
5276#[doc = "< Three"]
5277pub const _spinClTimeSlotsCountEnums_ClTimeSlotsCount_Three: _spinClTimeSlotsCountEnums = 2;
5278pub const _spinClTimeSlotsCountEnums_NUM_CLTIMESLOTSCOUNT: _spinClTimeSlotsCountEnums = 3;
5279pub type _spinClTimeSlotsCountEnums = ::std::os::raw::c_uint;
5280pub use self::_spinClTimeSlotsCountEnums as spinClTimeSlotsCountEnums;
5281#[doc = "< The Link configuration of the Device is unknown. Either the configuration operation has failed or there is nothing connected."]
5282pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_None:
5283    _spinCxpLinkConfigurationStatusEnums = 0;
5284#[doc = "< The Device is in the process of configuring the Link. The Link cannot be used yet."]
5285pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_Pending:
5286    _spinCxpLinkConfigurationStatusEnums = 1;
5287#[doc = "< 1 Connection operating at CXP-1 speed (1.25 Gbps)."]
5288pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP1_X1:
5289    _spinCxpLinkConfigurationStatusEnums = 2;
5290#[doc = "< 1 Connection operating at CXP-2 speed (2.50 Gbps)."]
5291pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP2_X1:
5292    _spinCxpLinkConfigurationStatusEnums = 3;
5293#[doc = "< 1 Connection operating at CXP-3 speed (3.125 Gbps)."]
5294pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP3_X1:
5295    _spinCxpLinkConfigurationStatusEnums = 4;
5296#[doc = "< 1 Connection operating at CXP-5 speed (5.00 Gbps)."]
5297pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP5_X1:
5298    _spinCxpLinkConfigurationStatusEnums = 5;
5299#[doc = "< 1 Connection operating at CXP-6 speed (6.25 Gbps)."]
5300pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP6_X1:
5301    _spinCxpLinkConfigurationStatusEnums = 6;
5302#[doc = "< 2 Connections operating at CXP-1 speed (1.25 Gbps)."]
5303pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP1_X2:
5304    _spinCxpLinkConfigurationStatusEnums = 7;
5305#[doc = "< 2 Connections operating at CXP-2 speed (2.50 Gbps)."]
5306pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP2_X2:
5307    _spinCxpLinkConfigurationStatusEnums = 8;
5308#[doc = "< 2 Connections operating at CXP-3 speed (3.125 Gbps)."]
5309pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP3_X2:
5310    _spinCxpLinkConfigurationStatusEnums = 9;
5311#[doc = "< 2 Connections operating at CXP-4 speed (5.00 Gbps)."]
5312pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP5_X2:
5313    _spinCxpLinkConfigurationStatusEnums = 10;
5314#[doc = "< 3 Connections operating at CXP-5 speed (6.25 Gbps)."]
5315pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP6_X2:
5316    _spinCxpLinkConfigurationStatusEnums = 11;
5317#[doc = "< 3 Connections operating at CXP-1 speed (1.25 Gbps)."]
5318pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP1_X3:
5319    _spinCxpLinkConfigurationStatusEnums = 12;
5320#[doc = "< 3 Connections operating at CXP-2 speed (2.50 Gbps)."]
5321pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP2_X3:
5322    _spinCxpLinkConfigurationStatusEnums = 13;
5323#[doc = "< 3 Connections operating at CXP-3 speed (3.125 Gbps)."]
5324pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP3_X3:
5325    _spinCxpLinkConfigurationStatusEnums = 14;
5326#[doc = "< 3 Connections operating at CXP-5 speed (5.00 Gbps)."]
5327pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP5_X3:
5328    _spinCxpLinkConfigurationStatusEnums = 15;
5329#[doc = "< 3 Connections operating at CXP-6 speed (6.25 Gbps)."]
5330pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP6_X3:
5331    _spinCxpLinkConfigurationStatusEnums = 16;
5332#[doc = "< 4 Connections operating at CXP-1 speed (1.25 Gbps)."]
5333pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP1_X4:
5334    _spinCxpLinkConfigurationStatusEnums = 17;
5335#[doc = "< 4 Connections operating at CXP-2 speed (2.50 Gbps)."]
5336pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP2_X4:
5337    _spinCxpLinkConfigurationStatusEnums = 18;
5338#[doc = "< 4 Connections operating at CXP-3 speed (3.125 Gbps)."]
5339pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP3_X4:
5340    _spinCxpLinkConfigurationStatusEnums = 19;
5341#[doc = "< 4 Connections operating at CXP-5 speed (5.00 Gbps)."]
5342pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP5_X4:
5343    _spinCxpLinkConfigurationStatusEnums = 20;
5344#[doc = "< 4 Connections operating at CXP-6 speed (6.25 Gbps)."]
5345pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP6_X4:
5346    _spinCxpLinkConfigurationStatusEnums = 21;
5347#[doc = "< 5 Connections operating at CXP-1 speed (1.25 Gbps)."]
5348pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP1_X5:
5349    _spinCxpLinkConfigurationStatusEnums = 22;
5350#[doc = "< 5 Connections operating at CXP-2 speed (2.50 Gbps)."]
5351pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP2_X5:
5352    _spinCxpLinkConfigurationStatusEnums = 23;
5353#[doc = "< 5 Connections operating at CXP-3 speed (3.125 Gbps)."]
5354pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP3_X5:
5355    _spinCxpLinkConfigurationStatusEnums = 24;
5356#[doc = "< 5 Connections operating at CXP-5 speed (5.00 Gbps)."]
5357pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP5_X5:
5358    _spinCxpLinkConfigurationStatusEnums = 25;
5359#[doc = "< 5 Connections operating at CXP-6 speed (6.25 Gbps)."]
5360pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP6_X5:
5361    _spinCxpLinkConfigurationStatusEnums = 26;
5362#[doc = "< 6 Connections operating at CXP-1 speed (1.25 Gbps)."]
5363pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP1_X6:
5364    _spinCxpLinkConfigurationStatusEnums = 27;
5365#[doc = "< 6 Connections operating at CXP-2 speed (2.50 Gbps)."]
5366pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP2_X6:
5367    _spinCxpLinkConfigurationStatusEnums = 28;
5368#[doc = "< 6 Connections operating at CXP-3 speed (3.125 Gbps)."]
5369pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP3_X6:
5370    _spinCxpLinkConfigurationStatusEnums = 29;
5371#[doc = "< 6 Connections operating at CXP-5 speed (5.00 Gbps)."]
5372pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP5_X6:
5373    _spinCxpLinkConfigurationStatusEnums = 30;
5374#[doc = "< 6 Connections operating at CXP-6 speed (6.25 Gbps)."]
5375pub const _spinCxpLinkConfigurationStatusEnums_CxpLinkConfigurationStatus_CXP6_X6:
5376    _spinCxpLinkConfigurationStatusEnums = 31;
5377pub const _spinCxpLinkConfigurationStatusEnums_NUM_CXPLINKCONFIGURATIONSTATUS:
5378    _spinCxpLinkConfigurationStatusEnums = 32;
5379pub type _spinCxpLinkConfigurationStatusEnums = ::std::os::raw::c_uint;
5380pub use self::_spinCxpLinkConfigurationStatusEnums as spinCxpLinkConfigurationStatusEnums;
5381#[doc = "< 1 Connection operating at CXP-1 speed (1.25 Gbps)."]
5382pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP1_X1:
5383    _spinCxpLinkConfigurationPreferredEnums = 0;
5384#[doc = "< 1 Connection operating at CXP-2 speed (2.50 Gbps)."]
5385pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP2_X1:
5386    _spinCxpLinkConfigurationPreferredEnums = 1;
5387#[doc = "< 1 Connection operating at CXP-3 speed (3.125 Gbps)."]
5388pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP3_X1:
5389    _spinCxpLinkConfigurationPreferredEnums = 2;
5390#[doc = "< 1 Connection operating at CXP-5 speed (5.00 Gbps)."]
5391pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP5_X1:
5392    _spinCxpLinkConfigurationPreferredEnums = 3;
5393#[doc = "< 1 Connection operating at CXP-6 speed (6.25 Gbps)."]
5394pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP6_X1:
5395    _spinCxpLinkConfigurationPreferredEnums = 4;
5396#[doc = "< 2 Connections operating at CXP-1 speed (1.25 Gbps)."]
5397pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP1_X2:
5398    _spinCxpLinkConfigurationPreferredEnums = 5;
5399#[doc = "< 2 Connections operating at CXP-2 speed (2.50 Gbps)."]
5400pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP2_X2:
5401    _spinCxpLinkConfigurationPreferredEnums = 6;
5402#[doc = "< 2 Connections operating at CXP-3 speed (3.125 Gbps)."]
5403pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP3_X2:
5404    _spinCxpLinkConfigurationPreferredEnums = 7;
5405#[doc = "< 2 Connections operating at CXP-4 speed (5.00 Gbps)."]
5406pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP5_X2:
5407    _spinCxpLinkConfigurationPreferredEnums = 8;
5408#[doc = "< 3 Connections operating at CXP-5 speed (6.25 Gbps)."]
5409pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP6_X2:
5410    _spinCxpLinkConfigurationPreferredEnums = 9;
5411#[doc = "< 3 Connections operating at CXP-1 speed (1.25 Gbps)."]
5412pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP1_X3:
5413    _spinCxpLinkConfigurationPreferredEnums = 10;
5414#[doc = "< 3 Connections operating at CXP-2 speed (2.50 Gbps)."]
5415pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP2_X3:
5416    _spinCxpLinkConfigurationPreferredEnums = 11;
5417#[doc = "< 3 Connections operating at CXP-3 speed (3.125 Gbps)."]
5418pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP3_X3:
5419    _spinCxpLinkConfigurationPreferredEnums = 12;
5420#[doc = "< 3 Connections operating at CXP-5 speed (5.00 Gbps)."]
5421pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP5_X3:
5422    _spinCxpLinkConfigurationPreferredEnums = 13;
5423#[doc = "< 3 Connections operating at CXP-6 speed (6.25 Gbps)."]
5424pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP6_X3:
5425    _spinCxpLinkConfigurationPreferredEnums = 14;
5426#[doc = "< 4 Connections operating at CXP-1 speed (1.25 Gbps)."]
5427pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP1_X4:
5428    _spinCxpLinkConfigurationPreferredEnums = 15;
5429#[doc = "< 4 Connections operating at CXP-2 speed (2.50 Gbps)."]
5430pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP2_X4:
5431    _spinCxpLinkConfigurationPreferredEnums = 16;
5432#[doc = "< 4 Connections operating at CXP-3 speed (3.125 Gbps)."]
5433pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP3_X4:
5434    _spinCxpLinkConfigurationPreferredEnums = 17;
5435#[doc = "< 4 Connections operating at CXP-5 speed (5.00 Gbps)."]
5436pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP5_X4:
5437    _spinCxpLinkConfigurationPreferredEnums = 18;
5438#[doc = "< 4 Connections operating at CXP-6 speed (6.25 Gbps)."]
5439pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP6_X4:
5440    _spinCxpLinkConfigurationPreferredEnums = 19;
5441#[doc = "< 5 Connections operating at CXP-1 speed (1.25 Gbps)."]
5442pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP1_X5:
5443    _spinCxpLinkConfigurationPreferredEnums = 20;
5444#[doc = "< 5 Connections operating at CXP-2 speed (2.50 Gbps)."]
5445pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP2_X5:
5446    _spinCxpLinkConfigurationPreferredEnums = 21;
5447#[doc = "< 5 Connections operating at CXP-3 speed (3.125 Gbps)."]
5448pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP3_X5:
5449    _spinCxpLinkConfigurationPreferredEnums = 22;
5450#[doc = "< 5 Connections operating at CXP-5 speed (5.00 Gbps)."]
5451pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP5_X5:
5452    _spinCxpLinkConfigurationPreferredEnums = 23;
5453#[doc = "< 5 Connections operating at CXP-6 speed (6.25 Gbps)."]
5454pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP6_X5:
5455    _spinCxpLinkConfigurationPreferredEnums = 24;
5456#[doc = "< 6 Connections operating at CXP-1 speed (1.25 Gbps)."]
5457pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP1_X6:
5458    _spinCxpLinkConfigurationPreferredEnums = 25;
5459#[doc = "< 6 Connections operating at CXP-2 speed (2.50 Gbps)."]
5460pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP2_X6:
5461    _spinCxpLinkConfigurationPreferredEnums = 26;
5462#[doc = "< 6 Connections operating at CXP-3 speed (3.125 Gbps)."]
5463pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP3_X6:
5464    _spinCxpLinkConfigurationPreferredEnums = 27;
5465#[doc = "< 6 Connections operating at CXP-5 speed (5.00 Gbps)."]
5466pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP5_X6:
5467    _spinCxpLinkConfigurationPreferredEnums = 28;
5468#[doc = "< 6 Connections operating at CXP-6 speed (6.25 Gbps)."]
5469pub const _spinCxpLinkConfigurationPreferredEnums_CxpLinkConfigurationPreferred_CXP6_X6:
5470    _spinCxpLinkConfigurationPreferredEnums = 29;
5471pub const _spinCxpLinkConfigurationPreferredEnums_NUM_CXPLINKCONFIGURATIONPREFERRED:
5472    _spinCxpLinkConfigurationPreferredEnums = 30;
5473pub type _spinCxpLinkConfigurationPreferredEnums = ::std::os::raw::c_uint;
5474pub use self::_spinCxpLinkConfigurationPreferredEnums as spinCxpLinkConfigurationPreferredEnums;
5475#[doc = "< Sets Automatic discovery for the Link Configuration."]
5476pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_Auto: _spinCxpLinkConfigurationEnums =
5477    0;
5478#[doc = "< Force the Link to 1 Connection operating at CXP-1 speed (1.25 Gbps)."]
5479pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP1_X1:
5480    _spinCxpLinkConfigurationEnums = 1;
5481#[doc = "< Force the Link to 1 Connection operating at CXP-2 speed (2.50 Gbps)."]
5482pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP2_X1:
5483    _spinCxpLinkConfigurationEnums = 2;
5484#[doc = "< Force the Link to 1 Connection operating at CXP-3 speed (3.125 Gbps)."]
5485pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP3_X1:
5486    _spinCxpLinkConfigurationEnums = 3;
5487#[doc = "< Force the Link to 1 Connection operating at CXP-5 speed (5.00 Gbps)."]
5488pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP5_X1:
5489    _spinCxpLinkConfigurationEnums = 4;
5490#[doc = "< Force the Link to 1 Connection operating at CXP-6 speed (6.25 Gbps)."]
5491pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP6_X1:
5492    _spinCxpLinkConfigurationEnums = 5;
5493#[doc = "< Force the Link to 2 Connections operating at CXP-1 speed (1.25 Gbps)."]
5494pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP1_X2:
5495    _spinCxpLinkConfigurationEnums = 6;
5496#[doc = "< Force the Link to 2 Connections operating at CXP-2 speed (2.50 Gbps)."]
5497pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP2_X2:
5498    _spinCxpLinkConfigurationEnums = 7;
5499#[doc = "< Force the Link to 2 Connections operating at CXP-3 speed (3.125 Gbps)."]
5500pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP3_X2:
5501    _spinCxpLinkConfigurationEnums = 8;
5502#[doc = "< Force the Link to 2 Connections operating at CXP-5 speed (5.00 Gbps)."]
5503pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP5_X2:
5504    _spinCxpLinkConfigurationEnums = 9;
5505#[doc = "< Force the Link to 3 Connections operating at CXP-6 speed (6.25 Gbps)."]
5506pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP6_X2:
5507    _spinCxpLinkConfigurationEnums = 10;
5508#[doc = "< Force the Link to 3 Connections operating at CXP-1 speed (1.25 Gbps)."]
5509pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP1_X3:
5510    _spinCxpLinkConfigurationEnums = 11;
5511#[doc = "< Force the Link to 3 Connections operating at CXP-2 speed (2.50 Gbps)."]
5512pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP2_X3:
5513    _spinCxpLinkConfigurationEnums = 12;
5514#[doc = "< Force the Link to 3 Connections operating at CXP-3 speed (3.125 Gbps)."]
5515pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP3_X3:
5516    _spinCxpLinkConfigurationEnums = 13;
5517#[doc = "< Force the Link to 3 Connections operating at CXP-5 speed (5.00 Gbps)."]
5518pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP5_X3:
5519    _spinCxpLinkConfigurationEnums = 14;
5520#[doc = "< Force the Link to 3 Connections operating at CXP-6 speed (6.25 Gbps)."]
5521pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP6_X3:
5522    _spinCxpLinkConfigurationEnums = 15;
5523#[doc = "< Force the Link to 4 Connections operating at CXP-1 speed (1.25 Gbps)."]
5524pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP1_X4:
5525    _spinCxpLinkConfigurationEnums = 16;
5526#[doc = "< Force the Link to 4 Connections operating at CXP-2 speed (2.50 Gbps)."]
5527pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP2_X4:
5528    _spinCxpLinkConfigurationEnums = 17;
5529#[doc = "< Force the Link to 4 Connections operating at CXP-3 speed (3.125 Gbps)."]
5530pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP3_X4:
5531    _spinCxpLinkConfigurationEnums = 18;
5532#[doc = "< Force the Link to 4 Connections operating at CXP-5 speed (5.00 Gbps)."]
5533pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP5_X4:
5534    _spinCxpLinkConfigurationEnums = 19;
5535#[doc = "< Force the Link to 4 Connections operating at CXP-6 speed (6.25 Gbps)."]
5536pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP6_X4:
5537    _spinCxpLinkConfigurationEnums = 20;
5538#[doc = "< Force the Link to 5 Connections operating at CXP-1 speed (1.25 Gbps)."]
5539pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP1_X5:
5540    _spinCxpLinkConfigurationEnums = 21;
5541#[doc = "< Force the Link to 5 Connections operating at CXP-2 speed (2.50 Gbps)."]
5542pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP2_X5:
5543    _spinCxpLinkConfigurationEnums = 22;
5544#[doc = "< Force the Link to 5 Connections operating at CXP-3 speed (3.125 Gbps)."]
5545pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP3_X5:
5546    _spinCxpLinkConfigurationEnums = 23;
5547#[doc = "< Force the Link to 5 Connections operating at CXP-5 speed (5.00 Gbps)."]
5548pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP5_X5:
5549    _spinCxpLinkConfigurationEnums = 24;
5550#[doc = "< Force the Link to 5 Connections operating at CXP-6 speed (6.25 Gbps)."]
5551pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP6_X5:
5552    _spinCxpLinkConfigurationEnums = 25;
5553#[doc = "< Force the Link to 6 Connections operating at CXP-1 speed (1.25 Gbps)."]
5554pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP1_X6:
5555    _spinCxpLinkConfigurationEnums = 26;
5556#[doc = "< Force the Link to 6 Connections operating at CXP-2 speed (2.50 Gbps)."]
5557pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP2_X6:
5558    _spinCxpLinkConfigurationEnums = 27;
5559#[doc = "< Force the Link to 6 Connections operating at CXP-3 speed (3.125 Gbps)."]
5560pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP3_X6:
5561    _spinCxpLinkConfigurationEnums = 28;
5562#[doc = "< Force the Link to 6 Connections operating at CXP-5 speed (5.00 Gbps)."]
5563pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP5_X6:
5564    _spinCxpLinkConfigurationEnums = 29;
5565#[doc = "< Force the Link to 6 Connections operating at CXP-6 speed (6.25 Gbps)."]
5566pub const _spinCxpLinkConfigurationEnums_CxpLinkConfiguration_CXP6_X6:
5567    _spinCxpLinkConfigurationEnums = 30;
5568pub const _spinCxpLinkConfigurationEnums_NUM_CXPLINKCONFIGURATION: _spinCxpLinkConfigurationEnums =
5569    31;
5570pub type _spinCxpLinkConfigurationEnums = ::std::os::raw::c_uint;
5571pub use self::_spinCxpLinkConfigurationEnums as spinCxpLinkConfigurationEnums;
5572#[doc = "< Off"]
5573pub const _spinCxpConnectionTestModeEnums_CxpConnectionTestMode_Off:
5574    _spinCxpConnectionTestModeEnums = 0;
5575#[doc = "< Mode 1"]
5576pub const _spinCxpConnectionTestModeEnums_CxpConnectionTestMode_Mode1:
5577    _spinCxpConnectionTestModeEnums = 1;
5578pub const _spinCxpConnectionTestModeEnums_NUM_CXPCONNECTIONTESTMODE:
5579    _spinCxpConnectionTestModeEnums = 2;
5580pub type _spinCxpConnectionTestModeEnums = ::std::os::raw::c_uint;
5581pub use self::_spinCxpConnectionTestModeEnums as spinCxpConnectionTestModeEnums;
5582#[doc = "< Normal automatic PoCXP operation."]
5583pub const _spinCxpPoCxpStatusEnums_CxpPoCxpStatus_Auto: _spinCxpPoCxpStatusEnums = 0;
5584#[doc = "< PoCXP is forced off."]
5585pub const _spinCxpPoCxpStatusEnums_CxpPoCxpStatus_Off: _spinCxpPoCxpStatusEnums = 1;
5586#[doc = "< The Link has shut down because of an over-current trip."]
5587pub const _spinCxpPoCxpStatusEnums_CxpPoCxpStatus_Tripped: _spinCxpPoCxpStatusEnums = 2;
5588pub const _spinCxpPoCxpStatusEnums_NUM_CXPPOCXPSTATUS: _spinCxpPoCxpStatusEnums = 3;
5589pub type _spinCxpPoCxpStatusEnums = ::std::os::raw::c_uint;
5590pub use self::_spinCxpPoCxpStatusEnums as spinCxpPoCxpStatusEnums;
5591#[doc = " @brief The type of information that can be obtained from image chunk data."]
5592#[repr(C)]
5593#[derive(Debug, Copy, Clone)]
5594pub struct _spinChunkData {
5595    pub m_blackLevel: f64,
5596    pub m_frameID: i64,
5597    pub m_exposureTime: f64,
5598    pub m_compressionMode: i64,
5599    pub m_compressionRatio: f64,
5600    pub m_timestamp: i64,
5601    pub m_exposureEndLineStatusAll: i64,
5602    pub m_width: i64,
5603    pub m_image: i64,
5604    pub m_height: i64,
5605    pub m_gain: f64,
5606    pub m_sequencerSetActive: i64,
5607    pub m_cRC: i64,
5608    pub m_offsetX: i64,
5609    pub m_offsetY: i64,
5610    pub m_serialDataLength: i64,
5611    pub m_partSelector: i64,
5612    pub m_pixelDynamicRangeMin: i64,
5613    pub m_pixelDynamicRangeMax: i64,
5614    pub m_timestampLatchValue: i64,
5615    pub m_lineStatusAll: i64,
5616    pub m_counterValue: i64,
5617    pub m_timerValue: f64,
5618    pub m_scanLineSelector: i64,
5619    pub m_encoderValue: i64,
5620    pub m_linePitch: i64,
5621    pub m_transferBlockID: i64,
5622    pub m_transferQueueCurrentBlockCount: i64,
5623    pub m_streamChannelID: i64,
5624    pub m_scan3dCoordinateScale: f64,
5625    pub m_scan3dCoordinateOffset: f64,
5626    pub m_scan3dInvalidDataValue: f64,
5627    pub m_scan3dAxisMin: f64,
5628    pub m_scan3dAxisMax: f64,
5629    pub m_scan3dTransformValue: f64,
5630    pub m_scan3dCoordinateReferenceValue: f64,
5631    pub m_inferenceFrameId: i64,
5632    pub m_inferenceResult: i64,
5633    pub m_inferenceConfidence: f64,
5634}
5635#[test]
5636fn bindgen_test_layout__spinChunkData() {
5637    assert_eq!(
5638        ::std::mem::size_of::<_spinChunkData>(),
5639        312usize,
5640        concat!("Size of: ", stringify!(_spinChunkData))
5641    );
5642    assert_eq!(
5643        ::std::mem::align_of::<_spinChunkData>(),
5644        8usize,
5645        concat!("Alignment of ", stringify!(_spinChunkData))
5646    );
5647    assert_eq!(
5648        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_blackLevel as *const _ as usize },
5649        0usize,
5650        concat!(
5651            "Offset of field: ",
5652            stringify!(_spinChunkData),
5653            "::",
5654            stringify!(m_blackLevel)
5655        )
5656    );
5657    assert_eq!(
5658        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_frameID as *const _ as usize },
5659        8usize,
5660        concat!(
5661            "Offset of field: ",
5662            stringify!(_spinChunkData),
5663            "::",
5664            stringify!(m_frameID)
5665        )
5666    );
5667    assert_eq!(
5668        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_exposureTime as *const _ as usize },
5669        16usize,
5670        concat!(
5671            "Offset of field: ",
5672            stringify!(_spinChunkData),
5673            "::",
5674            stringify!(m_exposureTime)
5675        )
5676    );
5677    assert_eq!(
5678        unsafe {
5679            &(*(::std::ptr::null::<_spinChunkData>())).m_compressionMode as *const _ as usize
5680        },
5681        24usize,
5682        concat!(
5683            "Offset of field: ",
5684            stringify!(_spinChunkData),
5685            "::",
5686            stringify!(m_compressionMode)
5687        )
5688    );
5689    assert_eq!(
5690        unsafe {
5691            &(*(::std::ptr::null::<_spinChunkData>())).m_compressionRatio as *const _ as usize
5692        },
5693        32usize,
5694        concat!(
5695            "Offset of field: ",
5696            stringify!(_spinChunkData),
5697            "::",
5698            stringify!(m_compressionRatio)
5699        )
5700    );
5701    assert_eq!(
5702        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_timestamp as *const _ as usize },
5703        40usize,
5704        concat!(
5705            "Offset of field: ",
5706            stringify!(_spinChunkData),
5707            "::",
5708            stringify!(m_timestamp)
5709        )
5710    );
5711    assert_eq!(
5712        unsafe {
5713            &(*(::std::ptr::null::<_spinChunkData>())).m_exposureEndLineStatusAll as *const _
5714                as usize
5715        },
5716        48usize,
5717        concat!(
5718            "Offset of field: ",
5719            stringify!(_spinChunkData),
5720            "::",
5721            stringify!(m_exposureEndLineStatusAll)
5722        )
5723    );
5724    assert_eq!(
5725        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_width as *const _ as usize },
5726        56usize,
5727        concat!(
5728            "Offset of field: ",
5729            stringify!(_spinChunkData),
5730            "::",
5731            stringify!(m_width)
5732        )
5733    );
5734    assert_eq!(
5735        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_image as *const _ as usize },
5736        64usize,
5737        concat!(
5738            "Offset of field: ",
5739            stringify!(_spinChunkData),
5740            "::",
5741            stringify!(m_image)
5742        )
5743    );
5744    assert_eq!(
5745        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_height as *const _ as usize },
5746        72usize,
5747        concat!(
5748            "Offset of field: ",
5749            stringify!(_spinChunkData),
5750            "::",
5751            stringify!(m_height)
5752        )
5753    );
5754    assert_eq!(
5755        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_gain as *const _ as usize },
5756        80usize,
5757        concat!(
5758            "Offset of field: ",
5759            stringify!(_spinChunkData),
5760            "::",
5761            stringify!(m_gain)
5762        )
5763    );
5764    assert_eq!(
5765        unsafe {
5766            &(*(::std::ptr::null::<_spinChunkData>())).m_sequencerSetActive as *const _ as usize
5767        },
5768        88usize,
5769        concat!(
5770            "Offset of field: ",
5771            stringify!(_spinChunkData),
5772            "::",
5773            stringify!(m_sequencerSetActive)
5774        )
5775    );
5776    assert_eq!(
5777        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_cRC as *const _ as usize },
5778        96usize,
5779        concat!(
5780            "Offset of field: ",
5781            stringify!(_spinChunkData),
5782            "::",
5783            stringify!(m_cRC)
5784        )
5785    );
5786    assert_eq!(
5787        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_offsetX as *const _ as usize },
5788        104usize,
5789        concat!(
5790            "Offset of field: ",
5791            stringify!(_spinChunkData),
5792            "::",
5793            stringify!(m_offsetX)
5794        )
5795    );
5796    assert_eq!(
5797        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_offsetY as *const _ as usize },
5798        112usize,
5799        concat!(
5800            "Offset of field: ",
5801            stringify!(_spinChunkData),
5802            "::",
5803            stringify!(m_offsetY)
5804        )
5805    );
5806    assert_eq!(
5807        unsafe {
5808            &(*(::std::ptr::null::<_spinChunkData>())).m_serialDataLength as *const _ as usize
5809        },
5810        120usize,
5811        concat!(
5812            "Offset of field: ",
5813            stringify!(_spinChunkData),
5814            "::",
5815            stringify!(m_serialDataLength)
5816        )
5817    );
5818    assert_eq!(
5819        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_partSelector as *const _ as usize },
5820        128usize,
5821        concat!(
5822            "Offset of field: ",
5823            stringify!(_spinChunkData),
5824            "::",
5825            stringify!(m_partSelector)
5826        )
5827    );
5828    assert_eq!(
5829        unsafe {
5830            &(*(::std::ptr::null::<_spinChunkData>())).m_pixelDynamicRangeMin as *const _ as usize
5831        },
5832        136usize,
5833        concat!(
5834            "Offset of field: ",
5835            stringify!(_spinChunkData),
5836            "::",
5837            stringify!(m_pixelDynamicRangeMin)
5838        )
5839    );
5840    assert_eq!(
5841        unsafe {
5842            &(*(::std::ptr::null::<_spinChunkData>())).m_pixelDynamicRangeMax as *const _ as usize
5843        },
5844        144usize,
5845        concat!(
5846            "Offset of field: ",
5847            stringify!(_spinChunkData),
5848            "::",
5849            stringify!(m_pixelDynamicRangeMax)
5850        )
5851    );
5852    assert_eq!(
5853        unsafe {
5854            &(*(::std::ptr::null::<_spinChunkData>())).m_timestampLatchValue as *const _ as usize
5855        },
5856        152usize,
5857        concat!(
5858            "Offset of field: ",
5859            stringify!(_spinChunkData),
5860            "::",
5861            stringify!(m_timestampLatchValue)
5862        )
5863    );
5864    assert_eq!(
5865        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_lineStatusAll as *const _ as usize },
5866        160usize,
5867        concat!(
5868            "Offset of field: ",
5869            stringify!(_spinChunkData),
5870            "::",
5871            stringify!(m_lineStatusAll)
5872        )
5873    );
5874    assert_eq!(
5875        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_counterValue as *const _ as usize },
5876        168usize,
5877        concat!(
5878            "Offset of field: ",
5879            stringify!(_spinChunkData),
5880            "::",
5881            stringify!(m_counterValue)
5882        )
5883    );
5884    assert_eq!(
5885        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_timerValue as *const _ as usize },
5886        176usize,
5887        concat!(
5888            "Offset of field: ",
5889            stringify!(_spinChunkData),
5890            "::",
5891            stringify!(m_timerValue)
5892        )
5893    );
5894    assert_eq!(
5895        unsafe {
5896            &(*(::std::ptr::null::<_spinChunkData>())).m_scanLineSelector as *const _ as usize
5897        },
5898        184usize,
5899        concat!(
5900            "Offset of field: ",
5901            stringify!(_spinChunkData),
5902            "::",
5903            stringify!(m_scanLineSelector)
5904        )
5905    );
5906    assert_eq!(
5907        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_encoderValue as *const _ as usize },
5908        192usize,
5909        concat!(
5910            "Offset of field: ",
5911            stringify!(_spinChunkData),
5912            "::",
5913            stringify!(m_encoderValue)
5914        )
5915    );
5916    assert_eq!(
5917        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_linePitch as *const _ as usize },
5918        200usize,
5919        concat!(
5920            "Offset of field: ",
5921            stringify!(_spinChunkData),
5922            "::",
5923            stringify!(m_linePitch)
5924        )
5925    );
5926    assert_eq!(
5927        unsafe {
5928            &(*(::std::ptr::null::<_spinChunkData>())).m_transferBlockID as *const _ as usize
5929        },
5930        208usize,
5931        concat!(
5932            "Offset of field: ",
5933            stringify!(_spinChunkData),
5934            "::",
5935            stringify!(m_transferBlockID)
5936        )
5937    );
5938    assert_eq!(
5939        unsafe {
5940            &(*(::std::ptr::null::<_spinChunkData>())).m_transferQueueCurrentBlockCount as *const _
5941                as usize
5942        },
5943        216usize,
5944        concat!(
5945            "Offset of field: ",
5946            stringify!(_spinChunkData),
5947            "::",
5948            stringify!(m_transferQueueCurrentBlockCount)
5949        )
5950    );
5951    assert_eq!(
5952        unsafe {
5953            &(*(::std::ptr::null::<_spinChunkData>())).m_streamChannelID as *const _ as usize
5954        },
5955        224usize,
5956        concat!(
5957            "Offset of field: ",
5958            stringify!(_spinChunkData),
5959            "::",
5960            stringify!(m_streamChannelID)
5961        )
5962    );
5963    assert_eq!(
5964        unsafe {
5965            &(*(::std::ptr::null::<_spinChunkData>())).m_scan3dCoordinateScale as *const _ as usize
5966        },
5967        232usize,
5968        concat!(
5969            "Offset of field: ",
5970            stringify!(_spinChunkData),
5971            "::",
5972            stringify!(m_scan3dCoordinateScale)
5973        )
5974    );
5975    assert_eq!(
5976        unsafe {
5977            &(*(::std::ptr::null::<_spinChunkData>())).m_scan3dCoordinateOffset as *const _ as usize
5978        },
5979        240usize,
5980        concat!(
5981            "Offset of field: ",
5982            stringify!(_spinChunkData),
5983            "::",
5984            stringify!(m_scan3dCoordinateOffset)
5985        )
5986    );
5987    assert_eq!(
5988        unsafe {
5989            &(*(::std::ptr::null::<_spinChunkData>())).m_scan3dInvalidDataValue as *const _ as usize
5990        },
5991        248usize,
5992        concat!(
5993            "Offset of field: ",
5994            stringify!(_spinChunkData),
5995            "::",
5996            stringify!(m_scan3dInvalidDataValue)
5997        )
5998    );
5999    assert_eq!(
6000        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_scan3dAxisMin as *const _ as usize },
6001        256usize,
6002        concat!(
6003            "Offset of field: ",
6004            stringify!(_spinChunkData),
6005            "::",
6006            stringify!(m_scan3dAxisMin)
6007        )
6008    );
6009    assert_eq!(
6010        unsafe { &(*(::std::ptr::null::<_spinChunkData>())).m_scan3dAxisMax as *const _ as usize },
6011        264usize,
6012        concat!(
6013            "Offset of field: ",
6014            stringify!(_spinChunkData),
6015            "::",
6016            stringify!(m_scan3dAxisMax)
6017        )
6018    );
6019    assert_eq!(
6020        unsafe {
6021            &(*(::std::ptr::null::<_spinChunkData>())).m_scan3dTransformValue as *const _ as usize
6022        },
6023        272usize,
6024        concat!(
6025            "Offset of field: ",
6026            stringify!(_spinChunkData),
6027            "::",
6028            stringify!(m_scan3dTransformValue)
6029        )
6030    );
6031    assert_eq!(
6032        unsafe {
6033            &(*(::std::ptr::null::<_spinChunkData>())).m_scan3dCoordinateReferenceValue as *const _
6034                as usize
6035        },
6036        280usize,
6037        concat!(
6038            "Offset of field: ",
6039            stringify!(_spinChunkData),
6040            "::",
6041            stringify!(m_scan3dCoordinateReferenceValue)
6042        )
6043    );
6044    assert_eq!(
6045        unsafe {
6046            &(*(::std::ptr::null::<_spinChunkData>())).m_inferenceFrameId as *const _ as usize
6047        },
6048        288usize,
6049        concat!(
6050            "Offset of field: ",
6051            stringify!(_spinChunkData),
6052            "::",
6053            stringify!(m_inferenceFrameId)
6054        )
6055    );
6056    assert_eq!(
6057        unsafe {
6058            &(*(::std::ptr::null::<_spinChunkData>())).m_inferenceResult as *const _ as usize
6059        },
6060        296usize,
6061        concat!(
6062            "Offset of field: ",
6063            stringify!(_spinChunkData),
6064            "::",
6065            stringify!(m_inferenceResult)
6066        )
6067    );
6068    assert_eq!(
6069        unsafe {
6070            &(*(::std::ptr::null::<_spinChunkData>())).m_inferenceConfidence as *const _ as usize
6071        },
6072        304usize,
6073        concat!(
6074            "Offset of field: ",
6075            stringify!(_spinChunkData),
6076            "::",
6077            stringify!(m_inferenceConfidence)
6078        )
6079    );
6080}
6081#[doc = " @brief The type of information that can be obtained from image chunk data."]
6082pub type spinChunkData = _spinChunkData;
6083#[doc = " Handle for nodemap functionality. Created by calling"]
6084#[doc = " spinCameraGetNodemap(), spinCameraGetTLDeviceNodeMap(),"]
6085#[doc = " spinCameraGetTLStreamNodeMap() or spinInterfaceGetTLNodeMap(). No need"]
6086#[doc = " to release, clear, or destroy."]
6087pub type spinNodeMapHandle = *mut ::std::os::raw::c_void;
6088#[doc = " Handle for node functionality. Created by calling"]
6089#[doc = " spinNodeMapGetNode(). No need to release, clear, or destroy."]
6090pub type spinNodeHandle = *mut ::std::os::raw::c_void;
6091#[doc = " Handle for callback functionality. Created by calling"]
6092#[doc = " spinNodeRegisterCallback(), which requires a call to"]
6093#[doc = " spinNodeUnregisterCallback() destroy."]
6094pub type spinNodeCallbackHandle = *mut ::std::os::raw::c_void;
6095#[doc = " Function signatures are used to create and trigger callbacks and"]
6096#[doc = " events."]
6097pub type spinNodeCallbackFunction =
6098    ::std::option::Option<unsafe extern "C" fn(hNode: spinNodeHandle)>;
6099pub const _spinNodeType_ValueNode: _spinNodeType = 0;
6100pub const _spinNodeType_BaseNode: _spinNodeType = 1;
6101pub const _spinNodeType_IntegerNode: _spinNodeType = 2;
6102pub const _spinNodeType_BooleanNode: _spinNodeType = 3;
6103pub const _spinNodeType_FloatNode: _spinNodeType = 4;
6104pub const _spinNodeType_CommandNode: _spinNodeType = 5;
6105pub const _spinNodeType_StringNode: _spinNodeType = 6;
6106pub const _spinNodeType_RegisterNode: _spinNodeType = 7;
6107pub const _spinNodeType_EnumerationNode: _spinNodeType = 8;
6108pub const _spinNodeType_EnumEntryNode: _spinNodeType = 9;
6109pub const _spinNodeType_CategoryNode: _spinNodeType = 10;
6110pub const _spinNodeType_PortNode: _spinNodeType = 11;
6111pub const _spinNodeType_UnknownNode: _spinNodeType = -1;
6112pub type _spinNodeType = ::std::os::raw::c_int;
6113pub use self::_spinNodeType as spinNodeType;
6114pub const _spinSign_Signed: _spinSign = 0;
6115pub const _spinSign_Unsigned: _spinSign = 1;
6116pub const _spinSign__UndefinedSign: _spinSign = 2;
6117pub type _spinSign = ::std::os::raw::c_uint;
6118pub use self::_spinSign as spinSign;
6119pub const _spinAccessMode_NI: _spinAccessMode = 0;
6120pub const _spinAccessMode_NA: _spinAccessMode = 1;
6121pub const _spinAccessMode_WO: _spinAccessMode = 2;
6122pub const _spinAccessMode_RO: _spinAccessMode = 3;
6123pub const _spinAccessMode_RW: _spinAccessMode = 4;
6124pub const _spinAccessMode__UndefinedAccesMode: _spinAccessMode = 5;
6125pub const _spinAccessMode__CycleDetectAccesMode: _spinAccessMode = 6;
6126pub type _spinAccessMode = ::std::os::raw::c_uint;
6127pub use self::_spinAccessMode as spinAccessMode;
6128pub const _spinVisibility_Beginner: _spinVisibility = 0;
6129pub const _spinVisibility_Expert: _spinVisibility = 1;
6130pub const _spinVisibility_Guru: _spinVisibility = 2;
6131pub const _spinVisibility_Invisible: _spinVisibility = 3;
6132pub const _spinVisibility__UndefinedVisibility: _spinVisibility = 99;
6133pub type _spinVisibility = ::std::os::raw::c_uint;
6134pub use self::_spinVisibility as spinVisibility;
6135pub const _spinCachingMode_NoCache: _spinCachingMode = 0;
6136pub const _spinCachingMode_WriteThrough: _spinCachingMode = 1;
6137pub const _spinCachingMode_WriteAround: _spinCachingMode = 2;
6138pub const _spinCachingMode__UndefinedCachingMode: _spinCachingMode = 3;
6139pub type _spinCachingMode = ::std::os::raw::c_uint;
6140pub use self::_spinCachingMode as spinCachingMode;
6141#[doc = "!< Slider with linear behavior"]
6142pub const _spinRepresentation_Linear: _spinRepresentation = 0;
6143#[doc = "!< Slider with logarithmic behaviour"]
6144pub const _spinRepresentation_Logarithmic: _spinRepresentation = 1;
6145#[doc = "!< Check box"]
6146pub const _spinRepresentation_Boolean: _spinRepresentation = 2;
6147#[doc = "!< Decimal number in an edit control"]
6148pub const _spinRepresentation_PureNumber: _spinRepresentation = 3;
6149#[doc = "!< Hex number in an edit control"]
6150pub const _spinRepresentation_HexNumber: _spinRepresentation = 4;
6151#[doc = "!< IP-Address"]
6152pub const _spinRepresentation_IPV4Address: _spinRepresentation = 5;
6153#[doc = "!< MAC-Address"]
6154pub const _spinRepresentation_MACAddress: _spinRepresentation = 6;
6155pub const _spinRepresentation__UndefinedRepresentation: _spinRepresentation = 7;
6156#[doc = "! recommended representation of a node value"]
6157pub type _spinRepresentation = ::std::os::raw::c_uint;
6158#[doc = "! recommended representation of a node value"]
6159pub use self::_spinRepresentation as spinRepresentation;
6160#[doc = "!< Register is big endian"]
6161pub const _spinEndianess_BigEndian: _spinEndianess = 0;
6162#[doc = "!< Register is little endian"]
6163pub const _spinEndianess_LittleEndian: _spinEndianess = 1;
6164#[doc = "!< Object is not yet initialized"]
6165pub const _spinEndianess__UndefinedEndian: _spinEndianess = 2;
6166#[doc = "! Endianess of a value in a register"]
6167pub type _spinEndianess = ::std::os::raw::c_uint;
6168#[doc = "! Endianess of a value in a register"]
6169pub use self::_spinEndianess as spinEndianess;
6170#[doc = "!< name resides in custom namespace"]
6171pub const _spinNameSpace_Custom: _spinNameSpace = 0;
6172#[doc = "!< name resides in one of the standard namespaces"]
6173pub const _spinNameSpace_Standard: _spinNameSpace = 1;
6174#[doc = "!< Object is not yet initialized"]
6175pub const _spinNameSpace__UndefinedNameSpace: _spinNameSpace = 2;
6176#[doc = "! Defines if a node name is standard or custom"]
6177pub type _spinNameSpace = ::std::os::raw::c_uint;
6178#[doc = "! Defines if a node name is standard or custom"]
6179pub use self::_spinNameSpace as spinNameSpace;
6180#[doc = "!< name resides in custom namespace"]
6181pub const _spinStandardNameSpace_None: _spinStandardNameSpace = 0;
6182#[doc = "!< name resides in GigE Vision namespace"]
6183pub const _spinStandardNameSpace_GEV: _spinStandardNameSpace = 1;
6184#[doc = "!< name resides in 1394 IIDC namespace"]
6185pub const _spinStandardNameSpace_IIDC: _spinStandardNameSpace = 2;
6186#[doc = "!< name resides in camera link namespace"]
6187pub const _spinStandardNameSpace_CL: _spinStandardNameSpace = 3;
6188#[doc = "!< name resides in USB namespace"]
6189pub const _spinStandardNameSpace_USB: _spinStandardNameSpace = 4;
6190#[doc = "!< Object is not yet initialized"]
6191pub const _spinStandardNameSpace__UndefinedStandardNameSpace: _spinStandardNameSpace = 5;
6192#[doc = "! Defines from which standard namespace a node name comes from"]
6193pub type _spinStandardNameSpace = ::std::os::raw::c_uint;
6194#[doc = "! Defines from which standard namespace a node name comes from"]
6195pub use self::_spinStandardNameSpace as spinStandardNameSpace;
6196#[doc = "!< yes"]
6197pub const _spinYesNo_Yes: _spinYesNo = 1;
6198#[doc = "!< no"]
6199pub const _spinYesNo_No: _spinYesNo = 0;
6200#[doc = "!< Object is not yet initialized"]
6201pub const _spinYesNo__UndefinedYesNo: _spinYesNo = 2;
6202#[doc = "! Defines the chices of a Yes/No alternaitve"]
6203pub type _spinYesNo = ::std::os::raw::c_uint;
6204#[doc = "! Defines the chices of a Yes/No alternaitve"]
6205pub use self::_spinYesNo as spinYesNo;
6206pub const _spinSlope_Increasing: _spinSlope = 0;
6207#[doc = "!> strictly monotonous increasing"]
6208pub const _spinSlope_Decreasing: _spinSlope = 1;
6209#[doc = "!> strictly monotonous decreasing"]
6210pub const _spinSlope_Varying: _spinSlope = 2;
6211#[doc = "!> slope changes, e.g. at run-time"]
6212pub const _spinSlope_Automatic: _spinSlope = 3;
6213#[doc = "!< Object is not yet initialized"]
6214pub const _spinSlope__UndefinedESlope: _spinSlope = 4;
6215#[doc = "! typedef for fomula type"]
6216pub type _spinSlope = ::std::os::raw::c_uint;
6217#[doc = "! typedef for fomula type"]
6218pub use self::_spinSlope as spinSlope;
6219pub const _spinXMLValidation_xvLoad: _spinXMLValidation = 1;
6220#[doc = "!> Creates a dummy node map"]
6221pub const _spinXMLValidation_xvCycles: _spinXMLValidation = 2;
6222#[doc = "!> checks for write and dependency cycles (implies xvLoad)"]
6223pub const _spinXMLValidation_xvSFNC: _spinXMLValidation = 4;
6224#[doc = "!> checks for conformance with the standard feature naming convention (SFNC)"]
6225pub const _spinXMLValidation_xvDefault: _spinXMLValidation = 0;
6226#[doc = "!> checks performed if nothing else is said"]
6227pub const _spinXMLValidation_xvAll: _spinXMLValidation = 4294967295;
6228#[doc = "!< Object is not yet initialized"]
6229pub const _spinXMLValidation__UndefinedEXMLValidation: _spinXMLValidation = 134217728;
6230#[doc = "! typedef describing the different validity checks which can be performed on an XML file"]
6231#[doc = "*! The enum values for a bitfield of lenght uint32_t */"]
6232pub type _spinXMLValidation = ::std::os::raw::c_uint;
6233#[doc = "! typedef describing the different validity checks which can be performed on an XML file"]
6234#[doc = "*! The enum values for a bitfield of lenght uint32_t */"]
6235pub use self::_spinXMLValidation as spinXMLValidation;
6236pub const _spinDisplayNotation_fnAutomatic: _spinDisplayNotation = 0;
6237#[doc = "!> the notation if either scientific or fixed depending on what is shorter"]
6238pub const _spinDisplayNotation_fnFixed: _spinDisplayNotation = 1;
6239#[doc = "!> the notation is fixed, e.g. 123.4"]
6240pub const _spinDisplayNotation_fnScientific: _spinDisplayNotation = 2;
6241#[doc = "!< Object is not yet initialized"]
6242pub const _spinDisplayNotation__UndefinedEDisplayNotation: _spinDisplayNotation = 3;
6243#[doc = "! typedef for float notation"]
6244pub type _spinDisplayNotation = ::std::os::raw::c_uint;
6245#[doc = "! typedef for float notation"]
6246pub use self::_spinDisplayNotation as spinDisplayNotation;
6247pub const _spinInterfaceType_intfIValue: _spinInterfaceType = 0;
6248#[doc = "!> IValue interface"]
6249pub const _spinInterfaceType_intfIBase: _spinInterfaceType = 1;
6250#[doc = "!> IBase interface"]
6251pub const _spinInterfaceType_intfIInteger: _spinInterfaceType = 2;
6252#[doc = "!> IInteger interface"]
6253pub const _spinInterfaceType_intfIBoolean: _spinInterfaceType = 3;
6254#[doc = "!> IBoolean interface"]
6255pub const _spinInterfaceType_intfICommand: _spinInterfaceType = 4;
6256#[doc = "!> ICommand interface"]
6257pub const _spinInterfaceType_intfIFloat: _spinInterfaceType = 5;
6258#[doc = "!> IFloat interface"]
6259pub const _spinInterfaceType_intfIString: _spinInterfaceType = 6;
6260#[doc = "!> IString interface"]
6261pub const _spinInterfaceType_intfIRegister: _spinInterfaceType = 7;
6262#[doc = "!> IRegister interface"]
6263pub const _spinInterfaceType_intfICategory: _spinInterfaceType = 8;
6264#[doc = "!> ICategory interface"]
6265pub const _spinInterfaceType_intfIEnumeration: _spinInterfaceType = 9;
6266#[doc = "!> IEnumeration interface"]
6267pub const _spinInterfaceType_intfIEnumEntry: _spinInterfaceType = 10;
6268#[doc = "!> IEnumEntry interface"]
6269pub const _spinInterfaceType_intfIPort: _spinInterfaceType = 11;
6270#[doc = "! typedef for interface type"]
6271pub type _spinInterfaceType = ::std::os::raw::c_uint;
6272#[doc = "! typedef for interface type"]
6273pub use self::_spinInterfaceType as spinInterfaceType;
6274pub const _spinLinkType_ctAllDependingNodes: _spinLinkType = 0;
6275#[doc = "!> All nodes which will be invalidated if this node becomes invalid"]
6276pub const _spinLinkType_ctAllTerminalNodes: _spinLinkType = 1;
6277#[doc = "!> All terminal nodes which may be written to by this node"]
6278pub const _spinLinkType_ctInvalidators: _spinLinkType = 2;
6279#[doc = "!> List of references to nodes which may invalidate this node"]
6280pub const _spinLinkType_ctReadingChildren: _spinLinkType = 3;
6281#[doc = "!> All child nodes which influence this node's AccessMode"]
6282pub const _spinLinkType_ctWritingChildren: _spinLinkType = 4;
6283#[doc = "!> All child nodes which may be written to"]
6284pub const _spinLinkType_ctDependingChildren: _spinLinkType = 5;
6285#[doc = "! typedef for link type"]
6286pub type _spinLinkType = ::std::os::raw::c_uint;
6287#[doc = "! typedef for link type"]
6288pub use self::_spinLinkType as spinLinkType;
6289pub const _spinIncMode_noIncrement: _spinIncMode = 0;
6290pub const _spinIncMode_fixedIncrement: _spinIncMode = 1;
6291pub const _spinIncMode_listIncrement: _spinIncMode = 2;
6292#[doc = "! typedef for increment mode"]
6293pub type _spinIncMode = ::std::os::raw::c_uint;
6294#[doc = "! typedef for increment mode"]
6295pub use self::_spinIncMode as spinIncMode;
6296pub const _spinInputDirection_idFrom: _spinInputDirection = 0;
6297#[doc = "!> Indicates a swiss knife that it is used as worker for a converter computing FROM"]
6298pub const _spinInputDirection_idTo: _spinInputDirection = 1;
6299#[doc = "!> Indicates a swiss knife that it is used as worker for a converter computing TO"]
6300pub const _spinInputDirection_idNone: _spinInputDirection = 2;
6301#[doc = "! typedef for link type"]
6302pub type _spinInputDirection = ::std::os::raw::c_uint;
6303#[doc = "! typedef for link type"]
6304pub use self::_spinInputDirection as spinInputDirection;
6305extern "C" {
6306    #[doc = " Retrieves a node from the nodemap by name"]
6307    #[doc = " @see spinError"]
6308    #[doc = ""]
6309    #[doc = " @param hNodeMap The node map where the node is"]
6310    #[doc = " @param pName The name of the node"]
6311    #[doc = " @param phNode The node handle pointer in which the node is returned"]
6312    #[doc = ""]
6313    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6314    pub fn spinNodeMapGetNode(
6315        hNodeMap: spinNodeMapHandle,
6316        pName: *const ::std::os::raw::c_char,
6317        phNode: *mut spinNodeHandle,
6318    ) -> spinError;
6319}
6320extern "C" {
6321    #[doc = " Gets the number of nodes in the map"]
6322    #[doc = " @see spinError"]
6323    #[doc = ""]
6324    #[doc = " @param hNodeMap The node map where the nodes to be counted are"]
6325    #[doc = " @param pValue The unsigned integer pointer in which the number of nodes is returned"]
6326    #[doc = ""]
6327    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6328    pub fn spinNodeMapGetNumNodes(hNodeMap: spinNodeMapHandle, pValue: *mut size_t) -> spinError;
6329}
6330extern "C" {
6331    #[doc = " Retrieves a node from the nodemap by index"]
6332    #[doc = " @see spinError"]
6333    #[doc = ""]
6334    #[doc = " @param hNodeMap The node map where the node is"]
6335    #[doc = " @param index The index of the node"]
6336    #[doc = " @param phNode The node handle pointer in which the node is returned"]
6337    #[doc = ""]
6338    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6339    pub fn spinNodeMapGetNodeByIndex(
6340        hNodeMap: spinNodeMapHandle,
6341        index: size_t,
6342        phNode: *mut spinNodeHandle,
6343    ) -> spinError;
6344}
6345extern "C" {
6346    #[doc = " Releases the entry node handle."]
6347    #[doc = " Make sure node handle is cleaned up properly by setting it to NULL after the node is released."]
6348    #[doc = " If this function is not explicitly called, the handle will be released upon the release of the"]
6349    #[doc = " camera handle."]
6350    #[doc = " @see spinCameraRelease"]
6351    #[doc = " @see spinError"]
6352    #[doc = ""]
6353    #[doc = " @param hNodeMap The node map from which the node handle is retrieved"]
6354    #[doc = " @param hNode The node handle to be released"]
6355    #[doc = ""]
6356    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6357    pub fn spinNodeMapReleaseNode(hNodeMap: spinNodeMapHandle, hNode: spinNodeHandle) -> spinError;
6358}
6359extern "C" {
6360    #[doc = " Fires nodes which have a polling time"]
6361    #[doc = " @see spinError"]
6362    #[doc = ""]
6363    #[doc = " @param hNodeMap The nodemap to poll"]
6364    #[doc = " @param timestamp The timestamp"]
6365    #[doc = ""]
6366    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6367    pub fn spinNodeMapPoll(hNodeMap: spinNodeMapHandle, timestamp: i64) -> spinError;
6368}
6369extern "C" {
6370    #[doc = " Checks whether a node is implemented"]
6371    #[doc = " @see spinError"]
6372    #[doc = ""]
6373    #[doc = " @param hNode The node to check"]
6374    #[doc = " @param pbResult The boolean pointer to return whether or not the node is implemented"]
6375    #[doc = ""]
6376    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6377    pub fn spinNodeIsImplemented(hNode: spinNodeHandle, pbResult: *mut bool8_t) -> spinError;
6378}
6379extern "C" {
6380    #[doc = " Checks whether a node is readable"]
6381    #[doc = " @see spinError"]
6382    #[doc = ""]
6383    #[doc = " @param hNode The node to check"]
6384    #[doc = " @param pbResult The boolean pointer to return whether or not the node is readable"]
6385    #[doc = ""]
6386    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6387    pub fn spinNodeIsReadable(hNode: spinNodeHandle, pbResult: *mut bool8_t) -> spinError;
6388}
6389extern "C" {
6390    #[doc = " Checks whether a node is writable"]
6391    #[doc = " @see spinError"]
6392    #[doc = ""]
6393    #[doc = " @param hNode The node to check"]
6394    #[doc = " @param pbResult The boolean pointer to return whether or not the node is writable"]
6395    #[doc = ""]
6396    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6397    pub fn spinNodeIsWritable(hNode: spinNodeHandle, pbResult: *mut bool8_t) -> spinError;
6398}
6399extern "C" {
6400    #[doc = " Checks whether a node is available"]
6401    #[doc = " @see spinError"]
6402    #[doc = ""]
6403    #[doc = " @param hNode The node to check"]
6404    #[doc = " @param pbResult The boolean pointer to return whether or not the node is available"]
6405    #[doc = ""]
6406    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6407    pub fn spinNodeIsAvailable(hNode: spinNodeHandle, pbResult: *mut bool8_t) -> spinError;
6408}
6409extern "C" {
6410    #[doc = " Checks whether two nodes are equal"]
6411    #[doc = ""]
6412    #[doc = " @see spinError"]
6413    #[doc = ""]
6414    #[doc = " @param hNodeFirst The first node to check"]
6415    #[doc = " @param hNodeSecond The second node to check"]
6416    #[doc = " @param pbResult The boolean pointer to return whether or not the two nodes are equal"]
6417    #[doc = ""]
6418    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6419    pub fn spinNodeIsEqual(
6420        hNodeFirst: spinNodeHandle,
6421        hNodeSecond: spinNodeHandle,
6422        pbResult: *mut bool8_t,
6423    ) -> spinError;
6424}
6425extern "C" {
6426    #[doc = " Retrieves the access mode of a node (as an enum, spinAccessMode)"]
6427    #[doc = " @see spinError"]
6428    #[doc = " @see spinAccessMode"]
6429    #[doc = ""]
6430    #[doc = " @param hNode The node of the access mode to retrieve"]
6431    #[doc = " @param pAccessMode The access mode enum pointer in which the access mode is returned"]
6432    #[doc = ""]
6433    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6434    pub fn spinNodeGetAccessMode(
6435        hNode: spinNodeHandle,
6436        pAccessMode: *mut spinAccessMode,
6437    ) -> spinError;
6438}
6439extern "C" {
6440    #[doc = " Retrieves the name of a node (no whitespace)"]
6441    #[doc = " @see spinError"]
6442    #[doc = ""]
6443    #[doc = " @param hNode The node of the name to retrieve"]
6444    #[doc = " @param pBuf The c-string character buffer in which the name of the node is returned"]
6445    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
6446    #[doc = " the maximum length"]
6447    #[doc = ""]
6448    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6449    pub fn spinNodeGetName(
6450        hNode: spinNodeHandle,
6451        pBuf: *mut ::std::os::raw::c_char,
6452        pBufLen: *mut size_t,
6453    ) -> spinError;
6454}
6455extern "C" {
6456    #[doc = " Retrieve the namespace of a node (as an enum, spinNameSpace)"]
6457    #[doc = " @see spinError"]
6458    #[doc = " @see spinNameSpace"]
6459    #[doc = ""]
6460    #[doc = " @param hNode The node of the namespace to retrieve"]
6461    #[doc = " @param pNamespace The namespace enum pointer in which the namespace is returned"]
6462    #[doc = ""]
6463    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6464    pub fn spinNodeGetNameSpace(hNode: spinNodeHandle, pNamespace: *mut spinNameSpace)
6465        -> spinError;
6466}
6467extern "C" {
6468    #[doc = " Retrieves the recommended visibility of a node (as an enum, spinVisibility)"]
6469    #[doc = " @see spinError"]
6470    #[doc = " @see spinVisibility"]
6471    #[doc = ""]
6472    #[doc = " @param hNode The node of the visibility to retrieve"]
6473    #[doc = " @param pVisibility The visibility enum pointer in which the visibility is returned"]
6474    #[doc = ""]
6475    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6476    pub fn spinNodeGetVisibility(
6477        hNode: spinNodeHandle,
6478        pVisibility: *mut spinVisibility,
6479    ) -> spinError;
6480}
6481extern "C" {
6482    #[doc = " Invalidates a node in case its values may have changed, rendering it no longer valid"]
6483    #[doc = " @see spinError"]
6484    #[doc = ""]
6485    #[doc = " @param hNode The node whose values may have changed"]
6486    #[doc = ""]
6487    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6488    pub fn spinNodeInvalidateNode(hNode: spinNodeHandle) -> spinError;
6489}
6490extern "C" {
6491    #[doc = " Retrieves the caching mode of a node (as an enum, spinCachingMode)"]
6492    #[doc = " @see spinError"]
6493    #[doc = " @see spinCachingMode"]
6494    #[doc = ""]
6495    #[doc = " @param hNode The node of the caching mode to retrieve"]
6496    #[doc = " @param pCachingMode The caching mode enum pointer in which the caching mode is returned"]
6497    #[doc = ""]
6498    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6499    pub fn spinNodeGetCachingMode(
6500        hNode: spinNodeHandle,
6501        pCachingMode: *mut spinCachingMode,
6502    ) -> spinError;
6503}
6504extern "C" {
6505    #[doc = " Retrieves a short description of a node"]
6506    #[doc = " @see spinError"]
6507    #[doc = ""]
6508    #[doc = " @param hNode The node of the tooltip to retrieve"]
6509    #[doc = " @param pBuf The c-string character buffer in which the short description of the node is returned"]
6510    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
6511    #[doc = " the maximum length"]
6512    #[doc = ""]
6513    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6514    pub fn spinNodeGetToolTip(
6515        hNode: spinNodeHandle,
6516        pBuf: *mut ::std::os::raw::c_char,
6517        pBufLen: *mut size_t,
6518    ) -> spinError;
6519}
6520extern "C" {
6521    #[doc = " Retrieves a longer description of a node"]
6522    #[doc = " @see spinError"]
6523    #[doc = ""]
6524    #[doc = " @param hNode The node of the description to retrieve"]
6525    #[doc = " @param pBuf The c-string character buffer in which the longer descrition of the node is returned"]
6526    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
6527    #[doc = " the maximum length"]
6528    #[doc = ""]
6529    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6530    pub fn spinNodeGetDescription(
6531        hNode: spinNodeHandle,
6532        pBuf: *mut ::std::os::raw::c_char,
6533        pBufLen: *mut size_t,
6534    ) -> spinError;
6535}
6536extern "C" {
6537    #[doc = " Retrieves the display name of a node (whitespace possible)"]
6538    #[doc = " @see spinError"]
6539    #[doc = ""]
6540    #[doc = " @param hNode The node of the display name to retrieve"]
6541    #[doc = " @param pBuf The c-string character buffer in which the display name of the node is returned"]
6542    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
6543    #[doc = " the maximum length"]
6544    #[doc = ""]
6545    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6546    pub fn spinNodeGetDisplayName(
6547        hNode: spinNodeHandle,
6548        pBuf: *mut ::std::os::raw::c_char,
6549        pBufLen: *mut size_t,
6550    ) -> spinError;
6551}
6552extern "C" {
6553    #[doc = " Retrieves the type of a node (as an enum, spinNodeType)"]
6554    #[doc = " @see spinError"]
6555    #[doc = " @see spinNodeType"]
6556    #[doc = ""]
6557    #[doc = " @param hNode The node of the node type to retrieve"]
6558    #[doc = " @param pType The node type enum pointer in which the type of node is returned"]
6559    #[doc = ""]
6560    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6561    pub fn spinNodeGetType(hNode: spinNodeHandle, pType: *mut spinNodeType) -> spinError;
6562}
6563extern "C" {
6564    #[doc = " Retrieve the polling time of a node"]
6565    #[doc = " @see spinError"]
6566    #[doc = ""]
6567    #[doc = " @param hNode The node of the polling time to retrieve"]
6568    #[doc = " @param pPollingTime The integer pointer in which the polling time is returned"]
6569    #[doc = ""]
6570    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6571    pub fn spinNodeGetPollingTime(hNode: spinNodeHandle, pPollingTime: *mut i64) -> spinError;
6572}
6573extern "C" {
6574    #[doc = " Registers a callback to a node"]
6575    #[doc = " @see spinError"]
6576    #[doc = ""]
6577    #[doc = " @param hNode The node on which to register the callback"]
6578    #[doc = " @param pCbFunction The function pointer of the function that will execute when the callback is triggered; must"]
6579    #[doc = " match signature \"void spinNodeCallbackFunction(spinNodeHandle hNode)\""]
6580    #[doc = " @param phCb The callback handle pointer in which the callback is returned; used to unregister callbacks"]
6581    #[doc = ""]
6582    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6583    pub fn spinNodeRegisterCallback(
6584        hNode: spinNodeHandle,
6585        pCbFunction: spinNodeCallbackFunction,
6586        phCb: *mut spinNodeCallbackHandle,
6587    ) -> spinError;
6588}
6589extern "C" {
6590    #[doc = " Unregisters a callback from a node"]
6591    #[doc = " @see spinError"]
6592    #[doc = ""]
6593    #[doc = " @param hNode The node from which to unregister the callback"]
6594    #[doc = " @param hCb The callback handle to unregister"]
6595    #[doc = ""]
6596    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6597    pub fn spinNodeDeregisterCallback(
6598        hNode: spinNodeHandle,
6599        hCb: spinNodeCallbackHandle,
6600    ) -> spinError;
6601}
6602extern "C" {
6603    #[doc = " Retrieves the imposed access mode of a node"]
6604    #[doc = " @see spinError"]
6605    #[doc = ""]
6606    #[doc = " @param hNode The node of the imposed access mode to retrieve"]
6607    #[doc = " @param imposedAccessMode The access mode enum pointer in which the imposed access mode is returned"]
6608    #[doc = ""]
6609    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6610    pub fn spinNodeGetImposedAccessMode(
6611        hNode: spinNodeHandle,
6612        imposedAccessMode: spinAccessMode,
6613    ) -> spinError;
6614}
6615extern "C" {
6616    #[doc = " Retrieves the imposed visibility of a node"]
6617    #[doc = " @see spinError"]
6618    #[doc = ""]
6619    #[doc = " @param hNode The node of the visibility to impose"]
6620    #[doc = " @param imposedVisibility The visibility enum pointer in which the imposed visibility is returned"]
6621    #[doc = ""]
6622    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6623    pub fn spinNodeGetImposedVisibility(
6624        hNode: spinNodeHandle,
6625        imposedVisibility: spinVisibility,
6626    ) -> spinError;
6627}
6628extern "C" {
6629    #[doc = " Retrieves the value of any node type as a c-string"]
6630    #[doc = " @see spinError"]
6631    #[doc = ""]
6632    #[doc = " @param hNode The node of the value to read"]
6633    #[doc = " @param pBuf The c-string character buffer in which the value of the node is returned"]
6634    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
6635    #[doc = " the maximum length"]
6636    #[doc = ""]
6637    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6638    pub fn spinNodeToString(
6639        hNode: spinNodeHandle,
6640        pBuf: *mut ::std::os::raw::c_char,
6641        pBufLen: *mut size_t,
6642    ) -> spinError;
6643}
6644extern "C" {
6645    #[doc = " Retrieves the value of any node type as a c-string; manually set whether to verify the node"]
6646    #[doc = " @see spinError"]
6647    #[doc = ""]
6648    #[doc = " @param hNode The node of the value to read"]
6649    #[doc = " @param bVerify The boolean of whether to verify the node"]
6650    #[doc = " @param pBuf The c-string character buffer in which the value of the node is returned"]
6651    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
6652    #[doc = " the maximum length"]
6653    #[doc = ""]
6654    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6655    pub fn spinNodeToStringEx(
6656        hNode: spinNodeHandle,
6657        bVerify: bool8_t,
6658        pBuf: *mut ::std::os::raw::c_char,
6659        pBufLen: *mut size_t,
6660    ) -> spinError;
6661}
6662extern "C" {
6663    #[doc = " Sets the value of any node type from a c-string; it is important to ensure that the value of the c-string is"]
6664    #[doc = " appropriate to the node type"]
6665    #[doc = " @see spinError"]
6666    #[doc = ""]
6667    #[doc = " @param hNode The node having its value changed"]
6668    #[doc = " @param pBuf The c-string of the value to set"]
6669    #[doc = ""]
6670    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6671    pub fn spinNodeFromString(
6672        hNode: spinNodeHandle,
6673        pBuf: *const ::std::os::raw::c_char,
6674    ) -> spinError;
6675}
6676extern "C" {
6677    #[doc = " Sets the value of any node type from a c-string; manually set whether to verify the node; ensure the value of the"]
6678    #[doc = " c-string is appropriate to the node type"]
6679    #[doc = " @see spinError"]
6680    #[doc = ""]
6681    #[doc = " @param hNode The node having its value changed"]
6682    #[doc = " @param bVerify The boolean of whether to verify the node"]
6683    #[doc = " @param pBuf The c-string of the value to set"]
6684    #[doc = ""]
6685    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6686    pub fn spinNodeFromStringEx(
6687        hNode: spinNodeHandle,
6688        bVerify: bool8_t,
6689        pBuf: *const ::std::os::raw::c_char,
6690    ) -> spinError;
6691}
6692extern "C" {
6693    #[doc = " Sets the value of a string node"]
6694    #[doc = " @see spinError"]
6695    #[doc = ""]
6696    #[doc = " @param hNode The string node having its value changed"]
6697    #[doc = " @param pBuf The c-string of the value to set"]
6698    #[doc = ""]
6699    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6700    pub fn spinStringSetValue(
6701        hNode: spinNodeHandle,
6702        pBuf: *const ::std::os::raw::c_char,
6703    ) -> spinError;
6704}
6705extern "C" {
6706    #[doc = " Sets the value of a string node; manually set whether to verify the node"]
6707    #[doc = " @see spinError"]
6708    #[doc = ""]
6709    #[doc = " @param hNode The string node having its value changed"]
6710    #[doc = " @param bVerify The boolean of whether to verify the node"]
6711    #[doc = " @param pBuf The c-string of the value to set"]
6712    #[doc = ""]
6713    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6714    pub fn spinStringSetValueEx(
6715        hNode: spinNodeHandle,
6716        bVerify: bool8_t,
6717        pBuf: *const ::std::os::raw::c_char,
6718    ) -> spinError;
6719}
6720extern "C" {
6721    #[doc = " Retrieves the value of a string node as a c-string"]
6722    #[doc = " @see spinError"]
6723    #[doc = ""]
6724    #[doc = " @param hNode The string node of the value to read"]
6725    #[doc = " @param pBuf The c-string character buffer in which the value of the node is returned"]
6726    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
6727    #[doc = " the maximum length"]
6728    #[doc = ""]
6729    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6730    pub fn spinStringGetValue(
6731        hNode: spinNodeHandle,
6732        pBuf: *mut ::std::os::raw::c_char,
6733        pBufLen: *mut size_t,
6734    ) -> spinError;
6735}
6736extern "C" {
6737    #[doc = " Retrieves the value of a string node as a cstring; manually set whether to verify the node"]
6738    #[doc = " @see spinError"]
6739    #[doc = ""]
6740    #[doc = " @param hNode The string node of the value to read"]
6741    #[doc = " @param bVerify The boolean of whether to verify the node"]
6742    #[doc = " @param pBuf The c-string character buffer in which the value of the node is returned"]
6743    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
6744    #[doc = " the maximum length"]
6745    #[doc = ""]
6746    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6747    pub fn spinStringGetValueEx(
6748        hNode: spinNodeHandle,
6749        bVerify: bool8_t,
6750        pBuf: *mut ::std::os::raw::c_char,
6751        pBufLen: *mut size_t,
6752    ) -> spinError;
6753}
6754extern "C" {
6755    #[doc = " Retrieves the maximum length of the c-string to be returned"]
6756    #[doc = " @see spinError"]
6757    #[doc = ""]
6758    #[doc = " @param hNode The string node of the length to retrieve"]
6759    #[doc = " @param pValue The integer pointer in which the maximum length of the c-string is returned"]
6760    #[doc = ""]
6761    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6762    pub fn spinStringGetMaxLength(hNode: spinNodeHandle, pValue: *mut i64) -> spinError;
6763}
6764extern "C" {
6765    #[doc = " Sets the value of an integer node"]
6766    #[doc = " @see spinError"]
6767    #[doc = ""]
6768    #[doc = " @param hNode The integer node having its value changed"]
6769    #[doc = " @param value The integer value to set"]
6770    #[doc = ""]
6771    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6772    pub fn spinIntegerSetValue(hNode: spinNodeHandle, value: i64) -> spinError;
6773}
6774extern "C" {
6775    #[doc = " Sets the value of an integer node; manually set whether to verify the node"]
6776    #[doc = " @see spinError"]
6777    #[doc = ""]
6778    #[doc = " @param hNode The integer node having its value changed"]
6779    #[doc = " @param bVerify The boolean of whether to verify the node"]
6780    #[doc = " @param value The integer value to set"]
6781    #[doc = ""]
6782    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6783    pub fn spinIntegerSetValueEx(hNode: spinNodeHandle, bVerify: bool8_t, value: i64) -> spinError;
6784}
6785extern "C" {
6786    #[doc = " Retrieves the value of an integer node"]
6787    #[doc = " @see spinError"]
6788    #[doc = ""]
6789    #[doc = " @param hNode The integer node of the value to read"]
6790    #[doc = " @param pValue The integer pointer in which the value is returned"]
6791    #[doc = ""]
6792    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6793    pub fn spinIntegerGetValue(hNode: spinNodeHandle, pValue: *mut i64) -> spinError;
6794}
6795extern "C" {
6796    #[doc = " Retrieves the value of an integer node; manually set whether to verify the node"]
6797    #[doc = " @see spinError"]
6798    #[doc = ""]
6799    #[doc = " @param hNode The integer node of the value to read"]
6800    #[doc = " @param bVerify The boolean of whether to verify the node"]
6801    #[doc = " @param pValue The integer pointer in which the value is returned"]
6802    #[doc = ""]
6803    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6804    pub fn spinIntegerGetValueEx(
6805        hNode: spinNodeHandle,
6806        bVerify: bool8_t,
6807        pValue: *mut i64,
6808    ) -> spinError;
6809}
6810extern "C" {
6811    #[doc = " Retrieves the minimum value of an integer node; all potential values must be greater than or equal to the minimum"]
6812    #[doc = " @see spinError"]
6813    #[doc = ""]
6814    #[doc = " @param hNode The integer node of the minimum value to retrieve"]
6815    #[doc = " @param pValue The integer pointer in which the minimum value is returned"]
6816    #[doc = ""]
6817    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6818    pub fn spinIntegerGetMin(hNode: spinNodeHandle, pValue: *mut i64) -> spinError;
6819}
6820extern "C" {
6821    #[doc = " Retrieves the maximum value of an integer node; all potential values must be lesser than or equal to the maximum"]
6822    #[doc = " @see spinError"]
6823    #[doc = ""]
6824    #[doc = " @param hNode The integer node of the maximum value to retrieve"]
6825    #[doc = " @param pValue The integer pointer in which the maximum value is returned"]
6826    #[doc = ""]
6827    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6828    pub fn spinIntegerGetMax(hNode: spinNodeHandle, pValue: *mut i64) -> spinError;
6829}
6830extern "C" {
6831    #[doc = " Retrieves the increment of an integer node; all possible values must be divisible by the increment"]
6832    #[doc = " @see spinError"]
6833    #[doc = ""]
6834    #[doc = " @param hNode The integer node of the increment to retrieve"]
6835    #[doc = " @param pValue The integer pointer in which the increment is returned"]
6836    #[doc = ""]
6837    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6838    pub fn spinIntegerGetInc(hNode: spinNodeHandle, pValue: *mut i64) -> spinError;
6839}
6840extern "C" {
6841    #[doc = " Retrieves the numerical representation of the value of a node; i.e. linear, logarithmic, hexidecimal, MAC"]
6842    #[doc = " address, etc."]
6843    #[doc = " @see spinError"]
6844    #[doc = ""]
6845    #[doc = " @param hNode The integer node of the numerical representation to retrieve"]
6846    #[doc = " @param pValue The representation enum pointer in which the type of numerical representation is returned"]
6847    #[doc = ""]
6848    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6849    pub fn spinIntegerGetRepresentation(
6850        hNode: spinNodeHandle,
6851        pValue: *mut spinRepresentation,
6852    ) -> spinError;
6853}
6854extern "C" {
6855    #[doc = " Sets the value of a float node"]
6856    #[doc = " @see spinError"]
6857    #[doc = ""]
6858    #[doc = " @param hNode The float node having its value changed"]
6859    #[doc = " @param value The float value to set"]
6860    #[doc = ""]
6861    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6862    pub fn spinFloatSetValue(hNode: spinNodeHandle, value: f64) -> spinError;
6863}
6864extern "C" {
6865    #[doc = " Sets the value of a float node; manually set whether to verify the node"]
6866    #[doc = " @see spinError"]
6867    #[doc = ""]
6868    #[doc = " @param hNode The float node having its value changed"]
6869    #[doc = " @param bVerify The boolean of whether to verify the node"]
6870    #[doc = " @param value The float value to set"]
6871    #[doc = ""]
6872    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6873    pub fn spinFloatSetValueEx(hNode: spinNodeHandle, bVerify: bool8_t, value: f64) -> spinError;
6874}
6875extern "C" {
6876    #[doc = " Retrieves the value of a float node"]
6877    #[doc = " @see spinError"]
6878    #[doc = ""]
6879    #[doc = " @param hNode The float node of the value to read"]
6880    #[doc = " @param pValue The double pointer in which the value is returned"]
6881    #[doc = ""]
6882    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6883    pub fn spinFloatGetValue(hNode: spinNodeHandle, pValue: *mut f64) -> spinError;
6884}
6885extern "C" {
6886    #[doc = " Retrieves the value of a float node; manually set whether to verify the node"]
6887    #[doc = " @see spinError"]
6888    #[doc = ""]
6889    #[doc = " @param hNode The float node of the value to read"]
6890    #[doc = " @param pValue The double pointer in which the value is returned"]
6891    #[doc = ""]
6892    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6893    pub fn spinFloatGetValueEx(
6894        hNode: spinNodeHandle,
6895        bVerify: bool8_t,
6896        pValue: *mut f64,
6897    ) -> spinError;
6898}
6899extern "C" {
6900    #[doc = " Retrieves the minimum value of a float node; all potential values must be greater than or equal to the minimum"]
6901    #[doc = " @see spinError"]
6902    #[doc = ""]
6903    #[doc = " @param hNode The float node of the minimum value to retrieve"]
6904    #[doc = " @param pValue The double pointer in which the minimum value is returned"]
6905    #[doc = ""]
6906    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6907    pub fn spinFloatGetMin(hNode: spinNodeHandle, pValue: *mut f64) -> spinError;
6908}
6909extern "C" {
6910    #[doc = " Retrieves the maximum value of a float node; all potential values must be lesser than or equal to the maximum"]
6911    #[doc = " @see spinError"]
6912    #[doc = ""]
6913    #[doc = " @param hNode The float node of the maximum value to retrieve"]
6914    #[doc = " @param pValue The double pointer in which the maximum value is returned"]
6915    #[doc = ""]
6916    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6917    pub fn spinFloatGetMax(hNode: spinNodeHandle, pValue: *mut f64) -> spinError;
6918}
6919extern "C" {
6920    #[doc = " Retrieves the numerical representation of the value of a node; i.e. linear, logarithmic, hexidecimal, MAC"]
6921    #[doc = " address, etc."]
6922    #[doc = " @see spinError"]
6923    #[doc = ""]
6924    #[doc = " @param hNode The float node of the numerical representation to retrieve"]
6925    #[doc = " @param pValue The representation enum pointer in which the type of numerical representation is returned"]
6926    #[doc = ""]
6927    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6928    pub fn spinFloatGetRepresentation(
6929        hNode: spinNodeHandle,
6930        pValue: *mut spinRepresentation,
6931    ) -> spinError;
6932}
6933extern "C" {
6934    #[doc = " Retrieves the units of the float node value"]
6935    #[doc = " @see spinError"]
6936    #[doc = ""]
6937    #[doc = " @param hNode The float node of the units to retrieve"]
6938    #[doc = " @param pBuf The c-string character buffer in which the value units are returned"]
6939    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
6940    #[doc = " the maximum length"]
6941    #[doc = ""]
6942    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6943    pub fn spinFloatGetUnit(
6944        hNode: spinNodeHandle,
6945        pBuf: *mut ::std::os::raw::c_char,
6946        pBufLen: *mut size_t,
6947    ) -> spinError;
6948}
6949extern "C" {
6950    #[doc = " Retrieves the number of entries of an enum node"]
6951    #[doc = " @see spinError"]
6952    #[doc = ""]
6953    #[doc = " @param hEnumNode The enum node where the entries to be counted are"]
6954    #[doc = " @param pValue The unsigned integer pointer in which the number of entries is returned"]
6955    #[doc = ""]
6956    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6957    pub fn spinEnumerationGetNumEntries(
6958        hEnumNode: spinNodeHandle,
6959        pValue: *mut size_t,
6960    ) -> spinError;
6961}
6962extern "C" {
6963    #[doc = " Retrieves an entry node from an enum node using an index"]
6964    #[doc = " @see spinError"]
6965    #[doc = ""]
6966    #[doc = " @param hEnumNode The enum node from which the entry node is retrieved"]
6967    #[doc = " @param index The index of the entry node"]
6968    #[doc = " @param phEntry The node handle pointer in which the entry node is returned"]
6969    #[doc = ""]
6970    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6971    pub fn spinEnumerationGetEntryByIndex(
6972        hEnumNode: spinNodeHandle,
6973        index: size_t,
6974        phEntry: *mut spinNodeHandle,
6975    ) -> spinError;
6976}
6977extern "C" {
6978    #[doc = " Retrieves an entry node from an enum node using the entry's symbolic"]
6979    #[doc = " @see spinError"]
6980    #[doc = ""]
6981    #[doc = " @param hEnumNode The enum node from which the entry node is retrieved"]
6982    #[doc = " @param pName The name of the entry node"]
6983    #[doc = " @param phEntry The node handle pointer in which the entry node is returned"]
6984    #[doc = ""]
6985    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
6986    pub fn spinEnumerationGetEntryByName(
6987        hEnumNode: spinNodeHandle,
6988        pName: *const ::std::os::raw::c_char,
6989        phEntry: *mut spinNodeHandle,
6990    ) -> spinError;
6991}
6992extern "C" {
6993    #[doc = " Retrieves the currently selected entry node from an enum node"]
6994    #[doc = " @see spinError"]
6995    #[doc = ""]
6996    #[doc = " @param hEnumNode The enum node from which the current entry node is retrieved"]
6997    #[doc = " @param phEntry The node handle pointer in which the current entry node is returned"]
6998    #[doc = ""]
6999    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7000    pub fn spinEnumerationGetCurrentEntry(
7001        hEnumNode: spinNodeHandle,
7002        phEntry: *mut spinNodeHandle,
7003    ) -> spinError;
7004}
7005extern "C" {
7006    #[doc = " Releases the entry node from the enum node handle."]
7007    #[doc = " Make sure node handle is cleaned up properly by setting it to NULL after the node is released"]
7008    #[doc = " If this function is not explicitly called, the handle will be released upon the release of the"]
7009    #[doc = " camera handle."]
7010    #[doc = " @see spinCameraRelease"]
7011    #[doc = " @see spinError"]
7012    #[doc = ""]
7013    #[doc = " @param hEnumNode The enum node from which the current entry node is retrieved"]
7014    #[doc = " @param hEntry The entry node handle to be released"]
7015    #[doc = ""]
7016    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7017    pub fn spinEnumerationReleaseNode(
7018        hEnumNode: spinNodeHandle,
7019        hEntry: spinNodeHandle,
7020    ) -> spinError;
7021}
7022extern "C" {
7023    #[doc = " Sets a new entry using its integer value retrieved from a call to spinEnumerationEntryGetIntValue(); note that"]
7024    #[doc = " enumeration entry int and enum values are different - int values defined on camera, enum values found in"]
7025    #[doc = " SpinnakerDefsC.h"]
7026    #[doc = " @see spinEnumerationEntryGetIntValue()"]
7027    #[doc = " @see spinError"]
7028    #[doc = ""]
7029    #[doc = " @param hEnumNode The enum node having its entry changed"]
7030    #[doc = " @param value The integer value of the entry node to set; this corresponds to the integer value internal to the"]
7031    #[doc = " camera"]
7032    #[doc = ""]
7033    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7034    pub fn spinEnumerationSetIntValue(hEnumNode: spinNodeHandle, value: i64) -> spinError;
7035}
7036extern "C" {
7037    #[doc = " Sets a new entry using its enum; note that enumeration entry int and enum values are different - int values"]
7038    #[doc = " defined on camera, enum values found in SpinnakerDefsC.h"]
7039    #[doc = " @see spinEnumerationEntryGetEnumValue()"]
7040    #[doc = " @see spinError"]
7041    #[doc = ""]
7042    #[doc = " @param hEnumNode The enum node have its entry changed"]
7043    #[doc = " @param value The enum value of the entry node to set; this corresponds to its integer value created in the"]
7044    #[doc = " library"]
7045    #[doc = ""]
7046    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7047    pub fn spinEnumerationSetEnumValue(hEnumNode: spinNodeHandle, value: size_t) -> spinError;
7048}
7049extern "C" {
7050    #[doc = " Retrieves the integer value of an entry node; note that enumeration entry int and enum values are different - int"]
7051    #[doc = " values defined on camera, enum values found in SpinnakerDefsC.h"]
7052    #[doc = " @see spinEnumerationSetIntValue()"]
7053    #[doc = " @see spinError"]
7054    #[doc = ""]
7055    #[doc = " @param hNode The entry node of the integer value to retrieve"]
7056    #[doc = " @param pValue The integer pointer in which the integer value of the entry is returned"]
7057    #[doc = ""]
7058    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7059    pub fn spinEnumerationEntryGetIntValue(hNode: spinNodeHandle, pValue: *mut i64) -> spinError;
7060}
7061extern "C" {
7062    #[doc = " Retrieves the enum value (as an integer) of an entry node; note that enumeraiton entry int and enum values are"]
7063    #[doc = " different - int values defined on camera, enum values found in SpinnakerDefsC.h"]
7064    #[doc = " @see spinEnumerationSetEnumValue()"]
7065    #[doc = " @see spinError"]
7066    #[doc = ""]
7067    #[doc = " @param hNode The entry node of the enum value to retrieve"]
7068    #[doc = " @param pValue The unsigned integer pointer in which the enum value of the entry is returned"]
7069    #[doc = ""]
7070    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7071    pub fn spinEnumerationEntryGetEnumValue(
7072        hNode: spinNodeHandle,
7073        pValue: *mut size_t,
7074    ) -> spinError;
7075}
7076extern "C" {
7077    #[doc = " Retrieves the symbolic of an entry node as a c-string"]
7078    #[doc = " @see spinError"]
7079    #[doc = ""]
7080    #[doc = " @param hNode The entry node of the symbolic to retrieve"]
7081    #[doc = " @param pBuf The c-string character buffer in which the symbolic of the entry node is returned"]
7082    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
7083    #[doc = " the maximum length"]
7084    #[doc = ""]
7085    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7086    pub fn spinEnumerationEntryGetSymbolic(
7087        hNode: spinNodeHandle,
7088        pBuf: *mut ::std::os::raw::c_char,
7089        pBufLen: *mut size_t,
7090    ) -> spinError;
7091}
7092extern "C" {
7093    #[doc = " Sets the value of a boolean node; boolean values are represented by 'True' (which equals '0') and 'False' (which"]
7094    #[doc = " equals '1')"]
7095    #[doc = " @see spinError"]
7096    #[doc = ""]
7097    #[doc = " @param hNode The boolean node having its value changed"]
7098    #[doc = " @param value The boolean value to set"]
7099    #[doc = ""]
7100    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7101    pub fn spinBooleanSetValue(hNode: spinNodeHandle, value: bool8_t) -> spinError;
7102}
7103extern "C" {
7104    #[doc = " Retrieves the value of a boolean node; boolean values are represented by 'True' (which equals '0') and 'False'"]
7105    #[doc = " (which equals '1')"]
7106    #[doc = " @see spinError"]
7107    #[doc = ""]
7108    #[doc = " @param hNode The boolean node of the value to read"]
7109    #[doc = " @param pValue The boolean pointer in which the value is returned"]
7110    #[doc = ""]
7111    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7112    pub fn spinBooleanGetValue(hNode: spinNodeHandle, pbValue: *mut bool8_t) -> spinError;
7113}
7114extern "C" {
7115    #[doc = " Executes the action associated to a command node"]
7116    #[doc = " @see spinError"]
7117    #[doc = ""]
7118    #[doc = " @param hNode The command node to execute"]
7119    #[doc = ""]
7120    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7121    pub fn spinCommandExecute(hNode: spinNodeHandle) -> spinError;
7122}
7123extern "C" {
7124    #[doc = " Retrieves whether or not the action of a command node has completed"]
7125    #[doc = " @see spinError"]
7126    #[doc = ""]
7127    #[doc = " @param hNode The command node to check"]
7128    #[doc = " @param pValue The boolean pointer to return whether or not the command has completed"]
7129    #[doc = ""]
7130    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7131    pub fn spinCommandIsDone(hNode: spinNodeHandle, pbValue: *mut bool8_t) -> spinError;
7132}
7133extern "C" {
7134    #[doc = " Retrieves the number of a features (or child nodes) or a category node"]
7135    #[doc = " @see spinError"]
7136    #[doc = ""]
7137    #[doc = " @param hCategoryNode The category node where the features to be counted are"]
7138    #[doc = " @param pValue The unsigned integer pointer in which the number of features is returned"]
7139    #[doc = ""]
7140    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7141    pub fn spinCategoryGetNumFeatures(
7142        hCategoryNode: spinNodeHandle,
7143        pValue: *mut size_t,
7144    ) -> spinError;
7145}
7146extern "C" {
7147    #[doc = " Retrieves a node from a category node using an index"]
7148    #[doc = " @see spinError"]
7149    #[doc = ""]
7150    #[doc = " @param hCategoryNode The category node of the node to retrieve"]
7151    #[doc = " @param index The index of the feature node"]
7152    #[doc = " @param phFeature The node handle pointer in which the feature node is returned"]
7153    #[doc = ""]
7154    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7155    pub fn spinCategoryGetFeatureByIndex(
7156        hCategoryNode: spinNodeHandle,
7157        index: size_t,
7158        phFeature: *mut spinNodeHandle,
7159    ) -> spinError;
7160}
7161extern "C" {
7162    #[doc = " Releases the feature node from the category node."]
7163    #[doc = " Make sure node handle is cleaned up properly by setting it to NULL after the node is released"]
7164    #[doc = " If this function is not explicitly called, the handle will be released upon the release of the"]
7165    #[doc = " camera handle."]
7166    #[doc = " @see spinCameraRelease"]
7167    #[doc = " @see spinError"]
7168    #[doc = ""]
7169    #[doc = " @param hCategoryNode The category node handle from which the feature node is retrieved"]
7170    #[doc = " @param hFeature The feature node handle to be released"]
7171    #[doc = ""]
7172    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7173    pub fn spinCategoryReleaseNode(
7174        hCategoryNode: spinNodeHandle,
7175        hFeature: spinNodeHandle,
7176    ) -> spinError;
7177}
7178extern "C" {
7179    #[doc = " Retrieves the value of a register node"]
7180    #[doc = " @see spinError"]
7181    #[doc = ""]
7182    #[doc = " @param hNode The register node of the value to retrieve"]
7183    #[doc = " @param pBuf The unsigned integer buffer in which the value is returned"]
7184    #[doc = " @param length The integer pointer in which the length of the register array is returned; the input value is the"]
7185    #[doc = " maximum length"]
7186    #[doc = ""]
7187    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7188    pub fn spinRegisterGet(hNode: spinNodeHandle, pBuf: *mut u8, length: i64) -> spinError;
7189}
7190extern "C" {
7191    #[doc = " Retrieves the value of a register node; manually set whether to verify the node and whether to ignore the cache"]
7192    #[doc = " @see spinError"]
7193    #[doc = ""]
7194    #[doc = " @param hNode The register node of the value to retrieve"]
7195    #[doc = " @param bVerify The boolean of whether to verify the node"]
7196    #[doc = " @param IgnoreCache The boolean of whether to ignore the cache"]
7197    #[doc = " @param pBuf The unsigned integer buffer in which the value is returned"]
7198    #[doc = " @param length The integer pointer in which the length of the register array is returned; the input value is the"]
7199    #[doc = " maximum length"]
7200    #[doc = ""]
7201    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7202    pub fn spinRegisterGetEx(
7203        hNode: spinNodeHandle,
7204        bVerify: bool8_t,
7205        bIgnoreCache: bool8_t,
7206        pBuf: *mut u8,
7207        length: i64,
7208    ) -> spinError;
7209}
7210extern "C" {
7211    #[doc = " Retrieves the address of a register node"]
7212    #[doc = " @see spinError"]
7213    #[doc = ""]
7214    #[doc = " @param hNode The register node of the address to retrieve"]
7215    #[doc = " @param pAddress The integer pointer in which the address is returned"]
7216    #[doc = ""]
7217    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7218    pub fn spinRegisterGetAddress(hNode: spinNodeHandle, pAddress: *mut i64) -> spinError;
7219}
7220extern "C" {
7221    #[doc = " Retrieves the length (in bytes) of the value of a register node"]
7222    #[doc = " @see spinError"]
7223    #[doc = ""]
7224    #[doc = " @param hNode The register node of the length to retrieve"]
7225    #[doc = " @param plength The integer in which the number of bytes is returned"]
7226    #[doc = ""]
7227    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7228    pub fn spinRegisterGetLength(hNode: spinNodeHandle, pLength: *mut i64) -> spinError;
7229}
7230extern "C" {
7231    #[doc = " Sets the value of a register node"]
7232    #[doc = " @see spinError"]
7233    #[doc = ""]
7234    #[doc = " @param hNode The register node of the value to set"]
7235    #[doc = " @param pBuf The unsigned integer buffer of the value to set"]
7236    #[doc = " @param length The number of bytes of the value to set"]
7237    #[doc = ""]
7238    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7239    pub fn spinRegisterSet(hNode: spinNodeHandle, pBuf: *const u8, length: i64) -> spinError;
7240}
7241extern "C" {
7242    #[doc = " Sets the value of a register node; manually set whether to verify the node"]
7243    #[doc = " @see spinError"]
7244    #[doc = ""]
7245    #[doc = " @param hNode The register node of the value to set"]
7246    #[doc = " @param bVerify The boolean of whether to verify the node"]
7247    #[doc = " @param pBuf The unsigned integer buffer of the value to set"]
7248    #[doc = " @param length The number of bytes of the value to set"]
7249    #[doc = ""]
7250    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7251    pub fn spinRegisterSetEx(
7252        hNode: spinNodeHandle,
7253        bVerify: bool8_t,
7254        pBuf: *const u8,
7255        length: i64,
7256    ) -> spinError;
7257}
7258extern "C" {
7259    #[doc = " Uses a second node as a reference for a register node"]
7260    #[doc = " @see spinError"]
7261    #[doc = ""]
7262    #[doc = " @param hNode The register node that houses the reference"]
7263    #[doc = " @param hRef The reference node"]
7264    #[doc = ""]
7265    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
7266    pub fn spinRegisterSetReference(hNode: spinNodeHandle, hRef: spinNodeHandle) -> spinError;
7267}
7268pub type quickSpinStringNode = spinNodeHandle;
7269pub type quickSpinIntegerNode = spinNodeHandle;
7270pub type quickSpinFloatNode = spinNodeHandle;
7271pub type quickSpinBooleanNode = spinNodeHandle;
7272pub type quickSpinEnumerationNode = spinNodeHandle;
7273pub type quickSpinCommandNode = spinNodeHandle;
7274pub type quickSpinRegisterNode = spinNodeHandle;
7275#[repr(C)]
7276#[derive(Debug, Copy, Clone)]
7277pub struct _quickSpin {
7278    pub LUTIndex: quickSpinIntegerNode,
7279    pub LUTEnable: quickSpinBooleanNode,
7280    pub LUTValue: quickSpinIntegerNode,
7281    pub LUTSelector: quickSpinEnumerationNode,
7282    pub ExposureTime: quickSpinFloatNode,
7283    pub AcquisitionStop: quickSpinCommandNode,
7284    pub AcquisitionResultingFrameRate: quickSpinFloatNode,
7285    pub AcquisitionLineRate: quickSpinFloatNode,
7286    pub AcquisitionStart: quickSpinCommandNode,
7287    pub TriggerSoftware: quickSpinCommandNode,
7288    pub ExposureMode: quickSpinEnumerationNode,
7289    pub AcquisitionMode: quickSpinEnumerationNode,
7290    pub AcquisitionFrameCount: quickSpinIntegerNode,
7291    pub TriggerSource: quickSpinEnumerationNode,
7292    pub TriggerActivation: quickSpinEnumerationNode,
7293    pub SensorShutterMode: quickSpinEnumerationNode,
7294    pub TriggerDelay: quickSpinFloatNode,
7295    pub TriggerMode: quickSpinEnumerationNode,
7296    pub AcquisitionFrameRate: quickSpinFloatNode,
7297    pub TriggerOverlap: quickSpinEnumerationNode,
7298    pub TriggerSelector: quickSpinEnumerationNode,
7299    pub AcquisitionFrameRateEnable: quickSpinBooleanNode,
7300    pub ExposureAuto: quickSpinEnumerationNode,
7301    pub AcquisitionBurstFrameCount: quickSpinIntegerNode,
7302    pub EventTest: quickSpinIntegerNode,
7303    pub EventTestTimestamp: quickSpinIntegerNode,
7304    pub EventExposureEndFrameID: quickSpinIntegerNode,
7305    pub EventExposureEnd: quickSpinIntegerNode,
7306    pub EventExposureEndTimestamp: quickSpinIntegerNode,
7307    pub EventError: quickSpinIntegerNode,
7308    pub EventErrorTimestamp: quickSpinIntegerNode,
7309    pub EventErrorCode: quickSpinIntegerNode,
7310    pub EventErrorFrameID: quickSpinIntegerNode,
7311    pub EventSelector: quickSpinEnumerationNode,
7312    pub EventSerialReceiveOverflow: quickSpinBooleanNode,
7313    pub EventSerialPortReceive: quickSpinIntegerNode,
7314    pub EventSerialPortReceiveTimestamp: quickSpinIntegerNode,
7315    pub EventSerialData: quickSpinStringNode,
7316    pub EventSerialDataLength: quickSpinIntegerNode,
7317    pub EventNotification: quickSpinEnumerationNode,
7318    pub LogicBlockLUTRowIndex: quickSpinIntegerNode,
7319    pub LogicBlockSelector: quickSpinEnumerationNode,
7320    pub LogicBlockLUTInputActivation: quickSpinEnumerationNode,
7321    pub LogicBlockLUTInputSelector: quickSpinEnumerationNode,
7322    pub LogicBlockLUTInputSource: quickSpinEnumerationNode,
7323    pub LogicBlockLUTOutputValue: quickSpinBooleanNode,
7324    pub LogicBlockLUTOutputValueAll: quickSpinIntegerNode,
7325    pub LogicBlockLUTSelector: quickSpinEnumerationNode,
7326    pub ColorTransformationValue: quickSpinFloatNode,
7327    pub ColorTransformationEnable: quickSpinBooleanNode,
7328    pub ColorTransformationSelector: quickSpinEnumerationNode,
7329    pub RgbTransformLightSource: quickSpinEnumerationNode,
7330    pub Saturation: quickSpinFloatNode,
7331    pub SaturationEnable: quickSpinBooleanNode,
7332    pub ColorTransformationValueSelector: quickSpinEnumerationNode,
7333    pub TimestampLatchValue: quickSpinIntegerNode,
7334    pub TimestampReset: quickSpinCommandNode,
7335    pub DeviceUserID: quickSpinStringNode,
7336    pub DeviceTemperature: quickSpinFloatNode,
7337    pub MaxDeviceResetTime: quickSpinIntegerNode,
7338    pub DeviceTLVersionMinor: quickSpinIntegerNode,
7339    pub DeviceSerialNumber: quickSpinStringNode,
7340    pub DeviceVendorName: quickSpinStringNode,
7341    pub DeviceRegistersEndianness: quickSpinEnumerationNode,
7342    pub DeviceManufacturerInfo: quickSpinStringNode,
7343    pub DeviceLinkSpeed: quickSpinIntegerNode,
7344    pub LinkUptime: quickSpinIntegerNode,
7345    pub DeviceEventChannelCount: quickSpinIntegerNode,
7346    pub TimestampLatch: quickSpinCommandNode,
7347    pub DeviceScanType: quickSpinEnumerationNode,
7348    pub DeviceReset: quickSpinCommandNode,
7349    pub DeviceCharacterSet: quickSpinEnumerationNode,
7350    pub DeviceLinkThroughputLimit: quickSpinIntegerNode,
7351    pub DeviceFirmwareVersion: quickSpinStringNode,
7352    pub DeviceStreamChannelCount: quickSpinIntegerNode,
7353    pub DeviceTLType: quickSpinEnumerationNode,
7354    pub DeviceVersion: quickSpinStringNode,
7355    pub DevicePowerSupplySelector: quickSpinEnumerationNode,
7356    pub SensorDescription: quickSpinStringNode,
7357    pub DeviceModelName: quickSpinStringNode,
7358    pub DeviceTLVersionMajor: quickSpinIntegerNode,
7359    pub DeviceTemperatureSelector: quickSpinEnumerationNode,
7360    pub EnumerationCount: quickSpinIntegerNode,
7361    pub PowerSupplyCurrent: quickSpinFloatNode,
7362    pub DeviceID: quickSpinStringNode,
7363    pub DeviceUptime: quickSpinIntegerNode,
7364    pub DeviceLinkCurrentThroughput: quickSpinIntegerNode,
7365    pub DeviceMaxThroughput: quickSpinIntegerNode,
7366    pub FactoryReset: quickSpinCommandNode,
7367    pub PowerSupplyVoltage: quickSpinFloatNode,
7368    pub DeviceIndicatorMode: quickSpinEnumerationNode,
7369    pub DeviceLinkBandwidthReserve: quickSpinFloatNode,
7370    pub AasRoiOffsetY: quickSpinIntegerNode,
7371    pub AasRoiOffsetX: quickSpinIntegerNode,
7372    pub AutoExposureControlPriority: quickSpinEnumerationNode,
7373    pub BalanceWhiteAutoLowerLimit: quickSpinFloatNode,
7374    pub BalanceWhiteAutoDamping: quickSpinFloatNode,
7375    pub AasRoiHeight: quickSpinIntegerNode,
7376    pub AutoExposureGreyValueUpperLimit: quickSpinFloatNode,
7377    pub AutoExposureTargetGreyValue: quickSpinFloatNode,
7378    pub AutoExposureGainLowerLimit: quickSpinFloatNode,
7379    pub AutoExposureGreyValueLowerLimit: quickSpinFloatNode,
7380    pub AutoExposureMeteringMode: quickSpinEnumerationNode,
7381    pub AutoExposureExposureTimeUpperLimit: quickSpinFloatNode,
7382    pub AutoExposureGainUpperLimit: quickSpinFloatNode,
7383    pub AutoExposureControlLoopDamping: quickSpinFloatNode,
7384    pub AutoExposureEVCompensation: quickSpinFloatNode,
7385    pub AutoExposureExposureTimeLowerLimit: quickSpinFloatNode,
7386    pub BalanceWhiteAutoProfile: quickSpinEnumerationNode,
7387    pub AutoAlgorithmSelector: quickSpinEnumerationNode,
7388    pub AutoExposureTargetGreyValueAuto: quickSpinEnumerationNode,
7389    pub AasRoiEnable: quickSpinBooleanNode,
7390    pub AutoExposureLightingMode: quickSpinEnumerationNode,
7391    pub AasRoiWidth: quickSpinIntegerNode,
7392    pub BalanceWhiteAutoUpperLimit: quickSpinFloatNode,
7393    pub LinkErrorCount: quickSpinIntegerNode,
7394    pub GevCurrentIPConfigurationDHCP: quickSpinBooleanNode,
7395    pub GevInterfaceSelector: quickSpinIntegerNode,
7396    pub GevSCPD: quickSpinIntegerNode,
7397    pub GevTimestampTickFrequency: quickSpinIntegerNode,
7398    pub GevSCPSPacketSize: quickSpinIntegerNode,
7399    pub GevCurrentDefaultGateway: quickSpinIntegerNode,
7400    pub GevSCCFGUnconditionalStreaming: quickSpinBooleanNode,
7401    pub GevMCTT: quickSpinIntegerNode,
7402    pub GevSCPSDoNotFragment: quickSpinBooleanNode,
7403    pub GevCurrentSubnetMask: quickSpinIntegerNode,
7404    pub GevStreamChannelSelector: quickSpinIntegerNode,
7405    pub GevCurrentIPAddress: quickSpinIntegerNode,
7406    pub GevMCSP: quickSpinIntegerNode,
7407    pub GevGVCPPendingTimeout: quickSpinIntegerNode,
7408    pub GevIEEE1588Status: quickSpinEnumerationNode,
7409    pub GevFirstURL: quickSpinStringNode,
7410    pub GevMACAddress: quickSpinIntegerNode,
7411    pub GevPersistentSubnetMask: quickSpinIntegerNode,
7412    pub GevMCPHostPort: quickSpinIntegerNode,
7413    pub GevSCPHostPort: quickSpinIntegerNode,
7414    pub GevGVCPPendingAck: quickSpinBooleanNode,
7415    pub GevSCPInterfaceIndex: quickSpinIntegerNode,
7416    pub GevSupportedOption: quickSpinBooleanNode,
7417    pub GevIEEE1588Mode: quickSpinEnumerationNode,
7418    pub GevCurrentIPConfigurationLLA: quickSpinBooleanNode,
7419    pub GevSCSP: quickSpinIntegerNode,
7420    pub GevIEEE1588: quickSpinBooleanNode,
7421    pub GevSCCFGExtendedChunkData: quickSpinBooleanNode,
7422    pub GevPersistentIPAddress: quickSpinIntegerNode,
7423    pub GevCurrentIPConfigurationPersistentIP: quickSpinBooleanNode,
7424    pub GevIEEE1588ClockAccuracy: quickSpinEnumerationNode,
7425    pub GevHeartbeatTimeout: quickSpinIntegerNode,
7426    pub GevPersistentDefaultGateway: quickSpinIntegerNode,
7427    pub GevCCP: quickSpinEnumerationNode,
7428    pub GevMCDA: quickSpinIntegerNode,
7429    pub GevSCDA: quickSpinIntegerNode,
7430    pub GevSCPDirection: quickSpinIntegerNode,
7431    pub GevSCPSFireTestPacket: quickSpinBooleanNode,
7432    pub GevSecondURL: quickSpinStringNode,
7433    pub GevSupportedOptionSelector: quickSpinEnumerationNode,
7434    pub GevGVCPHeartbeatDisable: quickSpinBooleanNode,
7435    pub GevMCRC: quickSpinIntegerNode,
7436    pub GevSCPSBigEndian: quickSpinBooleanNode,
7437    pub GevNumberOfInterfaces: quickSpinIntegerNode,
7438    pub TLParamsLocked: quickSpinIntegerNode,
7439    pub PayloadSize: quickSpinIntegerNode,
7440    pub PacketResendRequestCount: quickSpinIntegerNode,
7441    pub SharpeningEnable: quickSpinBooleanNode,
7442    pub BlackLevelSelector: quickSpinEnumerationNode,
7443    pub GammaEnable: quickSpinBooleanNode,
7444    pub SharpeningAuto: quickSpinBooleanNode,
7445    pub BlackLevelClampingEnable: quickSpinBooleanNode,
7446    pub BalanceRatio: quickSpinFloatNode,
7447    pub BalanceWhiteAuto: quickSpinEnumerationNode,
7448    pub SharpeningThreshold: quickSpinFloatNode,
7449    pub GainAuto: quickSpinEnumerationNode,
7450    pub Sharpening: quickSpinFloatNode,
7451    pub Gain: quickSpinFloatNode,
7452    pub BalanceRatioSelector: quickSpinEnumerationNode,
7453    pub GainSelector: quickSpinEnumerationNode,
7454    pub BlackLevel: quickSpinFloatNode,
7455    pub BlackLevelRaw: quickSpinIntegerNode,
7456    pub Gamma: quickSpinFloatNode,
7457    pub DefectTableIndex: quickSpinIntegerNode,
7458    pub DefectTableFactoryRestore: quickSpinCommandNode,
7459    pub DefectTableCoordinateY: quickSpinIntegerNode,
7460    pub DefectTableSave: quickSpinCommandNode,
7461    pub DefectCorrectionMode: quickSpinEnumerationNode,
7462    pub DefectTableCoordinateX: quickSpinIntegerNode,
7463    pub DefectTablePixelCount: quickSpinIntegerNode,
7464    pub DefectCorrectStaticEnable: quickSpinBooleanNode,
7465    pub DefectTableApply: quickSpinCommandNode,
7466    pub UserSetFeatureEnable: quickSpinBooleanNode,
7467    pub UserSetSave: quickSpinCommandNode,
7468    pub UserSetSelector: quickSpinEnumerationNode,
7469    pub UserSetLoad: quickSpinCommandNode,
7470    pub UserSetDefault: quickSpinEnumerationNode,
7471    pub SerialPortBaudRate: quickSpinEnumerationNode,
7472    pub SerialPortDataBits: quickSpinIntegerNode,
7473    pub SerialPortParity: quickSpinEnumerationNode,
7474    pub SerialTransmitQueueMaxCharacterCount: quickSpinIntegerNode,
7475    pub SerialReceiveQueueCurrentCharacterCount: quickSpinIntegerNode,
7476    pub SerialPortSelector: quickSpinEnumerationNode,
7477    pub SerialPortStopBits: quickSpinEnumerationNode,
7478    pub SerialReceiveQueueClear: quickSpinCommandNode,
7479    pub SerialReceiveFramingErrorCount: quickSpinIntegerNode,
7480    pub SerialTransmitQueueCurrentCharacterCount: quickSpinIntegerNode,
7481    pub SerialReceiveParityErrorCount: quickSpinIntegerNode,
7482    pub SerialPortSource: quickSpinEnumerationNode,
7483    pub SerialReceiveQueueMaxCharacterCount: quickSpinIntegerNode,
7484    pub SequencerSetStart: quickSpinIntegerNode,
7485    pub SequencerMode: quickSpinEnumerationNode,
7486    pub SequencerConfigurationValid: quickSpinEnumerationNode,
7487    pub SequencerSetValid: quickSpinEnumerationNode,
7488    pub SequencerSetSelector: quickSpinIntegerNode,
7489    pub SequencerTriggerActivation: quickSpinEnumerationNode,
7490    pub SequencerConfigurationMode: quickSpinEnumerationNode,
7491    pub SequencerSetSave: quickSpinCommandNode,
7492    pub SequencerTriggerSource: quickSpinEnumerationNode,
7493    pub SequencerSetActive: quickSpinIntegerNode,
7494    pub SequencerSetNext: quickSpinIntegerNode,
7495    pub SequencerSetLoad: quickSpinCommandNode,
7496    pub SequencerPathSelector: quickSpinIntegerNode,
7497    pub SequencerFeatureEnable: quickSpinBooleanNode,
7498    pub TransferBlockCount: quickSpinIntegerNode,
7499    pub TransferStart: quickSpinCommandNode,
7500    pub TransferQueueMaxBlockCount: quickSpinIntegerNode,
7501    pub TransferQueueCurrentBlockCount: quickSpinIntegerNode,
7502    pub TransferQueueMode: quickSpinEnumerationNode,
7503    pub TransferOperationMode: quickSpinEnumerationNode,
7504    pub TransferStop: quickSpinCommandNode,
7505    pub TransferQueueOverflowCount: quickSpinIntegerNode,
7506    pub TransferControlMode: quickSpinEnumerationNode,
7507    pub ChunkBlackLevel: quickSpinFloatNode,
7508    pub ChunkFrameID: quickSpinIntegerNode,
7509    pub ChunkSerialData: quickSpinStringNode,
7510    pub ChunkExposureTime: quickSpinFloatNode,
7511    pub ChunkCompressionMode: quickSpinIntegerNode,
7512    pub ChunkCompressionRatio: quickSpinFloatNode,
7513    pub ChunkSerialReceiveOverflow: quickSpinBooleanNode,
7514    pub ChunkTimestamp: quickSpinIntegerNode,
7515    pub ChunkModeActive: quickSpinBooleanNode,
7516    pub ChunkExposureEndLineStatusAll: quickSpinIntegerNode,
7517    pub ChunkGainSelector: quickSpinEnumerationNode,
7518    pub ChunkSelector: quickSpinEnumerationNode,
7519    pub ChunkBlackLevelSelector: quickSpinEnumerationNode,
7520    pub ChunkWidth: quickSpinIntegerNode,
7521    pub ChunkImage: quickSpinIntegerNode,
7522    pub ChunkHeight: quickSpinIntegerNode,
7523    pub ChunkPixelFormat: quickSpinEnumerationNode,
7524    pub ChunkGain: quickSpinFloatNode,
7525    pub ChunkSequencerSetActive: quickSpinIntegerNode,
7526    pub ChunkCRC: quickSpinIntegerNode,
7527    pub ChunkOffsetX: quickSpinIntegerNode,
7528    pub ChunkOffsetY: quickSpinIntegerNode,
7529    pub ChunkEnable: quickSpinBooleanNode,
7530    pub ChunkSerialDataLength: quickSpinIntegerNode,
7531    pub FileAccessOffset: quickSpinIntegerNode,
7532    pub FileAccessLength: quickSpinIntegerNode,
7533    pub FileOperationStatus: quickSpinEnumerationNode,
7534    pub FileOperationExecute: quickSpinCommandNode,
7535    pub FileOpenMode: quickSpinEnumerationNode,
7536    pub FileOperationResult: quickSpinIntegerNode,
7537    pub FileOperationSelector: quickSpinEnumerationNode,
7538    pub FileSelector: quickSpinEnumerationNode,
7539    pub FileSize: quickSpinIntegerNode,
7540    pub BinningSelector: quickSpinEnumerationNode,
7541    pub PixelDynamicRangeMin: quickSpinIntegerNode,
7542    pub PixelDynamicRangeMax: quickSpinIntegerNode,
7543    pub OffsetY: quickSpinIntegerNode,
7544    pub BinningHorizontal: quickSpinIntegerNode,
7545    pub Width: quickSpinIntegerNode,
7546    pub TestPatternGeneratorSelector: quickSpinEnumerationNode,
7547    pub CompressionRatio: quickSpinFloatNode,
7548    pub CompressionSaturationPriority: quickSpinEnumerationNode,
7549    pub ReverseX: quickSpinBooleanNode,
7550    pub ReverseY: quickSpinBooleanNode,
7551    pub TestPattern: quickSpinEnumerationNode,
7552    pub PixelColorFilter: quickSpinEnumerationNode,
7553    pub WidthMax: quickSpinIntegerNode,
7554    pub AdcBitDepth: quickSpinEnumerationNode,
7555    pub BinningVertical: quickSpinIntegerNode,
7556    pub DecimationHorizontalMode: quickSpinEnumerationNode,
7557    pub BinningVerticalMode: quickSpinEnumerationNode,
7558    pub OffsetX: quickSpinIntegerNode,
7559    pub HeightMax: quickSpinIntegerNode,
7560    pub DecimationHorizontal: quickSpinIntegerNode,
7561    pub PixelSize: quickSpinEnumerationNode,
7562    pub SensorHeight: quickSpinIntegerNode,
7563    pub DecimationSelector: quickSpinEnumerationNode,
7564    pub IspEnable: quickSpinBooleanNode,
7565    pub AdaptiveCompressionEnable: quickSpinBooleanNode,
7566    pub ImageCompressionMode: quickSpinEnumerationNode,
7567    pub DecimationVertical: quickSpinIntegerNode,
7568    pub Height: quickSpinIntegerNode,
7569    pub BinningHorizontalMode: quickSpinEnumerationNode,
7570    pub PixelFormat: quickSpinEnumerationNode,
7571    pub SensorWidth: quickSpinIntegerNode,
7572    pub DecimationVerticalMode: quickSpinEnumerationNode,
7573    pub TestEventGenerate: quickSpinCommandNode,
7574    pub TriggerEventTest: quickSpinCommandNode,
7575    pub GuiXmlManifestAddress: quickSpinIntegerNode,
7576    pub Test0001: quickSpinIntegerNode,
7577    pub V3_3Enable: quickSpinBooleanNode,
7578    pub LineMode: quickSpinEnumerationNode,
7579    pub LineSource: quickSpinEnumerationNode,
7580    pub LineInputFilterSelector: quickSpinEnumerationNode,
7581    pub UserOutputValue: quickSpinBooleanNode,
7582    pub UserOutputValueAll: quickSpinIntegerNode,
7583    pub UserOutputSelector: quickSpinEnumerationNode,
7584    pub LineStatus: quickSpinBooleanNode,
7585    pub LineFormat: quickSpinEnumerationNode,
7586    pub LineStatusAll: quickSpinIntegerNode,
7587    pub LineSelector: quickSpinEnumerationNode,
7588    pub ExposureActiveMode: quickSpinEnumerationNode,
7589    pub LineInverter: quickSpinBooleanNode,
7590    pub LineFilterWidth: quickSpinFloatNode,
7591    pub CounterTriggerActivation: quickSpinEnumerationNode,
7592    pub CounterValue: quickSpinIntegerNode,
7593    pub CounterSelector: quickSpinEnumerationNode,
7594    pub CounterValueAtReset: quickSpinIntegerNode,
7595    pub CounterStatus: quickSpinEnumerationNode,
7596    pub CounterTriggerSource: quickSpinEnumerationNode,
7597    pub CounterDelay: quickSpinIntegerNode,
7598    pub CounterResetSource: quickSpinEnumerationNode,
7599    pub CounterEventSource: quickSpinEnumerationNode,
7600    pub CounterEventActivation: quickSpinEnumerationNode,
7601    pub CounterDuration: quickSpinIntegerNode,
7602    pub CounterResetActivation: quickSpinEnumerationNode,
7603    pub DeviceType: quickSpinEnumerationNode,
7604    pub DeviceFamilyName: quickSpinStringNode,
7605    pub DeviceSFNCVersionMajor: quickSpinIntegerNode,
7606    pub DeviceSFNCVersionMinor: quickSpinIntegerNode,
7607    pub DeviceSFNCVersionSubMinor: quickSpinIntegerNode,
7608    pub DeviceManifestEntrySelector: quickSpinIntegerNode,
7609    pub DeviceManifestXMLMajorVersion: quickSpinIntegerNode,
7610    pub DeviceManifestXMLMinorVersion: quickSpinIntegerNode,
7611    pub DeviceManifestXMLSubMinorVersion: quickSpinIntegerNode,
7612    pub DeviceManifestSchemaMajorVersion: quickSpinIntegerNode,
7613    pub DeviceManifestSchemaMinorVersion: quickSpinIntegerNode,
7614    pub DeviceManifestPrimaryURL: quickSpinStringNode,
7615    pub DeviceManifestSecondaryURL: quickSpinStringNode,
7616    pub DeviceTLVersionSubMinor: quickSpinIntegerNode,
7617    pub DeviceGenCPVersionMajor: quickSpinIntegerNode,
7618    pub DeviceGenCPVersionMinor: quickSpinIntegerNode,
7619    pub DeviceConnectionSelector: quickSpinIntegerNode,
7620    pub DeviceConnectionSpeed: quickSpinIntegerNode,
7621    pub DeviceConnectionStatus: quickSpinEnumerationNode,
7622    pub DeviceLinkSelector: quickSpinIntegerNode,
7623    pub DeviceLinkThroughputLimitMode: quickSpinEnumerationNode,
7624    pub DeviceLinkConnectionCount: quickSpinIntegerNode,
7625    pub DeviceLinkHeartbeatMode: quickSpinEnumerationNode,
7626    pub DeviceLinkHeartbeatTimeout: quickSpinFloatNode,
7627    pub DeviceLinkCommandTimeout: quickSpinFloatNode,
7628    pub DeviceStreamChannelSelector: quickSpinIntegerNode,
7629    pub DeviceStreamChannelType: quickSpinEnumerationNode,
7630    pub DeviceStreamChannelLink: quickSpinIntegerNode,
7631    pub DeviceStreamChannelEndianness: quickSpinEnumerationNode,
7632    pub DeviceStreamChannelPacketSize: quickSpinIntegerNode,
7633    pub DeviceFeaturePersistenceStart: quickSpinCommandNode,
7634    pub DeviceFeaturePersistenceEnd: quickSpinCommandNode,
7635    pub DeviceRegistersStreamingStart: quickSpinCommandNode,
7636    pub DeviceRegistersStreamingEnd: quickSpinCommandNode,
7637    pub DeviceRegistersCheck: quickSpinCommandNode,
7638    pub DeviceRegistersValid: quickSpinBooleanNode,
7639    pub DeviceClockSelector: quickSpinEnumerationNode,
7640    pub DeviceClockFrequency: quickSpinFloatNode,
7641    pub DeviceSerialPortSelector: quickSpinEnumerationNode,
7642    pub DeviceSerialPortBaudRate: quickSpinEnumerationNode,
7643    pub Timestamp: quickSpinIntegerNode,
7644    pub SensorTaps: quickSpinEnumerationNode,
7645    pub SensorDigitizationTaps: quickSpinEnumerationNode,
7646    pub RegionSelector: quickSpinEnumerationNode,
7647    pub RegionMode: quickSpinEnumerationNode,
7648    pub RegionDestination: quickSpinEnumerationNode,
7649    pub ImageComponentSelector: quickSpinEnumerationNode,
7650    pub ImageComponentEnable: quickSpinBooleanNode,
7651    pub LinePitch: quickSpinIntegerNode,
7652    pub PixelFormatInfoSelector: quickSpinEnumerationNode,
7653    pub PixelFormatInfoID: quickSpinIntegerNode,
7654    pub Deinterlacing: quickSpinEnumerationNode,
7655    pub ImageCompressionRateOption: quickSpinEnumerationNode,
7656    pub ImageCompressionQuality: quickSpinIntegerNode,
7657    pub ImageCompressionBitrate: quickSpinFloatNode,
7658    pub ImageCompressionJPEGFormatOption: quickSpinEnumerationNode,
7659    pub AcquisitionAbort: quickSpinCommandNode,
7660    pub AcquisitionArm: quickSpinCommandNode,
7661    pub AcquisitionStatusSelector: quickSpinEnumerationNode,
7662    pub AcquisitionStatus: quickSpinBooleanNode,
7663    pub TriggerDivider: quickSpinIntegerNode,
7664    pub TriggerMultiplier: quickSpinIntegerNode,
7665    pub ExposureTimeMode: quickSpinEnumerationNode,
7666    pub ExposureTimeSelector: quickSpinEnumerationNode,
7667    pub GainAutoBalance: quickSpinEnumerationNode,
7668    pub BlackLevelAuto: quickSpinEnumerationNode,
7669    pub BlackLevelAutoBalance: quickSpinEnumerationNode,
7670    pub WhiteClipSelector: quickSpinEnumerationNode,
7671    pub WhiteClip: quickSpinFloatNode,
7672    pub LUTValueAll: quickSpinRegisterNode,
7673    pub UserOutputValueAllMask: quickSpinIntegerNode,
7674    pub CounterReset: quickSpinCommandNode,
7675    pub TimerSelector: quickSpinEnumerationNode,
7676    pub TimerDuration: quickSpinFloatNode,
7677    pub TimerDelay: quickSpinFloatNode,
7678    pub TimerReset: quickSpinCommandNode,
7679    pub TimerValue: quickSpinFloatNode,
7680    pub TimerStatus: quickSpinEnumerationNode,
7681    pub TimerTriggerSource: quickSpinEnumerationNode,
7682    pub TimerTriggerActivation: quickSpinEnumerationNode,
7683    pub EncoderSelector: quickSpinEnumerationNode,
7684    pub EncoderSourceA: quickSpinEnumerationNode,
7685    pub EncoderSourceB: quickSpinEnumerationNode,
7686    pub EncoderMode: quickSpinEnumerationNode,
7687    pub EncoderDivider: quickSpinIntegerNode,
7688    pub EncoderOutputMode: quickSpinEnumerationNode,
7689    pub EncoderStatus: quickSpinEnumerationNode,
7690    pub EncoderTimeout: quickSpinFloatNode,
7691    pub EncoderResetSource: quickSpinEnumerationNode,
7692    pub EncoderResetActivation: quickSpinEnumerationNode,
7693    pub EncoderReset: quickSpinCommandNode,
7694    pub EncoderValue: quickSpinIntegerNode,
7695    pub EncoderValueAtReset: quickSpinIntegerNode,
7696    pub SoftwareSignalSelector: quickSpinEnumerationNode,
7697    pub SoftwareSignalPulse: quickSpinCommandNode,
7698    pub ActionUnconditionalMode: quickSpinEnumerationNode,
7699    pub ActionDeviceKey: quickSpinIntegerNode,
7700    pub ActionQueueSize: quickSpinIntegerNode,
7701    pub ActionSelector: quickSpinIntegerNode,
7702    pub ActionGroupMask: quickSpinIntegerNode,
7703    pub ActionGroupKey: quickSpinIntegerNode,
7704    pub EventAcquisitionTrigger: quickSpinIntegerNode,
7705    pub EventAcquisitionTriggerTimestamp: quickSpinIntegerNode,
7706    pub EventAcquisitionTriggerFrameID: quickSpinIntegerNode,
7707    pub EventAcquisitionStart: quickSpinIntegerNode,
7708    pub EventAcquisitionStartTimestamp: quickSpinIntegerNode,
7709    pub EventAcquisitionStartFrameID: quickSpinIntegerNode,
7710    pub EventAcquisitionEnd: quickSpinIntegerNode,
7711    pub EventAcquisitionEndTimestamp: quickSpinIntegerNode,
7712    pub EventAcquisitionEndFrameID: quickSpinIntegerNode,
7713    pub EventAcquisitionTransferStart: quickSpinIntegerNode,
7714    pub EventAcquisitionTransferStartTimestamp: quickSpinIntegerNode,
7715    pub EventAcquisitionTransferStartFrameID: quickSpinIntegerNode,
7716    pub EventAcquisitionTransferEnd: quickSpinIntegerNode,
7717    pub EventAcquisitionTransferEndTimestamp: quickSpinIntegerNode,
7718    pub EventAcquisitionTransferEndFrameID: quickSpinIntegerNode,
7719    pub EventAcquisitionError: quickSpinIntegerNode,
7720    pub EventAcquisitionErrorTimestamp: quickSpinIntegerNode,
7721    pub EventAcquisitionErrorFrameID: quickSpinIntegerNode,
7722    pub EventFrameTrigger: quickSpinIntegerNode,
7723    pub EventFrameTriggerTimestamp: quickSpinIntegerNode,
7724    pub EventFrameTriggerFrameID: quickSpinIntegerNode,
7725    pub EventFrameStart: quickSpinIntegerNode,
7726    pub EventFrameStartTimestamp: quickSpinIntegerNode,
7727    pub EventFrameStartFrameID: quickSpinIntegerNode,
7728    pub EventFrameEnd: quickSpinIntegerNode,
7729    pub EventFrameEndTimestamp: quickSpinIntegerNode,
7730    pub EventFrameEndFrameID: quickSpinIntegerNode,
7731    pub EventFrameBurstStart: quickSpinIntegerNode,
7732    pub EventFrameBurstStartTimestamp: quickSpinIntegerNode,
7733    pub EventFrameBurstStartFrameID: quickSpinIntegerNode,
7734    pub EventFrameBurstEnd: quickSpinIntegerNode,
7735    pub EventFrameBurstEndTimestamp: quickSpinIntegerNode,
7736    pub EventFrameBurstEndFrameID: quickSpinIntegerNode,
7737    pub EventFrameTransferStart: quickSpinIntegerNode,
7738    pub EventFrameTransferStartTimestamp: quickSpinIntegerNode,
7739    pub EventFrameTransferStartFrameID: quickSpinIntegerNode,
7740    pub EventFrameTransferEnd: quickSpinIntegerNode,
7741    pub EventFrameTransferEndTimestamp: quickSpinIntegerNode,
7742    pub EventFrameTransferEndFrameID: quickSpinIntegerNode,
7743    pub EventExposureStart: quickSpinIntegerNode,
7744    pub EventExposureStartTimestamp: quickSpinIntegerNode,
7745    pub EventExposureStartFrameID: quickSpinIntegerNode,
7746    pub EventStream0TransferStart: quickSpinIntegerNode,
7747    pub EventStream0TransferStartTimestamp: quickSpinIntegerNode,
7748    pub EventStream0TransferStartFrameID: quickSpinIntegerNode,
7749    pub EventStream0TransferEnd: quickSpinIntegerNode,
7750    pub EventStream0TransferEndTimestamp: quickSpinIntegerNode,
7751    pub EventStream0TransferEndFrameID: quickSpinIntegerNode,
7752    pub EventStream0TransferPause: quickSpinIntegerNode,
7753    pub EventStream0TransferPauseTimestamp: quickSpinIntegerNode,
7754    pub EventStream0TransferPauseFrameID: quickSpinIntegerNode,
7755    pub EventStream0TransferResume: quickSpinIntegerNode,
7756    pub EventStream0TransferResumeTimestamp: quickSpinIntegerNode,
7757    pub EventStream0TransferResumeFrameID: quickSpinIntegerNode,
7758    pub EventStream0TransferBlockStart: quickSpinIntegerNode,
7759    pub EventStream0TransferBlockStartTimestamp: quickSpinIntegerNode,
7760    pub EventStream0TransferBlockStartFrameID: quickSpinIntegerNode,
7761    pub EventStream0TransferBlockEnd: quickSpinIntegerNode,
7762    pub EventStream0TransferBlockEndTimestamp: quickSpinIntegerNode,
7763    pub EventStream0TransferBlockEndFrameID: quickSpinIntegerNode,
7764    pub EventStream0TransferBlockTrigger: quickSpinIntegerNode,
7765    pub EventStream0TransferBlockTriggerTimestamp: quickSpinIntegerNode,
7766    pub EventStream0TransferBlockTriggerFrameID: quickSpinIntegerNode,
7767    pub EventStream0TransferBurstStart: quickSpinIntegerNode,
7768    pub EventStream0TransferBurstStartTimestamp: quickSpinIntegerNode,
7769    pub EventStream0TransferBurstStartFrameID: quickSpinIntegerNode,
7770    pub EventStream0TransferBurstEnd: quickSpinIntegerNode,
7771    pub EventStream0TransferBurstEndTimestamp: quickSpinIntegerNode,
7772    pub EventStream0TransferBurstEndFrameID: quickSpinIntegerNode,
7773    pub EventStream0TransferOverflow: quickSpinIntegerNode,
7774    pub EventStream0TransferOverflowTimestamp: quickSpinIntegerNode,
7775    pub EventStream0TransferOverflowFrameID: quickSpinIntegerNode,
7776    pub EventSequencerSetChange: quickSpinIntegerNode,
7777    pub EventSequencerSetChangeTimestamp: quickSpinIntegerNode,
7778    pub EventSequencerSetChangeFrameID: quickSpinIntegerNode,
7779    pub EventCounter0Start: quickSpinIntegerNode,
7780    pub EventCounter0StartTimestamp: quickSpinIntegerNode,
7781    pub EventCounter0StartFrameID: quickSpinIntegerNode,
7782    pub EventCounter1Start: quickSpinIntegerNode,
7783    pub EventCounter1StartTimestamp: quickSpinIntegerNode,
7784    pub EventCounter1StartFrameID: quickSpinIntegerNode,
7785    pub EventCounter0End: quickSpinIntegerNode,
7786    pub EventCounter0EndTimestamp: quickSpinIntegerNode,
7787    pub EventCounter0EndFrameID: quickSpinIntegerNode,
7788    pub EventCounter1End: quickSpinIntegerNode,
7789    pub EventCounter1EndTimestamp: quickSpinIntegerNode,
7790    pub EventCounter1EndFrameID: quickSpinIntegerNode,
7791    pub EventTimer0Start: quickSpinIntegerNode,
7792    pub EventTimer0StartTimestamp: quickSpinIntegerNode,
7793    pub EventTimer0StartFrameID: quickSpinIntegerNode,
7794    pub EventTimer1Start: quickSpinIntegerNode,
7795    pub EventTimer1StartTimestamp: quickSpinIntegerNode,
7796    pub EventTimer1StartFrameID: quickSpinIntegerNode,
7797    pub EventTimer0End: quickSpinIntegerNode,
7798    pub EventTimer0EndTimestamp: quickSpinIntegerNode,
7799    pub EventTimer0EndFrameID: quickSpinIntegerNode,
7800    pub EventTimer1End: quickSpinIntegerNode,
7801    pub EventTimer1EndTimestamp: quickSpinIntegerNode,
7802    pub EventTimer1EndFrameID: quickSpinIntegerNode,
7803    pub EventEncoder0Stopped: quickSpinIntegerNode,
7804    pub EventEncoder0StoppedTimestamp: quickSpinIntegerNode,
7805    pub EventEncoder0StoppedFrameID: quickSpinIntegerNode,
7806    pub EventEncoder1Stopped: quickSpinIntegerNode,
7807    pub EventEncoder1StoppedTimestamp: quickSpinIntegerNode,
7808    pub EventEncoder1StoppedFrameID: quickSpinIntegerNode,
7809    pub EventEncoder0Restarted: quickSpinIntegerNode,
7810    pub EventEncoder0RestartedTimestamp: quickSpinIntegerNode,
7811    pub EventEncoder0RestartedFrameID: quickSpinIntegerNode,
7812    pub EventEncoder1Restarted: quickSpinIntegerNode,
7813    pub EventEncoder1RestartedTimestamp: quickSpinIntegerNode,
7814    pub EventEncoder1RestartedFrameID: quickSpinIntegerNode,
7815    pub EventLine0RisingEdge: quickSpinIntegerNode,
7816    pub EventLine0RisingEdgeTimestamp: quickSpinIntegerNode,
7817    pub EventLine0RisingEdgeFrameID: quickSpinIntegerNode,
7818    pub EventLine1RisingEdge: quickSpinIntegerNode,
7819    pub EventLine1RisingEdgeTimestamp: quickSpinIntegerNode,
7820    pub EventLine1RisingEdgeFrameID: quickSpinIntegerNode,
7821    pub EventLine0FallingEdge: quickSpinIntegerNode,
7822    pub EventLine0FallingEdgeTimestamp: quickSpinIntegerNode,
7823    pub EventLine0FallingEdgeFrameID: quickSpinIntegerNode,
7824    pub EventLine1FallingEdge: quickSpinIntegerNode,
7825    pub EventLine1FallingEdgeTimestamp: quickSpinIntegerNode,
7826    pub EventLine1FallingEdgeFrameID: quickSpinIntegerNode,
7827    pub EventLine0AnyEdge: quickSpinIntegerNode,
7828    pub EventLine0AnyEdgeTimestamp: quickSpinIntegerNode,
7829    pub EventLine0AnyEdgeFrameID: quickSpinIntegerNode,
7830    pub EventLine1AnyEdge: quickSpinIntegerNode,
7831    pub EventLine1AnyEdgeTimestamp: quickSpinIntegerNode,
7832    pub EventLine1AnyEdgeFrameID: quickSpinIntegerNode,
7833    pub EventLinkTrigger0: quickSpinIntegerNode,
7834    pub EventLinkTrigger0Timestamp: quickSpinIntegerNode,
7835    pub EventLinkTrigger0FrameID: quickSpinIntegerNode,
7836    pub EventLinkTrigger1: quickSpinIntegerNode,
7837    pub EventLinkTrigger1Timestamp: quickSpinIntegerNode,
7838    pub EventLinkTrigger1FrameID: quickSpinIntegerNode,
7839    pub EventActionLate: quickSpinIntegerNode,
7840    pub EventActionLateTimestamp: quickSpinIntegerNode,
7841    pub EventActionLateFrameID: quickSpinIntegerNode,
7842    pub EventLinkSpeedChange: quickSpinIntegerNode,
7843    pub EventLinkSpeedChangeTimestamp: quickSpinIntegerNode,
7844    pub EventLinkSpeedChangeFrameID: quickSpinIntegerNode,
7845    pub FileAccessBuffer: quickSpinRegisterNode,
7846    pub SourceCount: quickSpinIntegerNode,
7847    pub SourceSelector: quickSpinEnumerationNode,
7848    pub TransferSelector: quickSpinEnumerationNode,
7849    pub TransferBurstCount: quickSpinIntegerNode,
7850    pub TransferAbort: quickSpinCommandNode,
7851    pub TransferPause: quickSpinCommandNode,
7852    pub TransferResume: quickSpinCommandNode,
7853    pub TransferTriggerSelector: quickSpinEnumerationNode,
7854    pub TransferTriggerMode: quickSpinEnumerationNode,
7855    pub TransferTriggerSource: quickSpinEnumerationNode,
7856    pub TransferTriggerActivation: quickSpinEnumerationNode,
7857    pub TransferStatusSelector: quickSpinEnumerationNode,
7858    pub TransferStatus: quickSpinBooleanNode,
7859    pub TransferComponentSelector: quickSpinEnumerationNode,
7860    pub TransferStreamChannel: quickSpinIntegerNode,
7861    pub Scan3dDistanceUnit: quickSpinEnumerationNode,
7862    pub Scan3dCoordinateSystem: quickSpinEnumerationNode,
7863    pub Scan3dOutputMode: quickSpinEnumerationNode,
7864    pub Scan3dCoordinateSystemReference: quickSpinEnumerationNode,
7865    pub Scan3dCoordinateSelector: quickSpinEnumerationNode,
7866    pub Scan3dCoordinateScale: quickSpinFloatNode,
7867    pub Scan3dCoordinateOffset: quickSpinFloatNode,
7868    pub Scan3dInvalidDataFlag: quickSpinBooleanNode,
7869    pub Scan3dInvalidDataValue: quickSpinFloatNode,
7870    pub Scan3dAxisMin: quickSpinFloatNode,
7871    pub Scan3dAxisMax: quickSpinFloatNode,
7872    pub Scan3dCoordinateTransformSelector: quickSpinEnumerationNode,
7873    pub Scan3dTransformValue: quickSpinFloatNode,
7874    pub Scan3dCoordinateReferenceSelector: quickSpinEnumerationNode,
7875    pub Scan3dCoordinateReferenceValue: quickSpinFloatNode,
7876    pub ChunkPartSelector: quickSpinIntegerNode,
7877    pub ChunkImageComponent: quickSpinEnumerationNode,
7878    pub ChunkPixelDynamicRangeMin: quickSpinIntegerNode,
7879    pub ChunkPixelDynamicRangeMax: quickSpinIntegerNode,
7880    pub ChunkTimestampLatchValue: quickSpinIntegerNode,
7881    pub ChunkLineStatusAll: quickSpinIntegerNode,
7882    pub ChunkCounterSelector: quickSpinEnumerationNode,
7883    pub ChunkCounterValue: quickSpinIntegerNode,
7884    pub ChunkTimerSelector: quickSpinEnumerationNode,
7885    pub ChunkTimerValue: quickSpinFloatNode,
7886    pub ChunkEncoderSelector: quickSpinEnumerationNode,
7887    pub ChunkScanLineSelector: quickSpinIntegerNode,
7888    pub ChunkEncoderValue: quickSpinIntegerNode,
7889    pub ChunkEncoderStatus: quickSpinEnumerationNode,
7890    pub ChunkExposureTimeSelector: quickSpinEnumerationNode,
7891    pub ChunkLinePitch: quickSpinIntegerNode,
7892    pub ChunkSourceID: quickSpinEnumerationNode,
7893    pub ChunkRegionID: quickSpinEnumerationNode,
7894    pub ChunkTransferBlockID: quickSpinIntegerNode,
7895    pub ChunkTransferStreamID: quickSpinEnumerationNode,
7896    pub ChunkTransferQueueCurrentBlockCount: quickSpinIntegerNode,
7897    pub ChunkStreamChannelID: quickSpinIntegerNode,
7898    pub ChunkScan3dDistanceUnit: quickSpinEnumerationNode,
7899    pub ChunkScan3dOutputMode: quickSpinEnumerationNode,
7900    pub ChunkScan3dCoordinateSystem: quickSpinEnumerationNode,
7901    pub ChunkScan3dCoordinateSystemReference: quickSpinEnumerationNode,
7902    pub ChunkScan3dCoordinateSelector: quickSpinEnumerationNode,
7903    pub ChunkScan3dCoordinateScale: quickSpinFloatNode,
7904    pub ChunkScan3dCoordinateOffset: quickSpinFloatNode,
7905    pub ChunkScan3dInvalidDataFlag: quickSpinBooleanNode,
7906    pub ChunkScan3dInvalidDataValue: quickSpinFloatNode,
7907    pub ChunkScan3dAxisMin: quickSpinFloatNode,
7908    pub ChunkScan3dAxisMax: quickSpinFloatNode,
7909    pub ChunkScan3dCoordinateTransformSelector: quickSpinEnumerationNode,
7910    pub ChunkScan3dTransformValue: quickSpinFloatNode,
7911    pub ChunkScan3dCoordinateReferenceSelector: quickSpinEnumerationNode,
7912    pub ChunkScan3dCoordinateReferenceValue: quickSpinFloatNode,
7913    pub TestPendingAck: quickSpinIntegerNode,
7914    pub DeviceTapGeometry: quickSpinEnumerationNode,
7915    pub GevPhysicalLinkConfiguration: quickSpinEnumerationNode,
7916    pub GevCurrentPhysicalLinkConfiguration: quickSpinEnumerationNode,
7917    pub GevActiveLinkCount: quickSpinIntegerNode,
7918    pub GevPAUSEFrameReception: quickSpinBooleanNode,
7919    pub GevPAUSEFrameTransmission: quickSpinBooleanNode,
7920    pub GevIPConfigurationStatus: quickSpinEnumerationNode,
7921    pub GevDiscoveryAckDelay: quickSpinIntegerNode,
7922    pub GevGVCPExtendedStatusCodesSelector: quickSpinEnumerationNode,
7923    pub GevGVCPExtendedStatusCodes: quickSpinBooleanNode,
7924    pub GevPrimaryApplicationSwitchoverKey: quickSpinIntegerNode,
7925    pub GevGVSPExtendedIDMode: quickSpinEnumerationNode,
7926    pub GevPrimaryApplicationSocket: quickSpinIntegerNode,
7927    pub GevPrimaryApplicationIPAddress: quickSpinIntegerNode,
7928    pub GevSCCFGPacketResendDestination: quickSpinBooleanNode,
7929    pub GevSCCFGAllInTransmission: quickSpinBooleanNode,
7930    pub GevSCZoneCount: quickSpinIntegerNode,
7931    pub GevSCZoneDirectionAll: quickSpinIntegerNode,
7932    pub GevSCZoneConfigurationLock: quickSpinBooleanNode,
7933    pub aPAUSEMACCtrlFramesTransmitted: quickSpinIntegerNode,
7934    pub aPAUSEMACCtrlFramesReceived: quickSpinIntegerNode,
7935    pub ClConfiguration: quickSpinEnumerationNode,
7936    pub ClTimeSlotsCount: quickSpinEnumerationNode,
7937    pub CxpLinkConfigurationStatus: quickSpinEnumerationNode,
7938    pub CxpLinkConfigurationPreferred: quickSpinEnumerationNode,
7939    pub CxpLinkConfiguration: quickSpinEnumerationNode,
7940    pub CxpConnectionSelector: quickSpinIntegerNode,
7941    pub CxpConnectionTestMode: quickSpinEnumerationNode,
7942    pub CxpConnectionTestErrorCount: quickSpinIntegerNode,
7943    pub CxpConnectionTestPacketCount: quickSpinIntegerNode,
7944    pub CxpPoCxpAuto: quickSpinCommandNode,
7945    pub CxpPoCxpTurnOff: quickSpinCommandNode,
7946    pub CxpPoCxpTripReset: quickSpinCommandNode,
7947    pub CxpPoCxpStatus: quickSpinEnumerationNode,
7948    pub ChunkInferenceFrameId: quickSpinIntegerNode,
7949    pub ChunkInferenceResult: quickSpinIntegerNode,
7950    pub ChunkInferenceConfidence: quickSpinFloatNode,
7951    pub ChunkInferenceBoundingBoxResult: quickSpinRegisterNode,
7952}
7953#[test]
7954fn bindgen_test_layout__quickSpin() {
7955    assert_eq!(
7956        ::std::mem::size_of::<_quickSpin>(),
7957        5392usize,
7958        concat!("Size of: ", stringify!(_quickSpin))
7959    );
7960    assert_eq!(
7961        ::std::mem::align_of::<_quickSpin>(),
7962        8usize,
7963        concat!("Alignment of ", stringify!(_quickSpin))
7964    );
7965    assert_eq!(
7966        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LUTIndex as *const _ as usize },
7967        0usize,
7968        concat!(
7969            "Offset of field: ",
7970            stringify!(_quickSpin),
7971            "::",
7972            stringify!(LUTIndex)
7973        )
7974    );
7975    assert_eq!(
7976        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LUTEnable as *const _ as usize },
7977        8usize,
7978        concat!(
7979            "Offset of field: ",
7980            stringify!(_quickSpin),
7981            "::",
7982            stringify!(LUTEnable)
7983        )
7984    );
7985    assert_eq!(
7986        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LUTValue as *const _ as usize },
7987        16usize,
7988        concat!(
7989            "Offset of field: ",
7990            stringify!(_quickSpin),
7991            "::",
7992            stringify!(LUTValue)
7993        )
7994    );
7995    assert_eq!(
7996        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LUTSelector as *const _ as usize },
7997        24usize,
7998        concat!(
7999            "Offset of field: ",
8000            stringify!(_quickSpin),
8001            "::",
8002            stringify!(LUTSelector)
8003        )
8004    );
8005    assert_eq!(
8006        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ExposureTime as *const _ as usize },
8007        32usize,
8008        concat!(
8009            "Offset of field: ",
8010            stringify!(_quickSpin),
8011            "::",
8012            stringify!(ExposureTime)
8013        )
8014    );
8015    assert_eq!(
8016        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AcquisitionStop as *const _ as usize },
8017        40usize,
8018        concat!(
8019            "Offset of field: ",
8020            stringify!(_quickSpin),
8021            "::",
8022            stringify!(AcquisitionStop)
8023        )
8024    );
8025    assert_eq!(
8026        unsafe {
8027            &(*(::std::ptr::null::<_quickSpin>())).AcquisitionResultingFrameRate as *const _
8028                as usize
8029        },
8030        48usize,
8031        concat!(
8032            "Offset of field: ",
8033            stringify!(_quickSpin),
8034            "::",
8035            stringify!(AcquisitionResultingFrameRate)
8036        )
8037    );
8038    assert_eq!(
8039        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AcquisitionLineRate as *const _ as usize },
8040        56usize,
8041        concat!(
8042            "Offset of field: ",
8043            stringify!(_quickSpin),
8044            "::",
8045            stringify!(AcquisitionLineRate)
8046        )
8047    );
8048    assert_eq!(
8049        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AcquisitionStart as *const _ as usize },
8050        64usize,
8051        concat!(
8052            "Offset of field: ",
8053            stringify!(_quickSpin),
8054            "::",
8055            stringify!(AcquisitionStart)
8056        )
8057    );
8058    assert_eq!(
8059        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TriggerSoftware as *const _ as usize },
8060        72usize,
8061        concat!(
8062            "Offset of field: ",
8063            stringify!(_quickSpin),
8064            "::",
8065            stringify!(TriggerSoftware)
8066        )
8067    );
8068    assert_eq!(
8069        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ExposureMode as *const _ as usize },
8070        80usize,
8071        concat!(
8072            "Offset of field: ",
8073            stringify!(_quickSpin),
8074            "::",
8075            stringify!(ExposureMode)
8076        )
8077    );
8078    assert_eq!(
8079        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AcquisitionMode as *const _ as usize },
8080        88usize,
8081        concat!(
8082            "Offset of field: ",
8083            stringify!(_quickSpin),
8084            "::",
8085            stringify!(AcquisitionMode)
8086        )
8087    );
8088    assert_eq!(
8089        unsafe {
8090            &(*(::std::ptr::null::<_quickSpin>())).AcquisitionFrameCount as *const _ as usize
8091        },
8092        96usize,
8093        concat!(
8094            "Offset of field: ",
8095            stringify!(_quickSpin),
8096            "::",
8097            stringify!(AcquisitionFrameCount)
8098        )
8099    );
8100    assert_eq!(
8101        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TriggerSource as *const _ as usize },
8102        104usize,
8103        concat!(
8104            "Offset of field: ",
8105            stringify!(_quickSpin),
8106            "::",
8107            stringify!(TriggerSource)
8108        )
8109    );
8110    assert_eq!(
8111        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TriggerActivation as *const _ as usize },
8112        112usize,
8113        concat!(
8114            "Offset of field: ",
8115            stringify!(_quickSpin),
8116            "::",
8117            stringify!(TriggerActivation)
8118        )
8119    );
8120    assert_eq!(
8121        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SensorShutterMode as *const _ as usize },
8122        120usize,
8123        concat!(
8124            "Offset of field: ",
8125            stringify!(_quickSpin),
8126            "::",
8127            stringify!(SensorShutterMode)
8128        )
8129    );
8130    assert_eq!(
8131        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TriggerDelay as *const _ as usize },
8132        128usize,
8133        concat!(
8134            "Offset of field: ",
8135            stringify!(_quickSpin),
8136            "::",
8137            stringify!(TriggerDelay)
8138        )
8139    );
8140    assert_eq!(
8141        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TriggerMode as *const _ as usize },
8142        136usize,
8143        concat!(
8144            "Offset of field: ",
8145            stringify!(_quickSpin),
8146            "::",
8147            stringify!(TriggerMode)
8148        )
8149    );
8150    assert_eq!(
8151        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AcquisitionFrameRate as *const _ as usize },
8152        144usize,
8153        concat!(
8154            "Offset of field: ",
8155            stringify!(_quickSpin),
8156            "::",
8157            stringify!(AcquisitionFrameRate)
8158        )
8159    );
8160    assert_eq!(
8161        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TriggerOverlap as *const _ as usize },
8162        152usize,
8163        concat!(
8164            "Offset of field: ",
8165            stringify!(_quickSpin),
8166            "::",
8167            stringify!(TriggerOverlap)
8168        )
8169    );
8170    assert_eq!(
8171        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TriggerSelector as *const _ as usize },
8172        160usize,
8173        concat!(
8174            "Offset of field: ",
8175            stringify!(_quickSpin),
8176            "::",
8177            stringify!(TriggerSelector)
8178        )
8179    );
8180    assert_eq!(
8181        unsafe {
8182            &(*(::std::ptr::null::<_quickSpin>())).AcquisitionFrameRateEnable as *const _ as usize
8183        },
8184        168usize,
8185        concat!(
8186            "Offset of field: ",
8187            stringify!(_quickSpin),
8188            "::",
8189            stringify!(AcquisitionFrameRateEnable)
8190        )
8191    );
8192    assert_eq!(
8193        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ExposureAuto as *const _ as usize },
8194        176usize,
8195        concat!(
8196            "Offset of field: ",
8197            stringify!(_quickSpin),
8198            "::",
8199            stringify!(ExposureAuto)
8200        )
8201    );
8202    assert_eq!(
8203        unsafe {
8204            &(*(::std::ptr::null::<_quickSpin>())).AcquisitionBurstFrameCount as *const _ as usize
8205        },
8206        184usize,
8207        concat!(
8208            "Offset of field: ",
8209            stringify!(_quickSpin),
8210            "::",
8211            stringify!(AcquisitionBurstFrameCount)
8212        )
8213    );
8214    assert_eq!(
8215        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventTest as *const _ as usize },
8216        192usize,
8217        concat!(
8218            "Offset of field: ",
8219            stringify!(_quickSpin),
8220            "::",
8221            stringify!(EventTest)
8222        )
8223    );
8224    assert_eq!(
8225        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventTestTimestamp as *const _ as usize },
8226        200usize,
8227        concat!(
8228            "Offset of field: ",
8229            stringify!(_quickSpin),
8230            "::",
8231            stringify!(EventTestTimestamp)
8232        )
8233    );
8234    assert_eq!(
8235        unsafe {
8236            &(*(::std::ptr::null::<_quickSpin>())).EventExposureEndFrameID as *const _ as usize
8237        },
8238        208usize,
8239        concat!(
8240            "Offset of field: ",
8241            stringify!(_quickSpin),
8242            "::",
8243            stringify!(EventExposureEndFrameID)
8244        )
8245    );
8246    assert_eq!(
8247        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventExposureEnd as *const _ as usize },
8248        216usize,
8249        concat!(
8250            "Offset of field: ",
8251            stringify!(_quickSpin),
8252            "::",
8253            stringify!(EventExposureEnd)
8254        )
8255    );
8256    assert_eq!(
8257        unsafe {
8258            &(*(::std::ptr::null::<_quickSpin>())).EventExposureEndTimestamp as *const _ as usize
8259        },
8260        224usize,
8261        concat!(
8262            "Offset of field: ",
8263            stringify!(_quickSpin),
8264            "::",
8265            stringify!(EventExposureEndTimestamp)
8266        )
8267    );
8268    assert_eq!(
8269        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventError as *const _ as usize },
8270        232usize,
8271        concat!(
8272            "Offset of field: ",
8273            stringify!(_quickSpin),
8274            "::",
8275            stringify!(EventError)
8276        )
8277    );
8278    assert_eq!(
8279        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventErrorTimestamp as *const _ as usize },
8280        240usize,
8281        concat!(
8282            "Offset of field: ",
8283            stringify!(_quickSpin),
8284            "::",
8285            stringify!(EventErrorTimestamp)
8286        )
8287    );
8288    assert_eq!(
8289        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventErrorCode as *const _ as usize },
8290        248usize,
8291        concat!(
8292            "Offset of field: ",
8293            stringify!(_quickSpin),
8294            "::",
8295            stringify!(EventErrorCode)
8296        )
8297    );
8298    assert_eq!(
8299        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventErrorFrameID as *const _ as usize },
8300        256usize,
8301        concat!(
8302            "Offset of field: ",
8303            stringify!(_quickSpin),
8304            "::",
8305            stringify!(EventErrorFrameID)
8306        )
8307    );
8308    assert_eq!(
8309        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventSelector as *const _ as usize },
8310        264usize,
8311        concat!(
8312            "Offset of field: ",
8313            stringify!(_quickSpin),
8314            "::",
8315            stringify!(EventSelector)
8316        )
8317    );
8318    assert_eq!(
8319        unsafe {
8320            &(*(::std::ptr::null::<_quickSpin>())).EventSerialReceiveOverflow as *const _ as usize
8321        },
8322        272usize,
8323        concat!(
8324            "Offset of field: ",
8325            stringify!(_quickSpin),
8326            "::",
8327            stringify!(EventSerialReceiveOverflow)
8328        )
8329    );
8330    assert_eq!(
8331        unsafe {
8332            &(*(::std::ptr::null::<_quickSpin>())).EventSerialPortReceive as *const _ as usize
8333        },
8334        280usize,
8335        concat!(
8336            "Offset of field: ",
8337            stringify!(_quickSpin),
8338            "::",
8339            stringify!(EventSerialPortReceive)
8340        )
8341    );
8342    assert_eq!(
8343        unsafe {
8344            &(*(::std::ptr::null::<_quickSpin>())).EventSerialPortReceiveTimestamp as *const _
8345                as usize
8346        },
8347        288usize,
8348        concat!(
8349            "Offset of field: ",
8350            stringify!(_quickSpin),
8351            "::",
8352            stringify!(EventSerialPortReceiveTimestamp)
8353        )
8354    );
8355    assert_eq!(
8356        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventSerialData as *const _ as usize },
8357        296usize,
8358        concat!(
8359            "Offset of field: ",
8360            stringify!(_quickSpin),
8361            "::",
8362            stringify!(EventSerialData)
8363        )
8364    );
8365    assert_eq!(
8366        unsafe {
8367            &(*(::std::ptr::null::<_quickSpin>())).EventSerialDataLength as *const _ as usize
8368        },
8369        304usize,
8370        concat!(
8371            "Offset of field: ",
8372            stringify!(_quickSpin),
8373            "::",
8374            stringify!(EventSerialDataLength)
8375        )
8376    );
8377    assert_eq!(
8378        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventNotification as *const _ as usize },
8379        312usize,
8380        concat!(
8381            "Offset of field: ",
8382            stringify!(_quickSpin),
8383            "::",
8384            stringify!(EventNotification)
8385        )
8386    );
8387    assert_eq!(
8388        unsafe {
8389            &(*(::std::ptr::null::<_quickSpin>())).LogicBlockLUTRowIndex as *const _ as usize
8390        },
8391        320usize,
8392        concat!(
8393            "Offset of field: ",
8394            stringify!(_quickSpin),
8395            "::",
8396            stringify!(LogicBlockLUTRowIndex)
8397        )
8398    );
8399    assert_eq!(
8400        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LogicBlockSelector as *const _ as usize },
8401        328usize,
8402        concat!(
8403            "Offset of field: ",
8404            stringify!(_quickSpin),
8405            "::",
8406            stringify!(LogicBlockSelector)
8407        )
8408    );
8409    assert_eq!(
8410        unsafe {
8411            &(*(::std::ptr::null::<_quickSpin>())).LogicBlockLUTInputActivation as *const _ as usize
8412        },
8413        336usize,
8414        concat!(
8415            "Offset of field: ",
8416            stringify!(_quickSpin),
8417            "::",
8418            stringify!(LogicBlockLUTInputActivation)
8419        )
8420    );
8421    assert_eq!(
8422        unsafe {
8423            &(*(::std::ptr::null::<_quickSpin>())).LogicBlockLUTInputSelector as *const _ as usize
8424        },
8425        344usize,
8426        concat!(
8427            "Offset of field: ",
8428            stringify!(_quickSpin),
8429            "::",
8430            stringify!(LogicBlockLUTInputSelector)
8431        )
8432    );
8433    assert_eq!(
8434        unsafe {
8435            &(*(::std::ptr::null::<_quickSpin>())).LogicBlockLUTInputSource as *const _ as usize
8436        },
8437        352usize,
8438        concat!(
8439            "Offset of field: ",
8440            stringify!(_quickSpin),
8441            "::",
8442            stringify!(LogicBlockLUTInputSource)
8443        )
8444    );
8445    assert_eq!(
8446        unsafe {
8447            &(*(::std::ptr::null::<_quickSpin>())).LogicBlockLUTOutputValue as *const _ as usize
8448        },
8449        360usize,
8450        concat!(
8451            "Offset of field: ",
8452            stringify!(_quickSpin),
8453            "::",
8454            stringify!(LogicBlockLUTOutputValue)
8455        )
8456    );
8457    assert_eq!(
8458        unsafe {
8459            &(*(::std::ptr::null::<_quickSpin>())).LogicBlockLUTOutputValueAll as *const _ as usize
8460        },
8461        368usize,
8462        concat!(
8463            "Offset of field: ",
8464            stringify!(_quickSpin),
8465            "::",
8466            stringify!(LogicBlockLUTOutputValueAll)
8467        )
8468    );
8469    assert_eq!(
8470        unsafe {
8471            &(*(::std::ptr::null::<_quickSpin>())).LogicBlockLUTSelector as *const _ as usize
8472        },
8473        376usize,
8474        concat!(
8475            "Offset of field: ",
8476            stringify!(_quickSpin),
8477            "::",
8478            stringify!(LogicBlockLUTSelector)
8479        )
8480    );
8481    assert_eq!(
8482        unsafe {
8483            &(*(::std::ptr::null::<_quickSpin>())).ColorTransformationValue as *const _ as usize
8484        },
8485        384usize,
8486        concat!(
8487            "Offset of field: ",
8488            stringify!(_quickSpin),
8489            "::",
8490            stringify!(ColorTransformationValue)
8491        )
8492    );
8493    assert_eq!(
8494        unsafe {
8495            &(*(::std::ptr::null::<_quickSpin>())).ColorTransformationEnable as *const _ as usize
8496        },
8497        392usize,
8498        concat!(
8499            "Offset of field: ",
8500            stringify!(_quickSpin),
8501            "::",
8502            stringify!(ColorTransformationEnable)
8503        )
8504    );
8505    assert_eq!(
8506        unsafe {
8507            &(*(::std::ptr::null::<_quickSpin>())).ColorTransformationSelector as *const _ as usize
8508        },
8509        400usize,
8510        concat!(
8511            "Offset of field: ",
8512            stringify!(_quickSpin),
8513            "::",
8514            stringify!(ColorTransformationSelector)
8515        )
8516    );
8517    assert_eq!(
8518        unsafe {
8519            &(*(::std::ptr::null::<_quickSpin>())).RgbTransformLightSource as *const _ as usize
8520        },
8521        408usize,
8522        concat!(
8523            "Offset of field: ",
8524            stringify!(_quickSpin),
8525            "::",
8526            stringify!(RgbTransformLightSource)
8527        )
8528    );
8529    assert_eq!(
8530        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Saturation as *const _ as usize },
8531        416usize,
8532        concat!(
8533            "Offset of field: ",
8534            stringify!(_quickSpin),
8535            "::",
8536            stringify!(Saturation)
8537        )
8538    );
8539    assert_eq!(
8540        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SaturationEnable as *const _ as usize },
8541        424usize,
8542        concat!(
8543            "Offset of field: ",
8544            stringify!(_quickSpin),
8545            "::",
8546            stringify!(SaturationEnable)
8547        )
8548    );
8549    assert_eq!(
8550        unsafe {
8551            &(*(::std::ptr::null::<_quickSpin>())).ColorTransformationValueSelector as *const _
8552                as usize
8553        },
8554        432usize,
8555        concat!(
8556            "Offset of field: ",
8557            stringify!(_quickSpin),
8558            "::",
8559            stringify!(ColorTransformationValueSelector)
8560        )
8561    );
8562    assert_eq!(
8563        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TimestampLatchValue as *const _ as usize },
8564        440usize,
8565        concat!(
8566            "Offset of field: ",
8567            stringify!(_quickSpin),
8568            "::",
8569            stringify!(TimestampLatchValue)
8570        )
8571    );
8572    assert_eq!(
8573        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TimestampReset as *const _ as usize },
8574        448usize,
8575        concat!(
8576            "Offset of field: ",
8577            stringify!(_quickSpin),
8578            "::",
8579            stringify!(TimestampReset)
8580        )
8581    );
8582    assert_eq!(
8583        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceUserID as *const _ as usize },
8584        456usize,
8585        concat!(
8586            "Offset of field: ",
8587            stringify!(_quickSpin),
8588            "::",
8589            stringify!(DeviceUserID)
8590        )
8591    );
8592    assert_eq!(
8593        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceTemperature as *const _ as usize },
8594        464usize,
8595        concat!(
8596            "Offset of field: ",
8597            stringify!(_quickSpin),
8598            "::",
8599            stringify!(DeviceTemperature)
8600        )
8601    );
8602    assert_eq!(
8603        unsafe { &(*(::std::ptr::null::<_quickSpin>())).MaxDeviceResetTime as *const _ as usize },
8604        472usize,
8605        concat!(
8606            "Offset of field: ",
8607            stringify!(_quickSpin),
8608            "::",
8609            stringify!(MaxDeviceResetTime)
8610        )
8611    );
8612    assert_eq!(
8613        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceTLVersionMinor as *const _ as usize },
8614        480usize,
8615        concat!(
8616            "Offset of field: ",
8617            stringify!(_quickSpin),
8618            "::",
8619            stringify!(DeviceTLVersionMinor)
8620        )
8621    );
8622    assert_eq!(
8623        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceSerialNumber as *const _ as usize },
8624        488usize,
8625        concat!(
8626            "Offset of field: ",
8627            stringify!(_quickSpin),
8628            "::",
8629            stringify!(DeviceSerialNumber)
8630        )
8631    );
8632    assert_eq!(
8633        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceVendorName as *const _ as usize },
8634        496usize,
8635        concat!(
8636            "Offset of field: ",
8637            stringify!(_quickSpin),
8638            "::",
8639            stringify!(DeviceVendorName)
8640        )
8641    );
8642    assert_eq!(
8643        unsafe {
8644            &(*(::std::ptr::null::<_quickSpin>())).DeviceRegistersEndianness as *const _ as usize
8645        },
8646        504usize,
8647        concat!(
8648            "Offset of field: ",
8649            stringify!(_quickSpin),
8650            "::",
8651            stringify!(DeviceRegistersEndianness)
8652        )
8653    );
8654    assert_eq!(
8655        unsafe {
8656            &(*(::std::ptr::null::<_quickSpin>())).DeviceManufacturerInfo as *const _ as usize
8657        },
8658        512usize,
8659        concat!(
8660            "Offset of field: ",
8661            stringify!(_quickSpin),
8662            "::",
8663            stringify!(DeviceManufacturerInfo)
8664        )
8665    );
8666    assert_eq!(
8667        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceLinkSpeed as *const _ as usize },
8668        520usize,
8669        concat!(
8670            "Offset of field: ",
8671            stringify!(_quickSpin),
8672            "::",
8673            stringify!(DeviceLinkSpeed)
8674        )
8675    );
8676    assert_eq!(
8677        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LinkUptime as *const _ as usize },
8678        528usize,
8679        concat!(
8680            "Offset of field: ",
8681            stringify!(_quickSpin),
8682            "::",
8683            stringify!(LinkUptime)
8684        )
8685    );
8686    assert_eq!(
8687        unsafe {
8688            &(*(::std::ptr::null::<_quickSpin>())).DeviceEventChannelCount as *const _ as usize
8689        },
8690        536usize,
8691        concat!(
8692            "Offset of field: ",
8693            stringify!(_quickSpin),
8694            "::",
8695            stringify!(DeviceEventChannelCount)
8696        )
8697    );
8698    assert_eq!(
8699        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TimestampLatch as *const _ as usize },
8700        544usize,
8701        concat!(
8702            "Offset of field: ",
8703            stringify!(_quickSpin),
8704            "::",
8705            stringify!(TimestampLatch)
8706        )
8707    );
8708    assert_eq!(
8709        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceScanType as *const _ as usize },
8710        552usize,
8711        concat!(
8712            "Offset of field: ",
8713            stringify!(_quickSpin),
8714            "::",
8715            stringify!(DeviceScanType)
8716        )
8717    );
8718    assert_eq!(
8719        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceReset as *const _ as usize },
8720        560usize,
8721        concat!(
8722            "Offset of field: ",
8723            stringify!(_quickSpin),
8724            "::",
8725            stringify!(DeviceReset)
8726        )
8727    );
8728    assert_eq!(
8729        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceCharacterSet as *const _ as usize },
8730        568usize,
8731        concat!(
8732            "Offset of field: ",
8733            stringify!(_quickSpin),
8734            "::",
8735            stringify!(DeviceCharacterSet)
8736        )
8737    );
8738    assert_eq!(
8739        unsafe {
8740            &(*(::std::ptr::null::<_quickSpin>())).DeviceLinkThroughputLimit as *const _ as usize
8741        },
8742        576usize,
8743        concat!(
8744            "Offset of field: ",
8745            stringify!(_quickSpin),
8746            "::",
8747            stringify!(DeviceLinkThroughputLimit)
8748        )
8749    );
8750    assert_eq!(
8751        unsafe {
8752            &(*(::std::ptr::null::<_quickSpin>())).DeviceFirmwareVersion as *const _ as usize
8753        },
8754        584usize,
8755        concat!(
8756            "Offset of field: ",
8757            stringify!(_quickSpin),
8758            "::",
8759            stringify!(DeviceFirmwareVersion)
8760        )
8761    );
8762    assert_eq!(
8763        unsafe {
8764            &(*(::std::ptr::null::<_quickSpin>())).DeviceStreamChannelCount as *const _ as usize
8765        },
8766        592usize,
8767        concat!(
8768            "Offset of field: ",
8769            stringify!(_quickSpin),
8770            "::",
8771            stringify!(DeviceStreamChannelCount)
8772        )
8773    );
8774    assert_eq!(
8775        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceTLType as *const _ as usize },
8776        600usize,
8777        concat!(
8778            "Offset of field: ",
8779            stringify!(_quickSpin),
8780            "::",
8781            stringify!(DeviceTLType)
8782        )
8783    );
8784    assert_eq!(
8785        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceVersion as *const _ as usize },
8786        608usize,
8787        concat!(
8788            "Offset of field: ",
8789            stringify!(_quickSpin),
8790            "::",
8791            stringify!(DeviceVersion)
8792        )
8793    );
8794    assert_eq!(
8795        unsafe {
8796            &(*(::std::ptr::null::<_quickSpin>())).DevicePowerSupplySelector as *const _ as usize
8797        },
8798        616usize,
8799        concat!(
8800            "Offset of field: ",
8801            stringify!(_quickSpin),
8802            "::",
8803            stringify!(DevicePowerSupplySelector)
8804        )
8805    );
8806    assert_eq!(
8807        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SensorDescription as *const _ as usize },
8808        624usize,
8809        concat!(
8810            "Offset of field: ",
8811            stringify!(_quickSpin),
8812            "::",
8813            stringify!(SensorDescription)
8814        )
8815    );
8816    assert_eq!(
8817        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceModelName as *const _ as usize },
8818        632usize,
8819        concat!(
8820            "Offset of field: ",
8821            stringify!(_quickSpin),
8822            "::",
8823            stringify!(DeviceModelName)
8824        )
8825    );
8826    assert_eq!(
8827        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceTLVersionMajor as *const _ as usize },
8828        640usize,
8829        concat!(
8830            "Offset of field: ",
8831            stringify!(_quickSpin),
8832            "::",
8833            stringify!(DeviceTLVersionMajor)
8834        )
8835    );
8836    assert_eq!(
8837        unsafe {
8838            &(*(::std::ptr::null::<_quickSpin>())).DeviceTemperatureSelector as *const _ as usize
8839        },
8840        648usize,
8841        concat!(
8842            "Offset of field: ",
8843            stringify!(_quickSpin),
8844            "::",
8845            stringify!(DeviceTemperatureSelector)
8846        )
8847    );
8848    assert_eq!(
8849        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EnumerationCount as *const _ as usize },
8850        656usize,
8851        concat!(
8852            "Offset of field: ",
8853            stringify!(_quickSpin),
8854            "::",
8855            stringify!(EnumerationCount)
8856        )
8857    );
8858    assert_eq!(
8859        unsafe { &(*(::std::ptr::null::<_quickSpin>())).PowerSupplyCurrent as *const _ as usize },
8860        664usize,
8861        concat!(
8862            "Offset of field: ",
8863            stringify!(_quickSpin),
8864            "::",
8865            stringify!(PowerSupplyCurrent)
8866        )
8867    );
8868    assert_eq!(
8869        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceID as *const _ as usize },
8870        672usize,
8871        concat!(
8872            "Offset of field: ",
8873            stringify!(_quickSpin),
8874            "::",
8875            stringify!(DeviceID)
8876        )
8877    );
8878    assert_eq!(
8879        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceUptime as *const _ as usize },
8880        680usize,
8881        concat!(
8882            "Offset of field: ",
8883            stringify!(_quickSpin),
8884            "::",
8885            stringify!(DeviceUptime)
8886        )
8887    );
8888    assert_eq!(
8889        unsafe {
8890            &(*(::std::ptr::null::<_quickSpin>())).DeviceLinkCurrentThroughput as *const _ as usize
8891        },
8892        688usize,
8893        concat!(
8894            "Offset of field: ",
8895            stringify!(_quickSpin),
8896            "::",
8897            stringify!(DeviceLinkCurrentThroughput)
8898        )
8899    );
8900    assert_eq!(
8901        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceMaxThroughput as *const _ as usize },
8902        696usize,
8903        concat!(
8904            "Offset of field: ",
8905            stringify!(_quickSpin),
8906            "::",
8907            stringify!(DeviceMaxThroughput)
8908        )
8909    );
8910    assert_eq!(
8911        unsafe { &(*(::std::ptr::null::<_quickSpin>())).FactoryReset as *const _ as usize },
8912        704usize,
8913        concat!(
8914            "Offset of field: ",
8915            stringify!(_quickSpin),
8916            "::",
8917            stringify!(FactoryReset)
8918        )
8919    );
8920    assert_eq!(
8921        unsafe { &(*(::std::ptr::null::<_quickSpin>())).PowerSupplyVoltage as *const _ as usize },
8922        712usize,
8923        concat!(
8924            "Offset of field: ",
8925            stringify!(_quickSpin),
8926            "::",
8927            stringify!(PowerSupplyVoltage)
8928        )
8929    );
8930    assert_eq!(
8931        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceIndicatorMode as *const _ as usize },
8932        720usize,
8933        concat!(
8934            "Offset of field: ",
8935            stringify!(_quickSpin),
8936            "::",
8937            stringify!(DeviceIndicatorMode)
8938        )
8939    );
8940    assert_eq!(
8941        unsafe {
8942            &(*(::std::ptr::null::<_quickSpin>())).DeviceLinkBandwidthReserve as *const _ as usize
8943        },
8944        728usize,
8945        concat!(
8946            "Offset of field: ",
8947            stringify!(_quickSpin),
8948            "::",
8949            stringify!(DeviceLinkBandwidthReserve)
8950        )
8951    );
8952    assert_eq!(
8953        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AasRoiOffsetY as *const _ as usize },
8954        736usize,
8955        concat!(
8956            "Offset of field: ",
8957            stringify!(_quickSpin),
8958            "::",
8959            stringify!(AasRoiOffsetY)
8960        )
8961    );
8962    assert_eq!(
8963        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AasRoiOffsetX as *const _ as usize },
8964        744usize,
8965        concat!(
8966            "Offset of field: ",
8967            stringify!(_quickSpin),
8968            "::",
8969            stringify!(AasRoiOffsetX)
8970        )
8971    );
8972    assert_eq!(
8973        unsafe {
8974            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureControlPriority as *const _ as usize
8975        },
8976        752usize,
8977        concat!(
8978            "Offset of field: ",
8979            stringify!(_quickSpin),
8980            "::",
8981            stringify!(AutoExposureControlPriority)
8982        )
8983    );
8984    assert_eq!(
8985        unsafe {
8986            &(*(::std::ptr::null::<_quickSpin>())).BalanceWhiteAutoLowerLimit as *const _ as usize
8987        },
8988        760usize,
8989        concat!(
8990            "Offset of field: ",
8991            stringify!(_quickSpin),
8992            "::",
8993            stringify!(BalanceWhiteAutoLowerLimit)
8994        )
8995    );
8996    assert_eq!(
8997        unsafe {
8998            &(*(::std::ptr::null::<_quickSpin>())).BalanceWhiteAutoDamping as *const _ as usize
8999        },
9000        768usize,
9001        concat!(
9002            "Offset of field: ",
9003            stringify!(_quickSpin),
9004            "::",
9005            stringify!(BalanceWhiteAutoDamping)
9006        )
9007    );
9008    assert_eq!(
9009        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AasRoiHeight as *const _ as usize },
9010        776usize,
9011        concat!(
9012            "Offset of field: ",
9013            stringify!(_quickSpin),
9014            "::",
9015            stringify!(AasRoiHeight)
9016        )
9017    );
9018    assert_eq!(
9019        unsafe {
9020            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureGreyValueUpperLimit as *const _
9021                as usize
9022        },
9023        784usize,
9024        concat!(
9025            "Offset of field: ",
9026            stringify!(_quickSpin),
9027            "::",
9028            stringify!(AutoExposureGreyValueUpperLimit)
9029        )
9030    );
9031    assert_eq!(
9032        unsafe {
9033            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureTargetGreyValue as *const _ as usize
9034        },
9035        792usize,
9036        concat!(
9037            "Offset of field: ",
9038            stringify!(_quickSpin),
9039            "::",
9040            stringify!(AutoExposureTargetGreyValue)
9041        )
9042    );
9043    assert_eq!(
9044        unsafe {
9045            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureGainLowerLimit as *const _ as usize
9046        },
9047        800usize,
9048        concat!(
9049            "Offset of field: ",
9050            stringify!(_quickSpin),
9051            "::",
9052            stringify!(AutoExposureGainLowerLimit)
9053        )
9054    );
9055    assert_eq!(
9056        unsafe {
9057            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureGreyValueLowerLimit as *const _
9058                as usize
9059        },
9060        808usize,
9061        concat!(
9062            "Offset of field: ",
9063            stringify!(_quickSpin),
9064            "::",
9065            stringify!(AutoExposureGreyValueLowerLimit)
9066        )
9067    );
9068    assert_eq!(
9069        unsafe {
9070            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureMeteringMode as *const _ as usize
9071        },
9072        816usize,
9073        concat!(
9074            "Offset of field: ",
9075            stringify!(_quickSpin),
9076            "::",
9077            stringify!(AutoExposureMeteringMode)
9078        )
9079    );
9080    assert_eq!(
9081        unsafe {
9082            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureExposureTimeUpperLimit as *const _
9083                as usize
9084        },
9085        824usize,
9086        concat!(
9087            "Offset of field: ",
9088            stringify!(_quickSpin),
9089            "::",
9090            stringify!(AutoExposureExposureTimeUpperLimit)
9091        )
9092    );
9093    assert_eq!(
9094        unsafe {
9095            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureGainUpperLimit as *const _ as usize
9096        },
9097        832usize,
9098        concat!(
9099            "Offset of field: ",
9100            stringify!(_quickSpin),
9101            "::",
9102            stringify!(AutoExposureGainUpperLimit)
9103        )
9104    );
9105    assert_eq!(
9106        unsafe {
9107            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureControlLoopDamping as *const _
9108                as usize
9109        },
9110        840usize,
9111        concat!(
9112            "Offset of field: ",
9113            stringify!(_quickSpin),
9114            "::",
9115            stringify!(AutoExposureControlLoopDamping)
9116        )
9117    );
9118    assert_eq!(
9119        unsafe {
9120            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureEVCompensation as *const _ as usize
9121        },
9122        848usize,
9123        concat!(
9124            "Offset of field: ",
9125            stringify!(_quickSpin),
9126            "::",
9127            stringify!(AutoExposureEVCompensation)
9128        )
9129    );
9130    assert_eq!(
9131        unsafe {
9132            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureExposureTimeLowerLimit as *const _
9133                as usize
9134        },
9135        856usize,
9136        concat!(
9137            "Offset of field: ",
9138            stringify!(_quickSpin),
9139            "::",
9140            stringify!(AutoExposureExposureTimeLowerLimit)
9141        )
9142    );
9143    assert_eq!(
9144        unsafe {
9145            &(*(::std::ptr::null::<_quickSpin>())).BalanceWhiteAutoProfile as *const _ as usize
9146        },
9147        864usize,
9148        concat!(
9149            "Offset of field: ",
9150            stringify!(_quickSpin),
9151            "::",
9152            stringify!(BalanceWhiteAutoProfile)
9153        )
9154    );
9155    assert_eq!(
9156        unsafe {
9157            &(*(::std::ptr::null::<_quickSpin>())).AutoAlgorithmSelector as *const _ as usize
9158        },
9159        872usize,
9160        concat!(
9161            "Offset of field: ",
9162            stringify!(_quickSpin),
9163            "::",
9164            stringify!(AutoAlgorithmSelector)
9165        )
9166    );
9167    assert_eq!(
9168        unsafe {
9169            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureTargetGreyValueAuto as *const _
9170                as usize
9171        },
9172        880usize,
9173        concat!(
9174            "Offset of field: ",
9175            stringify!(_quickSpin),
9176            "::",
9177            stringify!(AutoExposureTargetGreyValueAuto)
9178        )
9179    );
9180    assert_eq!(
9181        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AasRoiEnable as *const _ as usize },
9182        888usize,
9183        concat!(
9184            "Offset of field: ",
9185            stringify!(_quickSpin),
9186            "::",
9187            stringify!(AasRoiEnable)
9188        )
9189    );
9190    assert_eq!(
9191        unsafe {
9192            &(*(::std::ptr::null::<_quickSpin>())).AutoExposureLightingMode as *const _ as usize
9193        },
9194        896usize,
9195        concat!(
9196            "Offset of field: ",
9197            stringify!(_quickSpin),
9198            "::",
9199            stringify!(AutoExposureLightingMode)
9200        )
9201    );
9202    assert_eq!(
9203        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AasRoiWidth as *const _ as usize },
9204        904usize,
9205        concat!(
9206            "Offset of field: ",
9207            stringify!(_quickSpin),
9208            "::",
9209            stringify!(AasRoiWidth)
9210        )
9211    );
9212    assert_eq!(
9213        unsafe {
9214            &(*(::std::ptr::null::<_quickSpin>())).BalanceWhiteAutoUpperLimit as *const _ as usize
9215        },
9216        912usize,
9217        concat!(
9218            "Offset of field: ",
9219            stringify!(_quickSpin),
9220            "::",
9221            stringify!(BalanceWhiteAutoUpperLimit)
9222        )
9223    );
9224    assert_eq!(
9225        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LinkErrorCount as *const _ as usize },
9226        920usize,
9227        concat!(
9228            "Offset of field: ",
9229            stringify!(_quickSpin),
9230            "::",
9231            stringify!(LinkErrorCount)
9232        )
9233    );
9234    assert_eq!(
9235        unsafe {
9236            &(*(::std::ptr::null::<_quickSpin>())).GevCurrentIPConfigurationDHCP as *const _
9237                as usize
9238        },
9239        928usize,
9240        concat!(
9241            "Offset of field: ",
9242            stringify!(_quickSpin),
9243            "::",
9244            stringify!(GevCurrentIPConfigurationDHCP)
9245        )
9246    );
9247    assert_eq!(
9248        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevInterfaceSelector as *const _ as usize },
9249        936usize,
9250        concat!(
9251            "Offset of field: ",
9252            stringify!(_quickSpin),
9253            "::",
9254            stringify!(GevInterfaceSelector)
9255        )
9256    );
9257    assert_eq!(
9258        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevSCPD as *const _ as usize },
9259        944usize,
9260        concat!(
9261            "Offset of field: ",
9262            stringify!(_quickSpin),
9263            "::",
9264            stringify!(GevSCPD)
9265        )
9266    );
9267    assert_eq!(
9268        unsafe {
9269            &(*(::std::ptr::null::<_quickSpin>())).GevTimestampTickFrequency as *const _ as usize
9270        },
9271        952usize,
9272        concat!(
9273            "Offset of field: ",
9274            stringify!(_quickSpin),
9275            "::",
9276            stringify!(GevTimestampTickFrequency)
9277        )
9278    );
9279    assert_eq!(
9280        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevSCPSPacketSize as *const _ as usize },
9281        960usize,
9282        concat!(
9283            "Offset of field: ",
9284            stringify!(_quickSpin),
9285            "::",
9286            stringify!(GevSCPSPacketSize)
9287        )
9288    );
9289    assert_eq!(
9290        unsafe {
9291            &(*(::std::ptr::null::<_quickSpin>())).GevCurrentDefaultGateway as *const _ as usize
9292        },
9293        968usize,
9294        concat!(
9295            "Offset of field: ",
9296            stringify!(_quickSpin),
9297            "::",
9298            stringify!(GevCurrentDefaultGateway)
9299        )
9300    );
9301    assert_eq!(
9302        unsafe {
9303            &(*(::std::ptr::null::<_quickSpin>())).GevSCCFGUnconditionalStreaming as *const _
9304                as usize
9305        },
9306        976usize,
9307        concat!(
9308            "Offset of field: ",
9309            stringify!(_quickSpin),
9310            "::",
9311            stringify!(GevSCCFGUnconditionalStreaming)
9312        )
9313    );
9314    assert_eq!(
9315        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevMCTT as *const _ as usize },
9316        984usize,
9317        concat!(
9318            "Offset of field: ",
9319            stringify!(_quickSpin),
9320            "::",
9321            stringify!(GevMCTT)
9322        )
9323    );
9324    assert_eq!(
9325        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevSCPSDoNotFragment as *const _ as usize },
9326        992usize,
9327        concat!(
9328            "Offset of field: ",
9329            stringify!(_quickSpin),
9330            "::",
9331            stringify!(GevSCPSDoNotFragment)
9332        )
9333    );
9334    assert_eq!(
9335        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevCurrentSubnetMask as *const _ as usize },
9336        1000usize,
9337        concat!(
9338            "Offset of field: ",
9339            stringify!(_quickSpin),
9340            "::",
9341            stringify!(GevCurrentSubnetMask)
9342        )
9343    );
9344    assert_eq!(
9345        unsafe {
9346            &(*(::std::ptr::null::<_quickSpin>())).GevStreamChannelSelector as *const _ as usize
9347        },
9348        1008usize,
9349        concat!(
9350            "Offset of field: ",
9351            stringify!(_quickSpin),
9352            "::",
9353            stringify!(GevStreamChannelSelector)
9354        )
9355    );
9356    assert_eq!(
9357        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevCurrentIPAddress as *const _ as usize },
9358        1016usize,
9359        concat!(
9360            "Offset of field: ",
9361            stringify!(_quickSpin),
9362            "::",
9363            stringify!(GevCurrentIPAddress)
9364        )
9365    );
9366    assert_eq!(
9367        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevMCSP as *const _ as usize },
9368        1024usize,
9369        concat!(
9370            "Offset of field: ",
9371            stringify!(_quickSpin),
9372            "::",
9373            stringify!(GevMCSP)
9374        )
9375    );
9376    assert_eq!(
9377        unsafe {
9378            &(*(::std::ptr::null::<_quickSpin>())).GevGVCPPendingTimeout as *const _ as usize
9379        },
9380        1032usize,
9381        concat!(
9382            "Offset of field: ",
9383            stringify!(_quickSpin),
9384            "::",
9385            stringify!(GevGVCPPendingTimeout)
9386        )
9387    );
9388    assert_eq!(
9389        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevIEEE1588Status as *const _ as usize },
9390        1040usize,
9391        concat!(
9392            "Offset of field: ",
9393            stringify!(_quickSpin),
9394            "::",
9395            stringify!(GevIEEE1588Status)
9396        )
9397    );
9398    assert_eq!(
9399        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevFirstURL as *const _ as usize },
9400        1048usize,
9401        concat!(
9402            "Offset of field: ",
9403            stringify!(_quickSpin),
9404            "::",
9405            stringify!(GevFirstURL)
9406        )
9407    );
9408    assert_eq!(
9409        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevMACAddress as *const _ as usize },
9410        1056usize,
9411        concat!(
9412            "Offset of field: ",
9413            stringify!(_quickSpin),
9414            "::",
9415            stringify!(GevMACAddress)
9416        )
9417    );
9418    assert_eq!(
9419        unsafe {
9420            &(*(::std::ptr::null::<_quickSpin>())).GevPersistentSubnetMask as *const _ as usize
9421        },
9422        1064usize,
9423        concat!(
9424            "Offset of field: ",
9425            stringify!(_quickSpin),
9426            "::",
9427            stringify!(GevPersistentSubnetMask)
9428        )
9429    );
9430    assert_eq!(
9431        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevMCPHostPort as *const _ as usize },
9432        1072usize,
9433        concat!(
9434            "Offset of field: ",
9435            stringify!(_quickSpin),
9436            "::",
9437            stringify!(GevMCPHostPort)
9438        )
9439    );
9440    assert_eq!(
9441        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevSCPHostPort as *const _ as usize },
9442        1080usize,
9443        concat!(
9444            "Offset of field: ",
9445            stringify!(_quickSpin),
9446            "::",
9447            stringify!(GevSCPHostPort)
9448        )
9449    );
9450    assert_eq!(
9451        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevGVCPPendingAck as *const _ as usize },
9452        1088usize,
9453        concat!(
9454            "Offset of field: ",
9455            stringify!(_quickSpin),
9456            "::",
9457            stringify!(GevGVCPPendingAck)
9458        )
9459    );
9460    assert_eq!(
9461        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevSCPInterfaceIndex as *const _ as usize },
9462        1096usize,
9463        concat!(
9464            "Offset of field: ",
9465            stringify!(_quickSpin),
9466            "::",
9467            stringify!(GevSCPInterfaceIndex)
9468        )
9469    );
9470    assert_eq!(
9471        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevSupportedOption as *const _ as usize },
9472        1104usize,
9473        concat!(
9474            "Offset of field: ",
9475            stringify!(_quickSpin),
9476            "::",
9477            stringify!(GevSupportedOption)
9478        )
9479    );
9480    assert_eq!(
9481        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevIEEE1588Mode as *const _ as usize },
9482        1112usize,
9483        concat!(
9484            "Offset of field: ",
9485            stringify!(_quickSpin),
9486            "::",
9487            stringify!(GevIEEE1588Mode)
9488        )
9489    );
9490    assert_eq!(
9491        unsafe {
9492            &(*(::std::ptr::null::<_quickSpin>())).GevCurrentIPConfigurationLLA as *const _ as usize
9493        },
9494        1120usize,
9495        concat!(
9496            "Offset of field: ",
9497            stringify!(_quickSpin),
9498            "::",
9499            stringify!(GevCurrentIPConfigurationLLA)
9500        )
9501    );
9502    assert_eq!(
9503        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevSCSP as *const _ as usize },
9504        1128usize,
9505        concat!(
9506            "Offset of field: ",
9507            stringify!(_quickSpin),
9508            "::",
9509            stringify!(GevSCSP)
9510        )
9511    );
9512    assert_eq!(
9513        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevIEEE1588 as *const _ as usize },
9514        1136usize,
9515        concat!(
9516            "Offset of field: ",
9517            stringify!(_quickSpin),
9518            "::",
9519            stringify!(GevIEEE1588)
9520        )
9521    );
9522    assert_eq!(
9523        unsafe {
9524            &(*(::std::ptr::null::<_quickSpin>())).GevSCCFGExtendedChunkData as *const _ as usize
9525        },
9526        1144usize,
9527        concat!(
9528            "Offset of field: ",
9529            stringify!(_quickSpin),
9530            "::",
9531            stringify!(GevSCCFGExtendedChunkData)
9532        )
9533    );
9534    assert_eq!(
9535        unsafe {
9536            &(*(::std::ptr::null::<_quickSpin>())).GevPersistentIPAddress as *const _ as usize
9537        },
9538        1152usize,
9539        concat!(
9540            "Offset of field: ",
9541            stringify!(_quickSpin),
9542            "::",
9543            stringify!(GevPersistentIPAddress)
9544        )
9545    );
9546    assert_eq!(
9547        unsafe {
9548            &(*(::std::ptr::null::<_quickSpin>())).GevCurrentIPConfigurationPersistentIP as *const _
9549                as usize
9550        },
9551        1160usize,
9552        concat!(
9553            "Offset of field: ",
9554            stringify!(_quickSpin),
9555            "::",
9556            stringify!(GevCurrentIPConfigurationPersistentIP)
9557        )
9558    );
9559    assert_eq!(
9560        unsafe {
9561            &(*(::std::ptr::null::<_quickSpin>())).GevIEEE1588ClockAccuracy as *const _ as usize
9562        },
9563        1168usize,
9564        concat!(
9565            "Offset of field: ",
9566            stringify!(_quickSpin),
9567            "::",
9568            stringify!(GevIEEE1588ClockAccuracy)
9569        )
9570    );
9571    assert_eq!(
9572        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevHeartbeatTimeout as *const _ as usize },
9573        1176usize,
9574        concat!(
9575            "Offset of field: ",
9576            stringify!(_quickSpin),
9577            "::",
9578            stringify!(GevHeartbeatTimeout)
9579        )
9580    );
9581    assert_eq!(
9582        unsafe {
9583            &(*(::std::ptr::null::<_quickSpin>())).GevPersistentDefaultGateway as *const _ as usize
9584        },
9585        1184usize,
9586        concat!(
9587            "Offset of field: ",
9588            stringify!(_quickSpin),
9589            "::",
9590            stringify!(GevPersistentDefaultGateway)
9591        )
9592    );
9593    assert_eq!(
9594        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevCCP as *const _ as usize },
9595        1192usize,
9596        concat!(
9597            "Offset of field: ",
9598            stringify!(_quickSpin),
9599            "::",
9600            stringify!(GevCCP)
9601        )
9602    );
9603    assert_eq!(
9604        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevMCDA as *const _ as usize },
9605        1200usize,
9606        concat!(
9607            "Offset of field: ",
9608            stringify!(_quickSpin),
9609            "::",
9610            stringify!(GevMCDA)
9611        )
9612    );
9613    assert_eq!(
9614        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevSCDA as *const _ as usize },
9615        1208usize,
9616        concat!(
9617            "Offset of field: ",
9618            stringify!(_quickSpin),
9619            "::",
9620            stringify!(GevSCDA)
9621        )
9622    );
9623    assert_eq!(
9624        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevSCPDirection as *const _ as usize },
9625        1216usize,
9626        concat!(
9627            "Offset of field: ",
9628            stringify!(_quickSpin),
9629            "::",
9630            stringify!(GevSCPDirection)
9631        )
9632    );
9633    assert_eq!(
9634        unsafe {
9635            &(*(::std::ptr::null::<_quickSpin>())).GevSCPSFireTestPacket as *const _ as usize
9636        },
9637        1224usize,
9638        concat!(
9639            "Offset of field: ",
9640            stringify!(_quickSpin),
9641            "::",
9642            stringify!(GevSCPSFireTestPacket)
9643        )
9644    );
9645    assert_eq!(
9646        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevSecondURL as *const _ as usize },
9647        1232usize,
9648        concat!(
9649            "Offset of field: ",
9650            stringify!(_quickSpin),
9651            "::",
9652            stringify!(GevSecondURL)
9653        )
9654    );
9655    assert_eq!(
9656        unsafe {
9657            &(*(::std::ptr::null::<_quickSpin>())).GevSupportedOptionSelector as *const _ as usize
9658        },
9659        1240usize,
9660        concat!(
9661            "Offset of field: ",
9662            stringify!(_quickSpin),
9663            "::",
9664            stringify!(GevSupportedOptionSelector)
9665        )
9666    );
9667    assert_eq!(
9668        unsafe {
9669            &(*(::std::ptr::null::<_quickSpin>())).GevGVCPHeartbeatDisable as *const _ as usize
9670        },
9671        1248usize,
9672        concat!(
9673            "Offset of field: ",
9674            stringify!(_quickSpin),
9675            "::",
9676            stringify!(GevGVCPHeartbeatDisable)
9677        )
9678    );
9679    assert_eq!(
9680        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevMCRC as *const _ as usize },
9681        1256usize,
9682        concat!(
9683            "Offset of field: ",
9684            stringify!(_quickSpin),
9685            "::",
9686            stringify!(GevMCRC)
9687        )
9688    );
9689    assert_eq!(
9690        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevSCPSBigEndian as *const _ as usize },
9691        1264usize,
9692        concat!(
9693            "Offset of field: ",
9694            stringify!(_quickSpin),
9695            "::",
9696            stringify!(GevSCPSBigEndian)
9697        )
9698    );
9699    assert_eq!(
9700        unsafe {
9701            &(*(::std::ptr::null::<_quickSpin>())).GevNumberOfInterfaces as *const _ as usize
9702        },
9703        1272usize,
9704        concat!(
9705            "Offset of field: ",
9706            stringify!(_quickSpin),
9707            "::",
9708            stringify!(GevNumberOfInterfaces)
9709        )
9710    );
9711    assert_eq!(
9712        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TLParamsLocked as *const _ as usize },
9713        1280usize,
9714        concat!(
9715            "Offset of field: ",
9716            stringify!(_quickSpin),
9717            "::",
9718            stringify!(TLParamsLocked)
9719        )
9720    );
9721    assert_eq!(
9722        unsafe { &(*(::std::ptr::null::<_quickSpin>())).PayloadSize as *const _ as usize },
9723        1288usize,
9724        concat!(
9725            "Offset of field: ",
9726            stringify!(_quickSpin),
9727            "::",
9728            stringify!(PayloadSize)
9729        )
9730    );
9731    assert_eq!(
9732        unsafe {
9733            &(*(::std::ptr::null::<_quickSpin>())).PacketResendRequestCount as *const _ as usize
9734        },
9735        1296usize,
9736        concat!(
9737            "Offset of field: ",
9738            stringify!(_quickSpin),
9739            "::",
9740            stringify!(PacketResendRequestCount)
9741        )
9742    );
9743    assert_eq!(
9744        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SharpeningEnable as *const _ as usize },
9745        1304usize,
9746        concat!(
9747            "Offset of field: ",
9748            stringify!(_quickSpin),
9749            "::",
9750            stringify!(SharpeningEnable)
9751        )
9752    );
9753    assert_eq!(
9754        unsafe { &(*(::std::ptr::null::<_quickSpin>())).BlackLevelSelector as *const _ as usize },
9755        1312usize,
9756        concat!(
9757            "Offset of field: ",
9758            stringify!(_quickSpin),
9759            "::",
9760            stringify!(BlackLevelSelector)
9761        )
9762    );
9763    assert_eq!(
9764        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GammaEnable as *const _ as usize },
9765        1320usize,
9766        concat!(
9767            "Offset of field: ",
9768            stringify!(_quickSpin),
9769            "::",
9770            stringify!(GammaEnable)
9771        )
9772    );
9773    assert_eq!(
9774        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SharpeningAuto as *const _ as usize },
9775        1328usize,
9776        concat!(
9777            "Offset of field: ",
9778            stringify!(_quickSpin),
9779            "::",
9780            stringify!(SharpeningAuto)
9781        )
9782    );
9783    assert_eq!(
9784        unsafe {
9785            &(*(::std::ptr::null::<_quickSpin>())).BlackLevelClampingEnable as *const _ as usize
9786        },
9787        1336usize,
9788        concat!(
9789            "Offset of field: ",
9790            stringify!(_quickSpin),
9791            "::",
9792            stringify!(BlackLevelClampingEnable)
9793        )
9794    );
9795    assert_eq!(
9796        unsafe { &(*(::std::ptr::null::<_quickSpin>())).BalanceRatio as *const _ as usize },
9797        1344usize,
9798        concat!(
9799            "Offset of field: ",
9800            stringify!(_quickSpin),
9801            "::",
9802            stringify!(BalanceRatio)
9803        )
9804    );
9805    assert_eq!(
9806        unsafe { &(*(::std::ptr::null::<_quickSpin>())).BalanceWhiteAuto as *const _ as usize },
9807        1352usize,
9808        concat!(
9809            "Offset of field: ",
9810            stringify!(_quickSpin),
9811            "::",
9812            stringify!(BalanceWhiteAuto)
9813        )
9814    );
9815    assert_eq!(
9816        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SharpeningThreshold as *const _ as usize },
9817        1360usize,
9818        concat!(
9819            "Offset of field: ",
9820            stringify!(_quickSpin),
9821            "::",
9822            stringify!(SharpeningThreshold)
9823        )
9824    );
9825    assert_eq!(
9826        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GainAuto as *const _ as usize },
9827        1368usize,
9828        concat!(
9829            "Offset of field: ",
9830            stringify!(_quickSpin),
9831            "::",
9832            stringify!(GainAuto)
9833        )
9834    );
9835    assert_eq!(
9836        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Sharpening as *const _ as usize },
9837        1376usize,
9838        concat!(
9839            "Offset of field: ",
9840            stringify!(_quickSpin),
9841            "::",
9842            stringify!(Sharpening)
9843        )
9844    );
9845    assert_eq!(
9846        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Gain as *const _ as usize },
9847        1384usize,
9848        concat!(
9849            "Offset of field: ",
9850            stringify!(_quickSpin),
9851            "::",
9852            stringify!(Gain)
9853        )
9854    );
9855    assert_eq!(
9856        unsafe { &(*(::std::ptr::null::<_quickSpin>())).BalanceRatioSelector as *const _ as usize },
9857        1392usize,
9858        concat!(
9859            "Offset of field: ",
9860            stringify!(_quickSpin),
9861            "::",
9862            stringify!(BalanceRatioSelector)
9863        )
9864    );
9865    assert_eq!(
9866        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GainSelector as *const _ as usize },
9867        1400usize,
9868        concat!(
9869            "Offset of field: ",
9870            stringify!(_quickSpin),
9871            "::",
9872            stringify!(GainSelector)
9873        )
9874    );
9875    assert_eq!(
9876        unsafe { &(*(::std::ptr::null::<_quickSpin>())).BlackLevel as *const _ as usize },
9877        1408usize,
9878        concat!(
9879            "Offset of field: ",
9880            stringify!(_quickSpin),
9881            "::",
9882            stringify!(BlackLevel)
9883        )
9884    );
9885    assert_eq!(
9886        unsafe { &(*(::std::ptr::null::<_quickSpin>())).BlackLevelRaw as *const _ as usize },
9887        1416usize,
9888        concat!(
9889            "Offset of field: ",
9890            stringify!(_quickSpin),
9891            "::",
9892            stringify!(BlackLevelRaw)
9893        )
9894    );
9895    assert_eq!(
9896        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Gamma as *const _ as usize },
9897        1424usize,
9898        concat!(
9899            "Offset of field: ",
9900            stringify!(_quickSpin),
9901            "::",
9902            stringify!(Gamma)
9903        )
9904    );
9905    assert_eq!(
9906        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DefectTableIndex as *const _ as usize },
9907        1432usize,
9908        concat!(
9909            "Offset of field: ",
9910            stringify!(_quickSpin),
9911            "::",
9912            stringify!(DefectTableIndex)
9913        )
9914    );
9915    assert_eq!(
9916        unsafe {
9917            &(*(::std::ptr::null::<_quickSpin>())).DefectTableFactoryRestore as *const _ as usize
9918        },
9919        1440usize,
9920        concat!(
9921            "Offset of field: ",
9922            stringify!(_quickSpin),
9923            "::",
9924            stringify!(DefectTableFactoryRestore)
9925        )
9926    );
9927    assert_eq!(
9928        unsafe {
9929            &(*(::std::ptr::null::<_quickSpin>())).DefectTableCoordinateY as *const _ as usize
9930        },
9931        1448usize,
9932        concat!(
9933            "Offset of field: ",
9934            stringify!(_quickSpin),
9935            "::",
9936            stringify!(DefectTableCoordinateY)
9937        )
9938    );
9939    assert_eq!(
9940        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DefectTableSave as *const _ as usize },
9941        1456usize,
9942        concat!(
9943            "Offset of field: ",
9944            stringify!(_quickSpin),
9945            "::",
9946            stringify!(DefectTableSave)
9947        )
9948    );
9949    assert_eq!(
9950        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DefectCorrectionMode as *const _ as usize },
9951        1464usize,
9952        concat!(
9953            "Offset of field: ",
9954            stringify!(_quickSpin),
9955            "::",
9956            stringify!(DefectCorrectionMode)
9957        )
9958    );
9959    assert_eq!(
9960        unsafe {
9961            &(*(::std::ptr::null::<_quickSpin>())).DefectTableCoordinateX as *const _ as usize
9962        },
9963        1472usize,
9964        concat!(
9965            "Offset of field: ",
9966            stringify!(_quickSpin),
9967            "::",
9968            stringify!(DefectTableCoordinateX)
9969        )
9970    );
9971    assert_eq!(
9972        unsafe {
9973            &(*(::std::ptr::null::<_quickSpin>())).DefectTablePixelCount as *const _ as usize
9974        },
9975        1480usize,
9976        concat!(
9977            "Offset of field: ",
9978            stringify!(_quickSpin),
9979            "::",
9980            stringify!(DefectTablePixelCount)
9981        )
9982    );
9983    assert_eq!(
9984        unsafe {
9985            &(*(::std::ptr::null::<_quickSpin>())).DefectCorrectStaticEnable as *const _ as usize
9986        },
9987        1488usize,
9988        concat!(
9989            "Offset of field: ",
9990            stringify!(_quickSpin),
9991            "::",
9992            stringify!(DefectCorrectStaticEnable)
9993        )
9994    );
9995    assert_eq!(
9996        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DefectTableApply as *const _ as usize },
9997        1496usize,
9998        concat!(
9999            "Offset of field: ",
10000            stringify!(_quickSpin),
10001            "::",
10002            stringify!(DefectTableApply)
10003        )
10004    );
10005    assert_eq!(
10006        unsafe { &(*(::std::ptr::null::<_quickSpin>())).UserSetFeatureEnable as *const _ as usize },
10007        1504usize,
10008        concat!(
10009            "Offset of field: ",
10010            stringify!(_quickSpin),
10011            "::",
10012            stringify!(UserSetFeatureEnable)
10013        )
10014    );
10015    assert_eq!(
10016        unsafe { &(*(::std::ptr::null::<_quickSpin>())).UserSetSave as *const _ as usize },
10017        1512usize,
10018        concat!(
10019            "Offset of field: ",
10020            stringify!(_quickSpin),
10021            "::",
10022            stringify!(UserSetSave)
10023        )
10024    );
10025    assert_eq!(
10026        unsafe { &(*(::std::ptr::null::<_quickSpin>())).UserSetSelector as *const _ as usize },
10027        1520usize,
10028        concat!(
10029            "Offset of field: ",
10030            stringify!(_quickSpin),
10031            "::",
10032            stringify!(UserSetSelector)
10033        )
10034    );
10035    assert_eq!(
10036        unsafe { &(*(::std::ptr::null::<_quickSpin>())).UserSetLoad as *const _ as usize },
10037        1528usize,
10038        concat!(
10039            "Offset of field: ",
10040            stringify!(_quickSpin),
10041            "::",
10042            stringify!(UserSetLoad)
10043        )
10044    );
10045    assert_eq!(
10046        unsafe { &(*(::std::ptr::null::<_quickSpin>())).UserSetDefault as *const _ as usize },
10047        1536usize,
10048        concat!(
10049            "Offset of field: ",
10050            stringify!(_quickSpin),
10051            "::",
10052            stringify!(UserSetDefault)
10053        )
10054    );
10055    assert_eq!(
10056        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SerialPortBaudRate as *const _ as usize },
10057        1544usize,
10058        concat!(
10059            "Offset of field: ",
10060            stringify!(_quickSpin),
10061            "::",
10062            stringify!(SerialPortBaudRate)
10063        )
10064    );
10065    assert_eq!(
10066        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SerialPortDataBits as *const _ as usize },
10067        1552usize,
10068        concat!(
10069            "Offset of field: ",
10070            stringify!(_quickSpin),
10071            "::",
10072            stringify!(SerialPortDataBits)
10073        )
10074    );
10075    assert_eq!(
10076        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SerialPortParity as *const _ as usize },
10077        1560usize,
10078        concat!(
10079            "Offset of field: ",
10080            stringify!(_quickSpin),
10081            "::",
10082            stringify!(SerialPortParity)
10083        )
10084    );
10085    assert_eq!(
10086        unsafe {
10087            &(*(::std::ptr::null::<_quickSpin>())).SerialTransmitQueueMaxCharacterCount as *const _
10088                as usize
10089        },
10090        1568usize,
10091        concat!(
10092            "Offset of field: ",
10093            stringify!(_quickSpin),
10094            "::",
10095            stringify!(SerialTransmitQueueMaxCharacterCount)
10096        )
10097    );
10098    assert_eq!(
10099        unsafe {
10100            &(*(::std::ptr::null::<_quickSpin>())).SerialReceiveQueueCurrentCharacterCount
10101                as *const _ as usize
10102        },
10103        1576usize,
10104        concat!(
10105            "Offset of field: ",
10106            stringify!(_quickSpin),
10107            "::",
10108            stringify!(SerialReceiveQueueCurrentCharacterCount)
10109        )
10110    );
10111    assert_eq!(
10112        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SerialPortSelector as *const _ as usize },
10113        1584usize,
10114        concat!(
10115            "Offset of field: ",
10116            stringify!(_quickSpin),
10117            "::",
10118            stringify!(SerialPortSelector)
10119        )
10120    );
10121    assert_eq!(
10122        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SerialPortStopBits as *const _ as usize },
10123        1592usize,
10124        concat!(
10125            "Offset of field: ",
10126            stringify!(_quickSpin),
10127            "::",
10128            stringify!(SerialPortStopBits)
10129        )
10130    );
10131    assert_eq!(
10132        unsafe {
10133            &(*(::std::ptr::null::<_quickSpin>())).SerialReceiveQueueClear as *const _ as usize
10134        },
10135        1600usize,
10136        concat!(
10137            "Offset of field: ",
10138            stringify!(_quickSpin),
10139            "::",
10140            stringify!(SerialReceiveQueueClear)
10141        )
10142    );
10143    assert_eq!(
10144        unsafe {
10145            &(*(::std::ptr::null::<_quickSpin>())).SerialReceiveFramingErrorCount as *const _
10146                as usize
10147        },
10148        1608usize,
10149        concat!(
10150            "Offset of field: ",
10151            stringify!(_quickSpin),
10152            "::",
10153            stringify!(SerialReceiveFramingErrorCount)
10154        )
10155    );
10156    assert_eq!(
10157        unsafe {
10158            &(*(::std::ptr::null::<_quickSpin>())).SerialTransmitQueueCurrentCharacterCount
10159                as *const _ as usize
10160        },
10161        1616usize,
10162        concat!(
10163            "Offset of field: ",
10164            stringify!(_quickSpin),
10165            "::",
10166            stringify!(SerialTransmitQueueCurrentCharacterCount)
10167        )
10168    );
10169    assert_eq!(
10170        unsafe {
10171            &(*(::std::ptr::null::<_quickSpin>())).SerialReceiveParityErrorCount as *const _
10172                as usize
10173        },
10174        1624usize,
10175        concat!(
10176            "Offset of field: ",
10177            stringify!(_quickSpin),
10178            "::",
10179            stringify!(SerialReceiveParityErrorCount)
10180        )
10181    );
10182    assert_eq!(
10183        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SerialPortSource as *const _ as usize },
10184        1632usize,
10185        concat!(
10186            "Offset of field: ",
10187            stringify!(_quickSpin),
10188            "::",
10189            stringify!(SerialPortSource)
10190        )
10191    );
10192    assert_eq!(
10193        unsafe {
10194            &(*(::std::ptr::null::<_quickSpin>())).SerialReceiveQueueMaxCharacterCount as *const _
10195                as usize
10196        },
10197        1640usize,
10198        concat!(
10199            "Offset of field: ",
10200            stringify!(_quickSpin),
10201            "::",
10202            stringify!(SerialReceiveQueueMaxCharacterCount)
10203        )
10204    );
10205    assert_eq!(
10206        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SequencerSetStart as *const _ as usize },
10207        1648usize,
10208        concat!(
10209            "Offset of field: ",
10210            stringify!(_quickSpin),
10211            "::",
10212            stringify!(SequencerSetStart)
10213        )
10214    );
10215    assert_eq!(
10216        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SequencerMode as *const _ as usize },
10217        1656usize,
10218        concat!(
10219            "Offset of field: ",
10220            stringify!(_quickSpin),
10221            "::",
10222            stringify!(SequencerMode)
10223        )
10224    );
10225    assert_eq!(
10226        unsafe {
10227            &(*(::std::ptr::null::<_quickSpin>())).SequencerConfigurationValid as *const _ as usize
10228        },
10229        1664usize,
10230        concat!(
10231            "Offset of field: ",
10232            stringify!(_quickSpin),
10233            "::",
10234            stringify!(SequencerConfigurationValid)
10235        )
10236    );
10237    assert_eq!(
10238        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SequencerSetValid as *const _ as usize },
10239        1672usize,
10240        concat!(
10241            "Offset of field: ",
10242            stringify!(_quickSpin),
10243            "::",
10244            stringify!(SequencerSetValid)
10245        )
10246    );
10247    assert_eq!(
10248        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SequencerSetSelector as *const _ as usize },
10249        1680usize,
10250        concat!(
10251            "Offset of field: ",
10252            stringify!(_quickSpin),
10253            "::",
10254            stringify!(SequencerSetSelector)
10255        )
10256    );
10257    assert_eq!(
10258        unsafe {
10259            &(*(::std::ptr::null::<_quickSpin>())).SequencerTriggerActivation as *const _ as usize
10260        },
10261        1688usize,
10262        concat!(
10263            "Offset of field: ",
10264            stringify!(_quickSpin),
10265            "::",
10266            stringify!(SequencerTriggerActivation)
10267        )
10268    );
10269    assert_eq!(
10270        unsafe {
10271            &(*(::std::ptr::null::<_quickSpin>())).SequencerConfigurationMode as *const _ as usize
10272        },
10273        1696usize,
10274        concat!(
10275            "Offset of field: ",
10276            stringify!(_quickSpin),
10277            "::",
10278            stringify!(SequencerConfigurationMode)
10279        )
10280    );
10281    assert_eq!(
10282        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SequencerSetSave as *const _ as usize },
10283        1704usize,
10284        concat!(
10285            "Offset of field: ",
10286            stringify!(_quickSpin),
10287            "::",
10288            stringify!(SequencerSetSave)
10289        )
10290    );
10291    assert_eq!(
10292        unsafe {
10293            &(*(::std::ptr::null::<_quickSpin>())).SequencerTriggerSource as *const _ as usize
10294        },
10295        1712usize,
10296        concat!(
10297            "Offset of field: ",
10298            stringify!(_quickSpin),
10299            "::",
10300            stringify!(SequencerTriggerSource)
10301        )
10302    );
10303    assert_eq!(
10304        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SequencerSetActive as *const _ as usize },
10305        1720usize,
10306        concat!(
10307            "Offset of field: ",
10308            stringify!(_quickSpin),
10309            "::",
10310            stringify!(SequencerSetActive)
10311        )
10312    );
10313    assert_eq!(
10314        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SequencerSetNext as *const _ as usize },
10315        1728usize,
10316        concat!(
10317            "Offset of field: ",
10318            stringify!(_quickSpin),
10319            "::",
10320            stringify!(SequencerSetNext)
10321        )
10322    );
10323    assert_eq!(
10324        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SequencerSetLoad as *const _ as usize },
10325        1736usize,
10326        concat!(
10327            "Offset of field: ",
10328            stringify!(_quickSpin),
10329            "::",
10330            stringify!(SequencerSetLoad)
10331        )
10332    );
10333    assert_eq!(
10334        unsafe {
10335            &(*(::std::ptr::null::<_quickSpin>())).SequencerPathSelector as *const _ as usize
10336        },
10337        1744usize,
10338        concat!(
10339            "Offset of field: ",
10340            stringify!(_quickSpin),
10341            "::",
10342            stringify!(SequencerPathSelector)
10343        )
10344    );
10345    assert_eq!(
10346        unsafe {
10347            &(*(::std::ptr::null::<_quickSpin>())).SequencerFeatureEnable as *const _ as usize
10348        },
10349        1752usize,
10350        concat!(
10351            "Offset of field: ",
10352            stringify!(_quickSpin),
10353            "::",
10354            stringify!(SequencerFeatureEnable)
10355        )
10356    );
10357    assert_eq!(
10358        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TransferBlockCount as *const _ as usize },
10359        1760usize,
10360        concat!(
10361            "Offset of field: ",
10362            stringify!(_quickSpin),
10363            "::",
10364            stringify!(TransferBlockCount)
10365        )
10366    );
10367    assert_eq!(
10368        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TransferStart as *const _ as usize },
10369        1768usize,
10370        concat!(
10371            "Offset of field: ",
10372            stringify!(_quickSpin),
10373            "::",
10374            stringify!(TransferStart)
10375        )
10376    );
10377    assert_eq!(
10378        unsafe {
10379            &(*(::std::ptr::null::<_quickSpin>())).TransferQueueMaxBlockCount as *const _ as usize
10380        },
10381        1776usize,
10382        concat!(
10383            "Offset of field: ",
10384            stringify!(_quickSpin),
10385            "::",
10386            stringify!(TransferQueueMaxBlockCount)
10387        )
10388    );
10389    assert_eq!(
10390        unsafe {
10391            &(*(::std::ptr::null::<_quickSpin>())).TransferQueueCurrentBlockCount as *const _
10392                as usize
10393        },
10394        1784usize,
10395        concat!(
10396            "Offset of field: ",
10397            stringify!(_quickSpin),
10398            "::",
10399            stringify!(TransferQueueCurrentBlockCount)
10400        )
10401    );
10402    assert_eq!(
10403        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TransferQueueMode as *const _ as usize },
10404        1792usize,
10405        concat!(
10406            "Offset of field: ",
10407            stringify!(_quickSpin),
10408            "::",
10409            stringify!(TransferQueueMode)
10410        )
10411    );
10412    assert_eq!(
10413        unsafe {
10414            &(*(::std::ptr::null::<_quickSpin>())).TransferOperationMode as *const _ as usize
10415        },
10416        1800usize,
10417        concat!(
10418            "Offset of field: ",
10419            stringify!(_quickSpin),
10420            "::",
10421            stringify!(TransferOperationMode)
10422        )
10423    );
10424    assert_eq!(
10425        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TransferStop as *const _ as usize },
10426        1808usize,
10427        concat!(
10428            "Offset of field: ",
10429            stringify!(_quickSpin),
10430            "::",
10431            stringify!(TransferStop)
10432        )
10433    );
10434    assert_eq!(
10435        unsafe {
10436            &(*(::std::ptr::null::<_quickSpin>())).TransferQueueOverflowCount as *const _ as usize
10437        },
10438        1816usize,
10439        concat!(
10440            "Offset of field: ",
10441            stringify!(_quickSpin),
10442            "::",
10443            stringify!(TransferQueueOverflowCount)
10444        )
10445    );
10446    assert_eq!(
10447        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TransferControlMode as *const _ as usize },
10448        1824usize,
10449        concat!(
10450            "Offset of field: ",
10451            stringify!(_quickSpin),
10452            "::",
10453            stringify!(TransferControlMode)
10454        )
10455    );
10456    assert_eq!(
10457        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkBlackLevel as *const _ as usize },
10458        1832usize,
10459        concat!(
10460            "Offset of field: ",
10461            stringify!(_quickSpin),
10462            "::",
10463            stringify!(ChunkBlackLevel)
10464        )
10465    );
10466    assert_eq!(
10467        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkFrameID as *const _ as usize },
10468        1840usize,
10469        concat!(
10470            "Offset of field: ",
10471            stringify!(_quickSpin),
10472            "::",
10473            stringify!(ChunkFrameID)
10474        )
10475    );
10476    assert_eq!(
10477        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkSerialData as *const _ as usize },
10478        1848usize,
10479        concat!(
10480            "Offset of field: ",
10481            stringify!(_quickSpin),
10482            "::",
10483            stringify!(ChunkSerialData)
10484        )
10485    );
10486    assert_eq!(
10487        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkExposureTime as *const _ as usize },
10488        1856usize,
10489        concat!(
10490            "Offset of field: ",
10491            stringify!(_quickSpin),
10492            "::",
10493            stringify!(ChunkExposureTime)
10494        )
10495    );
10496    assert_eq!(
10497        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkCompressionMode as *const _ as usize },
10498        1864usize,
10499        concat!(
10500            "Offset of field: ",
10501            stringify!(_quickSpin),
10502            "::",
10503            stringify!(ChunkCompressionMode)
10504        )
10505    );
10506    assert_eq!(
10507        unsafe {
10508            &(*(::std::ptr::null::<_quickSpin>())).ChunkCompressionRatio as *const _ as usize
10509        },
10510        1872usize,
10511        concat!(
10512            "Offset of field: ",
10513            stringify!(_quickSpin),
10514            "::",
10515            stringify!(ChunkCompressionRatio)
10516        )
10517    );
10518    assert_eq!(
10519        unsafe {
10520            &(*(::std::ptr::null::<_quickSpin>())).ChunkSerialReceiveOverflow as *const _ as usize
10521        },
10522        1880usize,
10523        concat!(
10524            "Offset of field: ",
10525            stringify!(_quickSpin),
10526            "::",
10527            stringify!(ChunkSerialReceiveOverflow)
10528        )
10529    );
10530    assert_eq!(
10531        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkTimestamp as *const _ as usize },
10532        1888usize,
10533        concat!(
10534            "Offset of field: ",
10535            stringify!(_quickSpin),
10536            "::",
10537            stringify!(ChunkTimestamp)
10538        )
10539    );
10540    assert_eq!(
10541        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkModeActive as *const _ as usize },
10542        1896usize,
10543        concat!(
10544            "Offset of field: ",
10545            stringify!(_quickSpin),
10546            "::",
10547            stringify!(ChunkModeActive)
10548        )
10549    );
10550    assert_eq!(
10551        unsafe {
10552            &(*(::std::ptr::null::<_quickSpin>())).ChunkExposureEndLineStatusAll as *const _
10553                as usize
10554        },
10555        1904usize,
10556        concat!(
10557            "Offset of field: ",
10558            stringify!(_quickSpin),
10559            "::",
10560            stringify!(ChunkExposureEndLineStatusAll)
10561        )
10562    );
10563    assert_eq!(
10564        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkGainSelector as *const _ as usize },
10565        1912usize,
10566        concat!(
10567            "Offset of field: ",
10568            stringify!(_quickSpin),
10569            "::",
10570            stringify!(ChunkGainSelector)
10571        )
10572    );
10573    assert_eq!(
10574        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkSelector as *const _ as usize },
10575        1920usize,
10576        concat!(
10577            "Offset of field: ",
10578            stringify!(_quickSpin),
10579            "::",
10580            stringify!(ChunkSelector)
10581        )
10582    );
10583    assert_eq!(
10584        unsafe {
10585            &(*(::std::ptr::null::<_quickSpin>())).ChunkBlackLevelSelector as *const _ as usize
10586        },
10587        1928usize,
10588        concat!(
10589            "Offset of field: ",
10590            stringify!(_quickSpin),
10591            "::",
10592            stringify!(ChunkBlackLevelSelector)
10593        )
10594    );
10595    assert_eq!(
10596        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkWidth as *const _ as usize },
10597        1936usize,
10598        concat!(
10599            "Offset of field: ",
10600            stringify!(_quickSpin),
10601            "::",
10602            stringify!(ChunkWidth)
10603        )
10604    );
10605    assert_eq!(
10606        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkImage as *const _ as usize },
10607        1944usize,
10608        concat!(
10609            "Offset of field: ",
10610            stringify!(_quickSpin),
10611            "::",
10612            stringify!(ChunkImage)
10613        )
10614    );
10615    assert_eq!(
10616        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkHeight as *const _ as usize },
10617        1952usize,
10618        concat!(
10619            "Offset of field: ",
10620            stringify!(_quickSpin),
10621            "::",
10622            stringify!(ChunkHeight)
10623        )
10624    );
10625    assert_eq!(
10626        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkPixelFormat as *const _ as usize },
10627        1960usize,
10628        concat!(
10629            "Offset of field: ",
10630            stringify!(_quickSpin),
10631            "::",
10632            stringify!(ChunkPixelFormat)
10633        )
10634    );
10635    assert_eq!(
10636        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkGain as *const _ as usize },
10637        1968usize,
10638        concat!(
10639            "Offset of field: ",
10640            stringify!(_quickSpin),
10641            "::",
10642            stringify!(ChunkGain)
10643        )
10644    );
10645    assert_eq!(
10646        unsafe {
10647            &(*(::std::ptr::null::<_quickSpin>())).ChunkSequencerSetActive as *const _ as usize
10648        },
10649        1976usize,
10650        concat!(
10651            "Offset of field: ",
10652            stringify!(_quickSpin),
10653            "::",
10654            stringify!(ChunkSequencerSetActive)
10655        )
10656    );
10657    assert_eq!(
10658        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkCRC as *const _ as usize },
10659        1984usize,
10660        concat!(
10661            "Offset of field: ",
10662            stringify!(_quickSpin),
10663            "::",
10664            stringify!(ChunkCRC)
10665        )
10666    );
10667    assert_eq!(
10668        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkOffsetX as *const _ as usize },
10669        1992usize,
10670        concat!(
10671            "Offset of field: ",
10672            stringify!(_quickSpin),
10673            "::",
10674            stringify!(ChunkOffsetX)
10675        )
10676    );
10677    assert_eq!(
10678        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkOffsetY as *const _ as usize },
10679        2000usize,
10680        concat!(
10681            "Offset of field: ",
10682            stringify!(_quickSpin),
10683            "::",
10684            stringify!(ChunkOffsetY)
10685        )
10686    );
10687    assert_eq!(
10688        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkEnable as *const _ as usize },
10689        2008usize,
10690        concat!(
10691            "Offset of field: ",
10692            stringify!(_quickSpin),
10693            "::",
10694            stringify!(ChunkEnable)
10695        )
10696    );
10697    assert_eq!(
10698        unsafe {
10699            &(*(::std::ptr::null::<_quickSpin>())).ChunkSerialDataLength as *const _ as usize
10700        },
10701        2016usize,
10702        concat!(
10703            "Offset of field: ",
10704            stringify!(_quickSpin),
10705            "::",
10706            stringify!(ChunkSerialDataLength)
10707        )
10708    );
10709    assert_eq!(
10710        unsafe { &(*(::std::ptr::null::<_quickSpin>())).FileAccessOffset as *const _ as usize },
10711        2024usize,
10712        concat!(
10713            "Offset of field: ",
10714            stringify!(_quickSpin),
10715            "::",
10716            stringify!(FileAccessOffset)
10717        )
10718    );
10719    assert_eq!(
10720        unsafe { &(*(::std::ptr::null::<_quickSpin>())).FileAccessLength as *const _ as usize },
10721        2032usize,
10722        concat!(
10723            "Offset of field: ",
10724            stringify!(_quickSpin),
10725            "::",
10726            stringify!(FileAccessLength)
10727        )
10728    );
10729    assert_eq!(
10730        unsafe { &(*(::std::ptr::null::<_quickSpin>())).FileOperationStatus as *const _ as usize },
10731        2040usize,
10732        concat!(
10733            "Offset of field: ",
10734            stringify!(_quickSpin),
10735            "::",
10736            stringify!(FileOperationStatus)
10737        )
10738    );
10739    assert_eq!(
10740        unsafe { &(*(::std::ptr::null::<_quickSpin>())).FileOperationExecute as *const _ as usize },
10741        2048usize,
10742        concat!(
10743            "Offset of field: ",
10744            stringify!(_quickSpin),
10745            "::",
10746            stringify!(FileOperationExecute)
10747        )
10748    );
10749    assert_eq!(
10750        unsafe { &(*(::std::ptr::null::<_quickSpin>())).FileOpenMode as *const _ as usize },
10751        2056usize,
10752        concat!(
10753            "Offset of field: ",
10754            stringify!(_quickSpin),
10755            "::",
10756            stringify!(FileOpenMode)
10757        )
10758    );
10759    assert_eq!(
10760        unsafe { &(*(::std::ptr::null::<_quickSpin>())).FileOperationResult as *const _ as usize },
10761        2064usize,
10762        concat!(
10763            "Offset of field: ",
10764            stringify!(_quickSpin),
10765            "::",
10766            stringify!(FileOperationResult)
10767        )
10768    );
10769    assert_eq!(
10770        unsafe {
10771            &(*(::std::ptr::null::<_quickSpin>())).FileOperationSelector as *const _ as usize
10772        },
10773        2072usize,
10774        concat!(
10775            "Offset of field: ",
10776            stringify!(_quickSpin),
10777            "::",
10778            stringify!(FileOperationSelector)
10779        )
10780    );
10781    assert_eq!(
10782        unsafe { &(*(::std::ptr::null::<_quickSpin>())).FileSelector as *const _ as usize },
10783        2080usize,
10784        concat!(
10785            "Offset of field: ",
10786            stringify!(_quickSpin),
10787            "::",
10788            stringify!(FileSelector)
10789        )
10790    );
10791    assert_eq!(
10792        unsafe { &(*(::std::ptr::null::<_quickSpin>())).FileSize as *const _ as usize },
10793        2088usize,
10794        concat!(
10795            "Offset of field: ",
10796            stringify!(_quickSpin),
10797            "::",
10798            stringify!(FileSize)
10799        )
10800    );
10801    assert_eq!(
10802        unsafe { &(*(::std::ptr::null::<_quickSpin>())).BinningSelector as *const _ as usize },
10803        2096usize,
10804        concat!(
10805            "Offset of field: ",
10806            stringify!(_quickSpin),
10807            "::",
10808            stringify!(BinningSelector)
10809        )
10810    );
10811    assert_eq!(
10812        unsafe { &(*(::std::ptr::null::<_quickSpin>())).PixelDynamicRangeMin as *const _ as usize },
10813        2104usize,
10814        concat!(
10815            "Offset of field: ",
10816            stringify!(_quickSpin),
10817            "::",
10818            stringify!(PixelDynamicRangeMin)
10819        )
10820    );
10821    assert_eq!(
10822        unsafe { &(*(::std::ptr::null::<_quickSpin>())).PixelDynamicRangeMax as *const _ as usize },
10823        2112usize,
10824        concat!(
10825            "Offset of field: ",
10826            stringify!(_quickSpin),
10827            "::",
10828            stringify!(PixelDynamicRangeMax)
10829        )
10830    );
10831    assert_eq!(
10832        unsafe { &(*(::std::ptr::null::<_quickSpin>())).OffsetY as *const _ as usize },
10833        2120usize,
10834        concat!(
10835            "Offset of field: ",
10836            stringify!(_quickSpin),
10837            "::",
10838            stringify!(OffsetY)
10839        )
10840    );
10841    assert_eq!(
10842        unsafe { &(*(::std::ptr::null::<_quickSpin>())).BinningHorizontal as *const _ as usize },
10843        2128usize,
10844        concat!(
10845            "Offset of field: ",
10846            stringify!(_quickSpin),
10847            "::",
10848            stringify!(BinningHorizontal)
10849        )
10850    );
10851    assert_eq!(
10852        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Width as *const _ as usize },
10853        2136usize,
10854        concat!(
10855            "Offset of field: ",
10856            stringify!(_quickSpin),
10857            "::",
10858            stringify!(Width)
10859        )
10860    );
10861    assert_eq!(
10862        unsafe {
10863            &(*(::std::ptr::null::<_quickSpin>())).TestPatternGeneratorSelector as *const _ as usize
10864        },
10865        2144usize,
10866        concat!(
10867            "Offset of field: ",
10868            stringify!(_quickSpin),
10869            "::",
10870            stringify!(TestPatternGeneratorSelector)
10871        )
10872    );
10873    assert_eq!(
10874        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CompressionRatio as *const _ as usize },
10875        2152usize,
10876        concat!(
10877            "Offset of field: ",
10878            stringify!(_quickSpin),
10879            "::",
10880            stringify!(CompressionRatio)
10881        )
10882    );
10883    assert_eq!(
10884        unsafe {
10885            &(*(::std::ptr::null::<_quickSpin>())).CompressionSaturationPriority as *const _
10886                as usize
10887        },
10888        2160usize,
10889        concat!(
10890            "Offset of field: ",
10891            stringify!(_quickSpin),
10892            "::",
10893            stringify!(CompressionSaturationPriority)
10894        )
10895    );
10896    assert_eq!(
10897        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ReverseX as *const _ as usize },
10898        2168usize,
10899        concat!(
10900            "Offset of field: ",
10901            stringify!(_quickSpin),
10902            "::",
10903            stringify!(ReverseX)
10904        )
10905    );
10906    assert_eq!(
10907        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ReverseY as *const _ as usize },
10908        2176usize,
10909        concat!(
10910            "Offset of field: ",
10911            stringify!(_quickSpin),
10912            "::",
10913            stringify!(ReverseY)
10914        )
10915    );
10916    assert_eq!(
10917        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TestPattern as *const _ as usize },
10918        2184usize,
10919        concat!(
10920            "Offset of field: ",
10921            stringify!(_quickSpin),
10922            "::",
10923            stringify!(TestPattern)
10924        )
10925    );
10926    assert_eq!(
10927        unsafe { &(*(::std::ptr::null::<_quickSpin>())).PixelColorFilter as *const _ as usize },
10928        2192usize,
10929        concat!(
10930            "Offset of field: ",
10931            stringify!(_quickSpin),
10932            "::",
10933            stringify!(PixelColorFilter)
10934        )
10935    );
10936    assert_eq!(
10937        unsafe { &(*(::std::ptr::null::<_quickSpin>())).WidthMax as *const _ as usize },
10938        2200usize,
10939        concat!(
10940            "Offset of field: ",
10941            stringify!(_quickSpin),
10942            "::",
10943            stringify!(WidthMax)
10944        )
10945    );
10946    assert_eq!(
10947        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AdcBitDepth as *const _ as usize },
10948        2208usize,
10949        concat!(
10950            "Offset of field: ",
10951            stringify!(_quickSpin),
10952            "::",
10953            stringify!(AdcBitDepth)
10954        )
10955    );
10956    assert_eq!(
10957        unsafe { &(*(::std::ptr::null::<_quickSpin>())).BinningVertical as *const _ as usize },
10958        2216usize,
10959        concat!(
10960            "Offset of field: ",
10961            stringify!(_quickSpin),
10962            "::",
10963            stringify!(BinningVertical)
10964        )
10965    );
10966    assert_eq!(
10967        unsafe {
10968            &(*(::std::ptr::null::<_quickSpin>())).DecimationHorizontalMode as *const _ as usize
10969        },
10970        2224usize,
10971        concat!(
10972            "Offset of field: ",
10973            stringify!(_quickSpin),
10974            "::",
10975            stringify!(DecimationHorizontalMode)
10976        )
10977    );
10978    assert_eq!(
10979        unsafe { &(*(::std::ptr::null::<_quickSpin>())).BinningVerticalMode as *const _ as usize },
10980        2232usize,
10981        concat!(
10982            "Offset of field: ",
10983            stringify!(_quickSpin),
10984            "::",
10985            stringify!(BinningVerticalMode)
10986        )
10987    );
10988    assert_eq!(
10989        unsafe { &(*(::std::ptr::null::<_quickSpin>())).OffsetX as *const _ as usize },
10990        2240usize,
10991        concat!(
10992            "Offset of field: ",
10993            stringify!(_quickSpin),
10994            "::",
10995            stringify!(OffsetX)
10996        )
10997    );
10998    assert_eq!(
10999        unsafe { &(*(::std::ptr::null::<_quickSpin>())).HeightMax as *const _ as usize },
11000        2248usize,
11001        concat!(
11002            "Offset of field: ",
11003            stringify!(_quickSpin),
11004            "::",
11005            stringify!(HeightMax)
11006        )
11007    );
11008    assert_eq!(
11009        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DecimationHorizontal as *const _ as usize },
11010        2256usize,
11011        concat!(
11012            "Offset of field: ",
11013            stringify!(_quickSpin),
11014            "::",
11015            stringify!(DecimationHorizontal)
11016        )
11017    );
11018    assert_eq!(
11019        unsafe { &(*(::std::ptr::null::<_quickSpin>())).PixelSize as *const _ as usize },
11020        2264usize,
11021        concat!(
11022            "Offset of field: ",
11023            stringify!(_quickSpin),
11024            "::",
11025            stringify!(PixelSize)
11026        )
11027    );
11028    assert_eq!(
11029        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SensorHeight as *const _ as usize },
11030        2272usize,
11031        concat!(
11032            "Offset of field: ",
11033            stringify!(_quickSpin),
11034            "::",
11035            stringify!(SensorHeight)
11036        )
11037    );
11038    assert_eq!(
11039        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DecimationSelector as *const _ as usize },
11040        2280usize,
11041        concat!(
11042            "Offset of field: ",
11043            stringify!(_quickSpin),
11044            "::",
11045            stringify!(DecimationSelector)
11046        )
11047    );
11048    assert_eq!(
11049        unsafe { &(*(::std::ptr::null::<_quickSpin>())).IspEnable as *const _ as usize },
11050        2288usize,
11051        concat!(
11052            "Offset of field: ",
11053            stringify!(_quickSpin),
11054            "::",
11055            stringify!(IspEnable)
11056        )
11057    );
11058    assert_eq!(
11059        unsafe {
11060            &(*(::std::ptr::null::<_quickSpin>())).AdaptiveCompressionEnable as *const _ as usize
11061        },
11062        2296usize,
11063        concat!(
11064            "Offset of field: ",
11065            stringify!(_quickSpin),
11066            "::",
11067            stringify!(AdaptiveCompressionEnable)
11068        )
11069    );
11070    assert_eq!(
11071        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ImageCompressionMode as *const _ as usize },
11072        2304usize,
11073        concat!(
11074            "Offset of field: ",
11075            stringify!(_quickSpin),
11076            "::",
11077            stringify!(ImageCompressionMode)
11078        )
11079    );
11080    assert_eq!(
11081        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DecimationVertical as *const _ as usize },
11082        2312usize,
11083        concat!(
11084            "Offset of field: ",
11085            stringify!(_quickSpin),
11086            "::",
11087            stringify!(DecimationVertical)
11088        )
11089    );
11090    assert_eq!(
11091        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Height as *const _ as usize },
11092        2320usize,
11093        concat!(
11094            "Offset of field: ",
11095            stringify!(_quickSpin),
11096            "::",
11097            stringify!(Height)
11098        )
11099    );
11100    assert_eq!(
11101        unsafe {
11102            &(*(::std::ptr::null::<_quickSpin>())).BinningHorizontalMode as *const _ as usize
11103        },
11104        2328usize,
11105        concat!(
11106            "Offset of field: ",
11107            stringify!(_quickSpin),
11108            "::",
11109            stringify!(BinningHorizontalMode)
11110        )
11111    );
11112    assert_eq!(
11113        unsafe { &(*(::std::ptr::null::<_quickSpin>())).PixelFormat as *const _ as usize },
11114        2336usize,
11115        concat!(
11116            "Offset of field: ",
11117            stringify!(_quickSpin),
11118            "::",
11119            stringify!(PixelFormat)
11120        )
11121    );
11122    assert_eq!(
11123        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SensorWidth as *const _ as usize },
11124        2344usize,
11125        concat!(
11126            "Offset of field: ",
11127            stringify!(_quickSpin),
11128            "::",
11129            stringify!(SensorWidth)
11130        )
11131    );
11132    assert_eq!(
11133        unsafe {
11134            &(*(::std::ptr::null::<_quickSpin>())).DecimationVerticalMode as *const _ as usize
11135        },
11136        2352usize,
11137        concat!(
11138            "Offset of field: ",
11139            stringify!(_quickSpin),
11140            "::",
11141            stringify!(DecimationVerticalMode)
11142        )
11143    );
11144    assert_eq!(
11145        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TestEventGenerate as *const _ as usize },
11146        2360usize,
11147        concat!(
11148            "Offset of field: ",
11149            stringify!(_quickSpin),
11150            "::",
11151            stringify!(TestEventGenerate)
11152        )
11153    );
11154    assert_eq!(
11155        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TriggerEventTest as *const _ as usize },
11156        2368usize,
11157        concat!(
11158            "Offset of field: ",
11159            stringify!(_quickSpin),
11160            "::",
11161            stringify!(TriggerEventTest)
11162        )
11163    );
11164    assert_eq!(
11165        unsafe {
11166            &(*(::std::ptr::null::<_quickSpin>())).GuiXmlManifestAddress as *const _ as usize
11167        },
11168        2376usize,
11169        concat!(
11170            "Offset of field: ",
11171            stringify!(_quickSpin),
11172            "::",
11173            stringify!(GuiXmlManifestAddress)
11174        )
11175    );
11176    assert_eq!(
11177        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Test0001 as *const _ as usize },
11178        2384usize,
11179        concat!(
11180            "Offset of field: ",
11181            stringify!(_quickSpin),
11182            "::",
11183            stringify!(Test0001)
11184        )
11185    );
11186    assert_eq!(
11187        unsafe { &(*(::std::ptr::null::<_quickSpin>())).V3_3Enable as *const _ as usize },
11188        2392usize,
11189        concat!(
11190            "Offset of field: ",
11191            stringify!(_quickSpin),
11192            "::",
11193            stringify!(V3_3Enable)
11194        )
11195    );
11196    assert_eq!(
11197        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LineMode as *const _ as usize },
11198        2400usize,
11199        concat!(
11200            "Offset of field: ",
11201            stringify!(_quickSpin),
11202            "::",
11203            stringify!(LineMode)
11204        )
11205    );
11206    assert_eq!(
11207        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LineSource as *const _ as usize },
11208        2408usize,
11209        concat!(
11210            "Offset of field: ",
11211            stringify!(_quickSpin),
11212            "::",
11213            stringify!(LineSource)
11214        )
11215    );
11216    assert_eq!(
11217        unsafe {
11218            &(*(::std::ptr::null::<_quickSpin>())).LineInputFilterSelector as *const _ as usize
11219        },
11220        2416usize,
11221        concat!(
11222            "Offset of field: ",
11223            stringify!(_quickSpin),
11224            "::",
11225            stringify!(LineInputFilterSelector)
11226        )
11227    );
11228    assert_eq!(
11229        unsafe { &(*(::std::ptr::null::<_quickSpin>())).UserOutputValue as *const _ as usize },
11230        2424usize,
11231        concat!(
11232            "Offset of field: ",
11233            stringify!(_quickSpin),
11234            "::",
11235            stringify!(UserOutputValue)
11236        )
11237    );
11238    assert_eq!(
11239        unsafe { &(*(::std::ptr::null::<_quickSpin>())).UserOutputValueAll as *const _ as usize },
11240        2432usize,
11241        concat!(
11242            "Offset of field: ",
11243            stringify!(_quickSpin),
11244            "::",
11245            stringify!(UserOutputValueAll)
11246        )
11247    );
11248    assert_eq!(
11249        unsafe { &(*(::std::ptr::null::<_quickSpin>())).UserOutputSelector as *const _ as usize },
11250        2440usize,
11251        concat!(
11252            "Offset of field: ",
11253            stringify!(_quickSpin),
11254            "::",
11255            stringify!(UserOutputSelector)
11256        )
11257    );
11258    assert_eq!(
11259        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LineStatus as *const _ as usize },
11260        2448usize,
11261        concat!(
11262            "Offset of field: ",
11263            stringify!(_quickSpin),
11264            "::",
11265            stringify!(LineStatus)
11266        )
11267    );
11268    assert_eq!(
11269        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LineFormat as *const _ as usize },
11270        2456usize,
11271        concat!(
11272            "Offset of field: ",
11273            stringify!(_quickSpin),
11274            "::",
11275            stringify!(LineFormat)
11276        )
11277    );
11278    assert_eq!(
11279        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LineStatusAll as *const _ as usize },
11280        2464usize,
11281        concat!(
11282            "Offset of field: ",
11283            stringify!(_quickSpin),
11284            "::",
11285            stringify!(LineStatusAll)
11286        )
11287    );
11288    assert_eq!(
11289        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LineSelector as *const _ as usize },
11290        2472usize,
11291        concat!(
11292            "Offset of field: ",
11293            stringify!(_quickSpin),
11294            "::",
11295            stringify!(LineSelector)
11296        )
11297    );
11298    assert_eq!(
11299        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ExposureActiveMode as *const _ as usize },
11300        2480usize,
11301        concat!(
11302            "Offset of field: ",
11303            stringify!(_quickSpin),
11304            "::",
11305            stringify!(ExposureActiveMode)
11306        )
11307    );
11308    assert_eq!(
11309        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LineInverter as *const _ as usize },
11310        2488usize,
11311        concat!(
11312            "Offset of field: ",
11313            stringify!(_quickSpin),
11314            "::",
11315            stringify!(LineInverter)
11316        )
11317    );
11318    assert_eq!(
11319        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LineFilterWidth as *const _ as usize },
11320        2496usize,
11321        concat!(
11322            "Offset of field: ",
11323            stringify!(_quickSpin),
11324            "::",
11325            stringify!(LineFilterWidth)
11326        )
11327    );
11328    assert_eq!(
11329        unsafe {
11330            &(*(::std::ptr::null::<_quickSpin>())).CounterTriggerActivation as *const _ as usize
11331        },
11332        2504usize,
11333        concat!(
11334            "Offset of field: ",
11335            stringify!(_quickSpin),
11336            "::",
11337            stringify!(CounterTriggerActivation)
11338        )
11339    );
11340    assert_eq!(
11341        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CounterValue as *const _ as usize },
11342        2512usize,
11343        concat!(
11344            "Offset of field: ",
11345            stringify!(_quickSpin),
11346            "::",
11347            stringify!(CounterValue)
11348        )
11349    );
11350    assert_eq!(
11351        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CounterSelector as *const _ as usize },
11352        2520usize,
11353        concat!(
11354            "Offset of field: ",
11355            stringify!(_quickSpin),
11356            "::",
11357            stringify!(CounterSelector)
11358        )
11359    );
11360    assert_eq!(
11361        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CounterValueAtReset as *const _ as usize },
11362        2528usize,
11363        concat!(
11364            "Offset of field: ",
11365            stringify!(_quickSpin),
11366            "::",
11367            stringify!(CounterValueAtReset)
11368        )
11369    );
11370    assert_eq!(
11371        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CounterStatus as *const _ as usize },
11372        2536usize,
11373        concat!(
11374            "Offset of field: ",
11375            stringify!(_quickSpin),
11376            "::",
11377            stringify!(CounterStatus)
11378        )
11379    );
11380    assert_eq!(
11381        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CounterTriggerSource as *const _ as usize },
11382        2544usize,
11383        concat!(
11384            "Offset of field: ",
11385            stringify!(_quickSpin),
11386            "::",
11387            stringify!(CounterTriggerSource)
11388        )
11389    );
11390    assert_eq!(
11391        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CounterDelay as *const _ as usize },
11392        2552usize,
11393        concat!(
11394            "Offset of field: ",
11395            stringify!(_quickSpin),
11396            "::",
11397            stringify!(CounterDelay)
11398        )
11399    );
11400    assert_eq!(
11401        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CounterResetSource as *const _ as usize },
11402        2560usize,
11403        concat!(
11404            "Offset of field: ",
11405            stringify!(_quickSpin),
11406            "::",
11407            stringify!(CounterResetSource)
11408        )
11409    );
11410    assert_eq!(
11411        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CounterEventSource as *const _ as usize },
11412        2568usize,
11413        concat!(
11414            "Offset of field: ",
11415            stringify!(_quickSpin),
11416            "::",
11417            stringify!(CounterEventSource)
11418        )
11419    );
11420    assert_eq!(
11421        unsafe {
11422            &(*(::std::ptr::null::<_quickSpin>())).CounterEventActivation as *const _ as usize
11423        },
11424        2576usize,
11425        concat!(
11426            "Offset of field: ",
11427            stringify!(_quickSpin),
11428            "::",
11429            stringify!(CounterEventActivation)
11430        )
11431    );
11432    assert_eq!(
11433        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CounterDuration as *const _ as usize },
11434        2584usize,
11435        concat!(
11436            "Offset of field: ",
11437            stringify!(_quickSpin),
11438            "::",
11439            stringify!(CounterDuration)
11440        )
11441    );
11442    assert_eq!(
11443        unsafe {
11444            &(*(::std::ptr::null::<_quickSpin>())).CounterResetActivation as *const _ as usize
11445        },
11446        2592usize,
11447        concat!(
11448            "Offset of field: ",
11449            stringify!(_quickSpin),
11450            "::",
11451            stringify!(CounterResetActivation)
11452        )
11453    );
11454    assert_eq!(
11455        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceType as *const _ as usize },
11456        2600usize,
11457        concat!(
11458            "Offset of field: ",
11459            stringify!(_quickSpin),
11460            "::",
11461            stringify!(DeviceType)
11462        )
11463    );
11464    assert_eq!(
11465        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceFamilyName as *const _ as usize },
11466        2608usize,
11467        concat!(
11468            "Offset of field: ",
11469            stringify!(_quickSpin),
11470            "::",
11471            stringify!(DeviceFamilyName)
11472        )
11473    );
11474    assert_eq!(
11475        unsafe {
11476            &(*(::std::ptr::null::<_quickSpin>())).DeviceSFNCVersionMajor as *const _ as usize
11477        },
11478        2616usize,
11479        concat!(
11480            "Offset of field: ",
11481            stringify!(_quickSpin),
11482            "::",
11483            stringify!(DeviceSFNCVersionMajor)
11484        )
11485    );
11486    assert_eq!(
11487        unsafe {
11488            &(*(::std::ptr::null::<_quickSpin>())).DeviceSFNCVersionMinor as *const _ as usize
11489        },
11490        2624usize,
11491        concat!(
11492            "Offset of field: ",
11493            stringify!(_quickSpin),
11494            "::",
11495            stringify!(DeviceSFNCVersionMinor)
11496        )
11497    );
11498    assert_eq!(
11499        unsafe {
11500            &(*(::std::ptr::null::<_quickSpin>())).DeviceSFNCVersionSubMinor as *const _ as usize
11501        },
11502        2632usize,
11503        concat!(
11504            "Offset of field: ",
11505            stringify!(_quickSpin),
11506            "::",
11507            stringify!(DeviceSFNCVersionSubMinor)
11508        )
11509    );
11510    assert_eq!(
11511        unsafe {
11512            &(*(::std::ptr::null::<_quickSpin>())).DeviceManifestEntrySelector as *const _ as usize
11513        },
11514        2640usize,
11515        concat!(
11516            "Offset of field: ",
11517            stringify!(_quickSpin),
11518            "::",
11519            stringify!(DeviceManifestEntrySelector)
11520        )
11521    );
11522    assert_eq!(
11523        unsafe {
11524            &(*(::std::ptr::null::<_quickSpin>())).DeviceManifestXMLMajorVersion as *const _
11525                as usize
11526        },
11527        2648usize,
11528        concat!(
11529            "Offset of field: ",
11530            stringify!(_quickSpin),
11531            "::",
11532            stringify!(DeviceManifestXMLMajorVersion)
11533        )
11534    );
11535    assert_eq!(
11536        unsafe {
11537            &(*(::std::ptr::null::<_quickSpin>())).DeviceManifestXMLMinorVersion as *const _
11538                as usize
11539        },
11540        2656usize,
11541        concat!(
11542            "Offset of field: ",
11543            stringify!(_quickSpin),
11544            "::",
11545            stringify!(DeviceManifestXMLMinorVersion)
11546        )
11547    );
11548    assert_eq!(
11549        unsafe {
11550            &(*(::std::ptr::null::<_quickSpin>())).DeviceManifestXMLSubMinorVersion as *const _
11551                as usize
11552        },
11553        2664usize,
11554        concat!(
11555            "Offset of field: ",
11556            stringify!(_quickSpin),
11557            "::",
11558            stringify!(DeviceManifestXMLSubMinorVersion)
11559        )
11560    );
11561    assert_eq!(
11562        unsafe {
11563            &(*(::std::ptr::null::<_quickSpin>())).DeviceManifestSchemaMajorVersion as *const _
11564                as usize
11565        },
11566        2672usize,
11567        concat!(
11568            "Offset of field: ",
11569            stringify!(_quickSpin),
11570            "::",
11571            stringify!(DeviceManifestSchemaMajorVersion)
11572        )
11573    );
11574    assert_eq!(
11575        unsafe {
11576            &(*(::std::ptr::null::<_quickSpin>())).DeviceManifestSchemaMinorVersion as *const _
11577                as usize
11578        },
11579        2680usize,
11580        concat!(
11581            "Offset of field: ",
11582            stringify!(_quickSpin),
11583            "::",
11584            stringify!(DeviceManifestSchemaMinorVersion)
11585        )
11586    );
11587    assert_eq!(
11588        unsafe {
11589            &(*(::std::ptr::null::<_quickSpin>())).DeviceManifestPrimaryURL as *const _ as usize
11590        },
11591        2688usize,
11592        concat!(
11593            "Offset of field: ",
11594            stringify!(_quickSpin),
11595            "::",
11596            stringify!(DeviceManifestPrimaryURL)
11597        )
11598    );
11599    assert_eq!(
11600        unsafe {
11601            &(*(::std::ptr::null::<_quickSpin>())).DeviceManifestSecondaryURL as *const _ as usize
11602        },
11603        2696usize,
11604        concat!(
11605            "Offset of field: ",
11606            stringify!(_quickSpin),
11607            "::",
11608            stringify!(DeviceManifestSecondaryURL)
11609        )
11610    );
11611    assert_eq!(
11612        unsafe {
11613            &(*(::std::ptr::null::<_quickSpin>())).DeviceTLVersionSubMinor as *const _ as usize
11614        },
11615        2704usize,
11616        concat!(
11617            "Offset of field: ",
11618            stringify!(_quickSpin),
11619            "::",
11620            stringify!(DeviceTLVersionSubMinor)
11621        )
11622    );
11623    assert_eq!(
11624        unsafe {
11625            &(*(::std::ptr::null::<_quickSpin>())).DeviceGenCPVersionMajor as *const _ as usize
11626        },
11627        2712usize,
11628        concat!(
11629            "Offset of field: ",
11630            stringify!(_quickSpin),
11631            "::",
11632            stringify!(DeviceGenCPVersionMajor)
11633        )
11634    );
11635    assert_eq!(
11636        unsafe {
11637            &(*(::std::ptr::null::<_quickSpin>())).DeviceGenCPVersionMinor as *const _ as usize
11638        },
11639        2720usize,
11640        concat!(
11641            "Offset of field: ",
11642            stringify!(_quickSpin),
11643            "::",
11644            stringify!(DeviceGenCPVersionMinor)
11645        )
11646    );
11647    assert_eq!(
11648        unsafe {
11649            &(*(::std::ptr::null::<_quickSpin>())).DeviceConnectionSelector as *const _ as usize
11650        },
11651        2728usize,
11652        concat!(
11653            "Offset of field: ",
11654            stringify!(_quickSpin),
11655            "::",
11656            stringify!(DeviceConnectionSelector)
11657        )
11658    );
11659    assert_eq!(
11660        unsafe {
11661            &(*(::std::ptr::null::<_quickSpin>())).DeviceConnectionSpeed as *const _ as usize
11662        },
11663        2736usize,
11664        concat!(
11665            "Offset of field: ",
11666            stringify!(_quickSpin),
11667            "::",
11668            stringify!(DeviceConnectionSpeed)
11669        )
11670    );
11671    assert_eq!(
11672        unsafe {
11673            &(*(::std::ptr::null::<_quickSpin>())).DeviceConnectionStatus as *const _ as usize
11674        },
11675        2744usize,
11676        concat!(
11677            "Offset of field: ",
11678            stringify!(_quickSpin),
11679            "::",
11680            stringify!(DeviceConnectionStatus)
11681        )
11682    );
11683    assert_eq!(
11684        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceLinkSelector as *const _ as usize },
11685        2752usize,
11686        concat!(
11687            "Offset of field: ",
11688            stringify!(_quickSpin),
11689            "::",
11690            stringify!(DeviceLinkSelector)
11691        )
11692    );
11693    assert_eq!(
11694        unsafe {
11695            &(*(::std::ptr::null::<_quickSpin>())).DeviceLinkThroughputLimitMode as *const _
11696                as usize
11697        },
11698        2760usize,
11699        concat!(
11700            "Offset of field: ",
11701            stringify!(_quickSpin),
11702            "::",
11703            stringify!(DeviceLinkThroughputLimitMode)
11704        )
11705    );
11706    assert_eq!(
11707        unsafe {
11708            &(*(::std::ptr::null::<_quickSpin>())).DeviceLinkConnectionCount as *const _ as usize
11709        },
11710        2768usize,
11711        concat!(
11712            "Offset of field: ",
11713            stringify!(_quickSpin),
11714            "::",
11715            stringify!(DeviceLinkConnectionCount)
11716        )
11717    );
11718    assert_eq!(
11719        unsafe {
11720            &(*(::std::ptr::null::<_quickSpin>())).DeviceLinkHeartbeatMode as *const _ as usize
11721        },
11722        2776usize,
11723        concat!(
11724            "Offset of field: ",
11725            stringify!(_quickSpin),
11726            "::",
11727            stringify!(DeviceLinkHeartbeatMode)
11728        )
11729    );
11730    assert_eq!(
11731        unsafe {
11732            &(*(::std::ptr::null::<_quickSpin>())).DeviceLinkHeartbeatTimeout as *const _ as usize
11733        },
11734        2784usize,
11735        concat!(
11736            "Offset of field: ",
11737            stringify!(_quickSpin),
11738            "::",
11739            stringify!(DeviceLinkHeartbeatTimeout)
11740        )
11741    );
11742    assert_eq!(
11743        unsafe {
11744            &(*(::std::ptr::null::<_quickSpin>())).DeviceLinkCommandTimeout as *const _ as usize
11745        },
11746        2792usize,
11747        concat!(
11748            "Offset of field: ",
11749            stringify!(_quickSpin),
11750            "::",
11751            stringify!(DeviceLinkCommandTimeout)
11752        )
11753    );
11754    assert_eq!(
11755        unsafe {
11756            &(*(::std::ptr::null::<_quickSpin>())).DeviceStreamChannelSelector as *const _ as usize
11757        },
11758        2800usize,
11759        concat!(
11760            "Offset of field: ",
11761            stringify!(_quickSpin),
11762            "::",
11763            stringify!(DeviceStreamChannelSelector)
11764        )
11765    );
11766    assert_eq!(
11767        unsafe {
11768            &(*(::std::ptr::null::<_quickSpin>())).DeviceStreamChannelType as *const _ as usize
11769        },
11770        2808usize,
11771        concat!(
11772            "Offset of field: ",
11773            stringify!(_quickSpin),
11774            "::",
11775            stringify!(DeviceStreamChannelType)
11776        )
11777    );
11778    assert_eq!(
11779        unsafe {
11780            &(*(::std::ptr::null::<_quickSpin>())).DeviceStreamChannelLink as *const _ as usize
11781        },
11782        2816usize,
11783        concat!(
11784            "Offset of field: ",
11785            stringify!(_quickSpin),
11786            "::",
11787            stringify!(DeviceStreamChannelLink)
11788        )
11789    );
11790    assert_eq!(
11791        unsafe {
11792            &(*(::std::ptr::null::<_quickSpin>())).DeviceStreamChannelEndianness as *const _
11793                as usize
11794        },
11795        2824usize,
11796        concat!(
11797            "Offset of field: ",
11798            stringify!(_quickSpin),
11799            "::",
11800            stringify!(DeviceStreamChannelEndianness)
11801        )
11802    );
11803    assert_eq!(
11804        unsafe {
11805            &(*(::std::ptr::null::<_quickSpin>())).DeviceStreamChannelPacketSize as *const _
11806                as usize
11807        },
11808        2832usize,
11809        concat!(
11810            "Offset of field: ",
11811            stringify!(_quickSpin),
11812            "::",
11813            stringify!(DeviceStreamChannelPacketSize)
11814        )
11815    );
11816    assert_eq!(
11817        unsafe {
11818            &(*(::std::ptr::null::<_quickSpin>())).DeviceFeaturePersistenceStart as *const _
11819                as usize
11820        },
11821        2840usize,
11822        concat!(
11823            "Offset of field: ",
11824            stringify!(_quickSpin),
11825            "::",
11826            stringify!(DeviceFeaturePersistenceStart)
11827        )
11828    );
11829    assert_eq!(
11830        unsafe {
11831            &(*(::std::ptr::null::<_quickSpin>())).DeviceFeaturePersistenceEnd as *const _ as usize
11832        },
11833        2848usize,
11834        concat!(
11835            "Offset of field: ",
11836            stringify!(_quickSpin),
11837            "::",
11838            stringify!(DeviceFeaturePersistenceEnd)
11839        )
11840    );
11841    assert_eq!(
11842        unsafe {
11843            &(*(::std::ptr::null::<_quickSpin>())).DeviceRegistersStreamingStart as *const _
11844                as usize
11845        },
11846        2856usize,
11847        concat!(
11848            "Offset of field: ",
11849            stringify!(_quickSpin),
11850            "::",
11851            stringify!(DeviceRegistersStreamingStart)
11852        )
11853    );
11854    assert_eq!(
11855        unsafe {
11856            &(*(::std::ptr::null::<_quickSpin>())).DeviceRegistersStreamingEnd as *const _ as usize
11857        },
11858        2864usize,
11859        concat!(
11860            "Offset of field: ",
11861            stringify!(_quickSpin),
11862            "::",
11863            stringify!(DeviceRegistersStreamingEnd)
11864        )
11865    );
11866    assert_eq!(
11867        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceRegistersCheck as *const _ as usize },
11868        2872usize,
11869        concat!(
11870            "Offset of field: ",
11871            stringify!(_quickSpin),
11872            "::",
11873            stringify!(DeviceRegistersCheck)
11874        )
11875    );
11876    assert_eq!(
11877        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceRegistersValid as *const _ as usize },
11878        2880usize,
11879        concat!(
11880            "Offset of field: ",
11881            stringify!(_quickSpin),
11882            "::",
11883            stringify!(DeviceRegistersValid)
11884        )
11885    );
11886    assert_eq!(
11887        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceClockSelector as *const _ as usize },
11888        2888usize,
11889        concat!(
11890            "Offset of field: ",
11891            stringify!(_quickSpin),
11892            "::",
11893            stringify!(DeviceClockSelector)
11894        )
11895    );
11896    assert_eq!(
11897        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceClockFrequency as *const _ as usize },
11898        2896usize,
11899        concat!(
11900            "Offset of field: ",
11901            stringify!(_quickSpin),
11902            "::",
11903            stringify!(DeviceClockFrequency)
11904        )
11905    );
11906    assert_eq!(
11907        unsafe {
11908            &(*(::std::ptr::null::<_quickSpin>())).DeviceSerialPortSelector as *const _ as usize
11909        },
11910        2904usize,
11911        concat!(
11912            "Offset of field: ",
11913            stringify!(_quickSpin),
11914            "::",
11915            stringify!(DeviceSerialPortSelector)
11916        )
11917    );
11918    assert_eq!(
11919        unsafe {
11920            &(*(::std::ptr::null::<_quickSpin>())).DeviceSerialPortBaudRate as *const _ as usize
11921        },
11922        2912usize,
11923        concat!(
11924            "Offset of field: ",
11925            stringify!(_quickSpin),
11926            "::",
11927            stringify!(DeviceSerialPortBaudRate)
11928        )
11929    );
11930    assert_eq!(
11931        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Timestamp as *const _ as usize },
11932        2920usize,
11933        concat!(
11934            "Offset of field: ",
11935            stringify!(_quickSpin),
11936            "::",
11937            stringify!(Timestamp)
11938        )
11939    );
11940    assert_eq!(
11941        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SensorTaps as *const _ as usize },
11942        2928usize,
11943        concat!(
11944            "Offset of field: ",
11945            stringify!(_quickSpin),
11946            "::",
11947            stringify!(SensorTaps)
11948        )
11949    );
11950    assert_eq!(
11951        unsafe {
11952            &(*(::std::ptr::null::<_quickSpin>())).SensorDigitizationTaps as *const _ as usize
11953        },
11954        2936usize,
11955        concat!(
11956            "Offset of field: ",
11957            stringify!(_quickSpin),
11958            "::",
11959            stringify!(SensorDigitizationTaps)
11960        )
11961    );
11962    assert_eq!(
11963        unsafe { &(*(::std::ptr::null::<_quickSpin>())).RegionSelector as *const _ as usize },
11964        2944usize,
11965        concat!(
11966            "Offset of field: ",
11967            stringify!(_quickSpin),
11968            "::",
11969            stringify!(RegionSelector)
11970        )
11971    );
11972    assert_eq!(
11973        unsafe { &(*(::std::ptr::null::<_quickSpin>())).RegionMode as *const _ as usize },
11974        2952usize,
11975        concat!(
11976            "Offset of field: ",
11977            stringify!(_quickSpin),
11978            "::",
11979            stringify!(RegionMode)
11980        )
11981    );
11982    assert_eq!(
11983        unsafe { &(*(::std::ptr::null::<_quickSpin>())).RegionDestination as *const _ as usize },
11984        2960usize,
11985        concat!(
11986            "Offset of field: ",
11987            stringify!(_quickSpin),
11988            "::",
11989            stringify!(RegionDestination)
11990        )
11991    );
11992    assert_eq!(
11993        unsafe {
11994            &(*(::std::ptr::null::<_quickSpin>())).ImageComponentSelector as *const _ as usize
11995        },
11996        2968usize,
11997        concat!(
11998            "Offset of field: ",
11999            stringify!(_quickSpin),
12000            "::",
12001            stringify!(ImageComponentSelector)
12002        )
12003    );
12004    assert_eq!(
12005        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ImageComponentEnable as *const _ as usize },
12006        2976usize,
12007        concat!(
12008            "Offset of field: ",
12009            stringify!(_quickSpin),
12010            "::",
12011            stringify!(ImageComponentEnable)
12012        )
12013    );
12014    assert_eq!(
12015        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LinePitch as *const _ as usize },
12016        2984usize,
12017        concat!(
12018            "Offset of field: ",
12019            stringify!(_quickSpin),
12020            "::",
12021            stringify!(LinePitch)
12022        )
12023    );
12024    assert_eq!(
12025        unsafe {
12026            &(*(::std::ptr::null::<_quickSpin>())).PixelFormatInfoSelector as *const _ as usize
12027        },
12028        2992usize,
12029        concat!(
12030            "Offset of field: ",
12031            stringify!(_quickSpin),
12032            "::",
12033            stringify!(PixelFormatInfoSelector)
12034        )
12035    );
12036    assert_eq!(
12037        unsafe { &(*(::std::ptr::null::<_quickSpin>())).PixelFormatInfoID as *const _ as usize },
12038        3000usize,
12039        concat!(
12040            "Offset of field: ",
12041            stringify!(_quickSpin),
12042            "::",
12043            stringify!(PixelFormatInfoID)
12044        )
12045    );
12046    assert_eq!(
12047        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Deinterlacing as *const _ as usize },
12048        3008usize,
12049        concat!(
12050            "Offset of field: ",
12051            stringify!(_quickSpin),
12052            "::",
12053            stringify!(Deinterlacing)
12054        )
12055    );
12056    assert_eq!(
12057        unsafe {
12058            &(*(::std::ptr::null::<_quickSpin>())).ImageCompressionRateOption as *const _ as usize
12059        },
12060        3016usize,
12061        concat!(
12062            "Offset of field: ",
12063            stringify!(_quickSpin),
12064            "::",
12065            stringify!(ImageCompressionRateOption)
12066        )
12067    );
12068    assert_eq!(
12069        unsafe {
12070            &(*(::std::ptr::null::<_quickSpin>())).ImageCompressionQuality as *const _ as usize
12071        },
12072        3024usize,
12073        concat!(
12074            "Offset of field: ",
12075            stringify!(_quickSpin),
12076            "::",
12077            stringify!(ImageCompressionQuality)
12078        )
12079    );
12080    assert_eq!(
12081        unsafe {
12082            &(*(::std::ptr::null::<_quickSpin>())).ImageCompressionBitrate as *const _ as usize
12083        },
12084        3032usize,
12085        concat!(
12086            "Offset of field: ",
12087            stringify!(_quickSpin),
12088            "::",
12089            stringify!(ImageCompressionBitrate)
12090        )
12091    );
12092    assert_eq!(
12093        unsafe {
12094            &(*(::std::ptr::null::<_quickSpin>())).ImageCompressionJPEGFormatOption as *const _
12095                as usize
12096        },
12097        3040usize,
12098        concat!(
12099            "Offset of field: ",
12100            stringify!(_quickSpin),
12101            "::",
12102            stringify!(ImageCompressionJPEGFormatOption)
12103        )
12104    );
12105    assert_eq!(
12106        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AcquisitionAbort as *const _ as usize },
12107        3048usize,
12108        concat!(
12109            "Offset of field: ",
12110            stringify!(_quickSpin),
12111            "::",
12112            stringify!(AcquisitionAbort)
12113        )
12114    );
12115    assert_eq!(
12116        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AcquisitionArm as *const _ as usize },
12117        3056usize,
12118        concat!(
12119            "Offset of field: ",
12120            stringify!(_quickSpin),
12121            "::",
12122            stringify!(AcquisitionArm)
12123        )
12124    );
12125    assert_eq!(
12126        unsafe {
12127            &(*(::std::ptr::null::<_quickSpin>())).AcquisitionStatusSelector as *const _ as usize
12128        },
12129        3064usize,
12130        concat!(
12131            "Offset of field: ",
12132            stringify!(_quickSpin),
12133            "::",
12134            stringify!(AcquisitionStatusSelector)
12135        )
12136    );
12137    assert_eq!(
12138        unsafe { &(*(::std::ptr::null::<_quickSpin>())).AcquisitionStatus as *const _ as usize },
12139        3072usize,
12140        concat!(
12141            "Offset of field: ",
12142            stringify!(_quickSpin),
12143            "::",
12144            stringify!(AcquisitionStatus)
12145        )
12146    );
12147    assert_eq!(
12148        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TriggerDivider as *const _ as usize },
12149        3080usize,
12150        concat!(
12151            "Offset of field: ",
12152            stringify!(_quickSpin),
12153            "::",
12154            stringify!(TriggerDivider)
12155        )
12156    );
12157    assert_eq!(
12158        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TriggerMultiplier as *const _ as usize },
12159        3088usize,
12160        concat!(
12161            "Offset of field: ",
12162            stringify!(_quickSpin),
12163            "::",
12164            stringify!(TriggerMultiplier)
12165        )
12166    );
12167    assert_eq!(
12168        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ExposureTimeMode as *const _ as usize },
12169        3096usize,
12170        concat!(
12171            "Offset of field: ",
12172            stringify!(_quickSpin),
12173            "::",
12174            stringify!(ExposureTimeMode)
12175        )
12176    );
12177    assert_eq!(
12178        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ExposureTimeSelector as *const _ as usize },
12179        3104usize,
12180        concat!(
12181            "Offset of field: ",
12182            stringify!(_quickSpin),
12183            "::",
12184            stringify!(ExposureTimeSelector)
12185        )
12186    );
12187    assert_eq!(
12188        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GainAutoBalance as *const _ as usize },
12189        3112usize,
12190        concat!(
12191            "Offset of field: ",
12192            stringify!(_quickSpin),
12193            "::",
12194            stringify!(GainAutoBalance)
12195        )
12196    );
12197    assert_eq!(
12198        unsafe { &(*(::std::ptr::null::<_quickSpin>())).BlackLevelAuto as *const _ as usize },
12199        3120usize,
12200        concat!(
12201            "Offset of field: ",
12202            stringify!(_quickSpin),
12203            "::",
12204            stringify!(BlackLevelAuto)
12205        )
12206    );
12207    assert_eq!(
12208        unsafe {
12209            &(*(::std::ptr::null::<_quickSpin>())).BlackLevelAutoBalance as *const _ as usize
12210        },
12211        3128usize,
12212        concat!(
12213            "Offset of field: ",
12214            stringify!(_quickSpin),
12215            "::",
12216            stringify!(BlackLevelAutoBalance)
12217        )
12218    );
12219    assert_eq!(
12220        unsafe { &(*(::std::ptr::null::<_quickSpin>())).WhiteClipSelector as *const _ as usize },
12221        3136usize,
12222        concat!(
12223            "Offset of field: ",
12224            stringify!(_quickSpin),
12225            "::",
12226            stringify!(WhiteClipSelector)
12227        )
12228    );
12229    assert_eq!(
12230        unsafe { &(*(::std::ptr::null::<_quickSpin>())).WhiteClip as *const _ as usize },
12231        3144usize,
12232        concat!(
12233            "Offset of field: ",
12234            stringify!(_quickSpin),
12235            "::",
12236            stringify!(WhiteClip)
12237        )
12238    );
12239    assert_eq!(
12240        unsafe { &(*(::std::ptr::null::<_quickSpin>())).LUTValueAll as *const _ as usize },
12241        3152usize,
12242        concat!(
12243            "Offset of field: ",
12244            stringify!(_quickSpin),
12245            "::",
12246            stringify!(LUTValueAll)
12247        )
12248    );
12249    assert_eq!(
12250        unsafe {
12251            &(*(::std::ptr::null::<_quickSpin>())).UserOutputValueAllMask as *const _ as usize
12252        },
12253        3160usize,
12254        concat!(
12255            "Offset of field: ",
12256            stringify!(_quickSpin),
12257            "::",
12258            stringify!(UserOutputValueAllMask)
12259        )
12260    );
12261    assert_eq!(
12262        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CounterReset as *const _ as usize },
12263        3168usize,
12264        concat!(
12265            "Offset of field: ",
12266            stringify!(_quickSpin),
12267            "::",
12268            stringify!(CounterReset)
12269        )
12270    );
12271    assert_eq!(
12272        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TimerSelector as *const _ as usize },
12273        3176usize,
12274        concat!(
12275            "Offset of field: ",
12276            stringify!(_quickSpin),
12277            "::",
12278            stringify!(TimerSelector)
12279        )
12280    );
12281    assert_eq!(
12282        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TimerDuration as *const _ as usize },
12283        3184usize,
12284        concat!(
12285            "Offset of field: ",
12286            stringify!(_quickSpin),
12287            "::",
12288            stringify!(TimerDuration)
12289        )
12290    );
12291    assert_eq!(
12292        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TimerDelay as *const _ as usize },
12293        3192usize,
12294        concat!(
12295            "Offset of field: ",
12296            stringify!(_quickSpin),
12297            "::",
12298            stringify!(TimerDelay)
12299        )
12300    );
12301    assert_eq!(
12302        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TimerReset as *const _ as usize },
12303        3200usize,
12304        concat!(
12305            "Offset of field: ",
12306            stringify!(_quickSpin),
12307            "::",
12308            stringify!(TimerReset)
12309        )
12310    );
12311    assert_eq!(
12312        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TimerValue as *const _ as usize },
12313        3208usize,
12314        concat!(
12315            "Offset of field: ",
12316            stringify!(_quickSpin),
12317            "::",
12318            stringify!(TimerValue)
12319        )
12320    );
12321    assert_eq!(
12322        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TimerStatus as *const _ as usize },
12323        3216usize,
12324        concat!(
12325            "Offset of field: ",
12326            stringify!(_quickSpin),
12327            "::",
12328            stringify!(TimerStatus)
12329        )
12330    );
12331    assert_eq!(
12332        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TimerTriggerSource as *const _ as usize },
12333        3224usize,
12334        concat!(
12335            "Offset of field: ",
12336            stringify!(_quickSpin),
12337            "::",
12338            stringify!(TimerTriggerSource)
12339        )
12340    );
12341    assert_eq!(
12342        unsafe {
12343            &(*(::std::ptr::null::<_quickSpin>())).TimerTriggerActivation as *const _ as usize
12344        },
12345        3232usize,
12346        concat!(
12347            "Offset of field: ",
12348            stringify!(_quickSpin),
12349            "::",
12350            stringify!(TimerTriggerActivation)
12351        )
12352    );
12353    assert_eq!(
12354        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EncoderSelector as *const _ as usize },
12355        3240usize,
12356        concat!(
12357            "Offset of field: ",
12358            stringify!(_quickSpin),
12359            "::",
12360            stringify!(EncoderSelector)
12361        )
12362    );
12363    assert_eq!(
12364        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EncoderSourceA as *const _ as usize },
12365        3248usize,
12366        concat!(
12367            "Offset of field: ",
12368            stringify!(_quickSpin),
12369            "::",
12370            stringify!(EncoderSourceA)
12371        )
12372    );
12373    assert_eq!(
12374        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EncoderSourceB as *const _ as usize },
12375        3256usize,
12376        concat!(
12377            "Offset of field: ",
12378            stringify!(_quickSpin),
12379            "::",
12380            stringify!(EncoderSourceB)
12381        )
12382    );
12383    assert_eq!(
12384        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EncoderMode as *const _ as usize },
12385        3264usize,
12386        concat!(
12387            "Offset of field: ",
12388            stringify!(_quickSpin),
12389            "::",
12390            stringify!(EncoderMode)
12391        )
12392    );
12393    assert_eq!(
12394        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EncoderDivider as *const _ as usize },
12395        3272usize,
12396        concat!(
12397            "Offset of field: ",
12398            stringify!(_quickSpin),
12399            "::",
12400            stringify!(EncoderDivider)
12401        )
12402    );
12403    assert_eq!(
12404        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EncoderOutputMode as *const _ as usize },
12405        3280usize,
12406        concat!(
12407            "Offset of field: ",
12408            stringify!(_quickSpin),
12409            "::",
12410            stringify!(EncoderOutputMode)
12411        )
12412    );
12413    assert_eq!(
12414        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EncoderStatus as *const _ as usize },
12415        3288usize,
12416        concat!(
12417            "Offset of field: ",
12418            stringify!(_quickSpin),
12419            "::",
12420            stringify!(EncoderStatus)
12421        )
12422    );
12423    assert_eq!(
12424        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EncoderTimeout as *const _ as usize },
12425        3296usize,
12426        concat!(
12427            "Offset of field: ",
12428            stringify!(_quickSpin),
12429            "::",
12430            stringify!(EncoderTimeout)
12431        )
12432    );
12433    assert_eq!(
12434        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EncoderResetSource as *const _ as usize },
12435        3304usize,
12436        concat!(
12437            "Offset of field: ",
12438            stringify!(_quickSpin),
12439            "::",
12440            stringify!(EncoderResetSource)
12441        )
12442    );
12443    assert_eq!(
12444        unsafe {
12445            &(*(::std::ptr::null::<_quickSpin>())).EncoderResetActivation as *const _ as usize
12446        },
12447        3312usize,
12448        concat!(
12449            "Offset of field: ",
12450            stringify!(_quickSpin),
12451            "::",
12452            stringify!(EncoderResetActivation)
12453        )
12454    );
12455    assert_eq!(
12456        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EncoderReset as *const _ as usize },
12457        3320usize,
12458        concat!(
12459            "Offset of field: ",
12460            stringify!(_quickSpin),
12461            "::",
12462            stringify!(EncoderReset)
12463        )
12464    );
12465    assert_eq!(
12466        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EncoderValue as *const _ as usize },
12467        3328usize,
12468        concat!(
12469            "Offset of field: ",
12470            stringify!(_quickSpin),
12471            "::",
12472            stringify!(EncoderValue)
12473        )
12474    );
12475    assert_eq!(
12476        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EncoderValueAtReset as *const _ as usize },
12477        3336usize,
12478        concat!(
12479            "Offset of field: ",
12480            stringify!(_quickSpin),
12481            "::",
12482            stringify!(EncoderValueAtReset)
12483        )
12484    );
12485    assert_eq!(
12486        unsafe {
12487            &(*(::std::ptr::null::<_quickSpin>())).SoftwareSignalSelector as *const _ as usize
12488        },
12489        3344usize,
12490        concat!(
12491            "Offset of field: ",
12492            stringify!(_quickSpin),
12493            "::",
12494            stringify!(SoftwareSignalSelector)
12495        )
12496    );
12497    assert_eq!(
12498        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SoftwareSignalPulse as *const _ as usize },
12499        3352usize,
12500        concat!(
12501            "Offset of field: ",
12502            stringify!(_quickSpin),
12503            "::",
12504            stringify!(SoftwareSignalPulse)
12505        )
12506    );
12507    assert_eq!(
12508        unsafe {
12509            &(*(::std::ptr::null::<_quickSpin>())).ActionUnconditionalMode as *const _ as usize
12510        },
12511        3360usize,
12512        concat!(
12513            "Offset of field: ",
12514            stringify!(_quickSpin),
12515            "::",
12516            stringify!(ActionUnconditionalMode)
12517        )
12518    );
12519    assert_eq!(
12520        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ActionDeviceKey as *const _ as usize },
12521        3368usize,
12522        concat!(
12523            "Offset of field: ",
12524            stringify!(_quickSpin),
12525            "::",
12526            stringify!(ActionDeviceKey)
12527        )
12528    );
12529    assert_eq!(
12530        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ActionQueueSize as *const _ as usize },
12531        3376usize,
12532        concat!(
12533            "Offset of field: ",
12534            stringify!(_quickSpin),
12535            "::",
12536            stringify!(ActionQueueSize)
12537        )
12538    );
12539    assert_eq!(
12540        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ActionSelector as *const _ as usize },
12541        3384usize,
12542        concat!(
12543            "Offset of field: ",
12544            stringify!(_quickSpin),
12545            "::",
12546            stringify!(ActionSelector)
12547        )
12548    );
12549    assert_eq!(
12550        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ActionGroupMask as *const _ as usize },
12551        3392usize,
12552        concat!(
12553            "Offset of field: ",
12554            stringify!(_quickSpin),
12555            "::",
12556            stringify!(ActionGroupMask)
12557        )
12558    );
12559    assert_eq!(
12560        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ActionGroupKey as *const _ as usize },
12561        3400usize,
12562        concat!(
12563            "Offset of field: ",
12564            stringify!(_quickSpin),
12565            "::",
12566            stringify!(ActionGroupKey)
12567        )
12568    );
12569    assert_eq!(
12570        unsafe {
12571            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionTrigger as *const _ as usize
12572        },
12573        3408usize,
12574        concat!(
12575            "Offset of field: ",
12576            stringify!(_quickSpin),
12577            "::",
12578            stringify!(EventAcquisitionTrigger)
12579        )
12580    );
12581    assert_eq!(
12582        unsafe {
12583            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionTriggerTimestamp as *const _
12584                as usize
12585        },
12586        3416usize,
12587        concat!(
12588            "Offset of field: ",
12589            stringify!(_quickSpin),
12590            "::",
12591            stringify!(EventAcquisitionTriggerTimestamp)
12592        )
12593    );
12594    assert_eq!(
12595        unsafe {
12596            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionTriggerFrameID as *const _
12597                as usize
12598        },
12599        3424usize,
12600        concat!(
12601            "Offset of field: ",
12602            stringify!(_quickSpin),
12603            "::",
12604            stringify!(EventAcquisitionTriggerFrameID)
12605        )
12606    );
12607    assert_eq!(
12608        unsafe {
12609            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionStart as *const _ as usize
12610        },
12611        3432usize,
12612        concat!(
12613            "Offset of field: ",
12614            stringify!(_quickSpin),
12615            "::",
12616            stringify!(EventAcquisitionStart)
12617        )
12618    );
12619    assert_eq!(
12620        unsafe {
12621            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionStartTimestamp as *const _
12622                as usize
12623        },
12624        3440usize,
12625        concat!(
12626            "Offset of field: ",
12627            stringify!(_quickSpin),
12628            "::",
12629            stringify!(EventAcquisitionStartTimestamp)
12630        )
12631    );
12632    assert_eq!(
12633        unsafe {
12634            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionStartFrameID as *const _ as usize
12635        },
12636        3448usize,
12637        concat!(
12638            "Offset of field: ",
12639            stringify!(_quickSpin),
12640            "::",
12641            stringify!(EventAcquisitionStartFrameID)
12642        )
12643    );
12644    assert_eq!(
12645        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionEnd as *const _ as usize },
12646        3456usize,
12647        concat!(
12648            "Offset of field: ",
12649            stringify!(_quickSpin),
12650            "::",
12651            stringify!(EventAcquisitionEnd)
12652        )
12653    );
12654    assert_eq!(
12655        unsafe {
12656            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionEndTimestamp as *const _ as usize
12657        },
12658        3464usize,
12659        concat!(
12660            "Offset of field: ",
12661            stringify!(_quickSpin),
12662            "::",
12663            stringify!(EventAcquisitionEndTimestamp)
12664        )
12665    );
12666    assert_eq!(
12667        unsafe {
12668            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionEndFrameID as *const _ as usize
12669        },
12670        3472usize,
12671        concat!(
12672            "Offset of field: ",
12673            stringify!(_quickSpin),
12674            "::",
12675            stringify!(EventAcquisitionEndFrameID)
12676        )
12677    );
12678    assert_eq!(
12679        unsafe {
12680            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionTransferStart as *const _
12681                as usize
12682        },
12683        3480usize,
12684        concat!(
12685            "Offset of field: ",
12686            stringify!(_quickSpin),
12687            "::",
12688            stringify!(EventAcquisitionTransferStart)
12689        )
12690    );
12691    assert_eq!(
12692        unsafe {
12693            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionTransferStartTimestamp
12694                as *const _ as usize
12695        },
12696        3488usize,
12697        concat!(
12698            "Offset of field: ",
12699            stringify!(_quickSpin),
12700            "::",
12701            stringify!(EventAcquisitionTransferStartTimestamp)
12702        )
12703    );
12704    assert_eq!(
12705        unsafe {
12706            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionTransferStartFrameID as *const _
12707                as usize
12708        },
12709        3496usize,
12710        concat!(
12711            "Offset of field: ",
12712            stringify!(_quickSpin),
12713            "::",
12714            stringify!(EventAcquisitionTransferStartFrameID)
12715        )
12716    );
12717    assert_eq!(
12718        unsafe {
12719            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionTransferEnd as *const _ as usize
12720        },
12721        3504usize,
12722        concat!(
12723            "Offset of field: ",
12724            stringify!(_quickSpin),
12725            "::",
12726            stringify!(EventAcquisitionTransferEnd)
12727        )
12728    );
12729    assert_eq!(
12730        unsafe {
12731            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionTransferEndTimestamp as *const _
12732                as usize
12733        },
12734        3512usize,
12735        concat!(
12736            "Offset of field: ",
12737            stringify!(_quickSpin),
12738            "::",
12739            stringify!(EventAcquisitionTransferEndTimestamp)
12740        )
12741    );
12742    assert_eq!(
12743        unsafe {
12744            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionTransferEndFrameID as *const _
12745                as usize
12746        },
12747        3520usize,
12748        concat!(
12749            "Offset of field: ",
12750            stringify!(_quickSpin),
12751            "::",
12752            stringify!(EventAcquisitionTransferEndFrameID)
12753        )
12754    );
12755    assert_eq!(
12756        unsafe {
12757            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionError as *const _ as usize
12758        },
12759        3528usize,
12760        concat!(
12761            "Offset of field: ",
12762            stringify!(_quickSpin),
12763            "::",
12764            stringify!(EventAcquisitionError)
12765        )
12766    );
12767    assert_eq!(
12768        unsafe {
12769            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionErrorTimestamp as *const _
12770                as usize
12771        },
12772        3536usize,
12773        concat!(
12774            "Offset of field: ",
12775            stringify!(_quickSpin),
12776            "::",
12777            stringify!(EventAcquisitionErrorTimestamp)
12778        )
12779    );
12780    assert_eq!(
12781        unsafe {
12782            &(*(::std::ptr::null::<_quickSpin>())).EventAcquisitionErrorFrameID as *const _ as usize
12783        },
12784        3544usize,
12785        concat!(
12786            "Offset of field: ",
12787            stringify!(_quickSpin),
12788            "::",
12789            stringify!(EventAcquisitionErrorFrameID)
12790        )
12791    );
12792    assert_eq!(
12793        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventFrameTrigger as *const _ as usize },
12794        3552usize,
12795        concat!(
12796            "Offset of field: ",
12797            stringify!(_quickSpin),
12798            "::",
12799            stringify!(EventFrameTrigger)
12800        )
12801    );
12802    assert_eq!(
12803        unsafe {
12804            &(*(::std::ptr::null::<_quickSpin>())).EventFrameTriggerTimestamp as *const _ as usize
12805        },
12806        3560usize,
12807        concat!(
12808            "Offset of field: ",
12809            stringify!(_quickSpin),
12810            "::",
12811            stringify!(EventFrameTriggerTimestamp)
12812        )
12813    );
12814    assert_eq!(
12815        unsafe {
12816            &(*(::std::ptr::null::<_quickSpin>())).EventFrameTriggerFrameID as *const _ as usize
12817        },
12818        3568usize,
12819        concat!(
12820            "Offset of field: ",
12821            stringify!(_quickSpin),
12822            "::",
12823            stringify!(EventFrameTriggerFrameID)
12824        )
12825    );
12826    assert_eq!(
12827        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventFrameStart as *const _ as usize },
12828        3576usize,
12829        concat!(
12830            "Offset of field: ",
12831            stringify!(_quickSpin),
12832            "::",
12833            stringify!(EventFrameStart)
12834        )
12835    );
12836    assert_eq!(
12837        unsafe {
12838            &(*(::std::ptr::null::<_quickSpin>())).EventFrameStartTimestamp as *const _ as usize
12839        },
12840        3584usize,
12841        concat!(
12842            "Offset of field: ",
12843            stringify!(_quickSpin),
12844            "::",
12845            stringify!(EventFrameStartTimestamp)
12846        )
12847    );
12848    assert_eq!(
12849        unsafe {
12850            &(*(::std::ptr::null::<_quickSpin>())).EventFrameStartFrameID as *const _ as usize
12851        },
12852        3592usize,
12853        concat!(
12854            "Offset of field: ",
12855            stringify!(_quickSpin),
12856            "::",
12857            stringify!(EventFrameStartFrameID)
12858        )
12859    );
12860    assert_eq!(
12861        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventFrameEnd as *const _ as usize },
12862        3600usize,
12863        concat!(
12864            "Offset of field: ",
12865            stringify!(_quickSpin),
12866            "::",
12867            stringify!(EventFrameEnd)
12868        )
12869    );
12870    assert_eq!(
12871        unsafe {
12872            &(*(::std::ptr::null::<_quickSpin>())).EventFrameEndTimestamp as *const _ as usize
12873        },
12874        3608usize,
12875        concat!(
12876            "Offset of field: ",
12877            stringify!(_quickSpin),
12878            "::",
12879            stringify!(EventFrameEndTimestamp)
12880        )
12881    );
12882    assert_eq!(
12883        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventFrameEndFrameID as *const _ as usize },
12884        3616usize,
12885        concat!(
12886            "Offset of field: ",
12887            stringify!(_quickSpin),
12888            "::",
12889            stringify!(EventFrameEndFrameID)
12890        )
12891    );
12892    assert_eq!(
12893        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventFrameBurstStart as *const _ as usize },
12894        3624usize,
12895        concat!(
12896            "Offset of field: ",
12897            stringify!(_quickSpin),
12898            "::",
12899            stringify!(EventFrameBurstStart)
12900        )
12901    );
12902    assert_eq!(
12903        unsafe {
12904            &(*(::std::ptr::null::<_quickSpin>())).EventFrameBurstStartTimestamp as *const _
12905                as usize
12906        },
12907        3632usize,
12908        concat!(
12909            "Offset of field: ",
12910            stringify!(_quickSpin),
12911            "::",
12912            stringify!(EventFrameBurstStartTimestamp)
12913        )
12914    );
12915    assert_eq!(
12916        unsafe {
12917            &(*(::std::ptr::null::<_quickSpin>())).EventFrameBurstStartFrameID as *const _ as usize
12918        },
12919        3640usize,
12920        concat!(
12921            "Offset of field: ",
12922            stringify!(_quickSpin),
12923            "::",
12924            stringify!(EventFrameBurstStartFrameID)
12925        )
12926    );
12927    assert_eq!(
12928        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventFrameBurstEnd as *const _ as usize },
12929        3648usize,
12930        concat!(
12931            "Offset of field: ",
12932            stringify!(_quickSpin),
12933            "::",
12934            stringify!(EventFrameBurstEnd)
12935        )
12936    );
12937    assert_eq!(
12938        unsafe {
12939            &(*(::std::ptr::null::<_quickSpin>())).EventFrameBurstEndTimestamp as *const _ as usize
12940        },
12941        3656usize,
12942        concat!(
12943            "Offset of field: ",
12944            stringify!(_quickSpin),
12945            "::",
12946            stringify!(EventFrameBurstEndTimestamp)
12947        )
12948    );
12949    assert_eq!(
12950        unsafe {
12951            &(*(::std::ptr::null::<_quickSpin>())).EventFrameBurstEndFrameID as *const _ as usize
12952        },
12953        3664usize,
12954        concat!(
12955            "Offset of field: ",
12956            stringify!(_quickSpin),
12957            "::",
12958            stringify!(EventFrameBurstEndFrameID)
12959        )
12960    );
12961    assert_eq!(
12962        unsafe {
12963            &(*(::std::ptr::null::<_quickSpin>())).EventFrameTransferStart as *const _ as usize
12964        },
12965        3672usize,
12966        concat!(
12967            "Offset of field: ",
12968            stringify!(_quickSpin),
12969            "::",
12970            stringify!(EventFrameTransferStart)
12971        )
12972    );
12973    assert_eq!(
12974        unsafe {
12975            &(*(::std::ptr::null::<_quickSpin>())).EventFrameTransferStartTimestamp as *const _
12976                as usize
12977        },
12978        3680usize,
12979        concat!(
12980            "Offset of field: ",
12981            stringify!(_quickSpin),
12982            "::",
12983            stringify!(EventFrameTransferStartTimestamp)
12984        )
12985    );
12986    assert_eq!(
12987        unsafe {
12988            &(*(::std::ptr::null::<_quickSpin>())).EventFrameTransferStartFrameID as *const _
12989                as usize
12990        },
12991        3688usize,
12992        concat!(
12993            "Offset of field: ",
12994            stringify!(_quickSpin),
12995            "::",
12996            stringify!(EventFrameTransferStartFrameID)
12997        )
12998    );
12999    assert_eq!(
13000        unsafe {
13001            &(*(::std::ptr::null::<_quickSpin>())).EventFrameTransferEnd as *const _ as usize
13002        },
13003        3696usize,
13004        concat!(
13005            "Offset of field: ",
13006            stringify!(_quickSpin),
13007            "::",
13008            stringify!(EventFrameTransferEnd)
13009        )
13010    );
13011    assert_eq!(
13012        unsafe {
13013            &(*(::std::ptr::null::<_quickSpin>())).EventFrameTransferEndTimestamp as *const _
13014                as usize
13015        },
13016        3704usize,
13017        concat!(
13018            "Offset of field: ",
13019            stringify!(_quickSpin),
13020            "::",
13021            stringify!(EventFrameTransferEndTimestamp)
13022        )
13023    );
13024    assert_eq!(
13025        unsafe {
13026            &(*(::std::ptr::null::<_quickSpin>())).EventFrameTransferEndFrameID as *const _ as usize
13027        },
13028        3712usize,
13029        concat!(
13030            "Offset of field: ",
13031            stringify!(_quickSpin),
13032            "::",
13033            stringify!(EventFrameTransferEndFrameID)
13034        )
13035    );
13036    assert_eq!(
13037        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventExposureStart as *const _ as usize },
13038        3720usize,
13039        concat!(
13040            "Offset of field: ",
13041            stringify!(_quickSpin),
13042            "::",
13043            stringify!(EventExposureStart)
13044        )
13045    );
13046    assert_eq!(
13047        unsafe {
13048            &(*(::std::ptr::null::<_quickSpin>())).EventExposureStartTimestamp as *const _ as usize
13049        },
13050        3728usize,
13051        concat!(
13052            "Offset of field: ",
13053            stringify!(_quickSpin),
13054            "::",
13055            stringify!(EventExposureStartTimestamp)
13056        )
13057    );
13058    assert_eq!(
13059        unsafe {
13060            &(*(::std::ptr::null::<_quickSpin>())).EventExposureStartFrameID as *const _ as usize
13061        },
13062        3736usize,
13063        concat!(
13064            "Offset of field: ",
13065            stringify!(_quickSpin),
13066            "::",
13067            stringify!(EventExposureStartFrameID)
13068        )
13069    );
13070    assert_eq!(
13071        unsafe {
13072            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferStart as *const _ as usize
13073        },
13074        3744usize,
13075        concat!(
13076            "Offset of field: ",
13077            stringify!(_quickSpin),
13078            "::",
13079            stringify!(EventStream0TransferStart)
13080        )
13081    );
13082    assert_eq!(
13083        unsafe {
13084            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferStartTimestamp as *const _
13085                as usize
13086        },
13087        3752usize,
13088        concat!(
13089            "Offset of field: ",
13090            stringify!(_quickSpin),
13091            "::",
13092            stringify!(EventStream0TransferStartTimestamp)
13093        )
13094    );
13095    assert_eq!(
13096        unsafe {
13097            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferStartFrameID as *const _
13098                as usize
13099        },
13100        3760usize,
13101        concat!(
13102            "Offset of field: ",
13103            stringify!(_quickSpin),
13104            "::",
13105            stringify!(EventStream0TransferStartFrameID)
13106        )
13107    );
13108    assert_eq!(
13109        unsafe {
13110            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferEnd as *const _ as usize
13111        },
13112        3768usize,
13113        concat!(
13114            "Offset of field: ",
13115            stringify!(_quickSpin),
13116            "::",
13117            stringify!(EventStream0TransferEnd)
13118        )
13119    );
13120    assert_eq!(
13121        unsafe {
13122            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferEndTimestamp as *const _
13123                as usize
13124        },
13125        3776usize,
13126        concat!(
13127            "Offset of field: ",
13128            stringify!(_quickSpin),
13129            "::",
13130            stringify!(EventStream0TransferEndTimestamp)
13131        )
13132    );
13133    assert_eq!(
13134        unsafe {
13135            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferEndFrameID as *const _
13136                as usize
13137        },
13138        3784usize,
13139        concat!(
13140            "Offset of field: ",
13141            stringify!(_quickSpin),
13142            "::",
13143            stringify!(EventStream0TransferEndFrameID)
13144        )
13145    );
13146    assert_eq!(
13147        unsafe {
13148            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferPause as *const _ as usize
13149        },
13150        3792usize,
13151        concat!(
13152            "Offset of field: ",
13153            stringify!(_quickSpin),
13154            "::",
13155            stringify!(EventStream0TransferPause)
13156        )
13157    );
13158    assert_eq!(
13159        unsafe {
13160            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferPauseTimestamp as *const _
13161                as usize
13162        },
13163        3800usize,
13164        concat!(
13165            "Offset of field: ",
13166            stringify!(_quickSpin),
13167            "::",
13168            stringify!(EventStream0TransferPauseTimestamp)
13169        )
13170    );
13171    assert_eq!(
13172        unsafe {
13173            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferPauseFrameID as *const _
13174                as usize
13175        },
13176        3808usize,
13177        concat!(
13178            "Offset of field: ",
13179            stringify!(_quickSpin),
13180            "::",
13181            stringify!(EventStream0TransferPauseFrameID)
13182        )
13183    );
13184    assert_eq!(
13185        unsafe {
13186            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferResume as *const _ as usize
13187        },
13188        3816usize,
13189        concat!(
13190            "Offset of field: ",
13191            stringify!(_quickSpin),
13192            "::",
13193            stringify!(EventStream0TransferResume)
13194        )
13195    );
13196    assert_eq!(
13197        unsafe {
13198            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferResumeTimestamp as *const _
13199                as usize
13200        },
13201        3824usize,
13202        concat!(
13203            "Offset of field: ",
13204            stringify!(_quickSpin),
13205            "::",
13206            stringify!(EventStream0TransferResumeTimestamp)
13207        )
13208    );
13209    assert_eq!(
13210        unsafe {
13211            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferResumeFrameID as *const _
13212                as usize
13213        },
13214        3832usize,
13215        concat!(
13216            "Offset of field: ",
13217            stringify!(_quickSpin),
13218            "::",
13219            stringify!(EventStream0TransferResumeFrameID)
13220        )
13221    );
13222    assert_eq!(
13223        unsafe {
13224            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBlockStart as *const _
13225                as usize
13226        },
13227        3840usize,
13228        concat!(
13229            "Offset of field: ",
13230            stringify!(_quickSpin),
13231            "::",
13232            stringify!(EventStream0TransferBlockStart)
13233        )
13234    );
13235    assert_eq!(
13236        unsafe {
13237            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBlockStartTimestamp
13238                as *const _ as usize
13239        },
13240        3848usize,
13241        concat!(
13242            "Offset of field: ",
13243            stringify!(_quickSpin),
13244            "::",
13245            stringify!(EventStream0TransferBlockStartTimestamp)
13246        )
13247    );
13248    assert_eq!(
13249        unsafe {
13250            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBlockStartFrameID as *const _
13251                as usize
13252        },
13253        3856usize,
13254        concat!(
13255            "Offset of field: ",
13256            stringify!(_quickSpin),
13257            "::",
13258            stringify!(EventStream0TransferBlockStartFrameID)
13259        )
13260    );
13261    assert_eq!(
13262        unsafe {
13263            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBlockEnd as *const _ as usize
13264        },
13265        3864usize,
13266        concat!(
13267            "Offset of field: ",
13268            stringify!(_quickSpin),
13269            "::",
13270            stringify!(EventStream0TransferBlockEnd)
13271        )
13272    );
13273    assert_eq!(
13274        unsafe {
13275            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBlockEndTimestamp as *const _
13276                as usize
13277        },
13278        3872usize,
13279        concat!(
13280            "Offset of field: ",
13281            stringify!(_quickSpin),
13282            "::",
13283            stringify!(EventStream0TransferBlockEndTimestamp)
13284        )
13285    );
13286    assert_eq!(
13287        unsafe {
13288            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBlockEndFrameID as *const _
13289                as usize
13290        },
13291        3880usize,
13292        concat!(
13293            "Offset of field: ",
13294            stringify!(_quickSpin),
13295            "::",
13296            stringify!(EventStream0TransferBlockEndFrameID)
13297        )
13298    );
13299    assert_eq!(
13300        unsafe {
13301            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBlockTrigger as *const _
13302                as usize
13303        },
13304        3888usize,
13305        concat!(
13306            "Offset of field: ",
13307            stringify!(_quickSpin),
13308            "::",
13309            stringify!(EventStream0TransferBlockTrigger)
13310        )
13311    );
13312    assert_eq!(
13313        unsafe {
13314            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBlockTriggerTimestamp
13315                as *const _ as usize
13316        },
13317        3896usize,
13318        concat!(
13319            "Offset of field: ",
13320            stringify!(_quickSpin),
13321            "::",
13322            stringify!(EventStream0TransferBlockTriggerTimestamp)
13323        )
13324    );
13325    assert_eq!(
13326        unsafe {
13327            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBlockTriggerFrameID
13328                as *const _ as usize
13329        },
13330        3904usize,
13331        concat!(
13332            "Offset of field: ",
13333            stringify!(_quickSpin),
13334            "::",
13335            stringify!(EventStream0TransferBlockTriggerFrameID)
13336        )
13337    );
13338    assert_eq!(
13339        unsafe {
13340            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBurstStart as *const _
13341                as usize
13342        },
13343        3912usize,
13344        concat!(
13345            "Offset of field: ",
13346            stringify!(_quickSpin),
13347            "::",
13348            stringify!(EventStream0TransferBurstStart)
13349        )
13350    );
13351    assert_eq!(
13352        unsafe {
13353            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBurstStartTimestamp
13354                as *const _ as usize
13355        },
13356        3920usize,
13357        concat!(
13358            "Offset of field: ",
13359            stringify!(_quickSpin),
13360            "::",
13361            stringify!(EventStream0TransferBurstStartTimestamp)
13362        )
13363    );
13364    assert_eq!(
13365        unsafe {
13366            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBurstStartFrameID as *const _
13367                as usize
13368        },
13369        3928usize,
13370        concat!(
13371            "Offset of field: ",
13372            stringify!(_quickSpin),
13373            "::",
13374            stringify!(EventStream0TransferBurstStartFrameID)
13375        )
13376    );
13377    assert_eq!(
13378        unsafe {
13379            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBurstEnd as *const _ as usize
13380        },
13381        3936usize,
13382        concat!(
13383            "Offset of field: ",
13384            stringify!(_quickSpin),
13385            "::",
13386            stringify!(EventStream0TransferBurstEnd)
13387        )
13388    );
13389    assert_eq!(
13390        unsafe {
13391            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBurstEndTimestamp as *const _
13392                as usize
13393        },
13394        3944usize,
13395        concat!(
13396            "Offset of field: ",
13397            stringify!(_quickSpin),
13398            "::",
13399            stringify!(EventStream0TransferBurstEndTimestamp)
13400        )
13401    );
13402    assert_eq!(
13403        unsafe {
13404            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferBurstEndFrameID as *const _
13405                as usize
13406        },
13407        3952usize,
13408        concat!(
13409            "Offset of field: ",
13410            stringify!(_quickSpin),
13411            "::",
13412            stringify!(EventStream0TransferBurstEndFrameID)
13413        )
13414    );
13415    assert_eq!(
13416        unsafe {
13417            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferOverflow as *const _ as usize
13418        },
13419        3960usize,
13420        concat!(
13421            "Offset of field: ",
13422            stringify!(_quickSpin),
13423            "::",
13424            stringify!(EventStream0TransferOverflow)
13425        )
13426    );
13427    assert_eq!(
13428        unsafe {
13429            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferOverflowTimestamp as *const _
13430                as usize
13431        },
13432        3968usize,
13433        concat!(
13434            "Offset of field: ",
13435            stringify!(_quickSpin),
13436            "::",
13437            stringify!(EventStream0TransferOverflowTimestamp)
13438        )
13439    );
13440    assert_eq!(
13441        unsafe {
13442            &(*(::std::ptr::null::<_quickSpin>())).EventStream0TransferOverflowFrameID as *const _
13443                as usize
13444        },
13445        3976usize,
13446        concat!(
13447            "Offset of field: ",
13448            stringify!(_quickSpin),
13449            "::",
13450            stringify!(EventStream0TransferOverflowFrameID)
13451        )
13452    );
13453    assert_eq!(
13454        unsafe {
13455            &(*(::std::ptr::null::<_quickSpin>())).EventSequencerSetChange as *const _ as usize
13456        },
13457        3984usize,
13458        concat!(
13459            "Offset of field: ",
13460            stringify!(_quickSpin),
13461            "::",
13462            stringify!(EventSequencerSetChange)
13463        )
13464    );
13465    assert_eq!(
13466        unsafe {
13467            &(*(::std::ptr::null::<_quickSpin>())).EventSequencerSetChangeTimestamp as *const _
13468                as usize
13469        },
13470        3992usize,
13471        concat!(
13472            "Offset of field: ",
13473            stringify!(_quickSpin),
13474            "::",
13475            stringify!(EventSequencerSetChangeTimestamp)
13476        )
13477    );
13478    assert_eq!(
13479        unsafe {
13480            &(*(::std::ptr::null::<_quickSpin>())).EventSequencerSetChangeFrameID as *const _
13481                as usize
13482        },
13483        4000usize,
13484        concat!(
13485            "Offset of field: ",
13486            stringify!(_quickSpin),
13487            "::",
13488            stringify!(EventSequencerSetChangeFrameID)
13489        )
13490    );
13491    assert_eq!(
13492        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventCounter0Start as *const _ as usize },
13493        4008usize,
13494        concat!(
13495            "Offset of field: ",
13496            stringify!(_quickSpin),
13497            "::",
13498            stringify!(EventCounter0Start)
13499        )
13500    );
13501    assert_eq!(
13502        unsafe {
13503            &(*(::std::ptr::null::<_quickSpin>())).EventCounter0StartTimestamp as *const _ as usize
13504        },
13505        4016usize,
13506        concat!(
13507            "Offset of field: ",
13508            stringify!(_quickSpin),
13509            "::",
13510            stringify!(EventCounter0StartTimestamp)
13511        )
13512    );
13513    assert_eq!(
13514        unsafe {
13515            &(*(::std::ptr::null::<_quickSpin>())).EventCounter0StartFrameID as *const _ as usize
13516        },
13517        4024usize,
13518        concat!(
13519            "Offset of field: ",
13520            stringify!(_quickSpin),
13521            "::",
13522            stringify!(EventCounter0StartFrameID)
13523        )
13524    );
13525    assert_eq!(
13526        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventCounter1Start as *const _ as usize },
13527        4032usize,
13528        concat!(
13529            "Offset of field: ",
13530            stringify!(_quickSpin),
13531            "::",
13532            stringify!(EventCounter1Start)
13533        )
13534    );
13535    assert_eq!(
13536        unsafe {
13537            &(*(::std::ptr::null::<_quickSpin>())).EventCounter1StartTimestamp as *const _ as usize
13538        },
13539        4040usize,
13540        concat!(
13541            "Offset of field: ",
13542            stringify!(_quickSpin),
13543            "::",
13544            stringify!(EventCounter1StartTimestamp)
13545        )
13546    );
13547    assert_eq!(
13548        unsafe {
13549            &(*(::std::ptr::null::<_quickSpin>())).EventCounter1StartFrameID as *const _ as usize
13550        },
13551        4048usize,
13552        concat!(
13553            "Offset of field: ",
13554            stringify!(_quickSpin),
13555            "::",
13556            stringify!(EventCounter1StartFrameID)
13557        )
13558    );
13559    assert_eq!(
13560        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventCounter0End as *const _ as usize },
13561        4056usize,
13562        concat!(
13563            "Offset of field: ",
13564            stringify!(_quickSpin),
13565            "::",
13566            stringify!(EventCounter0End)
13567        )
13568    );
13569    assert_eq!(
13570        unsafe {
13571            &(*(::std::ptr::null::<_quickSpin>())).EventCounter0EndTimestamp as *const _ as usize
13572        },
13573        4064usize,
13574        concat!(
13575            "Offset of field: ",
13576            stringify!(_quickSpin),
13577            "::",
13578            stringify!(EventCounter0EndTimestamp)
13579        )
13580    );
13581    assert_eq!(
13582        unsafe {
13583            &(*(::std::ptr::null::<_quickSpin>())).EventCounter0EndFrameID as *const _ as usize
13584        },
13585        4072usize,
13586        concat!(
13587            "Offset of field: ",
13588            stringify!(_quickSpin),
13589            "::",
13590            stringify!(EventCounter0EndFrameID)
13591        )
13592    );
13593    assert_eq!(
13594        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventCounter1End as *const _ as usize },
13595        4080usize,
13596        concat!(
13597            "Offset of field: ",
13598            stringify!(_quickSpin),
13599            "::",
13600            stringify!(EventCounter1End)
13601        )
13602    );
13603    assert_eq!(
13604        unsafe {
13605            &(*(::std::ptr::null::<_quickSpin>())).EventCounter1EndTimestamp as *const _ as usize
13606        },
13607        4088usize,
13608        concat!(
13609            "Offset of field: ",
13610            stringify!(_quickSpin),
13611            "::",
13612            stringify!(EventCounter1EndTimestamp)
13613        )
13614    );
13615    assert_eq!(
13616        unsafe {
13617            &(*(::std::ptr::null::<_quickSpin>())).EventCounter1EndFrameID as *const _ as usize
13618        },
13619        4096usize,
13620        concat!(
13621            "Offset of field: ",
13622            stringify!(_quickSpin),
13623            "::",
13624            stringify!(EventCounter1EndFrameID)
13625        )
13626    );
13627    assert_eq!(
13628        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventTimer0Start as *const _ as usize },
13629        4104usize,
13630        concat!(
13631            "Offset of field: ",
13632            stringify!(_quickSpin),
13633            "::",
13634            stringify!(EventTimer0Start)
13635        )
13636    );
13637    assert_eq!(
13638        unsafe {
13639            &(*(::std::ptr::null::<_quickSpin>())).EventTimer0StartTimestamp as *const _ as usize
13640        },
13641        4112usize,
13642        concat!(
13643            "Offset of field: ",
13644            stringify!(_quickSpin),
13645            "::",
13646            stringify!(EventTimer0StartTimestamp)
13647        )
13648    );
13649    assert_eq!(
13650        unsafe {
13651            &(*(::std::ptr::null::<_quickSpin>())).EventTimer0StartFrameID as *const _ as usize
13652        },
13653        4120usize,
13654        concat!(
13655            "Offset of field: ",
13656            stringify!(_quickSpin),
13657            "::",
13658            stringify!(EventTimer0StartFrameID)
13659        )
13660    );
13661    assert_eq!(
13662        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventTimer1Start as *const _ as usize },
13663        4128usize,
13664        concat!(
13665            "Offset of field: ",
13666            stringify!(_quickSpin),
13667            "::",
13668            stringify!(EventTimer1Start)
13669        )
13670    );
13671    assert_eq!(
13672        unsafe {
13673            &(*(::std::ptr::null::<_quickSpin>())).EventTimer1StartTimestamp as *const _ as usize
13674        },
13675        4136usize,
13676        concat!(
13677            "Offset of field: ",
13678            stringify!(_quickSpin),
13679            "::",
13680            stringify!(EventTimer1StartTimestamp)
13681        )
13682    );
13683    assert_eq!(
13684        unsafe {
13685            &(*(::std::ptr::null::<_quickSpin>())).EventTimer1StartFrameID as *const _ as usize
13686        },
13687        4144usize,
13688        concat!(
13689            "Offset of field: ",
13690            stringify!(_quickSpin),
13691            "::",
13692            stringify!(EventTimer1StartFrameID)
13693        )
13694    );
13695    assert_eq!(
13696        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventTimer0End as *const _ as usize },
13697        4152usize,
13698        concat!(
13699            "Offset of field: ",
13700            stringify!(_quickSpin),
13701            "::",
13702            stringify!(EventTimer0End)
13703        )
13704    );
13705    assert_eq!(
13706        unsafe {
13707            &(*(::std::ptr::null::<_quickSpin>())).EventTimer0EndTimestamp as *const _ as usize
13708        },
13709        4160usize,
13710        concat!(
13711            "Offset of field: ",
13712            stringify!(_quickSpin),
13713            "::",
13714            stringify!(EventTimer0EndTimestamp)
13715        )
13716    );
13717    assert_eq!(
13718        unsafe {
13719            &(*(::std::ptr::null::<_quickSpin>())).EventTimer0EndFrameID as *const _ as usize
13720        },
13721        4168usize,
13722        concat!(
13723            "Offset of field: ",
13724            stringify!(_quickSpin),
13725            "::",
13726            stringify!(EventTimer0EndFrameID)
13727        )
13728    );
13729    assert_eq!(
13730        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventTimer1End as *const _ as usize },
13731        4176usize,
13732        concat!(
13733            "Offset of field: ",
13734            stringify!(_quickSpin),
13735            "::",
13736            stringify!(EventTimer1End)
13737        )
13738    );
13739    assert_eq!(
13740        unsafe {
13741            &(*(::std::ptr::null::<_quickSpin>())).EventTimer1EndTimestamp as *const _ as usize
13742        },
13743        4184usize,
13744        concat!(
13745            "Offset of field: ",
13746            stringify!(_quickSpin),
13747            "::",
13748            stringify!(EventTimer1EndTimestamp)
13749        )
13750    );
13751    assert_eq!(
13752        unsafe {
13753            &(*(::std::ptr::null::<_quickSpin>())).EventTimer1EndFrameID as *const _ as usize
13754        },
13755        4192usize,
13756        concat!(
13757            "Offset of field: ",
13758            stringify!(_quickSpin),
13759            "::",
13760            stringify!(EventTimer1EndFrameID)
13761        )
13762    );
13763    assert_eq!(
13764        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventEncoder0Stopped as *const _ as usize },
13765        4200usize,
13766        concat!(
13767            "Offset of field: ",
13768            stringify!(_quickSpin),
13769            "::",
13770            stringify!(EventEncoder0Stopped)
13771        )
13772    );
13773    assert_eq!(
13774        unsafe {
13775            &(*(::std::ptr::null::<_quickSpin>())).EventEncoder0StoppedTimestamp as *const _
13776                as usize
13777        },
13778        4208usize,
13779        concat!(
13780            "Offset of field: ",
13781            stringify!(_quickSpin),
13782            "::",
13783            stringify!(EventEncoder0StoppedTimestamp)
13784        )
13785    );
13786    assert_eq!(
13787        unsafe {
13788            &(*(::std::ptr::null::<_quickSpin>())).EventEncoder0StoppedFrameID as *const _ as usize
13789        },
13790        4216usize,
13791        concat!(
13792            "Offset of field: ",
13793            stringify!(_quickSpin),
13794            "::",
13795            stringify!(EventEncoder0StoppedFrameID)
13796        )
13797    );
13798    assert_eq!(
13799        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventEncoder1Stopped as *const _ as usize },
13800        4224usize,
13801        concat!(
13802            "Offset of field: ",
13803            stringify!(_quickSpin),
13804            "::",
13805            stringify!(EventEncoder1Stopped)
13806        )
13807    );
13808    assert_eq!(
13809        unsafe {
13810            &(*(::std::ptr::null::<_quickSpin>())).EventEncoder1StoppedTimestamp as *const _
13811                as usize
13812        },
13813        4232usize,
13814        concat!(
13815            "Offset of field: ",
13816            stringify!(_quickSpin),
13817            "::",
13818            stringify!(EventEncoder1StoppedTimestamp)
13819        )
13820    );
13821    assert_eq!(
13822        unsafe {
13823            &(*(::std::ptr::null::<_quickSpin>())).EventEncoder1StoppedFrameID as *const _ as usize
13824        },
13825        4240usize,
13826        concat!(
13827            "Offset of field: ",
13828            stringify!(_quickSpin),
13829            "::",
13830            stringify!(EventEncoder1StoppedFrameID)
13831        )
13832    );
13833    assert_eq!(
13834        unsafe {
13835            &(*(::std::ptr::null::<_quickSpin>())).EventEncoder0Restarted as *const _ as usize
13836        },
13837        4248usize,
13838        concat!(
13839            "Offset of field: ",
13840            stringify!(_quickSpin),
13841            "::",
13842            stringify!(EventEncoder0Restarted)
13843        )
13844    );
13845    assert_eq!(
13846        unsafe {
13847            &(*(::std::ptr::null::<_quickSpin>())).EventEncoder0RestartedTimestamp as *const _
13848                as usize
13849        },
13850        4256usize,
13851        concat!(
13852            "Offset of field: ",
13853            stringify!(_quickSpin),
13854            "::",
13855            stringify!(EventEncoder0RestartedTimestamp)
13856        )
13857    );
13858    assert_eq!(
13859        unsafe {
13860            &(*(::std::ptr::null::<_quickSpin>())).EventEncoder0RestartedFrameID as *const _
13861                as usize
13862        },
13863        4264usize,
13864        concat!(
13865            "Offset of field: ",
13866            stringify!(_quickSpin),
13867            "::",
13868            stringify!(EventEncoder0RestartedFrameID)
13869        )
13870    );
13871    assert_eq!(
13872        unsafe {
13873            &(*(::std::ptr::null::<_quickSpin>())).EventEncoder1Restarted as *const _ as usize
13874        },
13875        4272usize,
13876        concat!(
13877            "Offset of field: ",
13878            stringify!(_quickSpin),
13879            "::",
13880            stringify!(EventEncoder1Restarted)
13881        )
13882    );
13883    assert_eq!(
13884        unsafe {
13885            &(*(::std::ptr::null::<_quickSpin>())).EventEncoder1RestartedTimestamp as *const _
13886                as usize
13887        },
13888        4280usize,
13889        concat!(
13890            "Offset of field: ",
13891            stringify!(_quickSpin),
13892            "::",
13893            stringify!(EventEncoder1RestartedTimestamp)
13894        )
13895    );
13896    assert_eq!(
13897        unsafe {
13898            &(*(::std::ptr::null::<_quickSpin>())).EventEncoder1RestartedFrameID as *const _
13899                as usize
13900        },
13901        4288usize,
13902        concat!(
13903            "Offset of field: ",
13904            stringify!(_quickSpin),
13905            "::",
13906            stringify!(EventEncoder1RestartedFrameID)
13907        )
13908    );
13909    assert_eq!(
13910        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventLine0RisingEdge as *const _ as usize },
13911        4296usize,
13912        concat!(
13913            "Offset of field: ",
13914            stringify!(_quickSpin),
13915            "::",
13916            stringify!(EventLine0RisingEdge)
13917        )
13918    );
13919    assert_eq!(
13920        unsafe {
13921            &(*(::std::ptr::null::<_quickSpin>())).EventLine0RisingEdgeTimestamp as *const _
13922                as usize
13923        },
13924        4304usize,
13925        concat!(
13926            "Offset of field: ",
13927            stringify!(_quickSpin),
13928            "::",
13929            stringify!(EventLine0RisingEdgeTimestamp)
13930        )
13931    );
13932    assert_eq!(
13933        unsafe {
13934            &(*(::std::ptr::null::<_quickSpin>())).EventLine0RisingEdgeFrameID as *const _ as usize
13935        },
13936        4312usize,
13937        concat!(
13938            "Offset of field: ",
13939            stringify!(_quickSpin),
13940            "::",
13941            stringify!(EventLine0RisingEdgeFrameID)
13942        )
13943    );
13944    assert_eq!(
13945        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventLine1RisingEdge as *const _ as usize },
13946        4320usize,
13947        concat!(
13948            "Offset of field: ",
13949            stringify!(_quickSpin),
13950            "::",
13951            stringify!(EventLine1RisingEdge)
13952        )
13953    );
13954    assert_eq!(
13955        unsafe {
13956            &(*(::std::ptr::null::<_quickSpin>())).EventLine1RisingEdgeTimestamp as *const _
13957                as usize
13958        },
13959        4328usize,
13960        concat!(
13961            "Offset of field: ",
13962            stringify!(_quickSpin),
13963            "::",
13964            stringify!(EventLine1RisingEdgeTimestamp)
13965        )
13966    );
13967    assert_eq!(
13968        unsafe {
13969            &(*(::std::ptr::null::<_quickSpin>())).EventLine1RisingEdgeFrameID as *const _ as usize
13970        },
13971        4336usize,
13972        concat!(
13973            "Offset of field: ",
13974            stringify!(_quickSpin),
13975            "::",
13976            stringify!(EventLine1RisingEdgeFrameID)
13977        )
13978    );
13979    assert_eq!(
13980        unsafe {
13981            &(*(::std::ptr::null::<_quickSpin>())).EventLine0FallingEdge as *const _ as usize
13982        },
13983        4344usize,
13984        concat!(
13985            "Offset of field: ",
13986            stringify!(_quickSpin),
13987            "::",
13988            stringify!(EventLine0FallingEdge)
13989        )
13990    );
13991    assert_eq!(
13992        unsafe {
13993            &(*(::std::ptr::null::<_quickSpin>())).EventLine0FallingEdgeTimestamp as *const _
13994                as usize
13995        },
13996        4352usize,
13997        concat!(
13998            "Offset of field: ",
13999            stringify!(_quickSpin),
14000            "::",
14001            stringify!(EventLine0FallingEdgeTimestamp)
14002        )
14003    );
14004    assert_eq!(
14005        unsafe {
14006            &(*(::std::ptr::null::<_quickSpin>())).EventLine0FallingEdgeFrameID as *const _ as usize
14007        },
14008        4360usize,
14009        concat!(
14010            "Offset of field: ",
14011            stringify!(_quickSpin),
14012            "::",
14013            stringify!(EventLine0FallingEdgeFrameID)
14014        )
14015    );
14016    assert_eq!(
14017        unsafe {
14018            &(*(::std::ptr::null::<_quickSpin>())).EventLine1FallingEdge as *const _ as usize
14019        },
14020        4368usize,
14021        concat!(
14022            "Offset of field: ",
14023            stringify!(_quickSpin),
14024            "::",
14025            stringify!(EventLine1FallingEdge)
14026        )
14027    );
14028    assert_eq!(
14029        unsafe {
14030            &(*(::std::ptr::null::<_quickSpin>())).EventLine1FallingEdgeTimestamp as *const _
14031                as usize
14032        },
14033        4376usize,
14034        concat!(
14035            "Offset of field: ",
14036            stringify!(_quickSpin),
14037            "::",
14038            stringify!(EventLine1FallingEdgeTimestamp)
14039        )
14040    );
14041    assert_eq!(
14042        unsafe {
14043            &(*(::std::ptr::null::<_quickSpin>())).EventLine1FallingEdgeFrameID as *const _ as usize
14044        },
14045        4384usize,
14046        concat!(
14047            "Offset of field: ",
14048            stringify!(_quickSpin),
14049            "::",
14050            stringify!(EventLine1FallingEdgeFrameID)
14051        )
14052    );
14053    assert_eq!(
14054        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventLine0AnyEdge as *const _ as usize },
14055        4392usize,
14056        concat!(
14057            "Offset of field: ",
14058            stringify!(_quickSpin),
14059            "::",
14060            stringify!(EventLine0AnyEdge)
14061        )
14062    );
14063    assert_eq!(
14064        unsafe {
14065            &(*(::std::ptr::null::<_quickSpin>())).EventLine0AnyEdgeTimestamp as *const _ as usize
14066        },
14067        4400usize,
14068        concat!(
14069            "Offset of field: ",
14070            stringify!(_quickSpin),
14071            "::",
14072            stringify!(EventLine0AnyEdgeTimestamp)
14073        )
14074    );
14075    assert_eq!(
14076        unsafe {
14077            &(*(::std::ptr::null::<_quickSpin>())).EventLine0AnyEdgeFrameID as *const _ as usize
14078        },
14079        4408usize,
14080        concat!(
14081            "Offset of field: ",
14082            stringify!(_quickSpin),
14083            "::",
14084            stringify!(EventLine0AnyEdgeFrameID)
14085        )
14086    );
14087    assert_eq!(
14088        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventLine1AnyEdge as *const _ as usize },
14089        4416usize,
14090        concat!(
14091            "Offset of field: ",
14092            stringify!(_quickSpin),
14093            "::",
14094            stringify!(EventLine1AnyEdge)
14095        )
14096    );
14097    assert_eq!(
14098        unsafe {
14099            &(*(::std::ptr::null::<_quickSpin>())).EventLine1AnyEdgeTimestamp as *const _ as usize
14100        },
14101        4424usize,
14102        concat!(
14103            "Offset of field: ",
14104            stringify!(_quickSpin),
14105            "::",
14106            stringify!(EventLine1AnyEdgeTimestamp)
14107        )
14108    );
14109    assert_eq!(
14110        unsafe {
14111            &(*(::std::ptr::null::<_quickSpin>())).EventLine1AnyEdgeFrameID as *const _ as usize
14112        },
14113        4432usize,
14114        concat!(
14115            "Offset of field: ",
14116            stringify!(_quickSpin),
14117            "::",
14118            stringify!(EventLine1AnyEdgeFrameID)
14119        )
14120    );
14121    assert_eq!(
14122        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventLinkTrigger0 as *const _ as usize },
14123        4440usize,
14124        concat!(
14125            "Offset of field: ",
14126            stringify!(_quickSpin),
14127            "::",
14128            stringify!(EventLinkTrigger0)
14129        )
14130    );
14131    assert_eq!(
14132        unsafe {
14133            &(*(::std::ptr::null::<_quickSpin>())).EventLinkTrigger0Timestamp as *const _ as usize
14134        },
14135        4448usize,
14136        concat!(
14137            "Offset of field: ",
14138            stringify!(_quickSpin),
14139            "::",
14140            stringify!(EventLinkTrigger0Timestamp)
14141        )
14142    );
14143    assert_eq!(
14144        unsafe {
14145            &(*(::std::ptr::null::<_quickSpin>())).EventLinkTrigger0FrameID as *const _ as usize
14146        },
14147        4456usize,
14148        concat!(
14149            "Offset of field: ",
14150            stringify!(_quickSpin),
14151            "::",
14152            stringify!(EventLinkTrigger0FrameID)
14153        )
14154    );
14155    assert_eq!(
14156        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventLinkTrigger1 as *const _ as usize },
14157        4464usize,
14158        concat!(
14159            "Offset of field: ",
14160            stringify!(_quickSpin),
14161            "::",
14162            stringify!(EventLinkTrigger1)
14163        )
14164    );
14165    assert_eq!(
14166        unsafe {
14167            &(*(::std::ptr::null::<_quickSpin>())).EventLinkTrigger1Timestamp as *const _ as usize
14168        },
14169        4472usize,
14170        concat!(
14171            "Offset of field: ",
14172            stringify!(_quickSpin),
14173            "::",
14174            stringify!(EventLinkTrigger1Timestamp)
14175        )
14176    );
14177    assert_eq!(
14178        unsafe {
14179            &(*(::std::ptr::null::<_quickSpin>())).EventLinkTrigger1FrameID as *const _ as usize
14180        },
14181        4480usize,
14182        concat!(
14183            "Offset of field: ",
14184            stringify!(_quickSpin),
14185            "::",
14186            stringify!(EventLinkTrigger1FrameID)
14187        )
14188    );
14189    assert_eq!(
14190        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventActionLate as *const _ as usize },
14191        4488usize,
14192        concat!(
14193            "Offset of field: ",
14194            stringify!(_quickSpin),
14195            "::",
14196            stringify!(EventActionLate)
14197        )
14198    );
14199    assert_eq!(
14200        unsafe {
14201            &(*(::std::ptr::null::<_quickSpin>())).EventActionLateTimestamp as *const _ as usize
14202        },
14203        4496usize,
14204        concat!(
14205            "Offset of field: ",
14206            stringify!(_quickSpin),
14207            "::",
14208            stringify!(EventActionLateTimestamp)
14209        )
14210    );
14211    assert_eq!(
14212        unsafe {
14213            &(*(::std::ptr::null::<_quickSpin>())).EventActionLateFrameID as *const _ as usize
14214        },
14215        4504usize,
14216        concat!(
14217            "Offset of field: ",
14218            stringify!(_quickSpin),
14219            "::",
14220            stringify!(EventActionLateFrameID)
14221        )
14222    );
14223    assert_eq!(
14224        unsafe { &(*(::std::ptr::null::<_quickSpin>())).EventLinkSpeedChange as *const _ as usize },
14225        4512usize,
14226        concat!(
14227            "Offset of field: ",
14228            stringify!(_quickSpin),
14229            "::",
14230            stringify!(EventLinkSpeedChange)
14231        )
14232    );
14233    assert_eq!(
14234        unsafe {
14235            &(*(::std::ptr::null::<_quickSpin>())).EventLinkSpeedChangeTimestamp as *const _
14236                as usize
14237        },
14238        4520usize,
14239        concat!(
14240            "Offset of field: ",
14241            stringify!(_quickSpin),
14242            "::",
14243            stringify!(EventLinkSpeedChangeTimestamp)
14244        )
14245    );
14246    assert_eq!(
14247        unsafe {
14248            &(*(::std::ptr::null::<_quickSpin>())).EventLinkSpeedChangeFrameID as *const _ as usize
14249        },
14250        4528usize,
14251        concat!(
14252            "Offset of field: ",
14253            stringify!(_quickSpin),
14254            "::",
14255            stringify!(EventLinkSpeedChangeFrameID)
14256        )
14257    );
14258    assert_eq!(
14259        unsafe { &(*(::std::ptr::null::<_quickSpin>())).FileAccessBuffer as *const _ as usize },
14260        4536usize,
14261        concat!(
14262            "Offset of field: ",
14263            stringify!(_quickSpin),
14264            "::",
14265            stringify!(FileAccessBuffer)
14266        )
14267    );
14268    assert_eq!(
14269        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SourceCount as *const _ as usize },
14270        4544usize,
14271        concat!(
14272            "Offset of field: ",
14273            stringify!(_quickSpin),
14274            "::",
14275            stringify!(SourceCount)
14276        )
14277    );
14278    assert_eq!(
14279        unsafe { &(*(::std::ptr::null::<_quickSpin>())).SourceSelector as *const _ as usize },
14280        4552usize,
14281        concat!(
14282            "Offset of field: ",
14283            stringify!(_quickSpin),
14284            "::",
14285            stringify!(SourceSelector)
14286        )
14287    );
14288    assert_eq!(
14289        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TransferSelector as *const _ as usize },
14290        4560usize,
14291        concat!(
14292            "Offset of field: ",
14293            stringify!(_quickSpin),
14294            "::",
14295            stringify!(TransferSelector)
14296        )
14297    );
14298    assert_eq!(
14299        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TransferBurstCount as *const _ as usize },
14300        4568usize,
14301        concat!(
14302            "Offset of field: ",
14303            stringify!(_quickSpin),
14304            "::",
14305            stringify!(TransferBurstCount)
14306        )
14307    );
14308    assert_eq!(
14309        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TransferAbort as *const _ as usize },
14310        4576usize,
14311        concat!(
14312            "Offset of field: ",
14313            stringify!(_quickSpin),
14314            "::",
14315            stringify!(TransferAbort)
14316        )
14317    );
14318    assert_eq!(
14319        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TransferPause as *const _ as usize },
14320        4584usize,
14321        concat!(
14322            "Offset of field: ",
14323            stringify!(_quickSpin),
14324            "::",
14325            stringify!(TransferPause)
14326        )
14327    );
14328    assert_eq!(
14329        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TransferResume as *const _ as usize },
14330        4592usize,
14331        concat!(
14332            "Offset of field: ",
14333            stringify!(_quickSpin),
14334            "::",
14335            stringify!(TransferResume)
14336        )
14337    );
14338    assert_eq!(
14339        unsafe {
14340            &(*(::std::ptr::null::<_quickSpin>())).TransferTriggerSelector as *const _ as usize
14341        },
14342        4600usize,
14343        concat!(
14344            "Offset of field: ",
14345            stringify!(_quickSpin),
14346            "::",
14347            stringify!(TransferTriggerSelector)
14348        )
14349    );
14350    assert_eq!(
14351        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TransferTriggerMode as *const _ as usize },
14352        4608usize,
14353        concat!(
14354            "Offset of field: ",
14355            stringify!(_quickSpin),
14356            "::",
14357            stringify!(TransferTriggerMode)
14358        )
14359    );
14360    assert_eq!(
14361        unsafe {
14362            &(*(::std::ptr::null::<_quickSpin>())).TransferTriggerSource as *const _ as usize
14363        },
14364        4616usize,
14365        concat!(
14366            "Offset of field: ",
14367            stringify!(_quickSpin),
14368            "::",
14369            stringify!(TransferTriggerSource)
14370        )
14371    );
14372    assert_eq!(
14373        unsafe {
14374            &(*(::std::ptr::null::<_quickSpin>())).TransferTriggerActivation as *const _ as usize
14375        },
14376        4624usize,
14377        concat!(
14378            "Offset of field: ",
14379            stringify!(_quickSpin),
14380            "::",
14381            stringify!(TransferTriggerActivation)
14382        )
14383    );
14384    assert_eq!(
14385        unsafe {
14386            &(*(::std::ptr::null::<_quickSpin>())).TransferStatusSelector as *const _ as usize
14387        },
14388        4632usize,
14389        concat!(
14390            "Offset of field: ",
14391            stringify!(_quickSpin),
14392            "::",
14393            stringify!(TransferStatusSelector)
14394        )
14395    );
14396    assert_eq!(
14397        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TransferStatus as *const _ as usize },
14398        4640usize,
14399        concat!(
14400            "Offset of field: ",
14401            stringify!(_quickSpin),
14402            "::",
14403            stringify!(TransferStatus)
14404        )
14405    );
14406    assert_eq!(
14407        unsafe {
14408            &(*(::std::ptr::null::<_quickSpin>())).TransferComponentSelector as *const _ as usize
14409        },
14410        4648usize,
14411        concat!(
14412            "Offset of field: ",
14413            stringify!(_quickSpin),
14414            "::",
14415            stringify!(TransferComponentSelector)
14416        )
14417    );
14418    assert_eq!(
14419        unsafe {
14420            &(*(::std::ptr::null::<_quickSpin>())).TransferStreamChannel as *const _ as usize
14421        },
14422        4656usize,
14423        concat!(
14424            "Offset of field: ",
14425            stringify!(_quickSpin),
14426            "::",
14427            stringify!(TransferStreamChannel)
14428        )
14429    );
14430    assert_eq!(
14431        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Scan3dDistanceUnit as *const _ as usize },
14432        4664usize,
14433        concat!(
14434            "Offset of field: ",
14435            stringify!(_quickSpin),
14436            "::",
14437            stringify!(Scan3dDistanceUnit)
14438        )
14439    );
14440    assert_eq!(
14441        unsafe {
14442            &(*(::std::ptr::null::<_quickSpin>())).Scan3dCoordinateSystem as *const _ as usize
14443        },
14444        4672usize,
14445        concat!(
14446            "Offset of field: ",
14447            stringify!(_quickSpin),
14448            "::",
14449            stringify!(Scan3dCoordinateSystem)
14450        )
14451    );
14452    assert_eq!(
14453        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Scan3dOutputMode as *const _ as usize },
14454        4680usize,
14455        concat!(
14456            "Offset of field: ",
14457            stringify!(_quickSpin),
14458            "::",
14459            stringify!(Scan3dOutputMode)
14460        )
14461    );
14462    assert_eq!(
14463        unsafe {
14464            &(*(::std::ptr::null::<_quickSpin>())).Scan3dCoordinateSystemReference as *const _
14465                as usize
14466        },
14467        4688usize,
14468        concat!(
14469            "Offset of field: ",
14470            stringify!(_quickSpin),
14471            "::",
14472            stringify!(Scan3dCoordinateSystemReference)
14473        )
14474    );
14475    assert_eq!(
14476        unsafe {
14477            &(*(::std::ptr::null::<_quickSpin>())).Scan3dCoordinateSelector as *const _ as usize
14478        },
14479        4696usize,
14480        concat!(
14481            "Offset of field: ",
14482            stringify!(_quickSpin),
14483            "::",
14484            stringify!(Scan3dCoordinateSelector)
14485        )
14486    );
14487    assert_eq!(
14488        unsafe {
14489            &(*(::std::ptr::null::<_quickSpin>())).Scan3dCoordinateScale as *const _ as usize
14490        },
14491        4704usize,
14492        concat!(
14493            "Offset of field: ",
14494            stringify!(_quickSpin),
14495            "::",
14496            stringify!(Scan3dCoordinateScale)
14497        )
14498    );
14499    assert_eq!(
14500        unsafe {
14501            &(*(::std::ptr::null::<_quickSpin>())).Scan3dCoordinateOffset as *const _ as usize
14502        },
14503        4712usize,
14504        concat!(
14505            "Offset of field: ",
14506            stringify!(_quickSpin),
14507            "::",
14508            stringify!(Scan3dCoordinateOffset)
14509        )
14510    );
14511    assert_eq!(
14512        unsafe {
14513            &(*(::std::ptr::null::<_quickSpin>())).Scan3dInvalidDataFlag as *const _ as usize
14514        },
14515        4720usize,
14516        concat!(
14517            "Offset of field: ",
14518            stringify!(_quickSpin),
14519            "::",
14520            stringify!(Scan3dInvalidDataFlag)
14521        )
14522    );
14523    assert_eq!(
14524        unsafe {
14525            &(*(::std::ptr::null::<_quickSpin>())).Scan3dInvalidDataValue as *const _ as usize
14526        },
14527        4728usize,
14528        concat!(
14529            "Offset of field: ",
14530            stringify!(_quickSpin),
14531            "::",
14532            stringify!(Scan3dInvalidDataValue)
14533        )
14534    );
14535    assert_eq!(
14536        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Scan3dAxisMin as *const _ as usize },
14537        4736usize,
14538        concat!(
14539            "Offset of field: ",
14540            stringify!(_quickSpin),
14541            "::",
14542            stringify!(Scan3dAxisMin)
14543        )
14544    );
14545    assert_eq!(
14546        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Scan3dAxisMax as *const _ as usize },
14547        4744usize,
14548        concat!(
14549            "Offset of field: ",
14550            stringify!(_quickSpin),
14551            "::",
14552            stringify!(Scan3dAxisMax)
14553        )
14554    );
14555    assert_eq!(
14556        unsafe {
14557            &(*(::std::ptr::null::<_quickSpin>())).Scan3dCoordinateTransformSelector as *const _
14558                as usize
14559        },
14560        4752usize,
14561        concat!(
14562            "Offset of field: ",
14563            stringify!(_quickSpin),
14564            "::",
14565            stringify!(Scan3dCoordinateTransformSelector)
14566        )
14567    );
14568    assert_eq!(
14569        unsafe { &(*(::std::ptr::null::<_quickSpin>())).Scan3dTransformValue as *const _ as usize },
14570        4760usize,
14571        concat!(
14572            "Offset of field: ",
14573            stringify!(_quickSpin),
14574            "::",
14575            stringify!(Scan3dTransformValue)
14576        )
14577    );
14578    assert_eq!(
14579        unsafe {
14580            &(*(::std::ptr::null::<_quickSpin>())).Scan3dCoordinateReferenceSelector as *const _
14581                as usize
14582        },
14583        4768usize,
14584        concat!(
14585            "Offset of field: ",
14586            stringify!(_quickSpin),
14587            "::",
14588            stringify!(Scan3dCoordinateReferenceSelector)
14589        )
14590    );
14591    assert_eq!(
14592        unsafe {
14593            &(*(::std::ptr::null::<_quickSpin>())).Scan3dCoordinateReferenceValue as *const _
14594                as usize
14595        },
14596        4776usize,
14597        concat!(
14598            "Offset of field: ",
14599            stringify!(_quickSpin),
14600            "::",
14601            stringify!(Scan3dCoordinateReferenceValue)
14602        )
14603    );
14604    assert_eq!(
14605        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkPartSelector as *const _ as usize },
14606        4784usize,
14607        concat!(
14608            "Offset of field: ",
14609            stringify!(_quickSpin),
14610            "::",
14611            stringify!(ChunkPartSelector)
14612        )
14613    );
14614    assert_eq!(
14615        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkImageComponent as *const _ as usize },
14616        4792usize,
14617        concat!(
14618            "Offset of field: ",
14619            stringify!(_quickSpin),
14620            "::",
14621            stringify!(ChunkImageComponent)
14622        )
14623    );
14624    assert_eq!(
14625        unsafe {
14626            &(*(::std::ptr::null::<_quickSpin>())).ChunkPixelDynamicRangeMin as *const _ as usize
14627        },
14628        4800usize,
14629        concat!(
14630            "Offset of field: ",
14631            stringify!(_quickSpin),
14632            "::",
14633            stringify!(ChunkPixelDynamicRangeMin)
14634        )
14635    );
14636    assert_eq!(
14637        unsafe {
14638            &(*(::std::ptr::null::<_quickSpin>())).ChunkPixelDynamicRangeMax as *const _ as usize
14639        },
14640        4808usize,
14641        concat!(
14642            "Offset of field: ",
14643            stringify!(_quickSpin),
14644            "::",
14645            stringify!(ChunkPixelDynamicRangeMax)
14646        )
14647    );
14648    assert_eq!(
14649        unsafe {
14650            &(*(::std::ptr::null::<_quickSpin>())).ChunkTimestampLatchValue as *const _ as usize
14651        },
14652        4816usize,
14653        concat!(
14654            "Offset of field: ",
14655            stringify!(_quickSpin),
14656            "::",
14657            stringify!(ChunkTimestampLatchValue)
14658        )
14659    );
14660    assert_eq!(
14661        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkLineStatusAll as *const _ as usize },
14662        4824usize,
14663        concat!(
14664            "Offset of field: ",
14665            stringify!(_quickSpin),
14666            "::",
14667            stringify!(ChunkLineStatusAll)
14668        )
14669    );
14670    assert_eq!(
14671        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkCounterSelector as *const _ as usize },
14672        4832usize,
14673        concat!(
14674            "Offset of field: ",
14675            stringify!(_quickSpin),
14676            "::",
14677            stringify!(ChunkCounterSelector)
14678        )
14679    );
14680    assert_eq!(
14681        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkCounterValue as *const _ as usize },
14682        4840usize,
14683        concat!(
14684            "Offset of field: ",
14685            stringify!(_quickSpin),
14686            "::",
14687            stringify!(ChunkCounterValue)
14688        )
14689    );
14690    assert_eq!(
14691        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkTimerSelector as *const _ as usize },
14692        4848usize,
14693        concat!(
14694            "Offset of field: ",
14695            stringify!(_quickSpin),
14696            "::",
14697            stringify!(ChunkTimerSelector)
14698        )
14699    );
14700    assert_eq!(
14701        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkTimerValue as *const _ as usize },
14702        4856usize,
14703        concat!(
14704            "Offset of field: ",
14705            stringify!(_quickSpin),
14706            "::",
14707            stringify!(ChunkTimerValue)
14708        )
14709    );
14710    assert_eq!(
14711        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkEncoderSelector as *const _ as usize },
14712        4864usize,
14713        concat!(
14714            "Offset of field: ",
14715            stringify!(_quickSpin),
14716            "::",
14717            stringify!(ChunkEncoderSelector)
14718        )
14719    );
14720    assert_eq!(
14721        unsafe {
14722            &(*(::std::ptr::null::<_quickSpin>())).ChunkScanLineSelector as *const _ as usize
14723        },
14724        4872usize,
14725        concat!(
14726            "Offset of field: ",
14727            stringify!(_quickSpin),
14728            "::",
14729            stringify!(ChunkScanLineSelector)
14730        )
14731    );
14732    assert_eq!(
14733        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkEncoderValue as *const _ as usize },
14734        4880usize,
14735        concat!(
14736            "Offset of field: ",
14737            stringify!(_quickSpin),
14738            "::",
14739            stringify!(ChunkEncoderValue)
14740        )
14741    );
14742    assert_eq!(
14743        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkEncoderStatus as *const _ as usize },
14744        4888usize,
14745        concat!(
14746            "Offset of field: ",
14747            stringify!(_quickSpin),
14748            "::",
14749            stringify!(ChunkEncoderStatus)
14750        )
14751    );
14752    assert_eq!(
14753        unsafe {
14754            &(*(::std::ptr::null::<_quickSpin>())).ChunkExposureTimeSelector as *const _ as usize
14755        },
14756        4896usize,
14757        concat!(
14758            "Offset of field: ",
14759            stringify!(_quickSpin),
14760            "::",
14761            stringify!(ChunkExposureTimeSelector)
14762        )
14763    );
14764    assert_eq!(
14765        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkLinePitch as *const _ as usize },
14766        4904usize,
14767        concat!(
14768            "Offset of field: ",
14769            stringify!(_quickSpin),
14770            "::",
14771            stringify!(ChunkLinePitch)
14772        )
14773    );
14774    assert_eq!(
14775        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkSourceID as *const _ as usize },
14776        4912usize,
14777        concat!(
14778            "Offset of field: ",
14779            stringify!(_quickSpin),
14780            "::",
14781            stringify!(ChunkSourceID)
14782        )
14783    );
14784    assert_eq!(
14785        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkRegionID as *const _ as usize },
14786        4920usize,
14787        concat!(
14788            "Offset of field: ",
14789            stringify!(_quickSpin),
14790            "::",
14791            stringify!(ChunkRegionID)
14792        )
14793    );
14794    assert_eq!(
14795        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkTransferBlockID as *const _ as usize },
14796        4928usize,
14797        concat!(
14798            "Offset of field: ",
14799            stringify!(_quickSpin),
14800            "::",
14801            stringify!(ChunkTransferBlockID)
14802        )
14803    );
14804    assert_eq!(
14805        unsafe {
14806            &(*(::std::ptr::null::<_quickSpin>())).ChunkTransferStreamID as *const _ as usize
14807        },
14808        4936usize,
14809        concat!(
14810            "Offset of field: ",
14811            stringify!(_quickSpin),
14812            "::",
14813            stringify!(ChunkTransferStreamID)
14814        )
14815    );
14816    assert_eq!(
14817        unsafe {
14818            &(*(::std::ptr::null::<_quickSpin>())).ChunkTransferQueueCurrentBlockCount as *const _
14819                as usize
14820        },
14821        4944usize,
14822        concat!(
14823            "Offset of field: ",
14824            stringify!(_quickSpin),
14825            "::",
14826            stringify!(ChunkTransferQueueCurrentBlockCount)
14827        )
14828    );
14829    assert_eq!(
14830        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkStreamChannelID as *const _ as usize },
14831        4952usize,
14832        concat!(
14833            "Offset of field: ",
14834            stringify!(_quickSpin),
14835            "::",
14836            stringify!(ChunkStreamChannelID)
14837        )
14838    );
14839    assert_eq!(
14840        unsafe {
14841            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dDistanceUnit as *const _ as usize
14842        },
14843        4960usize,
14844        concat!(
14845            "Offset of field: ",
14846            stringify!(_quickSpin),
14847            "::",
14848            stringify!(ChunkScan3dDistanceUnit)
14849        )
14850    );
14851    assert_eq!(
14852        unsafe {
14853            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dOutputMode as *const _ as usize
14854        },
14855        4968usize,
14856        concat!(
14857            "Offset of field: ",
14858            stringify!(_quickSpin),
14859            "::",
14860            stringify!(ChunkScan3dOutputMode)
14861        )
14862    );
14863    assert_eq!(
14864        unsafe {
14865            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dCoordinateSystem as *const _ as usize
14866        },
14867        4976usize,
14868        concat!(
14869            "Offset of field: ",
14870            stringify!(_quickSpin),
14871            "::",
14872            stringify!(ChunkScan3dCoordinateSystem)
14873        )
14874    );
14875    assert_eq!(
14876        unsafe {
14877            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dCoordinateSystemReference as *const _
14878                as usize
14879        },
14880        4984usize,
14881        concat!(
14882            "Offset of field: ",
14883            stringify!(_quickSpin),
14884            "::",
14885            stringify!(ChunkScan3dCoordinateSystemReference)
14886        )
14887    );
14888    assert_eq!(
14889        unsafe {
14890            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dCoordinateSelector as *const _
14891                as usize
14892        },
14893        4992usize,
14894        concat!(
14895            "Offset of field: ",
14896            stringify!(_quickSpin),
14897            "::",
14898            stringify!(ChunkScan3dCoordinateSelector)
14899        )
14900    );
14901    assert_eq!(
14902        unsafe {
14903            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dCoordinateScale as *const _ as usize
14904        },
14905        5000usize,
14906        concat!(
14907            "Offset of field: ",
14908            stringify!(_quickSpin),
14909            "::",
14910            stringify!(ChunkScan3dCoordinateScale)
14911        )
14912    );
14913    assert_eq!(
14914        unsafe {
14915            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dCoordinateOffset as *const _ as usize
14916        },
14917        5008usize,
14918        concat!(
14919            "Offset of field: ",
14920            stringify!(_quickSpin),
14921            "::",
14922            stringify!(ChunkScan3dCoordinateOffset)
14923        )
14924    );
14925    assert_eq!(
14926        unsafe {
14927            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dInvalidDataFlag as *const _ as usize
14928        },
14929        5016usize,
14930        concat!(
14931            "Offset of field: ",
14932            stringify!(_quickSpin),
14933            "::",
14934            stringify!(ChunkScan3dInvalidDataFlag)
14935        )
14936    );
14937    assert_eq!(
14938        unsafe {
14939            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dInvalidDataValue as *const _ as usize
14940        },
14941        5024usize,
14942        concat!(
14943            "Offset of field: ",
14944            stringify!(_quickSpin),
14945            "::",
14946            stringify!(ChunkScan3dInvalidDataValue)
14947        )
14948    );
14949    assert_eq!(
14950        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dAxisMin as *const _ as usize },
14951        5032usize,
14952        concat!(
14953            "Offset of field: ",
14954            stringify!(_quickSpin),
14955            "::",
14956            stringify!(ChunkScan3dAxisMin)
14957        )
14958    );
14959    assert_eq!(
14960        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dAxisMax as *const _ as usize },
14961        5040usize,
14962        concat!(
14963            "Offset of field: ",
14964            stringify!(_quickSpin),
14965            "::",
14966            stringify!(ChunkScan3dAxisMax)
14967        )
14968    );
14969    assert_eq!(
14970        unsafe {
14971            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dCoordinateTransformSelector
14972                as *const _ as usize
14973        },
14974        5048usize,
14975        concat!(
14976            "Offset of field: ",
14977            stringify!(_quickSpin),
14978            "::",
14979            stringify!(ChunkScan3dCoordinateTransformSelector)
14980        )
14981    );
14982    assert_eq!(
14983        unsafe {
14984            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dTransformValue as *const _ as usize
14985        },
14986        5056usize,
14987        concat!(
14988            "Offset of field: ",
14989            stringify!(_quickSpin),
14990            "::",
14991            stringify!(ChunkScan3dTransformValue)
14992        )
14993    );
14994    assert_eq!(
14995        unsafe {
14996            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dCoordinateReferenceSelector
14997                as *const _ as usize
14998        },
14999        5064usize,
15000        concat!(
15001            "Offset of field: ",
15002            stringify!(_quickSpin),
15003            "::",
15004            stringify!(ChunkScan3dCoordinateReferenceSelector)
15005        )
15006    );
15007    assert_eq!(
15008        unsafe {
15009            &(*(::std::ptr::null::<_quickSpin>())).ChunkScan3dCoordinateReferenceValue as *const _
15010                as usize
15011        },
15012        5072usize,
15013        concat!(
15014            "Offset of field: ",
15015            stringify!(_quickSpin),
15016            "::",
15017            stringify!(ChunkScan3dCoordinateReferenceValue)
15018        )
15019    );
15020    assert_eq!(
15021        unsafe { &(*(::std::ptr::null::<_quickSpin>())).TestPendingAck as *const _ as usize },
15022        5080usize,
15023        concat!(
15024            "Offset of field: ",
15025            stringify!(_quickSpin),
15026            "::",
15027            stringify!(TestPendingAck)
15028        )
15029    );
15030    assert_eq!(
15031        unsafe { &(*(::std::ptr::null::<_quickSpin>())).DeviceTapGeometry as *const _ as usize },
15032        5088usize,
15033        concat!(
15034            "Offset of field: ",
15035            stringify!(_quickSpin),
15036            "::",
15037            stringify!(DeviceTapGeometry)
15038        )
15039    );
15040    assert_eq!(
15041        unsafe {
15042            &(*(::std::ptr::null::<_quickSpin>())).GevPhysicalLinkConfiguration as *const _ as usize
15043        },
15044        5096usize,
15045        concat!(
15046            "Offset of field: ",
15047            stringify!(_quickSpin),
15048            "::",
15049            stringify!(GevPhysicalLinkConfiguration)
15050        )
15051    );
15052    assert_eq!(
15053        unsafe {
15054            &(*(::std::ptr::null::<_quickSpin>())).GevCurrentPhysicalLinkConfiguration as *const _
15055                as usize
15056        },
15057        5104usize,
15058        concat!(
15059            "Offset of field: ",
15060            stringify!(_quickSpin),
15061            "::",
15062            stringify!(GevCurrentPhysicalLinkConfiguration)
15063        )
15064    );
15065    assert_eq!(
15066        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevActiveLinkCount as *const _ as usize },
15067        5112usize,
15068        concat!(
15069            "Offset of field: ",
15070            stringify!(_quickSpin),
15071            "::",
15072            stringify!(GevActiveLinkCount)
15073        )
15074    );
15075    assert_eq!(
15076        unsafe {
15077            &(*(::std::ptr::null::<_quickSpin>())).GevPAUSEFrameReception as *const _ as usize
15078        },
15079        5120usize,
15080        concat!(
15081            "Offset of field: ",
15082            stringify!(_quickSpin),
15083            "::",
15084            stringify!(GevPAUSEFrameReception)
15085        )
15086    );
15087    assert_eq!(
15088        unsafe {
15089            &(*(::std::ptr::null::<_quickSpin>())).GevPAUSEFrameTransmission as *const _ as usize
15090        },
15091        5128usize,
15092        concat!(
15093            "Offset of field: ",
15094            stringify!(_quickSpin),
15095            "::",
15096            stringify!(GevPAUSEFrameTransmission)
15097        )
15098    );
15099    assert_eq!(
15100        unsafe {
15101            &(*(::std::ptr::null::<_quickSpin>())).GevIPConfigurationStatus as *const _ as usize
15102        },
15103        5136usize,
15104        concat!(
15105            "Offset of field: ",
15106            stringify!(_quickSpin),
15107            "::",
15108            stringify!(GevIPConfigurationStatus)
15109        )
15110    );
15111    assert_eq!(
15112        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevDiscoveryAckDelay as *const _ as usize },
15113        5144usize,
15114        concat!(
15115            "Offset of field: ",
15116            stringify!(_quickSpin),
15117            "::",
15118            stringify!(GevDiscoveryAckDelay)
15119        )
15120    );
15121    assert_eq!(
15122        unsafe {
15123            &(*(::std::ptr::null::<_quickSpin>())).GevGVCPExtendedStatusCodesSelector as *const _
15124                as usize
15125        },
15126        5152usize,
15127        concat!(
15128            "Offset of field: ",
15129            stringify!(_quickSpin),
15130            "::",
15131            stringify!(GevGVCPExtendedStatusCodesSelector)
15132        )
15133    );
15134    assert_eq!(
15135        unsafe {
15136            &(*(::std::ptr::null::<_quickSpin>())).GevGVCPExtendedStatusCodes as *const _ as usize
15137        },
15138        5160usize,
15139        concat!(
15140            "Offset of field: ",
15141            stringify!(_quickSpin),
15142            "::",
15143            stringify!(GevGVCPExtendedStatusCodes)
15144        )
15145    );
15146    assert_eq!(
15147        unsafe {
15148            &(*(::std::ptr::null::<_quickSpin>())).GevPrimaryApplicationSwitchoverKey as *const _
15149                as usize
15150        },
15151        5168usize,
15152        concat!(
15153            "Offset of field: ",
15154            stringify!(_quickSpin),
15155            "::",
15156            stringify!(GevPrimaryApplicationSwitchoverKey)
15157        )
15158    );
15159    assert_eq!(
15160        unsafe {
15161            &(*(::std::ptr::null::<_quickSpin>())).GevGVSPExtendedIDMode as *const _ as usize
15162        },
15163        5176usize,
15164        concat!(
15165            "Offset of field: ",
15166            stringify!(_quickSpin),
15167            "::",
15168            stringify!(GevGVSPExtendedIDMode)
15169        )
15170    );
15171    assert_eq!(
15172        unsafe {
15173            &(*(::std::ptr::null::<_quickSpin>())).GevPrimaryApplicationSocket as *const _ as usize
15174        },
15175        5184usize,
15176        concat!(
15177            "Offset of field: ",
15178            stringify!(_quickSpin),
15179            "::",
15180            stringify!(GevPrimaryApplicationSocket)
15181        )
15182    );
15183    assert_eq!(
15184        unsafe {
15185            &(*(::std::ptr::null::<_quickSpin>())).GevPrimaryApplicationIPAddress as *const _
15186                as usize
15187        },
15188        5192usize,
15189        concat!(
15190            "Offset of field: ",
15191            stringify!(_quickSpin),
15192            "::",
15193            stringify!(GevPrimaryApplicationIPAddress)
15194        )
15195    );
15196    assert_eq!(
15197        unsafe {
15198            &(*(::std::ptr::null::<_quickSpin>())).GevSCCFGPacketResendDestination as *const _
15199                as usize
15200        },
15201        5200usize,
15202        concat!(
15203            "Offset of field: ",
15204            stringify!(_quickSpin),
15205            "::",
15206            stringify!(GevSCCFGPacketResendDestination)
15207        )
15208    );
15209    assert_eq!(
15210        unsafe {
15211            &(*(::std::ptr::null::<_quickSpin>())).GevSCCFGAllInTransmission as *const _ as usize
15212        },
15213        5208usize,
15214        concat!(
15215            "Offset of field: ",
15216            stringify!(_quickSpin),
15217            "::",
15218            stringify!(GevSCCFGAllInTransmission)
15219        )
15220    );
15221    assert_eq!(
15222        unsafe { &(*(::std::ptr::null::<_quickSpin>())).GevSCZoneCount as *const _ as usize },
15223        5216usize,
15224        concat!(
15225            "Offset of field: ",
15226            stringify!(_quickSpin),
15227            "::",
15228            stringify!(GevSCZoneCount)
15229        )
15230    );
15231    assert_eq!(
15232        unsafe {
15233            &(*(::std::ptr::null::<_quickSpin>())).GevSCZoneDirectionAll as *const _ as usize
15234        },
15235        5224usize,
15236        concat!(
15237            "Offset of field: ",
15238            stringify!(_quickSpin),
15239            "::",
15240            stringify!(GevSCZoneDirectionAll)
15241        )
15242    );
15243    assert_eq!(
15244        unsafe {
15245            &(*(::std::ptr::null::<_quickSpin>())).GevSCZoneConfigurationLock as *const _ as usize
15246        },
15247        5232usize,
15248        concat!(
15249            "Offset of field: ",
15250            stringify!(_quickSpin),
15251            "::",
15252            stringify!(GevSCZoneConfigurationLock)
15253        )
15254    );
15255    assert_eq!(
15256        unsafe {
15257            &(*(::std::ptr::null::<_quickSpin>())).aPAUSEMACCtrlFramesTransmitted as *const _
15258                as usize
15259        },
15260        5240usize,
15261        concat!(
15262            "Offset of field: ",
15263            stringify!(_quickSpin),
15264            "::",
15265            stringify!(aPAUSEMACCtrlFramesTransmitted)
15266        )
15267    );
15268    assert_eq!(
15269        unsafe {
15270            &(*(::std::ptr::null::<_quickSpin>())).aPAUSEMACCtrlFramesReceived as *const _ as usize
15271        },
15272        5248usize,
15273        concat!(
15274            "Offset of field: ",
15275            stringify!(_quickSpin),
15276            "::",
15277            stringify!(aPAUSEMACCtrlFramesReceived)
15278        )
15279    );
15280    assert_eq!(
15281        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ClConfiguration as *const _ as usize },
15282        5256usize,
15283        concat!(
15284            "Offset of field: ",
15285            stringify!(_quickSpin),
15286            "::",
15287            stringify!(ClConfiguration)
15288        )
15289    );
15290    assert_eq!(
15291        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ClTimeSlotsCount as *const _ as usize },
15292        5264usize,
15293        concat!(
15294            "Offset of field: ",
15295            stringify!(_quickSpin),
15296            "::",
15297            stringify!(ClTimeSlotsCount)
15298        )
15299    );
15300    assert_eq!(
15301        unsafe {
15302            &(*(::std::ptr::null::<_quickSpin>())).CxpLinkConfigurationStatus as *const _ as usize
15303        },
15304        5272usize,
15305        concat!(
15306            "Offset of field: ",
15307            stringify!(_quickSpin),
15308            "::",
15309            stringify!(CxpLinkConfigurationStatus)
15310        )
15311    );
15312    assert_eq!(
15313        unsafe {
15314            &(*(::std::ptr::null::<_quickSpin>())).CxpLinkConfigurationPreferred as *const _
15315                as usize
15316        },
15317        5280usize,
15318        concat!(
15319            "Offset of field: ",
15320            stringify!(_quickSpin),
15321            "::",
15322            stringify!(CxpLinkConfigurationPreferred)
15323        )
15324    );
15325    assert_eq!(
15326        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CxpLinkConfiguration as *const _ as usize },
15327        5288usize,
15328        concat!(
15329            "Offset of field: ",
15330            stringify!(_quickSpin),
15331            "::",
15332            stringify!(CxpLinkConfiguration)
15333        )
15334    );
15335    assert_eq!(
15336        unsafe {
15337            &(*(::std::ptr::null::<_quickSpin>())).CxpConnectionSelector as *const _ as usize
15338        },
15339        5296usize,
15340        concat!(
15341            "Offset of field: ",
15342            stringify!(_quickSpin),
15343            "::",
15344            stringify!(CxpConnectionSelector)
15345        )
15346    );
15347    assert_eq!(
15348        unsafe {
15349            &(*(::std::ptr::null::<_quickSpin>())).CxpConnectionTestMode as *const _ as usize
15350        },
15351        5304usize,
15352        concat!(
15353            "Offset of field: ",
15354            stringify!(_quickSpin),
15355            "::",
15356            stringify!(CxpConnectionTestMode)
15357        )
15358    );
15359    assert_eq!(
15360        unsafe {
15361            &(*(::std::ptr::null::<_quickSpin>())).CxpConnectionTestErrorCount as *const _ as usize
15362        },
15363        5312usize,
15364        concat!(
15365            "Offset of field: ",
15366            stringify!(_quickSpin),
15367            "::",
15368            stringify!(CxpConnectionTestErrorCount)
15369        )
15370    );
15371    assert_eq!(
15372        unsafe {
15373            &(*(::std::ptr::null::<_quickSpin>())).CxpConnectionTestPacketCount as *const _ as usize
15374        },
15375        5320usize,
15376        concat!(
15377            "Offset of field: ",
15378            stringify!(_quickSpin),
15379            "::",
15380            stringify!(CxpConnectionTestPacketCount)
15381        )
15382    );
15383    assert_eq!(
15384        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CxpPoCxpAuto as *const _ as usize },
15385        5328usize,
15386        concat!(
15387            "Offset of field: ",
15388            stringify!(_quickSpin),
15389            "::",
15390            stringify!(CxpPoCxpAuto)
15391        )
15392    );
15393    assert_eq!(
15394        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CxpPoCxpTurnOff as *const _ as usize },
15395        5336usize,
15396        concat!(
15397            "Offset of field: ",
15398            stringify!(_quickSpin),
15399            "::",
15400            stringify!(CxpPoCxpTurnOff)
15401        )
15402    );
15403    assert_eq!(
15404        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CxpPoCxpTripReset as *const _ as usize },
15405        5344usize,
15406        concat!(
15407            "Offset of field: ",
15408            stringify!(_quickSpin),
15409            "::",
15410            stringify!(CxpPoCxpTripReset)
15411        )
15412    );
15413    assert_eq!(
15414        unsafe { &(*(::std::ptr::null::<_quickSpin>())).CxpPoCxpStatus as *const _ as usize },
15415        5352usize,
15416        concat!(
15417            "Offset of field: ",
15418            stringify!(_quickSpin),
15419            "::",
15420            stringify!(CxpPoCxpStatus)
15421        )
15422    );
15423    assert_eq!(
15424        unsafe {
15425            &(*(::std::ptr::null::<_quickSpin>())).ChunkInferenceFrameId as *const _ as usize
15426        },
15427        5360usize,
15428        concat!(
15429            "Offset of field: ",
15430            stringify!(_quickSpin),
15431            "::",
15432            stringify!(ChunkInferenceFrameId)
15433        )
15434    );
15435    assert_eq!(
15436        unsafe { &(*(::std::ptr::null::<_quickSpin>())).ChunkInferenceResult as *const _ as usize },
15437        5368usize,
15438        concat!(
15439            "Offset of field: ",
15440            stringify!(_quickSpin),
15441            "::",
15442            stringify!(ChunkInferenceResult)
15443        )
15444    );
15445    assert_eq!(
15446        unsafe {
15447            &(*(::std::ptr::null::<_quickSpin>())).ChunkInferenceConfidence as *const _ as usize
15448        },
15449        5376usize,
15450        concat!(
15451            "Offset of field: ",
15452            stringify!(_quickSpin),
15453            "::",
15454            stringify!(ChunkInferenceConfidence)
15455        )
15456    );
15457    assert_eq!(
15458        unsafe {
15459            &(*(::std::ptr::null::<_quickSpin>())).ChunkInferenceBoundingBoxResult as *const _
15460                as usize
15461        },
15462        5384usize,
15463        concat!(
15464            "Offset of field: ",
15465            stringify!(_quickSpin),
15466            "::",
15467            stringify!(ChunkInferenceBoundingBoxResult)
15468        )
15469    );
15470}
15471pub type quickSpin = _quickSpin;
15472#[repr(C)]
15473#[derive(Debug, Copy, Clone)]
15474pub struct _quickSpinTLSystem {
15475    pub TLID: quickSpinStringNode,
15476    pub TLVendorName: quickSpinStringNode,
15477    pub TLModelName: quickSpinStringNode,
15478    pub TLVersion: quickSpinStringNode,
15479    pub TLFileName: quickSpinStringNode,
15480    pub TLDisplayName: quickSpinStringNode,
15481    pub TLPath: quickSpinStringNode,
15482    pub TLType: quickSpinEnumerationNode,
15483    pub GenTLVersionMajor: quickSpinIntegerNode,
15484    pub GenTLVersionMinor: quickSpinIntegerNode,
15485    pub GenTLSFNCVersionMajor: quickSpinIntegerNode,
15486    pub GenTLSFNCVersionMinor: quickSpinIntegerNode,
15487    pub GenTLSFNCVersionSubMinor: quickSpinIntegerNode,
15488    pub GevVersionMajor: quickSpinIntegerNode,
15489    pub GevVersionMinor: quickSpinIntegerNode,
15490    pub InterfaceUpdateList: quickSpinCommandNode,
15491    pub InterfaceSelector: quickSpinIntegerNode,
15492    pub InterfaceID: quickSpinStringNode,
15493    pub InterfaceDisplayName: quickSpinStringNode,
15494    pub GevInterfaceMACAddress: quickSpinIntegerNode,
15495    pub GevInterfaceDefaultIPAddress: quickSpinIntegerNode,
15496    pub GevInterfaceDefaultSubnetMask: quickSpinIntegerNode,
15497    pub GevInterfaceDefaultGateway: quickSpinIntegerNode,
15498    pub EnumerateGEVInterfaces: quickSpinBooleanNode,
15499    pub EnumerateUSBInterfaces: quickSpinBooleanNode,
15500}
15501#[test]
15502fn bindgen_test_layout__quickSpinTLSystem() {
15503    assert_eq!(
15504        ::std::mem::size_of::<_quickSpinTLSystem>(),
15505        200usize,
15506        concat!("Size of: ", stringify!(_quickSpinTLSystem))
15507    );
15508    assert_eq!(
15509        ::std::mem::align_of::<_quickSpinTLSystem>(),
15510        8usize,
15511        concat!("Alignment of ", stringify!(_quickSpinTLSystem))
15512    );
15513    assert_eq!(
15514        unsafe { &(*(::std::ptr::null::<_quickSpinTLSystem>())).TLID as *const _ as usize },
15515        0usize,
15516        concat!(
15517            "Offset of field: ",
15518            stringify!(_quickSpinTLSystem),
15519            "::",
15520            stringify!(TLID)
15521        )
15522    );
15523    assert_eq!(
15524        unsafe { &(*(::std::ptr::null::<_quickSpinTLSystem>())).TLVendorName as *const _ as usize },
15525        8usize,
15526        concat!(
15527            "Offset of field: ",
15528            stringify!(_quickSpinTLSystem),
15529            "::",
15530            stringify!(TLVendorName)
15531        )
15532    );
15533    assert_eq!(
15534        unsafe { &(*(::std::ptr::null::<_quickSpinTLSystem>())).TLModelName as *const _ as usize },
15535        16usize,
15536        concat!(
15537            "Offset of field: ",
15538            stringify!(_quickSpinTLSystem),
15539            "::",
15540            stringify!(TLModelName)
15541        )
15542    );
15543    assert_eq!(
15544        unsafe { &(*(::std::ptr::null::<_quickSpinTLSystem>())).TLVersion as *const _ as usize },
15545        24usize,
15546        concat!(
15547            "Offset of field: ",
15548            stringify!(_quickSpinTLSystem),
15549            "::",
15550            stringify!(TLVersion)
15551        )
15552    );
15553    assert_eq!(
15554        unsafe { &(*(::std::ptr::null::<_quickSpinTLSystem>())).TLFileName as *const _ as usize },
15555        32usize,
15556        concat!(
15557            "Offset of field: ",
15558            stringify!(_quickSpinTLSystem),
15559            "::",
15560            stringify!(TLFileName)
15561        )
15562    );
15563    assert_eq!(
15564        unsafe {
15565            &(*(::std::ptr::null::<_quickSpinTLSystem>())).TLDisplayName as *const _ as usize
15566        },
15567        40usize,
15568        concat!(
15569            "Offset of field: ",
15570            stringify!(_quickSpinTLSystem),
15571            "::",
15572            stringify!(TLDisplayName)
15573        )
15574    );
15575    assert_eq!(
15576        unsafe { &(*(::std::ptr::null::<_quickSpinTLSystem>())).TLPath as *const _ as usize },
15577        48usize,
15578        concat!(
15579            "Offset of field: ",
15580            stringify!(_quickSpinTLSystem),
15581            "::",
15582            stringify!(TLPath)
15583        )
15584    );
15585    assert_eq!(
15586        unsafe { &(*(::std::ptr::null::<_quickSpinTLSystem>())).TLType as *const _ as usize },
15587        56usize,
15588        concat!(
15589            "Offset of field: ",
15590            stringify!(_quickSpinTLSystem),
15591            "::",
15592            stringify!(TLType)
15593        )
15594    );
15595    assert_eq!(
15596        unsafe {
15597            &(*(::std::ptr::null::<_quickSpinTLSystem>())).GenTLVersionMajor as *const _ as usize
15598        },
15599        64usize,
15600        concat!(
15601            "Offset of field: ",
15602            stringify!(_quickSpinTLSystem),
15603            "::",
15604            stringify!(GenTLVersionMajor)
15605        )
15606    );
15607    assert_eq!(
15608        unsafe {
15609            &(*(::std::ptr::null::<_quickSpinTLSystem>())).GenTLVersionMinor as *const _ as usize
15610        },
15611        72usize,
15612        concat!(
15613            "Offset of field: ",
15614            stringify!(_quickSpinTLSystem),
15615            "::",
15616            stringify!(GenTLVersionMinor)
15617        )
15618    );
15619    assert_eq!(
15620        unsafe {
15621            &(*(::std::ptr::null::<_quickSpinTLSystem>())).GenTLSFNCVersionMajor as *const _
15622                as usize
15623        },
15624        80usize,
15625        concat!(
15626            "Offset of field: ",
15627            stringify!(_quickSpinTLSystem),
15628            "::",
15629            stringify!(GenTLSFNCVersionMajor)
15630        )
15631    );
15632    assert_eq!(
15633        unsafe {
15634            &(*(::std::ptr::null::<_quickSpinTLSystem>())).GenTLSFNCVersionMinor as *const _
15635                as usize
15636        },
15637        88usize,
15638        concat!(
15639            "Offset of field: ",
15640            stringify!(_quickSpinTLSystem),
15641            "::",
15642            stringify!(GenTLSFNCVersionMinor)
15643        )
15644    );
15645    assert_eq!(
15646        unsafe {
15647            &(*(::std::ptr::null::<_quickSpinTLSystem>())).GenTLSFNCVersionSubMinor as *const _
15648                as usize
15649        },
15650        96usize,
15651        concat!(
15652            "Offset of field: ",
15653            stringify!(_quickSpinTLSystem),
15654            "::",
15655            stringify!(GenTLSFNCVersionSubMinor)
15656        )
15657    );
15658    assert_eq!(
15659        unsafe {
15660            &(*(::std::ptr::null::<_quickSpinTLSystem>())).GevVersionMajor as *const _ as usize
15661        },
15662        104usize,
15663        concat!(
15664            "Offset of field: ",
15665            stringify!(_quickSpinTLSystem),
15666            "::",
15667            stringify!(GevVersionMajor)
15668        )
15669    );
15670    assert_eq!(
15671        unsafe {
15672            &(*(::std::ptr::null::<_quickSpinTLSystem>())).GevVersionMinor as *const _ as usize
15673        },
15674        112usize,
15675        concat!(
15676            "Offset of field: ",
15677            stringify!(_quickSpinTLSystem),
15678            "::",
15679            stringify!(GevVersionMinor)
15680        )
15681    );
15682    assert_eq!(
15683        unsafe {
15684            &(*(::std::ptr::null::<_quickSpinTLSystem>())).InterfaceUpdateList as *const _ as usize
15685        },
15686        120usize,
15687        concat!(
15688            "Offset of field: ",
15689            stringify!(_quickSpinTLSystem),
15690            "::",
15691            stringify!(InterfaceUpdateList)
15692        )
15693    );
15694    assert_eq!(
15695        unsafe {
15696            &(*(::std::ptr::null::<_quickSpinTLSystem>())).InterfaceSelector as *const _ as usize
15697        },
15698        128usize,
15699        concat!(
15700            "Offset of field: ",
15701            stringify!(_quickSpinTLSystem),
15702            "::",
15703            stringify!(InterfaceSelector)
15704        )
15705    );
15706    assert_eq!(
15707        unsafe { &(*(::std::ptr::null::<_quickSpinTLSystem>())).InterfaceID as *const _ as usize },
15708        136usize,
15709        concat!(
15710            "Offset of field: ",
15711            stringify!(_quickSpinTLSystem),
15712            "::",
15713            stringify!(InterfaceID)
15714        )
15715    );
15716    assert_eq!(
15717        unsafe {
15718            &(*(::std::ptr::null::<_quickSpinTLSystem>())).InterfaceDisplayName as *const _ as usize
15719        },
15720        144usize,
15721        concat!(
15722            "Offset of field: ",
15723            stringify!(_quickSpinTLSystem),
15724            "::",
15725            stringify!(InterfaceDisplayName)
15726        )
15727    );
15728    assert_eq!(
15729        unsafe {
15730            &(*(::std::ptr::null::<_quickSpinTLSystem>())).GevInterfaceMACAddress as *const _
15731                as usize
15732        },
15733        152usize,
15734        concat!(
15735            "Offset of field: ",
15736            stringify!(_quickSpinTLSystem),
15737            "::",
15738            stringify!(GevInterfaceMACAddress)
15739        )
15740    );
15741    assert_eq!(
15742        unsafe {
15743            &(*(::std::ptr::null::<_quickSpinTLSystem>())).GevInterfaceDefaultIPAddress as *const _
15744                as usize
15745        },
15746        160usize,
15747        concat!(
15748            "Offset of field: ",
15749            stringify!(_quickSpinTLSystem),
15750            "::",
15751            stringify!(GevInterfaceDefaultIPAddress)
15752        )
15753    );
15754    assert_eq!(
15755        unsafe {
15756            &(*(::std::ptr::null::<_quickSpinTLSystem>())).GevInterfaceDefaultSubnetMask as *const _
15757                as usize
15758        },
15759        168usize,
15760        concat!(
15761            "Offset of field: ",
15762            stringify!(_quickSpinTLSystem),
15763            "::",
15764            stringify!(GevInterfaceDefaultSubnetMask)
15765        )
15766    );
15767    assert_eq!(
15768        unsafe {
15769            &(*(::std::ptr::null::<_quickSpinTLSystem>())).GevInterfaceDefaultGateway as *const _
15770                as usize
15771        },
15772        176usize,
15773        concat!(
15774            "Offset of field: ",
15775            stringify!(_quickSpinTLSystem),
15776            "::",
15777            stringify!(GevInterfaceDefaultGateway)
15778        )
15779    );
15780    assert_eq!(
15781        unsafe {
15782            &(*(::std::ptr::null::<_quickSpinTLSystem>())).EnumerateGEVInterfaces as *const _
15783                as usize
15784        },
15785        184usize,
15786        concat!(
15787            "Offset of field: ",
15788            stringify!(_quickSpinTLSystem),
15789            "::",
15790            stringify!(EnumerateGEVInterfaces)
15791        )
15792    );
15793    assert_eq!(
15794        unsafe {
15795            &(*(::std::ptr::null::<_quickSpinTLSystem>())).EnumerateUSBInterfaces as *const _
15796                as usize
15797        },
15798        192usize,
15799        concat!(
15800            "Offset of field: ",
15801            stringify!(_quickSpinTLSystem),
15802            "::",
15803            stringify!(EnumerateUSBInterfaces)
15804        )
15805    );
15806}
15807pub type quickSpinTLSystem = _quickSpinTLSystem;
15808#[repr(C)]
15809#[derive(Debug, Copy, Clone)]
15810pub struct _quickSpinTLDevice {
15811    pub DeviceID: quickSpinStringNode,
15812    pub DeviceSerialNumber: quickSpinStringNode,
15813    pub DeviceVendorName: quickSpinStringNode,
15814    pub DeviceModelName: quickSpinStringNode,
15815    pub DeviceType: quickSpinEnumerationNode,
15816    pub DeviceDisplayName: quickSpinStringNode,
15817    pub DeviceAccessStatus: quickSpinEnumerationNode,
15818    pub DeviceVersion: quickSpinStringNode,
15819    pub DeviceUserID: quickSpinStringNode,
15820    pub DeviceDriverVersion: quickSpinStringNode,
15821    pub DeviceIsUpdater: quickSpinBooleanNode,
15822    pub GevCCP: quickSpinEnumerationNode,
15823    pub GUIXMLLocation: quickSpinEnumerationNode,
15824    pub GUIXMLPath: quickSpinStringNode,
15825    pub GenICamXMLLocation: quickSpinEnumerationNode,
15826    pub GenICamXMLPath: quickSpinStringNode,
15827    pub GevDeviceIPAddress: quickSpinIntegerNode,
15828    pub GevDeviceSubnetMask: quickSpinIntegerNode,
15829    pub GevDeviceMACAddress: quickSpinIntegerNode,
15830    pub GevDeviceGateway: quickSpinIntegerNode,
15831    pub DeviceLinkSpeed: quickSpinIntegerNode,
15832    pub GevVersionMajor: quickSpinIntegerNode,
15833    pub GevVersionMinor: quickSpinIntegerNode,
15834    pub GevDeviceModeIsBigEndian: quickSpinBooleanNode,
15835    pub GevDeviceReadAndWriteTimeout: quickSpinIntegerNode,
15836    pub GevDeviceMaximumRetryCount: quickSpinIntegerNode,
15837    pub GevDevicePort: quickSpinIntegerNode,
15838    pub GevDeviceDiscoverMaximumPacketSize: quickSpinCommandNode,
15839    pub GevDeviceMaximumPacketSize: quickSpinIntegerNode,
15840    pub GevDeviceIsWrongSubnet: quickSpinBooleanNode,
15841    pub GevDeviceAutoForceIP: quickSpinCommandNode,
15842    pub GevDeviceForceIP: quickSpinCommandNode,
15843    pub GevDeviceForceIPAddress: quickSpinIntegerNode,
15844    pub GevDeviceForceSubnetMask: quickSpinIntegerNode,
15845    pub GevDeviceForceGateway: quickSpinIntegerNode,
15846    pub DeviceMulticastMonitorMode: quickSpinBooleanNode,
15847    pub DeviceEndianessMechanism: quickSpinEnumerationNode,
15848    pub DeviceInstanceId: quickSpinStringNode,
15849    pub DeviceLocation: quickSpinStringNode,
15850    pub DeviceCurrentSpeed: quickSpinEnumerationNode,
15851    pub DeviceU3VProtocol: quickSpinBooleanNode,
15852    pub DevicePortId: quickSpinStringNode,
15853}
15854#[test]
15855fn bindgen_test_layout__quickSpinTLDevice() {
15856    assert_eq!(
15857        ::std::mem::size_of::<_quickSpinTLDevice>(),
15858        336usize,
15859        concat!("Size of: ", stringify!(_quickSpinTLDevice))
15860    );
15861    assert_eq!(
15862        ::std::mem::align_of::<_quickSpinTLDevice>(),
15863        8usize,
15864        concat!("Alignment of ", stringify!(_quickSpinTLDevice))
15865    );
15866    assert_eq!(
15867        unsafe { &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceID as *const _ as usize },
15868        0usize,
15869        concat!(
15870            "Offset of field: ",
15871            stringify!(_quickSpinTLDevice),
15872            "::",
15873            stringify!(DeviceID)
15874        )
15875    );
15876    assert_eq!(
15877        unsafe {
15878            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceSerialNumber as *const _ as usize
15879        },
15880        8usize,
15881        concat!(
15882            "Offset of field: ",
15883            stringify!(_quickSpinTLDevice),
15884            "::",
15885            stringify!(DeviceSerialNumber)
15886        )
15887    );
15888    assert_eq!(
15889        unsafe {
15890            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceVendorName as *const _ as usize
15891        },
15892        16usize,
15893        concat!(
15894            "Offset of field: ",
15895            stringify!(_quickSpinTLDevice),
15896            "::",
15897            stringify!(DeviceVendorName)
15898        )
15899    );
15900    assert_eq!(
15901        unsafe {
15902            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceModelName as *const _ as usize
15903        },
15904        24usize,
15905        concat!(
15906            "Offset of field: ",
15907            stringify!(_quickSpinTLDevice),
15908            "::",
15909            stringify!(DeviceModelName)
15910        )
15911    );
15912    assert_eq!(
15913        unsafe { &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceType as *const _ as usize },
15914        32usize,
15915        concat!(
15916            "Offset of field: ",
15917            stringify!(_quickSpinTLDevice),
15918            "::",
15919            stringify!(DeviceType)
15920        )
15921    );
15922    assert_eq!(
15923        unsafe {
15924            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceDisplayName as *const _ as usize
15925        },
15926        40usize,
15927        concat!(
15928            "Offset of field: ",
15929            stringify!(_quickSpinTLDevice),
15930            "::",
15931            stringify!(DeviceDisplayName)
15932        )
15933    );
15934    assert_eq!(
15935        unsafe {
15936            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceAccessStatus as *const _ as usize
15937        },
15938        48usize,
15939        concat!(
15940            "Offset of field: ",
15941            stringify!(_quickSpinTLDevice),
15942            "::",
15943            stringify!(DeviceAccessStatus)
15944        )
15945    );
15946    assert_eq!(
15947        unsafe {
15948            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceVersion as *const _ as usize
15949        },
15950        56usize,
15951        concat!(
15952            "Offset of field: ",
15953            stringify!(_quickSpinTLDevice),
15954            "::",
15955            stringify!(DeviceVersion)
15956        )
15957    );
15958    assert_eq!(
15959        unsafe { &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceUserID as *const _ as usize },
15960        64usize,
15961        concat!(
15962            "Offset of field: ",
15963            stringify!(_quickSpinTLDevice),
15964            "::",
15965            stringify!(DeviceUserID)
15966        )
15967    );
15968    assert_eq!(
15969        unsafe {
15970            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceDriverVersion as *const _ as usize
15971        },
15972        72usize,
15973        concat!(
15974            "Offset of field: ",
15975            stringify!(_quickSpinTLDevice),
15976            "::",
15977            stringify!(DeviceDriverVersion)
15978        )
15979    );
15980    assert_eq!(
15981        unsafe {
15982            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceIsUpdater as *const _ as usize
15983        },
15984        80usize,
15985        concat!(
15986            "Offset of field: ",
15987            stringify!(_quickSpinTLDevice),
15988            "::",
15989            stringify!(DeviceIsUpdater)
15990        )
15991    );
15992    assert_eq!(
15993        unsafe { &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevCCP as *const _ as usize },
15994        88usize,
15995        concat!(
15996            "Offset of field: ",
15997            stringify!(_quickSpinTLDevice),
15998            "::",
15999            stringify!(GevCCP)
16000        )
16001    );
16002    assert_eq!(
16003        unsafe {
16004            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GUIXMLLocation as *const _ as usize
16005        },
16006        96usize,
16007        concat!(
16008            "Offset of field: ",
16009            stringify!(_quickSpinTLDevice),
16010            "::",
16011            stringify!(GUIXMLLocation)
16012        )
16013    );
16014    assert_eq!(
16015        unsafe { &(*(::std::ptr::null::<_quickSpinTLDevice>())).GUIXMLPath as *const _ as usize },
16016        104usize,
16017        concat!(
16018            "Offset of field: ",
16019            stringify!(_quickSpinTLDevice),
16020            "::",
16021            stringify!(GUIXMLPath)
16022        )
16023    );
16024    assert_eq!(
16025        unsafe {
16026            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GenICamXMLLocation as *const _ as usize
16027        },
16028        112usize,
16029        concat!(
16030            "Offset of field: ",
16031            stringify!(_quickSpinTLDevice),
16032            "::",
16033            stringify!(GenICamXMLLocation)
16034        )
16035    );
16036    assert_eq!(
16037        unsafe {
16038            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GenICamXMLPath as *const _ as usize
16039        },
16040        120usize,
16041        concat!(
16042            "Offset of field: ",
16043            stringify!(_quickSpinTLDevice),
16044            "::",
16045            stringify!(GenICamXMLPath)
16046        )
16047    );
16048    assert_eq!(
16049        unsafe {
16050            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceIPAddress as *const _ as usize
16051        },
16052        128usize,
16053        concat!(
16054            "Offset of field: ",
16055            stringify!(_quickSpinTLDevice),
16056            "::",
16057            stringify!(GevDeviceIPAddress)
16058        )
16059    );
16060    assert_eq!(
16061        unsafe {
16062            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceSubnetMask as *const _ as usize
16063        },
16064        136usize,
16065        concat!(
16066            "Offset of field: ",
16067            stringify!(_quickSpinTLDevice),
16068            "::",
16069            stringify!(GevDeviceSubnetMask)
16070        )
16071    );
16072    assert_eq!(
16073        unsafe {
16074            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceMACAddress as *const _ as usize
16075        },
16076        144usize,
16077        concat!(
16078            "Offset of field: ",
16079            stringify!(_quickSpinTLDevice),
16080            "::",
16081            stringify!(GevDeviceMACAddress)
16082        )
16083    );
16084    assert_eq!(
16085        unsafe {
16086            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceGateway as *const _ as usize
16087        },
16088        152usize,
16089        concat!(
16090            "Offset of field: ",
16091            stringify!(_quickSpinTLDevice),
16092            "::",
16093            stringify!(GevDeviceGateway)
16094        )
16095    );
16096    assert_eq!(
16097        unsafe {
16098            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceLinkSpeed as *const _ as usize
16099        },
16100        160usize,
16101        concat!(
16102            "Offset of field: ",
16103            stringify!(_quickSpinTLDevice),
16104            "::",
16105            stringify!(DeviceLinkSpeed)
16106        )
16107    );
16108    assert_eq!(
16109        unsafe {
16110            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevVersionMajor as *const _ as usize
16111        },
16112        168usize,
16113        concat!(
16114            "Offset of field: ",
16115            stringify!(_quickSpinTLDevice),
16116            "::",
16117            stringify!(GevVersionMajor)
16118        )
16119    );
16120    assert_eq!(
16121        unsafe {
16122            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevVersionMinor as *const _ as usize
16123        },
16124        176usize,
16125        concat!(
16126            "Offset of field: ",
16127            stringify!(_quickSpinTLDevice),
16128            "::",
16129            stringify!(GevVersionMinor)
16130        )
16131    );
16132    assert_eq!(
16133        unsafe {
16134            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceModeIsBigEndian as *const _
16135                as usize
16136        },
16137        184usize,
16138        concat!(
16139            "Offset of field: ",
16140            stringify!(_quickSpinTLDevice),
16141            "::",
16142            stringify!(GevDeviceModeIsBigEndian)
16143        )
16144    );
16145    assert_eq!(
16146        unsafe {
16147            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceReadAndWriteTimeout as *const _
16148                as usize
16149        },
16150        192usize,
16151        concat!(
16152            "Offset of field: ",
16153            stringify!(_quickSpinTLDevice),
16154            "::",
16155            stringify!(GevDeviceReadAndWriteTimeout)
16156        )
16157    );
16158    assert_eq!(
16159        unsafe {
16160            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceMaximumRetryCount as *const _
16161                as usize
16162        },
16163        200usize,
16164        concat!(
16165            "Offset of field: ",
16166            stringify!(_quickSpinTLDevice),
16167            "::",
16168            stringify!(GevDeviceMaximumRetryCount)
16169        )
16170    );
16171    assert_eq!(
16172        unsafe {
16173            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDevicePort as *const _ as usize
16174        },
16175        208usize,
16176        concat!(
16177            "Offset of field: ",
16178            stringify!(_quickSpinTLDevice),
16179            "::",
16180            stringify!(GevDevicePort)
16181        )
16182    );
16183    assert_eq!(
16184        unsafe {
16185            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceDiscoverMaximumPacketSize
16186                as *const _ as usize
16187        },
16188        216usize,
16189        concat!(
16190            "Offset of field: ",
16191            stringify!(_quickSpinTLDevice),
16192            "::",
16193            stringify!(GevDeviceDiscoverMaximumPacketSize)
16194        )
16195    );
16196    assert_eq!(
16197        unsafe {
16198            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceMaximumPacketSize as *const _
16199                as usize
16200        },
16201        224usize,
16202        concat!(
16203            "Offset of field: ",
16204            stringify!(_quickSpinTLDevice),
16205            "::",
16206            stringify!(GevDeviceMaximumPacketSize)
16207        )
16208    );
16209    assert_eq!(
16210        unsafe {
16211            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceIsWrongSubnet as *const _
16212                as usize
16213        },
16214        232usize,
16215        concat!(
16216            "Offset of field: ",
16217            stringify!(_quickSpinTLDevice),
16218            "::",
16219            stringify!(GevDeviceIsWrongSubnet)
16220        )
16221    );
16222    assert_eq!(
16223        unsafe {
16224            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceAutoForceIP as *const _ as usize
16225        },
16226        240usize,
16227        concat!(
16228            "Offset of field: ",
16229            stringify!(_quickSpinTLDevice),
16230            "::",
16231            stringify!(GevDeviceAutoForceIP)
16232        )
16233    );
16234    assert_eq!(
16235        unsafe {
16236            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceForceIP as *const _ as usize
16237        },
16238        248usize,
16239        concat!(
16240            "Offset of field: ",
16241            stringify!(_quickSpinTLDevice),
16242            "::",
16243            stringify!(GevDeviceForceIP)
16244        )
16245    );
16246    assert_eq!(
16247        unsafe {
16248            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceForceIPAddress as *const _
16249                as usize
16250        },
16251        256usize,
16252        concat!(
16253            "Offset of field: ",
16254            stringify!(_quickSpinTLDevice),
16255            "::",
16256            stringify!(GevDeviceForceIPAddress)
16257        )
16258    );
16259    assert_eq!(
16260        unsafe {
16261            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceForceSubnetMask as *const _
16262                as usize
16263        },
16264        264usize,
16265        concat!(
16266            "Offset of field: ",
16267            stringify!(_quickSpinTLDevice),
16268            "::",
16269            stringify!(GevDeviceForceSubnetMask)
16270        )
16271    );
16272    assert_eq!(
16273        unsafe {
16274            &(*(::std::ptr::null::<_quickSpinTLDevice>())).GevDeviceForceGateway as *const _
16275                as usize
16276        },
16277        272usize,
16278        concat!(
16279            "Offset of field: ",
16280            stringify!(_quickSpinTLDevice),
16281            "::",
16282            stringify!(GevDeviceForceGateway)
16283        )
16284    );
16285    assert_eq!(
16286        unsafe {
16287            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceMulticastMonitorMode as *const _
16288                as usize
16289        },
16290        280usize,
16291        concat!(
16292            "Offset of field: ",
16293            stringify!(_quickSpinTLDevice),
16294            "::",
16295            stringify!(DeviceMulticastMonitorMode)
16296        )
16297    );
16298    assert_eq!(
16299        unsafe {
16300            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceEndianessMechanism as *const _
16301                as usize
16302        },
16303        288usize,
16304        concat!(
16305            "Offset of field: ",
16306            stringify!(_quickSpinTLDevice),
16307            "::",
16308            stringify!(DeviceEndianessMechanism)
16309        )
16310    );
16311    assert_eq!(
16312        unsafe {
16313            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceInstanceId as *const _ as usize
16314        },
16315        296usize,
16316        concat!(
16317            "Offset of field: ",
16318            stringify!(_quickSpinTLDevice),
16319            "::",
16320            stringify!(DeviceInstanceId)
16321        )
16322    );
16323    assert_eq!(
16324        unsafe {
16325            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceLocation as *const _ as usize
16326        },
16327        304usize,
16328        concat!(
16329            "Offset of field: ",
16330            stringify!(_quickSpinTLDevice),
16331            "::",
16332            stringify!(DeviceLocation)
16333        )
16334    );
16335    assert_eq!(
16336        unsafe {
16337            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceCurrentSpeed as *const _ as usize
16338        },
16339        312usize,
16340        concat!(
16341            "Offset of field: ",
16342            stringify!(_quickSpinTLDevice),
16343            "::",
16344            stringify!(DeviceCurrentSpeed)
16345        )
16346    );
16347    assert_eq!(
16348        unsafe {
16349            &(*(::std::ptr::null::<_quickSpinTLDevice>())).DeviceU3VProtocol as *const _ as usize
16350        },
16351        320usize,
16352        concat!(
16353            "Offset of field: ",
16354            stringify!(_quickSpinTLDevice),
16355            "::",
16356            stringify!(DeviceU3VProtocol)
16357        )
16358    );
16359    assert_eq!(
16360        unsafe { &(*(::std::ptr::null::<_quickSpinTLDevice>())).DevicePortId as *const _ as usize },
16361        328usize,
16362        concat!(
16363            "Offset of field: ",
16364            stringify!(_quickSpinTLDevice),
16365            "::",
16366            stringify!(DevicePortId)
16367        )
16368    );
16369}
16370pub type quickSpinTLDevice = _quickSpinTLDevice;
16371#[repr(C)]
16372#[derive(Debug, Copy, Clone)]
16373pub struct _quickSpinTLInterface {
16374    pub InterfaceID: quickSpinStringNode,
16375    pub InterfaceDisplayName: quickSpinStringNode,
16376    pub InterfaceType: quickSpinEnumerationNode,
16377    pub GevInterfaceGatewaySelector: quickSpinIntegerNode,
16378    pub GevInterfaceGateway: quickSpinIntegerNode,
16379    pub GevInterfaceMACAddress: quickSpinIntegerNode,
16380    pub GevInterfaceSubnetSelector: quickSpinIntegerNode,
16381    pub GevInterfaceSubnetIPAddress: quickSpinIntegerNode,
16382    pub GevInterfaceSubnetMask: quickSpinIntegerNode,
16383    pub GevInterfaceTransmitLinkSpeed: quickSpinIntegerNode,
16384    pub GevInterfaceReceiveLinkSpeed: quickSpinIntegerNode,
16385    pub GevInterfaceMTU: quickSpinIntegerNode,
16386    pub POEStatus: quickSpinEnumerationNode,
16387    pub FilterDriverStatus: quickSpinEnumerationNode,
16388    pub GevActionDeviceKey: quickSpinIntegerNode,
16389    pub GevActionGroupKey: quickSpinIntegerNode,
16390    pub GevActionGroupMask: quickSpinIntegerNode,
16391    pub GevActionTime: quickSpinIntegerNode,
16392    pub ActionCommand: quickSpinCommandNode,
16393    pub DeviceUnlock: quickSpinStringNode,
16394    pub DeviceUpdateList: quickSpinCommandNode,
16395    pub DeviceCount: quickSpinIntegerNode,
16396    pub DeviceSelector: quickSpinIntegerNode,
16397    pub DeviceID: quickSpinStringNode,
16398    pub DeviceVendorName: quickSpinStringNode,
16399    pub DeviceModelName: quickSpinStringNode,
16400    pub DeviceSerialNumber: quickSpinStringNode,
16401    pub DeviceAccessStatus: quickSpinEnumerationNode,
16402    pub GevDeviceIPAddress: quickSpinIntegerNode,
16403    pub GevDeviceSubnetMask: quickSpinIntegerNode,
16404    pub GevDeviceGateway: quickSpinIntegerNode,
16405    pub GevDeviceMACAddress: quickSpinIntegerNode,
16406    pub IncompatibleDeviceCount: quickSpinIntegerNode,
16407    pub IncompatibleDeviceSelector: quickSpinIntegerNode,
16408    pub IncompatibleDeviceID: quickSpinStringNode,
16409    pub IncompatibleDeviceVendorName: quickSpinStringNode,
16410    pub IncompatibleDeviceModelName: quickSpinStringNode,
16411    pub IncompatibleGevDeviceIPAddress: quickSpinIntegerNode,
16412    pub IncompatibleGevDeviceSubnetMask: quickSpinIntegerNode,
16413    pub IncompatibleGevDeviceMACAddress: quickSpinIntegerNode,
16414    pub GevDeviceForceIP: quickSpinCommandNode,
16415    pub GevDeviceForceIPAddress: quickSpinIntegerNode,
16416    pub GevDeviceForceSubnetMask: quickSpinIntegerNode,
16417    pub GevDeviceForceGateway: quickSpinIntegerNode,
16418    pub GevDeviceAutoForceIP: quickSpinCommandNode,
16419    pub HostAdapterName: quickSpinStringNode,
16420    pub HostAdapterVendor: quickSpinStringNode,
16421    pub HostAdapterDriverVersion: quickSpinStringNode,
16422}
16423#[test]
16424fn bindgen_test_layout__quickSpinTLInterface() {
16425    assert_eq!(
16426        ::std::mem::size_of::<_quickSpinTLInterface>(),
16427        384usize,
16428        concat!("Size of: ", stringify!(_quickSpinTLInterface))
16429    );
16430    assert_eq!(
16431        ::std::mem::align_of::<_quickSpinTLInterface>(),
16432        8usize,
16433        concat!("Alignment of ", stringify!(_quickSpinTLInterface))
16434    );
16435    assert_eq!(
16436        unsafe {
16437            &(*(::std::ptr::null::<_quickSpinTLInterface>())).InterfaceID as *const _ as usize
16438        },
16439        0usize,
16440        concat!(
16441            "Offset of field: ",
16442            stringify!(_quickSpinTLInterface),
16443            "::",
16444            stringify!(InterfaceID)
16445        )
16446    );
16447    assert_eq!(
16448        unsafe {
16449            &(*(::std::ptr::null::<_quickSpinTLInterface>())).InterfaceDisplayName as *const _
16450                as usize
16451        },
16452        8usize,
16453        concat!(
16454            "Offset of field: ",
16455            stringify!(_quickSpinTLInterface),
16456            "::",
16457            stringify!(InterfaceDisplayName)
16458        )
16459    );
16460    assert_eq!(
16461        unsafe {
16462            &(*(::std::ptr::null::<_quickSpinTLInterface>())).InterfaceType as *const _ as usize
16463        },
16464        16usize,
16465        concat!(
16466            "Offset of field: ",
16467            stringify!(_quickSpinTLInterface),
16468            "::",
16469            stringify!(InterfaceType)
16470        )
16471    );
16472    assert_eq!(
16473        unsafe {
16474            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevInterfaceGatewaySelector
16475                as *const _ as usize
16476        },
16477        24usize,
16478        concat!(
16479            "Offset of field: ",
16480            stringify!(_quickSpinTLInterface),
16481            "::",
16482            stringify!(GevInterfaceGatewaySelector)
16483        )
16484    );
16485    assert_eq!(
16486        unsafe {
16487            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevInterfaceGateway as *const _
16488                as usize
16489        },
16490        32usize,
16491        concat!(
16492            "Offset of field: ",
16493            stringify!(_quickSpinTLInterface),
16494            "::",
16495            stringify!(GevInterfaceGateway)
16496        )
16497    );
16498    assert_eq!(
16499        unsafe {
16500            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevInterfaceMACAddress as *const _
16501                as usize
16502        },
16503        40usize,
16504        concat!(
16505            "Offset of field: ",
16506            stringify!(_quickSpinTLInterface),
16507            "::",
16508            stringify!(GevInterfaceMACAddress)
16509        )
16510    );
16511    assert_eq!(
16512        unsafe {
16513            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevInterfaceSubnetSelector as *const _
16514                as usize
16515        },
16516        48usize,
16517        concat!(
16518            "Offset of field: ",
16519            stringify!(_quickSpinTLInterface),
16520            "::",
16521            stringify!(GevInterfaceSubnetSelector)
16522        )
16523    );
16524    assert_eq!(
16525        unsafe {
16526            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevInterfaceSubnetIPAddress
16527                as *const _ as usize
16528        },
16529        56usize,
16530        concat!(
16531            "Offset of field: ",
16532            stringify!(_quickSpinTLInterface),
16533            "::",
16534            stringify!(GevInterfaceSubnetIPAddress)
16535        )
16536    );
16537    assert_eq!(
16538        unsafe {
16539            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevInterfaceSubnetMask as *const _
16540                as usize
16541        },
16542        64usize,
16543        concat!(
16544            "Offset of field: ",
16545            stringify!(_quickSpinTLInterface),
16546            "::",
16547            stringify!(GevInterfaceSubnetMask)
16548        )
16549    );
16550    assert_eq!(
16551        unsafe {
16552            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevInterfaceTransmitLinkSpeed
16553                as *const _ as usize
16554        },
16555        72usize,
16556        concat!(
16557            "Offset of field: ",
16558            stringify!(_quickSpinTLInterface),
16559            "::",
16560            stringify!(GevInterfaceTransmitLinkSpeed)
16561        )
16562    );
16563    assert_eq!(
16564        unsafe {
16565            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevInterfaceReceiveLinkSpeed
16566                as *const _ as usize
16567        },
16568        80usize,
16569        concat!(
16570            "Offset of field: ",
16571            stringify!(_quickSpinTLInterface),
16572            "::",
16573            stringify!(GevInterfaceReceiveLinkSpeed)
16574        )
16575    );
16576    assert_eq!(
16577        unsafe {
16578            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevInterfaceMTU as *const _ as usize
16579        },
16580        88usize,
16581        concat!(
16582            "Offset of field: ",
16583            stringify!(_quickSpinTLInterface),
16584            "::",
16585            stringify!(GevInterfaceMTU)
16586        )
16587    );
16588    assert_eq!(
16589        unsafe { &(*(::std::ptr::null::<_quickSpinTLInterface>())).POEStatus as *const _ as usize },
16590        96usize,
16591        concat!(
16592            "Offset of field: ",
16593            stringify!(_quickSpinTLInterface),
16594            "::",
16595            stringify!(POEStatus)
16596        )
16597    );
16598    assert_eq!(
16599        unsafe {
16600            &(*(::std::ptr::null::<_quickSpinTLInterface>())).FilterDriverStatus as *const _
16601                as usize
16602        },
16603        104usize,
16604        concat!(
16605            "Offset of field: ",
16606            stringify!(_quickSpinTLInterface),
16607            "::",
16608            stringify!(FilterDriverStatus)
16609        )
16610    );
16611    assert_eq!(
16612        unsafe {
16613            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevActionDeviceKey as *const _
16614                as usize
16615        },
16616        112usize,
16617        concat!(
16618            "Offset of field: ",
16619            stringify!(_quickSpinTLInterface),
16620            "::",
16621            stringify!(GevActionDeviceKey)
16622        )
16623    );
16624    assert_eq!(
16625        unsafe {
16626            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevActionGroupKey as *const _ as usize
16627        },
16628        120usize,
16629        concat!(
16630            "Offset of field: ",
16631            stringify!(_quickSpinTLInterface),
16632            "::",
16633            stringify!(GevActionGroupKey)
16634        )
16635    );
16636    assert_eq!(
16637        unsafe {
16638            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevActionGroupMask as *const _
16639                as usize
16640        },
16641        128usize,
16642        concat!(
16643            "Offset of field: ",
16644            stringify!(_quickSpinTLInterface),
16645            "::",
16646            stringify!(GevActionGroupMask)
16647        )
16648    );
16649    assert_eq!(
16650        unsafe {
16651            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevActionTime as *const _ as usize
16652        },
16653        136usize,
16654        concat!(
16655            "Offset of field: ",
16656            stringify!(_quickSpinTLInterface),
16657            "::",
16658            stringify!(GevActionTime)
16659        )
16660    );
16661    assert_eq!(
16662        unsafe {
16663            &(*(::std::ptr::null::<_quickSpinTLInterface>())).ActionCommand as *const _ as usize
16664        },
16665        144usize,
16666        concat!(
16667            "Offset of field: ",
16668            stringify!(_quickSpinTLInterface),
16669            "::",
16670            stringify!(ActionCommand)
16671        )
16672    );
16673    assert_eq!(
16674        unsafe {
16675            &(*(::std::ptr::null::<_quickSpinTLInterface>())).DeviceUnlock as *const _ as usize
16676        },
16677        152usize,
16678        concat!(
16679            "Offset of field: ",
16680            stringify!(_quickSpinTLInterface),
16681            "::",
16682            stringify!(DeviceUnlock)
16683        )
16684    );
16685    assert_eq!(
16686        unsafe {
16687            &(*(::std::ptr::null::<_quickSpinTLInterface>())).DeviceUpdateList as *const _ as usize
16688        },
16689        160usize,
16690        concat!(
16691            "Offset of field: ",
16692            stringify!(_quickSpinTLInterface),
16693            "::",
16694            stringify!(DeviceUpdateList)
16695        )
16696    );
16697    assert_eq!(
16698        unsafe {
16699            &(*(::std::ptr::null::<_quickSpinTLInterface>())).DeviceCount as *const _ as usize
16700        },
16701        168usize,
16702        concat!(
16703            "Offset of field: ",
16704            stringify!(_quickSpinTLInterface),
16705            "::",
16706            stringify!(DeviceCount)
16707        )
16708    );
16709    assert_eq!(
16710        unsafe {
16711            &(*(::std::ptr::null::<_quickSpinTLInterface>())).DeviceSelector as *const _ as usize
16712        },
16713        176usize,
16714        concat!(
16715            "Offset of field: ",
16716            stringify!(_quickSpinTLInterface),
16717            "::",
16718            stringify!(DeviceSelector)
16719        )
16720    );
16721    assert_eq!(
16722        unsafe { &(*(::std::ptr::null::<_quickSpinTLInterface>())).DeviceID as *const _ as usize },
16723        184usize,
16724        concat!(
16725            "Offset of field: ",
16726            stringify!(_quickSpinTLInterface),
16727            "::",
16728            stringify!(DeviceID)
16729        )
16730    );
16731    assert_eq!(
16732        unsafe {
16733            &(*(::std::ptr::null::<_quickSpinTLInterface>())).DeviceVendorName as *const _ as usize
16734        },
16735        192usize,
16736        concat!(
16737            "Offset of field: ",
16738            stringify!(_quickSpinTLInterface),
16739            "::",
16740            stringify!(DeviceVendorName)
16741        )
16742    );
16743    assert_eq!(
16744        unsafe {
16745            &(*(::std::ptr::null::<_quickSpinTLInterface>())).DeviceModelName as *const _ as usize
16746        },
16747        200usize,
16748        concat!(
16749            "Offset of field: ",
16750            stringify!(_quickSpinTLInterface),
16751            "::",
16752            stringify!(DeviceModelName)
16753        )
16754    );
16755    assert_eq!(
16756        unsafe {
16757            &(*(::std::ptr::null::<_quickSpinTLInterface>())).DeviceSerialNumber as *const _
16758                as usize
16759        },
16760        208usize,
16761        concat!(
16762            "Offset of field: ",
16763            stringify!(_quickSpinTLInterface),
16764            "::",
16765            stringify!(DeviceSerialNumber)
16766        )
16767    );
16768    assert_eq!(
16769        unsafe {
16770            &(*(::std::ptr::null::<_quickSpinTLInterface>())).DeviceAccessStatus as *const _
16771                as usize
16772        },
16773        216usize,
16774        concat!(
16775            "Offset of field: ",
16776            stringify!(_quickSpinTLInterface),
16777            "::",
16778            stringify!(DeviceAccessStatus)
16779        )
16780    );
16781    assert_eq!(
16782        unsafe {
16783            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevDeviceIPAddress as *const _
16784                as usize
16785        },
16786        224usize,
16787        concat!(
16788            "Offset of field: ",
16789            stringify!(_quickSpinTLInterface),
16790            "::",
16791            stringify!(GevDeviceIPAddress)
16792        )
16793    );
16794    assert_eq!(
16795        unsafe {
16796            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevDeviceSubnetMask as *const _
16797                as usize
16798        },
16799        232usize,
16800        concat!(
16801            "Offset of field: ",
16802            stringify!(_quickSpinTLInterface),
16803            "::",
16804            stringify!(GevDeviceSubnetMask)
16805        )
16806    );
16807    assert_eq!(
16808        unsafe {
16809            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevDeviceGateway as *const _ as usize
16810        },
16811        240usize,
16812        concat!(
16813            "Offset of field: ",
16814            stringify!(_quickSpinTLInterface),
16815            "::",
16816            stringify!(GevDeviceGateway)
16817        )
16818    );
16819    assert_eq!(
16820        unsafe {
16821            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevDeviceMACAddress as *const _
16822                as usize
16823        },
16824        248usize,
16825        concat!(
16826            "Offset of field: ",
16827            stringify!(_quickSpinTLInterface),
16828            "::",
16829            stringify!(GevDeviceMACAddress)
16830        )
16831    );
16832    assert_eq!(
16833        unsafe {
16834            &(*(::std::ptr::null::<_quickSpinTLInterface>())).IncompatibleDeviceCount as *const _
16835                as usize
16836        },
16837        256usize,
16838        concat!(
16839            "Offset of field: ",
16840            stringify!(_quickSpinTLInterface),
16841            "::",
16842            stringify!(IncompatibleDeviceCount)
16843        )
16844    );
16845    assert_eq!(
16846        unsafe {
16847            &(*(::std::ptr::null::<_quickSpinTLInterface>())).IncompatibleDeviceSelector as *const _
16848                as usize
16849        },
16850        264usize,
16851        concat!(
16852            "Offset of field: ",
16853            stringify!(_quickSpinTLInterface),
16854            "::",
16855            stringify!(IncompatibleDeviceSelector)
16856        )
16857    );
16858    assert_eq!(
16859        unsafe {
16860            &(*(::std::ptr::null::<_quickSpinTLInterface>())).IncompatibleDeviceID as *const _
16861                as usize
16862        },
16863        272usize,
16864        concat!(
16865            "Offset of field: ",
16866            stringify!(_quickSpinTLInterface),
16867            "::",
16868            stringify!(IncompatibleDeviceID)
16869        )
16870    );
16871    assert_eq!(
16872        unsafe {
16873            &(*(::std::ptr::null::<_quickSpinTLInterface>())).IncompatibleDeviceVendorName
16874                as *const _ as usize
16875        },
16876        280usize,
16877        concat!(
16878            "Offset of field: ",
16879            stringify!(_quickSpinTLInterface),
16880            "::",
16881            stringify!(IncompatibleDeviceVendorName)
16882        )
16883    );
16884    assert_eq!(
16885        unsafe {
16886            &(*(::std::ptr::null::<_quickSpinTLInterface>())).IncompatibleDeviceModelName
16887                as *const _ as usize
16888        },
16889        288usize,
16890        concat!(
16891            "Offset of field: ",
16892            stringify!(_quickSpinTLInterface),
16893            "::",
16894            stringify!(IncompatibleDeviceModelName)
16895        )
16896    );
16897    assert_eq!(
16898        unsafe {
16899            &(*(::std::ptr::null::<_quickSpinTLInterface>())).IncompatibleGevDeviceIPAddress
16900                as *const _ as usize
16901        },
16902        296usize,
16903        concat!(
16904            "Offset of field: ",
16905            stringify!(_quickSpinTLInterface),
16906            "::",
16907            stringify!(IncompatibleGevDeviceIPAddress)
16908        )
16909    );
16910    assert_eq!(
16911        unsafe {
16912            &(*(::std::ptr::null::<_quickSpinTLInterface>())).IncompatibleGevDeviceSubnetMask
16913                as *const _ as usize
16914        },
16915        304usize,
16916        concat!(
16917            "Offset of field: ",
16918            stringify!(_quickSpinTLInterface),
16919            "::",
16920            stringify!(IncompatibleGevDeviceSubnetMask)
16921        )
16922    );
16923    assert_eq!(
16924        unsafe {
16925            &(*(::std::ptr::null::<_quickSpinTLInterface>())).IncompatibleGevDeviceMACAddress
16926                as *const _ as usize
16927        },
16928        312usize,
16929        concat!(
16930            "Offset of field: ",
16931            stringify!(_quickSpinTLInterface),
16932            "::",
16933            stringify!(IncompatibleGevDeviceMACAddress)
16934        )
16935    );
16936    assert_eq!(
16937        unsafe {
16938            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevDeviceForceIP as *const _ as usize
16939        },
16940        320usize,
16941        concat!(
16942            "Offset of field: ",
16943            stringify!(_quickSpinTLInterface),
16944            "::",
16945            stringify!(GevDeviceForceIP)
16946        )
16947    );
16948    assert_eq!(
16949        unsafe {
16950            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevDeviceForceIPAddress as *const _
16951                as usize
16952        },
16953        328usize,
16954        concat!(
16955            "Offset of field: ",
16956            stringify!(_quickSpinTLInterface),
16957            "::",
16958            stringify!(GevDeviceForceIPAddress)
16959        )
16960    );
16961    assert_eq!(
16962        unsafe {
16963            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevDeviceForceSubnetMask as *const _
16964                as usize
16965        },
16966        336usize,
16967        concat!(
16968            "Offset of field: ",
16969            stringify!(_quickSpinTLInterface),
16970            "::",
16971            stringify!(GevDeviceForceSubnetMask)
16972        )
16973    );
16974    assert_eq!(
16975        unsafe {
16976            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevDeviceForceGateway as *const _
16977                as usize
16978        },
16979        344usize,
16980        concat!(
16981            "Offset of field: ",
16982            stringify!(_quickSpinTLInterface),
16983            "::",
16984            stringify!(GevDeviceForceGateway)
16985        )
16986    );
16987    assert_eq!(
16988        unsafe {
16989            &(*(::std::ptr::null::<_quickSpinTLInterface>())).GevDeviceAutoForceIP as *const _
16990                as usize
16991        },
16992        352usize,
16993        concat!(
16994            "Offset of field: ",
16995            stringify!(_quickSpinTLInterface),
16996            "::",
16997            stringify!(GevDeviceAutoForceIP)
16998        )
16999    );
17000    assert_eq!(
17001        unsafe {
17002            &(*(::std::ptr::null::<_quickSpinTLInterface>())).HostAdapterName as *const _ as usize
17003        },
17004        360usize,
17005        concat!(
17006            "Offset of field: ",
17007            stringify!(_quickSpinTLInterface),
17008            "::",
17009            stringify!(HostAdapterName)
17010        )
17011    );
17012    assert_eq!(
17013        unsafe {
17014            &(*(::std::ptr::null::<_quickSpinTLInterface>())).HostAdapterVendor as *const _ as usize
17015        },
17016        368usize,
17017        concat!(
17018            "Offset of field: ",
17019            stringify!(_quickSpinTLInterface),
17020            "::",
17021            stringify!(HostAdapterVendor)
17022        )
17023    );
17024    assert_eq!(
17025        unsafe {
17026            &(*(::std::ptr::null::<_quickSpinTLInterface>())).HostAdapterDriverVersion as *const _
17027                as usize
17028        },
17029        376usize,
17030        concat!(
17031            "Offset of field: ",
17032            stringify!(_quickSpinTLInterface),
17033            "::",
17034            stringify!(HostAdapterDriverVersion)
17035        )
17036    );
17037}
17038pub type quickSpinTLInterface = _quickSpinTLInterface;
17039#[repr(C)]
17040#[derive(Debug, Copy, Clone)]
17041pub struct _quickSpinTLStream {
17042    pub StreamID: quickSpinStringNode,
17043    pub StreamType: quickSpinEnumerationNode,
17044    pub StreamBufferCountManual: quickSpinIntegerNode,
17045    pub StreamBufferCountResult: quickSpinIntegerNode,
17046    pub StreamBufferCountMax: quickSpinIntegerNode,
17047    pub StreamBufferCountMode: quickSpinEnumerationNode,
17048    pub StreamBufferHandlingMode: quickSpinEnumerationNode,
17049    pub StreamAnnounceBufferMinimum: quickSpinIntegerNode,
17050    pub StreamAnnouncedBufferCount: quickSpinIntegerNode,
17051    pub StreamStartedFrameCount: quickSpinIntegerNode,
17052    pub StreamDeliveredFrameCount: quickSpinIntegerNode,
17053    pub StreamLostFrameCount: quickSpinIntegerNode,
17054    pub StreamInputBufferCount: quickSpinIntegerNode,
17055    pub StreamOutputBufferCount: quickSpinIntegerNode,
17056    pub StreamCRCCheckEnable: quickSpinBooleanNode,
17057    pub GevPacketResendMode: quickSpinBooleanNode,
17058    pub GevMaximumNumberResendRequests: quickSpinIntegerNode,
17059    pub GevPacketResendTimeout: quickSpinIntegerNode,
17060    pub StreamIsGrabbing: quickSpinBooleanNode,
17061    pub StreamChunkCountMaximum: quickSpinIntegerNode,
17062    pub StreamBufferAlignment: quickSpinIntegerNode,
17063    pub StreamDroppedFrameCount: quickSpinIntegerNode,
17064    pub GevTotalPacketCount: quickSpinIntegerNode,
17065    pub GevFailedPacketCount: quickSpinIntegerNode,
17066    pub GevResendPacketCount: quickSpinIntegerNode,
17067    pub StreamFailedBufferCount: quickSpinIntegerNode,
17068    pub GevResendRequestCount: quickSpinIntegerNode,
17069    pub StreamBlockTransferSize: quickSpinIntegerNode,
17070}
17071#[test]
17072fn bindgen_test_layout__quickSpinTLStream() {
17073    assert_eq!(
17074        ::std::mem::size_of::<_quickSpinTLStream>(),
17075        224usize,
17076        concat!("Size of: ", stringify!(_quickSpinTLStream))
17077    );
17078    assert_eq!(
17079        ::std::mem::align_of::<_quickSpinTLStream>(),
17080        8usize,
17081        concat!("Alignment of ", stringify!(_quickSpinTLStream))
17082    );
17083    assert_eq!(
17084        unsafe { &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamID as *const _ as usize },
17085        0usize,
17086        concat!(
17087            "Offset of field: ",
17088            stringify!(_quickSpinTLStream),
17089            "::",
17090            stringify!(StreamID)
17091        )
17092    );
17093    assert_eq!(
17094        unsafe { &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamType as *const _ as usize },
17095        8usize,
17096        concat!(
17097            "Offset of field: ",
17098            stringify!(_quickSpinTLStream),
17099            "::",
17100            stringify!(StreamType)
17101        )
17102    );
17103    assert_eq!(
17104        unsafe {
17105            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamBufferCountManual as *const _
17106                as usize
17107        },
17108        16usize,
17109        concat!(
17110            "Offset of field: ",
17111            stringify!(_quickSpinTLStream),
17112            "::",
17113            stringify!(StreamBufferCountManual)
17114        )
17115    );
17116    assert_eq!(
17117        unsafe {
17118            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamBufferCountResult as *const _
17119                as usize
17120        },
17121        24usize,
17122        concat!(
17123            "Offset of field: ",
17124            stringify!(_quickSpinTLStream),
17125            "::",
17126            stringify!(StreamBufferCountResult)
17127        )
17128    );
17129    assert_eq!(
17130        unsafe {
17131            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamBufferCountMax as *const _ as usize
17132        },
17133        32usize,
17134        concat!(
17135            "Offset of field: ",
17136            stringify!(_quickSpinTLStream),
17137            "::",
17138            stringify!(StreamBufferCountMax)
17139        )
17140    );
17141    assert_eq!(
17142        unsafe {
17143            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamBufferCountMode as *const _
17144                as usize
17145        },
17146        40usize,
17147        concat!(
17148            "Offset of field: ",
17149            stringify!(_quickSpinTLStream),
17150            "::",
17151            stringify!(StreamBufferCountMode)
17152        )
17153    );
17154    assert_eq!(
17155        unsafe {
17156            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamBufferHandlingMode as *const _
17157                as usize
17158        },
17159        48usize,
17160        concat!(
17161            "Offset of field: ",
17162            stringify!(_quickSpinTLStream),
17163            "::",
17164            stringify!(StreamBufferHandlingMode)
17165        )
17166    );
17167    assert_eq!(
17168        unsafe {
17169            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamAnnounceBufferMinimum as *const _
17170                as usize
17171        },
17172        56usize,
17173        concat!(
17174            "Offset of field: ",
17175            stringify!(_quickSpinTLStream),
17176            "::",
17177            stringify!(StreamAnnounceBufferMinimum)
17178        )
17179    );
17180    assert_eq!(
17181        unsafe {
17182            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamAnnouncedBufferCount as *const _
17183                as usize
17184        },
17185        64usize,
17186        concat!(
17187            "Offset of field: ",
17188            stringify!(_quickSpinTLStream),
17189            "::",
17190            stringify!(StreamAnnouncedBufferCount)
17191        )
17192    );
17193    assert_eq!(
17194        unsafe {
17195            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamStartedFrameCount as *const _
17196                as usize
17197        },
17198        72usize,
17199        concat!(
17200            "Offset of field: ",
17201            stringify!(_quickSpinTLStream),
17202            "::",
17203            stringify!(StreamStartedFrameCount)
17204        )
17205    );
17206    assert_eq!(
17207        unsafe {
17208            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamDeliveredFrameCount as *const _
17209                as usize
17210        },
17211        80usize,
17212        concat!(
17213            "Offset of field: ",
17214            stringify!(_quickSpinTLStream),
17215            "::",
17216            stringify!(StreamDeliveredFrameCount)
17217        )
17218    );
17219    assert_eq!(
17220        unsafe {
17221            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamLostFrameCount as *const _ as usize
17222        },
17223        88usize,
17224        concat!(
17225            "Offset of field: ",
17226            stringify!(_quickSpinTLStream),
17227            "::",
17228            stringify!(StreamLostFrameCount)
17229        )
17230    );
17231    assert_eq!(
17232        unsafe {
17233            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamInputBufferCount as *const _
17234                as usize
17235        },
17236        96usize,
17237        concat!(
17238            "Offset of field: ",
17239            stringify!(_quickSpinTLStream),
17240            "::",
17241            stringify!(StreamInputBufferCount)
17242        )
17243    );
17244    assert_eq!(
17245        unsafe {
17246            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamOutputBufferCount as *const _
17247                as usize
17248        },
17249        104usize,
17250        concat!(
17251            "Offset of field: ",
17252            stringify!(_quickSpinTLStream),
17253            "::",
17254            stringify!(StreamOutputBufferCount)
17255        )
17256    );
17257    assert_eq!(
17258        unsafe {
17259            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamCRCCheckEnable as *const _ as usize
17260        },
17261        112usize,
17262        concat!(
17263            "Offset of field: ",
17264            stringify!(_quickSpinTLStream),
17265            "::",
17266            stringify!(StreamCRCCheckEnable)
17267        )
17268    );
17269    assert_eq!(
17270        unsafe {
17271            &(*(::std::ptr::null::<_quickSpinTLStream>())).GevPacketResendMode as *const _ as usize
17272        },
17273        120usize,
17274        concat!(
17275            "Offset of field: ",
17276            stringify!(_quickSpinTLStream),
17277            "::",
17278            stringify!(GevPacketResendMode)
17279        )
17280    );
17281    assert_eq!(
17282        unsafe {
17283            &(*(::std::ptr::null::<_quickSpinTLStream>())).GevMaximumNumberResendRequests
17284                as *const _ as usize
17285        },
17286        128usize,
17287        concat!(
17288            "Offset of field: ",
17289            stringify!(_quickSpinTLStream),
17290            "::",
17291            stringify!(GevMaximumNumberResendRequests)
17292        )
17293    );
17294    assert_eq!(
17295        unsafe {
17296            &(*(::std::ptr::null::<_quickSpinTLStream>())).GevPacketResendTimeout as *const _
17297                as usize
17298        },
17299        136usize,
17300        concat!(
17301            "Offset of field: ",
17302            stringify!(_quickSpinTLStream),
17303            "::",
17304            stringify!(GevPacketResendTimeout)
17305        )
17306    );
17307    assert_eq!(
17308        unsafe {
17309            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamIsGrabbing as *const _ as usize
17310        },
17311        144usize,
17312        concat!(
17313            "Offset of field: ",
17314            stringify!(_quickSpinTLStream),
17315            "::",
17316            stringify!(StreamIsGrabbing)
17317        )
17318    );
17319    assert_eq!(
17320        unsafe {
17321            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamChunkCountMaximum as *const _
17322                as usize
17323        },
17324        152usize,
17325        concat!(
17326            "Offset of field: ",
17327            stringify!(_quickSpinTLStream),
17328            "::",
17329            stringify!(StreamChunkCountMaximum)
17330        )
17331    );
17332    assert_eq!(
17333        unsafe {
17334            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamBufferAlignment as *const _
17335                as usize
17336        },
17337        160usize,
17338        concat!(
17339            "Offset of field: ",
17340            stringify!(_quickSpinTLStream),
17341            "::",
17342            stringify!(StreamBufferAlignment)
17343        )
17344    );
17345    assert_eq!(
17346        unsafe {
17347            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamDroppedFrameCount as *const _
17348                as usize
17349        },
17350        168usize,
17351        concat!(
17352            "Offset of field: ",
17353            stringify!(_quickSpinTLStream),
17354            "::",
17355            stringify!(StreamDroppedFrameCount)
17356        )
17357    );
17358    assert_eq!(
17359        unsafe {
17360            &(*(::std::ptr::null::<_quickSpinTLStream>())).GevTotalPacketCount as *const _ as usize
17361        },
17362        176usize,
17363        concat!(
17364            "Offset of field: ",
17365            stringify!(_quickSpinTLStream),
17366            "::",
17367            stringify!(GevTotalPacketCount)
17368        )
17369    );
17370    assert_eq!(
17371        unsafe {
17372            &(*(::std::ptr::null::<_quickSpinTLStream>())).GevFailedPacketCount as *const _ as usize
17373        },
17374        184usize,
17375        concat!(
17376            "Offset of field: ",
17377            stringify!(_quickSpinTLStream),
17378            "::",
17379            stringify!(GevFailedPacketCount)
17380        )
17381    );
17382    assert_eq!(
17383        unsafe {
17384            &(*(::std::ptr::null::<_quickSpinTLStream>())).GevResendPacketCount as *const _ as usize
17385        },
17386        192usize,
17387        concat!(
17388            "Offset of field: ",
17389            stringify!(_quickSpinTLStream),
17390            "::",
17391            stringify!(GevResendPacketCount)
17392        )
17393    );
17394    assert_eq!(
17395        unsafe {
17396            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamFailedBufferCount as *const _
17397                as usize
17398        },
17399        200usize,
17400        concat!(
17401            "Offset of field: ",
17402            stringify!(_quickSpinTLStream),
17403            "::",
17404            stringify!(StreamFailedBufferCount)
17405        )
17406    );
17407    assert_eq!(
17408        unsafe {
17409            &(*(::std::ptr::null::<_quickSpinTLStream>())).GevResendRequestCount as *const _
17410                as usize
17411        },
17412        208usize,
17413        concat!(
17414            "Offset of field: ",
17415            stringify!(_quickSpinTLStream),
17416            "::",
17417            stringify!(GevResendRequestCount)
17418        )
17419    );
17420    assert_eq!(
17421        unsafe {
17422            &(*(::std::ptr::null::<_quickSpinTLStream>())).StreamBlockTransferSize as *const _
17423                as usize
17424        },
17425        216usize,
17426        concat!(
17427            "Offset of field: ",
17428            stringify!(_quickSpinTLStream),
17429            "::",
17430            stringify!(StreamBlockTransferSize)
17431        )
17432    );
17433}
17434pub type quickSpinTLStream = _quickSpinTLStream;
17435#[doc = "< GigE Vision"]
17436pub const _spinTLStreamTypeEnums_StreamType_GigEVision: _spinTLStreamTypeEnums = 0;
17437#[doc = "< Camera Link"]
17438pub const _spinTLStreamTypeEnums_StreamType_CameraLink: _spinTLStreamTypeEnums = 1;
17439#[doc = "< Camera Link High Speed"]
17440pub const _spinTLStreamTypeEnums_StreamType_CameraLinkHS: _spinTLStreamTypeEnums = 2;
17441#[doc = "< CoaXPress"]
17442pub const _spinTLStreamTypeEnums_StreamType_CoaXPress: _spinTLStreamTypeEnums = 3;
17443#[doc = "< USB3 Vision"]
17444pub const _spinTLStreamTypeEnums_StreamType_USB3Vision: _spinTLStreamTypeEnums = 4;
17445#[doc = "< Custom transport layer"]
17446pub const _spinTLStreamTypeEnums_StreamType_Custom: _spinTLStreamTypeEnums = 5;
17447pub const _spinTLStreamTypeEnums_NUMSTREAMTYPE: _spinTLStreamTypeEnums = 6;
17448#[doc = "@brief The enumeration definitions for transport layer nodes."]
17449pub type _spinTLStreamTypeEnums = ::std::os::raw::c_uint;
17450#[doc = "@brief The enumeration definitions for transport layer nodes."]
17451pub use self::_spinTLStreamTypeEnums as spinTLStreamTypeEnums;
17452#[doc = "< The number of buffers used for the stream are set by the user."]
17453pub const _spinTLStreamBufferCountModeEnums_StreamBufferCountMode_Manual:
17454    _spinTLStreamBufferCountModeEnums = 0;
17455#[doc = "< DEPRECATED. The number of buffers used for the stream is automatically calculated based on the device frame rate."]
17456pub const _spinTLStreamBufferCountModeEnums_StreamBufferCountMode_Auto:
17457    _spinTLStreamBufferCountModeEnums = 1;
17458pub const _spinTLStreamBufferCountModeEnums_NUMSTREAMBUFFERCOUNTMODE:
17459    _spinTLStreamBufferCountModeEnums = 2;
17460pub type _spinTLStreamBufferCountModeEnums = ::std::os::raw::c_uint;
17461pub use self::_spinTLStreamBufferCountModeEnums as spinTLStreamBufferCountModeEnums;
17462#[doc = "< The application always gets the buffer from the head of the output buffer queue (thus, the oldest available one). If the output buffer queue is empty, the application waits for a newly acquired buffer until the timeout expires."]
17463pub const _spinTLStreamBufferHandlingModeEnums_StreamBufferHandlingMode_OldestFirst:
17464    _spinTLStreamBufferHandlingModeEnums = 0;
17465#[doc = "< The application always gets the buffer from the head of the output buffer queue (thus, the oldest available one). If the output buffer queue is empty, the application waits for a newly acquired buffer until the timeout expires. If a new buffer arrives it will overwrite the existing buffer from the head of the queue (behaves like a circular buffer)."]
17466pub const _spinTLStreamBufferHandlingModeEnums_StreamBufferHandlingMode_OldestFirstOverwrite:
17467    _spinTLStreamBufferHandlingModeEnums = 1;
17468#[doc = "< The application always gets the latest completed buffer (the newest one).  If the Output Buffer Queue is empty, the application waits for a newly acquired buffer until the timeout expires.  This buffer handling mode is typically used in a live display GUI where it is important that there is no lag between camera and display."]
17469pub const _spinTLStreamBufferHandlingModeEnums_StreamBufferHandlingMode_NewestOnly:
17470    _spinTLStreamBufferHandlingModeEnums = 2;
17471#[doc = "< The application always gets the buffer from the tail of the output buffer queue (thus, the newest available one). If the output buffer queue is empty, the application waits for a newly acquired buffer until the timeout expires."]
17472pub const _spinTLStreamBufferHandlingModeEnums_StreamBufferHandlingMode_NewestFirst:
17473    _spinTLStreamBufferHandlingModeEnums = 3;
17474pub const _spinTLStreamBufferHandlingModeEnums_NUMSTREAMBUFFERHANDLINGMODE:
17475    _spinTLStreamBufferHandlingModeEnums = 4;
17476pub type _spinTLStreamBufferHandlingModeEnums = ::std::os::raw::c_uint;
17477pub use self::_spinTLStreamBufferHandlingModeEnums as spinTLStreamBufferHandlingModeEnums;
17478#[doc = "< GigE Vision"]
17479pub const _spinTLDeviceTypeEnums_DeviceType_GigEVision: _spinTLDeviceTypeEnums = 0;
17480#[doc = "< Camera Link"]
17481pub const _spinTLDeviceTypeEnums_DeviceType_CameraLink: _spinTLDeviceTypeEnums = 1;
17482#[doc = "< Camera Link High Speed"]
17483pub const _spinTLDeviceTypeEnums_DeviceType_CameraLinkHS: _spinTLDeviceTypeEnums = 2;
17484#[doc = "< CoaXPress"]
17485pub const _spinTLDeviceTypeEnums_DeviceType_CoaXPress: _spinTLDeviceTypeEnums = 3;
17486#[doc = "< USB3 Vision"]
17487pub const _spinTLDeviceTypeEnums_DeviceType_USB3Vision: _spinTLDeviceTypeEnums = 4;
17488#[doc = "< Custom transport layer"]
17489pub const _spinTLDeviceTypeEnums_DeviceType_Custom: _spinTLDeviceTypeEnums = 5;
17490pub const _spinTLDeviceTypeEnums_NUMDEVICETYPE: _spinTLDeviceTypeEnums = 6;
17491pub type _spinTLDeviceTypeEnums = ::std::os::raw::c_uint;
17492pub use self::_spinTLDeviceTypeEnums as spinTLDeviceTypeEnums;
17493#[doc = "< Not known to producer."]
17494pub const _spinTLDeviceAccessStatusEnums_DeviceAccessStatus_Unknown:
17495    _spinTLDeviceAccessStatusEnums = 0;
17496#[doc = "< Full access"]
17497pub const _spinTLDeviceAccessStatusEnums_DeviceAccessStatus_ReadWrite:
17498    _spinTLDeviceAccessStatusEnums = 1;
17499#[doc = "< Read-only access"]
17500pub const _spinTLDeviceAccessStatusEnums_DeviceAccessStatus_ReadOnly:
17501    _spinTLDeviceAccessStatusEnums = 2;
17502#[doc = "< Not available to connect"]
17503pub const _spinTLDeviceAccessStatusEnums_DeviceAccessStatus_NoAccess:
17504    _spinTLDeviceAccessStatusEnums = 3;
17505#[doc = "< The device is already opened by another entity"]
17506pub const _spinTLDeviceAccessStatusEnums_DeviceAccessStatus_Busy: _spinTLDeviceAccessStatusEnums =
17507    4;
17508#[doc = "< Open in Read/Write mode by this GenTL host"]
17509pub const _spinTLDeviceAccessStatusEnums_DeviceAccessStatus_OpenReadWrite:
17510    _spinTLDeviceAccessStatusEnums = 5;
17511#[doc = "< Open in Read access mode by this GenTL host"]
17512pub const _spinTLDeviceAccessStatusEnums_DeviceAccessStatus_OpenReadOnly:
17513    _spinTLDeviceAccessStatusEnums = 6;
17514pub const _spinTLDeviceAccessStatusEnums_NUMDEVICEACCESSSTATUS: _spinTLDeviceAccessStatusEnums = 7;
17515pub type _spinTLDeviceAccessStatusEnums = ::std::os::raw::c_uint;
17516pub use self::_spinTLDeviceAccessStatusEnums as spinTLDeviceAccessStatusEnums;
17517#[doc = "< Open access privilege."]
17518pub const _spinTLGevCCPEnums_GevCCP_EnumEntry_GevCCP_OpenAccess: _spinTLGevCCPEnums = 0;
17519#[doc = "< Exclusive access privilege."]
17520pub const _spinTLGevCCPEnums_GevCCP_EnumEntry_GevCCP_ExclusiveAccess: _spinTLGevCCPEnums = 1;
17521#[doc = "< Control access privilege."]
17522pub const _spinTLGevCCPEnums_GevCCP_EnumEntry_GevCCP_ControlAccess: _spinTLGevCCPEnums = 2;
17523pub const _spinTLGevCCPEnums_NUMGEVCCP: _spinTLGevCCPEnums = 3;
17524pub type _spinTLGevCCPEnums = ::std::os::raw::c_uint;
17525pub use self::_spinTLGevCCPEnums as spinTLGevCCPEnums;
17526#[doc = "< Load XML from device"]
17527pub const _spinTLGUIXMLLocationEnums_GUIXMLLocation_Device: _spinTLGUIXMLLocationEnums = 0;
17528#[doc = "< Load XML from host"]
17529pub const _spinTLGUIXMLLocationEnums_GUIXMLLocation_Host: _spinTLGUIXMLLocationEnums = 1;
17530pub const _spinTLGUIXMLLocationEnums_NUMGUIXMLLOCATION: _spinTLGUIXMLLocationEnums = 2;
17531pub type _spinTLGUIXMLLocationEnums = ::std::os::raw::c_uint;
17532pub use self::_spinTLGUIXMLLocationEnums as spinTLGUIXMLLocationEnums;
17533#[doc = "< Load GenICam XML from device"]
17534pub const _spinTLGenICamXMLLocationEnums_GenICamXMLLocation_Device: _spinTLGenICamXMLLocationEnums =
17535    0;
17536#[doc = "< Load GenICam XML from host"]
17537pub const _spinTLGenICamXMLLocationEnums_GenICamXMLLocation_Host: _spinTLGenICamXMLLocationEnums =
17538    1;
17539pub const _spinTLGenICamXMLLocationEnums_NUMGENICAMXMLLOCATION: _spinTLGenICamXMLLocationEnums = 2;
17540pub type _spinTLGenICamXMLLocationEnums = ::std::os::raw::c_uint;
17541pub use self::_spinTLGenICamXMLLocationEnums as spinTLGenICamXMLLocationEnums;
17542#[doc = "< Handling the device endianness according to GenICam Schema 1.0"]
17543pub const _spinTLDeviceEndianessMechanismEnums_DeviceEndianessMechanism_Legacy:
17544    _spinTLDeviceEndianessMechanismEnums = 0;
17545#[doc = "< Handling the device endianness according to GenICam Schema 1.1 and later"]
17546pub const _spinTLDeviceEndianessMechanismEnums_DeviceEndianessMechanism_Standard:
17547    _spinTLDeviceEndianessMechanismEnums = 1;
17548pub const _spinTLDeviceEndianessMechanismEnums_NUMDEVICEENDIANESSMECHANISM:
17549    _spinTLDeviceEndianessMechanismEnums = 2;
17550pub type _spinTLDeviceEndianessMechanismEnums = ::std::os::raw::c_uint;
17551pub use self::_spinTLDeviceEndianessMechanismEnums as spinTLDeviceEndianessMechanismEnums;
17552#[doc = "< Unknown-Speed."]
17553pub const _spinTLDeviceCurrentSpeedEnums_DeviceCurrentSpeed_UnknownSpeed:
17554    _spinTLDeviceCurrentSpeedEnums = 0;
17555#[doc = "< Low-Speed."]
17556pub const _spinTLDeviceCurrentSpeedEnums_DeviceCurrentSpeed_LowSpeed:
17557    _spinTLDeviceCurrentSpeedEnums = 1;
17558#[doc = "< Full-Speed."]
17559pub const _spinTLDeviceCurrentSpeedEnums_DeviceCurrentSpeed_FullSpeed:
17560    _spinTLDeviceCurrentSpeedEnums = 2;
17561#[doc = "< High-Speed."]
17562pub const _spinTLDeviceCurrentSpeedEnums_DeviceCurrentSpeed_HighSpeed:
17563    _spinTLDeviceCurrentSpeedEnums = 3;
17564#[doc = "< Super-Speed."]
17565pub const _spinTLDeviceCurrentSpeedEnums_DeviceCurrentSpeed_SuperSpeed:
17566    _spinTLDeviceCurrentSpeedEnums = 4;
17567pub const _spinTLDeviceCurrentSpeedEnums_NUMDEVICECURRENTSPEED: _spinTLDeviceCurrentSpeedEnums = 5;
17568pub type _spinTLDeviceCurrentSpeedEnums = ::std::os::raw::c_uint;
17569pub use self::_spinTLDeviceCurrentSpeedEnums as spinTLDeviceCurrentSpeedEnums;
17570#[doc = "< GigE Vision"]
17571pub const _spinTLInterfaceTypeEnums_InterfaceType_GigEVision: _spinTLInterfaceTypeEnums = 0;
17572#[doc = "< Camera Link"]
17573pub const _spinTLInterfaceTypeEnums_InterfaceType_CameraLink: _spinTLInterfaceTypeEnums = 1;
17574#[doc = "< Camera Link High Speed"]
17575pub const _spinTLInterfaceTypeEnums_InterfaceType_CameraLinkHS: _spinTLInterfaceTypeEnums = 2;
17576#[doc = "< CoaXPress"]
17577pub const _spinTLInterfaceTypeEnums_InterfaceType_CoaXPress: _spinTLInterfaceTypeEnums = 3;
17578#[doc = "< USB3 Vision"]
17579pub const _spinTLInterfaceTypeEnums_InterfaceType_USB3Vision: _spinTLInterfaceTypeEnums = 4;
17580#[doc = "< Custom transport layer"]
17581pub const _spinTLInterfaceTypeEnums_InterfaceType_Custom: _spinTLInterfaceTypeEnums = 5;
17582pub const _spinTLInterfaceTypeEnums_NUMINTERFACETYPE: _spinTLInterfaceTypeEnums = 6;
17583pub type _spinTLInterfaceTypeEnums = ::std::os::raw::c_uint;
17584pub use self::_spinTLInterfaceTypeEnums as spinTLInterfaceTypeEnums;
17585#[doc = "< Not Supported"]
17586pub const _spinTLPOEStatusEnums_POEStatus_NotSupported: _spinTLPOEStatusEnums = 0;
17587#[doc = "< Power is Off"]
17588pub const _spinTLPOEStatusEnums_POEStatus_PowerOff: _spinTLPOEStatusEnums = 1;
17589#[doc = "< Power is On"]
17590pub const _spinTLPOEStatusEnums_POEStatus_PowerOn: _spinTLPOEStatusEnums = 2;
17591pub const _spinTLPOEStatusEnums_NUMPOESTATUS: _spinTLPOEStatusEnums = 3;
17592pub type _spinTLPOEStatusEnums = ::std::os::raw::c_uint;
17593pub use self::_spinTLPOEStatusEnums as spinTLPOEStatusEnums;
17594#[doc = "< Not Supported"]
17595pub const _spinTLFilterDriverStatusEnums_FilterDriverStatus_NotSupported:
17596    _spinTLFilterDriverStatusEnums = 0;
17597#[doc = "< FLIR Light Weight Filter Driver is disabled"]
17598pub const _spinTLFilterDriverStatusEnums_FilterDriverStatus_Disabled:
17599    _spinTLFilterDriverStatusEnums = 1;
17600#[doc = "< FLIR Light Weight Filter Driver is enabled"]
17601pub const _spinTLFilterDriverStatusEnums_FilterDriverStatus_Enabled:
17602    _spinTLFilterDriverStatusEnums = 2;
17603pub const _spinTLFilterDriverStatusEnums_NUMFILTERDRIVERSTATUS: _spinTLFilterDriverStatusEnums = 3;
17604pub type _spinTLFilterDriverStatusEnums = ::std::os::raw::c_uint;
17605pub use self::_spinTLFilterDriverStatusEnums as spinTLFilterDriverStatusEnums;
17606#[doc = "< GigE Vision"]
17607pub const _spinTLTLTypeEnums_TLType_GigEVision: _spinTLTLTypeEnums = 0;
17608#[doc = "< Camera Link"]
17609pub const _spinTLTLTypeEnums_TLType_CameraLink: _spinTLTLTypeEnums = 1;
17610#[doc = "< Camera Link High Speed"]
17611pub const _spinTLTLTypeEnums_TLType_CameraLinkHS: _spinTLTLTypeEnums = 2;
17612#[doc = "< CoaXPress"]
17613pub const _spinTLTLTypeEnums_TLType_CoaXPress: _spinTLTLTypeEnums = 3;
17614#[doc = "< USB3 Vision"]
17615pub const _spinTLTLTypeEnums_TLType_USB3Vision: _spinTLTLTypeEnums = 4;
17616#[doc = "< Different Interface modules of the GenTL Producer are of different types"]
17617pub const _spinTLTLTypeEnums_TLType_Mixed: _spinTLTLTypeEnums = 5;
17618#[doc = "< Custom transport layer"]
17619pub const _spinTLTLTypeEnums_TLType_Custom: _spinTLTLTypeEnums = 6;
17620pub const _spinTLTLTypeEnums_NUMTLTYPE: _spinTLTLTypeEnums = 7;
17621pub type _spinTLTLTypeEnums = ::std::os::raw::c_uint;
17622pub use self::_spinTLTLTypeEnums as spinTLTLTypeEnums;
17623extern "C" {
17624    pub fn quickSpinInit(hCamera: spinCamera, pQuickSpin: *mut quickSpin) -> spinError;
17625}
17626extern "C" {
17627    pub fn quickSpinInitEx(
17628        hCamera: spinCamera,
17629        pQuickSpin: *mut quickSpin,
17630        pQuickSpinTLDevice: *mut quickSpinTLDevice,
17631        pQuickSpinTLStream: *mut quickSpinTLStream,
17632    ) -> spinError;
17633}
17634extern "C" {
17635    pub fn quickSpinTLDeviceInit(
17636        hCamera: spinCamera,
17637        pQuickSpinTLDevice: *mut quickSpinTLDevice,
17638    ) -> spinError;
17639}
17640extern "C" {
17641    pub fn quickSpinTLStreamInit(
17642        hCamera: spinCamera,
17643        pQuickSpinTLStream: *mut quickSpinTLStream,
17644    ) -> spinError;
17645}
17646extern "C" {
17647    pub fn quickSpinTLInterfaceInit(
17648        hInterface: spinInterface,
17649        pQuickSpinTLInterface: *mut quickSpinTLInterface,
17650    ) -> spinError;
17651}
17652extern "C" {
17653    pub fn quickSpinTLSystemInit(
17654        hSystem: spinSystem,
17655        pQuickSpinTLSystem: *mut quickSpinTLSystem,
17656    ) -> spinError;
17657}
17658extern "C" {
17659    #[doc = " Retrieves the error code of the last error"]
17660    #[doc = " @see spinError"]
17661    #[doc = ""]
17662    #[doc = " @param pError The error enum pointer in which the error message is returned"]
17663    #[doc = ""]
17664    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17665    pub fn spinErrorGetLast(pError: *mut spinError) -> spinError;
17666}
17667extern "C" {
17668    #[doc = " Retrieves the error message of the last error"]
17669    #[doc = " @see spinError"]
17670    #[doc = ""]
17671    #[doc = " @param pBuf The c-string character buffer in which the error message is returned"]
17672    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
17673    #[doc = " the maximum length"]
17674    #[doc = ""]
17675    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17676    pub fn spinErrorGetLastMessage(
17677        pBuf: *mut ::std::os::raw::c_char,
17678        pBufLen: *mut size_t,
17679    ) -> spinError;
17680}
17681extern "C" {
17682    #[doc = " Retrieves the build date of the last error"]
17683    #[doc = " @see spinError"]
17684    #[doc = ""]
17685    #[doc = " @param pBuf The c-string character buffer in which the build date is returned"]
17686    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
17687    #[doc = " the maximum length"]
17688    #[doc = ""]
17689    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17690    pub fn spinErrorGetLastBuildDate(
17691        pBuf: *mut ::std::os::raw::c_char,
17692        pBufLen: *mut size_t,
17693    ) -> spinError;
17694}
17695extern "C" {
17696    #[doc = " Retrieves the build time of the last error"]
17697    #[doc = " @see spinError"]
17698    #[doc = ""]
17699    #[doc = " @param pBuf The c-string character buffer in which the build time is returned"]
17700    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
17701    #[doc = " the maximum length"]
17702    #[doc = ""]
17703    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17704    pub fn spinErrorGetLastBuildTime(
17705        pBuf: *mut ::std::os::raw::c_char,
17706        pBufLen: *mut size_t,
17707    ) -> spinError;
17708}
17709extern "C" {
17710    #[doc = " Retrieves the filename of the last error"]
17711    #[doc = " @see spinError"]
17712    #[doc = ""]
17713    #[doc = " @param pBuf The c-string character buffer in which the file name is returned"]
17714    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
17715    #[doc = " the maximum length"]
17716    #[doc = ""]
17717    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17718    pub fn spinErrorGetLastFileName(
17719        pBuf: *mut ::std::os::raw::c_char,
17720        pBufLen: *mut size_t,
17721    ) -> spinError;
17722}
17723extern "C" {
17724    #[doc = " Retrieves the full error message of the last error"]
17725    #[doc = " @see spinError"]
17726    #[doc = ""]
17727    #[doc = " @param pBuf The c-string character buffer in which the full error message is returned"]
17728    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
17729    #[doc = " the maximum length"]
17730    #[doc = ""]
17731    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17732    pub fn spinErrorGetLastFullMessage(
17733        pBuf: *mut ::std::os::raw::c_char,
17734        pBufLen: *mut size_t,
17735    ) -> spinError;
17736}
17737extern "C" {
17738    #[doc = " Retrieves the function name of the last error"]
17739    #[doc = " @see spinError"]
17740    #[doc = ""]
17741    #[doc = " @param pBuf The c-string character buffer in which the function name is returned"]
17742    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
17743    #[doc = " the maximum length"]
17744    #[doc = ""]
17745    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17746    pub fn spinErrorGetLastFunctionName(
17747        pBuf: *mut ::std::os::raw::c_char,
17748        pBufLen: *mut size_t,
17749    ) -> spinError;
17750}
17751extern "C" {
17752    #[doc = " Retrieves the line number of the last error"]
17753    #[doc = " @see spinError"]
17754    #[doc = ""]
17755    #[doc = " @param pBuf The c-string character buffer in which the line number is returned"]
17756    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
17757    #[doc = " the maximum length"]
17758    #[doc = ""]
17759    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17760    pub fn spinErrorGetLastLineNumber(pLineNum: *mut i64) -> spinError;
17761}
17762extern "C" {
17763    #[doc = " Retrieves an instance of the system object; the system is a singleton, so there will only ever be one instance;"]
17764    #[doc = " system instance must be destroyed by calling spinSystemReleaseInstance"]
17765    #[doc = ""]
17766    #[doc = " @see spinSystemReleaseInstance"]
17767    #[doc = " @see spinError"]
17768    #[doc = ""]
17769    #[doc = " @param phSystem The system handle pointer in which the system instance is returned"]
17770    #[doc = ""]
17771    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17772    pub fn spinSystemGetInstance(phSystem: *mut spinSystem) -> spinError;
17773}
17774extern "C" {
17775    #[doc = " Releases the system; make sure handle is cleaned up properly by setting it to NULL"]
17776    #[doc = " after system is released; the handle can only be used again after calling"]
17777    #[doc = " spinSystemGetInstance"]
17778    #[doc = ""]
17779    #[doc = " @see spinSystemGetInstance"]
17780    #[doc = " @see spinError"]
17781    #[doc = ""]
17782    #[doc = " @param hSystem The system handle"]
17783    #[doc = ""]
17784    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17785    pub fn spinSystemReleaseInstance(hSystem: spinSystem) -> spinError;
17786}
17787extern "C" {
17788    #[doc = " Retrieves a list of detected (and enumerable) interfaces on the system;"]
17789    #[doc = " interface lists must be created and destroyed"]
17790    #[doc = ""]
17791    #[doc = " @see spinInterfaceListCreateEmpty()"]
17792    #[doc = " @see spinInterfaceListDestroy()"]
17793    #[doc = " @see spinError"]
17794    #[doc = ""]
17795    #[doc = " @param hSystem The system, from which the interface list is retrieved"]
17796    #[doc = " @param hInterfaceList The interface list to house the interfaces from the system"]
17797    #[doc = ""]
17798    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17799    pub fn spinSystemGetInterfaces(
17800        hSystem: spinSystem,
17801        hInterfaceList: spinInterfaceList,
17802    ) -> spinError;
17803}
17804extern "C" {
17805    #[doc = " Retrieves a list of detected (and enumerable) cameras on the system;"]
17806    #[doc = " camera lists must be created and destroyed"]
17807    #[doc = ""]
17808    #[doc = " @see spinCameraListCreateEmpty()"]
17809    #[doc = " @see spinCameraListDestroy()"]
17810    #[doc = " @see spinError"]
17811    #[doc = ""]
17812    #[doc = " @param hSystem The system, from which the camera list is retrieved"]
17813    #[doc = " @param hCameraList The camera list to house the cameras from the system"]
17814    #[doc = ""]
17815    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17816    pub fn spinSystemGetCameras(hSystem: spinSystem, hCameraList: spinCameraList) -> spinError;
17817}
17818extern "C" {
17819    #[doc = " Retrieves a list of detected (and enumerable) cameras on the system;"]
17820    #[doc = " manually set whether to update the current interface and camera lists;"]
17821    #[doc = " camera lists must be created and destroyed"]
17822    #[doc = ""]
17823    #[doc = " @see spinCameraListCreateEmpty()"]
17824    #[doc = " @see spinCameraListDestroy()"]
17825    #[doc = " @see spinError"]
17826    #[doc = ""]
17827    #[doc = " @param hSystem The system, from which the camera list is retrieved"]
17828    #[doc = " @param bUpdateInterfaces The boolean of whether to update the interface list"]
17829    #[doc = " @param bUpdateCameras The boolean of whether to update the camera list"]
17830    #[doc = " @param hCameraList The camera list to house the cameras from the system"]
17831    #[doc = ""]
17832    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17833    pub fn spinSystemGetCamerasEx(
17834        hSystem: spinSystem,
17835        bUpdateInterfaces: bool8_t,
17836        bUpdateCameras: bool8_t,
17837        hCameraList: spinCameraList,
17838    ) -> spinError;
17839}
17840extern "C" {
17841    #[doc = " Sets the logging level for all logging events on the system"]
17842    #[doc = " @see spinError"]
17843    #[doc = ""]
17844    #[doc = " @param hSystem The system, on which the logging level is set"]
17845    #[doc = " @param logLevel The logging level to set"]
17846    #[doc = ""]
17847    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17848    pub fn spinSystemSetLoggingLevel(hSystem: spinSystem, logLevel: spinnakerLogLevel)
17849        -> spinError;
17850}
17851extern "C" {
17852    #[doc = " Retrieves the logging level for all logging events on the system"]
17853    #[doc = " @see spinError"]
17854    #[doc = ""]
17855    #[doc = " @param hSystem The system, from which the logging level is retrieved"]
17856    #[doc = " @param logLevel The logging level enum pointer in which the current logging level is returned"]
17857    #[doc = ""]
17858    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17859    pub fn spinSystemGetLoggingLevel(
17860        hSystem: spinSystem,
17861        pLogLevel: *mut spinnakerLogLevel,
17862    ) -> spinError;
17863}
17864extern "C" {
17865    #[doc = " Registers a logging event handler to the system (event handlers registered in this way must be unregistered)"]
17866    #[doc = " @see spinError"]
17867    #[doc = ""]
17868    #[doc = " @param hSystem The system, on which the logging event handler is registered"]
17869    #[doc = " @param hLogEventHandler The logging event handler to register on the system"]
17870    #[doc = ""]
17871    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17872    pub fn spinSystemRegisterLogEventHandler(
17873        hSystem: spinSystem,
17874        hLogEventHandler: spinLogEventHandler,
17875    ) -> spinError;
17876}
17877extern "C" {
17878    #[doc = " Unregisters a selected logging event handler from the system"]
17879    #[doc = " @see spinError"]
17880    #[doc = ""]
17881    #[doc = " @param hSystem The system, from which the logging event handler is unregistered"]
17882    #[doc = " @param hLogEventHandler The logging event handler to unregister from the system"]
17883    #[doc = ""]
17884    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17885    pub fn spinSystemUnregisterLogEventHandler(
17886        hSystem: spinSystem,
17887        hLogEventHandler: spinLogEventHandler,
17888    ) -> spinError;
17889}
17890extern "C" {
17891    #[doc = " Unregisters all logging event handlers from the system"]
17892    #[doc = " @see spinError"]
17893    #[doc = ""]
17894    #[doc = " @param hSystem The system, from which all logging event handlers are unregistered"]
17895    #[doc = ""]
17896    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17897    pub fn spinSystemUnregisterAllLogEventHandlers(hSystem: spinSystem) -> spinError;
17898}
17899extern "C" {
17900    #[doc = " Checks whether a system is currently in use"]
17901    #[doc = " @see spinError"]
17902    #[doc = ""]
17903    #[doc = " @param hSystem The system to check"]
17904    #[doc = " @param pbIsInUse The boolean pointer to return whether the system is currently in use"]
17905    #[doc = ""]
17906    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17907    pub fn spinSystemIsInUse(hSystem: spinSystem, pbIsInUse: *mut bool8_t) -> spinError;
17908}
17909extern "C" {
17910    #[doc = " Registers a device arrival event handler to every interface on the system (event handlers registered this way"]
17911    #[doc = " must be unregistered)"]
17912    #[doc = " @see spinError"]
17913    #[doc = ""]
17914    #[doc = " @param hSystem The system, on which the device arrival event handler is registered"]
17915    #[doc = " @param hDeviceArrivalEventHandler The device arrival event handler to register on the system"]
17916    #[doc = ""]
17917    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17918    pub fn spinSystemRegisterDeviceArrivalEventHandler(
17919        hSystem: spinSystem,
17920        hDeviceArrivalEventHandler: spinDeviceArrivalEventHandler,
17921    ) -> spinError;
17922}
17923extern "C" {
17924    #[doc = " Registers a device removal event handler to the system to every interface on the system (event handlers"]
17925    #[doc = " registered this way must be unregistered)"]
17926    #[doc = " @see spinError"]
17927    #[doc = ""]
17928    #[doc = " @param hSystem The system, on which the device removal event handler is registered"]
17929    #[doc = " @param hDeviceRemovalEventHandler The device removal event handler to register on the system"]
17930    #[doc = ""]
17931    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17932    pub fn spinSystemRegisterDeviceRemovalEventHandler(
17933        hSystem: spinSystem,
17934        hDeviceRemovalEventHandler: spinDeviceRemovalEventHandler,
17935    ) -> spinError;
17936}
17937extern "C" {
17938    #[doc = " Unregisters a device arrival event handler from the system"]
17939    #[doc = " @see spinError"]
17940    #[doc = " @see spinDeviceArrivalEventHandler"]
17941    #[doc = ""]
17942    #[doc = " @param hSystem The system, from which the device arrival event handler is unregistered"]
17943    #[doc = " @param hDeviceArrivalEventHandler The device arrival event handler to unregister from the system"]
17944    #[doc = ""]
17945    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17946    pub fn spinSystemUnregisterDeviceArrivalEventHandler(
17947        hSystem: spinSystem,
17948        hDeviceArrivalEventHandler: spinDeviceArrivalEventHandler,
17949    ) -> spinError;
17950}
17951extern "C" {
17952    #[doc = " Unregisters a device removal event handler from the system"]
17953    #[doc = " @see spinError"]
17954    #[doc = " @see spinDeviceRemovalEventHandler"]
17955    #[doc = ""]
17956    #[doc = " @param hSystem The system, from which the device removal event handler is unregistered"]
17957    #[doc = " @param hDeviceRemovalEventHandler The device removal event handler to unregister from the system"]
17958    #[doc = ""]
17959    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17960    pub fn spinSystemUnregisterDeviceRemovalEventHandler(
17961        hSystem: spinSystem,
17962        hDeviceRemovalEventHandler: spinDeviceRemovalEventHandler,
17963    ) -> spinError;
17964}
17965extern "C" {
17966    #[doc = " Registers an interface event handler (device arrival and device removal) to every interface on the system"]
17967    #[doc = " (interface events registered this way must be unregistered)"]
17968    #[doc = " If new interfaces are detected by the system after spinSystemRegisterInterfaceEventHandler() is called, those"]
17969    #[doc = " interfaces will be automatically registered with this event."]
17970    #[doc = " @see spinError"]
17971    #[doc = " @see spinInterfaceEventHandler"]
17972    #[doc = ""]
17973    #[doc = " @param hSystem The system, on which the interface event handler is registered"]
17974    #[doc = " @param hInterfaceEventHandler The interface event handler (device arrival and device removal) to register on the"]
17975    #[doc = " system"]
17976    #[doc = ""]
17977    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17978    pub fn spinSystemRegisterInterfaceEventHandler(
17979        hSystem: spinSystem,
17980        hInterfaceEventHandler: spinInterfaceEventHandler,
17981    ) -> spinError;
17982}
17983extern "C" {
17984    #[doc = " Unregisters an interface event handler from the system"]
17985    #[doc = " @see spinError"]
17986    #[doc = " @see spinInterfaceEventHandler"]
17987    #[doc = ""]
17988    #[doc = " @param hSystem The system, from which the interface event handler is unregistered"]
17989    #[doc = " @param hInterfaceEventHandler The interface event handler (device arrival and device removal) to unregister from"]
17990    #[doc = " the system"]
17991    #[doc = ""]
17992    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
17993    pub fn spinSystemUnregisterInterfaceEventHandler(
17994        hSystem: spinSystem,
17995        hInterfaceEventHandler: spinInterfaceEventHandler,
17996    ) -> spinError;
17997}
17998extern "C" {
17999    #[doc = " Updates the list of cameras on the system, informing whether there has been any changes"]
18000    #[doc = " @see spinError"]
18001    #[doc = ""]
18002    #[doc = " @param hSystem The system, on which the list of attached cameras is updated"]
18003    #[doc = " @param pbChanged The boolean pointer to return whether cameras have arrived on or been removed from the system"]
18004    #[doc = ""]
18005    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18006    pub fn spinSystemUpdateCameras(hSystem: spinSystem, pbChanged: *mut bool8_t) -> spinError;
18007}
18008extern "C" {
18009    #[doc = " Updates the list of cameras on the system, informing whether there has been any changes; manually set whether to"]
18010    #[doc = " update the current interface lists"]
18011    #[doc = " @see spinError"]
18012    #[doc = ""]
18013    #[doc = " @param hSystem The system, on which the list of attached cameras is updated"]
18014    #[doc = " @param bUpdateInterfaces The boolean of whether to update the interface list"]
18015    #[doc = " @param pbChanged The boolean pointer to return whether cameras have arrived or been removed from the system"]
18016    #[doc = ""]
18017    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18018    pub fn spinSystemUpdateCamerasEx(
18019        hSystem: spinSystem,
18020        bUpdateInterfaces: bool8_t,
18021        pbChanged: *mut bool8_t,
18022    ) -> spinError;
18023}
18024extern "C" {
18025    #[doc = " Broadcast an Action Command to all devices on system"]
18026    #[doc = " @see spinError"]
18027    #[doc = ""]
18028    #[doc = " @param hSystem The system on which to send the action command to all devices."]
18029    #[doc = " @param iDeviceKey The Action Command's device key"]
18030    #[doc = " @param iGroupKey The Action Command's group key"]
18031    #[doc = " @param iGroupMask The Action Command's group mask"]
18032    #[doc = " @param iActionTime (Optional) Time when to assert a future action. Zero means immediate action."]
18033    #[doc = " @param piResultSize (Optional) The number of results in the results array. The value passed should be equal to"]
18034    #[doc = " the expected number of devices that acknowledge the command. Returns the number of received results."]
18035    #[doc = " @param results (Optional) An Array with *piResultSize elements to hold the action command result status. The"]
18036    #[doc = " buffer is filled starting from index 0. If received results are less than expected number of devices that"]
18037    #[doc = " acknowledge the command, remaining results are not changed. If received results are more than expected number of"]
18038    #[doc = " devices that acknowledge the command, extra results are ignored and not appended to array. This parameter is"]
18039    #[doc = " ignored if piResultSize is 0. Thus this parameter can be NULL if pResultSize is 0 or NULL."]
18040    #[doc = ""]
18041    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18042    pub fn spinSystemSendActionCommand(
18043        hSystem: spinSystem,
18044        iDeviceKey: size_t,
18045        iGroupKey: size_t,
18046        iGroupMask: size_t,
18047        iActionTime: size_t,
18048        piResultSize: *mut size_t,
18049        results: *mut actionCommandResult,
18050    ) -> spinError;
18051}
18052extern "C" {
18053    #[doc = " Get current library version of Spinnaker."]
18054    #[doc = ""]
18055    #[doc = " @return A struct containing the current version of Spinnaker(major, minor, type, build)."]
18056    pub fn spinSystemGetLibraryVersion(
18057        hSystem: spinSystem,
18058        hLibraryVersion: *mut spinLibraryVersion,
18059    ) -> spinError;
18060}
18061extern "C" {
18062    #[doc = " Retrieves the transport layer nodemap from the system."]
18063    #[doc = " @see spinError"]
18064    #[doc = ""]
18065    #[doc = " @param hSystem The system handle."]
18066    #[doc = " @param phNodeMap The nodemap handle pointer in which the transport layer system nodemap is returned."]
18067    #[doc = ""]
18068    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18069    pub fn spinSystemGetTLNodeMap(
18070        hSystem: spinSystem,
18071        phNodeMap: *mut spinNodeMapHandle,
18072    ) -> spinError;
18073}
18074extern "C" {
18075    #[doc = " Creates an empty interface list (interface lists created this way must be destroyed)"]
18076    #[doc = " @see spinError"]
18077    #[doc = ""]
18078    #[doc = " @param phInterfaceList The interface list handle pointer in which the empty interface list is returned"]
18079    #[doc = ""]
18080    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18081    pub fn spinInterfaceListCreateEmpty(phInterfaceList: *mut spinInterfaceList) -> spinError;
18082}
18083extern "C" {
18084    #[doc = " Destroys an interface list"]
18085    #[doc = " @see spinError"]
18086    #[doc = ""]
18087    #[doc = " @param hInterfaceList The interface list to destroy"]
18088    #[doc = ""]
18089    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18090    pub fn spinInterfaceListDestroy(hInterfaceList: spinInterfaceList) -> spinError;
18091}
18092extern "C" {
18093    #[doc = " Retrieves the number of interfaces in an interface list"]
18094    #[doc = " @see spinError"]
18095    #[doc = ""]
18096    #[doc = " @param hInterfaceList The interface list where the interfaces to be counted are"]
18097    #[doc = " @param pSize The unsigned integer pointer in which the number of interfaces is returned"]
18098    #[doc = ""]
18099    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18100    #[doc = " @see spinError"]
18101    pub fn spinInterfaceListGetSize(
18102        hInterfaceList: spinInterfaceList,
18103        pSize: *mut size_t,
18104    ) -> spinError;
18105}
18106extern "C" {
18107    #[doc = " Retrieves an interface from an interface list using an index (interfaces retrieved this way must be released)"]
18108    #[doc = " @see spinError"]
18109    #[doc = ""]
18110    #[doc = " @param hInterfaceList The interface list of the interface to be retrieved"]
18111    #[doc = " @param index The index of the interface"]
18112    #[doc = " @param phInterface The interface handle pointer in which the interface is returned"]
18113    #[doc = ""]
18114    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18115    pub fn spinInterfaceListGet(
18116        hInterfaceList: spinInterfaceList,
18117        index: size_t,
18118        phInterface: *mut spinInterface,
18119    ) -> spinError;
18120}
18121extern "C" {
18122    #[doc = " Clears an interface list"]
18123    #[doc = " @see spinError"]
18124    #[doc = ""]
18125    #[doc = " @param hInterfaceList The interface list to clear"]
18126    #[doc = ""]
18127    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18128    pub fn spinInterfaceListClear(hInterfaceList: spinInterfaceList) -> spinError;
18129}
18130extern "C" {
18131    #[doc = " Creates an empty camera list (camera lists created this way must be destroyed)"]
18132    #[doc = " @see spinError"]
18133    #[doc = ""]
18134    #[doc = " @param phCameraList The camera list handle pointer in which the empty camera list is returned"]
18135    #[doc = ""]
18136    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18137    pub fn spinCameraListCreateEmpty(phCameraList: *mut spinCameraList) -> spinError;
18138}
18139extern "C" {
18140    #[doc = " Destroys a camera list"]
18141    #[doc = " @see spinError"]
18142    #[doc = ""]
18143    #[doc = " @param hCameraList The camera list to destroy"]
18144    #[doc = ""]
18145    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18146    pub fn spinCameraListDestroy(hCameraList: spinCameraList) -> spinError;
18147}
18148extern "C" {
18149    #[doc = " Retrieves the number of cameras on a camera list"]
18150    #[doc = " @see spinError"]
18151    #[doc = ""]
18152    #[doc = " @param hCameraList The camera list where the cameras to be counted are"]
18153    #[doc = " @param pSize The unsigned integer pointer in which the number of cameras is returned"]
18154    #[doc = ""]
18155    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18156    pub fn spinCameraListGetSize(hCameraList: spinCameraList, pSize: *mut size_t) -> spinError;
18157}
18158extern "C" {
18159    #[doc = " Retrieves a camera from a camera list using an index. This function will return"]
18160    #[doc = " a SPINNAKER_ERR_INVALID_PARAMETER error if the input index is out of range."]
18161    #[doc = " @see spinError"]
18162    #[doc = ""]
18163    #[doc = " @param hCameraList The camera list of the camera to retrieve"]
18164    #[doc = " @param index The index of the camera"]
18165    #[doc = " @param phCamera The camera handle pointer in which the camera is returned"]
18166    #[doc = ""]
18167    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18168    pub fn spinCameraListGet(
18169        hCameraList: spinCameraList,
18170        index: size_t,
18171        phCamera: *mut spinCamera,
18172    ) -> spinError;
18173}
18174extern "C" {
18175    #[doc = " Clears a camera list"]
18176    #[doc = " @see spinError"]
18177    #[doc = ""]
18178    #[doc = " @param hCameraList The camera list to clear"]
18179    #[doc = ""]
18180    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18181    pub fn spinCameraListClear(hCameraList: spinCameraList) -> spinError;
18182}
18183extern "C" {
18184    #[doc = " Removes a camera from a camera list using its index"]
18185    #[doc = " @see spinError"]
18186    #[doc = ""]
18187    #[doc = " @param hCameraList The camera list of the camera to remove"]
18188    #[doc = " @param index The index of the camera to remove"]
18189    #[doc = ""]
18190    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18191    pub fn spinCameraListRemove(hCameraList: spinCameraList, index: size_t) -> spinError;
18192}
18193extern "C" {
18194    #[doc = " Appends all the cameras from one camera list to another"]
18195    #[doc = " @see spinError"]
18196    #[doc = ""]
18197    #[doc = " @param hCameraListBase The camera list to receive the other"]
18198    #[doc = " @param hCameraListToAppend The camera list to add to the other"]
18199    #[doc = ""]
18200    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18201    pub fn spinCameraListAppend(
18202        hCameraListBase: spinCameraList,
18203        hCameraListToAppend: spinCameraList,
18204    ) -> spinError;
18205}
18206extern "C" {
18207    #[doc = " Retrieves a camera from a camera list using its serial number. This"]
18208    #[doc = " function will return a NULL spinCamera pointer if no matching camera"]
18209    #[doc = " serial is found."]
18210    #[doc = " @see spinError"]
18211    #[doc = ""]
18212    #[doc = " @param hCameraList The camera list of the camera to retrieve"]
18213    #[doc = " @param serial The serial number of the camera to retrieve"]
18214    #[doc = " @param phCamera The camera handle pointer in which the camera is returned"]
18215    #[doc = ""]
18216    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18217    pub fn spinCameraListGetBySerial(
18218        hCameraList: spinCameraList,
18219        pSerial: *const ::std::os::raw::c_char,
18220        phCamera: *mut spinCamera,
18221    ) -> spinError;
18222}
18223extern "C" {
18224    #[doc = " Removes a camera from a camera list using its serial number"]
18225    #[doc = " @see spinError"]
18226    #[doc = ""]
18227    #[doc = " @param hCameraList The camera of the camera to remove"]
18228    #[doc = " @param pSerial The serial number of the camera to remove"]
18229    #[doc = ""]
18230    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18231    pub fn spinCameraListRemoveBySerial(
18232        hCameraList: spinCameraList,
18233        pSerial: *const ::std::os::raw::c_char,
18234    ) -> spinError;
18235}
18236extern "C" {
18237    #[doc = " Checks whether any cameras have been connected or disconnected on an interface"]
18238    #[doc = " @see spinError"]
18239    #[doc = ""]
18240    #[doc = " @param hInterface The interface of the list of attached cameras to update"]
18241    #[doc = " @param pbChanged The boolean pointer to return whether or not the cameras have changed"]
18242    #[doc = ""]
18243    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18244    pub fn spinInterfaceUpdateCameras(
18245        hInterface: spinInterface,
18246        pbChanged: *mut bool8_t,
18247    ) -> spinError;
18248}
18249extern "C" {
18250    #[doc = " Retrieves a camera list from an interface;"]
18251    #[doc = " camera lists must be created and destroy"]
18252    #[doc = ""]
18253    #[doc = " @see spinCameraListCreateEmpty()"]
18254    #[doc = " @see spinCameraListDestroy()"]
18255    #[doc = " @see spinError"]
18256    #[doc = ""]
18257    #[doc = " @param hInterface The interface of the camera list to retrieve"]
18258    #[doc = " @param hCameraList The camera list to house the cameras from the interface"]
18259    #[doc = ""]
18260    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18261    pub fn spinInterfaceGetCameras(
18262        hInterface: spinInterface,
18263        hCameraList: spinCameraList,
18264    ) -> spinError;
18265}
18266extern "C" {
18267    #[doc = " Retrieves a camera list from an interface;"]
18268    #[doc = " manually set whether to update the cameras;"]
18269    #[doc = " camera lists must be created and destroyed"]
18270    #[doc = ""]
18271    #[doc = " @see spinCameraListCreateEmpty()"]
18272    #[doc = " @see spinCameraListDestroy()"]
18273    #[doc = " @see spinError"]
18274    #[doc = ""]
18275    #[doc = " @param hInterface The interface of the camera list to retrieve"]
18276    #[doc = " @param bUpdateCameras The boolean of whether or not to update the cameras"]
18277    #[doc = " @param hCameraList The camera list to house the cameras from the interface"]
18278    #[doc = ""]
18279    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18280    pub fn spinInterfaceGetCamerasEx(
18281        hInterface: spinInterface,
18282        bUpdateCameras: bool8_t,
18283        hCameraList: spinCameraList,
18284    ) -> spinError;
18285}
18286extern "C" {
18287    #[doc = " Retrieves the transport layer nodemap from an interface"]
18288    #[doc = " @see spinError"]
18289    #[doc = ""]
18290    #[doc = " @param hInterface The interface of the nodemap to retrieve"]
18291    #[doc = " @param phNodeMap The nodemap handle pointer in which the transport layer interface nodemap is returned"]
18292    #[doc = ""]
18293    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18294    pub fn spinInterfaceGetTLNodeMap(
18295        hInterface: spinInterface,
18296        phNodeMap: *mut spinNodeMapHandle,
18297    ) -> spinError;
18298}
18299extern "C" {
18300    #[doc = " Registers a device arrival event handler on an interface (event handlers registered in this way must be"]
18301    #[doc = " unregistered)"]
18302    #[doc = " @see spinError"]
18303    #[doc = ""]
18304    #[doc = " @param hInterface The interface on which to register the device arrival event handler"]
18305    #[doc = " @param hDeviceArrivalEventHandler The device arrival event handler to register"]
18306    #[doc = ""]
18307    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18308    pub fn spinInterfaceRegisterDeviceArrivalEventHandler(
18309        hInterface: spinInterface,
18310        hDeviceArrivalEventHandler: spinDeviceArrivalEventHandler,
18311    ) -> spinError;
18312}
18313extern "C" {
18314    #[doc = " Registers a device removal event handler on an interface (event handlers registered in this way must be"]
18315    #[doc = " unregistered)"]
18316    #[doc = " @see spinError"]
18317    #[doc = ""]
18318    #[doc = " @param hInterface the Interface on which to register the device removal event handler"]
18319    #[doc = " @param hDeviceRemovalEventHandler The device removal event handler to register"]
18320    #[doc = ""]
18321    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18322    pub fn spinInterfaceRegisterDeviceRemovalEventHandler(
18323        hInterface: spinInterface,
18324        hDeviceRemovalEventHandler: spinDeviceRemovalEventHandler,
18325    ) -> spinError;
18326}
18327extern "C" {
18328    #[doc = " Unregisters a device arrival event handler from an interface"]
18329    #[doc = " @see spinError"]
18330    #[doc = ""]
18331    #[doc = " @param hInterface The interface from which to unregister the device arrival event handler"]
18332    #[doc = " @param hDeviceArrivalEventHandler The device arrival event handler to unregister"]
18333    #[doc = ""]
18334    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18335    pub fn spinInterfaceUnregisterDeviceArrivalEventHandler(
18336        hInterface: spinInterface,
18337        hDeviceArrivalEventHandler: spinDeviceArrivalEventHandler,
18338    ) -> spinError;
18339}
18340extern "C" {
18341    #[doc = " Unregisters a device removal event handler from an interface"]
18342    #[doc = " @see spinError"]
18343    #[doc = ""]
18344    #[doc = " @param hInterface The interface from which to unregister the device removal event handler"]
18345    #[doc = " @param hDeviceRemovalEventHandler The device removal event handler to unregister"]
18346    #[doc = ""]
18347    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18348    pub fn spinInterfaceUnregisterDeviceRemovalEventHandler(
18349        hInterface: spinInterface,
18350        hDeviceRemovalEventHandler: spinDeviceRemovalEventHandler,
18351    ) -> spinError;
18352}
18353extern "C" {
18354    #[doc = " Registers an interface event handler (both device arrival and device removal) on an interface"]
18355    #[doc = " @see spinError"]
18356    #[doc = ""]
18357    #[doc = " @param hInterface The interface on which to register the interface event handler"]
18358    #[doc = " @param hInterfaceEventHandler The interface event handler to register"]
18359    #[doc = ""]
18360    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18361    pub fn spinInterfaceRegisterInterfaceEventHandler(
18362        hInterface: spinInterface,
18363        hInterfaceEventHandler: spinInterfaceEventHandler,
18364    ) -> spinError;
18365}
18366extern "C" {
18367    #[doc = " Unregisters an interface event handler from an interface"]
18368    #[doc = " @see spinError"]
18369    #[doc = ""]
18370    #[doc = " @param hInterface The interface from which to unregister the interface event handler"]
18371    #[doc = " @param hInterfaceEventHandler The interface event handler to unregister"]
18372    #[doc = ""]
18373    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18374    pub fn spinInterfaceUnregisterInterfaceEventHandler(
18375        hInterface: spinInterface,
18376        hInterfaceEventHandler: spinInterfaceEventHandler,
18377    ) -> spinError;
18378}
18379extern "C" {
18380    #[doc = " Releases an interface"]
18381    #[doc = " @see spinError"]
18382    #[doc = ""]
18383    #[doc = " @param hInterface The interface to release"]
18384    #[doc = ""]
18385    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18386    pub fn spinInterfaceRelease(hInterface: spinInterface) -> spinError;
18387}
18388extern "C" {
18389    #[doc = " Checks whether an interface is in use"]
18390    #[doc = " @see spinError"]
18391    #[doc = ""]
18392    #[doc = " @param hInterface The interface to check"]
18393    #[doc = " @param pbIsInUse The boolean pointer to return whether or not the interface is in use"]
18394    #[doc = ""]
18395    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18396    pub fn spinInterfaceIsInUse(hInterface: spinInterface, pbIsInUse: *mut bool8_t) -> spinError;
18397}
18398extern "C" {
18399    #[doc = " Broadcast an Action Command to all devices on interface"]
18400    #[doc = " @see spinError"]
18401    #[doc = ""]
18402    #[doc = " @param iDeviceKey The Action Command's device key"]
18403    #[doc = " @param iGroupKey The Action Command's group key"]
18404    #[doc = " @param iGroupMask The Action Command's group mask"]
18405    #[doc = " @param iActionTime (Optional) Time when to assert a future action. Zero means immediate action."]
18406    #[doc = " @param piResultSize (Optional) The number of results in the results array. The value passed should be equal to"]
18407    #[doc = " the expected number of devices that acknowledge the command. Returns the number of received results."]
18408    #[doc = " @param results (Optional) An Array with *piResultSize elements to hold the action command result status. The"]
18409    #[doc = " buffer is filled starting from index 0. If received results are less than expected number of devices that"]
18410    #[doc = " acknowledge the command, remaining results are not changed. If received results are more than expected number of"]
18411    #[doc = " devices that acknowledge the command, extra results are ignored and not appended to array. This parameter is"]
18412    #[doc = " ignored if piResultSize is 0. Thus this parameter can be NULL if pResultSize is 0 or NULL."]
18413    #[doc = ""]
18414    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18415    pub fn spinInterfaceSendActionCommand(
18416        hInterface: spinInterface,
18417        iDeviceKey: size_t,
18418        iGroupKey: size_t,
18419        iGroupMask: size_t,
18420        iActionTime: size_t,
18421        piResultSize: *mut size_t,
18422        results: *mut actionCommandResult,
18423    ) -> spinError;
18424}
18425extern "C" {
18426    #[doc = " Initializes a camera, allowing for much more interaction"]
18427    #[doc = " @see spinError"]
18428    #[doc = ""]
18429    #[doc = " @param hCamera The camera to initialize"]
18430    #[doc = ""]
18431    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18432    pub fn spinCameraInit(hCamera: spinCamera) -> spinError;
18433}
18434extern "C" {
18435    #[doc = " Deinitializes a camera, greatly reducing functionality"]
18436    #[doc = " @see spinError"]
18437    #[doc = ""]
18438    #[doc = " @param hCamera The camera to deinitialize"]
18439    #[doc = ""]
18440    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18441    pub fn spinCameraDeInit(hCamera: spinCamera) -> spinError;
18442}
18443extern "C" {
18444    #[doc = " Retrieves the GenICam nodemap from a camera"]
18445    #[doc = " @see spinError"]
18446    #[doc = ""]
18447    #[doc = " @param hCamera The camera from which the nodemap is retrieved"]
18448    #[doc = " @param phNodeMap The nodemap handle pointer in which the nodemap is returned"]
18449    #[doc = ""]
18450    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18451    pub fn spinCameraGetNodeMap(
18452        hCamera: spinCamera,
18453        phNodeMap: *mut spinNodeMapHandle,
18454    ) -> spinError;
18455}
18456extern "C" {
18457    #[doc = " Retrieves the transport layer device nodemap from a camera"]
18458    #[doc = " @see spinError"]
18459    #[doc = ""]
18460    #[doc = " @param hCamera The camera from which the transport layer device nodemap is retrieved"]
18461    #[doc = " @param phNodeMap The nodemap handle pointer in which the nodemap is returned"]
18462    #[doc = ""]
18463    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18464    pub fn spinCameraGetTLDeviceNodeMap(
18465        hCamera: spinCamera,
18466        phNodeMap: *mut spinNodeMapHandle,
18467    ) -> spinError;
18468}
18469extern "C" {
18470    #[doc = " Retrieves the transport layer stream nodemap from a camera"]
18471    #[doc = " @see spinError"]
18472    #[doc = ""]
18473    #[doc = " @param hCamera The camera from which the transport layer streaming nodemap is retrieved"]
18474    #[doc = " @param phNodeMap The nodemap handle pointer in which the nodemap is returned"]
18475    #[doc = ""]
18476    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18477    pub fn spinCameraGetTLStreamNodeMap(
18478        hCamera: spinCamera,
18479        phNodeMap: *mut spinNodeMapHandle,
18480    ) -> spinError;
18481}
18482extern "C" {
18483    #[doc = " Retrieves the access mode of a camera (as an enum, spinAccessMode)"]
18484    #[doc = " @see spinError"]
18485    #[doc = " @see spinAccessMode"]
18486    #[doc = ""]
18487    #[doc = " @param hCamera The camera of the access mode to retrieve"]
18488    #[doc = " @param pAccessMode The access mode enum pointer in which the access mode is returned"]
18489    #[doc = ""]
18490    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18491    pub fn spinCameraGetAccessMode(
18492        hCamera: spinCamera,
18493        pAccessMode: *mut spinAccessMode,
18494    ) -> spinError;
18495}
18496extern "C" {
18497    pub fn spinCameraReadPort(
18498        hCamera: spinCamera,
18499        iAddress: u64,
18500        pBuffer: *mut ::std::os::raw::c_void,
18501        iSize: size_t,
18502    ) -> spinError;
18503}
18504extern "C" {
18505    pub fn spinCameraWritePort(
18506        hCamera: spinCamera,
18507        iAddress: u64,
18508        pBuffer: *mut ::std::os::raw::c_void,
18509        iSize: size_t,
18510    ) -> spinError;
18511}
18512extern "C" {
18513    #[doc = " Has a camera start acquiring images"]
18514    #[doc = " @see spinError"]
18515    #[doc = ""]
18516    #[doc = " @param hCamera The camera to begin acquiring images"]
18517    #[doc = ""]
18518    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18519    pub fn spinCameraBeginAcquisition(hCamera: spinCamera) -> spinError;
18520}
18521extern "C" {
18522    #[doc = " Has a camera stop acquiring images"]
18523    #[doc = " @see spinError"]
18524    #[doc = ""]
18525    #[doc = " @param hCamera The camera to stop acquiring images"]
18526    #[doc = ""]
18527    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18528    pub fn spinCameraEndAcquisition(hCamera: spinCamera) -> spinError;
18529}
18530extern "C" {
18531    #[doc = " Retrieves an image from a camera"]
18532    #[doc = " @see spinError"]
18533    #[doc = ""]
18534    #[doc = " @param hCamera The camera of the image to retrieve"]
18535    #[doc = " @param phImage The image handle pointer in which the image is returned"]
18536    #[doc = ""]
18537    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18538    pub fn spinCameraGetNextImage(hCamera: spinCamera, phImage: *mut spinImage) -> spinError;
18539}
18540extern "C" {
18541    #[doc = " Retrieves an image from a camera; manually set the timeout in milliseconds"]
18542    #[doc = " @see spinError"]
18543    #[doc = ""]
18544    #[doc = " @param hCamera The camera of the image to retrieve"]
18545    #[doc = " @param grabTimeout The timeout value for returned an image"]
18546    #[doc = " @param phImage The image handle pointer in which the image is returned"]
18547    #[doc = ""]
18548    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18549    pub fn spinCameraGetNextImageEx(
18550        hCamera: spinCamera,
18551        grabTimeout: u64,
18552        phImage: *mut spinImage,
18553    ) -> spinError;
18554}
18555extern "C" {
18556    #[doc = " Retrieves a unique identifier for a camera"]
18557    #[doc = " @see spinError"]
18558    #[doc = ""]
18559    #[doc = " @param hCamera The camera of the unique identifier"]
18560    #[doc = " @param pBuf The c-string character buffer in which the unique identifier is returned"]
18561    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
18562    #[doc = " the maximum length"]
18563    #[doc = ""]
18564    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18565    pub fn spinCameraGetUniqueID(
18566        hCamera: spinCamera,
18567        pBuf: *mut ::std::os::raw::c_char,
18568        pBufLen: *mut size_t,
18569    ) -> spinError;
18570}
18571extern "C" {
18572    #[doc = " Checks whether a camera is currently acquiring images"]
18573    #[doc = " @see spinError"]
18574    #[doc = ""]
18575    #[doc = " @param hCamera The camera to check"]
18576    #[doc = " @param pbIsStreaming The boolean pointer to return whether or not the camera is currently streaming"]
18577    #[doc = ""]
18578    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18579    pub fn spinCameraIsStreaming(hCamera: spinCamera, pbIsStreaming: *mut bool8_t) -> spinError;
18580}
18581extern "C" {
18582    #[doc = " Retrieves the GUI XML from a camera"]
18583    #[doc = " @see spinError"]
18584    #[doc = ""]
18585    #[doc = " @param hCamera The camera of the GUI XML to retrieve"]
18586    #[doc = " @param pBuf The c-string character buffer in which the GUI XML is returned"]
18587    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
18588    #[doc = " the maximum length"]
18589    #[doc = ""]
18590    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18591    pub fn spinCameraGetGuiXml(
18592        hCamera: spinCamera,
18593        pBuf: *mut ::std::os::raw::c_char,
18594        pBufLen: *mut size_t,
18595    ) -> spinError;
18596}
18597extern "C" {
18598    #[doc = " Registers a universal device event handler (every device event type) to a camera"]
18599    #[doc = " @see spinError"]
18600    #[doc = ""]
18601    #[doc = " @param hCamera The camera on which to register the universal device event handler"]
18602    #[doc = " @param hDeviceEventHandler The device event handler to register"]
18603    #[doc = ""]
18604    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18605    pub fn spinCameraRegisterDeviceEventHandler(
18606        hCamera: spinCamera,
18607        hDeviceEventHandler: spinDeviceEventHandler,
18608    ) -> spinError;
18609}
18610extern "C" {
18611    #[doc = " Registers a specific device event handler (only one device event type) to a camera"]
18612    #[doc = " @see spinError"]
18613    #[doc = ""]
18614    #[doc = " @param hCamera The camera on which to register the specific device event handler"]
18615    #[doc = " @param hDeviceEventHandler The device event handler to register"]
18616    #[doc = " @param pName The name of the device event handler to register"]
18617    #[doc = ""]
18618    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18619    pub fn spinCameraRegisterDeviceEventHandlerEx(
18620        hCamera: spinCamera,
18621        hDeviceEventHandler: spinDeviceEventHandler,
18622        pName: *const ::std::os::raw::c_char,
18623    ) -> spinError;
18624}
18625extern "C" {
18626    #[doc = " Unregisters a device event handler from a camera"]
18627    #[doc = " @see spinError"]
18628    #[doc = ""]
18629    #[doc = " @param hCamera The camera from which to unregister the device event handler"]
18630    #[doc = " @param hDeviceEventHandler The device event handler to unregister"]
18631    #[doc = ""]
18632    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18633    pub fn spinCameraUnregisterDeviceEventHandler(
18634        hCamera: spinCamera,
18635        hDeviceEventHandler: spinDeviceEventHandler,
18636    ) -> spinError;
18637}
18638extern "C" {
18639    #[doc = " Registers an image event handler to a camera"]
18640    #[doc = " @see spinError"]
18641    #[doc = ""]
18642    #[doc = " @param hCamera The camera on which to register the image event handler"]
18643    #[doc = " @param hImageEventHandler The image event handler to register"]
18644    #[doc = ""]
18645    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18646    pub fn spinCameraRegisterImageEventHandler(
18647        hCamera: spinCamera,
18648        hImageEventHandler: spinImageEventHandler,
18649    ) -> spinError;
18650}
18651extern "C" {
18652    #[doc = " Unregisters an image event handler from a camera"]
18653    #[doc = " @see spinError"]
18654    #[doc = ""]
18655    #[doc = " @param hCamera The camera from which to unregister the image event handler"]
18656    #[doc = " @param hImageEventHandler The image event handler to unregister"]
18657    #[doc = ""]
18658    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18659    pub fn spinCameraUnregisterImageEventHandler(
18660        hCamera: spinCamera,
18661        hImageEventHandler: spinImageEventHandler,
18662    ) -> spinError;
18663}
18664extern "C" {
18665    #[doc = " Releases a camera"]
18666    #[doc = " @see spinError"]
18667    #[doc = ""]
18668    #[doc = " @param hCamera The camera to release"]
18669    #[doc = ""]
18670    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18671    pub fn spinCameraRelease(hCamera: spinCamera) -> spinError;
18672}
18673extern "C" {
18674    #[doc = " Checks whether a camera is still valid for use"]
18675    #[doc = " @see spinError"]
18676    #[doc = ""]
18677    #[doc = " @param hCamera The camera to check"]
18678    #[doc = " @param pbValid The boolean pointer to return whether or not the camera is valid"]
18679    #[doc = ""]
18680    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18681    pub fn spinCameraIsValid(hCamera: spinCamera, pbValid: *mut bool8_t) -> spinError;
18682}
18683extern "C" {
18684    #[doc = " Checks whether a camera is currently initialized"]
18685    #[doc = " @see spinError"]
18686    #[doc = ""]
18687    #[doc = " @param hCamera The camera to check"]
18688    #[doc = " @param pbInit The boolean pointer to return whether or not the camera is initialized"]
18689    #[doc = ""]
18690    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18691    pub fn spinCameraIsInitialized(hCamera: spinCamera, pbInit: *mut bool8_t) -> spinError;
18692}
18693extern "C" {
18694    #[doc = " Returns the largest packet size that can be safely used on the interface that device is connected to."]
18695    #[doc = " @see spinError"]
18696    #[doc = ""]
18697    #[doc = " @param hCamera The camera to check"]
18698    #[doc = " @param pMaxPacketSize The maximum packet size returned"]
18699    #[doc = ""]
18700    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18701    pub fn spinCameraDiscoverMaxPacketSize(
18702        hCamera: spinCamera,
18703        pMaxPacketSize: *mut ::std::os::raw::c_uint,
18704    ) -> spinError;
18705}
18706extern "C" {
18707    #[doc = " Forces the camera to be on the same subnet as its corresponding interface."]
18708    #[doc = ""]
18709    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18710    pub fn spinCameraForceIP() -> spinError;
18711}
18712extern "C" {
18713    #[doc = " Creates an empty image;"]
18714    #[doc = " images created this way must be destroyed"]
18715    #[doc = ""]
18716    #[doc = " @see spinError"]
18717    #[doc = ""]
18718    #[doc = " @param phImage The image handle pointer in which the empty image is returned"]
18719    #[doc = ""]
18720    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18721    pub fn spinImageCreateEmpty(phImage: *mut spinImage) -> spinError;
18722}
18723extern "C" {
18724    #[doc = " Creates an image from another;"]
18725    #[doc = " images created this way must be destroyed"]
18726    #[doc = ""]
18727    #[doc = " @see spinError"]
18728    #[doc = ""]
18729    #[doc = " @param hSrcImage The image to be copied"]
18730    #[doc = " @param phDestImage The image handle pointer of the image to be created"]
18731    #[doc = ""]
18732    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18733    pub fn spinImageCreate(hSrcImage: spinImage, phDestImage: *mut spinImage) -> spinError;
18734}
18735extern "C" {
18736    #[doc = " Creates an image with some set properties;"]
18737    #[doc = " images created this way must be destroyed"]
18738    #[doc = ""]
18739    #[doc = " @see spinError"]
18740    #[doc = ""]
18741    #[doc = " @param phImage The image handle pointer in which the image is returned"]
18742    #[doc = " @param width The width to set"]
18743    #[doc = " @param height The height to set"]
18744    #[doc = " @param offsetX The offset along the X axis to set"]
18745    #[doc = " @param offsetY The offset along the Y axis to set"]
18746    #[doc = " @param pixelFormat The pixel format to set"]
18747    #[doc = " @param pData The image data to set; can be set to null"]
18748    #[doc = ""]
18749    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18750    pub fn spinImageCreateEx(
18751        phImage: *mut spinImage,
18752        width: size_t,
18753        height: size_t,
18754        offsetX: size_t,
18755        offsetY: size_t,
18756        pixelFormat: spinPixelFormatEnums,
18757        pData: *mut ::std::os::raw::c_void,
18758    ) -> spinError;
18759}
18760extern "C" {
18761    #[doc = " Creates an image with some set properties;"]
18762    #[doc = " images created this way must be destroyed"]
18763    #[doc = ""]
18764    #[doc = " @see spinError"]
18765    #[doc = " @see spinImageGetTLPayloadType"]
18766    #[doc = ""]
18767    #[doc = " @param phImage The image handle pointer in which the image is returned"]
18768    #[doc = " @param width The width to set"]
18769    #[doc = " @param height The height to set"]
18770    #[doc = " @param offsetX The offset along the X axis to set"]
18771    #[doc = " @param offsetY The offset along the Y axis to set"]
18772    #[doc = " @param pixelFormat The pixel format to set"]
18773    #[doc = " @param pData The image data to set; can be set to null"]
18774    #[doc = " @param dataPayloadType The payload type of the data."]
18775    #[doc = "This value can be retrieved from an existing image by using the spinImageGetTLPayloadType() function call."]
18776    #[doc = " @param dataSize The size of the provided data in bytes"]
18777    #[doc = ""]
18778    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18779    pub fn spinImageCreateEx2(
18780        phImage: *mut spinImage,
18781        width: size_t,
18782        height: size_t,
18783        offsetX: size_t,
18784        offsetY: size_t,
18785        pixelFormat: spinPixelFormatEnums,
18786        pData: *mut ::std::os::raw::c_void,
18787        dataPayloadType: spinPayloadTypeInfoIDs,
18788        dataSize: size_t,
18789    ) -> spinError;
18790}
18791extern "C" {
18792    #[doc = " Destroys an image"]
18793    #[doc = " @see spinError"]
18794    #[doc = ""]
18795    #[doc = " @param hImage The image to destroy"]
18796    #[doc = ""]
18797    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18798    pub fn spinImageDestroy(hImage: spinImage) -> spinError;
18799}
18800extern "C" {
18801    #[doc = " Sets the default color processing algorithm of all images (if not otherwise set)"]
18802    #[doc = " @see spinError"]
18803    #[doc = ""]
18804    #[doc = " @param algorithm The color processing algorithm used by default"]
18805    #[doc = ""]
18806    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18807    pub fn spinImageSetDefaultColorProcessing(algorithm: spinColorProcessingAlgorithm)
18808        -> spinError;
18809}
18810extern "C" {
18811    #[doc = " Retrieves the default color processing algorithm"]
18812    #[doc = " @see spinError"]
18813    #[doc = ""]
18814    #[doc = " @param pAlgorithm The color processing algorithm enum pointer in which the color processing algorithm is returned"]
18815    #[doc = ""]
18816    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18817    pub fn spinImageGetDefaultColorProcessing(
18818        pAlgorithm: *mut spinColorProcessingAlgorithm,
18819    ) -> spinError;
18820}
18821extern "C" {
18822    #[doc = " Retrieves the color processing algorithm of a specific image"]
18823    #[doc = " @see spinError"]
18824    #[doc = ""]
18825    #[doc = " @param hImage The image of the color processing algorithm to retrieve"]
18826    #[doc = " @param pAlgorithm The color processing algorithm pointer in which the color processing algorithm is returned"]
18827    #[doc = ""]
18828    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18829    pub fn spinImageGetColorProcessing(
18830        hImage: spinImage,
18831        pAlgorithm: *mut spinColorProcessingAlgorithm,
18832    ) -> spinError;
18833}
18834extern "C" {
18835    #[doc = " Sets the default number of threads used for image decompression during"]
18836    #[doc = " spinImageConvert(). The number of threads used is defaulted to be equal"]
18837    #[doc = " to one less than the number of concurrent threads supported by the"]
18838    #[doc = " system."]
18839    #[doc = ""]
18840    #[doc = " @param numThreads Number of parallel image decompression threads set to run"]
18841    #[doc = ""]
18842    #[doc = " @see spinImageConvert()"]
18843    #[doc = ""]
18844    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18845    pub fn spinImageSetNumDecompressionThreads(numThreads: ::std::os::raw::c_uint) -> spinError;
18846}
18847extern "C" {
18848    #[doc = " Gets the number of threads used for image decompression during Convert()."]
18849    #[doc = ""]
18850    #[doc = " @param pNumThreads The pointer indicating the number of parallel image decompression threads set to run"]
18851    #[doc = ""]
18852    #[doc = " @see spinImageSetNumDecompressionThreads()"]
18853    #[doc = ""]
18854    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18855    pub fn spinImageGetNumDecompressionThreads(
18856        pNumThreads: *mut ::std::os::raw::c_uint,
18857    ) -> spinError;
18858}
18859extern "C" {
18860    #[doc = " Converts the pixel format of one image into a new image"]
18861    #[doc = " @see spinError"]
18862    #[doc = ""]
18863    #[doc = " @param hSrcImage The image to be converted"]
18864    #[doc = " @param pixelFormat The pixel format to be converted to"]
18865    #[doc = " @param hDestImage The image handle pointer in which the converted image is returned"]
18866    #[doc = ""]
18867    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18868    pub fn spinImageConvert(
18869        hSrcImage: spinImage,
18870        pixelFormat: spinPixelFormatEnums,
18871        hDestImage: spinImage,
18872    ) -> spinError;
18873}
18874extern "C" {
18875    #[doc = " Converts the pixel format and color processing algorithm of one image into a new image"]
18876    #[doc = " @see spinError"]
18877    #[doc = ""]
18878    #[doc = " @param hSrcImage The image to be converted"]
18879    #[doc = " @param pixelFormat The pixel format to be converted to"]
18880    #[doc = " @param algorithm The color processing algorithm to use for conversion"]
18881    #[doc = " @param hDestImage The image handle pointer in which the converted image is returned"]
18882    #[doc = ""]
18883    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18884    pub fn spinImageConvertEx(
18885        hSrcImage: spinImage,
18886        pixelFormat: spinPixelFormatEnums,
18887        algorithm: spinColorProcessingAlgorithm,
18888        hDestImage: spinImage,
18889    ) -> spinError;
18890}
18891extern "C" {
18892    #[doc = " Resets an image with some set properties"]
18893    #[doc = " @see spinError"]
18894    #[doc = ""]
18895    #[doc = " @param hImage The image to be reset"]
18896    #[doc = " @param width The width to be reset to"]
18897    #[doc = " @param height The height to be reset to"]
18898    #[doc = " @param offsetX The offset to be reset to along the X axis"]
18899    #[doc = " @param offsetY The offset to be reset to along the Y axis"]
18900    #[doc = " @param pixelFormat The pixel format to be reset to"]
18901    #[doc = ""]
18902    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18903    pub fn spinImageReset(
18904        hImage: spinImage,
18905        width: size_t,
18906        height: size_t,
18907        offsetX: size_t,
18908        offsetY: size_t,
18909        pixelFormat: spinPixelFormatEnums,
18910    ) -> spinError;
18911}
18912extern "C" {
18913    #[doc = " Resets an image with some set properties and image data"]
18914    #[doc = " @see spinError"]
18915    #[doc = ""]
18916    #[doc = " @param hImage The image to reset"]
18917    #[doc = " @param width The width to be reset to"]
18918    #[doc = " @param height The height to be reset to"]
18919    #[doc = " @param offsetX The offset to be reset to along the X axis"]
18920    #[doc = " @param offsetY The offset to be reset to along the Y axis"]
18921    #[doc = " @param pixelFormat The pixel format to be reset to"]
18922    #[doc = " @param pData The image data to reset to"]
18923    #[doc = ""]
18924    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18925    pub fn spinImageResetEx(
18926        hImage: spinImage,
18927        width: size_t,
18928        height: size_t,
18929        offsetX: size_t,
18930        offsetY: size_t,
18931        pixelFormat: spinPixelFormatEnums,
18932        pData: *mut ::std::os::raw::c_void,
18933    ) -> spinError;
18934}
18935extern "C" {
18936    #[doc = " Retrieves the ID of an image"]
18937    #[doc = " @see spinError"]
18938    #[doc = ""]
18939    #[doc = " @param hImage The image of the ID to retrieve"]
18940    #[doc = " @param pId The unsigned integer pointer in which the ID is returned"]
18941    #[doc = ""]
18942    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18943    pub fn spinImageGetID(hImage: spinImage, pId: *mut u64) -> spinError;
18944}
18945extern "C" {
18946    #[doc = " Retrieves the image data of an image"]
18947    #[doc = " @see spinError"]
18948    #[doc = ""]
18949    #[doc = " @param hImage The image of the image data to retrieve"]
18950    #[doc = " @param ppData The pointer to the void pointer in which the image data is retrieved"]
18951    #[doc = ""]
18952    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18953    pub fn spinImageGetData(
18954        hImage: spinImage,
18955        ppData: *mut *mut ::std::os::raw::c_void,
18956    ) -> spinError;
18957}
18958extern "C" {
18959    #[doc = " Retrieves the private data of an image"]
18960    #[doc = " @see spinError"]
18961    #[doc = ""]
18962    #[doc = " @param hImage The image of the private image data to retrieve"]
18963    #[doc = " @param ppData The pointer to the void pointer in which the private image data is retrieved"]
18964    #[doc = ""]
18965    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18966    pub fn spinImageGetPrivateData(
18967        hImage: spinImage,
18968        ppData: *mut *mut ::std::os::raw::c_void,
18969    ) -> spinError;
18970}
18971extern "C" {
18972    #[doc = " Retrieves the buffer size of an image"]
18973    #[doc = " @see spinError"]
18974    #[doc = ""]
18975    #[doc = " @param hImage The image of image data buffer to retrieve"]
18976    #[doc = " @param pSize The unsigned integer pointer in which the size of the image data if returned"]
18977    #[doc = ""]
18978    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18979    pub fn spinImageGetBufferSize(hImage: spinImage, pSize: *mut size_t) -> spinError;
18980}
18981extern "C" {
18982    #[doc = " Creates a deep copy of an image (the destination image must be created as an empty image prior to the deep copy)"]
18983    #[doc = " @see spinError"]
18984    #[doc = ""]
18985    #[doc = " @param hSrcImage The image to be copied"]
18986    #[doc = " @param hDestImage The image handle in which the image is copied"]
18987    #[doc = ""]
18988    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18989    pub fn spinImageDeepCopy(hSrcImage: spinImage, hDestImage: spinImage) -> spinError;
18990}
18991extern "C" {
18992    #[doc = " Retrieves the width of an image"]
18993    #[doc = " @see spinError"]
18994    #[doc = ""]
18995    #[doc = " @param hImage The image of the width to retrieve"]
18996    #[doc = " @param pWidth The unsigned integer pointer in which the width is returned"]
18997    #[doc = ""]
18998    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
18999    pub fn spinImageGetWidth(hImage: spinImage, pWidth: *mut size_t) -> spinError;
19000}
19001extern "C" {
19002    #[doc = " Retrieves the height of an image"]
19003    #[doc = " @see spinError"]
19004    #[doc = ""]
19005    #[doc = " @param hImage The image of the height to retrieve"]
19006    #[doc = " @param pHeight The unsigned integer pointer in which the height is returned"]
19007    #[doc = ""]
19008    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19009    pub fn spinImageGetHeight(hImage: spinImage, pHeight: *mut size_t) -> spinError;
19010}
19011extern "C" {
19012    #[doc = " Retrieves the offset of an image along its X axis"]
19013    #[doc = " @see spinError"]
19014    #[doc = ""]
19015    #[doc = " @param hImage The image of the offset along the X axis to retrieve"]
19016    #[doc = " @param pOffsetX The unsigned integer pointer in which the offset along the X axis is returned"]
19017    #[doc = ""]
19018    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19019    pub fn spinImageGetOffsetX(hImage: spinImage, pOffsetX: *mut size_t) -> spinError;
19020}
19021extern "C" {
19022    #[doc = " Retrieves the offset of an image along its Y axis"]
19023    #[doc = " @see spinError"]
19024    #[doc = ""]
19025    #[doc = " @param hImage The image of the offset along the Y axis to retrieve"]
19026    #[doc = " @param pOffsetY The unsigned integer pointer in which the offset along the Y axis is returned"]
19027    #[doc = ""]
19028    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19029    pub fn spinImageGetOffsetY(hImage: spinImage, pOffsetY: *mut size_t) -> spinError;
19030}
19031extern "C" {
19032    #[doc = " Retrieves the padding of an image along its X axis"]
19033    #[doc = " @see spinError"]
19034    #[doc = ""]
19035    #[doc = " @param hImage The image of the padding along the X axis to retrieve"]
19036    #[doc = " @param pPaddingX The unsigned integer pointer in which the padding along the X axis is returned"]
19037    #[doc = ""]
19038    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19039    pub fn spinImageGetPaddingX(hImage: spinImage, pPaddingX: *mut size_t) -> spinError;
19040}
19041extern "C" {
19042    #[doc = " Retrieves the padding of an image along its Y axis"]
19043    #[doc = " @see spinError"]
19044    #[doc = ""]
19045    #[doc = " @param hImage The image of the padding along the Y axis to retrieve"]
19046    #[doc = " @param pPaddingY The unsigned integer pointer in which the padding along the Y axis is returned"]
19047    #[doc = ""]
19048    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19049    pub fn spinImageGetPaddingY(hImage: spinImage, pPaddingY: *mut size_t) -> spinError;
19050}
19051extern "C" {
19052    #[doc = " Retrieves the frame ID of an image"]
19053    #[doc = " @see spinError"]
19054    #[doc = ""]
19055    #[doc = " @param hImage The image of the frame ID to retrieve"]
19056    #[doc = " @param pFrameID The unsigned integer pointer in which the frame ID is returned"]
19057    #[doc = ""]
19058    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19059    pub fn spinImageGetFrameID(hImage: spinImage, pFrameID: *mut u64) -> spinError;
19060}
19061extern "C" {
19062    #[doc = " Retrieves the timestamp of an image"]
19063    #[doc = " @see spinError"]
19064    #[doc = ""]
19065    #[doc = " @param hImage The image of the timestamp to retrieve"]
19066    #[doc = " @param pTimeStamp The unsigned integer pointer om which the timestamp is returned"]
19067    #[doc = ""]
19068    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19069    pub fn spinImageGetTimeStamp(hImage: spinImage, pTimeStamp: *mut u64) -> spinError;
19070}
19071extern "C" {
19072    #[doc = " Retrieves the payload type of an image (as an enum, spinPayloadTypeInfoIds)"]
19073    #[doc = " @see spinError"]
19074    #[doc = " @see spinPayloadTypeInfoIds"]
19075    #[doc = ""]
19076    #[doc = " @param hImage The image of the payload type to retrieve"]
19077    #[doc = " @param pPayloadType The payload type enum pointer in which the payload type is returned"]
19078    #[doc = ""]
19079    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19080    pub fn spinImageGetPayloadType(hImage: spinImage, pPayloadType: *mut size_t) -> spinError;
19081}
19082extern "C" {
19083    #[doc = " Retrieves the transport layer payload type of an image (as an enum, spinPayloadTypeInfoIds)"]
19084    #[doc = " @see spinError"]
19085    #[doc = " @see spinPayloadTypeInfoIds"]
19086    #[doc = ""]
19087    #[doc = " @param hImage The image of the TL payload type to retrieve"]
19088    #[doc = " @param pPayloadType The payload type enum pointer in which the TL payload type is returned"]
19089    #[doc = ""]
19090    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19091    pub fn spinImageGetTLPayloadType(
19092        hImage: spinImage,
19093        pPayloadType: *mut spinPayloadTypeInfoIDs,
19094    ) -> spinError;
19095}
19096extern "C" {
19097    #[doc = " Retrieves the pixel format of an image (as an enum, spinPixelFormatEnums)"]
19098    #[doc = " @see spinError"]
19099    #[doc = " @see spinPixelFormatEnums"]
19100    #[doc = ""]
19101    #[doc = " @param hImage The image of the pixel format to retrieve"]
19102    #[doc = " @param pPixelFormat The pixel format enum pointer in which the pixel format is returned"]
19103    #[doc = ""]
19104    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19105    pub fn spinImageGetPixelFormat(
19106        hImage: spinImage,
19107        pPixelFormat: *mut spinPixelFormatEnums,
19108    ) -> spinError;
19109}
19110extern "C" {
19111    #[doc = " Retrieves the transport layer pixel format of an image (as an unsigned integer)"]
19112    #[doc = " @see spinError"]
19113    #[doc = ""]
19114    #[doc = " @param hImage The image of the TL pixel format to retrieve"]
19115    #[doc = " @param pPixelFormat The unsigned integer pointer in which the TL pixel format is returned"]
19116    #[doc = ""]
19117    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19118    pub fn spinImageGetTLPixelFormat(hImage: spinImage, pPixelFormat: *mut u64) -> spinError;
19119}
19120extern "C" {
19121    #[doc = " Retrieves the transport layer pixel format namespace of an image (as an enum, spinPixelFormatNamespaceID)"]
19122    #[doc = " @see spinError"]
19123    #[doc = " @see spinPixelFormatNamespaceID"]
19124    #[doc = ""]
19125    #[doc = " @param hImage The image of the TL pixel format namespace to retrieve"]
19126    #[doc = " @param pPixelFormatNamespace The pixel format namespace pointer in which the pixel format namespace is returned"]
19127    #[doc = ""]
19128    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19129    pub fn spinImageGetTLPixelFormatNamespace(
19130        hImage: spinImage,
19131        pPixelFormatNamespace: *mut spinPixelFormatNamespaceID,
19132    ) -> spinError;
19133}
19134extern "C" {
19135    #[doc = " Retrieves the pixel format of an image (as a symbolic)"]
19136    #[doc = " @see spinError"]
19137    #[doc = ""]
19138    #[doc = " @param hImage The image of the pixel format to retrieve"]
19139    #[doc = " @param pBuf The c-string character buffer in which the pixel format symbolic is returned"]
19140    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
19141    #[doc = " the maximum length"]
19142    #[doc = ""]
19143    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19144    pub fn spinImageGetPixelFormatName(
19145        hImage: spinImage,
19146        pBuf: *mut ::std::os::raw::c_char,
19147        pBufLen: *mut size_t,
19148    ) -> spinError;
19149}
19150extern "C" {
19151    #[doc = " Checks whether an image is incomplete"]
19152    #[doc = " @see spinError"]
19153    #[doc = ""]
19154    #[doc = " @param hImage The image to check"]
19155    #[doc = " @param pbIsIncomplete The boolean pointer to return whether or not the image is incomplete"]
19156    #[doc = ""]
19157    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19158    pub fn spinImageIsIncomplete(hImage: spinImage, pbIsIncomplete: *mut bool8_t) -> spinError;
19159}
19160extern "C" {
19161    #[doc = " Retrieves the valid payload size of an image"]
19162    #[doc = " @see spinError"]
19163    #[doc = ""]
19164    #[doc = " @param hImage The image of the payload size to retrieve"]
19165    #[doc = " @param pSize The unsigned integer pointer in which the size of the valid payload is returned"]
19166    #[doc = ""]
19167    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19168    pub fn spinImageGetValidPayloadSize(hImage: spinImage, pSize: *mut size_t) -> spinError;
19169}
19170extern "C" {
19171    #[doc = " Saves an image using a specified file format (using an enum, spinImageFileFormat)"]
19172    #[doc = " @see spinError"]
19173    #[doc = " @see spinImageFileFormat"]
19174    #[doc = ""]
19175    #[doc = " @param hImage The image to be saved"]
19176    #[doc = " @param pFilename The filename to use to save the image (with or without the appropriate file extension)"]
19177    #[doc = " @Param format The file format to use to save the image"]
19178    #[doc = ""]
19179    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19180    pub fn spinImageSave(
19181        hImage: spinImage,
19182        pFilename: *const ::std::os::raw::c_char,
19183        format: spinImageFileFormat,
19184    ) -> spinError;
19185}
19186extern "C" {
19187    #[doc = " Saves an image using a specified file format (using the extension of the filename)"]
19188    #[doc = " @see spinError"]
19189    #[doc = ""]
19190    #[doc = " @param hImage The image to be saved"]
19191    #[doc = " @param pFilename The filename to use to save the image (with or without the appropriate file extension)"]
19192    #[doc = ""]
19193    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19194    pub fn spinImageSaveFromExt(
19195        hImage: spinImage,
19196        pFilename: *const ::std::os::raw::c_char,
19197    ) -> spinError;
19198}
19199extern "C" {
19200    #[doc = " Saves an image as a PNG image"]
19201    #[doc = " @see spinError"]
19202    #[doc = ""]
19203    #[doc = " @param hImage The image to be saved"]
19204    #[doc = " @param pFilename The filename to use to save the image (with or without the appropriate file extension)"]
19205    #[doc = " @param pOption The image options related to saving as PNG; includes compression level and whether to save as"]
19206    #[doc = " interlaced"]
19207    #[doc = ""]
19208    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19209    pub fn spinImageSavePng(
19210        hImage: spinImage,
19211        pFilename: *const ::std::os::raw::c_char,
19212        pOption: *const spinPNGOption,
19213    ) -> spinError;
19214}
19215extern "C" {
19216    #[doc = " Saves an image as a PPM image"]
19217    #[doc = " @see spinError"]
19218    #[doc = ""]
19219    #[doc = " @param hImage The image to be saved"]
19220    #[doc = " @param pFilename The filename to use to save the image (with or without the appropriate file extension)"]
19221    #[doc = " @param pOption The image options related to saving as PPM; includes whether to save as binary"]
19222    #[doc = ""]
19223    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19224    pub fn spinImageSavePpm(
19225        hImage: spinImage,
19226        pFilename: *const ::std::os::raw::c_char,
19227        pOption: *const spinPPMOption,
19228    ) -> spinError;
19229}
19230extern "C" {
19231    #[doc = " Saves an image as an PGM image"]
19232    #[doc = " @see spinError"]
19233    #[doc = ""]
19234    #[doc = " @param hImage The image to be saved"]
19235    #[doc = " @param pFilename The filename to use to save the image (with or without the appropriate file extension)"]
19236    #[doc = " @param pOption The image options related to saving as PGM; includes whether to save as binary"]
19237    #[doc = ""]
19238    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19239    pub fn spinImageSavePgm(
19240        hImage: spinImage,
19241        pFilename: *const ::std::os::raw::c_char,
19242        pOption: *const spinPGMOption,
19243    ) -> spinError;
19244}
19245extern "C" {
19246    #[doc = " Saves an image as a TIFF image"]
19247    #[doc = " @see spinError"]
19248    #[doc = ""]
19249    #[doc = " @param hImage The image to be saved"]
19250    #[doc = " @param pFilename The filename to use to save the image (with or without the appropriate file extension)"]
19251    #[doc = " @param pOption The image options related to saving as TIFF; includes compression method"]
19252    #[doc = ""]
19253    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19254    pub fn spinImageSaveTiff(
19255        hImage: spinImage,
19256        pFilename: *const ::std::os::raw::c_char,
19257        pOption: *const spinTIFFOption,
19258    ) -> spinError;
19259}
19260extern "C" {
19261    #[doc = " Saves an image as a JPEG image"]
19262    #[doc = " @see spinError"]
19263    #[doc = ""]
19264    #[doc = " @param hImage The image to be saved"]
19265    #[doc = " @param pFilename The filename to use to save the image (with or without the appropriate file extension)"]
19266    #[doc = " @param pOption The image options related to saving as JPEG; includes quality and whether to save as progressive"]
19267    #[doc = ""]
19268    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19269    pub fn spinImageSaveJpeg(
19270        hImage: spinImage,
19271        pFilename: *const ::std::os::raw::c_char,
19272        pOption: *const spinJPEGOption,
19273    ) -> spinError;
19274}
19275extern "C" {
19276    #[doc = " Saves an image as a JPEG 2000 image"]
19277    #[doc = " @see spinError"]
19278    #[doc = ""]
19279    #[doc = " @param hImage The image to be saved"]
19280    #[doc = " @param pFilename The filename to use to save the image (with or without the appropriate file extension)"]
19281    #[doc = " @param pOption The image options related to saving as JPEG 2000; includes quality"]
19282    #[doc = ""]
19283    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19284    pub fn spinImageSaveJpg2(
19285        hImage: spinImage,
19286        pFilename: *const ::std::os::raw::c_char,
19287        pOption: *const spinJPG2Option,
19288    ) -> spinError;
19289}
19290extern "C" {
19291    #[doc = " Saves an image as a BMP image"]
19292    #[doc = " @see spinError"]
19293    #[doc = ""]
19294    #[doc = " @param hImage The image to be saved"]
19295    #[doc = " @param pFilename The filename to use to save the image (with or without the appropriate file extension)"]
19296    #[doc = " @param pOption The image options related to saving as BMP; includes whether to save as indexed 8-bit"]
19297    #[doc = ""]
19298    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19299    pub fn spinImageSaveBmp(
19300        hImage: spinImage,
19301        pFilename: *const ::std::os::raw::c_char,
19302        pOption: *const spinBMPOption,
19303    ) -> spinError;
19304}
19305extern "C" {
19306    #[doc = " Retrieves the chunk layout ID of an image"]
19307    #[doc = " @see spinError"]
19308    #[doc = ""]
19309    #[doc = " @param hImage The image to be saved"]
19310    #[doc = " @param pId The unsigned integer pointer in which the chunk layout ID is returned"]
19311    #[doc = ""]
19312    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19313    pub fn spinImageGetChunkLayoutID(hImage: spinImage, pId: *mut u64) -> spinError;
19314}
19315extern "C" {
19316    #[doc = " Calculates the image statistics of an image"]
19317    #[doc = " @see spinError"]
19318    #[doc = ""]
19319    #[doc = " @param hImage The image to be saved"]
19320    #[doc = " @param hStatistics The image statistics context in which the calculated statistics are returned"]
19321    #[doc = ""]
19322    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19323    pub fn spinImageCalculateStatistics(
19324        hImage: spinImage,
19325        hStatistics: spinImageStatistics,
19326    ) -> spinError;
19327}
19328extern "C" {
19329    #[doc = " Retrieves the image status of an image"]
19330    #[doc = " @see spinError"]
19331    #[doc = ""]
19332    #[doc = " @param hImage The image to be saved"]
19333    #[doc = " @param pStatus The status enum pointer in which the image status is returned"]
19334    #[doc = ""]
19335    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19336    pub fn spinImageGetStatus(hImage: spinImage, pStatus: *mut spinImageStatus) -> spinError;
19337}
19338extern "C" {
19339    #[doc = " Retrieves the description of image status"]
19340    #[doc = " @see spinError"]
19341    #[doc = ""]
19342    #[doc = " @param status The status enum"]
19343    #[doc = " @param pBuf The c-string character buffer in which the explanation of image status enum is returned"]
19344    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
19345    #[doc = " the maximum length; if pBuf is NULL, minimum length of string buffer is returned"]
19346    #[doc = ""]
19347    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19348    pub fn spinImageGetStatusDescription(
19349        status: spinImageStatus,
19350        pBuf: *mut ::std::os::raw::c_char,
19351        pBufLen: *mut size_t,
19352    ) -> spinError;
19353}
19354extern "C" {
19355    #[doc = " Releases an image"]
19356    #[doc = " @see spinError"]
19357    #[doc = ""]
19358    #[doc = " @param hImage The image to be saved"]
19359    #[doc = ""]
19360    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19361    pub fn spinImageRelease(hImage: spinImage) -> spinError;
19362}
19363extern "C" {
19364    #[doc = " Checks whether an image has CRC"]
19365    #[doc = " @see spinError"]
19366    #[doc = ""]
19367    #[doc = " @param hImage The image to be saved"]
19368    #[doc = " @param pbHasCRC The boolean pointer to return whether the image has CRC available"]
19369    #[doc = ""]
19370    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19371    pub fn spinImageHasCRC(hImage: spinImage, pbHasCRC: *mut bool8_t) -> spinError;
19372}
19373extern "C" {
19374    #[doc = " Checks whether the CRC of an image is correct"]
19375    #[doc = " @see spinError"]
19376    #[doc = ""]
19377    #[doc = " @param hImage The image to be saved"]
19378    #[doc = " @param pbCheckCRC The boolean pointer to return whether the image CRC passes"]
19379    #[doc = ""]
19380    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19381    pub fn spinImageCheckCRC(hImage: spinImage, pbCheckCRC: *mut bool8_t) -> spinError;
19382}
19383extern "C" {
19384    #[doc = " Retrieves the number of bits per pixel of an image"]
19385    #[doc = " @see spinError"]
19386    #[doc = ""]
19387    #[doc = " @param hImage The image to be saved"]
19388    #[doc = " @param pBitsPerPixel The unsigned integer pointer in which the number of bits per pixel is returned"]
19389    #[doc = ""]
19390    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19391    pub fn spinImageGetBitsPerPixel(hImage: spinImage, pBitsPerPixel: *mut size_t) -> spinError;
19392}
19393extern "C" {
19394    #[doc = " Retrieves the size of an image"]
19395    #[doc = " @see spinError"]
19396    #[doc = ""]
19397    #[doc = " @param hImage The image to be saved"]
19398    #[doc = " @param pImageSize The unsigned integer pointer in which the size of the image is returned"]
19399    #[doc = ""]
19400    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19401    pub fn spinImageGetSize(hImage: spinImage, pImageSize: *mut size_t) -> spinError;
19402}
19403extern "C" {
19404    #[doc = " Retrieves the stride of an image"]
19405    #[doc = " @see spinError"]
19406    #[doc = ""]
19407    #[doc = " @param hImage The image to be saved"]
19408    #[doc = " @param pStride The unsigned integer pointer in which the stride is returned"]
19409    #[doc = ""]
19410    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19411    pub fn spinImageGetStride(hImage: spinImage, pStride: *mut size_t) -> spinError;
19412}
19413extern "C" {
19414    #[doc = " Creates a device event handler"]
19415    #[doc = " @see spinError"]
19416    #[doc = ""]
19417    #[doc = " @param phDeviceEventHandler The device event handler pointer in which the device event context is created"]
19418    #[doc = " @param pFunction The function to be called at device event occurrences; signature to match:"]
19419    #[doc = " void(*spinDeviceEventFunction)(const spinDeviceEventData hEventData, const char* pEventName, void* pUserData)"]
19420    #[doc = " @param pUserData Properties that can be passed into the event function"]
19421    #[doc = ""]
19422    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19423    pub fn spinDeviceEventHandlerCreate(
19424        phDeviceEventHandler: *mut spinDeviceEventHandler,
19425        pFunction: spinDeviceEventFunction,
19426        pUserData: *mut ::std::os::raw::c_void,
19427    ) -> spinError;
19428}
19429extern "C" {
19430    #[doc = " Destroys a device event handler"]
19431    #[doc = " @see spinError"]
19432    #[doc = ""]
19433    #[doc = " @param hDeviceEventHandler The device event handler to destroy"]
19434    #[doc = ""]
19435    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19436    pub fn spinDeviceEventHandlerDestroy(hDeviceEventHandler: spinDeviceEventHandler) -> spinError;
19437}
19438extern "C" {
19439    #[doc = " Creates an image event handler"]
19440    #[doc = " @see spinError"]
19441    #[doc = ""]
19442    #[doc = " @param phImageEventHandler The image event handler pointer in which the image event context is created"]
19443    #[doc = " @param pFunction The function to be called at image event occurrences; signature to match:"]
19444    #[doc = " void(*spinImageEventFunction)(const spinImage hImage, void* pUserData)"]
19445    #[doc = " @param pUserData Properties that can be passed into the event function"]
19446    #[doc = ""]
19447    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19448    pub fn spinImageEventHandlerCreate(
19449        phImageEventHandler: *mut spinImageEventHandler,
19450        pFunction: spinImageEventFunction,
19451        pUserData: *mut ::std::os::raw::c_void,
19452    ) -> spinError;
19453}
19454extern "C" {
19455    #[doc = " Destroys an image event handler"]
19456    #[doc = " @see spinError"]
19457    #[doc = ""]
19458    #[doc = " @param hImageEventHandler The image event handler to destroy"]
19459    #[doc = ""]
19460    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19461    pub fn spinImageEventHandlerDestroy(hImageEventHandler: spinImageEventHandler) -> spinError;
19462}
19463extern "C" {
19464    #[doc = " Creates a device arrival event handler"]
19465    #[doc = " @see spinError"]
19466    #[doc = ""]
19467    #[doc = " @param phDeviceArrivalEventHandler The device arrival event handler pointer in which the device arrival event"]
19468    #[doc = " context is created"]
19469    #[doc = " @param pFunction The function to be called at device event occurrences; signature to match:"]
19470    #[doc = " void(*spinArrivalEventFunction)(void* pUserData)"]
19471    #[doc = " @param pUserData Properties that can be passed into the event function"]
19472    #[doc = ""]
19473    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19474    pub fn spinDeviceArrivalEventHandlerCreate(
19475        phDeviceArrivalEventHandler: *mut spinDeviceArrivalEventHandler,
19476        pFunction: spinArrivalEventFunction,
19477        pUserData: *mut ::std::os::raw::c_void,
19478    ) -> spinError;
19479}
19480extern "C" {
19481    #[doc = " Destroys a device arrival event handler"]
19482    #[doc = " @see spinError"]
19483    #[doc = ""]
19484    #[doc = " @param hDeviceArrivalEventHandler The device arrival event handler to destroy"]
19485    #[doc = ""]
19486    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19487    pub fn spinDeviceArrivalEventHandlerDestroy(
19488        hDeviceArrivalEventHandler: spinDeviceArrivalEventHandler,
19489    ) -> spinError;
19490}
19491extern "C" {
19492    #[doc = " Creates a device removal event handler"]
19493    #[doc = " @see spinError"]
19494    #[doc = ""]
19495    #[doc = " @param phDeviceRemovalEventHandler The device removal event handler pointer in which the device removal event"]
19496    #[doc = "context is created"]
19497    #[doc = " @param pFunction The function to be called at device event occurrences; signature to match:"]
19498    #[doc = "void(*spinRemovalEventFunction)(uint64_t deviceSerialNumber, void* pUserData)"]
19499    #[doc = ""]
19500    #[doc = " @param pUserData Properties that can be passed into the event function"]
19501    #[doc = ""]
19502    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19503    pub fn spinDeviceRemovalEventHandlerCreate(
19504        phDeviceRemovalEventHandler: *mut spinDeviceRemovalEventHandler,
19505        pFunction: spinRemovalEventFunction,
19506        pUserData: *mut ::std::os::raw::c_void,
19507    ) -> spinError;
19508}
19509extern "C" {
19510    #[doc = " Destroys a device removal event handler"]
19511    #[doc = " @see spinError"]
19512    #[doc = ""]
19513    #[doc = " @param hDeviceRemovalEventHandler The device removal event handler to destroy"]
19514    #[doc = ""]
19515    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19516    pub fn spinDeviceRemovalEventHandlerDestroy(
19517        hDeviceRemovalEventHandler: spinDeviceRemovalEventHandler,
19518    ) -> spinError;
19519}
19520extern "C" {
19521    #[doc = " Creates an interface event handler (both device arrival and device removal)"]
19522    #[doc = " @see spinError"]
19523    #[doc = ""]
19524    #[doc = " @param phInterfaceEventHandler The interface event handler pointer in which the interface event context is"]
19525    #[doc = " created"]
19526    #[doc = " @param pArrivalFunction The function to be called at arrival event occurrences; signature to match:"]
19527    #[doc = " void(*spinArrivalEventFunction)(void* pUserData)"]
19528    #[doc = " @param hRemovalFunction The function to be called at removal event occurrences; signature to match:"]
19529    #[doc = " void(*spinRemovalEventFunction)(uint64_t deviceSerialNumber, void* pUserData)"]
19530    #[doc = " @param pUserData Properties that can be passed into the event function"]
19531    #[doc = ""]
19532    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19533    pub fn spinInterfaceEventHandlerCreate(
19534        phInterfaceEventHandler: *mut spinInterfaceEventHandler,
19535        pArrivalFunction: spinArrivalEventFunction,
19536        pRemovalFunction: spinRemovalEventFunction,
19537        pUserData: *mut ::std::os::raw::c_void,
19538    ) -> spinError;
19539}
19540extern "C" {
19541    #[doc = " Destroys an interface event handler (both device arrival and device removal)"]
19542    #[doc = " @see spinError"]
19543    #[doc = ""]
19544    #[doc = " @param hInterfaceEventHandler The interface event handler to destroy"]
19545    #[doc = ""]
19546    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19547    pub fn spinInterfaceEventHandlerDestroy(
19548        hInterfaceEventHandler: spinInterfaceEventHandler,
19549    ) -> spinError;
19550}
19551extern "C" {
19552    #[doc = " Creates a log event handler"]
19553    #[doc = " @see spinError"]
19554    #[doc = ""]
19555    #[doc = " @param phLogEventHandler The log event handler pointer in which the log event context is created"]
19556    #[doc = " @param pFunction The function to be called at device event occurrences; signature to match:"]
19557    #[doc = " void(*spinLogEventFunction)(const spinLogEventData hEventData, void* pUserData)"]
19558    #[doc = " @param pUserData Properties that can be passed into the event function"]
19559    #[doc = ""]
19560    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19561    pub fn spinLogEventHandlerCreate(
19562        phLogEventHandler: *mut spinLogEventHandler,
19563        pFunction: spinLogEventFunction,
19564        pUserData: *mut ::std::os::raw::c_void,
19565    ) -> spinError;
19566}
19567extern "C" {
19568    #[doc = " Destroys a log event handler"]
19569    #[doc = " @see spinError"]
19570    #[doc = ""]
19571    #[doc = " @param hLogEventHandler The log event handler to destroy"]
19572    #[doc = ""]
19573    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19574    pub fn spinLogEventHandlerDestroy(hLogEventHandler: spinLogEventHandler) -> spinError;
19575}
19576extern "C" {
19577    #[doc = " Creates an image statistics context"]
19578    #[doc = ""]
19579    #[doc = " @param phStatistics The statistics handle pointer in which the image statistics context is returned"]
19580    #[doc = ""]
19581    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19582    pub fn spinImageStatisticsCreate(phStatistics: *mut spinImageStatistics) -> spinError;
19583}
19584extern "C" {
19585    #[doc = " Destroys an image statistics context"]
19586    #[doc = " @see spinError"]
19587    #[doc = ""]
19588    #[doc = " @param hStatistics The image statistics context to destroy"]
19589    #[doc = ""]
19590    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19591    pub fn spinImageStatisticsDestroy(hStatistics: spinImageStatistics) -> spinError;
19592}
19593extern "C" {
19594    #[doc = " Enables all channels of an image statistics context"]
19595    #[doc = " @see spinError"]
19596    #[doc = ""]
19597    #[doc = " @param hStatistics The image statistics context to enable all channels"]
19598    #[doc = ""]
19599    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19600    pub fn spinImageStatisticsEnableAll(hStatistics: spinImageStatistics) -> spinError;
19601}
19602extern "C" {
19603    #[doc = " Disables all channels of an image statistics context"]
19604    #[doc = " @see spinError"]
19605    #[doc = ""]
19606    #[doc = " @param hStatistics The image statistics context to disable all channels"]
19607    #[doc = ""]
19608    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19609    pub fn spinImageStatisticsDisableAll(hStatistics: spinImageStatistics) -> spinError;
19610}
19611extern "C" {
19612    #[doc = " Disables all channels of an image statistics context except grey-scale"]
19613    #[doc = " @see spinError"]
19614    #[doc = ""]
19615    #[doc = " @param hStatistics The image statistics context to enable only grey"]
19616    #[doc = ""]
19617    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19618    pub fn spinImageStatisticsEnableGreyOnly(hStatistics: spinImageStatistics) -> spinError;
19619}
19620extern "C" {
19621    #[doc = " Disables all channels of an image statistics context except red, blue, and green"]
19622    #[doc = " @see spinError"]
19623    #[doc = ""]
19624    #[doc = " @param hStatistics The image statistics context to enable only RGB"]
19625    #[doc = ""]
19626    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19627    pub fn spinImageStatisticsEnableRgbOnly(hStatistics: spinImageStatistics) -> spinError;
19628}
19629extern "C" {
19630    #[doc = " Disables all channels of an image statistics context except hue, saturation, and lightness"]
19631    #[doc = " @see spinError"]
19632    #[doc = ""]
19633    #[doc = " @param hStatistics The image statistics context to enable only HSL"]
19634    #[doc = ""]
19635    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19636    pub fn spinImageStatisticsEnableHslOnly(hStatistics: spinImageStatistics) -> spinError;
19637}
19638extern "C" {
19639    #[doc = " Checks whether an image statistics context is enabled"]
19640    #[doc = " @see spinError"]
19641    #[doc = ""]
19642    #[doc = " @param hStatistics The image statistics context of the channel"]
19643    #[doc = " @param channel The channel to check"]
19644    #[doc = " @param pbEnabled The boolean pointer to return whether or not the channel is enabled"]
19645    #[doc = ""]
19646    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19647    pub fn spinImageStatisticsGetChannelStatus(
19648        hStatistics: spinImageStatistics,
19649        channel: spinStatisticsChannel,
19650        pbEnabled: *mut bool8_t,
19651    ) -> spinError;
19652}
19653extern "C" {
19654    #[doc = " Sets the status of an image statistics channel"]
19655    #[doc = " @see spinError"]
19656    #[doc = ""]
19657    #[doc = " @param hStatistics The image statistics context of the channel"]
19658    #[doc = " @param channel The channel to enable/disable"]
19659    #[doc = " @param bEnable The boolean value to set; true enables, false disables"]
19660    #[doc = ""]
19661    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19662    pub fn spinImageStatisticsSetChannelStatus(
19663        hStatistics: spinImageStatistics,
19664        channel: spinStatisticsChannel,
19665        bEnable: bool8_t,
19666    ) -> spinError;
19667}
19668extern "C" {
19669    #[doc = " Retrieves the range of an image statistics channel"]
19670    #[doc = " @see spinError"]
19671    #[doc = ""]
19672    #[doc = " @param hStatistics The image statistics context of the channel"]
19673    #[doc = " @param channel The channel of the range to retrieve"]
19674    #[doc = " @param pMin The unsigned integer pointer in which the minimum value of the range is returned"]
19675    #[doc = " @param pMax The unsigned integer pointer in which the maximum value of the range is returned"]
19676    #[doc = ""]
19677    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19678    pub fn spinImageStatisticsGetRange(
19679        hStatistics: spinImageStatistics,
19680        channel: spinStatisticsChannel,
19681        pMin: *mut ::std::os::raw::c_uint,
19682        pMax: *mut ::std::os::raw::c_uint,
19683    ) -> spinError;
19684}
19685extern "C" {
19686    #[doc = " Retrieves the pixel value range of an image statistics channel"]
19687    #[doc = " @see spinError"]
19688    #[doc = ""]
19689    #[doc = " @param hStatistics The image statistics context of the channel"]
19690    #[doc = " @param channel The channel of the pixel value range to retrieve"]
19691    #[doc = " @param pMin The unsigned integer pointer in which the minimum value of the pixel value range is returned"]
19692    #[doc = " @param pMax The unsigned integer pointer in which the maximum value of the pixel value range is returned"]
19693    #[doc = ""]
19694    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19695    pub fn spinImageStatisticsGetPixelValueRange(
19696        hStatistics: spinImageStatistics,
19697        channel: spinStatisticsChannel,
19698        pMin: *mut ::std::os::raw::c_uint,
19699        pMax: *mut ::std::os::raw::c_uint,
19700    ) -> spinError;
19701}
19702extern "C" {
19703    #[doc = " Retrieves the number of pixel values of an image statistics channel"]
19704    #[doc = " @see spinError"]
19705    #[doc = ""]
19706    #[doc = " @param hStatistics The image statistics context of the channel"]
19707    #[doc = " @param channel The channel where the pixel values to be counted are"]
19708    #[doc = " @param iNumValues The unsigned integer pointer in which the number of pixel values is returned"]
19709    #[doc = ""]
19710    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19711    pub fn spinImageStatisticsGetNumPixelValues(
19712        hStatistics: spinImageStatistics,
19713        channel: spinStatisticsChannel,
19714        pNumValues: *mut ::std::os::raw::c_uint,
19715    ) -> spinError;
19716}
19717extern "C" {
19718    #[doc = " Retrieves the mean of pixel values of an image statistics channel"]
19719    #[doc = " @see spinError"]
19720    #[doc = ""]
19721    #[doc = " @param hStatistics The image statistics context of the channel"]
19722    #[doc = " @param channel The channel of the mean pixel value to be retrieved"]
19723    #[doc = " @param pMean The float pointer in which the mean pixel value is returned"]
19724    #[doc = ""]
19725    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19726    pub fn spinImageStatisticsGetMean(
19727        hStatistics: spinImageStatistics,
19728        channel: spinStatisticsChannel,
19729        pMean: *mut f32,
19730    ) -> spinError;
19731}
19732extern "C" {
19733    #[doc = " Retrieves a histogram of an image statistics channel"]
19734    #[doc = " @see spinError"]
19735    #[doc = ""]
19736    #[doc = " @param hStatistics The image statistics context of the channel"]
19737    #[doc = " @param channel The channel of the histogram to be returned"]
19738    #[doc = " @param pHistogram The pointer to the integer pointer in which the histogram data is returned"]
19739    #[doc = ""]
19740    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19741    pub fn spinImageStatisticsGetHistogram(
19742        hStatistics: spinImageStatistics,
19743        channel: spinStatisticsChannel,
19744        ppHistogram: *mut *mut ::std::os::raw::c_int,
19745    ) -> spinError;
19746}
19747extern "C" {
19748    #[doc = " Retrieves all available information of an image statistics channel"]
19749    #[doc = " @see spinError"]
19750    #[doc = ""]
19751    #[doc = " @param hStatistics The image statistics context of the channel"]
19752    #[doc = " @param channel The channel of the information to retrieve"]
19753    #[doc = " @param pRangeMin The unsigned integer pointer in which the minimum value of the range is returned"]
19754    #[doc = " @param pRangeMax The unsigned integer pointer in which the maximum value of the range is returned"]
19755    #[doc = " @param pPixelValueMin The unsigned integer pointer in which the minimum pixel value of the range is returned"]
19756    #[doc = " @param pPixelValueMax The unsigned integer pointer in which the maximum pixel value of the range is returned"]
19757    #[doc = " @param pNumPixelValues The unsigned integer pointer in which the number of pixel values is returned"]
19758    #[doc = " @param pPixelValueMean The float pointer in which the mean pixel value is returned"]
19759    #[doc = " @param ppiHistogram The pointer to the pointer in which the histogram data is returned"]
19760    #[doc = ""]
19761    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19762    pub fn spinImageStatisticsGetAll(
19763        hStatistics: spinImageStatistics,
19764        channel: spinStatisticsChannel,
19765        pRangeMin: *mut ::std::os::raw::c_uint,
19766        pRangeMax: *mut ::std::os::raw::c_uint,
19767        pPixelValueMin: *mut ::std::os::raw::c_uint,
19768        pPixelValueMax: *mut ::std::os::raw::c_uint,
19769        pNumPixelValues: *mut ::std::os::raw::c_uint,
19770        pPixelValueMean: *mut f32,
19771        ppHistogram: *mut *mut ::std::os::raw::c_int,
19772    ) -> spinError;
19773}
19774extern "C" {
19775    #[doc = " Retrieves the category name of a log event"]
19776    #[doc = " @see spinError"]
19777    #[doc = ""]
19778    #[doc = " @param hLogEventData The log event data received from the log event"]
19779    #[doc = " @param pBuf The c-string character buffer in which the category name of the log event is returned"]
19780    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
19781    #[doc = " the maximum length"]
19782    #[doc = ""]
19783    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19784    pub fn spinLogDataGetCategoryName(
19785        hLogEventData: spinLogEventData,
19786        pBuf: *mut ::std::os::raw::c_char,
19787        pBufLen: *mut size_t,
19788    ) -> spinError;
19789}
19790extern "C" {
19791    #[doc = " Retrieves the priority of a log event"]
19792    #[doc = " @see spinError"]
19793    #[doc = ""]
19794    #[doc = " @param hLogEventData The log event data received from the log event"]
19795    #[doc = " @param pValue The integer pointer in which the priority value is returned"]
19796    #[doc = ""]
19797    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19798    pub fn spinLogDataGetPriority(hLogEventData: spinLogEventData, pValue: *mut i64) -> spinError;
19799}
19800extern "C" {
19801    #[doc = " Retrieves the priority name of a log event"]
19802    #[doc = " @see spinError"]
19803    #[doc = ""]
19804    #[doc = " @param hLogEventData The log event data received from the log event"]
19805    #[doc = " @param pBuf The c-string character buffer in which the priority name of the log event is returned"]
19806    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
19807    #[doc = " the maximum length"]
19808    #[doc = ""]
19809    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19810    pub fn spinLogDataGetPriorityName(
19811        hLogEventData: spinLogEventData,
19812        pBuf: *mut ::std::os::raw::c_char,
19813        pBufLen: *mut size_t,
19814    ) -> spinError;
19815}
19816extern "C" {
19817    #[doc = " Retrieves the timestamp of a log event"]
19818    #[doc = " @see spinError"]
19819    #[doc = ""]
19820    #[doc = " @param hLogEventData The log event data received from the log event"]
19821    #[doc = " @param pBuf The c-string character buffer in which the timestamp of the log event is returned"]
19822    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
19823    #[doc = " the maximum length"]
19824    #[doc = ""]
19825    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19826    pub fn spinLogDataGetTimestamp(
19827        hLogEventData: spinLogEventData,
19828        pBuf: *mut ::std::os::raw::c_char,
19829        pBufLen: *mut size_t,
19830    ) -> spinError;
19831}
19832extern "C" {
19833    #[doc = " Retrieves the NDC of a log event"]
19834    #[doc = " @see spinError"]
19835    #[doc = ""]
19836    #[doc = " @param hLogEventData The log event data received from the log event"]
19837    #[doc = " @param pBuf The c-string character buffer in which the NDC of the log event is returned"]
19838    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
19839    #[doc = " the maximum length"]
19840    #[doc = ""]
19841    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19842    pub fn spinLogDataGetNDC(
19843        hLogEventData: spinLogEventData,
19844        pBuf: *mut ::std::os::raw::c_char,
19845        pBufLen: *mut size_t,
19846    ) -> spinError;
19847}
19848extern "C" {
19849    #[doc = " Retrieves the thread name of a log event"]
19850    #[doc = " @see spinError"]
19851    #[doc = ""]
19852    #[doc = " @param hLogEventData The log event data received from the log event"]
19853    #[doc = " @param pBuf The c-string character buffer in which the thread name of the log event is returned"]
19854    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
19855    #[doc = " the maximum length"]
19856    #[doc = ""]
19857    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19858    pub fn spinLogDataGetThreadName(
19859        hLogEventData: spinLogEventData,
19860        pBuf: *mut ::std::os::raw::c_char,
19861        pBufLen: *mut size_t,
19862    ) -> spinError;
19863}
19864extern "C" {
19865    #[doc = " Retrieves the log message of a log event"]
19866    #[doc = " @see spinError"]
19867    #[doc = ""]
19868    #[doc = " @param hLogEventData The log event data received from the log event"]
19869    #[doc = " @param pBuf The c-string character buffer in which the log message of the log event is returned"]
19870    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
19871    #[doc = " the maximum length"]
19872    #[doc = ""]
19873    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19874    pub fn spinLogDataGetLogMessage(
19875        hLogEventData: spinLogEventData,
19876        pBuf: *mut ::std::os::raw::c_char,
19877        pBufLen: *mut size_t,
19878    ) -> spinError;
19879}
19880extern "C" {
19881    #[doc = " Retrieves the event ID of a device event"]
19882    #[doc = " @see spinError"]
19883    #[doc = ""]
19884    #[doc = " @param hDeviceEventData The log event data received from the log event"]
19885    #[doc = " @param pEventId The unsigned integer pointer in which the event ID is returned"]
19886    #[doc = ""]
19887    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19888    pub fn spinDeviceEventGetId(
19889        hDeviceEventData: spinDeviceEventData,
19890        pEventId: *mut u64,
19891    ) -> spinError;
19892}
19893extern "C" {
19894    #[doc = " Retrieves the payload data of a device event"]
19895    #[doc = " @see spinError"]
19896    #[doc = ""]
19897    #[doc = " @param hDeviceEventData The log event data received from the log event"]
19898    #[doc = " @param pBuf The unsigned integer pointer in which the event payload is returned"]
19899    #[doc = " @param pBufSize The unsigned integer pointer in which the size of the payload is returned"]
19900    #[doc = ""]
19901    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19902    pub fn spinDeviceEventGetPayloadData(
19903        hDeviceEventData: spinDeviceEventData,
19904        pBuf: *const u8,
19905        pBufSize: *mut size_t,
19906    ) -> spinError;
19907}
19908extern "C" {
19909    #[doc = " Retrieves the payload data size of a device event"]
19910    #[doc = " @see spinError"]
19911    #[doc = ""]
19912    #[doc = " @param hDeviceEventData The log event data received from the log event"]
19913    #[doc = " @param pBufSize The unsigned integer pointer in which the size of the payload is returned"]
19914    #[doc = ""]
19915    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19916    pub fn spinDeviceEventGetPayloadDataSize(
19917        hDeviceEventData: spinDeviceEventData,
19918        pBufSize: *mut size_t,
19919    ) -> spinError;
19920}
19921extern "C" {
19922    #[doc = " Retrieves the event name of a device event"]
19923    #[doc = " @see spinError"]
19924    #[doc = ""]
19925    #[doc = " @param hDeviceEventData The log event data received from the log event"]
19926    #[doc = " @param pBuf The c-string character buffer in which the name of the device event is returned"]
19927    #[doc = " @param pBufLen The unsigned integer pointer in which the length of the c-string is returned; the input value is"]
19928    #[doc = " the maximum length"]
19929    #[doc = ""]
19930    #[doc = " @return spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error"]
19931    pub fn spinDeviceEventGetName(
19932        hDeviceEventData: spinDeviceEventData,
19933        pBuf: *mut ::std::os::raw::c_char,
19934        pBufLen: *mut size_t,
19935    ) -> spinError;
19936}
19937extern "C" {
19938    pub fn spinImageChunkDataGetIntValue(
19939        hImage: spinImage,
19940        pName: *const ::std::os::raw::c_char,
19941        pValue: *mut i64,
19942    ) -> spinError;
19943}
19944extern "C" {
19945    pub fn spinImageChunkDataGetFloatValue(
19946        hImage: spinImage,
19947        pName: *const ::std::os::raw::c_char,
19948        pValue: *mut f64,
19949    ) -> spinError;
19950}
19951#[repr(C)]
19952#[derive(Debug, Copy, Clone)]
19953pub struct __locale_data {
19954    pub _address: u8,
19955}