diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-06-28 10:39:35 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-07-03 16:08:57 +0200 |
commit | e98443665306d1417fcbf2eefe4a98cc55e9b11b (patch) | |
tree | a2904d54029156a9c9e8a3fad1ae2d542e85cd77 | |
parent | e639816b53ec073b8ba54fc6daff49d294e49304 (diff) |
dms: implement "Get Operating Mode" request/response
-rw-r--r-- | data/qmi-service-dms.json | 30 | ||||
-rw-r--r-- | src/qmi-enums-dms.h | 41 |
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_ */ |