1 //-----------------------------------------------------------------------------
2 // This code is licensed to you under the terms of the GNU GPL, version 2 or,
3 // at your option, any later version. See the LICENSE.txt file for the text of
5 //-----------------------------------------------------------------------------
6 // ISO14443 CRC calculation code.
7 //-----------------------------------------------------------------------------
9 #ifndef __ISO14443CRC_H
10 #define __ISO14443CRC_H
12 //-----------------------------------------------------------------------------
13 // Routines to compute the CRCs (two different flavours, just for confusion)
14 // required for ISO 14443, swiped directly from the spec.
15 //-----------------------------------------------------------------------------
16 #define CRC_14443_A 0x6363 /* ITU-V.41 */
17 #define CRC_14443_B 0xFFFF /* ISO/IEC 13239 (formerly ISO/IEC 3309) */
18 #define CRC_ICLASS 0xE012 /* ICLASS PREFIX */
20 void ComputeCrc14443(int CrcType
,
21 const unsigned char *Data
, int Length
,
22 unsigned char *TransmitFirst
,
23 unsigned char *TransmitSecond
);
24 int CheckCrc14443(int CrcType
, const unsigned char *Data
, int Length
);