5#define EKSAPI __declspec(dllexport) __stdcall
9constexpr BYTE
STX = 0x02;
10constexpr BYTE
ETX = 0x03;
11constexpr BYTE
DLE = 0x10;
12constexpr BYTE
NAK = 0x15;
20static BYTE accByte =
DLE;
21static BYTE startByte =
STX;
22static HANDLE hCom = INVALID_HANDLE_VALUE;
23static DWORD dwErr = 0;
24static COMSTAT comStat;
52 const char*
what() const noexcept {
return msg; };
56extern "C" HANDLE
EKSAPI OpenComm(
unsigned char port,
unsigned int baud_rate = 9600);
61extern "C" DWORD
EKSAPI ReadKeyData(HANDLE pCom,
const BYTE startByte,
const BYTE length, BYTE* buffer);
63extern "C" DWORD
EKSAPI WriteKeyData(HANDLE pCom,
const BYTE startByte,
const BYTE length,
const BYTE* buffer);
ResponseCode
Definition EKS.h:26
constexpr BYTE CMD_SEND
Definition EKS.h:14
constexpr BYTE CMD_READ
Definition EKS.h:17
VOID EKSAPI GetSysComm(BYTE *buffer)
Definition EKS.cpp:170
constexpr BYTE CMD_RES_STATUS
Definition EKS.h:18
DWORD EKSAPI WriteKeyData(HANDLE pCom, const BYTE startByte, const BYTE length, const BYTE *buffer)
constexpr BYTE CMD_WRITE
Definition EKS.h:16
#define EKSAPI
Definition EKS.h:5
DWORD EKSAPI GetKeyStatus(HANDLE pCom)
Definition EKS.cpp:244
constexpr BYTE DLE
Definition EKS.h:11
DWORD EKSAPI ReadKeyData(HANDLE pCom, const BYTE startByte, const BYTE length, BYTE *buffer)
Definition EKS.cpp:266
VOID EKSAPI CloseComm(HANDLE pCom)
Definition EKS.cpp:237
HANDLE EKSAPI OpenComm(unsigned char port, unsigned int baud_rate=9600)
Definition EKS.cpp:201
ResponseCode
Definition EKS.h:26
@ ERR_WRITE_PROTECTED
Definition EKS.h:34
@ ERR_NO_KEY_DETECTED
Definition EKS.h:28
@ ERR_CAN_ONLY_READ_R_KEYS
Definition EKS.h:31
@ ERR_CAN_ONLY_READ_RW_KEYS
Definition EKS.h:32
@ ERR_WRITE_BLOCKSIZE
Definition EKS.h:30
@ ERR_UNKNOWN
Definition EKS.h:33
@ ERR_IO
Definition EKS.h:35
@ ERR_COMMUNICATION
Definition EKS.h:36
@ ERR_CONNECTION
Definition EKS.h:37
@ SUCCESS
Definition EKS.h:27
@ ERR_PARITY_BIT
Definition EKS.h:29
constexpr BYTE NAK
Definition EKS.h:12
constexpr BYTE CMD_RESPONSE
Definition EKS.h:15
constexpr ULONGLONG timeout
Definition EKS.h:7
DWORD EKSAPI GetSerialNumber(HANDLE pCom, BYTE *buffer)
Definition EKS.cpp:263
#define STX
Definition RFID.cpp:13
#define ETX
Definition RFID.cpp:14
EKSError(const EKSError &other) noexcept
Definition EKS.h:50
EKSError(const ResponseCode &responseCode) noexcept
Definition EKS.h:48
const ResponseCode responseCode
Definition EKS.h:45
EKSError(const ResponseCode &responseCode, const char *msg) noexcept
Definition EKS.h:47
EKSError(EKSError &&other) noexcept
Definition EKS.h:51
const char * what() const noexcept
Definition EKS.h:52