1 //-----------------------------------------------------------------------------
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
7 //-----------------------------------------------------------------------------
8 // ISO 18002 / FeliCa type prototyping
9 //-----------------------------------------------------------------------------
15 typedef enum FELICA_COMMAND
{
16 FELICA_CONNECT
= (1 << 0),
17 FELICA_NO_DISCONNECT
= (1 << 1),
18 FELICA_RAW
= (1 << 3),
19 FELICA_APPEND_CRC
= (1 << 5),
20 FELICA_NO_SELECT
= (1 << 6),
23 //-----------------------------------------------------------------------------
25 //-----------------------------------------------------------------------------
26 // IDm = ID manufacturer
27 // mc = manufactureCode
28 // mc1 mc2 u1 u2 u3 u4 u5 u6
29 // PMm = Product manufacturer
33 // maximum response time =
34 // B3(request service)
35 // B4(request response)
41 // ServiceCode 2bytes (access-rights)
42 // FileSystem = 1 Block = 16 bytes
52 uint8_t servicecode
[2];
53 } PACKED felica_card_select_t
;
60 } PACKED felica_frame_response_t
;
63 uint8_t status_flag1
[1];
64 uint8_t status_flag2
[1];
65 } PACKED felica_status_flags_t
;
68 felica_frame_response_t frame_response
;
69 uint8_t node_number
[1];
70 uint8_t node_key_versions
[2];
71 } PACKED felica_request_service_response_t
;
74 felica_frame_response_t frame_response
;
76 } PACKED felica_request_request_response_t
;
79 felica_frame_response_t frame_response
;
80 felica_status_flags_t status_flags
;
81 uint8_t number_of_block
[1];
82 uint8_t block_data
[16];
83 uint8_t block_element_number
[1];
84 } PACKED felica_read_without_encryption_response_t
;
87 felica_frame_response_t frame_response
;
88 felica_status_flags_t status_flags
;
89 } PACKED felica_status_response_t
;
92 felica_frame_response_t frame_response
;
93 uint8_t number_of_systems
[1];
94 uint8_t system_code_list
[32];
95 } PACKED felica_syscode_response_t
;
98 felica_frame_response_t frame_response
;
99 felica_status_flags_t status_flags
;
100 uint8_t format_version
[1];
101 uint8_t basic_version
[2];
102 uint8_t number_of_option
[1];
103 uint8_t option_version_list
[4];
104 } PACKED felica_request_spec_response_t
;
107 felica_frame_response_t frame_response
;
110 } PACKED felica_auth1_response_t
;
117 } PACKED felica_auth2_response_t
;