Skip to content

File CameraDefsC.h

File List > include > spinc > CameraDefsC.h

Go to the documentation of this file

//=============================================================================
// Copyright (c) 2026 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================

/* Auto-generated file. Do not modify. */

#ifndef FLIR_SPINNAKER_CAMERA_DEFS_C_H
#define FLIR_SPINNAKER_CAMERA_DEFS_C_H

typedef enum _spinExposureModeEnums    
{
    ExposureMode_Timed,    
    ExposureMode_TriggerWidth,    
    NUM_EXPOSUREMODE
} spinExposureModeEnums;

typedef enum _spinTriggerActivationEnums    
{
    TriggerActivation_LevelLow,    
    TriggerActivation_LevelHigh,    
    TriggerActivation_FallingEdge,    
    TriggerActivation_RisingEdge,    
    TriggerActivation_AnyEdge,    
    NUM_TRIGGERACTIVATION
} spinTriggerActivationEnums;

typedef enum _spinTriggerSelectorEnums    
{
    TriggerSelector_AcquisitionStart,    
    TriggerSelector_FrameStart,    
    TriggerSelector_FrameBurstStart,    
    NUM_TRIGGERSELECTOR
} spinTriggerSelectorEnums;

typedef enum _spinAcquisitionModeEnums    
{
    AcquisitionMode_Continuous,    
    AcquisitionMode_SingleFrame,    
    AcquisitionMode_MultiFrame,    
    NUM_ACQUISITIONMODE
} spinAcquisitionModeEnums;

typedef enum _spinTriggerSourceEnums    
{
    TriggerSource_Line0,    
    TriggerSource_Line1,    
    TriggerSource_Line2,    
    TriggerSource_Line3,    
    TriggerSource_UserOutput0,    
    TriggerSource_UserOutput1,    
    TriggerSource_UserOutput2,    
    TriggerSource_UserOutput3,    
    TriggerSource_Line4,    
    TriggerSource_Line5,    
    TriggerSource_Counter0Start,    
    TriggerSource_Counter1Start,    
    TriggerSource_Counter0End,    
    TriggerSource_Counter1End,    
    TriggerSource_LogicBlock0,    
    TriggerSource_LogicBlock1,    
    TriggerSource_Action0,    
    TriggerSource_Software,    
    NUM_TRIGGERSOURCE
} spinTriggerSourceEnums;

typedef enum _spinExposureAutoEnums    
{
    ExposureAuto_Off,    
    ExposureAuto_Once,    
    ExposureAuto_Continuous,    
    NUM_EXPOSUREAUTO
} spinExposureAutoEnums;

typedef enum _spinSensorShutterModeEnums    
{
    SensorShutterMode_Global,    
    SensorShutterMode_Rolling,    
    SensorShutterMode_GlobalReset,    
    NUM_SENSORSHUTTERMODE
} spinSensorShutterModeEnums;

typedef enum _spinTriggerOverlapEnums    
{
    TriggerOverlap_Off,    
    TriggerOverlap_ReadOut,    
    TriggerOverlap_PreviousFrame,    
    NUM_TRIGGEROVERLAP
} spinTriggerOverlapEnums;

typedef enum _spinTriggerModeEnums    
{
    TriggerMode_Off,    
    TriggerMode_On,    
    NUM_TRIGGERMODE
} spinTriggerModeEnums;

typedef enum _spinActionUnconditionalModeEnums    
{
    ActionUnconditionalMode_Off,    
    ActionUnconditionalMode_On,    
    NUM_ACTIONUNCONDITIONALMODE
} spinActionUnconditionalModeEnums;

typedef enum _spinActionSelectorEnums    
{
    ActionSelector_Action0,    
    NUM_ACTIONSELECTOR
} spinActionSelectorEnums;

typedef enum _spinBalanceWhiteAutoEnums    
{
    BalanceWhiteAuto_Off,    
    BalanceWhiteAuto_Once,    
    BalanceWhiteAuto_Continuous,    
    NUM_BALANCEWHITEAUTO
} spinBalanceWhiteAutoEnums;

typedef enum _spinBalanceRatioSelectorEnums    
{
    BalanceRatioSelector_Red,    
    BalanceRatioSelector_Blue,    
    NUM_BALANCERATIOSELECTOR
} spinBalanceRatioSelectorEnums;

typedef enum _spinGainConversionEnums    
{
    GainConversion_LCG,    
    GainConversion_HCG,    
    NUM_GAINCONVERSION
} spinGainConversionEnums;

typedef enum _spinGainAutoEnums    
{
    GainAuto_Off,    
    GainAuto_Once,    
    GainAuto_Continuous,    
    NUM_GAINAUTO
} spinGainAutoEnums;

typedef enum _spinBlackLevelSelectorEnums    
{
    BlackLevelSelector_All,    
    BlackLevelSelector_Analog,    
    BlackLevelSelector_Digital,    
    NUM_BLACKLEVELSELECTOR
} spinBlackLevelSelectorEnums;

typedef enum _spinGainSelectorEnums    
{
    GainSelector_All,    
    NUM_GAINSELECTOR
} spinGainSelectorEnums;

typedef enum _spinAutoExposureControlPriorityEnums    
{
    AutoExposureControlPriority_Gain,    
    AutoExposureControlPriority_ExposureTime,    
    NUM_AUTOEXPOSURECONTROLPRIORITY
} spinAutoExposureControlPriorityEnums;

typedef enum _spinAutoExposureMeteringModeEnums    
{
    AutoExposureMeteringMode_Average,    
    AutoExposureMeteringMode_Spot,    
    AutoExposureMeteringMode_Partial,    
    AutoExposureMeteringMode_CenterWeighted,    
    AutoExposureMeteringMode_HistgramPeak,    
    NUM_AUTOEXPOSUREMETERINGMODE
} spinAutoExposureMeteringModeEnums;

typedef enum _spinBalanceWhiteAutoProfileEnums    
{
    BalanceWhiteAutoProfile_Indoor,    
    BalanceWhiteAutoProfile_Outdoor,    
    NUM_BALANCEWHITEAUTOPROFILE
} spinBalanceWhiteAutoProfileEnums;

typedef enum _spinAutoAlgorithmSelectorEnums    
{
    AutoAlgorithmSelector_Awb,    
    AutoAlgorithmSelector_Ae,    
    NUM_AUTOALGORITHMSELECTOR
} spinAutoAlgorithmSelectorEnums;

typedef enum _spinAutoExposureTargetGreyValueAutoEnums    
{
    AutoExposureTargetGreyValueAuto_Off,    
    AutoExposureTargetGreyValueAuto_Continuous,    
    NUM_AUTOEXPOSURETARGETGREYVALUEAUTO
} spinAutoExposureTargetGreyValueAutoEnums;

typedef enum _spinAutoExposureLightingModeEnums    
{
    AutoExposureLightingMode_AutoDetect,    
    AutoExposureLightingMode_Backlight,    
    AutoExposureLightingMode_Frontlight,    
    AutoExposureLightingMode_Normal,    
    NUM_AUTOEXPOSURELIGHTINGMODE
} spinAutoExposureLightingModeEnums;

typedef enum _spinChunkGainSelectorEnums    
{
    ChunkGainSelector_All,    
    ChunkGainSelector_Red,    
    ChunkGainSelector_Green,    
    ChunkGainSelector_Blue,    
    NUM_CHUNKGAINSELECTOR
} spinChunkGainSelectorEnums;

typedef enum _spinChunkSelectorEnums    
{
    ChunkSelector_Image,    
    ChunkSelector_CRC,    
    ChunkSelector_FrameID,    
    ChunkSelector_OffsetX,    
    ChunkSelector_OffsetY,    
    ChunkSelector_Width,    
    ChunkSelector_Height,    
    ChunkSelector_ExposureTime,    
    ChunkSelector_Gain,    
    ChunkSelector_BlackLevel,    
    ChunkSelector_PixelFormat,    
    ChunkSelector_SequencerSetActive,    
    ChunkSelector_Timestamp,    
    ChunkSelector_SerialData,    
    ChunkSelector_LineStatusAll,    
    ChunkSelector_ExposureEndLineStatusAll,    
    ChunkSelector_CompressionMode,    
    ChunkSelector_CompressionRatio,    
    ChunkSelector_CurrentDatarate,    
    NUM_CHUNKSELECTOR
} spinChunkSelectorEnums;

typedef enum _spinChunkBlackLevelSelectorEnums    
{
    ChunkBlackLevelSelector_All,    
    NUM_CHUNKBLACKLEVELSELECTOR
} spinChunkBlackLevelSelectorEnums;

typedef enum _spinChunkPixelFormatEnums    
{
    ChunkPixelFormat_Mono8,    
    ChunkPixelFormat_Mono12Packed,    
    ChunkPixelFormat_Mono16,    
    ChunkPixelFormat_RGB8Packed,    
    ChunkPixelFormat_YUV422Packed,    
    ChunkPixelFormat_BayerGR8,    
    ChunkPixelFormat_BayerRG8,    
    ChunkPixelFormat_BayerGB8,    
    ChunkPixelFormat_BayerBG8,    
    ChunkPixelFormat_YCbCr601_422_8_CbYCrY,    
    NUM_CHUNKPIXELFORMAT
} spinChunkPixelFormatEnums;

typedef enum _spinColorTransformationSelectorEnums    
{
    ColorTransformationSelector_RGBtoRGB,    
    ColorTransformationSelector_RGBtoYUV,    
    NUM_COLORTRANSFORMATIONSELECTOR
} spinColorTransformationSelectorEnums;

typedef enum _spinRgbTransformLightSourceEnums    
{
    RgbTransformLightSource_General,    
    RgbTransformLightSource_Tungsten2800K,    
    RgbTransformLightSource_WarmFluorescent3000K,    
    RgbTransformLightSource_CoolFluorescent4000K,    
    RgbTransformLightSource_Daylight5000K,    
    RgbTransformLightSource_Cloudy6500K,    
    RgbTransformLightSource_Shade8000K,    
    RgbTransformLightSource_Custom,    
    NUM_RGBTRANSFORMLIGHTSOURCE
} spinRgbTransformLightSourceEnums;

typedef enum _spinColorTransformationValueSelectorEnums    
{
    ColorTransformationValueSelector_Gain00,    
    ColorTransformationValueSelector_Gain01,    
    ColorTransformationValueSelector_Gain02,    
    ColorTransformationValueSelector_Gain10,    
    ColorTransformationValueSelector_Gain11,    
    ColorTransformationValueSelector_Gain12,    
    ColorTransformationValueSelector_Gain20,    
    ColorTransformationValueSelector_Gain21,    
    ColorTransformationValueSelector_Gain22,    
    ColorTransformationValueSelector_Offset0,    
    ColorTransformationValueSelector_Offset1,    
    ColorTransformationValueSelector_Offset2,    
    NUM_COLORTRANSFORMATIONVALUESELECTOR
} spinColorTransformationValueSelectorEnums;

typedef enum _spinCounterTriggerSourceEnums    
{
    CounterTriggerSource_Line0,    
    CounterTriggerSource_Line1,    
    CounterTriggerSource_Line2,    
    CounterTriggerSource_Line3,    
    CounterTriggerSource_UserOutput0,    
    CounterTriggerSource_UserOutput1,    
    CounterTriggerSource_UserOutput2,    
    CounterTriggerSource_UserOutput3,    
    CounterTriggerSource_Line4,    
    CounterTriggerSource_Line5,    
    CounterTriggerSource_Counter0Start,    
    CounterTriggerSource_Counter1Start,    
    CounterTriggerSource_Counter0End,    
    CounterTriggerSource_Counter1End,    
    CounterTriggerSource_LogicBlock0,    
    CounterTriggerSource_LogicBlock1,    
    CounterTriggerSource_ExposureStart,    
    CounterTriggerSource_ExposureEnd,    
    CounterTriggerSource_FrameTriggerWait,    
    CounterTriggerSource_Off,    
    NUM_COUNTERTRIGGERSOURCE
} spinCounterTriggerSourceEnums;

typedef enum _spinCounterEventActivationEnums    
{
    CounterEventActivation_LevelLow,    
    CounterEventActivation_LevelHigh,    
    CounterEventActivation_FallingEdge,    
    CounterEventActivation_RisingEdge,    
    CounterEventActivation_AnyEdge,    
    NUM_COUNTEREVENTACTIVATION
} spinCounterEventActivationEnums;

typedef enum _spinCounterResetActivationEnums    
{
    CounterResetActivation_LevelLow,    
    CounterResetActivation_LevelHigh,    
    CounterResetActivation_FallingEdge,    
    CounterResetActivation_RisingEdge,    
    CounterResetActivation_AnyEdge,    
    NUM_COUNTERRESETACTIVATION
} spinCounterResetActivationEnums;

typedef enum _spinCounterTriggerActivationEnums    
{
    CounterTriggerActivation_LevelLow,    
    CounterTriggerActivation_LevelHigh,    
    CounterTriggerActivation_FallingEdge,    
    CounterTriggerActivation_RisingEdge,    
    CounterTriggerActivation_AnyEdge,    
    NUM_COUNTERTRIGGERACTIVATION
} spinCounterTriggerActivationEnums;

typedef enum _spinCounterSelectorEnums    
{
    CounterSelector_Counter0,    
    CounterSelector_Counter1,    
    NUM_COUNTERSELECTOR
} spinCounterSelectorEnums;

typedef enum _spinCounterStatusEnums    
{
    CounterStatus_CounterIdle,    
    CounterStatus_CounterTriggerWait,    
    CounterStatus_CounterActive,    
    CounterStatus_CounterCompleted,    
    CounterStatus_CounterOverflow,    
    NUM_COUNTERSTATUS
} spinCounterStatusEnums;

typedef enum _spinCounterResetSourceEnums    
{
    CounterResetSource_Line0,    
    CounterResetSource_Line1,    
    CounterResetSource_Line2,    
    CounterResetSource_Line3,    
    CounterResetSource_UserOutput0,    
    CounterResetSource_UserOutput1,    
    CounterResetSource_UserOutput2,    
    CounterResetSource_UserOutput3,    
    CounterResetSource_Line4,    
    CounterResetSource_Line5,    
    CounterResetSource_Counter0Start,    
    CounterResetSource_Counter1Start,    
    CounterResetSource_Counter0End,    
    CounterResetSource_Counter1End,    
    CounterResetSource_LogicBlock0,    
    CounterResetSource_LogicBlock1,    
    CounterResetSource_ExposureStart,    
    CounterResetSource_ExposureEnd,    
    CounterResetSource_FrameTriggerWait,    
    CounterResetSource_Off,    
    NUM_COUNTERRESETSOURCE
} spinCounterResetSourceEnums;

typedef enum _spinCounterEventSourceEnums    
{
    CounterEventSource_Line0,    
    CounterEventSource_Line1,    
    CounterEventSource_Line2,    
    CounterEventSource_Line3,    
    CounterEventSource_UserOutput0,    
    CounterEventSource_UserOutput1,    
    CounterEventSource_UserOutput2,    
    CounterEventSource_UserOutput3,    
    CounterEventSource_Line4,    
    CounterEventSource_Line5,    
    CounterEventSource_Counter0Start,    
    CounterEventSource_Counter1Start,    
    CounterEventSource_Counter0End,    
    CounterEventSource_Counter1End,    
    CounterEventSource_LogicBlock0,    
    CounterEventSource_LogicBlock1,    
    CounterEventSource_ExposureStart,    
    CounterEventSource_ExposureEnd,    
    CounterEventSource_FrameTriggerWait,    
    CounterEventSource_MHzTick,    
    CounterEventSource_Off,    
    NUM_COUNTEREVENTSOURCE
} spinCounterEventSourceEnums;

