27 #endif // HAVE_CONFIG_H
34 iso14443a_crc (byte_t * pbtData,
size_t szLen, byte_t * pbtCrc)
37 uint32_t wCrc = 0x6363;
41 bt = (bt ^ (byte_t) (wCrc & 0x00FF));
42 bt = (bt ^ (bt << 4));
43 wCrc = (wCrc >> 8) ^ ((uint32_t) bt << 8) ^ ((uint32_t) bt << 3) ^ ((uint32_t) bt >> 4);
46 *pbtCrc++ = (byte_t) (wCrc & 0xFF);
47 *pbtCrc = (byte_t) ((wCrc >> 8) & 0xFF);
51 iso14443a_crc_append (byte_t * pbtData,
size_t szLen)
53 iso14443a_crc (pbtData, szLen, pbtData + szLen);
57 iso14443a_locate_historical_bytes(byte_t * pbtAts,
size_t szAts,
size_t * pszTk)
61 if (pbtAts[0] & 0x10) {
64 if (pbtAts[0] & 0x20) {
67 if (pbtAts[0] & 0x40) {
71 *pszTk = (szAts-offset);
72 return (pbtAts+offset);