d8af608f |
1 | //----------------------------------------------------------------------------- |
2 | // Merlok - June 2011 |
3 | // Gerhard de Koning Gans - May 2008 |
4 | // Hagen Fritsch - June 2010 |
5 | // |
6 | // This code is licensed to you under the terms of the GNU GPL, version 2 or, |
7 | // at your option, any later version. See the LICENSE.txt file for the text of |
8 | // the license. |
9 | //----------------------------------------------------------------------------- |
6fc68747 |
10 | // Routines to support ISO 14443 type B. |
d8af608f |
11 | //----------------------------------------------------------------------------- |
12 | |
13 | #ifndef __ISO14443B_H |
14 | #define __ISO14443B_H |
6fc68747 |
15 | |
16 | #include "proxmark3.h" |
17 | #include "apps.h" |
18 | #include "util.h" |
19 | #include "string.h" |
20 | #include "iso14443crc.h" |
d8af608f |
21 | #include "common.h" |
6fc68747 |
22 | #include "mifare.h" |
23 | #include "protocols.h" |
24 | #include "mifareutil.h" // access to global variable: MF_DBGLEVEL |
25 | |
26 | extern void AppendCrc14443b(uint8_t *data, int len); |
d8af608f |
27 | |
0923c43c |
28 | void SendRawCommand14443B_Ex(UsbCommand *c); |
29 | |
d8af608f |
30 | void iso14443b_setup(); |
0923c43c |
31 | uint8_t iso14443b_apdu(uint8_t const *message, size_t message_length, uint8_t *response); |
6fc68747 |
32 | uint8_t iso14443b_select_card(iso14b_card_select_t* card); |
33 | uint8_t iso14443b_select_card_srx(iso14b_card_select_t* card); |
34 | |
ffeb77fd |
35 | // testfunctions |
36 | void WaitForFpgaDelayQueueIsEmpty( uint16_t delay ); |
37 | void ClearFpgaShiftingRegisters(void); |
0923c43c |
38 | |
d51717ff |
39 | // States for 14B SIM command |
40 | #define SIM_NOFIELD 0 |
41 | #define SIM_IDLE 1 |
42 | #define SIM_HALTED 2 |
43 | #define SIM_SELECTING 3 |
44 | #define SIM_HALTING 4 |
0923c43c |
45 | #define SIM_ACKNOWLEDGE 5 |
d51717ff |
46 | #define SIM_WORK 6 |
d8af608f |
47 | |
48 | #endif /* __ISO14443B_H */ |