mirror of git://git.sysmocom.de/ofono
include: Add sim ops for session based sim access
ISIM and newer AID's require opening a logical channel to read their EF's. This requires new driver API's to discover AID's, open/close a channel, and reading the EF's from an opened channel. This functionality was moved from the simauth module.
This commit is contained in:
parent
8de7ccadfc
commit
3cd91409ee
|
@ -121,6 +121,14 @@ typedef void (*ofono_sim_lock_unlock_cb_t)(const struct ofono_error *error,
|
||||||
typedef void (*ofono_query_facility_lock_cb_t)(const struct ofono_error *error,
|
typedef void (*ofono_query_facility_lock_cb_t)(const struct ofono_error *error,
|
||||||
ofono_bool_t status, void *data);
|
ofono_bool_t status, void *data);
|
||||||
|
|
||||||
|
typedef void (*ofono_sim_list_apps_cb_t)(const struct ofono_error *error,
|
||||||
|
const unsigned char *dataobj,
|
||||||
|
int len, void *data);
|
||||||
|
typedef void (*ofono_sim_open_channel_cb_t)(const struct ofono_error *error,
|
||||||
|
int session_id, void *data);
|
||||||
|
typedef void (*ofono_sim_close_channel_cb_t)(const struct ofono_error *error,
|
||||||
|
void *data);
|
||||||
|
|
||||||
struct ofono_sim_driver {
|
struct ofono_sim_driver {
|
||||||
const char *name;
|
const char *name;
|
||||||
int (*probe)(struct ofono_sim *sim, unsigned int vendor, void *data);
|
int (*probe)(struct ofono_sim *sim, unsigned int vendor, void *data);
|
||||||
|
@ -173,6 +181,24 @@ struct ofono_sim_driver {
|
||||||
void (*query_facility_lock)(struct ofono_sim *sim,
|
void (*query_facility_lock)(struct ofono_sim *sim,
|
||||||
enum ofono_sim_password_type lock,
|
enum ofono_sim_password_type lock,
|
||||||
ofono_query_facility_lock_cb_t cb, void *data);
|
ofono_query_facility_lock_cb_t cb, void *data);
|
||||||
|
void (*list_apps)(struct ofono_sim *sim,
|
||||||
|
ofono_sim_list_apps_cb_t cb, void *data);
|
||||||
|
void (*open_channel)(struct ofono_sim *sim, const unsigned char *aid,
|
||||||
|
ofono_sim_open_channel_cb_t cb, void *data);
|
||||||
|
void (*close_channel)(struct ofono_sim *sim, int session_id,
|
||||||
|
ofono_sim_close_channel_cb_t cb, void *data);
|
||||||
|
void (*session_read_binary)(struct ofono_sim *sim, int session,
|
||||||
|
int fileid, int start, int length,
|
||||||
|
const unsigned char *path, unsigned int path_len,
|
||||||
|
ofono_sim_read_cb_t cb, void *data);
|
||||||
|
void (*session_read_record)(struct ofono_sim *sim, int session_id,
|
||||||
|
int fileid, int record, int length,
|
||||||
|
const unsigned char *path, unsigned int path_len,
|
||||||
|
ofono_sim_read_cb_t cb, void *data);
|
||||||
|
void (*session_read_info)(struct ofono_sim *sim, int session_id,
|
||||||
|
int fileid, const unsigned char *path,
|
||||||
|
unsigned int path_len, ofono_sim_file_info_cb_t cb,
|
||||||
|
void *data);
|
||||||
};
|
};
|
||||||
|
|
||||||
int ofono_sim_driver_register(const struct ofono_sim_driver *d);
|
int ofono_sim_driver_register(const struct ofono_sim_driver *d);
|
||||||
|
|
Loading…
Reference in New Issue