mirror of https://gerrit.osmocom.org/libosmocore
sim: Add osim_file_find_{fid,sfid}() functions
We don't always want to look-up by name, but the latter is the only implemented 'find' function so far. Let's change that.
This commit is contained in:
parent
1cc66f093f
commit
c28f4cdd6d
|
@ -242,6 +242,12 @@ struct osim_file {
|
|||
struct osim_file_desc *
|
||||
osim_file_find_name(struct osim_file_desc *parent, const char *name);
|
||||
|
||||
struct osim_file_desc *
|
||||
osim_file_find_fid(struct osim_file_desc *parent, uint16_t fid);
|
||||
|
||||
struct osim_file_desc *
|
||||
osim_file_find_sfid(struct osim_file_desc *parent, uint8_t sfid);
|
||||
|
||||
/* STATUS WORDS */
|
||||
|
||||
enum osim_card_sw_type {
|
||||
|
|
|
@ -183,6 +183,31 @@ osim_file_find_name(struct osim_file_desc *parent, const char *name)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
struct osim_file_desc *
|
||||
osim_file_find_fid(struct osim_file_desc *parent, uint16_t fid)
|
||||
{
|
||||
struct osim_file_desc *ofd;
|
||||
llist_for_each_entry(ofd, &parent->child_list, list) {
|
||||
if (ofd->fid == fid) {
|
||||
return ofd;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct osim_file_desc *
|
||||
osim_file_find_sfid(struct osim_file_desc *parent, uint8_t sfid)
|
||||
{
|
||||
struct osim_file_desc *ofd;
|
||||
llist_for_each_entry(ofd, &parent->child_list, list) {
|
||||
if (ofd->sfid == sfid) {
|
||||
return ofd;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/*! \brief Generate an APDU message and initialize APDU command header
|
||||
* \param[in] cla CLASS byte
|
||||
* \param[in] ins INSTRUCTION byte
|
||||
|
|
Loading…
Reference in New Issue