typedef enum _spinDefectCorrectionModeEnums    
{
    DefectCorrectionMode_Average,    
    DefectCorrectionMode_Highlight,    
    DefectCorrectionMode_Zero,    
    NUM_DEFECTCORRECTIONMODE
} spinDefectCorrectionModeEnums;

typedef enum _spinDeviceRegistersEndiannessEnums    
{
    DeviceRegistersEndianness_Little,    
    DeviceRegistersEndianness_Big,    
    NUM_DEVICEREGISTERSENDIANNESS
} spinDeviceRegistersEndiannessEnums;

typedef enum _spinDeviceScanTypeEnums    
{
    DeviceScanType_Areascan,    
    NUM_DEVICESCANTYPE
} spinDeviceScanTypeEnums;

typedef enum _spinDeviceCharacterSetEnums    
{
    DeviceCharacterSet_UTF8,    
    DeviceCharacterSet_ASCII,    
    NUM_DEVICECHARACTERSET
} spinDeviceCharacterSetEnums;

typedef enum _spinDeviceTLTypeEnums    
{
    DeviceTLType_GigEVision,    
    DeviceTLType_CameraLink,    
    DeviceTLType_CameraLinkHS,    
    DeviceTLType_CoaXPress,    
    DeviceTLType_USB3Vision,    
    DeviceTLType_Custom,    
    NUM_DEVICETLTYPE
} spinDeviceTLTypeEnums;

typedef enum _spinDevicePowerSupplySelectorEnums    
{
    DevicePowerSupplySelector_External,    
    DevicePowerSupplySelector_Poe,    
    NUM_DEVICEPOWERSUPPLYSELECTOR
} spinDevicePowerSupplySelectorEnums;

typedef enum _spinDeviceTemperatureSelectorEnums    
{
    DeviceTemperatureSelector_Sensor,    
    DeviceTemperatureSelector_Mainboard,    
    NUM_DEVICETEMPERATURESELECTOR
} spinDeviceTemperatureSelectorEnums;

typedef enum _spinDeviceSensorChromaEnums    
{
    DeviceSensorChroma_Mono,    
    DeviceSensorChroma_RGB,    
    DeviceSensorChroma_NIR,    
    DeviceSensorChroma_PolarizationMono,    
    DeviceSensorChroma_PolarizationColor,    
    NUM_DEVICESENSORCHROMA
} spinDeviceSensorChromaEnums;

typedef enum _spinDeviceIndicatorModeEnums    
{
    DeviceIndicatorMode_Inactive,    
    DeviceIndicatorMode_Active,    
    DeviceIndicatorMode_ErrorStatus,    
    NUM_DEVICEINDICATORMODE
} spinDeviceIndicatorModeEnums;

typedef enum _spinLineModeEnums    
{
    LineMode_Input,    
    LineMode_Output,    
    NUM_LINEMODE
} spinLineModeEnums;

typedef enum _spinExternalVoltageSelectorEnums    
{
    ExternalVoltageSelector_Output_V3_3,    
    ExternalVoltageSelector_Output_V5_0,    
    ExternalVoltageSelector_OutputAdjustable,    
    NUM_EXTERNALVOLTAGESELECTOR
} spinExternalVoltageSelectorEnums;

typedef enum _spinLineFormatEnums    
{
    LineFormat_NoConnect,    
    LineFormat_TriState,    
    LineFormat_TTL,    
    LineFormat_LVDS,    
    LineFormat_RS422,    
    LineFormat_OptoCoupled,    
    LineFormat_OpenDrain,    
    NUM_LINEFORMAT
} spinLineFormatEnums;

typedef enum _spinExposureActiveModeEnums    
{
    ExposureActiveMode_Line1,    
    ExposureActiveMode_AnyPixels,    
    ExposureActiveMode_AllPixels,    
    NUM_EXPOSUREACTIVEMODE
} spinExposureActiveModeEnums;

typedef enum _spinLineSourceEnums    
{
    LineSource_Line0,    
    LineSource_Line1,    
    LineSource_Line2,    
    LineSource_Line3,    
    LineSource_UserOutput0,    
    LineSource_UserOutput1,    
    LineSource_UserOutput2,    
    LineSource_UserOutput3,    
    LineSource_Line4,    
    LineSource_Line5,    
    LineSource_Counter0Active,    
    LineSource_Counter1Active,    
    LineSource_LogicBlock0,    
    LineSource_LogicBlock1,    
    LineSource_ExposureActive,    
    LineSource_FrameTriggerWait,    
    LineSource_AllPixel,    
    LineSource_AnyPixel,    
    LineSource_PPSSignal,    
    LineSource_SerialPort0,    
    LineSource_Off,    
    NUM_LINESOURCE
} spinLineSourceEnums;

typedef enum _spinLineInputFilterSelectorEnums    
{
    LineInputFilterSelector_Deglitch,    
    LineInputFilterSelector_Debounce,    
    NUM_LINEINPUTFILTERSELECTOR
} spinLineInputFilterSelectorEnums;

typedef enum _spinLineSelectorEnums    
{
    LineSelector_Line0,    
    LineSelector_Line1,    
    LineSelector_Line2,    
    LineSelector_Line3,    
    LineSelector_Line4,    
    LineSelector_Line5,    
    NUM_LINESELECTOR
} spinLineSelectorEnums;

typedef enum _spinUserOutputSelectorEnums    
{
    UserOutputSelector_UserOutput0,    
    UserOutputSelector_UserOutput1,    
    UserOutputSelector_UserOutput2,    
    UserOutputSelector_UserOutput3,    
    NUM_USEROUTPUTSELECTOR
} spinUserOutputSelectorEnums;

typedef enum _spinEventSelectorEnums    
{
    EventSelector_Error,    
    EventSelector_ExposureEnd,    
    EventSelector_SerialPortReceive,    
    NUM_EVENTSELECTOR
} spinEventSelectorEnums;

typedef enum _spinEventNotificationEnums    
{
    EventNotification_Off,    
    EventNotification_On,    
    NUM_EVENTNOTIFICATION
} spinEventNotificationEnums;

typedef enum _spinFileOperationStatusEnums    
{
    FileOperationStatus_Success,    
    FileOperationStatus_Failure,    
    FileOperationStatus_Overflow,    
    NUM_FILEOPERATIONSTATUS
} spinFileOperationStatusEnums;

typedef enum _spinFileOpenModeEnums    
{
    FileOpenMode_Read,    
    FileOpenMode_Write,    
    FileOpenMode_ReadWrite,    
    NUM_FILEOPENMODE
} spinFileOpenModeEnums;

typedef enum _spinFileOperationSelectorEnums    
{
    FileOperationSelector_Open,    
    FileOperationSelector_Close,    
    FileOperationSelector_Read,    
    FileOperationSelector_Write,    
    FileOperationSelector_Delete,    
    NUM_FILEOPERATIONSELECTOR
} spinFileOperationSelectorEnums;

typedef enum _spinFileSelectorEnums    
{
    FileSelector_UserSetDefault,    
    FileSelector_UserSet0,    
    FileSelector_UserSet1,    
    FileSelector_UserFile1,    
    FileSelector_SerialPort0,    
    FileSelector_UserShadingCoeff1,    
    FileSelector_UserShadingCoeff2,    
    FileSelector_StereoCalibrationFile,    
    NUM_FILESELECTOR
} spinFileSelectorEnums;

typedef enum _spinBsiFlatFieldCorrectionGainSelectorEnums    
{
    BsiFlatFieldCorrectionGainSelector_Pixel0,    
    BsiFlatFieldCorrectionGainSelector_Pixel1,    
    BsiFlatFieldCorrectionGainSelector_Pixel2,    
    BsiFlatFieldCorrectionGainSelector_Pixel3,    
    NUM_BSIFLATFIELDCORRECTIONGAINSELECTOR
} spinBsiFlatFieldCorrectionGainSelectorEnums;

typedef enum _spinBsiFlatFieldCorrectionAutoEnums    
{
    BsiFlatFieldCorrectionAuto_Off,    
    BsiFlatFieldCorrectionAuto_Once,    
    BsiFlatFieldCorrectionAuto_Continuous,    
    NUM_BSIFLATFIELDCORRECTIONAUTO
} spinBsiFlatFieldCorrectionAutoEnums;

typedef enum _spinFfcModeEnums    
{
    FfcMode_Factory,    
    FfcMode_User,    
    FfcMode_Calibration,    
    NUM_FFCMODE
} spinFfcModeEnums;

typedef enum _spinBinningSelectorEnums    
{
    BinningSelector_All,    
    BinningSelector_Sensor,    
    BinningSelector_ISP,    
    NUM_BINNINGSELECTOR
} spinBinningSelectorEnums;

typedef enum _spinTestPatternGeneratorSelectorEnums    
{
    TestPatternGeneratorSelector_Sensor,    
    TestPatternGeneratorSelector_PipelineStart,    
    NUM_TESTPATTERNGENERATORSELECTOR
} spinTestPatternGeneratorSelectorEnums;

typedef enum _spinMultiRoiSelectorEnums    
{
    MultiRoiSelector_ROI0,    
    MultiRoiSelector_ROI1,    
    MultiRoiSelector_ROI2,    
    MultiRoiSelector_ROI3,    
    MultiRoiSelector_ROI4,    
    MultiRoiSelector_ROI5,    
    MultiRoiSelector_ROI6,    
    MultiRoiSelector_ROI7,    
    NUM_MULTIROISELECTOR
} spinMultiRoiSelectorEnums;

typedef enum _spinTestPatternEnums    
{
    TestPattern_Off,    
    TestPattern_Increment,    
    TestPattern_SensorTestPattern,    
    TestPattern_VariableFrameSequence,    
    NUM_TESTPATTERN
} spinTestPatternEnums;

typedef enum _spinPixelColorFilterEnums    
{
    PixelColorFilter_None,    
    PixelColorFilter_BayerRG,    
    PixelColorFilter_BayerGB,    
    PixelColorFilter_BayerGR,    
    PixelColorFilter_BayerBG,    
    NUM_PIXELCOLORFILTER
} spinPixelColorFilterEnums;

