summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/driver.h23
-rw-r--r--src/sim.c3
2 files changed, 24 insertions, 2 deletions
diff --git a/src/driver.h b/src/driver.h
index 8078b130..dfd28a0f 100644
--- a/src/driver.h
+++ b/src/driver.h
@@ -101,6 +101,25 @@ enum ofono_sim_file_structure {
OFONO_SIM_FILE_STRUCTURE_CYCLIC = 3
};
+/* 51.011 Section 9.3 */
+enum ofono_sim_file_access {
+ OFONO_SIM_FILE_ACCESS_ALWAYS = 0,
+ OFONO_SIM_FILE_ACCESS_CHV1 = 1,
+ OFONO_SIM_FILE_ACCESS_CHV2 = 2,
+ OFONO_SIM_FILE_ACCESS_RESERVED = 3,
+ OFONO_SIM_FILE_ACCESS_ADM = 4,
+ OFONO_SIM_FILE_ACCESS_NEVER = 15,
+};
+
+enum ofono_sim_file_condition {
+ OFONO_SIM_FILE_CONDITION_READ = 0,
+ OFONO_SIM_FILE_CONDITION_UPDATE,
+ OFONO_SIM_FILE_CONDITION_INCREASE,
+ OFONO_SIM_FILE_CONDITION_INVALIDATE,
+ OFONO_SIM_FILE_CONDITION_REHABILITATE,
+ __OFONO_SIM_FILE_CONDITION_NUM,
+};
+
/* 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
@@ -162,7 +181,9 @@ typedef void (*ofono_call_barring_cb_t)(const struct ofono_error *error,
typedef void (*ofono_sim_file_info_cb_t)(const struct ofono_error *error,
int filelength,
enum ofono_sim_file_structure structure,
- int recordlength, void *data);
+ int recordlength,
+ enum ofono_sim_file_access *access,
+ void *data);
typedef void (*ofono_sim_read_cb_t)(const struct ofono_error *error,
const unsigned char *sdata, int length,
diff --git a/src/sim.c b/src/sim.c
index 86f2e98e..787ebc7f 100644
--- a/src/sim.c
+++ b/src/sim.c
@@ -356,7 +356,8 @@ static gboolean sim_op_retrieve_next(gpointer user)
static void sim_op_info_cb(const struct ofono_error *error, int length,
enum ofono_sim_file_structure structure,
- int record_length, void *data)
+ int record_length,
+ enum ofono_sim_file_access *access, void *data)
{
struct ofono_modem *modem = data;
struct sim_manager_data *sim = modem->sim_manager;