summaryrefslogtreecommitdiffstats
path: root/src/simutil.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/simutil.h')
-rw-r--r--src/simutil.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/src/simutil.h b/src/simutil.h
index 29194ca3..4db950b5 100644
--- a/src/simutil.h
+++ b/src/simutil.h
@@ -26,9 +26,11 @@ enum sim_fileid {
SIM_EF_CPHS_MWIS_FILEID = 0x6f11,
SIM_EF_CPHS_INFORMATION_FILEID = 0x6f16,
SIM_EF_CPHS_MBDN_FILEID = 0x6f17,
+ SIM_EFUST_FILEID = 0x6f38,
SIM_EFMSISDN_FILEID = 0x6f40,
SIM_EFSPN_FILEID = 0x6f46,
SIM_EFSDN_FILEID = 0x6f49,
+ SIM_EFEST_FILEID = 0x6f56,
SIM_EFAD_FILEID = 0x6fad,
SIM_EFPHASE_FILEID = 0x6fae,
SIM_EFPNN_FILEID = 0x6fc5,
@@ -53,6 +55,104 @@ enum sim_file_access {
SIM_FILE_ACCESS_NEVER = 15,
};
+/* 131.102 Section 4.2.8 */
+enum sim_ust_service {
+ SIM_UST_SERVICE_LOCAL_PHONE_BOOK = 0,
+ SIM_UST_SERVICE_FDN = 1,
+ SIM_UST_SERVICE_EXT_2 = 2,
+ SIM_UST_SERVICE_SDN = 3,
+ SIM_UST_SERVICE_EXT_3 = 4,
+ SIM_UST_SERVICE_BDN = 5,
+ SIM_UST_SERVICE_EXT_4 = 6,
+ SIM_UST_SERVICE_OCI_OCT = 7,
+ SIM_UST_SERVICE_ICI_ICT = 8,
+ SIM_UST_SERVICE_SMS = 9,
+ SIM_UST_SERVICE_SMSR = 10,
+ SIM_UST_SERVICE_SMSP = 11,
+ SIM_UST_SERVICE_AOC = 12,
+ SIM_UST_SERVICE_CCP2 = 13,
+ SIM_UST_SERVICE_CBS_ID = 14,
+ SIM_UST_SERVICE_CBS_ID_RANGE = 15,
+ SIM_UST_SERVICE_GROUP_ID_LEVEL_1 = 16,
+ SIM_UST_SERVICE_GROUP_ID_LEVEL_2 = 17,
+ SIM_UST_SERVICE_PROVIDER_NAME = 18,
+ SIM_UST_SERVICE_USER_PLMN = 19,
+ SIM_UST_SERVICE_MSISDN = 20,
+ SIM_UST_SERVICE_IMG = 21,
+ SIM_UST_SERVICE_SOLSA = 22,
+ SIM_UST_SERVICE_PRECEDENCE_PREEMPTION = 23,
+ SIM_UST_SERVICE_EMLPP = 24,
+ SIM_UST_SERVICE_GSM_ACCESS = 26,
+ SIM_UST_SERVICE_DATA_DOWNLOAD_SMS_PP = 27,
+ SIM_UST_SERVICE_DATA_DOWNLOAD_SMS_CB = 28,
+ SIM_UST_SERVICE_CALL_CONTROL_USIM = 29,
+ SIM_UST_SERVICE_MO_SMS_USIM = 30,
+ SIM_UST_SERVICE_RUN_AT_COMMAND = 31,
+ SIM_UST_SERVICE_ENABLED_SERVICE_TABLE = 33,
+ SIM_UST_SERVICE_ACL = 34,
+ SIM_UST_SERVICE_DEPERSONALISATION_CTRL_KEY = 35,
+ SIM_UST_SERVICE_NETWORK_LIST = 36,
+ SIM_UST_SERVICE_GSM_SECURITY_CONTEXT = 37,
+ SIM_UST_SERVICE_CPBCCH = 38,
+ SIM_UST_SERVICE_INVESTIGATION_SCAN = 39,
+ SIM_UST_SERVICE_MEXE = 40,
+ SIM_UST_SERVICE_OPERATOR_PLMN = 41,
+ SIM_UST_SERVICE_HPLMN = 42,
+ SIM_UST_SERVICE_EXT_5 = 43,
+ SIM_UST_SERVICE_PLMN_NETWORK_NAME = 44,
+ SIM_UST_SERVICE_OPERATOR_PLMN_LIST = 45,
+ SIM_UST_SERVICE_MAILBOX_DIALLING_NUMBERS = 46,
+ SIM_UST_SERVICE_MWIS = 47,
+ SIM_UST_SERVICE_CFIS = 48,
+ SIM_UST_SERVICE_PROVIDER_DISPLAY_INFO = 50,
+ SIM_UST_SERVICE_MMS = 51,
+ SIM_UST_SERVICE_EXT_8 = 52,
+ SIM_UST_SERVICE_CALL_CONTROL_GPRS_USIM = 53,
+ SIM_UST_SERVICE_MMS_USER_CONN_PARAM = 54,
+ SIM_UST_SERVICE_NIA = 55,
+ SIM_UST_SERVICE_EFVGCS_EFVGCSS = 56,
+ SIM_UST_SERVICE_EFVBS_EFVBSS = 57,
+ SIM_UST_SERVICE_PSEUDONYM = 58,
+ SIM_UST_SERVICE_USER_PLMN_I_WLAN = 59,
+ SIM_UST_SERVICE_OPERATOR_PLMN_I_WLAN = 60,
+ SIM_UST_SERVICE_USER_WSID = 61,
+ SIM_UST_SERVICE_OPERATOR_WSID = 62,
+ SIM_UST_SERVICE_VGCS_SECURITY = 63,
+ SIM_UST_SERVICE_VBS_SECURITY = 64,
+ SIM_UST_SERVICE_WLAN_REAUTH_ID = 65,
+ SIM_UST_SERVICE_MMS_STORAGE = 66,
+ SIM_UST_SERVICE_GBA = 67,
+ SIM_UST_SERVICE_MBMS_SECURITY = 68,
+ SIM_UST_SERVICE_USSD_APPLICATION_MODE = 69,
+ SIM_UST_SERVICE_EQUIVALENT_HPLMN = 70,
+ SIM_UST_SERVICE_ADDITIONAL_TERMINAL_PROFILE = 71,
+ SIM_UST_SERVICE_EQUIVALENT_HPLMN_IND = 72,
+ SIM_UST_SERVICE_LAST_RPLMN_IND = 73,
+ SIM_UST_SERVICE_OMA_BCAST_SC_PROFILE = 74,
+ SIM_UST_SERVICE_BGA_LOCAL_KEY = 75,
+ SIM_UST_SERVICE_TERMINAL_APPLICATIONS = 76,
+ SIM_UST_SERVICE_PROVIDER_NAME_ICON = 77,
+ SIM_UST_SERVICE_PLMN_NETWORK_NAME_ICON = 78,
+ SIM_UST_SERVICE_CONN_PARAM_USIM_IP = 79,
+ SIM_UST_SERVICE_HOME_I_WLAN_ID_LIST = 80,
+ SIM_UST_SERVICE_I_WLAN_EQUIVALENT_HPLMN_IND = 81,
+ SIM_UST_SERVICE_I_WLAN_HPLMN_PRIORITY_IND = 82,
+ SIM_UST_SERVICE_I_WLAN_LAST_PLMN = 83,
+ SIM_UST_SERVICE_EPS_INFO = 84,
+ SIM_UST_SERVICE_CSG_IND = 85,
+ SIM_UST_SERVICE_CALL_CONTROL_EPS_PDN_USIM = 86,
+ SIM_UST_SERVICE_HPLMN_DIRECT_ACCESS = 87,
+ SIM_UST_SERVICE_ECALL_DATA = 88,
+ SIM_UST_SERVICE_OPERATOR_CSG = 89
+};
+
+/* 131.102 Section 4.2.47 */
+enum sim_est_service {
+ SIM_EST_SERVICE_FDN = 0,
+ SIM_EST_SERVICE_BDN = 1,
+ SIM_EST_SERVICE_ACL = 2
+};
+
#define SIM_EFSPN_DC_HOME_PLMN_BIT 0x1
#define SIM_EFSPN_DC_ROAMING_SPN_BIT 0x2
@@ -266,3 +366,8 @@ gboolean sim_parse_3g_get_response(const unsigned char *data, int len,
gboolean sim_parse_2g_get_response(const unsigned char *response, int len,
int *file_len, int *record_len,
int *structure, unsigned char *access);
+
+gboolean sim_ust_is_available(unsigned char *service_ust, unsigned char len,
+ enum sim_ust_service index);
+gboolean sim_est_is_active(unsigned char *service_est, unsigned char len,
+ enum sim_est_service index);