typedef enum _spinPixelFormatEnums    
{
    PixelFormat_Mono8,    
    PixelFormat_Mono16,    
    PixelFormat_RGB8Packed,    
    PixelFormat_BayerGR8,    
    PixelFormat_BayerRG8,    
    PixelFormat_BayerGB8,    
    PixelFormat_BayerBG8,    
    PixelFormat_BayerGR16,    
    PixelFormat_BayerRG16,    
    PixelFormat_BayerGB16,    
    PixelFormat_BayerBG16,    
    PixelFormat_Mono12Packed,    
    PixelFormat_BayerGR12Packed,    
    PixelFormat_BayerRG12Packed,    
    PixelFormat_BayerGB12Packed,    
    PixelFormat_BayerBG12Packed,    
    PixelFormat_YUV411Packed,    
    PixelFormat_YUV422Packed,    
    PixelFormat_YUV444Packed,    
    PixelFormat_Mono12p,    
    PixelFormat_BayerGR12p,    
    PixelFormat_BayerRG12p,    
    PixelFormat_BayerGB12p,    
    PixelFormat_BayerBG12p,    
    PixelFormat_YCbCr8,    
    PixelFormat_YCbCr422_8,    
    PixelFormat_YCbCr411_8,    
    PixelFormat_BGR8,    
    PixelFormat_BGRa8,    
    PixelFormat_Mono10Packed,    
    PixelFormat_BayerGR10Packed,    
    PixelFormat_BayerRG10Packed,    
    PixelFormat_BayerGB10Packed,    
    PixelFormat_BayerBG10Packed,    
    PixelFormat_Mono10p,    
    PixelFormat_BayerGR10p,    
    PixelFormat_BayerRG10p,    
    PixelFormat_BayerGB10p,    
    PixelFormat_BayerBG10p,    
    PixelFormat_Mono1p,    
    PixelFormat_Mono2p,    
    PixelFormat_Mono4p,    
    PixelFormat_Mono8s,    
    PixelFormat_Mono10,    
    PixelFormat_Mono12,    
    PixelFormat_Mono14,    
    PixelFormat_Mono16s,    
    PixelFormat_Mono32f,    
    PixelFormat_BayerBG10,    
    PixelFormat_BayerBG12,    
    PixelFormat_BayerGB10,    
    PixelFormat_BayerGB12,    
    PixelFormat_BayerGR10,    
    PixelFormat_BayerGR12,    
    PixelFormat_BayerRG10,    
    PixelFormat_BayerRG12,    
    PixelFormat_RGBa8,    
    PixelFormat_RGBa10,    
    PixelFormat_RGBa10p,    
    PixelFormat_RGBa12,    
    PixelFormat_RGBa12p,    
    PixelFormat_RGBa14,    
    PixelFormat_RGBa16,    
    PixelFormat_RGB8,    
    PixelFormat_RGB8_Planar,    
    PixelFormat_RGB10,    
    PixelFormat_RGB10_Planar,    
    PixelFormat_RGB10p,    
    PixelFormat_RGB10p32,    
    PixelFormat_RGB12,    
    PixelFormat_RGB12_Planar,    
    PixelFormat_RGB12p,    
    PixelFormat_RGB14,    
    PixelFormat_RGB16,    
    PixelFormat_RGB16s,    
    PixelFormat_RGB32f,    
    PixelFormat_RGB16_Planar,    
    PixelFormat_RGB565p,    
    PixelFormat_BGRa10,    
    PixelFormat_BGRa10p,    
    PixelFormat_BGRa12,    
    PixelFormat_BGRa12p,    
    PixelFormat_BGRa14,    
    PixelFormat_BGRa16,    
    PixelFormat_RGBa32f,    
    PixelFormat_BGR10,    
    PixelFormat_BGR10p,    
    PixelFormat_BGR12,    
    PixelFormat_BGR12p,    
    PixelFormat_BGR14,    
    PixelFormat_BGR16,    
    PixelFormat_BGR565p,    
    PixelFormat_R8,    
    PixelFormat_R10,    
    PixelFormat_R12,    
    PixelFormat_R16,    
    PixelFormat_G8,    
    PixelFormat_G10,    
    PixelFormat_G12,    
    PixelFormat_G16,    
    PixelFormat_B8,    
    PixelFormat_B10,    
    PixelFormat_B12,    
    PixelFormat_B16,    
    PixelFormat_Coord3D_ABC8,    
    PixelFormat_Coord3D_ABC8_Planar,    
    PixelFormat_Coord3D_ABC10p,    
    PixelFormat_Coord3D_ABC10p_Planar,    
    PixelFormat_Coord3D_ABC12p,    
    PixelFormat_Coord3D_ABC12p_Planar,    
    PixelFormat_Coord3D_ABC16,    
    PixelFormat_Coord3D_ABC16_Planar,    
    PixelFormat_Coord3D_ABC32f,    
    PixelFormat_Coord3D_ABC32f_Planar,    
    PixelFormat_Coord3D_AC8,    
    PixelFormat_Coord3D_AC8_Planar,    
    PixelFormat_Coord3D_AC10p,    
    PixelFormat_Coord3D_AC10p_Planar,    
    PixelFormat_Coord3D_AC12p,    
    PixelFormat_Coord3D_AC12p_Planar,    
    PixelFormat_Coord3D_AC16,    
    PixelFormat_Coord3D_AC16_Planar,    
    PixelFormat_Coord3D_AC32f,    
    PixelFormat_Coord3D_AC32f_Planar,    
    PixelFormat_Coord3D_A8,    
    PixelFormat_Coord3D_A10p,    
    PixelFormat_Coord3D_A12p,    
    PixelFormat_Coord3D_A16,    
    PixelFormat_Coord3D_A32f,    
    PixelFormat_Coord3D_B8,    
    PixelFormat_Coord3D_B10p,    
    PixelFormat_Coord3D_B12p,    
    PixelFormat_Coord3D_B16,    
    PixelFormat_Coord3D_B32f,    
    PixelFormat_Coord3D_C8,    
    PixelFormat_Coord3D_C10p,    
    PixelFormat_Coord3D_C12p,    
    PixelFormat_Coord3D_C16,    
    PixelFormat_Coord3D_C32f,    
    PixelFormat_Confidence1,    
    PixelFormat_Confidence1p,    
    PixelFormat_Confidence8,    
    PixelFormat_Confidence16,    
    PixelFormat_Confidence32f,    
    PixelFormat_BiColorBGRG8,    
    PixelFormat_BiColorBGRG10,    
    PixelFormat_BiColorBGRG10p,    
    PixelFormat_BiColorBGRG12,    
    PixelFormat_BiColorBGRG12p,    
    PixelFormat_BiColorRGBG8,    
    PixelFormat_BiColorRGBG10,    
    PixelFormat_BiColorRGBG10p,    
    PixelFormat_BiColorRGBG12,    
    PixelFormat_BiColorRGBG12p,    
    PixelFormat_SCF1WBWG8,    
    PixelFormat_SCF1WBWG10,    
    PixelFormat_SCF1WBWG10p,    
    PixelFormat_SCF1WBWG12,    
    PixelFormat_SCF1WBWG12p,    
    PixelFormat_SCF1WBWG14,    
    PixelFormat_SCF1WBWG16,    
    PixelFormat_SCF1WGWB8,    
    PixelFormat_SCF1WGWB10,    
    PixelFormat_SCF1WGWB10p,    
    PixelFormat_SCF1WGWB12,    
    PixelFormat_SCF1WGWB12p,    
    PixelFormat_SCF1WGWB14,    
    PixelFormat_SCF1WGWB16,    
    PixelFormat_SCF1WGWR8,    
    PixelFormat_SCF1WGWR10,    
    PixelFormat_SCF1WGWR10p,    
    PixelFormat_SCF1WGWR12,    
    PixelFormat_SCF1WGWR12p,    
    PixelFormat_SCF1WGWR14,    
    PixelFormat_SCF1WGWR16,    
    PixelFormat_SCF1WRWG8,    
    PixelFormat_SCF1WRWG10,    
    PixelFormat_SCF1WRWG10p,    
    PixelFormat_SCF1WRWG12,    
    PixelFormat_SCF1WRWG12p,    
    PixelFormat_SCF1WRWG14,    
    PixelFormat_SCF1WRWG16,    
    PixelFormat_YCbCr8_CbYCr,    
    PixelFormat_YCbCr10_CbYCr,    
    PixelFormat_YCbCr10p_CbYCr,    
    PixelFormat_YCbCr12_CbYCr,    
    PixelFormat_YCbCr12p_CbYCr,    
    PixelFormat_YCbCr411_8_CbYYCrYY,    
    PixelFormat_YCbCr422_8_CbYCrY,    
    PixelFormat_YCbCr422_10,    
    PixelFormat_YCbCr422_10_CbYCrY,    
    PixelFormat_YCbCr422_10p,    
    PixelFormat_YCbCr422_10p_CbYCrY,    
    PixelFormat_YCbCr422_12,    
    PixelFormat_YCbCr422_12_CbYCrY,    
    PixelFormat_YCbCr422_12p,    
    PixelFormat_YCbCr422_12p_CbYCrY,    
    PixelFormat_YCbCr601_8_CbYCr,    
    PixelFormat_YCbCr601_10_CbYCr,    
    PixelFormat_YCbCr601_10p_CbYCr,    
    PixelFormat_YCbCr601_12_CbYCr,    
    PixelFormat_YCbCr601_12p_CbYCr,    
    PixelFormat_YCbCr601_411_8_CbYYCrYY,    
    PixelFormat_YCbCr601_422_8,    
    PixelFormat_YCbCr601_422_8_CbYCrY,    
    PixelFormat_YCbCr601_422_10,    
    PixelFormat_YCbCr601_422_10_CbYCrY,    
    PixelFormat_YCbCr601_422_10p,    
    PixelFormat_YCbCr601_422_10p_CbYCrY,    
    PixelFormat_YCbCr601_422_12,    
    PixelFormat_YCbCr601_422_12_CbYCrY,    
    PixelFormat_YCbCr601_422_12p,    
    PixelFormat_YCbCr601_422_12p_CbYCrY,    
    PixelFormat_YCbCr709_8_CbYCr,    
    PixelFormat_YCbCr709_10_CbYCr,    
    PixelFormat_YCbCr709_10p_CbYCr,    
    PixelFormat_YCbCr709_12_CbYCr,    
    PixelFormat_YCbCr709_12p_CbYCr,    
    PixelFormat_YCbCr709_411_8_CbYYCrYY,    
    PixelFormat_YCbCr709_422_8,    
    PixelFormat_YCbCr709_422_8_CbYCrY,    
    PixelFormat_YCbCr709_422_10,    
    PixelFormat_YCbCr709_422_10_CbYCrY,    
    PixelFormat_YCbCr709_422_10p,    
    PixelFormat_YCbCr709_422_10p_CbYCrY,    
    PixelFormat_YCbCr709_422_12,    
    PixelFormat_YCbCr709_422_12_CbYCrY,    
    PixelFormat_YCbCr709_422_12p,    
    PixelFormat_YCbCr709_422_12p_CbYCrY,    
    PixelFormat_YUV8_UYV,    
    PixelFormat_YUV411_8_UYYVYY,    
    PixelFormat_YUV422_8,    
    PixelFormat_YUV422_8_UYVY,    
    PixelFormat_Polarized8,    
    PixelFormat_Polarized10p,    
    PixelFormat_Polarized12p,    
    PixelFormat_Polarized16,    
    PixelFormat_BayerRGPolarized8,    
    PixelFormat_BayerRGPolarized10p,    
    PixelFormat_BayerRGPolarized12p,    
    PixelFormat_BayerRGPolarized16,    
    PixelFormat_LLCMono8,    
    PixelFormat_LLCBayerRG8,    
    PixelFormat_JPEGMono8,    
    PixelFormat_JPEGColor8,    
    PixelFormat_Raw16,    
    PixelFormat_Raw8,    
    PixelFormat_R12_Jpeg,    
    PixelFormat_GR12_Jpeg,    
    PixelFormat_GB12_Jpeg,    
    PixelFormat_B12_Jpeg,    
    PixelFormat_GR12,    
    PixelFormat_GB12,    
    UNKNOWN_PIXELFORMAT,
    NUM_PIXELFORMAT
} spinPixelFormatEnums;

typedef enum _spinCompressionSaturationPriorityEnums    
{
    CompressionSaturationPriority_DropFrame,    
    CompressionSaturationPriority_ReduceFrameRate,    
    NUM_COMPRESSIONSATURATIONPRIORITY
} spinCompressionSaturationPriorityEnums;

typedef enum _spinAdcBitDepthEnums    
{
    AdcBitDepth_Bit8,    
    AdcBitDepth_Bit10,    
    AdcBitDepth_Bit12,    
    AdcBitDepth_Bit14,    
    NUM_ADCBITDEPTH
} spinAdcBitDepthEnums;

typedef enum _spinComponentSelectorEnums    
{
    ComponentSelector_Raw,    
    ComponentSelector_Rectified,    
    ComponentSelector_Disparity,    
    NUM_COMPONENTSELECTOR
} spinComponentSelectorEnums;

typedef enum _spinPixelSizeEnums    
{
    PixelSize_Bpp1,    
    PixelSize_Bpp2,    
    PixelSize_Bpp4,    
    PixelSize_Bpp8,    
    PixelSize_Bpp10,    
    PixelSize_Bpp12,    
    PixelSize_Bpp14,    
    PixelSize_Bpp16,    
    PixelSize_Bpp20,    
    PixelSize_Bpp24,    
    PixelSize_Bpp30,    
    PixelSize_Bpp32,    
    PixelSize_Bpp36,    
    PixelSize_Bpp48,    
    PixelSize_Bpp64,    
    PixelSize_Bpp96,    
    NUM_PIXELSIZE
} spinPixelSizeEnums;

typedef enum _spinDecimationSelectorEnums    
{
    DecimationSelector_All,    
    DecimationSelector_Sensor,    
    NUM_DECIMATIONSELECTOR
} spinDecimationSelectorEnums;

typedef enum _spinDecimationHorizontalModeEnums    
{
    DecimationHorizontalMode_Discard,    
    NUM_DECIMATIONHORIZONTALMODE
} spinDecimationHorizontalModeEnums;

typedef enum _spinImageCompressionModeEnums    
{
    ImageCompressionMode_Off,    
    ImageCompressionMode_Lossless,    
    NUM_IMAGECOMPRESSIONMODE
} spinImageCompressionModeEnums;

typedef enum _spinBinningHorizontalModeEnums    
{
    BinningHorizontalMode_Sum,    
    BinningHorizontalMode_Average,    
    NUM_BINNINGHORIZONTALMODE
} spinBinningHorizontalModeEnums;

typedef enum _spinMultiRoiConfigurationInvalidReasonEnums    
{
    MultiRoiConfigurationInvalidReason_None,    
    MultiRoiConfigurationInvalidReason_SensorSpecific,    
    MultiRoiConfigurationInvalidReason_OverlapX,    
    MultiRoiConfigurationInvalidReason_OverlapY,    
    MultiRoiConfigurationInvalidReason_BoundX,    
    MultiRoiConfigurationInvalidReason_BoundY,    
    MultiRoiConfigurationInvalidReason_MinX,    
    MultiRoiConfigurationInvalidReason_MinY,    
    NUM_MULTIROICONFIGURATIONINVALIDREASON
} spinMultiRoiConfigurationInvalidReasonEnums;

typedef enum _spinComponentDestinationEnums    
{
    ComponentDestination_Stream0,    
    ComponentDestination_Stream1,    
    ComponentDestination_Stream2,    
    ComponentDestination_Stream3,    
    ComponentDestination_Stream4,    
    NUM_COMPONENTDESTINATION
} spinComponentDestinationEnums;

typedef enum _spinDecimationVerticalModeEnums    
{
    DecimationVerticalMode_Discard,    
    NUM_DECIMATIONVERTICALMODE
} spinDecimationVerticalModeEnums;

typedef enum _spinBinningVerticalModeEnums    
{
    BinningVerticalMode_Sum,    
    BinningVerticalMode_Average,    
    NUM_BINNINGVERTICALMODE
} spinBinningVerticalModeEnums;

typedef enum _spinLensShadingCoefficientActiveSetEnums    
{
    LensShadingCoefficientActiveSet_UserShadingCoeff1,    
    LensShadingCoefficientActiveSet_UserShadingCoeff2,    
    NUM_LENSSHADINGCOEFFICIENTACTIVESET
} spinLensShadingCoefficientActiveSetEnums;

typedef enum _spinLensShadingCorrectionModeEnums    
{
    LensShadingCorrectionMode_Off,    
    LensShadingCorrectionMode_Active,    
    NUM_LENSSHADINGCORRECTIONMODE
} spinLensShadingCorrectionModeEnums;

typedef enum _spinLogicBlockSelectorEnums    
{
    LogicBlockSelector_LogicBlock0,    
    LogicBlockSelector_LogicBlock1,    
    NUM_LOGICBLOCKSELECTOR
} spinLogicBlockSelectorEnums;

typedef enum _spinLogicBlockLUTInputActivationEnums    
{
    LogicBlockLUTInputActivation_LevelLow,    
    LogicBlockLUTInputActivation_LevelHigh,    
    LogicBlockLUTInputActivation_FallingEdge,    
    LogicBlockLUTInputActivation_RisingEdge,    
    LogicBlockLUTInputActivation_AnyEdge,    
    NUM_LOGICBLOCKLUTINPUTACTIVATION
} spinLogicBlockLUTInputActivationEnums;

typedef enum _spinLogicBlockLUTInputSelectorEnums    
{
    LogicBlockLUTInputSelector_Input0,    
    LogicBlockLUTInputSelector_Input1,    
    LogicBlockLUTInputSelector_Input2,    
    LogicBlockLUTInputSelector_Input3,    
    NUM_LOGICBLOCKLUTINPUTSELECTOR
} spinLogicBlockLUTInputSelectorEnums;

typedef enum _spinLogicBlockLUTInputSourceEnums    
{
    LogicBlockLUTInputSource_Line0,    
    LogicBlockLUTInputSource_Line1,    
    LogicBlockLUTInputSource_Line4,    
    LogicBlockLUTInputSource_Line2,    
    LogicBlockLUTInputSource_Line5,    
    LogicBlockLUTInputSource_Line3,    
    LogicBlockLUTInputSource_UserOutput0,    
    LogicBlockLUTInputSource_UserOutput1,    
    LogicBlockLUTInputSource_UserOutput2,    
    LogicBlockLUTInputSource_UserOutput3,    
    LogicBlockLUTInputSource_Counter0Start,    
    LogicBlockLUTInputSource_Counter1Start,    
    LogicBlockLUTInputSource_Counter0End,    
    LogicBlockLUTInputSource_Counter1End,    
    LogicBlockLUTInputSource_LogicBlock0,    
    LogicBlockLUTInputSource_LogicBlock1,    
    LogicBlockLUTInputSource_ExposureStart,    
    LogicBlockLUTInputSource_ExposureEnd,    
    LogicBlockLUTInputSource_FrameTriggerWait,    
    LogicBlockLUTInputSource_AcquisitionActive,    
    LogicBlockLUTInputSource_Zero,    
    NUM_LOGICBLOCKLUTINPUTSOURCE
} spinLogicBlockLUTInputSourceEnums;

typedef enum _spinLogicBlockLUTSelectorEnums    
{
    LogicBlockLUTSelector_Value,    
    LogicBlockLUTSelector_Enable,    
    NUM_LOGICBLOCKLUTSELECTOR
} spinLogicBlockLUTSelectorEnums;

typedef enum _spinLUTSelectorEnums    
{
    LUTSelector_LUT1,    
    NUM_LUTSELECTOR
} spinLUTSelectorEnums;

typedef enum _spinSequencerTriggerActivationEnums    
{
    SequencerTriggerActivation_RisingEdge,    
    SequencerTriggerActivation_FallingEdge,    
    SequencerTriggerActivation_AnyEdge,    
    SequencerTriggerActivation_LevelHigh,    
    SequencerTriggerActivation_LevelLow,    
    NUM_SEQUENCERTRIGGERACTIVATION
} spinSequencerTriggerActivationEnums;

typedef enum _spinSequencerConfigurationModeEnums    
{
    SequencerConfigurationMode_Off,    
    SequencerConfigurationMode_On,    
    NUM_SEQUENCERCONFIGURATIONMODE
} spinSequencerConfigurationModeEnums;

typedef enum _spinSequencerSetValidEnums    
{
    SequencerSetValid_No,    
    SequencerSetValid_Yes,    
    NUM_SEQUENCERSETVALID
} spinSequencerSetValidEnums;

