aboutsummaryrefslogtreecommitdiff
path: root/libqcdm/src
diff options
context:
space:
mode:
Diffstat (limited to 'libqcdm/src')
-rw-r--r--libqcdm/src/commands.c8
-rw-r--r--libqcdm/src/commands.h26
-rw-r--r--libqcdm/src/dm-commands.h22
3 files changed, 56 insertions, 0 deletions
diff --git a/libqcdm/src/commands.c b/libqcdm/src/commands.c
index b701f147..d6504e61 100644
--- a/libqcdm/src/commands.c
+++ b/libqcdm/src/commands.c
@@ -452,6 +452,13 @@ qcdm_cmd_status_snapshot_new (char *buf, gsize len, GError **error)
return dm_encapsulate_buffer (cmdbuf, sizeof (*cmd), sizeof (cmdbuf), buf, len);
}
+static guint8
+snapshot_state_to_qcdm (guint8 cdma_state)
+{
+ /* CDMA_STATUS_SNAPSHOT_STATE_* -> QCDM_STATUS_SNAPSHOT_STATE_* */
+ return cdma_state + 1;
+}
+
QCDMResult *
qcdm_cmd_status_snapshot_result (const char *buf, gsize len, GError **error)
{
@@ -469,6 +476,7 @@ qcdm_cmd_status_snapshot_result (const char *buf, gsize len, GError **error)
qcdm_result_add_uint8 (result, QCDM_CMD_STATUS_SNAPSHOT_ITEM_BASE_STATION_PREV, cdma_prev_to_qcdm (rsp->prev));
qcdm_result_add_uint8 (result, QCDM_CMD_STATUS_SNAPSHOT_ITEM_MOBILE_PREV, cdma_prev_to_qcdm (rsp->mob_prev));
qcdm_result_add_uint8 (result, QCDM_CMD_STATUS_SNAPSHOT_ITEM_PREV_IN_USE, cdma_prev_to_qcdm (rsp->prev_in_use));
+ qcdm_result_add_uint8 (result, QCDM_CMD_STATUS_SNAPSHOT_ITEM_STATE, snapshot_state_to_qcdm (rsp->state & 0xF));
return result;
}
diff --git a/libqcdm/src/commands.h b/libqcdm/src/commands.h
index 2577a797..32402909 100644
--- a/libqcdm/src/commands.h
+++ b/libqcdm/src/commands.h
@@ -160,6 +160,32 @@ QCDMResult *qcdm_cmd_sw_version_result (const char *buf,
/* The protocol revision currently in-use. One of QCDM_CDMA_PREV_* */
#define QCDM_CMD_STATUS_SNAPSHOT_ITEM_PREV_IN_USE "prev-in-use"
+enum {
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_UNKNOWN = 0x00,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_NO_SERVICE = 0x01,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_INITIALIZATION = 0x02,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_IDLE = 0x03,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_VOICE_CHANNEL_INIT = 0x04,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_WAITING_FOR_ORDER = 0x05,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_WAITING_FOR_ANSWER = 0x06,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_CONVERSATION = 0x07,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_RELEASE = 0x08,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_SYSTEM_ACCESS = 0x09,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_OFFLINE_CDMA = 0x11,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_OFFLINE_HDR = 0x12,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_OFFLINE_ANALOG = 0x13,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_RESET = 0x14,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_POWER_DOWN = 0x15,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_POWER_SAVE = 0x16,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_POWER_UP = 0x17,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_LOW_POWER_MODE = 0x18,
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_SEARCHER_DSMM = 0x19, /* Dedicated System Measurement Mode */
+ QCDM_CMD_STATUS_SNAPSHOT_STATE_HDR = 0x41,
+};
+
+/* The protocol revision currently in-use. One of QCDM_STATUS_SNAPSHOT_STATE_* */
+#define QCDM_CMD_STATUS_SNAPSHOT_ITEM_STATE "state"
+
gsize qcdm_cmd_status_snapshot_new (char *buf,
gsize len,
GError **error);
diff --git a/libqcdm/src/dm-commands.h b/libqcdm/src/dm-commands.h
index 01e2ad23..30cf33db 100644
--- a/libqcdm/src/dm-commands.h
+++ b/libqcdm/src/dm-commands.h
@@ -180,6 +180,28 @@ enum {
CDMA_BAND_CLASS_12_PAMR_800 = 12
};
+enum {
+ CDMA_STATUS_SNAPSHOT_STATE_NO_SERVICE = 0x00,
+ CDMA_STATUS_SNAPSHOT_STATE_INITIALIZATION = 0x01,
+ CDMA_STATUS_SNAPSHOT_STATE_IDLE = 0x02,
+ CDMA_STATUS_SNAPSHOT_STATE_VOICE_CHANNEL_INIT = 0x03,
+ CDMA_STATUS_SNAPSHOT_STATE_WAITING_FOR_ORDER = 0x04,
+ CDMA_STATUS_SNAPSHOT_STATE_WAITING_FOR_ANSWER = 0x05,
+ CDMA_STATUS_SNAPSHOT_STATE_CONVERSATION = 0x06,
+ CDMA_STATUS_SNAPSHOT_STATE_RELEASE = 0x07,
+ CDMA_STATUS_SNAPSHOT_STATE_SYSTEM_ACCESS = 0x08,
+ CDMA_STATUS_SNAPSHOT_STATE_OFFLINE_CDMA = 0x10,
+ CDMA_STATUS_SNAPSHOT_STATE_OFFLINE_HDR = 0x11,
+ CDMA_STATUS_SNAPSHOT_STATE_OFFLINE_ANALOG = 0x12,
+ CDMA_STATUS_SNAPSHOT_STATE_RESET = 0x13,
+ CDMA_STATUS_SNAPSHOT_STATE_POWER_DOWN = 0x14,
+ CDMA_STATUS_SNAPSHOT_STATE_POWER_SAVE = 0x15,
+ CDMA_STATUS_SNAPSHOT_STATE_POWER_UP = 0x16,
+ CDMA_STATUS_SNAPSHOT_STATE_LOW_POWER_MODE = 0x17,
+ CDMA_STATUS_SNAPSHOT_STATE_SEARCHER_DSMM = 0x18, /* Dedicated System Measurement Mode */
+ CDMA_STATUS_SNAPSHOT_STATE_HDR = 0x40,
+};
+
/* Generic DM command header */
struct DMCmdHeader {
guint8 code;