summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-06-28 10:39:35 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-07-03 16:08:57 +0200
commite98443665306d1417fcbf2eefe4a98cc55e9b11b (patch)
treea2904d54029156a9c9e8a3fad1ae2d542e85cd77
parente639816b53ec073b8ba54fc6daff49d294e49304 (diff)
dms: implement "Get Operating Mode" request/response
-rw-r--r--data/qmi-service-dms.json30
-rw-r--r--src/qmi-enums-dms.h41
2 files changed, 71 insertions, 0 deletions
diff --git a/data/qmi-service-dms.json b/data/qmi-service-dms.json
index 69970d8..c765312 100644
--- a/data/qmi-service-dms.json
+++ b/data/qmi-service-dms.json
@@ -290,5 +290,35 @@
"mandatory" : "yes",
"type" : "TLV",
"format" : "string",
+ "prerequisites": [ { "common-ref" : "Success" } ] } ] },
+
+ // *********************************************************************************
+ { "name" : "Get Operating Mode",
+ "type" : "Message",
+ "service" : "DMS",
+ "id" : "0x002D",
+ "output" : [ { "common-ref" : "Operation Result" },
+ { "name" : "Mode",
+ "id" : "0x01",
+ "mandatory" : "yes",
+ "type" : "TLV",
+ "format" : "guint8",
+ "public-format" : "QmiDmsOperatingMode",
+ "prerequisites": [ { "common-ref" : "Success" } ] },
+ { "name" : "Offline Reason",
+ "id" : "0x10",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint16",
+ "public-format" : "QmiDmsOfflineReason",
+ "prerequisites": [ { "field" : "Mode",
+ "operation" : "==",
+ "value" : "QMI_DMS_OPERATING_MODE_OFFLINE" } ] },
+ { "name" : "Hardware Restricted Mode",
+ "id" : "0x11",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint8",
+ "public-format" : "gboolean",
"prerequisites": [ { "common-ref" : "Success" } ] } ] }
]
diff --git a/src/qmi-enums-dms.h b/src/qmi-enums-dms.h
index 790c52e..f87172d 100644
--- a/src/qmi-enums-dms.h
+++ b/src/qmi-enums-dms.h
@@ -149,4 +149,45 @@ typedef enum {
QMI_DMS_PIN_STATUS_CHANGED = 7,
} QmiDmsPinStatus;
+/*****************************************************************************/
+/* Helper enums for the 'QMI DMS Get Operating Mode' message */
+
+/**
+ * QmiDmsOperatingMode:
+ * @QMI_DMS_OPERATING_MODE_ONLINE: Device can acquire a system and make calls.
+ * @QMI_DMS_OPERATING_MODE_LOW_POWER: Device has temporarily disabled RF.
+ * @QMI_DMS_OPERATING_MODE_PERSISTENT_LOW_POWER: Device has disabled RF and state persists even after a reset.
+ * @QMI_DMS_OPERATING_MODE_FACTORY_TEST: Special mode for manufacturer tests.
+ * @QMI_DMS_OPERATING_MODE_OFFLINE: Device has deactivated RF and is partially shutdown.
+ * @QMI_DMS_OPERATING_MODE_RESETTING: Device is in the process of power cycling.
+ * @QMI_DMS_OPERATING_MODE_SHUTTING_DOWN: Device is in the process of shutting down.
+ *
+ * Operating mode of the device.
+ */
+typedef enum {
+ QMI_DMS_OPERATING_MODE_ONLINE = 0,
+ QMI_DMS_OPERATING_MODE_LOW_POWER = 1,
+ QMI_DMS_OPERATING_MODE_FACTORY_TEST = 2,
+ QMI_DMS_OPERATING_MODE_OFFLINE = 3,
+ QMI_DMS_OPERATING_MODE_RESETTING = 4,
+ QMI_DMS_OPERATING_MODE_SHUTTING_DOWN = 5,
+ QMI_DMS_OPERATING_MODE_PERSISTENT_LOW_POWER = 6
+} QmiDmsOperatingMode;
+
+/**
+ * QmiDmsOfflineReason:
+ * @QMI_DMS_OFFLINE_REASON_HOST_IMAGE_MISCONFIGURATION: Host image misconfiguration.
+ * @QMI_DMS_OFFLINE_REASON_PRI_IMAGE_MISCONFIGURATION: PRI image misconfiguration.
+ * @QMI_DMS_OFFLINE_REASON_PRI_VERSION_INCOMPATIBLE: PRI version incompatible.
+ * @QMI_DMS_OFFLINE_REASON_DEVICE_MEMORY_FULL: Memory full, cannot copy PRI information.
+ *
+ * Reasons for being in Offline (@QMI_DMS_OPERATING_MODE_OFFLINE) state.
+ */
+typedef enum {
+ QMI_DMS_OFFLINE_REASON_HOST_IMAGE_MISCONFIGURATION = 1 << 0,
+ QMI_DMS_OFFLINE_REASON_PRI_IMAGE_MISCONFIGURATION = 1 << 1,
+ QMI_DMS_OFFLINE_REASON_PRI_VERSION_INCOMPATIBLE = 1 << 2,
+ QMI_DMS_OFFLINE_REASON_DEVICE_MEMORY_FULL = 1 << 3
+} QmiDmsOfflineReason;
+
#endif /* _LIBQMI_GLIB_QMI_ENUMS_DMS_H_ */