typedef enum _spinSequencerModeEnums    
{
    SequencerMode_Off,    
    SequencerMode_On,    
    NUM_SEQUENCERMODE
} spinSequencerModeEnums;

typedef enum _spinSequencerConfigurationValidEnums    
{
    SequencerConfigurationValid_No,    
    SequencerConfigurationValid_Yes,    
    NUM_SEQUENCERCONFIGURATIONVALID
} spinSequencerConfigurationValidEnums;

typedef enum _spinSequencerTriggerSourceEnums    
{
    SequencerTriggerSource_Off,    
    SequencerTriggerSource_FrameStart,    
    NUM_SEQUENCERTRIGGERSOURCE
} spinSequencerTriggerSourceEnums;

typedef enum _spinSerialPortStopBitsEnums    
{
    SerialPortStopBits_Bits1,    
    SerialPortStopBits_Bits1AndAHalf,    
    SerialPortStopBits_Bits2,    
    NUM_SERIALPORTSTOPBITS
} spinSerialPortStopBitsEnums;

typedef enum _spinSerialPortBaudRateEnums    
{
    SerialPortBaudRate_Baud300,    
    SerialPortBaudRate_Baud600,    
    SerialPortBaudRate_Baud1200,    
    SerialPortBaudRate_Baud2400,    
    SerialPortBaudRate_Baud4800,    
    SerialPortBaudRate_Baud9600,    
    SerialPortBaudRate_Baud14400,    
    SerialPortBaudRate_Baud19200,    
    SerialPortBaudRate_Baud38400,    
    SerialPortBaudRate_Baud57600,    
    SerialPortBaudRate_Baud115200,    
    SerialPortBaudRate_Baud230400,    
    SerialPortBaudRate_Baud460800,    
    SerialPortBaudRate_Baud921600,    
    NUM_SERIALPORTBAUDRATE
} spinSerialPortBaudRateEnums;

typedef enum _spinSerialPortParityEnums    
{
    SerialPortParity_None,    
    SerialPortParity_Odd,    
    SerialPortParity_Mark,    
    SerialPortParity_Even,    
    SerialPortParity_Space,    
    NUM_SERIALPORTPARITY
} spinSerialPortParityEnums;

typedef enum _spinSerialPortSelectorEnums    
{
    SerialPortSelector_SerialPort0,    
    NUM_SERIALPORTSELECTOR
} spinSerialPortSelectorEnums;

typedef enum _spinSerialPortSourceEnums    
{
    SerialPortSource_Line0,    
    SerialPortSource_Line1,    
    SerialPortSource_Line2,    
    SerialPortSource_Line3,    
    SerialPortSource_Line4,    
    SerialPortSource_Line5,    
    SerialPortSource_Line6,    
    SerialPortSource_Off,    
    NUM_SERIALPORTSOURCE
} spinSerialPortSourceEnums;

typedef enum _spinSourceSelectorEnums    
{
    SourceSelector_Sensor1,    
    SourceSelector_Sensor2,    
    NUM_SOURCESELECTOR
} spinSourceSelectorEnums;

typedef enum _spinStereoResolutionEnums    
{
    StereoResolution_FullRes,    
    StereoResolution_HalfRes,    
    NUM_STEREORESOLUTION
} spinStereoResolutionEnums;

typedef enum _spinTransferQueueModeEnums    
{
    TransferQueueMode_FirstInFirstOut,    
    NUM_TRANSFERQUEUEMODE
} spinTransferQueueModeEnums;

typedef enum _spinTransferOperationModeEnums    
{
    TransferOperationMode_Continuous,    
    TransferOperationMode_MultiBlock,    
    NUM_TRANSFEROPERATIONMODE
} spinTransferOperationModeEnums;

typedef enum _spinTransferControlModeEnums    
{
    TransferControlMode_Basic,    
    TransferControlMode_Automatic,    
    TransferControlMode_UserControlled,    
    NUM_TRANSFERCONTROLMODE
} spinTransferControlModeEnums;

typedef enum _spinGevIEEE1588ClockAccuracyEnums    
{
    GevIEEE1588ClockAccuracy_Unknown,    
    NUM_GEVIEEE1588CLOCKACCURACY
} spinGevIEEE1588ClockAccuracyEnums;

typedef enum _spinGevIEEE1588StatusEnums    
{
    GevIEEE1588Status_Initializing,    
    GevIEEE1588Status_Faulty,    
    GevIEEE1588Status_Disabled,    
    GevIEEE1588Status_Listening,    
    GevIEEE1588Status_PreMaster,    
    GevIEEE1588Status_Master,    
    GevIEEE1588Status_Passive,    
    GevIEEE1588Status_Uncalibrated,    
    GevIEEE1588Status_Slave,    
    NUM_GEVIEEE1588STATUS
} spinGevIEEE1588StatusEnums;

typedef enum _spinGevIEEE1588ModeEnums    
{
    GevIEEE1588Mode_Auto,    
    GevIEEE1588Mode_SlaveOnly,    
    NUM_GEVIEEE1588MODE
} spinGevIEEE1588ModeEnums;

typedef enum _spinGevGVCPExtendedStatusCodesSelectorEnums    
{
    GevGVCPExtendedStatusCodesSelector_Version1_1,    
    GevGVCPExtendedStatusCodesSelector_Version2_0,    
    NUM_GEVGVCPEXTENDEDSTATUSCODESSELECTOR
} spinGevGVCPExtendedStatusCodesSelectorEnums;

typedef enum _spinGevCCPEnums    
{
    GevCCP_OpenAccess,    
    GevCCP_ExclusiveAccess,    
    GevCCP_ControlAccess,    
    NUM_GEVCCP
} spinGevCCPEnums;

typedef enum _spinGevIEEE1588StatusLatchedEnums    
{
    GevIEEE1588StatusLatched_Initializing,    
    GevIEEE1588StatusLatched_Faulty,    
    GevIEEE1588StatusLatched_Disabled,    
    GevIEEE1588StatusLatched_Listening,    
    GevIEEE1588StatusLatched_PreMaster,    
    GevIEEE1588StatusLatched_Master,    
    GevIEEE1588StatusLatched_Passive,    
    GevIEEE1588StatusLatched_Uncalibrated,    
    GevIEEE1588StatusLatched_Slave,    
    NUM_GEVIEEE1588STATUSLATCHED
} spinGevIEEE1588StatusLatchedEnums;

typedef enum _spinGevSCPDirectionEnums    
{
    GevSCPDirection_Transmitter,    
    GevSCPDirection_Receiver,    
    NUM_GEVSCPDIRECTION
} spinGevSCPDirectionEnums;

typedef enum _spinGevPhysicalLinkConfigurationEnums    
{
    GevPhysicalLinkConfiguration_SingleLink,    
    GevPhysicalLinkConfiguration_MultiLink,    
    GevPhysicalLinkConfiguration_StaticLAG,    
    GevPhysicalLinkConfiguration_DynamicLAG,    
    NUM_GEVPHYSICALLINKCONFIGURATION
} spinGevPhysicalLinkConfigurationEnums;

typedef enum _spinGevSupportedOptionSelectorEnums    
{
    GevSupportedOptionSelector_CommandsConcatenation,    
    GevSupportedOptionSelector_WriteMem,    
    GevSupportedOptionSelector_PacketResend,    
    GevSupportedOptionSelector_Event,    
    GevSupportedOptionSelector_EventData,    
    GevSupportedOptionSelector_PendingAck,    
    GevSupportedOptionSelector_Action,    
    GevSupportedOptionSelector_ExtendedStatusCodesVersion2_0,    
    GevSupportedOptionSelector_ExtendedStatusCodes,    
    GevSupportedOptionSelector_DiscoveryAckDelayWritable,    
    GevSupportedOptionSelector_DiscoveryAckDelay,    
    GevSupportedOptionSelector_TestData,    
    GevSupportedOptionSelector_ManifestTable,    
    GevSupportedOptionSelector_CCPApplicationSocket,    
    GevSupportedOptionSelector_LinkSpeed,    
    GevSupportedOptionSelector_HeartbeatDisable,    
    GevSupportedOptionSelector_SerialNumber,    
    GevSupportedOptionSelector_UserDefinedName,    
    GevSupportedOptionSelector_IPConfigurationPersistentIP,    
    GevSupportedOptionSelector_IPConfigurationDHCP,    
    GevSupportedOptionSelector_IPConfigurationLLA,    
    GevSupportedOptionSelector_MessageChannelSourceSocket,    
    GevSupportedOptionSelector_StreamChannelSourceSocket,    
    NUM_GEVSUPPORTEDOPTIONSELECTOR
} spinGevSupportedOptionSelectorEnums;

typedef enum _spinU3VCurrentSpeedEnums    
{
    U3VCurrentSpeed_LowSpeed,    
    U3VCurrentSpeed_FullSpeed,    
    U3VCurrentSpeed_HighSpeed,    
    U3VCurrentSpeed_SuperSpeed,    
    NUM_U3VCURRENTSPEED
} spinU3VCurrentSpeedEnums;

typedef enum _spinUserSetSelectorEnums    
{
    UserSetSelector_Default,    
    UserSetSelector_UserSet1,    
    UserSetSelector_UserSet0,    
    NUM_USERSETSELECTOR
} spinUserSetSelectorEnums;

typedef enum _spinDeviceTypeEnums    
{
    DeviceType_Transmitter,    
    DeviceType_Receiver,    
    DeviceType_Transceiver,    
    DeviceType_Peripheral,    
    NUM_DEVICETYPE
} spinDeviceTypeEnums;

typedef enum _spinDeviceConnectionStatusEnums    
{
    DeviceConnectionStatus_Active,    
    DeviceConnectionStatus_Inactive,    
    NUM_DEVICECONNECTIONSTATUS
} spinDeviceConnectionStatusEnums;

typedef enum _spinDeviceLinkThroughputLimitModeEnums    
{
    DeviceLinkThroughputLimitMode_On,    
    DeviceLinkThroughputLimitMode_Off,    
    NUM_DEVICELINKTHROUGHPUTLIMITMODE
} spinDeviceLinkThroughputLimitModeEnums;

typedef enum _spinDeviceLinkHeartbeatModeEnums    
{
    DeviceLinkHeartbeatMode_On,    
    DeviceLinkHeartbeatMode_Off,    
    NUM_DEVICELINKHEARTBEATMODE
} spinDeviceLinkHeartbeatModeEnums;

typedef enum _spinDeviceStreamChannelTypeEnums    
{
    DeviceStreamChannelType_Transmitter,    
    DeviceStreamChannelType_Receiver,    
    NUM_DEVICESTREAMCHANNELTYPE
} spinDeviceStreamChannelTypeEnums;

typedef enum _spinDeviceStreamChannelEndiannessEnums    
{
    DeviceStreamChannelEndianness_Big,    
    DeviceStreamChannelEndianness_Little,    
    NUM_DEVICESTREAMCHANNELENDIANNESS
} spinDeviceStreamChannelEndiannessEnums;

typedef enum _spinDeviceClockSelectorEnums    
{
    DeviceClockSelector_Sensor,    
    DeviceClockSelector_SensorDigitization,    
    DeviceClockSelector_CameraLink,    
    NUM_DEVICECLOCKSELECTOR
} spinDeviceClockSelectorEnums;

typedef enum _spinDeviceSerialPortSelectorEnums    
{
    DeviceSerialPortSelector_CameraLink,    
    NUM_DEVICESERIALPORTSELECTOR
} spinDeviceSerialPortSelectorEnums;

typedef enum _spinDeviceSerialPortBaudRateEnums    
{
    DeviceSerialPortBaudRate_Baud9600,    
    DeviceSerialPortBaudRate_Baud19200,    
    DeviceSerialPortBaudRate_Baud38400,    
    DeviceSerialPortBaudRate_Baud57600,    
    DeviceSerialPortBaudRate_Baud115200,    
    DeviceSerialPortBaudRate_Baud230400,    
    DeviceSerialPortBaudRate_Baud460800,    
    DeviceSerialPortBaudRate_Baud921600,    
    NUM_DEVICESERIALPORTBAUDRATE
} spinDeviceSerialPortBaudRateEnums;

typedef enum _spinSensorTapsEnums    
{
    SensorTaps_One,    
    SensorTaps_Two,    
    SensorTaps_Three,    
    SensorTaps_Four,    
    SensorTaps_Eight,    
    SensorTaps_Ten,    
    NUM_SENSORTAPS
} spinSensorTapsEnums;

typedef enum _spinSensorDigitizationTapsEnums    
{
    SensorDigitizationTaps_One,    
    SensorDigitizationTaps_Two,    
    SensorDigitizationTaps_Three,    
    SensorDigitizationTaps_Four,    
    SensorDigitizationTaps_Eight,    
    SensorDigitizationTaps_Ten,    
    NUM_SENSORDIGITIZATIONTAPS
} spinSensorDigitizationTapsEnums;

typedef enum _spinRegionSelectorEnums    
{
    RegionSelector_Region0,    
    RegionSelector_Region1,    
    RegionSelector_Region2,    
    RegionSelector_All,    
    NUM_REGIONSELECTOR
} spinRegionSelectorEnums;

typedef enum _spinRegionModeEnums    
{
    RegionMode_Off,    
    RegionMode_On,    
    NUM_REGIONMODE
} spinRegionModeEnums;

typedef enum _spinRegionDestinationEnums    
{
    RegionDestination_Stream0,    
    RegionDestination_Stream1,    
    RegionDestination_Stream2,    
    NUM_REGIONDESTINATION
} spinRegionDestinationEnums;

typedef enum _spinImageComponentSelectorEnums    
{
    ImageComponentSelector_Intensity,    
    ImageComponentSelector_Color,    
    ImageComponentSelector_Infrared,    
    ImageComponentSelector_Ultraviolet,    
    ImageComponentSelector_Range,    
    ImageComponentSelector_Disparity,    
    ImageComponentSelector_Confidence,    
    ImageComponentSelector_Scatter,    
    NUM_IMAGECOMPONENTSELECTOR
} spinImageComponentSelectorEnums;

