#pragma once #include #include #include #include #include #include #include #include #include #include #include #include "passy_i.h" #include "passy_common.h" #include "secure_messaging.h" #define PASSY_READER_MAX_BUFFER_SIZE 128 NfcCommand passy_reader_poller_callback(NfcGenericEvent event, void* context); typedef struct { Passy* passy; Iso14443_4bPoller* iso14443_4b_poller; Iso14443_4aPoller* iso14443_4a_poller; BitBuffer* tx_buffer; BitBuffer* rx_buffer; BitBuffer* DG1; BitBuffer* COM; BitBuffer* dg_header; SecureMessaging* secure_messaging; uint16_t last_sw; } PassyReader; PassyReader* passy_reader_alloc(Passy* passy); void passy_reader_free(PassyReader* passy_reader); void passy_reader_mac(uint8_t* key, uint8_t* data, size_t data_length, uint8_t* mac);