Loading...
Searching...
No Matches
mf_desfire_i.h
1#pragma once
2
3#include "mf_desfire.h"
4
5#include <nfc/helpers/nxp_native_command.h>
6
7#define MF_DESFIRE_FFF_PICC_PREFIX "PICC"
8#define MF_DESFIRE_FFF_APP_PREFIX "Application"
9
10// SimpleArray configurations
11
12extern const SimpleArrayConfig mf_desfire_key_version_array_config;
13extern const SimpleArrayConfig mf_desfire_app_id_array_config;
14extern const SimpleArrayConfig mf_desfire_file_id_array_config;
15extern const SimpleArrayConfig mf_desfire_file_settings_array_config;
16extern const SimpleArrayConfig mf_desfire_file_data_array_config;
17extern const SimpleArrayConfig mf_desfire_application_array_config;
18
19// Parse internal MfDesfire structures
20
21bool mf_desfire_version_parse(MfDesfireVersion* data, const BitBuffer* buf);
22
23bool mf_desfire_free_memory_parse(MfDesfireFreeMemory* data, const BitBuffer* buf);
24
25bool mf_desfire_key_settings_parse(MfDesfireKeySettings* data, const BitBuffer* buf);
26
27void mf_desfire_key_settings_dump(const MfDesfireKeySettings* data, BitBuffer* buf);
28
29bool mf_desfire_key_version_parse(MfDesfireKeyVersion* data, const BitBuffer* buf);
30
31bool mf_desfire_application_id_parse(
33 uint32_t index,
34 const BitBuffer* buf);
35
36bool mf_desfire_file_id_parse(MfDesfireFileId* data, uint32_t index, const BitBuffer* buf);
37
38bool mf_desfire_file_settings_parse(MfDesfireFileSettings* data, const BitBuffer* buf);
39
40bool mf_desfire_file_data_parse(MfDesfireFileData* data, const BitBuffer* buf);
41
42// Init internal MfDesfire structures
43
44void mf_desfire_file_data_init(MfDesfireFileData* data);
45
46void mf_desfire_application_init(MfDesfireApplication* data);
47
48// Reset internal MfDesfire structures
49
50void mf_desfire_file_data_reset(MfDesfireFileData* data);
51
52void mf_desfire_application_reset(MfDesfireApplication* data);
53
54// Copy internal MfDesfire structures
55
56void mf_desfire_file_data_copy(MfDesfireFileData* data, const MfDesfireFileData* other);
57
58void mf_desfire_application_copy(MfDesfireApplication* data, const MfDesfireApplication* other);
59
60// Load internal MfDesfire structures
61
62bool mf_desfire_version_load(MfDesfireVersion* data, FlipperFormat* ff);
63
64bool mf_desfire_free_memory_load(MfDesfireFreeMemory* data, FlipperFormat* ff);
65
66bool mf_desfire_key_settings_load(
68 const char* prefix,
69 FlipperFormat* ff);
70
71bool mf_desfire_key_version_load(
72 MfDesfireKeyVersion* data,
73 const char* prefix,
74 uint32_t index,
75 FlipperFormat* ff);
76
77bool mf_desfire_file_count_load(uint32_t* data, const char* prefix, FlipperFormat* ff);
78
79bool mf_desfire_file_ids_load(
80 MfDesfireFileId* data,
81 uint32_t count,
82 const char* prefix,
83 FlipperFormat* ff);
84
85bool mf_desfire_file_settings_load(
87 const char* prefix,
88 FlipperFormat* ff);
89
90bool mf_desfire_file_data_load(MfDesfireFileData* data, const char* prefix, FlipperFormat* ff);
91
92bool mf_desfire_application_count_load(uint32_t* data, FlipperFormat* ff);
93
94bool mf_desfire_application_ids_load(
96 uint32_t count,
97 FlipperFormat* ff);
98
99bool mf_desfire_application_load(MfDesfireApplication* data, const char* prefix, FlipperFormat* ff);
100
101// Save internal MFDesfire structures
102
103bool mf_desfire_version_save(const MfDesfireVersion* data, FlipperFormat* ff);
104
105bool mf_desfire_free_memory_save(const MfDesfireFreeMemory* data, FlipperFormat* ff);
106
107bool mf_desfire_key_settings_save(
108 const MfDesfireKeySettings* data,
109 const char* prefix,
110 FlipperFormat* ff);
111
112bool mf_desfire_key_version_save(
113 const MfDesfireKeyVersion* data,
114 const char* prefix,
115 uint32_t index,
116 FlipperFormat* ff);
117
118bool mf_desfire_file_ids_save(
119 const MfDesfireFileId* data,
120 uint32_t count,
121 const char* prefix,
122 FlipperFormat* ff);
123
124bool mf_desfire_file_settings_save(
125 const MfDesfireFileSettings* data,
126 const char* prefix,
127 FlipperFormat* ff);
128
129bool mf_desfire_file_data_save(
130 const MfDesfireFileData* data,
131 const char* prefix,
132 FlipperFormat* ff);
133
134bool mf_desfire_application_count_save(const uint32_t* data, FlipperFormat* ff);
135
136bool mf_desfire_application_ids_save(
137 const MfDesfireApplicationId* data,
138 uint32_t count,
139 FlipperFormat* ff);
140
141bool mf_desfire_application_save(
142 const MfDesfireApplication* data,
143 const char* prefix,
144 FlipperFormat* ff);
Definition bit_buffer.c:7
Definition flipper_format.c:17
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
Definition mf_desfire.h:61
Simple Array configuration structure.
Definition simple_array.h:37