typedef enum _spinPixelFormatInfoSelectorEnums    
{
    PixelFormatInfoSelector_Mono1p,    
    PixelFormatInfoSelector_Mono2p,    
    PixelFormatInfoSelector_Mono4p,    
    PixelFormatInfoSelector_Mono8,    
    PixelFormatInfoSelector_Mono8s,    
    PixelFormatInfoSelector_Mono10,    
    PixelFormatInfoSelector_Mono10p,    
    PixelFormatInfoSelector_Mono12,    
    PixelFormatInfoSelector_Mono12p,    
    PixelFormatInfoSelector_Mono14,    
    PixelFormatInfoSelector_Mono16,    
    PixelFormatInfoSelector_Mono16s,    
    PixelFormatInfoSelector_Mono32f,    
    PixelFormatInfoSelector_BayerBG8,    
    PixelFormatInfoSelector_BayerBG10,    
    PixelFormatInfoSelector_BayerBG10p,    
    PixelFormatInfoSelector_BayerBG12,    
    PixelFormatInfoSelector_BayerBG12p,    
    PixelFormatInfoSelector_BayerBG16,    
    PixelFormatInfoSelector_BayerGB8,    
    PixelFormatInfoSelector_BayerGB10,    
    PixelFormatInfoSelector_BayerGB10p,    
    PixelFormatInfoSelector_BayerGB12,    
    PixelFormatInfoSelector_BayerGB12p,    
    PixelFormatInfoSelector_BayerGB16,    
    PixelFormatInfoSelector_BayerGR8,    
    PixelFormatInfoSelector_BayerGR10,    
    PixelFormatInfoSelector_BayerGR10p,    
    PixelFormatInfoSelector_BayerGR12,    
    PixelFormatInfoSelector_BayerGR12p,    
    PixelFormatInfoSelector_BayerGR16,    
    PixelFormatInfoSelector_BayerRG8,    
    PixelFormatInfoSelector_BayerRG10,    
    PixelFormatInfoSelector_BayerRG10p,    
    PixelFormatInfoSelector_BayerRG12,    
    PixelFormatInfoSelector_BayerRG12p,    
    PixelFormatInfoSelector_BayerRG16,    
    PixelFormatInfoSelector_RGBa8,    
    PixelFormatInfoSelector_RGBa10,    
    PixelFormatInfoSelector_RGBa10p,    
    PixelFormatInfoSelector_RGBa12,    
    PixelFormatInfoSelector_RGBa12p,    
    PixelFormatInfoSelector_RGBa14,    
    PixelFormatInfoSelector_RGBa16,    
    PixelFormatInfoSelector_RGB8,    
    PixelFormatInfoSelector_RGB8_Planar,    
    PixelFormatInfoSelector_RGB10,    
    PixelFormatInfoSelector_RGB10_Planar,    
    PixelFormatInfoSelector_RGB10p,    
    PixelFormatInfoSelector_RGB10p32,    
    PixelFormatInfoSelector_RGB12,    
    PixelFormatInfoSelector_RGB12_Planar,    
    PixelFormatInfoSelector_RGB12p,    
    PixelFormatInfoSelector_RGB14,    
    PixelFormatInfoSelector_RGB16,    
    PixelFormatInfoSelector_RGB16s,    
    PixelFormatInfoSelector_RGB32f,    
    PixelFormatInfoSelector_RGB16_Planar,    
    PixelFormatInfoSelector_RGB565p,    
    PixelFormatInfoSelector_BGRa8,    
    PixelFormatInfoSelector_BGRa10,    
    PixelFormatInfoSelector_BGRa10p,    
    PixelFormatInfoSelector_BGRa12,    
    PixelFormatInfoSelector_BGRa12p,    
    PixelFormatInfoSelector_BGRa14,    
    PixelFormatInfoSelector_BGRa16,    
    PixelFormatInfoSelector_RGBa32f,    
    PixelFormatInfoSelector_BGR8,    
    PixelFormatInfoSelector_BGR10,    
    PixelFormatInfoSelector_BGR10p,    
    PixelFormatInfoSelector_BGR12,    
    PixelFormatInfoSelector_BGR12p,    
    PixelFormatInfoSelector_BGR14,    
    PixelFormatInfoSelector_BGR16,    
    PixelFormatInfoSelector_BGR565p,    
    PixelFormatInfoSelector_R8,    
    PixelFormatInfoSelector_R10,    
    PixelFormatInfoSelector_R12,    
    PixelFormatInfoSelector_R16,    
    PixelFormatInfoSelector_G8,    
    PixelFormatInfoSelector_G10,    
    PixelFormatInfoSelector_G12,    
    PixelFormatInfoSelector_G16,    
    PixelFormatInfoSelector_B8,    
    PixelFormatInfoSelector_B10,    
    PixelFormatInfoSelector_B12,    
    PixelFormatInfoSelector_B16,    
    PixelFormatInfoSelector_Coord3D_ABC8,    
    PixelFormatInfoSelector_Coord3D_ABC8_Planar,    
    PixelFormatInfoSelector_Coord3D_ABC10p,    
    PixelFormatInfoSelector_Coord3D_ABC10p_Planar,    
    PixelFormatInfoSelector_Coord3D_ABC12p,    
    PixelFormatInfoSelector_Coord3D_ABC12p_Planar,    
    PixelFormatInfoSelector_Coord3D_ABC16,    
    PixelFormatInfoSelector_Coord3D_ABC16_Planar,    
    PixelFormatInfoSelector_Coord3D_ABC32f,    
    PixelFormatInfoSelector_Coord3D_ABC32f_Planar,    
    PixelFormatInfoSelector_Coord3D_AC8,    
    PixelFormatInfoSelector_Coord3D_AC8_Planar,    
    PixelFormatInfoSelector_Coord3D_AC10p,    
    PixelFormatInfoSelector_Coord3D_AC10p_Planar,    
    PixelFormatInfoSelector_Coord3D_AC12p,    
    PixelFormatInfoSelector_Coord3D_AC12p_Planar,    
    PixelFormatInfoSelector_Coord3D_AC16,    
    PixelFormatInfoSelector_Coord3D_AC16_Planar,    
    PixelFormatInfoSelector_Coord3D_AC32f,    
    PixelFormatInfoSelector_Coord3D_AC32f_Planar,    
    PixelFormatInfoSelector_Coord3D_A8,    
    PixelFormatInfoSelector_Coord3D_A10p,    
    PixelFormatInfoSelector_Coord3D_A12p,    
    PixelFormatInfoSelector_Coord3D_A16,    
    PixelFormatInfoSelector_Coord3D_A32f,    
    PixelFormatInfoSelector_Coord3D_B8,    
    PixelFormatInfoSelector_Coord3D_B10p,    
    PixelFormatInfoSelector_Coord3D_B12p,    
    PixelFormatInfoSelector_Coord3D_B16,    
    PixelFormatInfoSelector_Coord3D_B32f,    
    PixelFormatInfoSelector_Coord3D_C8,    
    PixelFormatInfoSelector_Coord3D_C10p,    
    PixelFormatInfoSelector_Coord3D_C12p,    
    PixelFormatInfoSelector_Coord3D_C16,    
    PixelFormatInfoSelector_Coord3D_C32f,    
    PixelFormatInfoSelector_Confidence1,    
    PixelFormatInfoSelector_Confidence1p,    
    PixelFormatInfoSelector_Confidence8,    
    PixelFormatInfoSelector_Confidence16,    
    PixelFormatInfoSelector_Confidence32f,    
    PixelFormatInfoSelector_BiColorBGRG8,    
    PixelFormatInfoSelector_BiColorBGRG10,    
    PixelFormatInfoSelector_BiColorBGRG10p,    
    PixelFormatInfoSelector_BiColorBGRG12,    
    PixelFormatInfoSelector_BiColorBGRG12p,    
    PixelFormatInfoSelector_BiColorRGBG8,    
    PixelFormatInfoSelector_BiColorRGBG10,    
    PixelFormatInfoSelector_BiColorRGBG10p,    
    PixelFormatInfoSelector_BiColorRGBG12,    
    PixelFormatInfoSelector_BiColorRGBG12p,    
    PixelFormatInfoSelector_SCF1WBWG8,    
    PixelFormatInfoSelector_SCF1WBWG10,    
    PixelFormatInfoSelector_SCF1WBWG10p,    
    PixelFormatInfoSelector_SCF1WBWG12,    
    PixelFormatInfoSelector_SCF1WBWG12p,    
    PixelFormatInfoSelector_SCF1WBWG14,    
    PixelFormatInfoSelector_SCF1WBWG16,    
    PixelFormatInfoSelector_SCF1WGWB8,    
    PixelFormatInfoSelector_SCF1WGWB10,    
    PixelFormatInfoSelector_SCF1WGWB10p,    
    PixelFormatInfoSelector_SCF1WGWB12,    
    PixelFormatInfoSelector_SCF1WGWB12p,    
    PixelFormatInfoSelector_SCF1WGWB14,    
    PixelFormatInfoSelector_SCF1WGWB16,    
    PixelFormatInfoSelector_SCF1WGWR8,    
    PixelFormatInfoSelector_SCF1WGWR10,    
    PixelFormatInfoSelector_SCF1WGWR10p,    
    PixelFormatInfoSelector_SCF1WGWR12,    
    PixelFormatInfoSelector_SCF1WGWR12p,    
    PixelFormatInfoSelector_SCF1WGWR14,    
    PixelFormatInfoSelector_SCF1WGWR16,    
    PixelFormatInfoSelector_SCF1WRWG8,    
    PixelFormatInfoSelector_SCF1WRWG10,    
    PixelFormatInfoSelector_SCF1WRWG10p,    
    PixelFormatInfoSelector_SCF1WRWG12,    
    PixelFormatInfoSelector_SCF1WRWG12p,    
    PixelFormatInfoSelector_SCF1WRWG14,    
    PixelFormatInfoSelector_SCF1WRWG16,    
    PixelFormatInfoSelector_YCbCr8,    
    PixelFormatInfoSelector_YCbCr8_CbYCr,    
    PixelFormatInfoSelector_YCbCr10_CbYCr,    
    PixelFormatInfoSelector_YCbCr10p_CbYCr,    
    PixelFormatInfoSelector_YCbCr12_CbYCr,    
    PixelFormatInfoSelector_YCbCr12p_CbYCr,    
    PixelFormatInfoSelector_YCbCr411_8,    
    PixelFormatInfoSelector_YCbCr411_8_CbYYCrYY,    
    PixelFormatInfoSelector_YCbCr422_8,    
    PixelFormatInfoSelector_YCbCr422_8_CbYCrY,    
    PixelFormatInfoSelector_YCbCr422_10,    
    PixelFormatInfoSelector_YCbCr422_10_CbYCrY,    
    PixelFormatInfoSelector_YCbCr422_10p,    
    PixelFormatInfoSelector_YCbCr422_10p_CbYCrY,    
    PixelFormatInfoSelector_YCbCr422_12,    
    PixelFormatInfoSelector_YCbCr422_12_CbYCrY,    
    PixelFormatInfoSelector_YCbCr422_12p,    
    PixelFormatInfoSelector_YCbCr422_12p_CbYCrY,    
    PixelFormatInfoSelector_YCbCr601_8_CbYCr,    
    PixelFormatInfoSelector_YCbCr601_10_CbYCr,    
    PixelFormatInfoSelector_YCbCr601_10p_CbYCr,    
    PixelFormatInfoSelector_YCbCr601_12_CbYCr,    
    PixelFormatInfoSelector_YCbCr601_12p_CbYCr,    
    PixelFormatInfoSelector_YCbCr601_411_8_CbYYCrYY,    
    PixelFormatInfoSelector_YCbCr601_422_8,    
    PixelFormatInfoSelector_YCbCr601_422_8_CbYCrY,    
    PixelFormatInfoSelector_YCbCr601_422_10,    
    PixelFormatInfoSelector_YCbCr601_422_10_CbYCrY,    
    PixelFormatInfoSelector_YCbCr601_422_10p,    
    PixelFormatInfoSelector_YCbCr601_422_10p_CbYCrY,    
    PixelFormatInfoSelector_YCbCr601_422_12,    
    PixelFormatInfoSelector_YCbCr601_422_12_CbYCrY,    
    PixelFormatInfoSelector_YCbCr601_422_12p,    
    PixelFormatInfoSelector_YCbCr601_422_12p_CbYCrY,    
    PixelFormatInfoSelector_YCbCr709_8_CbYCr,    
    PixelFormatInfoSelector_YCbCr709_10_CbYCr,    
    PixelFormatInfoSelector_YCbCr709_10p_CbYCr,    
    PixelFormatInfoSelector_YCbCr709_12_CbYCr,    
    PixelFormatInfoSelector_YCbCr709_12p_CbYCr,    
    PixelFormatInfoSelector_YCbCr709_411_8_CbYYCrYY,    
    PixelFormatInfoSelector_YCbCr709_422_8,    
    PixelFormatInfoSelector_YCbCr709_422_8_CbYCrY,    
    PixelFormatInfoSelector_YCbCr709_422_10,    
    PixelFormatInfoSelector_YCbCr709_422_10_CbYCrY,    
    PixelFormatInfoSelector_YCbCr709_422_10p,    
    PixelFormatInfoSelector_YCbCr709_422_10p_CbYCrY,    
    PixelFormatInfoSelector_YCbCr709_422_12,    
    PixelFormatInfoSelector_YCbCr709_422_12_CbYCrY,    
    PixelFormatInfoSelector_YCbCr709_422_12p,    
    PixelFormatInfoSelector_YCbCr709_422_12p_CbYCrY,    
    PixelFormatInfoSelector_YUV8_UYV,    
    PixelFormatInfoSelector_YUV411_8_UYYVYY,    
    PixelFormatInfoSelector_YUV422_8,    
    PixelFormatInfoSelector_YUV422_8_UYVY,    
    PixelFormatInfoSelector_Polarized8,    
    PixelFormatInfoSelector_Polarized10p,    
    PixelFormatInfoSelector_Polarized12p,    
    PixelFormatInfoSelector_Polarized16,    
    PixelFormatInfoSelector_BayerRGPolarized8,    
    PixelFormatInfoSelector_BayerRGPolarized10p,    
    PixelFormatInfoSelector_BayerRGPolarized12p,    
    PixelFormatInfoSelector_BayerRGPolarized16,    
    PixelFormatInfoSelector_LLCMono8,    
    PixelFormatInfoSelector_LLCBayerRG8,    
    PixelFormatInfoSelector_JPEGMono8,    
    PixelFormatInfoSelector_JPEGColor8,    
    NUM_PIXELFORMATINFOSELECTOR
} spinPixelFormatInfoSelectorEnums;

typedef enum _spinDeinterlacingEnums    
{
    Deinterlacing_Off,    
    Deinterlacing_LineDuplication,    
    Deinterlacing_Weave,    
    NUM_DEINTERLACING
} spinDeinterlacingEnums;

typedef enum _spinImageCompressionRateOptionEnums    
{
    ImageCompressionRateOption_FixBitrate,    
    ImageCompressionRateOption_FixQuality,    
    NUM_IMAGECOMPRESSIONRATEOPTION
} spinImageCompressionRateOptionEnums;

typedef enum _spinImageCompressionJPEGFormatOptionEnums    
{
    ImageCompressionJPEGFormatOption_Lossless,    
    ImageCompressionJPEGFormatOption_BaselineStandard,    
    ImageCompressionJPEGFormatOption_BaselineOptimized,    
    ImageCompressionJPEGFormatOption_Progressive,    
    NUM_IMAGECOMPRESSIONJPEGFORMATOPTION
} spinImageCompressionJPEGFormatOptionEnums;

typedef enum _spinAcquisitionStatusSelectorEnums    
{
    AcquisitionStatusSelector_AcquisitionTriggerWait,    
    AcquisitionStatusSelector_AcquisitionActive,    
    AcquisitionStatusSelector_AcquisitionTransfer,    
    AcquisitionStatusSelector_FrameTriggerWait,    
    AcquisitionStatusSelector_FrameActive,    
    AcquisitionStatusSelector_ExposureActive,    
    NUM_ACQUISITIONSTATUSSELECTOR
} spinAcquisitionStatusSelectorEnums;

typedef enum _spinExposureTimeModeEnums    
{
    ExposureTimeMode_Common,    
    ExposureTimeMode_Individual,    
    NUM_EXPOSURETIMEMODE
} spinExposureTimeModeEnums;

typedef enum _spinExposureTimeSelectorEnums    
{
    ExposureTimeSelector_Common,    
    ExposureTimeSelector_Red,    
    ExposureTimeSelector_Green,    
    ExposureTimeSelector_Blue,    
    ExposureTimeSelector_Cyan,    
    ExposureTimeSelector_Magenta,    
    ExposureTimeSelector_Yellow,    
    ExposureTimeSelector_Infrared,    
    ExposureTimeSelector_Ultraviolet,    
    ExposureTimeSelector_Stage1,    
    ExposureTimeSelector_Stage2,    
    NUM_EXPOSURETIMESELECTOR
} spinExposureTimeSelectorEnums;

