| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #pragma once
- #include <stdint.h>
- #include <stdbool.h>
- #define NFC_DEV_NAME_MAX_LEN 22
- #define NFC_FILE_NAME_MAX_LEN 120
- #define NFC_MIFARE_UL_MAX_SIZE 256
- typedef enum {
- NfcDeviceNfca,
- NfcDeviceNfcb,
- NfcDeviceNfcf,
- NfcDeviceNfcv,
- } NfcDeviceType;
- typedef enum {
- NfcDeviceProtocolUnknown,
- NfcDeviceProtocolEMV,
- NfcDeviceProtocolMfUltralight,
- } NfcProtocol;
- typedef struct {
- uint8_t uid_len;
- uint8_t uid[10];
- uint8_t atqa[2];
- uint8_t sak;
- NfcDeviceType device;
- NfcProtocol protocol;
- } NfcDeviceData;
- typedef struct {
- NfcDeviceData nfc_data;
- char name[32];
- uint8_t number[8];
- } NfcEmvData;
- typedef struct {
- NfcDeviceData nfc_data;
- uint8_t full_dump[NFC_MIFARE_UL_MAX_SIZE];
- uint16_t dump_size;
- // TODO delete with debug view
- uint8_t man_block[12];
- uint8_t otp[4];
- } NfcMifareUlData;
- typedef struct {
- NfcDeviceData data;
- char dev_name[NFC_DEV_NAME_MAX_LEN];
- char file_name[NFC_FILE_NAME_MAX_LEN];
- } NfcDevice;
- void nfc_device_set_name(NfcDevice* dev, const char* name);
- bool nfc_device_save(NfcDevice* dev, const char* dev_name);
- bool nfc_device_load(NfcDevice* dev, const char* file_path);
- bool nfc_file_select(NfcDevice* dev);
|