46 PUCHAR pucAtr, DWORD dwLength)
54 LogXxd(PCSC_LOG_DEBUG,
"ATR: ", pucAtr, dwLength);
69 if ((pucAtr[0] != 0x3F) && (pucAtr[0] != 0x3B))
88 short TAi, TBi, TCi, TDi;
90 TAi = (Y1i & 0x01) ? pucAtr[p++] : -1;
91 TBi = (Y1i & 0x02) ? pucAtr[p++] : -1;
92 TCi = (Y1i & 0x04) ? pucAtr[p++] : -1;
93 TDi = (Y1i & 0x08) ? pucAtr[p++] : -1;
97 "TA%d: %02X, TB%d: %02X, TC%d: %02X, TD%d: %02X",
98 i, TAi, i, TBi, i, TCi, i, TDi);
128 Log2(PCSC_LOG_DEBUG,
"T=%d Protocol Found", T);
156 if ((2 == i) && (TAi >= 0))
160 Log2(PCSC_LOG_DEBUG,
"Specific mode: T=%d", T);
195 Log3(PCSC_LOG_DEBUG,
"CurrentProtocol: %d, AvailableProtocols: %d",
196 *currentProtocol, *availableProtocols);
#define SCARD_PROTOCOL_T1
T=1 active protocol.
#define SCARD_PROTOCOL_T15
T=15 protocol.
This keeps track of smart card protocols, timing issues and Answer to Reset ATR handling.
#define SCARD_PROTOCOL_T0
T=0 active protocol.
short ATRDecodeAtr(int *availableProtocols, int *currentProtocol, PUCHAR pucAtr, DWORD dwLength)
parse an ATR
This keeps a list of defines for pcsc-lite.
#define SCARD_PROTOCOL_UNDEFINED
protocol not set
#define MAX_ATR_SIZE
Maximum ATR size.