typedef enum _spinGainAutoBalanceEnums    
{
    GainAutoBalance_Off,    
    GainAutoBalance_Once,    
    GainAutoBalance_Continuous,    
    NUM_GAINAUTOBALANCE
} spinGainAutoBalanceEnums;

typedef enum _spinBlackLevelAutoEnums    
{
    BlackLevelAuto_Off,    
    BlackLevelAuto_Once,    
    BlackLevelAuto_Continuous,    
    NUM_BLACKLEVELAUTO
} spinBlackLevelAutoEnums;

typedef enum _spinBlackLevelAutoBalanceEnums    
{
    BlackLevelAutoBalance_Off,    
    BlackLevelAutoBalance_Once,    
    BlackLevelAutoBalance_Continuous,    
    NUM_BLACKLEVELAUTOBALANCE
} spinBlackLevelAutoBalanceEnums;

typedef enum _spinWhiteClipSelectorEnums    
{
    WhiteClipSelector_All,    
    WhiteClipSelector_Red,    
    WhiteClipSelector_Green,    
    WhiteClipSelector_Blue,    
    WhiteClipSelector_Y,    
    WhiteClipSelector_U,    
    WhiteClipSelector_V,    
    WhiteClipSelector_Tap1,    
    WhiteClipSelector_Tap2,    
    NUM_WHITECLIPSELECTOR
} spinWhiteClipSelectorEnums;

typedef enum _spinTimerSelectorEnums    
{
    TimerSelector_Timer0,    
    TimerSelector_Timer1,    
    TimerSelector_Timer2,    
    NUM_TIMERSELECTOR
} spinTimerSelectorEnums;

typedef enum _spinTimerStatusEnums    
{
    TimerStatus_TimerIdle,    
    TimerStatus_TimerTriggerWait,    
    TimerStatus_TimerActive,    
    TimerStatus_TimerCompleted,    
    NUM_TIMERSTATUS
} spinTimerStatusEnums;

typedef enum _spinTimerTriggerSourceEnums    
{
    TimerTriggerSource_Off,    
    TimerTriggerSource_AcquisitionTrigger,    
    TimerTriggerSource_AcquisitionStart,    
    TimerTriggerSource_AcquisitionEnd,    
    TimerTriggerSource_FrameTrigger,    
    TimerTriggerSource_FrameStart,    
    TimerTriggerSource_FrameEnd,    
    TimerTriggerSource_FrameBurstStart,    
    TimerTriggerSource_FrameBurstEnd,    
    TimerTriggerSource_LineTrigger,    
    TimerTriggerSource_LineStart,    
    TimerTriggerSource_LineEnd,    
    TimerTriggerSource_ExposureStart,    
    TimerTriggerSource_ExposureEnd,    
    TimerTriggerSource_Line0,    
    TimerTriggerSource_Line1,    
    TimerTriggerSource_Line2,    
    TimerTriggerSource_UserOutput0,    
    TimerTriggerSource_UserOutput1,    
    TimerTriggerSource_UserOutput2,    
    TimerTriggerSource_Counter0Start,    
    TimerTriggerSource_Counter1Start,    
    TimerTriggerSource_Counter2Start,    
    TimerTriggerSource_Counter0End,    
    TimerTriggerSource_Counter1End,    
    TimerTriggerSource_Counter2End,    
    TimerTriggerSource_Timer0Start,    
    TimerTriggerSource_Timer1Start,    
    TimerTriggerSource_Timer2Start,    
    TimerTriggerSource_Timer0End,    
    TimerTriggerSource_Timer1End,    
    TimerTriggerSource_Timer2End,    
    TimerTriggerSource_Encoder0,    
    TimerTriggerSource_Encoder1,    
    TimerTriggerSource_Encoder2,    
    TimerTriggerSource_SoftwareSignal0,    
    TimerTriggerSource_SoftwareSignal1,    
    TimerTriggerSource_SoftwareSignal2,    
    TimerTriggerSource_Action0,    
    TimerTriggerSource_Action1,    
    TimerTriggerSource_Action2,    
    TimerTriggerSource_LinkTrigger0,    
    TimerTriggerSource_LinkTrigger1,    
    TimerTriggerSource_LinkTrigger2,    
    NUM_TIMERTRIGGERSOURCE
} spinTimerTriggerSourceEnums;

typedef enum _spinTimerTriggerActivationEnums    
{
    TimerTriggerActivation_RisingEdge,    
    TimerTriggerActivation_FallingEdge,    
    TimerTriggerActivation_AnyEdge,    
    TimerTriggerActivation_LevelHigh,    
    TimerTriggerActivation_LevelLow,    
    NUM_TIMERTRIGGERACTIVATION
} spinTimerTriggerActivationEnums;

typedef enum _spinEncoderSelectorEnums    
{
    EncoderSelector_Encoder0,    
    EncoderSelector_Encoder1,    
    EncoderSelector_Encoder2,    
    NUM_ENCODERSELECTOR
} spinEncoderSelectorEnums;

typedef enum _spinEncoderSourceAEnums    
{
    EncoderSourceA_Off,    
    EncoderSourceA_Line0,    
    EncoderSourceA_Line1,    
    EncoderSourceA_Line2,    
    NUM_ENCODERSOURCEA
} spinEncoderSourceAEnums;

typedef enum _spinEncoderSourceBEnums    
{
    EncoderSourceB_Off,    
    EncoderSourceB_Line0,    
    EncoderSourceB_Line1,    
    EncoderSourceB_Line2,    
    NUM_ENCODERSOURCEB
} spinEncoderSourceBEnums;

typedef enum _spinEncoderModeEnums    
{
    EncoderMode_FourPhase,    
    EncoderMode_HighResolution,    
    NUM_ENCODERMODE
} spinEncoderModeEnums;

typedef enum _spinEncoderOutputModeEnums    
{
    EncoderOutputMode_Off,    
    EncoderOutputMode_PositionUp,    
    EncoderOutputMode_PositionDown,    
    EncoderOutputMode_DirectionUp,    
    EncoderOutputMode_DirectionDown,    
    EncoderOutputMode_Motion,    
    NUM_ENCODEROUTPUTMODE
} spinEncoderOutputModeEnums;

typedef enum _spinEncoderStatusEnums    
{
    EncoderStatus_EncoderUp,    
    EncoderStatus_EncoderDown,    
    EncoderStatus_EncoderIdle,    
    EncoderStatus_EncoderStatic,    
    NUM_ENCODERSTATUS
} spinEncoderStatusEnums;

typedef enum _spinEncoderResetSourceEnums    
{
    EncoderResetSource_Off,    
    EncoderResetSource_AcquisitionTrigger,    
    EncoderResetSource_AcquisitionStart,    
    EncoderResetSource_AcquisitionEnd,    
    EncoderResetSource_FrameTrigger,    
    EncoderResetSource_FrameStart,    
    EncoderResetSource_FrameEnd,    
    EncoderResetSource_ExposureStart,    
    EncoderResetSource_ExposureEnd,    
    EncoderResetSource_Line0,    
    EncoderResetSource_Line1,    
    EncoderResetSource_Line2,    
    EncoderResetSource_Counter0Start,    
    EncoderResetSource_Counter1Start,    
    EncoderResetSource_Counter2Start,    
    EncoderResetSource_Counter0End,    
    EncoderResetSource_Counter1End,    
    EncoderResetSource_Counter2End,    
    EncoderResetSource_Timer0Start,    
    EncoderResetSource_Timer1Start,    
    EncoderResetSource_Timer2Start,    
    EncoderResetSource_Timer0End,    
    EncoderResetSource_Timer1End,    
    EncoderResetSource_Timer2End,    
    EncoderResetSource_UserOutput0,    
    EncoderResetSource_UserOutput1,    
    EncoderResetSource_UserOutput2,    
    EncoderResetSource_SoftwareSignal0,    
    EncoderResetSource_SoftwareSignal1,    
    EncoderResetSource_SoftwareSignal2,    
    EncoderResetSource_Action0,    
    EncoderResetSource_Action1,    
    EncoderResetSource_Action2,    
    EncoderResetSource_LinkTrigger0,    
    EncoderResetSource_LinkTrigger1,    
    EncoderResetSource_LinkTrigger2,    
    NUM_ENCODERRESETSOURCE
} spinEncoderResetSourceEnums;

typedef enum _spinEncoderResetActivationEnums    
{
    EncoderResetActivation_RisingEdge,    
    EncoderResetActivation_FallingEdge,    
    EncoderResetActivation_AnyEdge,    
    EncoderResetActivation_LevelHigh,    
    EncoderResetActivation_LevelLow,    
    NUM_ENCODERRESETACTIVATION
} spinEncoderResetActivationEnums;

typedef enum _spinSoftwareSignalSelectorEnums    
{
    SoftwareSignalSelector_SoftwareSignal0,    
    SoftwareSignalSelector_SoftwareSignal1,    
    SoftwareSignalSelector_SoftwareSignal2,    
    NUM_SOFTWARESIGNALSELECTOR
} spinSoftwareSignalSelectorEnums;

typedef enum _spinUserSetDefaultEnums    
{
    UserSetDefault_Default,    
    UserSetDefault_UserSet0,    
    UserSetDefault_UserSet1,    
    NUM_USERSETDEFAULT
} spinUserSetDefaultEnums;

typedef enum _spinTransferSelectorEnums    
{
    TransferSelector_Stream0,    
    TransferSelector_Stream1,    
    TransferSelector_Stream2,    
    TransferSelector_All,    
    NUM_TRANSFERSELECTOR
} spinTransferSelectorEnums;

typedef enum _spinTransferTriggerSelectorEnums    
{
    TransferTriggerSelector_TransferStart,    
    TransferTriggerSelector_TransferStop,    
    TransferTriggerSelector_TransferAbort,    
    TransferTriggerSelector_TransferPause,    
    TransferTriggerSelector_TransferResume,    
    TransferTriggerSelector_TransferActive,    
    TransferTriggerSelector_TransferBurstStart,    
    TransferTriggerSelector_TransferBurstStop,    
    NUM_TRANSFERTRIGGERSELECTOR
} spinTransferTriggerSelectorEnums;

typedef enum _spinTransferTriggerModeEnums    
{
    TransferTriggerMode_Off,    
    TransferTriggerMode_On,    
    NUM_TRANSFERTRIGGERMODE
} spinTransferTriggerModeEnums;

typedef enum _spinTransferTriggerSourceEnums    
{
    TransferTriggerSource_Line0,    
    TransferTriggerSource_Line1,    
    TransferTriggerSource_Line2,    
    TransferTriggerSource_Counter0Start,    
    TransferTriggerSource_Counter1Start,    
    TransferTriggerSource_Counter2Start,    
    TransferTriggerSource_Counter0End,    
    TransferTriggerSource_Counter1End,    
    TransferTriggerSource_Counter2End,    
    TransferTriggerSource_Timer0Start,    
    TransferTriggerSource_Timer1Start,    
    TransferTriggerSource_Timer2Start,    
    TransferTriggerSource_Timer0End,    
    TransferTriggerSource_Timer1End,    
    TransferTriggerSource_Timer2End,    
    TransferTriggerSource_SoftwareSignal0,    
    TransferTriggerSource_SoftwareSignal1,    
    TransferTriggerSource_SoftwareSignal2,    
    TransferTriggerSource_Action0,    
    TransferTriggerSource_Action1,    
    TransferTriggerSource_Action2,    
    NUM_TRANSFERTRIGGERSOURCE
} spinTransferTriggerSourceEnums;

typedef enum _spinTransferTriggerActivationEnums    
{
    TransferTriggerActivation_RisingEdge,    
    TransferTriggerActivation_FallingEdge,    
    TransferTriggerActivation_AnyEdge,    
    TransferTriggerActivation_LevelHigh,    
    TransferTriggerActivation_LevelLow,    
    NUM_TRANSFERTRIGGERACTIVATION
} spinTransferTriggerActivationEnums;

typedef enum _spinTransferStatusSelectorEnums    
{
    TransferStatusSelector_Streaming,    
    TransferStatusSelector_Paused,    
    TransferStatusSelector_Stopping,    
    TransferStatusSelector_Stopped,    
    TransferStatusSelector_QueueOverflow,    
    NUM_TRANSFERSTATUSSELECTOR
} spinTransferStatusSelectorEnums;

typedef enum _spinTransferComponentSelectorEnums    
{
    TransferComponentSelector_Red,    
    TransferComponentSelector_Green,    
    TransferComponentSelector_Blue,    
    TransferComponentSelector_All,    
    NUM_TRANSFERCOMPONENTSELECTOR
} spinTransferComponentSelectorEnums;

typedef enum _spinScan3dDistanceUnitEnums    
{
    Scan3dDistanceUnit_Millimeter,    
    Scan3dDistanceUnit_Meter,    
    Scan3dDistanceUnit_Inch,    
    Scan3dDistanceUnit_Pixel,    
    NUM_SCAN3DDISTANCEUNIT
} spinScan3dDistanceUnitEnums;

typedef enum _spinScan3dCoordinateSystemEnums    
{
    Scan3dCoordinateSystem_Cartesian,    
    Scan3dCoordinateSystem_Spherical,    
    Scan3dCoordinateSystem_Cylindrical,    
    NUM_SCAN3DCOORDINATESYSTEM
} spinScan3dCoordinateSystemEnums;

typedef enum _spinScan3dOutputModeEnums    
{
    Scan3dOutputMode_UncalibratedC,    
    Scan3dOutputMode_CalibratedABC_Grid,    
    Scan3dOutputMode_CalibratedABC_PointCloud,    
    Scan3dOutputMode_CalibratedAC,    
    Scan3dOutputMode_CalibratedAC_Linescan,    
    Scan3dOutputMode_CalibratedC,    
    Scan3dOutputMode_CalibratedC_Linescan,    
    Scan3dOutputMode_RectifiedC,    
    Scan3dOutputMode_RectifiedC_Linescan,    
    Scan3dOutputMode_DisparityC,    
    Scan3dOutputMode_DisparityC_Linescan,    
    NUM_SCAN3DOUTPUTMODE
} spinScan3dOutputModeEnums;

typedef enum _spinScan3dCoordinateSystemReferenceEnums    
{
    Scan3dCoordinateSystemReference_Anchor,    
    Scan3dCoordinateSystemReference_Transformed,    
    NUM_SCAN3DCOORDINATESYSTEMREFERENCE
} spinScan3dCoordinateSystemReferenceEnums;

typedef enum _spinScan3dCoordinateSelectorEnums    
{
    Scan3dCoordinateSelector_CoordinateA,    
    Scan3dCoordinateSelector_CoordinateB,    
    Scan3dCoordinateSelector_CoordinateC,    
    NUM_SCAN3DCOORDINATESELECTOR
} spinScan3dCoordinateSelectorEnums;

typedef enum _spinScan3dCoordinateTransformSelectorEnums    
{
    Scan3dCoordinateTransformSelector_RotationX,    
    Scan3dCoordinateTransformSelector_RotationY,    
    Scan3dCoordinateTransformSelector_RotationZ,    
    Scan3dCoordinateTransformSelector_TranslationX,    
    Scan3dCoordinateTransformSelector_TranslationY,    
    Scan3dCoordinateTransformSelector_TranslationZ,    
    NUM_SCAN3DCOORDINATETRANSFORMSELECTOR
} spinScan3dCoordinateTransformSelectorEnums;

