#include <ccid.h>
#include <list.h>
#include <emv.h>
#include <ber.h>
#include "emv-internal.h"
Go to the source code of this file.
Functions | |
static int | bop_adfname (const uint8_t *ptr, size_t len, void *priv) |
static int | bop_label (const uint8_t *ptr, size_t len, void *priv) |
static int | bop_pname (const uint8_t *ptr, size_t len, void *priv) |
static int | bop_prio (const uint8_t *ptr, size_t len, void *priv) |
static int | bop_dtemp (const uint8_t *ptr, size_t len, void *priv) |
static int | bop_psd (const uint8_t *ptr, size_t len, void *priv) |
static int | add_app (emv_t e) |
void | _emv_free_applist (emv_t e) |
void | emv_app_rid (emv_app_t a, emv_rid_t ret) |
void | emv_app_aid (emv_app_t a, uint8_t *ret, size_t *len) |
const char * | emv_app_label (emv_app_t a) |
const char * | emv_app_pname (emv_app_t a) |
uint8_t | emv_app_prio (emv_app_t a) |
int | emv_app_confirm (emv_app_t a) |
int | emv_appsel_pse (emv_t e) |
emv_app_t | emv_appsel_pse_first (emv_t e) |
emv_app_t | emv_appsel_pse_next (emv_t e, emv_app_t app) |
_public void | emv_app_delete (emv_app_t a) |
static int | bop_fci2 (const uint8_t *ptr, size_t len, void *priv) |
static int | bop_fci (const uint8_t *ptr, size_t len, void *priv) |
static int | set_app (emv_t e) |
int | emv_app_select_pse (emv_t e, emv_app_t a) |
int | emv_app_select_aid (emv_t e, const uint8_t *aid, size_t aid_len) |
int | emv_app_select_aid_next (emv_t e, const uint8_t *aid, size_t aid_len) |
void _emv_free_applist | ( | emv_t | e | ) |
Definition at line 97 of file emv_appsel.c.
References _emv_app::a_list, _emv::e_apps, list_del(), and list_for_each_entry_safe.
Referenced by do_emv_fini().
static int add_app | ( | emv_t | e | ) | [static] |
Definition at line 78 of file emv_appsel.c.
References _emv_error(), ber_decode(), bop_psd(), _emv::e_xfr, EMV_ERR_DATA_ELEMENT_NOT_FOUND, ber_tag::tag, and xfr_rx_data().
Referenced by emv_appsel_pse().
static int bop_adfname | ( | const uint8_t * | ptr, | |
size_t | len, | |||
void * | priv | |||
) | [static] |
Definition at line 13 of file emv_appsel.c.
References _emv_app::a_id, _emv_app::a_id_sz, EMV_AID_LEN, and EMV_RID_LEN.
Referenced by bop_dtemp(), and bop_fci().
static int bop_dtemp | ( | const uint8_t * | ptr, | |
size_t | len, | |||
void * | priv | |||
) | [static] |
Definition at line 44 of file emv_appsel.c.
References _emv_error(), _emv_app::a_list, ber_decode(), bop_adfname(), bop_label(), bop_pname(), bop_prio(), _emv::e_apps, _emv::e_num_apps, EMV_ERR_DATA_ELEMENT_NOT_FOUND, list_add_tail(), and ber_tag::tag.
Referenced by bop_psd().
static int bop_fci | ( | const uint8_t * | ptr, | |
size_t | len, | |||
void * | priv | |||
) | [static] |
Definition at line 197 of file emv_appsel.c.
References ber_decode(), bop_adfname(), bop_fci2(), and ber_tag::tag.
Referenced by set_app().
static int bop_fci2 | ( | const uint8_t * | ptr, | |
size_t | len, | |||
void * | priv | |||
) | [static] |
Definition at line 183 of file emv_appsel.c.
References ber_decode(), bop_label(), bop_pname(), bop_prio(), and ber_tag::tag.
Referenced by bop_fci().
static int bop_label | ( | const uint8_t * | ptr, | |
size_t | len, | |||
void * | priv | |||
) | [static] |
Definition at line 22 of file emv_appsel.c.
References _emv_app::a_name.
Referenced by bop_dtemp(), and bop_fci2().
static int bop_pname | ( | const uint8_t * | ptr, | |
size_t | len, | |||
void * | priv | |||
) | [static] |
Definition at line 29 of file emv_appsel.c.
References _emv_app::a_pname.
Referenced by bop_dtemp(), and bop_fci2().
static int bop_prio | ( | const uint8_t * | ptr, | |
size_t | len, | |||
void * | priv | |||
) | [static] |
Definition at line 36 of file emv_appsel.c.
References _emv_app::a_prio.
Referenced by bop_dtemp(), and bop_fci2().
static int bop_psd | ( | const uint8_t * | ptr, | |
size_t | len, | |||
void * | priv | |||
) | [static] |
Definition at line 70 of file emv_appsel.c.
References ber_decode(), bop_dtemp(), and ber_tag::tag.
Referenced by add_app().
void emv_app_aid | ( | emv_app_t | a, | |
uint8_t * | ret, | |||
size_t * | len | |||
) |
Definition at line 111 of file emv_appsel.c.
References _emv_app::a_id, and _emv_app::a_id_sz.
Referenced by app_cmp(), and cp_app_aid().
int emv_app_confirm | ( | emv_app_t | a | ) |
Definition at line 134 of file emv_appsel.c.
References _emv_app::a_prio.
Referenced by cp_app_confirm().
_public void emv_app_delete | ( | emv_app_t | a | ) |
Definition at line 177 of file emv_appsel.c.
References _emv_app::a_list, and list_del().
Referenced by cp_app_dealloc(), and select_app().
const char* emv_app_label | ( | emv_app_t | a | ) |
Definition at line 117 of file emv_appsel.c.
References _emv_app::a_name.
Referenced by cp_app_label().
const char* emv_app_pname | ( | emv_app_t | a | ) |
Definition at line 122 of file emv_appsel.c.
References _emv_app::a_name, and _emv_app::a_pname.
Referenced by cp_app_pname(), and select_app().
uint8_t emv_app_prio | ( | emv_app_t | a | ) |
Definition at line 129 of file emv_appsel.c.
References _emv_app::a_prio.
Referenced by cp_app_prio().
Definition at line 106 of file emv_appsel.c.
References _emv_app::a_id, and EMV_RID_LEN.
Referenced by app_cmp(), and cp_app_rid().
int emv_app_select_aid | ( | emv_t | e, | |
const uint8_t * | aid, | |||
size_t | aid_len | |||
) |
Definition at line 239 of file emv_appsel.c.
References _emv_select(), and set_app().
Referenced by cp_select_aid(), and select_app().
int emv_app_select_aid_next | ( | emv_t | e, | |
const uint8_t * | aid, | |||
size_t | aid_len | |||
) |
Definition at line 246 of file emv_appsel.c.
References _emv_select_next(), and set_app().
Referenced by cp_select_aid_next(), and select_app().
Definition at line 232 of file emv_appsel.c.
References _emv_select(), _emv_app::a_id, _emv_app::a_id_sz, and set_app().
Referenced by cp_select_pse(), and select_app().
int emv_appsel_pse | ( | emv_t | e | ) |
Definition at line 139 of file emv_appsel.c.
References _emv_read_record(), _emv_select(), _emv_success(), _emv_app::a_list, add_app(), _emv::e_apps, list_del(), and list_for_each_entry_safe.
Referenced by cp_appsel_pse(), and select_app().
Definition at line 165 of file emv_appsel.c.
References _emv_app::a_list, _emv::e_apps, list_entry, and list_head::next.
Referenced by app_list(), and select_app().
Definition at line 170 of file emv_appsel.c.
References _emv_app::a_list, _emv::e_apps, list_entry, and list_head::next.
Referenced by app_list(), and select_app().
static int set_app | ( | emv_t | e | ) | [static] |
Definition at line 206 of file emv_appsel.c.
References ber_decode(), BER_NUM_TAGS, bop_fci(), _emv::e_app, _emv::e_xfr, ber_tag::tag, and xfr_rx_data().
Referenced by emv_app_select_aid(), emv_app_select_aid_next(), and emv_app_select_pse().