pinpad.nantian.1.1.h 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include "../include/PinPadClass.h"
  2. #include "../include/log4vendor.h"
  3. #include "CILIX_AUX_UTILS.h"
  4. class PinPadNantian : public PinPadClass
  5. {
  6. public:
  7. PinPadNantian();
  8. ~PinPadNantian();
  9. //DeviceBaseClass
  10. ErrorCodeEnum GetDevCategory(DevCategoryInfo &devCategory);
  11. ErrorCodeEnum Reset();
  12. ErrorCodeEnum DevClose();
  13. ErrorCodeEnum GetLastErr(DevErrorInfo &devErrInfo);
  14. //PinPadClass
  15. ErrorCodeEnum DevOpen(DWORD dwPort, DWORD dwBaudRate);
  16. ErrorCodeEnum KeyRead(BYTE &ch);
  17. ErrorCodeEnum SetParam(SetParamTypeEnum eType, SetParamValueEnum eValue);
  18. ErrorCodeEnum SetAccNo(AccountInfo accInfo);
  19. ErrorCodeEnum LoadMasterKey(MasterKeyParam masterKey);
  20. ErrorCodeEnum LoadWorkingKey(WorkKeyParam wkKey);
  21. ErrorCodeEnum ActiveWorkingKey(DWORD dwMkSN, DWORD dwWkSN);
  22. ErrorCodeEnum StartPinInput(BYTE byLen);
  23. ErrorCodeEnum StartPinInputConfirm(BYTE byLen);
  24. ErrorCodeEnum StartPlainInput();
  25. ErrorCodeEnum StopInput();
  26. ErrorCodeEnum GetPinBlock(PinBlock &block);
  27. ErrorCodeEnum EncryptData(EnDecryptInfo srcInfo, EnDecryptInfo &destInfo);
  28. ErrorCodeEnum MacEncrypt(EnDecryptInfo srcInfo, EnDecryptInfo &destInfo);
  29. int GetEncryptFunc();
  30. BOOL m_Open; //标志设备是否打开
  31. DevErrorInfo m_Error; //标记错误码
  32. int g_flag; //标记按键输入模式
  33. int m_PinNum; //记录密码输入个数
  34. int g_Auto; //标记是否自动结束
  35. AccountInfo g_CardNo; //存储CustomData的数据
  36. DWORD g_dwMkSN; //标记主密钥号
  37. DWORD g_dwWkSN; //标记工作秘钥号
  38. int (*SUNSON_OpenCom)(const char *sztty, long nBaudrate);
  39. int (*SUNSON_GetVersionNo)(unsigned char *VersionNo);
  40. int (*SUNSON_CloseCom)(void);
  41. int (*SUNSON_ScanGetKey)(unsigned char *ucKeyValue);
  42. int (*SUNSON_CloseEppPlainTextMode)(unsigned char *ReturnInfo);
  43. int (*SUNSON_LoadSM4Key)(int ucKeyId,int ucDecryptKeyId,int KeyAttribute,unsigned char ucKeyLen,unsigned char *KeyValue,
  44. unsigned char *ReturnInfo);
  45. int (*SUNSON_LoadUserKey)(int ucKeyId, int ucDecryptKeyId, long KeyAttribute,unsigned char ucKeyLen, unsigned char *KeyValue,
  46. unsigned char *ReturnInfo);
  47. int (*SUNSON_SetKeyMark)(long ActiveFunc, long ActiveFDK, long EndFunc, long EndFDK, unsigned char*ReturnInfo);
  48. int (*SUNSON_GetPin)(unsigned char ucPinMinLen, unsigned char ucPinMaxLen, unsigned char AutoReturnFlag, unsigned char *ReturnInfo);
  49. int (*SUNSON_UseEppPlainTextMode)(unsigned char PlaintextLength, unsigned char AutoEnd, unsigned char *ReturnInfo);
  50. int (*SUNSON_SwitchArithmetic)(unsigned char ArithmeticType,unsigned char *DataResult);
  51. int (*SUNSON_GetPinBlock)(int UserKeyId, int JM_mode, unsigned char padchar, unsigned char ucCardLen, unsigned char*ucCardNumber,
  52. unsigned char*PinBlockResult);
  53. int (*SUNSON_DataCompute)(int KeyId, unsigned char JM_mode, int SF_mode, unsigned char padchar, int datalen, unsigned char *data,
  54. unsigned char *DataResult);
  55. int (*SUNSON_MakeMac)(int UserKeyId, int Mac_mode, int nMacDataLen, unsigned char *ucMacData, unsigned char *MacResult);
  56. int (*SUNSON_ScanKeyPress)(unsigned char *ucKeyValue);
  57. void (*SUNSON_OpenLogEx)(unsigned char bFlag, int nLogLevel);
  58. int (*SUNSON_GetSerialNo)(unsigned char *SerialNumber);
  59. };