Loading...
Searching...
No Matches
mf_ultralight_poller.h
1#pragma once
2
3#include "mf_ultralight.h"
4#include <lib/nfc/protocols/iso14443_3a/iso14443_3a_poller.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
14
18typedef enum {
19 MfUltralightPollerEventTypeRequestMode,
20 MfUltralightPollerEventTypeAuthRequest,
21 MfUltralightPollerEventTypeAuthSuccess,
22 MfUltralightPollerEventTypeAuthFailed,
23 MfUltralightPollerEventTypeReadSuccess,
24 MfUltralightPollerEventTypeReadFailed,
25 MfUltralightPollerEventTypeRequestWriteData,
26 MfUltralightPollerEventTypeCardMismatch,
27 MfUltralightPollerEventTypeCardLocked,
28 MfUltralightPollerEventTypeWriteSuccess,
29 MfUltralightPollerEventTypeWriteFail,
30 MfUltralightPollerEventTypeRequestKey,
31} MfUltralightPollerEventType;
32
36typedef enum {
37 MfUltralightPollerModeRead,
38 MfUltralightPollerModeWrite,
39 MfUltralightPollerModeDictAttack,
40} MfUltralightPollerMode;
41
52
60
71
77typedef struct {
78 MfUltralightPollerEventType type;
81
91MfUltralightError mf_ultralight_poller_auth_pwd(
92 MfUltralightPoller* instance,
94
107MfUltralightError mf_ultralight_poller_authenticate_start(
108 MfUltralightPoller* instance,
109 const uint8_t* RndA,
110 uint8_t* output);
111
122MfUltralightError mf_ultralight_poller_authenticate_end(
123 MfUltralightPoller* instance,
124 const uint8_t* RndB,
125 const uint8_t* request,
126 uint8_t* response);
127
141MfUltralightError mf_ultralight_poller_read_page(
142 MfUltralightPoller* instance,
143 uint8_t start_page,
145
159MfUltralightError mf_ultralight_poller_read_page_from_sector(
160 MfUltralightPoller* instance,
161 uint8_t sector,
162 uint8_t tag,
164
175MfUltralightError mf_ultralight_poller_write_page(
176 MfUltralightPoller* instance,
177 uint8_t page,
178 const MfUltralightPage* data);
179
189MfUltralightError
190 mf_ultralight_poller_read_version(MfUltralightPoller* instance, MfUltralightVersion* data);
191
201MfUltralightError
202 mf_ultralight_poller_read_signature(MfUltralightPoller* instance, MfUltralightSignature* data);
203
214MfUltralightError mf_ultralight_poller_read_counter(
215 MfUltralightPoller* instance,
216 uint8_t counter_num,
217 MfUltralightCounter* data);
218
229MfUltralightError mf_ultralight_poller_read_tearing_flag(
230 MfUltralightPoller* instance,
231 uint8_t tearing_falg_num,
233
234#ifdef __cplusplus
235}
236#endif
Definition mf_ultralight.h:135
Definition mf_ultralight.h:127
Definition mf_ultralight.h:131
Definition mf_ultralight.h:178
Definition mf_ultralight.h:95
Definition mf_ultralight.h:99
MfUltralight poller authentication context.
Definition mf_ultralight_poller.h:45
MfUltralightC3DesAuthKey tdes_key
3DES key to be used for authentication.
Definition mf_ultralight_poller.h:47
MfUltralightAuthPack pack
Pack received on successful authentication.
Definition mf_ultralight_poller.h:48
MfUltralightAuthPassword password
Password to be used for authentication.
Definition mf_ultralight_poller.h:46
bool auth_success
Set to true if authentication succeeded, false otherwise.
Definition mf_ultralight_poller.h:49
bool skip_auth
Set to true if authentication should be skipped, false otherwise.
Definition mf_ultralight_poller.h:50
MfUltralight poller event structure.
Definition mf_ultralight_poller.h:77
MfUltralightPollerEventData * data
Pointer to event specific data.
Definition mf_ultralight_poller.h:79
MfUltralightPollerEventType type
Type of emitted event.
Definition mf_ultralight_poller.h:78
Definition mf_ultralight_poller_i.h:75
MfUltralight poller key request data.
Definition mf_ultralight_poller.h:56
MfUltralightC3DesAuthKey key
Key to try.
Definition mf_ultralight_poller.h:57
bool key_provided
Set to true if key was provided, false to stop attack.
Definition mf_ultralight_poller.h:58
Definition mf_ultralight.h:114
Definition mf_ultralight.h:123
Definition mf_ultralight.h:103
Definition mf_ultralight.h:118
MfUltralight poller event data.
Definition mf_ultralight_poller.h:64
MfUltralightPollerMode poller_mode
Mode to operate in.
Definition mf_ultralight_poller.h:68
MfUltralightPollerKeyRequestData key_request_data
Key request data.
Definition mf_ultralight_poller.h:69
MfUltralightError error
Error code indicating reading fail reason.
Definition mf_ultralight_poller.h:66
MfUltralightPollerAuthContext auth_context
Authentication context.
Definition mf_ultralight_poller.h:65
const MfUltralightData * write_data
Data to be written to card.
Definition mf_ultralight_poller.h:67