diff options
author | Dan Williams <dcbw@redhat.com> | 2010-08-16 12:12:41 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2010-08-16 12:20:49 -0500 |
commit | 48b8826cbd31ae5103b6ccfa194061650de368b8 (patch) | |
tree | 987962eda02fde2dc5b818e163a3036ca13a24b4 /libqcdm | |
parent | 5388cf396e768e7c7d1b57f2c4fe67dc448d536f (diff) | |
download | ModemManager-48b8826cbd31ae5103b6ccfa194061650de368b8.tar.gz |
qcdm: add Status Snapshot enum
Diffstat (limited to 'libqcdm')
-rw-r--r-- | libqcdm/src/commands.c | 8 | ||||
-rw-r--r-- | libqcdm/src/commands.h | 26 | ||||
-rw-r--r-- | libqcdm/src/dm-commands.h | 22 | ||||
-rw-r--r-- | libqcdm/tests/test-qcdm-com.c | 52 |
4 files changed, 108 insertions, 0 deletions
diff --git a/libqcdm/src/commands.c b/libqcdm/src/commands.c index b701f1474..d6504e616 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 2577a797d..32402909c 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 01e2ad23b..30cf33db7 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; diff --git a/libqcdm/tests/test-qcdm-com.c b/libqcdm/tests/test-qcdm-com.c index bba32ac47..c3b402966 100644 --- a/libqcdm/tests/test-qcdm-com.c +++ b/libqcdm/tests/test-qcdm-com.c @@ -107,6 +107,54 @@ hdr_rev_to_string (guint8 hdr_rev) return "unknown"; } +static const char * +status_snapshot_state_to_string (guint8 state) +{ + switch (state) { + case QCDM_CMD_STATUS_SNAPSHOT_STATE_NO_SERVICE: + return "no service"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_INITIALIZATION: + return "initialization"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_IDLE: + return "idle"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_VOICE_CHANNEL_INIT: + return "voice channel init"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_WAITING_FOR_ORDER: + return "waiting for order"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_WAITING_FOR_ANSWER: + return "waiting for answer"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_CONVERSATION: + return "conversation"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_RELEASE: + return "release"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_SYSTEM_ACCESS: + return "system access"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_OFFLINE_CDMA: + return "offline CDMA"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_OFFLINE_HDR: + return "offline HDR"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_OFFLINE_ANALOG: + return "offline analog"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_RESET: + return "reset"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_POWER_DOWN: + return "power down"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_POWER_SAVE: + return "power save"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_POWER_UP: + return "power up"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_LOW_POWER_MODE: + return "low power mode"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_SEARCHER_DSMM: + return "searcher DSMM"; + case QCDM_CMD_STATUS_SNAPSHOT_STATE_HDR: + return "HDR"; + default: + break; + } + return "unknown"; +} + /************************************************************/ typedef struct { @@ -732,6 +780,10 @@ test_com_status_snapshot (void *f, void *data) qcdm_result_get_uint8 (result, QCDM_CMD_STATUS_SNAPSHOT_ITEM_PREV_IN_USE, &n8); g_message ("%s: P_REV in-use: %s", __func__, prev_to_string (n8)); + n8 = 0; + qcdm_result_get_uint8 (result, QCDM_CMD_STATUS_SNAPSHOT_ITEM_STATE, &n8); + g_message ("%s: State: %d (%s)", __func__, n8, status_snapshot_state_to_string (n8)); + qcdm_result_unref (result); } |