aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Mazur <mkm@semihalf.com>2020-11-20 21:17:50 +0100
committerAleksander Morgado <aleksander@aleksander.es>2021-03-09 10:16:32 +0000
commite12924547673d4ce5cb797016315582aca84d79b (patch)
tree3cec85af8cb8d6fe6a70b438299f41173267bfea
parentd16fcba30af2a190882d0bc958ef4958d35a56d6 (diff)
uim: new 'Get Configuration' and 'Depersonalization' requests
Define two UIM messages needed to get personalization status and remove modem locks.
-rw-r--r--data/qmi-service-uim.json99
-rw-r--r--docs/reference/libqmi-glib/libqmi-glib-common.sections10
-rw-r--r--docs/reference/libqmi-glib/libqmi-glib-docs.xml2
-rw-r--r--src/libqmi-glib/qmi-enums-uim.h31
4 files changed, 142 insertions, 0 deletions
diff --git a/data/qmi-service-uim.json b/data/qmi-service-uim.json
index f90de66..1fa7bae 100644
--- a/data/qmi-service-uim.json
+++ b/data/qmi-service-uim.json
@@ -801,6 +801,105 @@
"output" : [ { "common-ref" : "Operation Result" } ] },
// *********************************************************************************
+ { "name" : "Depersonalization",
+ "type" : "Message",
+ "service" : "UIM",
+ "id" : "0x0029",
+ "since" : "1.30",
+ "input" : [ { "name" : "Info",
+ "id" : "0x01",
+ "type" : "TLV",
+ "since" : "1.30",
+ "format" : "sequence",
+ "contents" : [ { "name" : "Feature",
+ "format" : "guint8",
+ "public-format" : "QmiUimCardApplicationPersonalizationFeature" },
+ { "name" : "Operation",
+ "format" : "guint8",
+ "public-format" : "QmiUimDepersonalizationOperation" },
+ { "name" : "Control Key",
+ "format" : "string" } ] },
+ { "name" : "Slot",
+ "id" : "0x10",
+ "type" : "TLV",
+ "since" : "1.30",
+ "format" : "guint8" } ],
+ "output" : [ { "common-ref" : "Operation Result" },
+ { "name" : "Retries Remaining",
+ "id" : "0x10",
+ "type" : "TLV",
+ "since" : "1.30",
+ "format" : "sequence",
+ "contents" : [ { "name" : "Verify Left",
+ "format" : "guint8" },
+ { "name" : "Unblock Left",
+ "format" : "guint8" } ],
+ "prerequisites" : [ { "common-ref" : "No Success" } ] } ] },
+
+ // *********************************************************************************
+ { "name" : "Get Configuration",
+ "type" : "Message",
+ "service" : "UIM",
+ "id" : "0x003A",
+ "since" : "1.30",
+ "input" : [ { "name" : "Configuration Mask",
+ "id" : "0x10",
+ "type" : "TLV",
+ "since" : "1.30",
+ "format" : "guint32",
+ "public-format" : "QmiUimConfiguration" } ],
+ "output" : [ { "common-ref" : "Operation Result" },
+ { "name" : "Automatic Selection",
+ "id" : "0x10",
+ "type" : "TLV",
+ "since" : "1.30",
+ "format" : "guint8",
+ "public-format" : "gboolean",
+ "prerequisites" : [ { "common-ref" : "Success" } ] },
+ { "name" : "Personalization Status",
+ "id" : "0x11",
+ "type" : "TLV",
+ "since" : "1.30",
+ "format" : "array",
+ "size-prefix-format" : "guint8",
+ "array-element" : { "name" : "Element",
+ "format" : "struct",
+ "contents" : [ { "name" : "Feature",
+ "format" : "guint8",
+ "public-format" : "QmiUimCardApplicationPersonalizationFeature" },
+ { "name" : "Verify Left",
+ "format" : "guint8" },
+ { "name" : "Unblock Left",
+ "format" : "guint8" } ] },
+ "prerequisites" : [ { "common-ref" : "Success" } ] },
+ { "name" : "Halt Subscription",
+ "id" : "0x12",
+ "type" : "TLV",
+ "since" : "1.30",
+ "format" : "guint8",
+ "public-format" : "gboolean",
+ "prerequisites" : [ { "common-ref" : "Success" } ] },
+ { "name" : "Personalization Status Other Slots",
+ "id" : "0x13",
+ "type" : "TLV",
+ "since" : "1.30",
+ "format" : "array",
+ "size-prefix-format" : "guint8",
+ "array-element" : { "name" : "Slots",
+ "format" : "array",
+ "size-prefix-format" : "guint8",
+ "array-element" : { "name" : "Element",
+ "format" : "struct",
+ "contents" : [ { "name" : "Feature",
+ "format" : "guint8",
+ "public-format" : "QmiUimCardApplicationPersonalizationFeature" },
+ { "name" : "Verify Left",
+ "format" : "guint8" },
+ { "name" : "Unblock Left",
+ "format" : "guint8" } ] } },
+ "prerequisites" : [ { "common-ref" : "Success" } ] } ] },
+
+ // *********************************************************************************
{ "name" : "Refresh Register All",
"type" : "Message",
"service" : "UIM",
diff --git a/docs/reference/libqmi-glib/libqmi-glib-common.sections b/docs/reference/libqmi-glib/libqmi-glib-common.sections
index 5b29d75..b572201 100644
--- a/docs/reference/libqmi-glib/libqmi-glib-common.sections
+++ b/docs/reference/libqmi-glib/libqmi-glib-common.sections
@@ -1090,6 +1090,8 @@ QmiUimPhysicalCardState
QmiUimSlotState
QmiUimRefreshMode
QmiUimRefreshStage
+QmiUimConfiguration
+QmiUimDepersonalizationOperation
<SUBSECTION Methods>
qmi_uim_event_registration_flag_get_string
qmi_uim_session_type_get_string
@@ -1109,6 +1111,8 @@ qmi_uim_physical_card_state_get_string
qmi_uim_slot_state_get_string
qmi_uim_refresh_mode_get_string
qmi_uim_refresh_stage_get_string
+qmi_uim_configuration_build_string_from_mask
+qmi_uim_depersonalization_operation_get_string
<SUBSECTION Private>
qmi_uim_event_registration_flag_build_string_from_mask
qmi_uim_session_type_build_string_from_mask
@@ -1128,6 +1132,8 @@ qmi_uim_physical_card_state_build_string_from_mask
qmi_uim_slot_state_build_string_from_mask
qmi_uim_refresh_mode_build_string_from_mask
qmi_uim_refresh_stage_build_string_from_mask
+qmi_uim_configuration_get_string
+qmi_uim_depersonalization_operation_build_string_from_mask
<SUBSECTION Standard>
QMI_TYPE_UIM_EVENT_REGISTRATION_FLAG
QMI_TYPE_UIM_SESSION_TYPE
@@ -1147,6 +1153,8 @@ QMI_TYPE_UIM_PHYSICAL_CARD_STATE
QMI_TYPE_UIM_SLOT_STATE
QMI_TYPE_UIM_REFRESH_MODE
QMI_TYPE_UIM_REFRESH_STAGE
+QMI_TYPE_UIM_CONFIGURATION
+QMI_TYPE_UIM_DEPERSONALIZATION_OPERATION
qmi_uim_event_registration_flag_get_type
qmi_uim_session_type_get_type
qmi_uim_file_type_get_type
@@ -1165,6 +1173,8 @@ qmi_uim_physical_card_state_get_type
qmi_uim_slot_state_get_type
qmi_uim_refresh_mode_get_type
qmi_uim_refresh_stage_get_type
+qmi_uim_configuration_get_type
+qmi_uim_depersonalization_operation_get_type
</SECTION>
<SECTION>
diff --git a/docs/reference/libqmi-glib/libqmi-glib-docs.xml b/docs/reference/libqmi-glib/libqmi-glib-docs.xml
index 951d968..5539860 100644
--- a/docs/reference/libqmi-glib/libqmi-glib-docs.xml
+++ b/docs/reference/libqmi-glib/libqmi-glib-docs.xml
@@ -352,6 +352,8 @@
<xi:include href="xml/qmi-message-uim-power-off-sim.xml"/>
<xi:include href="xml/qmi-message-uim-power-on-sim.xml"/>
<xi:include href="xml/qmi-message-uim-change-provisioning-session.xml"/>
+ <xi:include href="xml/qmi-message-uim-depersonalization.xml"/>
+ <xi:include href="xml/qmi-message-uim-get-configuration.xml"/>
<xi:include href="xml/qmi-message-uim-switch-slot.xml"/>
<xi:include href="xml/qmi-message-uim-get-slot-status.xml"/>
<xi:include href="xml/qmi-message-uim-refresh-register.xml"/>
diff --git a/src/libqmi-glib/qmi-enums-uim.h b/src/libqmi-glib/qmi-enums-uim.h
index e95d149..9ec2723 100644
--- a/src/libqmi-glib/qmi-enums-uim.h
+++ b/src/libqmi-glib/qmi-enums-uim.h
@@ -468,4 +468,35 @@ typedef enum { /*< since=1.26 >*/
QMI_UIM_CARD_PROTOCOL_UICC = 2,
} QmiUimCardProtocol;
+/**
+ * QmiUimConfiguration:
+ * @QMI_UIM_CONFIGURATION_AUTOMATIC_SELECTION: Automatic selection.
+ * @QMI_UIM_CONFIGURATION_PERSONALIZATION_STATUS: Personalization status.
+ * @QMI_UIM_CONFIGURATION_HALT_SUBSCRIPTION: Halt publication of subscription.
+ *
+ * Requested configurations. If none explicitly requested, all configuration
+ * items are returned.
+ *
+ * Since: 1.30
+ */
+typedef enum { /*< since=1.30 >*/
+ QMI_UIM_CONFIGURATION_AUTOMATIC_SELECTION = 1 << 0,
+ QMI_UIM_CONFIGURATION_PERSONALIZATION_STATUS = 1 << 1,
+ QMI_UIM_CONFIGURATION_HALT_SUBSCRIPTION = 1 << 2,
+} QmiUimConfiguration;
+
+/**
+ * QmiUimDepersonalizationOperation:
+ * @QMI_UIM_DEPERSONALIZATION_OPERATION_DEACTIVATE: Deactivate personalization
+ * @QMI_UIM_DEPERSONALIZATION_OPERATION_UNBLOCK: Unblock personalization
+ *
+ * Depersonalization operation to perform.
+ *
+ * Since: 1.30
+ */
+typedef enum { /*< since=1.30 >*/
+ QMI_UIM_DEPERSONALIZATION_OPERATION_DEACTIVATE = 0,
+ QMI_UIM_DEPERSONALIZATION_OPERATION_UNBLOCK = 1,
+} QmiUimDepersonalizationOperation;
+
#endif /* _LIBQMI_GLIB_QMI_ENUMS_UIM_H_ */