typedef enum _spinScan3dCoordinateReferenceSelectorEnums    
{
    Scan3dCoordinateReferenceSelector_RotationX,    
    Scan3dCoordinateReferenceSelector_RotationY,    
    Scan3dCoordinateReferenceSelector_RotationZ,    
    Scan3dCoordinateReferenceSelector_TranslationX,    
    Scan3dCoordinateReferenceSelector_TranslationY,    
    Scan3dCoordinateReferenceSelector_TranslationZ,    
    NUM_SCAN3DCOORDINATEREFERENCESELECTOR
} spinScan3dCoordinateReferenceSelectorEnums;

typedef enum _spinChunkImageComponentEnums    
{
    ChunkImageComponent_Intensity,    
    ChunkImageComponent_Color,    
    ChunkImageComponent_Infrared,    
    ChunkImageComponent_Ultraviolet,    
    ChunkImageComponent_Range,    
    ChunkImageComponent_Disparity,    
    ChunkImageComponent_Confidence,    
    ChunkImageComponent_Scatter,    
    NUM_CHUNKIMAGECOMPONENT
} spinChunkImageComponentEnums;

typedef enum _spinChunkCounterSelectorEnums    
{
    ChunkCounterSelector_Counter0,    
    ChunkCounterSelector_Counter1,    
    ChunkCounterSelector_Counter2,    
    NUM_CHUNKCOUNTERSELECTOR
} spinChunkCounterSelectorEnums;

typedef enum _spinChunkTimerSelectorEnums    
{
    ChunkTimerSelector_Timer0,    
    ChunkTimerSelector_Timer1,    
    ChunkTimerSelector_Timer2,    
    NUM_CHUNKTIMERSELECTOR
} spinChunkTimerSelectorEnums;

typedef enum _spinChunkEncoderSelectorEnums    
{
    ChunkEncoderSelector_Encoder0,    
    ChunkEncoderSelector_Encoder1,    
    ChunkEncoderSelector_Encoder2,    
    NUM_CHUNKENCODERSELECTOR
} spinChunkEncoderSelectorEnums;

typedef enum _spinChunkEncoderStatusEnums    
{
    ChunkEncoderStatus_EncoderUp,    
    ChunkEncoderStatus_EncoderDown,    
    ChunkEncoderStatus_EncoderIdle,    
    ChunkEncoderStatus_EncoderStatic,    
    NUM_CHUNKENCODERSTATUS
} spinChunkEncoderStatusEnums;

typedef enum _spinChunkExposureTimeSelectorEnums    
{
    ChunkExposureTimeSelector_Common,    
    ChunkExposureTimeSelector_Red,    
    ChunkExposureTimeSelector_Green,    
    ChunkExposureTimeSelector_Blue,    
    ChunkExposureTimeSelector_Cyan,    
    ChunkExposureTimeSelector_Magenta,    
    ChunkExposureTimeSelector_Yellow,    
    ChunkExposureTimeSelector_Infrared,    
    ChunkExposureTimeSelector_Ultraviolet,    
    ChunkExposureTimeSelector_Stage1,    
    ChunkExposureTimeSelector_Stage2,    
    NUM_CHUNKEXPOSURETIMESELECTOR
} spinChunkExposureTimeSelectorEnums;

typedef enum _spinChunkSourceIDEnums    
{
    ChunkSourceID_Source0,    
    ChunkSourceID_Source1,    
    ChunkSourceID_Source2,    
    NUM_CHUNKSOURCEID
} spinChunkSourceIDEnums;

typedef enum _spinChunkRegionIDEnums    
{
    ChunkRegionID_Region0,    
    ChunkRegionID_Region1,    
    ChunkRegionID_Region2,    
    NUM_CHUNKREGIONID
} spinChunkRegionIDEnums;

typedef enum _spinChunkTransferStreamIDEnums    
{
    ChunkTransferStreamID_Stream0,    
    ChunkTransferStreamID_Stream1,    
    ChunkTransferStreamID_Stream2,    
    ChunkTransferStreamID_Stream3,    
    NUM_CHUNKTRANSFERSTREAMID
} spinChunkTransferStreamIDEnums;

typedef enum _spinChunkScan3dDistanceUnitEnums    
{
    ChunkScan3dDistanceUnit_Millimeter,    
    ChunkScan3dDistanceUnit_Inch,    
    NUM_CHUNKSCAN3DDISTANCEUNIT
} spinChunkScan3dDistanceUnitEnums;

typedef enum _spinChunkScan3dOutputModeEnums    
{
    ChunkScan3dOutputMode_UncalibratedC,    
    ChunkScan3dOutputMode_CalibratedABC_Grid,    
    ChunkScan3dOutputMode_CalibratedABC_PointCloud,    
    ChunkScan3dOutputMode_CalibratedAC,    
    ChunkScan3dOutputMode_CalibratedAC_Linescan,    
    ChunkScan3dOutputMode_CalibratedC,    
    ChunkScan3dOutputMode_CalibratedC_Linescan,    
    ChunkScan3dOutputMode_RectifiedC,    
    ChunkScan3dOutputMode_RectifiedC_Linescan,    
    ChunkScan3dOutputMode_DisparityC,    
    ChunkScan3dOutputMode_DisparityC_Linescan,    
    NUM_CHUNKSCAN3DOUTPUTMODE
} spinChunkScan3dOutputModeEnums;

typedef enum _spinChunkScan3dCoordinateSystemEnums    
{
    ChunkScan3dCoordinateSystem_Cartesian,    
    ChunkScan3dCoordinateSystem_Spherical,    
    ChunkScan3dCoordinateSystem_Cylindrical,    
    NUM_CHUNKSCAN3DCOORDINATESYSTEM
} spinChunkScan3dCoordinateSystemEnums;

typedef enum _spinChunkScan3dCoordinateSystemReferenceEnums    
{
    ChunkScan3dCoordinateSystemReference_Anchor,    
    ChunkScan3dCoordinateSystemReference_Transformed,    
    NUM_CHUNKSCAN3DCOORDINATESYSTEMREFERENCE
} spinChunkScan3dCoordinateSystemReferenceEnums;

typedef enum _spinChunkScan3dCoordinateSelectorEnums    
{
    ChunkScan3dCoordinateSelector_CoordinateA,    
    ChunkScan3dCoordinateSelector_CoordinateB,    
    ChunkScan3dCoordinateSelector_CoordinateC,    
    NUM_CHUNKSCAN3DCOORDINATESELECTOR
} spinChunkScan3dCoordinateSelectorEnums;

typedef enum _spinChunkScan3dCoordinateTransformSelectorEnums    
{
    ChunkScan3dCoordinateTransformSelector_RotationX,    
    ChunkScan3dCoordinateTransformSelector_RotationY,    
    ChunkScan3dCoordinateTransformSelector_RotationZ,    
    ChunkScan3dCoordinateTransformSelector_TranslationX,    
    ChunkScan3dCoordinateTransformSelector_TranslationY,    
    ChunkScan3dCoordinateTransformSelector_TranslationZ,    
    NUM_CHUNKSCAN3DCOORDINATETRANSFORMSELECTOR
} spinChunkScan3dCoordinateTransformSelectorEnums;

typedef enum _spinChunkScan3dCoordinateReferenceSelectorEnums    
{
    ChunkScan3dCoordinateReferenceSelector_RotationX,    
    ChunkScan3dCoordinateReferenceSelector_RotationY,    
    ChunkScan3dCoordinateReferenceSelector_RotationZ,    
    ChunkScan3dCoordinateReferenceSelector_TranslationX,    
    ChunkScan3dCoordinateReferenceSelector_TranslationY,    
    ChunkScan3dCoordinateReferenceSelector_TranslationZ,    
    NUM_CHUNKSCAN3DCOORDINATEREFERENCESELECTOR
} spinChunkScan3dCoordinateReferenceSelectorEnums;

typedef enum _spinDeviceTapGeometryEnums    
{
    DeviceTapGeometry_Geometry_1X_1Y,    
    DeviceTapGeometry_Geometry_1X2_1Y,    
    DeviceTapGeometry_Geometry_1X2_1Y2,    
    DeviceTapGeometry_Geometry_2X_1Y,    
    DeviceTapGeometry_Geometry_2X_1Y2Geometry_2XE_1Y,    
    DeviceTapGeometry_Geometry_2XE_1Y2,    
    DeviceTapGeometry_Geometry_2XM_1Y,    
    DeviceTapGeometry_Geometry_2XM_1Y2,    
    DeviceTapGeometry_Geometry_1X_1Y2,    
    DeviceTapGeometry_Geometry_1X_2YE,    
    DeviceTapGeometry_Geometry_1X3_1Y,    
    DeviceTapGeometry_Geometry_3X_1Y,    
    DeviceTapGeometry_Geometry_1X,    
    DeviceTapGeometry_Geometry_1X2,    
    DeviceTapGeometry_Geometry_2X,    
    DeviceTapGeometry_Geometry_2XE,    
    DeviceTapGeometry_Geometry_2XM,    
    DeviceTapGeometry_Geometry_1X3,    
    DeviceTapGeometry_Geometry_3X,    
    DeviceTapGeometry_Geometry_1X4_1Y,    
    DeviceTapGeometry_Geometry_4X_1Y,    
    DeviceTapGeometry_Geometry_2X2_1Y,    
    DeviceTapGeometry_Geometry_2X2E_1YGeometry_2X2M_1Y,    
    DeviceTapGeometry_Geometry_1X2_2YE,    
    DeviceTapGeometry_Geometry_2X_2YE,    
    DeviceTapGeometry_Geometry_2XE_2YE,    
    DeviceTapGeometry_Geometry_2XM_2YE,    
    DeviceTapGeometry_Geometry_1X4,    
    DeviceTapGeometry_Geometry_4X,    
    DeviceTapGeometry_Geometry_2X2,    
    DeviceTapGeometry_Geometry_2X2E,    
    DeviceTapGeometry_Geometry_2X2M,    
    DeviceTapGeometry_Geometry_1X8_1Y,    
    DeviceTapGeometry_Geometry_8X_1Y,    
    DeviceTapGeometry_Geometry_4X2_1Y,    
    DeviceTapGeometry_Geometry_2X2E_2YE,    
    DeviceTapGeometry_Geometry_1X8,    
    DeviceTapGeometry_Geometry_8X,    
    DeviceTapGeometry_Geometry_4X2,    
    DeviceTapGeometry_Geometry_4X2E,    
    DeviceTapGeometry_Geometry_4X2E_1Y,    
    DeviceTapGeometry_Geometry_1X10_1Y,    
    DeviceTapGeometry_Geometry_10X_1Y,    
    DeviceTapGeometry_Geometry_1X10,    
    DeviceTapGeometry_Geometry_10X,    
    NUM_DEVICETAPGEOMETRY
} spinDeviceTapGeometryEnums;

typedef enum _spinGevCurrentPhysicalLinkConfigurationEnums    
{
    GevCurrentPhysicalLinkConfiguration_SingleLink,    
    GevCurrentPhysicalLinkConfiguration_MultiLink,    
    GevCurrentPhysicalLinkConfiguration_StaticLAG,    
    GevCurrentPhysicalLinkConfiguration_DynamicLAG,    
    NUM_GEVCURRENTPHYSICALLINKCONFIGURATION
} spinGevCurrentPhysicalLinkConfigurationEnums;

typedef enum _spinGevIPConfigurationStatusEnums    
{
    GevIPConfigurationStatus_None,    
    GevIPConfigurationStatus_PersistentIP,    
    GevIPConfigurationStatus_DHCP,    
    GevIPConfigurationStatus_LLA,    
    GevIPConfigurationStatus_ForceIP,    
    NUM_GEVIPCONFIGURATIONSTATUS
} spinGevIPConfigurationStatusEnums;

typedef enum _spinGevGVSPExtendedIDModeEnums    
{
    GevGVSPExtendedIDMode_Off,    
    GevGVSPExtendedIDMode_On,    
    NUM_GEVGVSPEXTENDEDIDMODE
} spinGevGVSPExtendedIDModeEnums;

typedef enum _spinClConfigurationEnums    
{
    ClConfiguration_Base,    
    ClConfiguration_Medium,    
    ClConfiguration_Full,    
    ClConfiguration_DualBase,    
    ClConfiguration_EightyBit,    
    NUM_CLCONFIGURATION
} spinClConfigurationEnums;

typedef enum _spinClTimeSlotsCountEnums    
{
    ClTimeSlotsCount_One,    
    ClTimeSlotsCount_Two,    
    ClTimeSlotsCount_Three,    
    NUM_CLTIMESLOTSCOUNT
} spinClTimeSlotsCountEnums;

typedef enum _spinCxpLinkConfigurationStatusEnums    
{
    CxpLinkConfigurationStatus_None,    
    CxpLinkConfigurationStatus_Pending,    
    CxpLinkConfigurationStatus_CXP1_X1,    
    CxpLinkConfigurationStatus_CXP2_X1,    
    CxpLinkConfigurationStatus_CXP3_X1,    
    CxpLinkConfigurationStatus_CXP5_X1,    
    CxpLinkConfigurationStatus_CXP6_X1,    
    CxpLinkConfigurationStatus_CXP1_X2,    
    CxpLinkConfigurationStatus_CXP2_X2,    
    CxpLinkConfigurationStatus_CXP3_X2,    
    CxpLinkConfigurationStatus_CXP5_X2,    
    CxpLinkConfigurationStatus_CXP6_X2,    
    CxpLinkConfigurationStatus_CXP1_X3,    
    CxpLinkConfigurationStatus_CXP2_X3,    
    CxpLinkConfigurationStatus_CXP3_X3,    
    CxpLinkConfigurationStatus_CXP5_X3,    
    CxpLinkConfigurationStatus_CXP6_X3,    
    CxpLinkConfigurationStatus_CXP1_X4,    
    CxpLinkConfigurationStatus_CXP2_X4,    
    CxpLinkConfigurationStatus_CXP3_X4,    
    CxpLinkConfigurationStatus_CXP5_X4,    
    CxpLinkConfigurationStatus_CXP6_X4,    
    CxpLinkConfigurationStatus_CXP1_X5,    
    CxpLinkConfigurationStatus_CXP2_X5,    
    CxpLinkConfigurationStatus_CXP3_X5,    
    CxpLinkConfigurationStatus_CXP5_X5,    
    CxpLinkConfigurationStatus_CXP6_X5,    
    CxpLinkConfigurationStatus_CXP1_X6,    
    CxpLinkConfigurationStatus_CXP2_X6,    
    CxpLinkConfigurationStatus_CXP3_X6,    
    CxpLinkConfigurationStatus_CXP5_X6,    
    CxpLinkConfigurationStatus_CXP6_X6,    
    NUM_CXPLINKCONFIGURATIONSTATUS
} spinCxpLinkConfigurationStatusEnums;

