72 PUCHAR pucAtr, DWORD dwLength)
80 LogXxd(PCSC_LOG_DEBUG,
"ATR: ", pucAtr, dwLength);
95 if ((pucAtr[0] != 0x3F) && (pucAtr[0] != 0x3B))
105 Y1i = pucAtr[1] >> 4;
114 short TAi, TBi, TCi, TDi;
116 TAi = (Y1i & 0x01) ? pucAtr[p++] : -1;
117 TBi = (Y1i & 0x02) ? pucAtr[p++] : -1;
118 TCi = (Y1i & 0x04) ? pucAtr[p++] : -1;
119 TDi = (Y1i & 0x08) ? pucAtr[p++] : -1;
128 "TA%d: %02X, TB%d: %02X, TC%d: %02X, TD%d: %02X",
129 i, TAi, i, TBi, i, TCi, i, TDi);
159 Log2(PCSC_LOG_DEBUG,
"T=%d Protocol Found", T);
187 if ((2 == i) && (TAi >= 0))
191 Log2(PCSC_LOG_DEBUG,
"Specific mode: T=%d", T);
226 Log3(PCSC_LOG_DEBUG,
"CurrentProtocol: %d, AvailableProtocols: %d",
227 *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.