diff options
Diffstat (limited to 'libqcdm/src')
-rw-r--r-- | libqcdm/src/commands.c | 3 | ||||
-rw-r--r-- | libqcdm/src/commands.h | 22 | ||||
-rw-r--r-- | libqcdm/src/dm-commands.h | 18 |
3 files changed, 33 insertions, 10 deletions
diff --git a/libqcdm/src/commands.c b/libqcdm/src/commands.c index f738d4bf..156cf14c 100644 --- a/libqcdm/src/commands.c +++ b/libqcdm/src/commands.c @@ -288,6 +288,9 @@ qcdm_cmd_cdma_status_result (const char *buf, gsize len, GError **error) qcdm_result_add_string (result, QCDM_CMD_CDMA_STATUS_ITEM_ESN, tmp); g_free (tmp); + tmp_num = (guint32) GUINT16_FROM_LE (rsp->rf_mode); + qcdm_result_add_uint32 (result, QCDM_CMD_CDMA_STATUS_ITEM_RF_MODE, tmp_num); + tmp_num = (guint32) GUINT16_FROM_LE (rsp->cdma_rx_state); qcdm_result_add_uint32 (result, QCDM_CMD_CDMA_STATUS_ITEM_RX_STATE, tmp_num); diff --git a/libqcdm/src/commands.h b/libqcdm/src/commands.h index 855baaea..0878fe33 100644 --- a/libqcdm/src/commands.h +++ b/libqcdm/src/commands.h @@ -52,16 +52,28 @@ QCDMResult *qcdm_cmd_esn_result (const char *buf, /**********************************************************************/ +/* Values for QCDM_CMD_CDMA_STATUS_ITEM_RF_MODE */ +enum { + QCDM_CMD_CDMA_STATUS_RF_MODE_ANALOG = 0, + QCDM_CMD_CDMA_STATUS_RF_MODE_CDMA_CELLULAR = 1, + QCDM_CMD_CDMA_STATUS_RF_MODE_CDMA_PCS = 2, + QCDM_CMD_CDMA_STATUS_RF_MODE_SLEEP = 3, + QCDM_CMD_CDMA_STATUS_RF_MODE_GPS = 4, + QCDM_CMD_CDMA_STATUS_RF_MODE_HDR = 5, +}; + /* Values for QCDM_CMD_CDMA_STATUS_ITEM_RX_STATE */ enum { - QCDM_CMD_CDMA_STATUS_RX_STATE_NO_SERVICE = 0, - QCDM_CMD_CDMA_STATUS_RX_STATE_IDLE = 1, - QCDM_CMD_CDMA_STATUS_RX_STATE_ACCESS = 2, - QCDM_CMD_CDMA_STATUS_RX_STATE_PAGING = 3, - QCDM_CMD_CDMA_STATUS_RX_STATE_TRAFFIC = 4, + QCDM_CMD_CDMA_STATUS_RX_STATE_ENTERING_CDMA = 0, + QCDM_CMD_CDMA_STATUS_RX_STATE_SYNC_CHANNEL = 1, + QCDM_CMD_CDMA_STATUS_RX_STATE_PAGING_CHANNEL = 2, + QCDM_CMD_CDMA_STATUS_RX_STATE_TRAFFIC_CHANNEL_INIT = 3, + QCDM_CMD_CDMA_STATUS_RX_STATE_TRAFFIC_CHANNEL = 4, + QCDM_CMD_CDMA_STATUS_RX_STATE_EXITING_CDMA = 5, }; #define QCDM_CMD_CDMA_STATUS_ITEM_ESN "esn" +#define QCDM_CMD_CDMA_STATUS_ITEM_RF_MODE "rf-mode" #define QCDM_CMD_CDMA_STATUS_ITEM_RX_STATE "rx-state" #define QCDM_CMD_CDMA_STATUS_ITEM_ENTRY_REASON "entry-reason" #define QCDM_CMD_CDMA_STATUS_ITEM_CURRENT_CHANNEL "current-channel" diff --git a/libqcdm/src/dm-commands.h b/libqcdm/src/dm-commands.h index e7ad4d36..7f14ce51 100644 --- a/libqcdm/src/dm-commands.h +++ b/libqcdm/src/dm-commands.h @@ -200,18 +200,26 @@ struct DMCmdStatusRsp { guint8 code; guint8 _unknown[3]; guint8 esn[4]; - guint8 _unknown2[2]; - guint8 _unknown3[8]; - guint8 _unknown4[4]; + guint16 rf_mode; + guint8 min1_analog[4]; + guint8 min1_cdma[4]; + guint8 min2_analog[2]; + guint8 min2_cdma[2]; + guint8 _unknown1; guint16 cdma_rx_state; + guint8 good_frames; + guint16 analog_corrected_frames; + guint16 analog_bad_frames; + guint16 analog_word_syncs; guint16 entry_reason; - guint8 _unknown5[8]; guint16 curr_chan; guint8 cdma_code_chan; guint16 pilot_base; guint16 sid; guint16 nid; - guint8 _unknown6[5]; + guint16 analog_locaid; + guint16 analog_rssi; + guint8 analog_power; } __attribute__ ((packed)); typedef struct DMCmdStatusRsp DMCmdStatusRsp; |