summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/qmi-service-nas.json6
-rw-r--r--docs/reference/libqmi-glib/libqmi-glib-common.sections5
-rw-r--r--src/libqmi-glib/qmi-enums-nas.h16
-rw-r--r--src/qmicli/qmicli-nas.c8
4 files changed, 35 insertions, 0 deletions
diff --git a/data/qmi-service-nas.json b/data/qmi-service-nas.json
index 675cedb..c8f7538 100644
--- a/data/qmi-service-nas.json
+++ b/data/qmi-service-nas.json
@@ -2514,6 +2514,12 @@
"since" : "1.24",
"format" : "guint8",
"public-format" : "gboolean" },
+ { "name" : "Network Selection Registration Restriction",
+ "id" : "0x2F",
+ "type" : "TLV",
+ "since" : "1.24",
+ "format" : "guint32",
+ "public-format" : "QmiNasNetworkSelectionRegistrationRestriction" },
{ "name" : "LTE eMBMS Coverage Info Trace ID",
"id" : "0x34",
"type" : "TLV",
diff --git a/docs/reference/libqmi-glib/libqmi-glib-common.sections b/docs/reference/libqmi-glib/libqmi-glib-common.sections
index 1168f18..5b7efcd 100644
--- a/docs/reference/libqmi-glib/libqmi-glib-common.sections
+++ b/docs/reference/libqmi-glib/libqmi-glib-common.sections
@@ -307,6 +307,7 @@ QmiNasPlmnNameCountryInitials
QmiNasPlmnNameSpareBits
QmiNasUsagePreference
QmiNasLteCellAccessStatus
+QmiNasNetworkSelectionRegistrationRestriction
<SUBSECTION Methods>
qmi_nas_radio_interface_get_string
qmi_nas_active_band_get_string
@@ -357,6 +358,7 @@ qmi_nas_plmn_name_country_initials_get_string
qmi_nas_plmn_name_spare_bits_get_string
qmi_nas_usage_preference_get_string
qmi_nas_lte_cell_access_status_get_string
+qmi_nas_network_selection_registration_restriction_get_string
<SUBSECTION Private>
qmi_nas_radio_interface_build_string_from_mask
qmi_nas_active_band_build_string_from_mask
@@ -405,6 +407,7 @@ qmi_nas_plmn_name_spare_bits_build_string_from_mask
qmi_nas_ps_attach_action_build_string_from_mask
qmi_nas_usage_preference_build_string_from_mask
qmi_nas_lte_cell_access_status_build_string_from_mask
+qmi_nas_network_selection_registration_restriction_build_string_from_mask
<SUBSECTION Standard>
QMI_TYPE_NAS_ACTIVE_BAND
QMI_TYPE_NAS_ATTACH_STATE
@@ -453,6 +456,7 @@ QMI_TYPE_NAS_PLMN_NAME_COUNTRY_INITIALS
QMI_TYPE_NAS_PLMN_NAME_SPARE_BITS
QMI_TYPE_NAS_USAGE_PREFERENCE
QMI_TYPE_NAS_LTE_CELL_ACCESS_STATUS
+QMI_TYPE_NAS_NETWORK_SELECTION_REGISTRATION_RESTRICTION
qmi_nas_active_band_get_type
qmi_nas_attach_state_get_type
qmi_nas_call_barring_status_get_type
@@ -500,6 +504,7 @@ qmi_nas_plmn_name_country_initials_get_type
qmi_nas_plmn_name_spare_bits_get_type
qmi_nas_usage_preference_get_type
qmi_nas_lte_cell_access_status_get_type
+qmi_nas_network_selection_registration_restriction_get_type
</SECTION>
<SECTION>
diff --git a/src/libqmi-glib/qmi-enums-nas.h b/src/libqmi-glib/qmi-enums-nas.h
index 58effcf..6475a2b 100644
--- a/src/libqmi-glib/qmi-enums-nas.h
+++ b/src/libqmi-glib/qmi-enums-nas.h
@@ -1003,6 +1003,22 @@ typedef enum {
/* Helper enums for the 'QMI NAS Get System Info' request/response */
/**
+ * QmiNasNetworkSelectionRegistrationRestriction:
+ * @QMI_NAS_NETWORK_SELECTION_REGISTRATION_RESTRICTION_UNRESTRICTED: Device follows the normal registration process.
+ * @QMI_NAS_NETWORK_SELECTION_REGISTRATION_RESTRICTION_CAMPED_ONLY: Device camps on the network according to its provisioning, but does not register.
+ * @QMI_NAS_NETWORK_SELECTION_REGISTRATION_RESTRICTION_LIMITED: Device selects the network for limited service.
+ *
+ * Registration restriction.
+ *
+ * Since: 1.24
+ */
+typedef enum {
+ QMI_NAS_NETWORK_SELECTION_REGISTRATION_RESTRICTION_UNRESTRICTED = 0x00,
+ QMI_NAS_NETWORK_SELECTION_REGISTRATION_RESTRICTION_CAMPED_ONLY = 0x01,
+ QMI_NAS_NETWORK_SELECTION_REGISTRATION_RESTRICTION_LIMITED = 0x02,
+} QmiNasNetworkSelectionRegistrationRestriction;
+
+/**
* QmiNasRoamingStatus:
* @QMI_NAS_ROAMING_STATUS_OFF: Off.
* @QMI_NAS_ROAMING_STATUS_ON: On.
diff --git a/src/qmicli/qmicli-nas.c b/src/qmicli/qmicli-nas.c
index 7dfab02..36af432 100644
--- a/src/qmicli/qmicli-nas.c
+++ b/src/qmicli/qmicli-nas.c
@@ -1716,6 +1716,7 @@ get_system_info_ready (QmiClientNas *client,
gboolean ims_voice_support;
gboolean embms_coverage_info_support;
guint16 embms_coverage_info_trace_id;
+ QmiNasNetworkSelectionRegistrationRestriction registration_restriction;
QmiNasLteCellAccessStatus cell_access_status;
if (qmi_message_nas_get_system_info_output_get_lte_service_status (
@@ -1813,6 +1814,13 @@ get_system_info_ready (QmiClientNas *client,
NULL)) {
g_print ("\t\tCell access: '%s'\n", qmi_nas_lte_cell_access_status_get_string (cell_access_status));
}
+
+ if (qmi_message_nas_get_system_info_output_get_network_selection_registration_restriction (
+ output,
+ &registration_restriction,
+ NULL)) {
+ g_print ("\t\tRegistration restriction: '%s'\n", qmi_nas_network_selection_registration_restriction_get_string (registration_restriction));
+ }
}
}