#pragma once #include #include #include #include #include #include "seos_credential.h" #include "secure_messaging.h" typedef struct { Iso14443_3aListener* iso14443_listener; BitBuffer* tx_buffer; BitBuffer* rx_buffer; AuthParameters params; SecureMessaging* secure_messaging; SeosCredential* credential; } SeosEmulator; NfcCommand seos_worker_listener_callback(NfcGenericEvent event, void* context); SeosEmulator* seos_emulator_alloc(SeosCredential* credential); void seos_emulator_free(SeosEmulator* seos_emulator); void seos_emulator_general_authenticate_1(BitBuffer* tx_buffer, AuthParameters params); bool seos_emulator_general_authenticate_2( const uint8_t* buffer, size_t buffer_len, SeosCredential* credential, AuthParameters* params, BitBuffer* tx_buffer); void seos_emulator_select_aid(BitBuffer* tx_buffer); bool seos_emulator_select_adf( const uint8_t* oid_list, size_t oid_list_len, AuthParameters* params, SeosCredential* credential, BitBuffer* tx_buffer);