43591e64 |
1 | //----------------------------------------------------------------------------- |
2 | // (c) 2018 Iceman, adapted by Marshmellow |
3 | // |
4 | // This code is licensed to you under the terms of the GNU GPL, version 2 or, |
5 | // at your option, any later version. See the LICENSE.txt file for the text of |
6 | // the license. |
7 | //----------------------------------------------------------------------------- |
8 | // smart card type prototyping |
9 | //----------------------------------------------------------------------------- |
10 | #ifndef __SMARTCARD_H |
11 | #define __SMARTCARD_H |
12 | |
a9104f7e |
13 | #include <stdint.h> |
14 | |
43591e64 |
15 | //----------------------------------------------------------------------------- |
16 | // ISO 7618 Smart Card |
17 | //----------------------------------------------------------------------------- |
18 | typedef struct { |
19 | uint8_t atr_len; |
b6851c19 |
20 | uint8_t atr[34]; |
43591e64 |
21 | } __attribute__((__packed__)) smart_card_atr_t; |
22 | |
23 | typedef enum SMARTCARD_COMMAND { |
24 | SC_CONNECT = (1 << 0), |
25 | SC_NO_DISCONNECT = (1 << 1), |
26 | SC_RAW = (1 << 2), |
151a33c0 |
27 | SC_SELECT = (1 << 3), |
28 | SC_RAW_T0 = (1 << 4) |
43591e64 |
29 | } smartcard_command_t; |
30 | |
31 | |
32 | #endif |