bd20f8f4 |
1 | //----------------------------------------------------------------------------- |
d19929cb |
2 | // (c) 2012 Roel Verdult |
bd20f8f4 |
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 | //----------------------------------------------------------------------------- |
d19929cb |
8 | // Hitag2 type prototyping |
bd20f8f4 |
9 | //----------------------------------------------------------------------------- |
0db11b71 |
10 | // HitagS added |
11 | //----------------------------------------------------------------------------- |
2e68bd40 |
12 | |
d19929cb |
13 | #ifndef _HITAG2_H_ |
14 | #define _HITAG2_H_ |
e30c654b |
15 | |
d19929cb |
16 | typedef enum { |
0db11b71 |
17 | RHTSF_CHALLENGE = 01, |
18 | RHTSF_KEY = 02, |
19 | WHTSF_CHALLENGE = 03, |
20 | WHTSF_KEY = 04, |
bde10a50 |
21 | RHT2F_PASSWORD = 21, |
22 | RHT2F_AUTHENTICATE = 22, |
f71f4deb |
23 | RHT2F_CRYPTO = 23, |
24 | RHT2F_TEST_AUTH_ATTEMPTS = 25, |
d19929cb |
25 | } hitag_function; |
2e68bd40 |
26 | |
d19929cb |
27 | typedef struct { |
28 | byte_t password[4]; |
29 | } PACKED rht2d_password; |
30 | |
31 | typedef struct { |
32 | byte_t NrAr[8]; |
0db11b71 |
33 | byte_t data[4]; |
d19929cb |
34 | } PACKED rht2d_authenticate; |
35 | |
bde10a50 |
36 | typedef struct { |
0db11b71 |
37 | byte_t key[6]; |
38 | byte_t data[4]; |
bde10a50 |
39 | } PACKED rht2d_crypto; |
40 | |
d19929cb |
41 | typedef union { |
42 | rht2d_password pwd; |
43 | rht2d_authenticate auth; |
f71f4deb |
44 | rht2d_crypto crypto; |
d19929cb |
45 | } hitag_data; |
e30c654b |
46 | |
47 | #endif |