qcdm: add Status Snapshot enum

This commit is contained in:
Dan Williams
2010-08-16 12:12:41 -05:00
parent 5388cf396e
commit 48b8826cbd
4 changed files with 108 additions and 0 deletions

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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;

View File

@@ -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);
}