summaryrefslogtreecommitdiffstats
path: root/src/driver.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/driver.h')
-rw-r--r--src/driver.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/driver.h b/src/driver.h
index c329f563..3bc36bc7 100644
--- a/src/driver.h
+++ b/src/driver.h
@@ -94,6 +94,11 @@ struct ofono_cw_condition {
int cls;
};
+struct ofono_own_number {
+ char phone_number[OFONO_MAX_PHONE_NUMBER_LENGTH + 1];
+ int number_type;
+};
+
/* Notification functions, the integer values here should map to
* values obtained from the modem. The enumerations are the same
* as the values for the fields found in 3GPP TS 27.007
@@ -153,6 +158,19 @@ typedef void (*ofono_call_meter_puct_query_cb_t)(const struct ofono_error *error
typedef void (*ofono_call_barring_cb_t)(const struct ofono_error *error,
int status, void *data);
+typedef void (*ofono_sim_file_len_cb_t)(const struct ofono_error *error,
+ int length, void *data);
+
+typedef void (*ofono_sim_read_cb_t)(const struct ofono_error *error,
+ const unsigned char *sdata, int length,
+ void *data);
+
+typedef void (*ofono_imsi_cb_t)(const struct ofono_error *error,
+ const char *imsi, void *data);
+
+typedef void (*ofono_numbers_cb_t)(const struct ofono_error *error,
+ GSList *numbers, void *data);
+
struct ofono_modem_attribute_ops {
void (*query_manufacturer)(struct ofono_modem *modem,
ofono_modem_attribute_query_cb_t cb, void *data);
@@ -347,3 +365,18 @@ struct ofono_call_barring_ops {
int ofono_call_barring_register(struct ofono_modem *modem,
struct ofono_call_barring_ops *ops);
void ofono_call_barring_unregister(struct ofono_modem *modem);
+
+struct ofono_sim_ops {
+ void (*read_file_len)(struct ofono_modem *modem, int fileid,
+ ofono_sim_file_len_cb_t cb, void *data);
+ void (*read_file)(struct ofono_modem *modem, int fileid, int start,
+ int length, ofono_sim_read_cb_t cb, void *data);
+ void (*read_imsi)(struct ofono_modem *modem,
+ ofono_imsi_cb_t cb, void *data);
+ void (*read_own_numbers)(struct ofono_modem *modem,
+ ofono_numbers_cb_t cb, void *data);
+};
+
+int ofono_sim_manager_register(struct ofono_modem *modem,
+ struct ofono_sim_ops *ops);
+void ofono_sim_manager_unregister(struct ofono_modem *modem);