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
13 //-----------------------------------------------------------------------------
14 // Routines to compute the CRCs (two different flavours, just for confusion)
15 // required for ISO 14443, swiped directly from the spec.
16 //-----------------------------------------------------------------------------
17 #define CRC_14443_A 0x6363 /* ITU-V.41 */
18 #define CRC_14443_B 0xFFFF /* ISO/IEC 13239 (formerly ISO/IEC 3309) */
19 #define CRC_ICLASS 0xE012 /* ICLASS PRERFIX */
21 void ComputeCrc14443(int CrcType
,
22 const unsigned char *Data
, int Length
,
23 unsigned char *TransmitFirst
,
24 unsigned char *TransmitSecond
);
25 int CheckCrc14443(int CrcType
, const unsigned char *Data
, int Length
);