123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328 |
- //**********************************************************************************************************************
- // 文件名: libID81_SO.h
- // 版本 : V1.0
- // 描述: 加载动态库头文件
- // 函数列表:
- //**********************************************************************************************************************
- #ifndef _LIBID81_SO_H_
- #define _LIBID81_SO_H_
- bool load_so(char *cErrorInfo);
- /**********************************************************************************************************************
- * 证件类型宏定义
- **********************************************************************************************************************/
- #define IDDIGITALCOPIER_TW 0x4 //台湾通行证
- #define IDDIGITALCOPIER_HK_MACAO 0x5 //港澳通行证
- /**********************************************************************************************************************
- GBK
- * 二代证电子信息结构体宏定义
- **********************************************************************************************************************/
- typedef struct IDInfo
- {
- char name[72];
- char sex[4];
- char nation[20];
- char birthday[20];
- char address[200];
- char number[40];
- char department[120];
- char timeLimit[36];
- char Image[256];
- }IDInfo ,*LPIDInfo;
- #define Null_IDinfo {{0},{0},{0},{0},{0},{0},{0},{0},{0}}
- /**********************************************************************************************************************
- * 二代证电子信息结构体宏定义
- **********************************************************************************************************************/
- typedef struct IDInfoEx
- {
- char name[72];
- char sex[4];
- char nation[20];
- char birthday[20];
- char address[200];
- char number[40];
- char department[120];
- char timeLimit[36];
- char Image[256];
- char FingerData[1024]; //指纹信息数据
- int iFingerDataLen;
- }IDInfoEx ,*LPIDInfoEx;
- #define Null_IDinfoEx {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}}
- /**********************************************************************************************************************
- * 外国人居住证电子信息结构体宏定义
- **********************************************************************************************************************/
- typedef struct IDInfoForeign
- {
- char NameENG[120];
- char Sex[4];
- char IDCardNO[30];
- char Nation[40];
- char NameCHN[120];
- char TimeLimitBegin[16];
- char TimeLimitEnd[16];
- char Born[36];
- char IDVersion[8];
- char Department[40];
- char IDType[4];
- char Reserve[12];
- char Image[1024];
- }IDInfoForeign, *LPIDInfoForeign;
- #define Null_IDinfoForeign {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}}
- /**********************************************************************************************************************
- * 港澳台通行证电子信息结构体宏定义
- **********************************************************************************************************************/
- typedef struct IDInfoGAT
- {
- char name[72];
- char sex[4];
- char nation[20];
- char birthday[20];
- char address[200];
- char number[40];
- char department[120];
- char timeLimit[36];
- char passport[20];
- char issue[6];
- char Image[256];
- char FingerData[1024];
- int iFingerDataLen;
- }IDInfoGAT, *LPIDInfoGAT;
- #define Null_IDinfoGAT {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}}
- /**********************************************************************************************************************
- * 台湾通行证信息结构体宏定义
- **********************************************************************************************************************/
- typedef struct
- {
- unsigned posFront[2];
- unsigned posRear[2];
- char name[32]; //姓名
- char sex[4]; //性别
- char birthday[20]; //出生日期
- char timeLimit[36]; //有效日期
- char department[32]; //签发机关
- char addr[32]; //签发地点
- char number[64]; //证件号码
- char changeTime[32]; //换证次数
- char idNum[64]; //身份证号码
- char no[260]; //序列号
- char rev0[32];
- char rev1[32];
- }TWCardInfo;
- #define Null_TWCardInfo {{0}, {0}, {0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}}
- /**********************************************************************************************************************
- * 港澳通行证信息结构体宏定义
- **********************************************************************************************************************/
- typedef struct
- {
- unsigned posFront[2];
- unsigned posRear[2];
- char no[64]; //序号
- char name[32]; //姓名
- char sex[4]; //性别
- char birthday[20]; //出生日期
- char timeLimit[36]; //有效日期
- char department[32]; //签发机关
- char addr[32]; //签发地点
- char number[64]; //证件号码
- char bar0[128]; //条码0
- char bar1[128]; //条码1
- char rev0[32];
- char rev1[32];
- }HKMacaoCardInfo;
- #define Null_HKMacaoCardInfo {{0}, {0}, {0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}}
- /**********************************************************************************************************************
- * 设备状态结构体宏定义
- **********************************************************************************************************************/
- typedef struct
- {
- int iStatusProcess;
- int iStatusCoverOpen;
- int iStatusPowerOff;
- int iStatusLowVoltage;
- int iStatusInputSensorHaveCard;
- int iStatusCardJam;
- int iStatusBoot;
- int iStatusMiddleSensorHaveCard;
- int iStatusScanSensorHaveCard;
- }DEVSTATUS;
- typedef struct CardInfo
- {
- int StructSize; //结构体长度,匹配版本
- unsigned int CardType; //证卡的类型 0:身份证 1:外国人居住证 2:港澳台居住证
- unsigned char* CardData; //证卡信息
- unsigned int CardDataLen; //证卡信息长度
- CardInfo()
- {
- StructSize = 0;
- CardType = 0;
- CardData = nullptr;
- CardDataLen = 0;
- }
- } *PCardInfo;
- /**********************************************************************************************************************
- * 返回值宏定义
- **********************************************************************************************************************/
- #define IDDIGITALCOPIER_NO_ERROR 0x00 //正常
- #define IDDIGITALCOPIER_NO_DEVICE (IDDIGITALCOPIER_NO_ERROR + 0x01) //无设备
- #define IDDIGITALCOPIER_PORT_ERROR (IDDIGITALCOPIER_NO_ERROR + 0x02) //端口错误
- #define IDDIGITALCOPIER_TABPAR_NONE (IDDIGITALCOPIER_NO_ERROR + 0x03) //参数文件错误
- #define IDDIGITALCOPIER_HAVE_NOT_INIT (IDDIGITALCOPIER_NO_ERROR + 0x04) //未初始化
- #define IDDIGITALCOPIER_INVALID_ARGUMENT (IDDIGITALCOPIER_NO_ERROR + 0x05) //无效参数
- #define IDDIGITALCOPIER_TIMEOUT_ERROR (IDDIGITALCOPIER_NO_ERROR + 0x06) //超时错误
- #define IDDIGITALCOPIER_STATUS_COVER_OPENED (IDDIGITALCOPIER_NO_ERROR + 0x07) //上盖打开
- #define IDDIGITALCOPIER_STATUS_PASSAGE_JAM (IDDIGITALCOPIER_NO_ERROR + 0x08) //塞卡
- #define IDDIGITALCOPIER_OUT_OF_MEMORY (IDDIGITALCOPIER_NO_ERROR + 0x09) //内存溢出
- #define IDDIGITALCOPIER_NO_ID_DATA (IDDIGITALCOPIER_NO_ERROR + 0x0A) //没有二代证数据
- #define IDDIGITALCOPIER_NO_IMAGE_DATA (IDDIGITALCOPIER_NO_ERROR + 0x0B) //没有图像数据
- #define IDDIGITALCOPIER_IMAGE_PROCESS_ERROR (IDDIGITALCOPIER_NO_ERROR + 0x0C) //图像处理错误
- #define IDDIGITALCOPIER_IMAGE_JUDGE_DIRECTION_ERROR (IDDIGITALCOPIER_NO_ERROR + 0x0D) //判断图像方向错误
- #define IDDIGITALCOPIER_CLOSE_FAILED (IDDIGITALCOPIER_NO_ERROR + 0x0E) //关闭端口失败
- #define IDDIGITALCOPIER_IDDATA_PROCESS_ERROR (IDDIGITALCOPIER_NO_ERROR + 0x0F) //身份证电子信息处理错误
- #define IDDIGITALCOPIER_SENSORVALIDATE (IDDIGITALCOPIER_NO_ERROR + 0x10) //传感器校验错误
- #define IDDIGITALCOPIER_VOLTAGE_LOW (IDDIGITALCOPIER_NO_ERROR + 0x11) //电压低
- #define IDDIGITALCOPIER_CIS_CORRECTION_ERROR (IDDIGITALCOPIER_NO_ERROR + 0x12) //校正错误
- #define IDDIGITALCOPIER_NO_CARD (IDDIGITALCOPIER_NO_ERROR + 0x13) //无卡
- #define IDDIGITALCOPIER_FIRMWARE_ERROR (IDDIGITALCOPIER_NO_ERROR + 0x14) //未知错误
- #define IDDIGITALCOPIER_SAVE_IMAGE_ERROR (IDDIGITALCOPIER_NO_ERROR + 0x15) //保存位图错误
- #define IDDIGITALCOPIER_POWER_OFF (IDDIGITALCOPIER_NO_ERROR + 0x16) //掉电错误
- #define IDDIGITALCOPIER_INPUT_BOOT (IDDIGITALCOPIER_NO_ERROR + 0x17) //BOOT错误
- #define IDDIGITALCOPIER_BUTTON_UP (IDDIGITALCOPIER_NO_ERROR + 0x18) //按键抬起
- #define IDDIGITALCOPIER_RECOGNISE_FAILED (IDDIGITALCOPIER_NO_ERROR + 0x19) //识别错误
- #define IDDIGITALCOPIER_SCAN_ERROR (IDDIGITALCOPIER_NO_ERROR + 0x1A) //扫描错误
- #define IDDIGITALCOPIER_FEED_ERROR (IDDIGITALCOPIER_NO_ERROR + 0x1B) //走卡错误
- #define IDDIGITALCOPIER_MAX_CODE (IDDIGITALCOPIER_NO_ERROR + 0x1C) //最大错误码
- /**********************************************************************************************************************
- * 设备名称、ID结构体
- **********************************************************************************************************************/
- typedef struct ScannerInfoRec
- {
- unsigned DeviceID;
- }ScannerInfoRec;
- #define Null_ScannerInfoRec {0}//{0x00},
- /**********************************************************************************************************************
- * 动态库输出函数
- **********************************************************************************************************************/
- #ifdef __cplusplus
- extern "C" {
- #endif
- //枚举扫描设备
- typedef int (*mEnumScannerDevice)(ScannerInfoRec *ScannerInfo, unsigned *DeviceNumber);
- //打开设备
- typedef int (*mOpenConnection)(unsigned DeviceID);
- //关闭设备
- typedef int (*mCloseConnection)(unsigned DeviceID);
- //检测是否放入卡
- typedef int (*mCheckHaveIdCard)(unsigned DeviceID, int CheckTime);
- //检测是否被取走
- typedef int (*mTakeOutIdCard)(unsigned DeviceID, int CheckTime);
- //启动扫描
- typedef int (*mStartScanIdCard)(unsigned DeviceID);
- //读取当前图像数据块
- typedef int (*mSavePicToMemory)(unsigned DeviceID, char* cFrontImgBuf,char* cRearImgBuf, int* iFrontLen, int* iRearLen);
- //保存图像数据块到文件
- typedef int (*mSavePicToFile)(unsigned DeviceID, char *cBmpBuf, int iBufLen,char *FileName, int Format);
- typedef int (*mSavePicToFileII)(unsigned DeviceID, char *cBmpBuf, int iBufLen, char *FileName, int Format, float zoomScale);
- //吞卡
- typedef int (*mRetainIdCard)(unsigned DeviceID);
- //退卡
- typedef int (*mBackIdCard)(unsigned DeviceID);
- //出卡并持卡
- typedef int (*mBackAndHoldIdCard)(unsigned DeviceID);
- //获取二代证信息
- typedef int (*mGetID2Info)(unsigned DeviceID, IDInfo *IDCard, char *HeadImageName);
- //获取二代证信息
- typedef int (*mGetID2InfoEx)(unsigned DeviceID, IDInfoEx *IDCard, char *HeadImageName);
- typedef int (*mGetIDInfoForeign)(unsigned DeviceID, IDInfoForeign *IDCard, char *HeadImageName);
- typedef int (*mGetIDInfoGAT)(unsigned DeviceID, IDInfoGAT *IDCard, char *HeadImageName);
- typedef int (*mGetIDCardType)(unsigned DeviceID,int* iCardType);
- typedef int (*mGetAllTypeIdInfo)(unsigned DeviceID,int iCardType,void* idinfo,char* ImageName);
- typedef int (*mGetIDInfoRawData)(unsigned DeviceID, char* DataBuffer, int* iCardType);
- ////以下这两个接口替代了第3条所有接口
- //typedef int (*mGetCardInfo)(unsigned DeviceID, CardInfo* Info);
- //typedef int (*mParseCardInfo)(unsigned DeviceID, void *Card);
- //获取最近一次的错误码
- typedef int (*mGetLastErrorCode)();
- //获取最近一次的错误描述
- typedef int (*mGetLastErrorStr)(char* errStr);
- //获取固件版本信息
- typedef int (*mGetFWVersion)(unsigned DeviceID,char *cVersionInfo);
- //获取软件版本信息
- typedef int (*mGetSWVersion)(char *cVersionInfo);
- //获取设备状态
- typedef int (*mGetDevStatus)(unsigned DeviceID,DEVSTATUS *DevStatus);
- //复位设备
- typedef int (*mResetDevice)(unsigned DeviceID);
- //软复位
- typedef int (*mSoftResetDevice)(unsigned DeviceID,int iMode);
- //固件升级
- typedef int (*mUpdateOnLine)(unsigned DeviceID, char *FileName);
- //CIS校验
- typedef int (*mCISCalibrate)(unsigned DeviceID);
- //传感器校验
- typedef int (*mSensorCalibrate)(unsigned DeviceID);
- //设置按键强制退卡使能
- typedef int (*mSetButtonEnable)(unsigned DeviceID,int iMode);
- //设置自动进卡使能
- typedef int (*mSetAutoFeedEnable)(unsigned DeviceID, int iMode);
- //设置上电、复位初始化吸卡模式
- typedef int (*mSetInitFeedMode)(unsigned DeviceID,int iMode);
- //设置二代证芯片图像存储格式
- typedef int (*mSetHeadFileFormat)(unsigned DeviceID, int Format);
- //通过图像获取通行证信息
- typedef int (*mGetID2InfoFromImage)(unsigned DeviceID, char* cFrontImgBuf, int iFrontLen, char* cRearImgBuf, int iRearLen, IDInfo *mIDInfo);
- //从图像获取二代证信息
- typedef int (*mGetPassportInfoFromImage)(unsigned DeviceID, char* cFrontImgBuf, int iFrontLen, char* cRearImgBuf, int iRearLen,
- unsigned* cardStyle, TWCardInfo* TWCard, HKMacaoCardInfo *HKMacaoCard);
- //退卡到识别位置
- typedef int (*mBackIdCardToRerec)(unsigned DeviceID);
- #ifdef __cplusplus
- }
- #endif
- #endif
|