diff --git a/include/sim.h b/include/sim.h index 0c91ce26..e10941fc 100644 --- a/include/sim.h +++ b/include/sim.h @@ -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, 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 { const char *name; 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, enum ofono_sim_password_type lock, 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);