Loading...
Searching...
No Matches
mf_desfire_poller.h
1#pragma once
2
3#include "mf_desfire.h"
4
5#include <lib/nfc/protocols/iso14443_4a/iso14443_4a_poller.h>
6#include <lib/nfc/helpers/nxp_native_command_mode.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
15typedef struct MfDesfirePoller MfDesfirePoller;
16
20typedef enum {
21 MfDesfirePollerEventTypeReadSuccess,
22 MfDesfirePollerEventTypeReadFailed,
23} MfDesfirePollerEventType;
24
28typedef union {
29 MfDesfireError error;
31
37typedef struct {
38 MfDesfirePollerEventType type;
41
48void mf_desfire_poller_set_command_mode(
49 MfDesfirePoller* instance,
50 NxpNativeCommandMode command_mode);
51
65MfDesfireError mf_desfire_poller_send_chunks(
66 MfDesfirePoller* instance,
67 const BitBuffer* tx_buffer,
68 BitBuffer* rx_buffer);
69
73MfDesfireError mf_desfire_send_chunks(
74 MfDesfirePoller* instance,
75 const BitBuffer* tx_buffer,
76 BitBuffer* rx_buffer);
77
87MfDesfireError mf_desfire_poller_read_version(MfDesfirePoller* instance, MfDesfireVersion* data);
88
98MfDesfireError
99 mf_desfire_poller_read_free_memory(MfDesfirePoller* instance, MfDesfireFreeMemory* data);
100
110MfDesfireError
111 mf_desfire_poller_read_key_settings(MfDesfirePoller* instance, MfDesfireKeySettings* data);
112
123MfDesfireError mf_desfire_poller_read_key_version(
124 MfDesfirePoller* instance,
125 uint8_t key_num,
126 MfDesfireKeyVersion* data);
127
138MfDesfireError mf_desfire_poller_read_key_versions(
139 MfDesfirePoller* instance,
140 SimpleArray* data,
141 uint32_t count);
142
152MfDesfireError
153 mf_desfire_poller_read_application_ids(MfDesfirePoller* instance, SimpleArray* data);
154
164MfDesfireError mf_desfire_poller_select_application(
165 MfDesfirePoller* instance,
166 const MfDesfireApplicationId* id);
167
177MfDesfireError mf_desfire_poller_read_file_ids(MfDesfirePoller* instance, SimpleArray* data);
178
189MfDesfireError mf_desfire_poller_read_file_settings(
190 MfDesfirePoller* instance,
191 MfDesfireFileId id,
193
204MfDesfireError mf_desfire_poller_read_file_settings_multi(
205 MfDesfirePoller* instance,
206 const SimpleArray* file_ids,
207 SimpleArray* data);
208
222MfDesfireError mf_desfire_poller_create_application(
223 MfDesfirePoller* instance,
224 const MfDesfireApplicationId* id,
225 const MfDesfireKeySettings* key_settings,
226 uint16_t iso_df_id,
227 const uint8_t* iso_df_name,
228 uint8_t iso_df_name_len);
229
241MfDesfireError mf_desfire_poller_create_file(
242 MfDesfirePoller* instance,
243 MfDesfireFileId id,
244 const MfDesfireFileSettings* data,
245 uint16_t iso_ef_id);
246
259MfDesfireError mf_desfire_poller_read_file_data(
260 MfDesfirePoller* instance,
261 MfDesfireFileId id,
262 uint32_t offset,
263 size_t size,
264 MfDesfireFileData* data);
265
276MfDesfireError mf_desfire_poller_read_file_value(
277 MfDesfirePoller* instance,
278 MfDesfireFileId id,
279 MfDesfireFileData* data);
280
293MfDesfireError mf_desfire_poller_read_file_records(
294 MfDesfirePoller* instance,
295 MfDesfireFileId id,
296 uint32_t offset,
297 size_t size,
298 MfDesfireFileData* data);
299
311MfDesfireError mf_desfire_poller_read_file_data_multi(
312 MfDesfirePoller* instance,
313 const SimpleArray* file_ids,
314 const SimpleArray* file_settings,
315 SimpleArray* data);
316
326MfDesfireError
327 mf_desfire_poller_read_application(MfDesfirePoller* instance, MfDesfireApplication* data);
328
339MfDesfireError mf_desfire_poller_read_applications(
340 MfDesfirePoller* instance,
341 const SimpleArray* app_ids,
342 SimpleArray* data);
343
344#ifdef __cplusplus
345}
346#endif
Definition bit_buffer.c:7
Definition mf_desfire.h:155
Definition mf_desfire.h:151
Definition mf_desfire.h:147
Definition mf_desfire.h:119
Definition mf_desfire.h:84
Definition mf_desfire.h:89
MfDesfire poller event structure.
Definition mf_desfire_poller.h:37
MfDesfirePollerEventType type
Type of emmitted event.
Definition mf_desfire_poller.h:38
MfDesfirePollerEventData * data
Pointer to event specific data.
Definition mf_desfire_poller.h:39
Definition mf_desfire_poller_i.h:31
Definition mf_desfire.h:61
Definition simple_array.c:5
MfDesfire poller event data.
Definition mf_desfire_poller.h:28
MfDesfireError error
Error code indicating card reading fail reason.
Definition mf_desfire_poller.h:29