#ifndef __ICubeSDK_H__
#define __ICubeSDK_H__
#ifdef ICUBE_USE_WINDOWS_HEADERS
#include <windows.h>
#else
#include <stdbool.h>
typedef int BOOL;
typedef int INT;
typedef unsigned int UINT;
typedef unsigned long ULONG;
typedef float FLOAT;
#define IN
#define OUT
#define WINAPI __stdcall
#define CONST const
typedef char CHAR;
typedef CHAR *PCHAR, *LPCH, *PCH;
typedef CONST CHAR *LPCCH, *PCCH;
#define CALLBACK __stdcall
typedef unsigned char BYTE;
typedef long LONG;
typedef void VOID;
typedef void* PVOID;
typedef void* HWND;
typedef int* PINT;
typedef unsigned long* PULONG;
typedef float* PFLOAT;
#endif
#define IC_SUCCESS 0
#define IC_ERROR 1
#define IC_IF_NOT_OPEN -1
#define IC_WRONG_PARAM -2
#define IC_OUT_OF_MEMORY -3
#define IC_ALREADY_DONE -4
#define IC_WRONG_CLOCK_VAL -5
#define IC_COM_LIB_INIT -6
#define IC_NOT_IF_STARTED -7
#define IC_WRONG_ROI_ID -8
#define IC_IF_NOT_ENABLED -9
#define IC_COLOR_CAM_ONLY -10
#define IC_DRIVER_VERSION -11
#define IC_D3D_INIT -12
#define IC_BAD_POINTER -13
#define IC_ERROR_FILE_SIZE -14
#define IC_RECONNECTION_ACTIVE -15
#define IC_USB_REQUEST_FAIL -16
#define IC_RESOURCE_IN_USE -17
#define IC_DEVICE_GONE -18
#define IC_DLL_MISMATCH -19
#define IC_WRONG_FW_VERSION -20
#define IC_NO_RGB_CALLBACK -21
#define IC_NO_USB30_CAMERA -22
#define IC_ERR_FIX_RELATION -23
#define IC_CRC_CONFIG_DATA -24
#define IC_CONFIG_DATA -25
#define IC_ERR_START_PNP -26
#define IC_INVALID_CAM_TYPE -27
#define IC_NOT_IF_STREAMING -28
#define IC_USB_STARTUP -29
#define MODE_320x240 0
#define MODE_640x480 1
#define MODE_752x480 2
#define MODE_800x600 3
#define MODE_1024x768 4
#define MODE_1280x1024 5
#define MODE_1600x1200 6
#define MODE_2048x1536 7
#define MODE_2592x1944 8
#define MODE_3840x2748 9
#define MODE_1920x1200 10
#define MODE_SKIP 0
#define MODE_BIN 1
#define BIN_SKIP_OFF 0
#define BIN_SKIP_2ND_PIXEL 1
#define BIN_SKIP_4TH_PIXEL 2
#define MEASUREFIELD_100 2
#define MEASUREFIELD_60 1
#define MEASUREFIELD_30 0
#define SHUTTER_ROLLING 0
#define SHUTTER_GLOBAL_RESET 1
#define SHUTTER_GLOBAL 2
#define OFF 0
#define ON 1
#define FALLING_EDGE 0
#define RISING_EDGE 1
#define DELAYED_TRIGGER_RETURN 0
#define IMMEDIATE_TRIGGER_RETURN 1
#define IS_8BIT 0
#define IS_16BIT 1
#define DE_BAYER_3x3 0
#define DE_BAYER_5x5 1
#define GAMMA_MODE_DEFAULT 2
#define GAMMA_MODE_sRGB 1
#define GAMMA_MODE_ITU709 0
#define DISPLAY_GDI 0
#define DISPLAY_D3D 1
#define REG_BRIGHTNESS 1
#define REG_CONTRAST 2
#define REG_GAMMA 3
#define REG_FLIPPED_V 4
#define REG_FLIPPED_H 5
#define REG_WHITE_BALANCE 6
#define REG_EXPOSURE_TIME 7
#define REG_EXPOSURE_TARGET 8
#define REG_RED 9
#define REG_GREEN 10
#define REG_BLUE 11
#define REG_BLACKLEVEL 12
#define REG_GAIN 13
#define REG_COLOR 14
#define REG_PLL 15
#define REG_STROBE_LENGHT 16
#define REG_STROBE_DELAY 17
#define REG_TRIGGER_DELAY 18
#define REG_SATURATION 19
#define REG_COLOR_ENHANCE 20
#define REG_TRIGGER_INVERT 21
#define REG_RECONNECTIONS 22
#define REG_MEASURE_FIELD_AE 23
#define REG_AVI_STATE 24
#define REG_FOCUS 25
#define REG_SHUTTER 26
#define REG_ROI_ID 27
#define REG_ROI_CYCLE 28
#define REG_DEFECT_COR 43
#define REG_BAD_FRAME 81
#define REG_GOOD_FRAME 82
#define REG_SW_TRIG_MODE 94
#define REG_ROI_FPGA_ONE_FRAME 96
#define REG_CALLBACK_BR_FRAMES 97
#define REG_FGPA_VBLANKING 98
#define REG_FGPA_HBLANKING 99
#define REG_FGPA_CLK_DIVIDER 100
#define REG_FGPA_ON_BOARD 101
#define REG_SET_GPIO 102
#define REG_GET_GPIO 103
#define REG_SET_GPIO_MODE 104
#define REG_MASK_ROI_ID 105
#define REG_RED_OFFSET 106
#define REG_GREEN_OFFSET 107
#define REG_BLUE_OFFSET 108
#define REG_HUE 109
#define REG_COLOR_CORRECTION 110
#define REG_GAMMA_ENABLE 111
#define REG_GAMMA_MODE 112
#define REG_INVERT_PIXEL 113
#define REG_TNR 115
#define REG_BAYER_CONVERSION 116
#define REG_COLOR_PROCESSING 117
#define REG_USB_SPEED 118
#define REG_DEVICE_SPEED 119
#define REG_DATA_TRANSMISSION 120
#define REG_SIGNIFICANT_BITS 125
#define REG_GRAPHIC_MODE 126
#define REG_EDGE_ENHANCEMENT 128
#define REG_EDGE_ENHANCEMENT_GAIN 129
#define REG_SENSOR_STROBE 132
#define REG_TRIG_TIMEOUT 138
#define REG_PIPE_TIMEOUT_MODE 139
#define REG_RESET_CAMERA 140
#define REG_DISCONNECTIONS 141
#define REG_XACT_RECOVER_MODE 142
#define REG_RESET_TO_DEFAULT 143
#define REG_TRANSFER_BUF_CNT 145
#define REG_SW_TRIG_WD_MODE 146
#define REG_AQU_FRAMERATE 147
#define REG_SENSOR_STROBE_DELAY 148
#define REG_SENSOR_OVERLAPPED 149
#define REG_TRIG_DELAY_DIVIDER 150
typedef struct {
BOOL bEnabled;
BOOL bAuto;
BOOL bOnePush;
UINT nDef;
UINT nMin;
ULONG nMax;
}
PARAM_PROPERTY, *P_PARAM_PROPERTY;
#define DEFAULT_GAMMA 64
typedef struct {
BOOL bEnabled;
BOOL bAuto;
BOOL bOnePush;
FLOAT nDef;
FLOAT nMin;
FLOAT nMax;
}
PARAM_PROPERTY_f, *P_PARAM_PROPERTY_f;
#define ROI_ID_1_2 0
#define ROI_ID_1_1 1
#define ROI_ID_2 2
#define ROI_ID_3 3
#define ROI_ID_4 4
#define ROI_ID_0 0
#define ROI_ID_1 1
#define ROI_ID_2 2
#define ROI_ID_3 3
#define ROI_ID_4 4
#define ROI_ID_5 5
typedef struct {
BOOL bEnabled;
INT nXRes;
INT nYRes;
INT nXPos;
INT nYPos;
}
ROI_PROPERTY, *P_ROI_PROPERTY;
#define ROI_STEP_SIZE 4
#define ROI_STEP_SIZE_11000 8
typedef struct {
INT nXMin;
INT nXMax;
INT nYMin;
INT nYMax;
}
ROI_RANGE_PROPERTY, *P_ROI_RANGE_PROPERTY;
#define TRIG_SW_START 0
#define TRIG_SW_DO 1
#define TRIG_HW_START 2
#define TRIG_STOP 3
#define TRIG_SW_START_2 4
#define TRIG_HW_START_2 5
#define DLL_VERSION 0
#define API_VERSION 1
#define CALLBACK_RAW 0
#define CALLBACK_RGB 1
#define DISPLAY_NORMAL 0
#define DISPLAY_FIT_TO_WINDOW 1
#define DISPLAY_RECT 2
typedef struct {
INT left;
INT top;
INT right;
INT bottom;
}
DISP_PROPERTY, *P_DISP_PROPERTY;
#define AVI_DIB 0
#define NETCAM_NAME_LENGTH 14
#define NETCAM_SERIAL_LENGTH 10
#define NETCAM_VERSION_LENGTH 9
#define IS_CLOSED 0
#define IS_OPEN 1
#define IS_STOPPED 0
#define IS_STARTED 1
#define EVENT_NEW_FRAME 0
#define EVENT_DEV_DISCONNECTED 1
#define EVENT_DEV_RECONNECTED 2
#define EVENT_USB_TRANSFER_FAILED 3
#define MODE_TIMEOUT_NONE 0
#define MODE_TIMEOUT_ALL 1
#define MODE_TIMEOUT_PART 2
#define PARAMETER_LOAD_TO_FILE 0
#define PARAMETER_LOAD_FROM_FILE 1
#ifdef LIBFILE
#define ICubeSDK
#ifdef BORLAND_C
extern "C"
{
#endif
ICubeSDK int WINAPI ICubeSDK_Init (void);
ICubeSDK int WINAPI ICubeSDK_Open(IN INT nCamIndex);
ICubeSDK int WINAPI ICubeSDK_Close(IN INT nCamIndex);
ICubeSDK int WINAPI ICubeSDK_IsOpen(IN INT nCamIndex);
ICubeSDK int WINAPI ICubeSDK_IsOpenEx(IN INT nCamIndex);
ICubeSDK int WINAPI ICubeSDK_SetCallback(IN INT nCamIndex,IN INT nMode,IN LONG (CALLBACK *pCallbackFunc)(BYTE *pBuf, LONG lBufferSize, PVOID pContext),
IN VOID *pCBContext);
ICubeSDK int WINAPI ICubeSDK_SetCallbackEx(IN INT nCamIndex,IN INT nMode,IN LONG (CALLBACK *pCallbackFunc)(int event_type,BYTE *pBuf, LONG lBufferSize, PVOID pContext),
IN VOID *pCBContext);
ICubeSDK int WINAPI ICubeSDK_Start(IN INT nCamIndex,HWND ImgHandle,IN BOOL Preview,IN BOOL Callback);
ICubeSDK int WINAPI ICubeSDK_IsStarted(IN INT nCamIndex);
ICubeSDK int WINAPI ICubeSDK_Stop(IN INT nCamIndex);
ICubeSDK int WINAPI ICubeSDK_GetSize(IN INT nCamIndex,OUT PINT pnXRes,OUT PINT pnYRes);
ICubeSDK int WINAPI ICubeSDK_GetName(IN INT nCamIndex,OUT PCHAR Name);
ICubeSDK int WINAPI ICubeSDK_GetBrokenFrames(IN INT nCamIndex,OUT PINT pnFrames);
ICubeSDK int WINAPI ICubeSDK_GetGoodFrames(IN INT nCamIndex,OUT PINT pnFrames);
ICubeSDK int WINAPI ICubeSDK_SetDisplayMode(IN INT nCamIndex,IN INT nMode,DISP_PROPERTY property);
ICubeSDK void WINAPI ICubeSDK_GetVersion(IN INT nType,OUT PCHAR pVersion);
ICubeSDK int WINAPI ICubeSDK_GetFWVersion(IN INT nCamIndex,OUT PCHAR pVersion);
ICubeSDK int WINAPI ICubeSDK_GetSerialNum(IN INT nCamIndex,OUT PCHAR pVersion);
ICubeSDK int WINAPI ICubeSDK_GetFGPAVersion(IN INT nCamIndex,OUT PCHAR pVersion);
ICubeSDK int WINAPI ICubeSDK_SetResolution(IN INT nCamIndex,ROI_PROPERTY *property);
ICubeSDK int WINAPI ICubeSDK_GetResolution(IN INT nCamIndex,ROI_PROPERTY *property);
ICubeSDK int WINAPI ICubeSDK_GetResolutionRange(IN INT nCamIndex,ROI_RANGE_PROPERTY *property);
ICubeSDK int WINAPI ICubeSDK_SetResolutionParam(IN INT nCamIndex,HWND ImgHandle,IN BOOL Preview,IN BOOL Callback);
ICubeSDK int WINAPI ICubeSDK_SetMode(IN INT nCamIndex,IN INT nMode);
ICubeSDK int WINAPI ICubeSDK_GetMode(IN INT nCamIndex,OUT PINT pMode);
ICubeSDK int WINAPI ICubeSDK_GetModeList(IN INT nCamIndex,OUT PINT pLength,OUT PINT pList);
ICubeSDK int WINAPI ICubeSDK_SetBinSkip(IN INT nCamIndex,IN INT nParameter,IN INT nMode);
ICubeSDK int WINAPI ICubeSDK_GetBinSkip(IN INT nCamIndex,OUT PINT nParameter,IN INT nMode);
ICubeSDK int WINAPI ICubeSDK_GetBinSkipList(IN INT nCamIndex,IN INT nMode,OUT PINT pLenght,OUT PINT pList);
ICubeSDK int WINAPI ICubeSDK_SaveToFile(IN INT nCamIndex,IN CHAR* Name);
ICubeSDK int WINAPI ICubeSDK_SaveAvi(IN INT nCamIndex,IN CHAR* Name,IN INT nMode,IN INT nTimeInSecs);
ICubeSDK int WINAPI ICubeSDK_SetTrigger(IN INT nCamIndex,IN INT nMode);
ICubeSDK int WINAPI ICubeSDK_GetTrigger(IN INT nCamIndex,OUT PINT nMode);
ICubeSDK int WINAPI ICubeSDK_SetCamParameter(IN INT nCamIndex,IN INT Type,IN ULONG Value);
ICubeSDK int WINAPI ICubeSDK_GetCamParameter(IN INT nCamIndex,IN INT Type,OUT PULONG Value);
ICubeSDK int WINAPI ICubeSDK_GetCamParameterRange(IN INT nCamIndex,IN INT Type,PARAM_PROPERTY *property);
ICubeSDK int WINAPI ICubeSDK_CamParameterSet(IN INT nCamIndex,IN INT nCmd,void* nParam);
ICubeSDK int WINAPI ICubeSDK_SetExposure(IN INT nCamIndex,IN FLOAT Value);
ICubeSDK int WINAPI ICubeSDK_GetExposure(IN INT nCamIndex,OUT PFLOAT Value);
ICubeSDK int WINAPI ICubeSDK_GetExposureRange(IN INT nCamIndex,PARAM_PROPERTY_f *property);
ICubeSDK int WINAPI ICubeSDK_GetParamAuto(IN INT nCamIndex,IN INT Type,OUT PINT bAuto);
ICubeSDK int WINAPI ICubeSDK_SetParamAuto(IN INT nCamIndex,IN INT Type,IN BOOL bAuto);
ICubeSDK int WINAPI ICubeSDK_SetParamAutoDef(IN INT nCamIndex,IN INT Type);
ICubeSDK int WINAPI ICubeSDK_SetParamOnePush(IN INT nCamIndex,IN INT Type);
#ifdef BORLAND_C
}
#endif
#else
typedef int (WINAPI *LPICubeSDK_Init)(void);
typedef LPICubeSDK_Init PICubeSDK_Init;
typedef int (WINAPI *LPICubeSDK_Open)(IN INT nCamIndex);
typedef LPICubeSDK_Open PICubeSDK_Open;
typedef int (WINAPI *LPICubeSDK_Close)(IN INT nCamIndex);
typedef LPICubeSDK_Close PICubeSDK_Close;
typedef int (WINAPI *LPICubeSDK_IsOpen)(IN INT nCamIndex);
typedef LPICubeSDK_IsOpen PICubeSDK_IsOpen;
typedef int (WINAPI *LPICubeSDK_IsOpenEx)(IN INT nCamIndex);
typedef LPICubeSDK_IsOpenEx PICubeSDK_IsOpenEx;
typedef void (WINAPI *LPICubeSDK_GetVersion)(IN INT nType,OUT PCHAR pVersion);
typedef LPICubeSDK_GetVersion PICubeSDK_GetVersion;
typedef int (WINAPI *LPICubeSDK_GetFWVersion)(IN INT nCamIndex,OUT PCHAR pVersion);
typedef LPICubeSDK_GetFWVersion PICubeSDK_GetFWVersion;
typedef int (WINAPI *LPICubeSDK_GetSerialNum)(IN INT nCamIndex,OUT PCHAR pVersion);
typedef LPICubeSDK_GetSerialNum PICubeSDK_GetSerialNum;
typedef int (WINAPI *LPICubeSDK_GetFPGAVersion)(IN INT nCamIndex,OUT PCHAR pVersion);
typedef LPICubeSDK_GetFPGAVersion PICubeSDK_GetFPGAVersion;
typedef int (WINAPI *LPICubeSDK_SetCallback)(IN INT nCamIndex,IN INT nMode,IN LONG (CALLBACK *pCallbackFunc)(BYTE *pBuf, LONG lBufferSize, PVOID pContext),
IN VOID *pCBContext);
typedef LPICubeSDK_SetCallback PICubeSDK_SetCallback;
typedef int (WINAPI *LPICubeSDK_SetCallbackEx)(IN INT nCamIndex,IN INT nMode,IN LONG (CALLBACK *pCallbackFunc)(int event_type,BYTE *pBuf, LONG lBufferSize, PVOID pContext),
IN VOID *pCBContext);
typedef LPICubeSDK_SetCallbackEx PICubeSDK_SetCallbackEx;
typedef int (WINAPI *LPICubeSDK_Start)(IN INT nCamIndex,HWND ImgHandle,IN BOOL Preview,IN BOOL Callback);
typedef LPICubeSDK_Start PICubeSDK_Start;
typedef int (WINAPI *LPICubeSDK_IsStarted)(IN INT nCamIndex);
typedef LPICubeSDK_IsStarted PICubeSDK_IsStarted;
typedef int (WINAPI *LPICubeSDK_Stop)(IN INT nCamIndex);
typedef LPICubeSDK_Stop PICubeSDK_Stop;
typedef int (WINAPI *LPICubeSDK_SetDisplayMode) (IN INT nCamIndex,IN INT nMode,DISP_PROPERTY property);
typedef LPICubeSDK_SetDisplayMode PICubeSDK_SetDisplayMode;
typedef int (WINAPI *LPICubeSDK_SetResolution) (IN INT nCamIndex,ROI_PROPERTY *property);
typedef LPICubeSDK_SetResolution PICubeSDK_SetResolution;
typedef int (WINAPI *LPICubeSDK_GetResolution) (IN INT nCamIndex,ROI_PROPERTY *property);
typedef LPICubeSDK_GetResolution PICubeSDK_GetResolution;
typedef int (WINAPI *LPICubeSDK_GetResolutionRange) (IN INT nCamIndex,ROI_RANGE_PROPERTY *property);
typedef LPICubeSDK_GetResolutionRange PICubeSDK_GetResolutionRange;
typedef int (WINAPI *LPICubeSDK_SetResolutionParam) (IN INT nCamIndex,HWND ImgHandle,IN BOOL Preview,IN BOOL Callback);
typedef LPICubeSDK_SetResolutionParam PICubeSDK_SetResolutionParam;
typedef int (WINAPI *LPICubeSDK_GetSize) (IN INT nCamIndex,OUT PINT pnXRes,OUT PINT pnYRes);
typedef LPICubeSDK_GetSize PICubeSDK_GetSize;
typedef int (WINAPI *LPICubeSDK_SetMode) (IN INT nCamIndex,IN INT nMode);
typedef LPICubeSDK_SetMode PICubeSDK_SetMode;
typedef int (WINAPI *LPICubeSDK_GetMode) (IN INT nCamIndex,OUT PINT pMode);
typedef LPICubeSDK_GetMode PICubeSDK_GetMode;
typedef int (WINAPI *LPICubeSDK_GetModeList) (IN INT nCamIndex,OUT PINT pLength,OUT PINT pList);
typedef LPICubeSDK_GetModeList PICubeSDK_GetModeList;
typedef int (WINAPI *LPICubeSDK_SetBinSkip) (IN INT nCamIndex,IN INT nParameter,IN INT nMode);
typedef LPICubeSDK_SetBinSkip PICubeSDK_SetBinSkip;
typedef int (WINAPI *LPICubeSDK_GetBinSkip) (IN INT nCamIndex,OUT PINT nParameter,IN INT nMode);
typedef LPICubeSDK_GetBinSkip PICubeSDK_GetBinSkip;
typedef int (WINAPI *LPICubeSDK_GetBinSkipList) (IN INT nCamIndex,IN INT nMode,OUT PINT pLenght,OUT PINT pList);
typedef LPICubeSDK_GetBinSkipList PICubeSDK_GetBinSkipList;
typedef int (WINAPI *LPICubeSDK_SaveToFile)(IN INT nCamIndex,IN CONST CHAR* Name);
typedef LPICubeSDK_SaveToFile PICubeSDK_SaveToFile;
typedef int (WINAPI *LPICubeSDK_SaveAvi)(IN INT nCamIndex,IN CONST CHAR* Name,IN INT nMode,IN INT nTimeInSecs);
typedef LPICubeSDK_SaveAvi PICubeSDK_SaveAvi;
typedef int (WINAPI *LPICubeSDK_SetTrigger)(IN INT nCamIndex,IN INT nMode);
typedef LPICubeSDK_SetTrigger PICubeSDK_SetTrigger;
typedef int (WINAPI *LPICubeSDK_GetTrigger)(IN INT nCamIndex,OUT PINT nMode);
typedef LPICubeSDK_GetTrigger PICubeSDK_GetTrigger;
typedef int (WINAPI *LPICubeSDK_SetCamParameter) (IN INT nCamIndex,IN INT Type,IN ULONG Value);
typedef LPICubeSDK_SetCamParameter PICubeSDK_SetCamParameter;
typedef int (WINAPI *LPICubeSDK_GetCamParameter) (IN INT nCamIndex,IN INT Type,OUT PULONG Value);
typedef LPICubeSDK_GetCamParameter PICubeSDK_GetCamParameter;
typedef int (WINAPI *LPICubeSDK_GetCamParameterRange) (IN INT nCamIndex,IN INT Type,PARAM_PROPERTY *property);
typedef LPICubeSDK_GetCamParameterRange PICubeSDK_GetCamParameterRange;
typedef int (WINAPI *LPICubeSDK_GetParamAuto) (IN INT nCamIndex,IN INT Type,OUT PINT bAuto);
typedef LPICubeSDK_GetParamAuto PICubeSDK_GetParamAuto;
typedef int (WINAPI *LPICubeSDK_SetParamAuto) (IN INT nCamIndex,IN INT Type,IN BOOL bAuto);
typedef LPICubeSDK_SetParamAuto PICubeSDK_SetParamAuto;
typedef int (WINAPI *LPICubeSDK_SetParamAutoDef) (IN INT nCamIndex,IN INT Type);
typedef LPICubeSDK_SetParamAutoDef PICubeSDK_SetParamAutoDef;
typedef int (WINAPI *LPICubeSDK_SetParamOnePush) (IN INT nCamIndex,IN INT Type);
typedef LPICubeSDK_SetParamOnePush PICubeSDK_SetParamOnePush;
typedef int (WINAPI *LPICubeSDK_CamParameterSet)(IN INT nCamIndex,IN INT nCmd,void* nParam);
typedef LPICubeSDK_CamParameterSet PICubeSDK_CamParameterSet;
typedef int (WINAPI *LPICubeSDK_GetName) (IN INT nCamIndex,OUT PCHAR Name);
typedef LPICubeSDK_GetName PICubeSDK_GetName;
typedef int (WINAPI *LPICubeSDK_GetBrokenFrames) (IN INT nCamIndex,OUT PINT pnFrames);
typedef LPICubeSDK_GetBrokenFrames PICubeSDK_GetBrokenFrames;
typedef int (WINAPI *LPICubeSDK_GetGoodFrames) (IN INT nCamIndex,OUT PINT pnFrames);
typedef LPICubeSDK_GetGoodFrames PICubeSDK_GetGoodFrames;
typedef int (WINAPI *LPICubeSDK_SetExposure) (IN INT nCamIndex,IN FLOAT Value);
typedef LPICubeSDK_SetExposure PICubeSDK_SetExposure;
typedef int (WINAPI *LPICubeSDK_GetExposure) (IN INT nCamIndex,OUT PFLOAT Value);
typedef LPICubeSDK_GetExposure PICubeSDK_GetExposure;
typedef int (WINAPI *LPICubeSDK_GetExposureRange) (IN INT nCamIndex,PARAM_PROPERTY_f *property);
typedef LPICubeSDK_GetExposureRange PICubeSDK_GetExposureRange;
#ifdef __cplusplus
extern "C" {
#endif
extern BOOL LoadICubeApi(const char* szDllPathname);
extern VOID UnloadICubeApi();
extern PICubeSDK_Init ICubeSDK_Init;
extern PICubeSDK_Open ICubeSDK_Open;
extern PICubeSDK_Close ICubeSDK_Close;
extern PICubeSDK_IsOpen ICubeSDK_IsOpen;
extern PICubeSDK_IsOpenEx ICubeSDK_IsOpenEx;
extern PICubeSDK_GetVersion ICubeSDK_GetVersion;
extern PICubeSDK_GetFWVersion ICubeSDK_GetFWVersion;
extern PICubeSDK_GetFPGAVersion ICubeSDK_GetFPGAVersion;
extern PICubeSDK_GetSerialNum ICubeSDK_GetSerialNum;
extern PICubeSDK_Stop ICubeSDK_Stop;
extern PICubeSDK_SetCallback ICubeSDK_SetCallback;
extern PICubeSDK_Start ICubeSDK_Start;
extern PICubeSDK_IsStarted ICubeSDK_IsStarted;
extern PICubeSDK_SetResolution ICubeSDK_SetResolution;
extern PICubeSDK_GetResolution ICubeSDK_GetResolution;
extern PICubeSDK_GetResolutionRange ICubeSDK_GetResolutionRange;
extern PICubeSDK_GetSize ICubeSDK_GetSize;
extern PICubeSDK_SetMode ICubeSDK_SetMode;
extern PICubeSDK_GetMode ICubeSDK_GetMode;
extern PICubeSDK_GetModeList ICubeSDK_GetModeList;
extern PICubeSDK_SetBinSkip ICubeSDK_SetBinSkip;
extern PICubeSDK_GetBinSkip ICubeSDK_GetBinSkip;
extern PICubeSDK_GetBinSkipList ICubeSDK_GetBinSkipList;
extern PICubeSDK_SaveToFile ICubeSDK_SaveToFile;
extern PICubeSDK_SaveAvi ICubeSDK_SaveAvi;
extern PICubeSDK_SetTrigger ICubeSDK_SetTrigger;
extern PICubeSDK_GetTrigger ICubeSDK_GetTrigger;
extern PICubeSDK_SetCamParameter ICubeSDK_SetCamParameter;
extern PICubeSDK_GetCamParameter ICubeSDK_GetCamParameter;
extern PICubeSDK_GetCamParameterRange ICubeSDK_GetCamParameterRange;
extern PICubeSDK_GetParamAuto ICubeSDK_GetParamAuto;
extern PICubeSDK_SetParamAuto ICubeSDK_SetParamAuto;
extern PICubeSDK_SetParamAutoDef ICubeSDK_SetParamAutoDef;
extern PICubeSDK_SetParamOnePush ICubeSDK_SetParamOnePush;
extern PICubeSDK_CamParameterSet ICubeSDK_CamParameterSet;
extern PICubeSDK_GetName ICubeSDK_GetName;
extern PICubeSDK_GetBrokenFrames ICubeSDK_GetBrokenFrames;
extern PICubeSDK_GetGoodFrames ICubeSDK_GetGoodFrames;
extern PICubeSDK_SetExposure ICubeSDK_SetExposure;
extern PICubeSDK_GetExposure ICubeSDK_GetExposure;
extern PICubeSDK_GetExposureRange ICubeSDK_GetExposureRange;
extern PICubeSDK_SetDisplayMode ICubeSDK_SetDisplayMode;
extern PICubeSDK_SetResolutionParam ICubeSDK_SetResolutionParam;
extern PICubeSDK_SetCallbackEx ICubeSDK_SetCallbackEx;
#ifdef __cplusplus
}
#endif
#endif
#endif