ZT598MGFD_DevImpl.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "stdafx.h"
  3. #include "ZT598MGFDDef.h"
  4. #include <unistd.h>
  5. #pragma pack(push,1)
  6. class CZT598M1FD_DevImpl
  7. {
  8. public:
  9. CZT598M1FD_DevImpl(BOOL bIsFather);
  10. virtual ~CZT598M1FD_DevImpl();
  11. public:
  12. virtual BOOL OpenDevice(LPCommParam lpParam);
  13. virtual BOOL CloseDevice();
  14. virtual BOOL ExchangeData(const LPEPPExchangeDataField lpstSendInfo, LPEPPExchangeDataField lpstReceiveInfo);
  15. virtual VOID SetKeyInfo(const LPBYTE lpbyUAK, WORD wUAKSize, const LPBYTE lpbyKBPK, WORD wKBPKSize);
  16. virtual BOOL EditDerTag(LPBYTE lpbyBuffer, LPBYTE lpbyDerTag, DerTagType enDerTagType, USHORT &usOffset);
  17. virtual USHORT GetDerTagLength(LPBYTE lpbySource);
  18. BOOL SecureComm(BYTE byCommand, LPBYTE lpbyData, WORD &wStatusCode);
  19. protected:
  20. //--------------------------------- DevImpl ---------------------------------
  21. // (Edit command data & Execute command)
  22. virtual BOOL EditCmd(const LPEPPExchangeDataField lpstSendInfo, LPUINT lpuTraceMaskCount = NULL, LPUINT lpuMaskOffsetArray = NULL, LPUINT lpuMaskLenArray = NULL);
  23. BOOL ParseResponse(LPEPPExchangeDataField lpstReceiveInfo, LPUINT lpuTraceMaskCount = NULL, LPUINT lpuMaskOffsetArray = NULL, LPUINT lpuMaskLenArray = NULL);
  24. BOOL ParseDerTag(LPBYTE lpbyBuffer, LPBYTE lpbyDerTag, DerTagType enDerTagType, USHORT &usOffset);
  25. protected:
  26. CDevComm* m_lpIDevComm;
  27. CommInfo m_stCommInfo;
  28. BYTE m_bySndBuff[MAX_BUFF_SIZE];
  29. BYTE m_byRcvBuff[MAX_BUFF_SIZE];
  30. LPBYTE m_lpbyUAK;
  31. LPBYTE m_lpbyKBPK;
  32. WORD m_wUAKSize;
  33. WORD m_wKBPKSize;
  34. BYTE m_byLastCmd;
  35. };
  36. #pragma pack(pop)