typedef enum _spinCxpLinkConfigurationPreferredEnums    
{
    CxpLinkConfigurationPreferred_CXP1_X1,    
    CxpLinkConfigurationPreferred_CXP2_X1,    
    CxpLinkConfigurationPreferred_CXP3_X1,    
    CxpLinkConfigurationPreferred_CXP5_X1,    
    CxpLinkConfigurationPreferred_CXP6_X1,    
    CxpLinkConfigurationPreferred_CXP1_X2,    
    CxpLinkConfigurationPreferred_CXP2_X2,    
    CxpLinkConfigurationPreferred_CXP3_X2,    
    CxpLinkConfigurationPreferred_CXP5_X2,    
    CxpLinkConfigurationPreferred_CXP6_X2,    
    CxpLinkConfigurationPreferred_CXP1_X3,    
    CxpLinkConfigurationPreferred_CXP2_X3,    
    CxpLinkConfigurationPreferred_CXP3_X3,    
    CxpLinkConfigurationPreferred_CXP5_X3,    
    CxpLinkConfigurationPreferred_CXP6_X3,    
    CxpLinkConfigurationPreferred_CXP1_X4,    
    CxpLinkConfigurationPreferred_CXP2_X4,    
    CxpLinkConfigurationPreferred_CXP3_X4,    
    CxpLinkConfigurationPreferred_CXP5_X4,    
    CxpLinkConfigurationPreferred_CXP6_X4,    
    CxpLinkConfigurationPreferred_CXP1_X5,    
    CxpLinkConfigurationPreferred_CXP2_X5,    
    CxpLinkConfigurationPreferred_CXP3_X5,    
    CxpLinkConfigurationPreferred_CXP5_X5,    
    CxpLinkConfigurationPreferred_CXP6_X5,    
    CxpLinkConfigurationPreferred_CXP1_X6,    
    CxpLinkConfigurationPreferred_CXP2_X6,    
    CxpLinkConfigurationPreferred_CXP3_X6,    
    CxpLinkConfigurationPreferred_CXP5_X6,    
    CxpLinkConfigurationPreferred_CXP6_X6,    
    NUM_CXPLINKCONFIGURATIONPREFERRED
} spinCxpLinkConfigurationPreferredEnums;

typedef enum _spinCxpLinkConfigurationEnums    
{
    CxpLinkConfiguration_Auto,    
    CxpLinkConfiguration_CXP1_X1,    
    CxpLinkConfiguration_CXP2_X1,    
    CxpLinkConfiguration_CXP3_X1,    
    CxpLinkConfiguration_CXP5_X1,    
    CxpLinkConfiguration_CXP6_X1,    
    CxpLinkConfiguration_CXP1_X2,    
    CxpLinkConfiguration_CXP2_X2,    
    CxpLinkConfiguration_CXP3_X2,    
    CxpLinkConfiguration_CXP5_X2,    
    CxpLinkConfiguration_CXP6_X2,    
    CxpLinkConfiguration_CXP1_X3,    
    CxpLinkConfiguration_CXP2_X3,    
    CxpLinkConfiguration_CXP3_X3,    
    CxpLinkConfiguration_CXP5_X3,    
    CxpLinkConfiguration_CXP6_X3,    
    CxpLinkConfiguration_CXP1_X4,    
    CxpLinkConfiguration_CXP2_X4,    
    CxpLinkConfiguration_CXP3_X4,    
    CxpLinkConfiguration_CXP5_X4,    
    CxpLinkConfiguration_CXP6_X4,    
    CxpLinkConfiguration_CXP1_X5,    
    CxpLinkConfiguration_CXP2_X5,    
    CxpLinkConfiguration_CXP3_X5,    
    CxpLinkConfiguration_CXP5_X5,    
    CxpLinkConfiguration_CXP6_X5,    
    CxpLinkConfiguration_CXP1_X6,    
    CxpLinkConfiguration_CXP2_X6,    
    CxpLinkConfiguration_CXP3_X6,    
    CxpLinkConfiguration_CXP5_X6,    
    CxpLinkConfiguration_CXP6_X6,    
    NUM_CXPLINKCONFIGURATION
} spinCxpLinkConfigurationEnums;

typedef enum _spinCxpConnectionTestModeEnums    
{
    CxpConnectionTestMode_Off,    
    CxpConnectionTestMode_Mode1,    
    NUM_CXPCONNECTIONTESTMODE
} spinCxpConnectionTestModeEnums;

typedef enum _spinCxpPoCxpStatusEnums    
{
    CxpPoCxpStatus_Auto,    
    CxpPoCxpStatus_Off,    
    CxpPoCxpStatus_Tripped,    
    NUM_CXPPOCXPSTATUS
} spinCxpPoCxpStatusEnums;

typedef enum _spinConnectionConfigEnums    
{
    ConnectionConfig_CXP3_X1,    
    ConnectionConfig_CXP3_X2,    
    ConnectionConfig_CXP6_X2,    
    ConnectionConfig_CXP10_X2,    
    ConnectionConfig_CXP12_X2,    
    ConnectionConfig_CXP3_X4,    
    ConnectionConfig_CXP6_X4,    
    ConnectionConfig_CXP10_X4,    
    ConnectionConfig_CXP12_X4,    
    NUM_CONNECTIONCONFIG
} spinConnectionConfigEnums;

typedef enum _spinConnectionConfigDefaultEnums    
{
    ConnectionConfigDefault_CXP3_X2,    
    ConnectionConfigDefault_CXP6_X2,    
    ConnectionConfigDefault_CXP10_X2,    
    ConnectionConfigDefault_CXP12_X2,    
    ConnectionConfigDefault_CXP3_X4,    
    ConnectionConfigDefault_CXP6_X4,    
    ConnectionConfigDefault_CXP10_X4,    
    ConnectionConfigDefault_CXP12_X4,    
    NUM_CONNECTIONCONFIGDEFAULT
} spinConnectionConfigDefaultEnums;

typedef enum _spinTestModeEnums    
{
    TestMode_Off,    
    TestMode_Mode1,    
    NUM_TESTMODE
} spinTestModeEnums;

typedef enum _spinElectricalCompliancyTestEnums    
{
    ElectricalCompliancyTest_NormalOperatingMode,    
    ElectricalCompliancyTest_CXP3_X1,    
    ElectricalCompliancyTest_CXP6_X1,    
    ElectricalCompliancyTest_CXP3_X2,    
    ElectricalCompliancyTest_CXP6_X2,    
    ElectricalCompliancyTest_CXP3_X4,    
    ElectricalCompliancyTest_CXP6_X4,    
    NUM_ELECTRICALCOMPLIANCYTEST
} spinElectricalCompliancyTestEnums;

typedef enum _spinTestImageSelectorEnums    
{
    TestImageSelector_Off,    
    TestImageSelector_AdimecTestPattern,    
    TestImageSelector_UniformVideoLevel,    
    TestImageSelector_DiagonalPattern,    
    TestImageSelector_DiagonalPatternRunning,    
    TestImageSelector_SensorGradient,    
    NUM_TESTIMAGESELECTOR
} spinTestImageSelectorEnums;

typedef enum _spinFlashStrobeModeEnums    
{
    FlashStrobeMode_Disabled,    
    FlashStrobeMode_Automatic,    
    FlashStrobeMode_Programmed,    
    NUM_FLASHSTROBEMODE
} spinFlashStrobeModeEnums;

typedef enum _spinFlashStrobeActiveStateEnums    
{
    FlashStrobeActiveState_ActiveLow,    
    FlashStrobeActiveState_ActiveHigh,    
    NUM_FLASHSTROBEACTIVESTATE
} spinFlashStrobeActiveStateEnums;

typedef enum _spinGainModeEnums    
{
    GainMode_MaximumFullWell,    
    GainMode_HighFullWell,    
    GainMode_MaximumDynamicRange,    
    GainMode_HighSensitivity,    
    NUM_GAINMODE
} spinGainModeEnums;

typedef enum _spinWhiteBalanceStatusEnums    
{
    WhiteBalanceStatus_WhiteBalanceIdle,    
    WhiteBalanceStatus_WhiteBalanceStarted,    
    WhiteBalanceStatus_WhiteBalanceCalibrateOK,    
    WhiteBalanceStatus_WhiteBalance_SensorTooDark,    
    WhiteBalanceStatus_WhiteBalance_ColorClipped,    
    NUM_WHITEBALANCESTATUS
} spinWhiteBalanceStatusEnums;

typedef enum _spinSensorBitDepthEnums    
{
    SensorBitDepth_Resolution_10_Bit,    
    SensorBitDepth_Resolution_12_Bit,    
    NUM_SENSORBITDEPTH
} spinSensorBitDepthEnums;

typedef enum _spinFanTypeEnums    
{
    FanType_No_Fan,    
    FanType_PWM_Fan,    
    FanType_Non_PWM_Fan,    
    NUM_FANTYPE
} spinFanTypeEnums;

typedef enum _spinSensorRegisterReadWriteModeEnums    
{
    SensorRegisterReadWriteMode_DirectRegisterAccess,    
    SensorRegisterReadWriteMode_NonVolatileRegisterAccess,    
    NUM_SENSORREGISTERREADWRITEMODE
} spinSensorRegisterReadWriteModeEnums;

typedef enum _spinDeviceDataRW_SelectEnums    
{
    DeviceDataRW_Select_Read,    
    DeviceDataRW_Select_Write,    
    NUM_DEVICEDATARW_SELECT
} spinDeviceDataRW_SelectEnums;

typedef enum _spinDeviceDataStatusEnums    
{
    DeviceDataStatus_DD_OK,    
    DeviceDataStatus_DD_WriteOutsideDataSpace,    
    DeviceDataStatus_DD_ReadOutsideDataSpace,    
    DeviceDataStatus_DD_ProtocolMismach,    
    DeviceDataStatus_DD_CRCMismach,    
    DeviceDataStatus_DD_FWIDMismach,    
    DeviceDataStatus_DD_EnterNext,    
    DeviceDataStatus_DD_Complete,    
    NUM_DEVICEDATASTATUS
} spinDeviceDataStatusEnums;

typedef enum _spinDefectPixelTestModeEnums    
{
    DefectPixelTestMode_Off,    
    DefectPixelTestMode_MarkDefectsWhiteOnVideo,    
    DefectPixelTestMode_MarkDefectsBlackOnVideo,    
    DefectPixelTestMode_ShowDefectsAsWhiteOnBlackBackground,    
    NUM_DEFECTPIXELTESTMODE
} spinDefectPixelTestModeEnums;

typedef enum _spinDefectPixelStatusEnums    
{
    DefectPixelStatus_DP_AddNOK,    
    DefectPixelStatus_DP_OK,    
    DefectPixelStatus_DP_ListEmpty,    
    DefectPixelStatus_DP_DefectNotFound,    
    DefectPixelStatus_DP_DefectOutOfRange,    
    DefectPixelStatus_DP_TableAlreadyFull,    
    DefectPixelStatus_DP_DefectAlreadyExists,    
    DefectPixelStatus_DP_AddOK,    
    NUM_DEFECTPIXELSTATUS
} spinDefectPixelStatusEnums;

typedef enum _spinLF_FF_ReferencePointEnums    
{
    LF_FF_ReferencePoint_Peak,    
    LF_FF_ReferencePoint_Average,    
    NUM_LF_FF_REFERENCEPOINT
} spinLF_FF_ReferencePointEnums;

typedef enum _spinLF_FF_SetSelectionModeEnums    
{
    LF_FF_SetSelectionMode_Manual,    
    LF_FF_SetSelectionMode_Sequencer,    
    NUM_LF_FF_SETSELECTIONMODE
} spinLF_FF_SetSelectionModeEnums;

typedef enum _spinLF_FF_CalibrationROIEnums    
{
    LF_FF_CalibrationROI_UserROI,    
    LF_FF_CalibrationROI_SensorROI,    
    NUM_LF_FF_CALIBRATIONROI
} spinLF_FF_CalibrationROIEnums;

typedef enum _spinLF_FF_CalibrationStatusEnums    
{
    LF_FF_CalibrationStatus_LF_FF_CalibrateOK,    
    LF_FF_CalibrationStatus_LF_FF_CalibrationIdle,    
    LF_FF_CalibrationStatus_LF_FF_ImageTooDark,    
    LF_FF_CalibrationStatus_LF_FF_ImageTooBright,    
    LF_FF_CalibrationStatus_LF_FF_ImagePeakTooLow,    
    LF_FF_CalibrationStatus_LF_FF_ImagePeakTooHigh,    
    LF_FF_CalibrationStatus_LF_FF_CalibrationError,    
    LF_FF_CalibrationStatus_LF_FF_GainClipped_Warning,    
    NUM_LF_FF_CALIBRATIONSTATUS
} spinLF_FF_CalibrationStatusEnums;

typedef enum _spinLF_FF_SequenceStatusEnums    
{
    LF_FF_SequenceStatus_LF_FF_SequenceProgramIdle,    
    LF_FF_SequenceStatus_LF_FF_SequenceProgramming,    
    LF_FF_SequenceStatus_LF_FF_SequenceProgramFinished,    
    LF_FF_SequenceStatus_LF_FF_SequenceProgramFailed,    
    LF_FF_SequenceStatus_LF_FF_SequenceProgrammingNotStarted,    
    LF_FF_SequenceStatus_LF_FF_SequenceProgramLimitReached,    
    LF_FF_SequenceStatus_LF_FF_SequenceSaved,    
    LF_FF_SequenceStatus_LF_FF_SequenceLoaded,    
    LF_FF_SequenceStatus_LF_FF_SequenceLoadFailed,    
    NUM_LF_FF_SEQUENCESTATUS
} spinLF_FF_SequenceStatusEnums;

typedef enum _spinLF_FF_RawSetDataStatusEnums    
{
    LF_FF_RawSetDataStatus_LF_FF_RawSetDataOK,    
    LF_FF_RawSetDataStatus_LF_FF_RawSetDataReading,    
    LF_FF_RawSetDataStatus_LF_FF_RawSetDataWriting,    
    LF_FF_RawSetDataStatus_LF_FF_RawSetDataSizeNotCorrect,    
    LF_FF_RawSetDataStatus_LF_FF_RawSetDataCRCerror,    
    NUM_LF_FF_RAWSETDATASTATUS
} spinLF_FF_RawSetDataStatusEnums;

typedef enum _spinLUTSelectionEnums    
{
    LUTSelection_ProgrammableLUT,    
    LUTSelection_Gamma,    
    NUM_LUTSELECTION
} spinLUTSelectionEnums;

typedef enum _spinLUTStatusEnums    
{
    LUTStatus_LUT_Idle,    
    LUTStatus_LUT_Started,    
    LUTStatus_LUT_Restarted,    
    LUTStatus_LUT_TooMuchEntries,    
    LUTStatus_LUT_NotEnoughEntries,    
    LUTStatus_LUT_Stored,    
    LUTStatus_LUT_NotStarted,    
    NUM_LUTSTATUS
} spinLUTStatusEnums;

typedef enum _spinSoftwareUpdateStatusEnums    
{
    SoftwareUpdateStatus_SoftwareUpdateIdle,    
    SoftwareUpdateStatus_SoftwareUpdateStarting,    
    SoftwareUpdateStatus_SoftwareUpdateEvaluateRunningFromFileSystem,    
    SoftwareUpdateStatus_SoftwareUpdateFileSystemSoftwareValidated,    
    SoftwareUpdateStatus_SoftwareUpdateFileSystemSoftwareVerified,    
    SoftwareUpdateStatus_SoftwareUpdateFileSystemSoftwareHasErrors,    
    SoftwareUpdateStatus_SoftwareUpdateActivateInFlashFailed,    
    SoftwareUpdateStatus_SoftwareUpdateNewSoftwareFailedToStart,    
    SoftwareUpdateStatus_SoftwareUpdateFileSystemAccessFailed,    
    SoftwareUpdateStatus_SoftwareUpdateLoadUpdatePackageFailed,    
    SoftwareUpdateStatus_SoftwareUpdatePackageIsCorrupt,    
    SoftwareUpdateStatus_SoftwareUpdateFailedToStart,    
    NUM_SOFTWAREUPDATESTATUS
} spinSoftwareUpdateStatusEnums;

#endif // FLIR_SPINNAKER_CAMERA_DEFS_C_H