aboutsummaryrefslogtreecommitdiff
path: root/libwmc/src/protocol.h
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2012-01-23 18:06:04 -0600
committerDan Williams <dcbw@redhat.com>2012-01-23 18:54:28 -0600
commitc386efee9c7057a89a054d79b7abb4aec446a9a7 (patch)
tree879164bc251abd5528cede87d5ad5be2ee9fc52c /libwmc/src/protocol.h
parent704489d660776b679434d5426d5f50a061fb536c (diff)
wmc: decode more of DEVICE_INFO
CDMA MIN, home SID, PRL & ERI version
Diffstat (limited to 'libwmc/src/protocol.h')
-rw-r--r--libwmc/src/protocol.h73
1 files changed, 40 insertions, 33 deletions
diff --git a/libwmc/src/protocol.h b/libwmc/src/protocol.h
index 77ec49c7..e341f56f 100644
--- a/libwmc/src/protocol.h
+++ b/libwmc/src/protocol.h
@@ -77,16 +77,21 @@ typedef struct WmcCmdInit2Rsp WmcCmdInit2Rsp;
struct WmcCmdDeviceInfoRsp {
WmcCmdHeader hdr;
- u_int8_t _unknown1[27];
- char manf[64];
- char model[64];
- char fwrev[64];
- char hwrev[64];
- u_int8_t _unknown2[64];
- u_int8_t _unknown3[64];
- u_int8_t _unknown4[22];
- u_int8_t _unknown5[8];
- u_int8_t _unknown6[6];
+ u_int8_t _unknown1[27];
+ char manf[64];
+ char model[64];
+ char fwrev[64];
+ char hwrev[64];
+ u_int8_t _unknown2[64];
+ u_int8_t _unknown3[64];
+ char min[10]; /* CDMA2000/IS-95 MIN */
+ u_int8_t _unknown4[12];
+ u_int16_t home_sid;
+ u_int8_t _unknown5[2];
+ u_int16_t prlver;
+ u_int8_t _unknown6[2];
+ u_int16_t eriver;
+ u_int8_t _unknown7[4];
} __attribute__ ((packed));
typedef struct WmcCmdDeviceInfoRsp WmcCmdDeviceInfoRsp;
@@ -99,21 +104,22 @@ struct WmcCmdDeviceInfo2Rsp {
char hwrev[64];
u_int8_t _unknown2[64];
u_int8_t _unknown3[64];
- u_int8_t min[10]; /* CDMA2000/IS-95 MIN */
+ u_int8_t min[10]; /* CDMA2000/IS-95 MIN */
u_int8_t _unknown4[12];
- u_int16_t home_sid; /* ? */
- u_int8_t _unknown5[6];
- u_int16_t eri_ver; /* ? */
- u_int8_t _unknown6[3];
- u_int8_t _unknown7[64];
- u_int8_t _unknown8;
+ u_int16_t home_sid;
+ u_int8_t _unknown5[2];
+ u_int16_t prlver;
+ u_int8_t _unknown6[2];
+ u_int16_t eriver;
+ u_int8_t _unknown7[4];
+ u_int8_t _unknown8[64];
u_int8_t meid[14];
- u_int8_t _unknown9[6]; /* always zero */
- u_int8_t imei[16];
u_int8_t _unknown10[6]; /* always zero */
- u_int8_t _unknown11[16];
+ u_int8_t imei[16];
+ u_int8_t _unknown11[6]; /* always zero */
+ u_int8_t _unknown12[16];
u_int8_t iccid[20];
- u_int8_t _unknown12[6];
+ u_int8_t _unknown13[6];
} __attribute__ ((packed));
typedef struct WmcCmdDeviceInfo2Rsp WmcCmdDeviceInfo2Rsp;
@@ -126,26 +132,27 @@ struct WmcCmdDeviceInfo3Rsp {
char hwrev[64];
u_int8_t _unknown2[64];
u_int8_t _unknown3[64];
- u_int8_t min[10]; /* CDMA2000/IS-95 MIN */
+ u_int8_t min[10]; /* CDMA2000/IS-95 MIN */
u_int8_t _unknown4[12];
- u_int16_t home_sid; /* ? */
- u_int8_t _unknown5[6];
- u_int16_t eri_ver; /* ? */
- u_int8_t _unknown6[3];
- u_int8_t _unknown7[64];
- u_int8_t _unknown8;
+ u_int16_t home_sid;
+ u_int8_t _unknown5[2];
+ u_int16_t prlver;
+ u_int8_t _unknown6[2];
+ u_int16_t eri_ver;
+ u_int8_t _unknown7[4];
+ u_int8_t _unknown8[64];
u_int8_t meid[14];
- u_int8_t _unknown9[6]; /* always zero */
- u_int8_t imei[16];
u_int8_t _unknown10[6]; /* always zero */
- u_int8_t _unknown11[16];
+ u_int8_t imei[16];
+ u_int8_t _unknown11[6]; /* always zero */
+ u_int8_t _unknown12[16];
u_int8_t iccid[20];
- u_int8_t _unknown12[6];
+ u_int8_t _unknown13[6];
u_int8_t mcc[16];
u_int8_t mnc[16];
- u_int8_t _unknown13[4];
u_int8_t _unknown14[4];
u_int8_t _unknown15[4];
+ u_int8_t _unknown16[4];
} __attribute__ ((packed));
typedef struct WmcCmdDeviceInfo3Rsp WmcCmdDeviceInfo3Rsp;