diff options
Diffstat (limited to 'libqcdm/src/dm-commands.h')
-rw-r--r-- | libqcdm/src/dm-commands.h | 82 |
1 files changed, 66 insertions, 16 deletions
diff --git a/libqcdm/src/dm-commands.h b/libqcdm/src/dm-commands.h index cc254bb..2cbd417 100644 --- a/libqcdm/src/dm-commands.h +++ b/libqcdm/src/dm-commands.h @@ -115,7 +115,8 @@ enum { DIAG_CMD_EXT_BUILD_ID = 124, DIAG_CMD_EXT_MESSAGE_CONFIG= 125, DIAG_CMD_EVENT_GET_MASK = 129, - DIAG_CMD_EVENT_SET_MASK = 130 + DIAG_CMD_EVENT_SET_MASK = 130, + DIAG_CMD_SAMSUNG_IND = 217, /* Unsolicited message seen on Samsung Z810 */ }; /* Subsystem IDs used with DIAG_CMD_SUBSYS; these often obsolete many of @@ -131,9 +132,10 @@ enum { DIAG_SUBSYS_SMS = 14, /* Wireless Messaging Service */ DIAG_SUBSYS_CM = 15, /* Call manager */ DIAG_SUBSYS_FS = 19, /* File System (EFS2) */ - DIAG_SUBSYS_NW_CONTROL_6500 = 50, /* for Novatel Wireless MSM6500-based devices */ + DIAG_SUBSYS_NOVATEL_6500 = 50, /* for Novatel Wireless MSM6500-based devices */ + DIAG_SUBSYS_LTE = 68, DIAG_SUBSYS_ZTE = 101, /* for ZTE EVDO devices */ - DIAG_SUBSYS_NW_CONTROL_6800 = 250 /* for Novatel Wireless MSM6800-based devices */ + DIAG_SUBSYS_NOVATEL_6800 = 250 /* for Novatel Wireless MSM6800-based devices */ }; /* WCDMA subsystem command codes */ @@ -158,18 +160,18 @@ enum { DIAG_SUBSYS_CM_STATE_INFO = 0, /* Gets Call Manager state */ }; -/* NW_CONTROL subsystem command codes (only for Novatel Wireless devices) */ +/* NOVATEL subsystem command codes (only for Novatel Wireless devices) */ enum { - DIAG_SUBSYS_NW_CONTROL_AT_REQUEST = 3, /* AT commands via diag */ - DIAG_SUBSYS_NW_CONTROL_AT_RESPONSE = 4, - DIAG_SUBSYS_NW_CONTROL_MODEM_SNAPSHOT = 7, - DIAG_SUBSYS_NW_CONTROL_ERI = 8, /* Extended Roaming Indicator */ - DIAG_SUBSYS_NW_CONTROL_PRL = 12, + DIAG_SUBSYS_NOVATEL_AT_REQUEST = 3, /* AT commands via diag */ + DIAG_SUBSYS_NOVATEL_AT_RESPONSE = 4, + DIAG_SUBSYS_NOVATEL_MODEM_SNAPSHOT = 7, + DIAG_SUBSYS_NOVATEL_ERI = 8, /* Extended Roaming Indicator */ + DIAG_SUBSYS_NOVATEL_PRL = 12, }; enum { - DIAG_SUBSYS_NW_CONTROL_MODEM_SNAPSHOT_TECH_CDMA_EVDO = 7, - DIAG_SUBSYS_NW_CONTROL_MODEM_SNAPSHOT_TECH_WCDMA = 20, + DIAG_SUBSYS_NOVATEL_MODEM_SNAPSHOT_TECH_CDMA_EVDO = 7, + DIAG_SUBSYS_NOVATEL_MODEM_SNAPSHOT_TECH_WCDMA = 20, }; enum { @@ -246,6 +248,19 @@ struct DMCmdSubsysHeader { } __attribute__ ((packed)); typedef struct DMCmdSubsysHeader DMCmdSubsysHeader; +typedef enum { + DM_CONTROL_MODE_OFFLINE = 1, + DM_CONTROL_MODE_RESET = 2, +} DMControlMode; + +/* DIAG_CMD_CONTROL */ +struct DMCmdControl { + u_int8_t code; + /* DMControlMode */ + u_int16_t mode; +} __attribute__ ((packed)); +typedef struct DMCmdControl DMCmdControl; + /* DIAG_CMD_NV_READ / DIAG_CMD_NV_WRITE */ struct DMCmdNVReadWrite { u_int8_t code; @@ -414,7 +429,7 @@ typedef struct DMCmdPilotSetsRsp DMCmdPilotSetsRsp; struct DMCmdLog { u_int8_t code; u_int8_t more; - u_int16_t len; + u_int16_t len; /* size of packet after this member */ u_int16_t _unknown2; /* contains same value as len */ u_int16_t log_code; u_int64_t timestamp; @@ -445,21 +460,21 @@ struct DMCmdEventReportRsp { } __attribute__ ((packed)); typedef struct DMCmdEventReportRsp DMCmdEventReportRsp; -/* DIAG_SUBSYS_NW_CONTROL_* subsys command */ +/* DIAG_SUBSYS_NOVATEL_* subsys command */ struct DMCmdSubsysNwSnapshotReq { DMCmdSubsysHeader hdr; - u_int8_t technology; /* DIAG_SUBSYS_NW_CONTROL_MODEM_SNAPSHOT_TECH_* */ + u_int8_t technology; /* DIAG_SUBSYS_NOVATEL_MODEM_SNAPSHOT_TECH_* */ u_int32_t snapshot_mask; } __attribute__ ((packed)); typedef struct DMCmdSubsysNwSnapshotReq DMCmdSubsysNwSnapshotReq; -/* DIAG_SUBSYS_NW_CONTROL_MODEM_SNAPSHOT response */ +/* DIAG_SUBSYS_NOVATEL_MODEM_SNAPSHOT response */ struct DMCmdSubsysNwSnapshotRsp { DMCmdSubsysHeader hdr; u_int8_t response_code; u_int32_t bitfield1; u_int32_t bitfield2; - u_int8_t data[100]; + u_int8_t data[100]; /* DMCmdSubsysNwSnapshotCdma */ } __attribute__ ((packed)); typedef struct DMCmdSubsysNwSnapshotRsp DMCmdSubsysNwSnapshotRsp; @@ -488,6 +503,27 @@ struct DMCmdSubsysNwSnapshotCdma { } __attribute__ ((packed)); typedef struct DMCmdSubsysNwSnapshotCdma DMCmdSubsysNwSnapshotCdma; +/* DIAG_SUBSYS_NOVATEL_MODEM_SNAPSHOT response */ +struct DMCmdSubsysNwEriRsp { + DMCmdSubsysHeader hdr; + u_int8_t status; + u_int16_t error; + u_int8_t roam; + u_int8_t eri_header[6]; + u_int8_t eri_call_prompt[38]; + + /* Roaming Indicator */ + u_int8_t indicator_id; + u_int8_t icon_id; + u_int8_t icon_mode; + u_int8_t call_prompt_id; /* Call Guard? */ + u_int8_t alert_id; /* Ringer? */ + u_int8_t encoding_type; + u_int8_t text_len; + u_int8_t text[32]; +} __attribute__ ((packed)); +typedef struct DMCmdSubsysNwEriRsp DMCmdSubsysNwEriRsp; + enum { DIAG_CMD_LOG_CONFIG_OP_GET_RANGE = 0x01, DIAG_CMD_LOG_CONFIG_OP_SET_MASK = 0x03, @@ -555,5 +591,19 @@ struct DMCmdSubsysGsmStateInfoRsp { } __attribute__ ((packed)); typedef struct DMCmdSubsysGsmStateInfoRsp DMCmdSubsysGsmStateInfoRsp; +/* DIAG_CMD_SAMSUNG_IND response */ +struct DMCmdSamsungIndRsp { + DMCmdHeader hdr; + u_int8_t _unknown1; /* always zero */ + u_int8_t _unknown2; /* 0x0c */ + u_int8_t _unknown3[4]; /* always zero */ + u_int8_t _unknown4; /* 0x05 */ + u_int8_t _unknown5; /* always zero */ + u_int8_t _unknown6; /* 0x01 */ + u_int8_t _unknown7; /* always zero */ + u_int8_t signal; /* 0 - 5 */ +} __attribute__ ((packed)); +typedef struct DMCmdSamsungIndRsp DMCmdSamsungIndRsp; + #endif /* LIBQCDM_DM_COMMANDS_H */ |