typedef struct {
void (*flush_aid_supported)(void);
tOLAError (*add_aid_supported)(
const uint8_t *aid,
uint8_t aidLength, int partial,
uint8_t kernelId,
const uint8_t *tlv,
uint16_t tlvLength);
uint16_t (*add_drl_supported)(
const uint8_t *programId,
uint8_t programIdLength,
const uint8_t *transactionLimit,
const uint8_t *floorLimit,
const uint8_t *CVMLimit,
int statusCheck,
int isZeroAllowed,
uint8_t kernelId);
void (*commit_supported_aids)(void);
uint16_t (*build_candidate_list)(uint8_t *nb_candidates);
uint16_t (*get_tag_from_candidate)(uint8_t candidate, uint32_t tag, uint8_t *value, uint16_t *length);
tOLAError (*final_select_candidate)(uint8_t candidate, uint8_t *kernelId);
tOLAError (*get_card_preferred_language)(char *language);
tOLAError (*preprocess)(void);
tOLAError (*do_transaction)(void);
void (*clean)(void);
tOLAError (*get_outcome)(tOlaOutcomeParameter *outcome);
tOLAError (*get_UI_request_upon_outcome)(tOlaUIRequest *uiRequest);
tOLAError (*get_UI_request_restart)(tOlaUIRequest *uiRequest);
} ola_contactless_implem_t; |