| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #pragma once
- #include <stdint.h>
- #include <stdbool.h>
- #define NFC_DEV_NAME_MAX_LEN 22
- #define NFC_FILE_NAME_MAX_LEN 120
- 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 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* dev_name);
- bool nfc_file_select(NfcDevice* dev);
|