diff options
Diffstat (limited to 'libwmc/src')
-rw-r--r-- | libwmc/src/commands.c | 33 | ||||
-rw-r--r-- | libwmc/src/commands.h | 2 | ||||
-rw-r--r-- | libwmc/src/protocol.h | 416 | ||||
-rw-r--r-- | libwmc/src/result-private.h | 5 | ||||
-rw-r--r-- | libwmc/src/result.c | 19 | ||||
-rw-r--r-- | libwmc/src/result.h | 7 | ||||
-rw-r--r-- | libwmc/src/utils.c | 21 | ||||
-rw-r--r-- | libwmc/src/utils.h | 15 |
8 files changed, 256 insertions, 262 deletions
diff --git a/libwmc/src/commands.c b/libwmc/src/commands.c index d3567e89..4c23460e 100644 --- a/libwmc/src/commands.c +++ b/libwmc/src/commands.c @@ -28,22 +28,22 @@ /**********************************************************************/ static int -check_command (const char *buf, size_t len, u_int8_t cmd, size_t min_len) +check_command (const char *buf, size_t len, uint8_t cmd, size_t min_len) { if (len < 1) { wmc_err (0, "Zero-length response"); return -WMC_ERROR_RESPONSE_BAD_LENGTH; } - if ((u_int8_t) buf[0] != WMC_CMD_MARKER) { + if ((uint8_t) buf[0] != WMC_CMD_MARKER) { wmc_err (0, "Missing WMC command marker (expected 0x%02X, got 0x%02X)", - WMC_CMD_MARKER, (u_int8_t) buf[0]); + WMC_CMD_MARKER, (uint8_t) buf[0]); return -WMC_ERROR_RESPONSE_UNEXPECTED; } - if ((u_int8_t) buf[1] != cmd) { + if ((uint8_t) buf[1] != cmd) { wmc_err (0, "Unexpected WMC command response (expected 0x%02X, got 0x%02X)", - (u_int8_t) cmd, (u_int8_t) buf[1]); + (uint8_t) cmd, (uint8_t) buf[1]); return -WMC_ERROR_RESPONSE_UNEXPECTED; } @@ -245,40 +245,40 @@ wmc_cmd_network_info_new (char *buf, size_t buflen) } static wmcbool -is_gsm_service (u_int8_t service) +is_gsm_service (uint8_t service) { return (service == WMC_SERVICE_GSM || service == WMC_SERVICE_GPRS || service == WMC_SERVICE_EDGE); } static wmcbool -is_umts_service (u_int8_t service) +is_umts_service (uint8_t service) { return (service == WMC_SERVICE_UMTS || service == WMC_SERVICE_HSDPA || service == WMC_SERVICE_HSUPA || service == WMC_SERVICE_HSPA); } static wmcbool -is_cdma_service (u_int8_t service) +is_cdma_service (uint8_t service) { return (service == WMC_SERVICE_IS95A || service == WMC_SERVICE_IS95B || service == WMC_SERVICE_1XRTT); } static wmcbool -is_evdo_service (u_int8_t service) +is_evdo_service (uint8_t service) { return (service == WMC_SERVICE_EVDO_0 || service == WMC_SERVICE_EVDO_A || service == WMC_SERVICE_EVDO_A_EHRPD); } static wmcbool -is_lte_service (u_int8_t service) +is_lte_service (uint8_t service) { return (service == WMC_SERVICE_LTE); } -static u_int8_t -sanitize_dbm (u_int8_t in_dbm, u_int8_t service) +static uint8_t +sanitize_dbm (uint8_t in_dbm, uint8_t service) { - u_int8_t cutoff; + uint8_t cutoff; /* 0x6A (-106 dBm) = no signal for GSM/GPRS/EDGE */ /* 0x7D (-125 dBm) = no signal for everything else */ @@ -297,7 +297,7 @@ wmc_cmd_network_info_result (const char *buf, size_t buflen) WmcCmdNetworkInfo3Rsp *rsp3 = (WmcCmdNetworkInfo3Rsp *) buf; char tmp[65]; int err; - u_int32_t mccmnc = 0, mcc, mnc; + uint32_t mccmnc = 0, mcc, mnc; wmc_return_val_if_fail (buf != NULL, NULL); @@ -415,7 +415,7 @@ wmc_cmd_get_global_mode_result (const char *buf, size_t buflen) /**********************************************************************/ static wmcbool -validate_mode (u_int8_t mode) +validate_mode (uint8_t mode) { switch (mode) { case WMC_NETWORK_MODE_AUTO_CDMA: @@ -434,7 +434,7 @@ validate_mode (u_int8_t mode) } size_t -wmc_cmd_set_global_mode_new (char *buf, size_t buflen, u_int8_t mode) +wmc_cmd_set_global_mode_new (char *buf, size_t buflen, uint8_t mode) { WmcCmdSetGlobalMode *cmd = (WmcCmdSetGlobalMode *) buf; @@ -464,4 +464,3 @@ wmc_cmd_set_global_mode_result (const char *buf, size_t buflen) } /**********************************************************************/ - diff --git a/libwmc/src/commands.h b/libwmc/src/commands.h index 3e5a483d..75c1afd4 100644 --- a/libwmc/src/commands.h +++ b/libwmc/src/commands.h @@ -107,7 +107,7 @@ WmcResult * wmc_cmd_get_global_mode_result (const char *buf, size_t len); /**********************************************************************/ -size_t wmc_cmd_set_global_mode_new (char *buf, size_t buflen, u_int8_t mode); +size_t wmc_cmd_set_global_mode_new (char *buf, size_t buflen, uint8_t mode); WmcResult * wmc_cmd_set_global_mode_result (const char *buf, size_t len); diff --git a/libwmc/src/protocol.h b/libwmc/src/protocol.h index e341f56f..483edbcd 100644 --- a/libwmc/src/protocol.h +++ b/libwmc/src/protocol.h @@ -18,7 +18,7 @@ #ifndef LIBWMC_PROTOCOL_H #define LIBWMC_PROTOCOL_H -#define WMC_CMD_MARKER ((u_int8_t) 0xC8) +#define WMC_CMD_MARKER ((uint8_t) 0xC8) enum { WMC_CMD_GET_GLOBAL_MODE = 0x03, @@ -51,108 +51,108 @@ enum { /* Generic WMC command header */ struct WmcCmdHeader { - u_int8_t marker; /* Always 0xC8 */ - u_int8_t cmd; + uint8_t marker; /* Always 0xC8 */ + uint8_t cmd; } __attribute__ ((packed)); typedef struct WmcCmdHeader WmcCmdHeader; /* Used on newer devices like the UML190 and later */ struct WmcCmdInit2 { WmcCmdHeader hdr; - u_int16_t year; - u_int8_t month; - u_int16_t day; /* big endian */ - u_int16_t hours; /* big endian */ - u_int16_t minutes; /* big endian */ - u_int16_t seconds; /* big endian */ - u_int8_t _unknown1[3]; + uint16_t year; + uint8_t month; + uint16_t day; /* big endian */ + uint16_t hours; /* big endian */ + uint16_t minutes; /* big endian */ + uint16_t seconds; /* big endian */ + uint8_t _unknown1[3]; } __attribute__ ((packed)); typedef struct WmcCmdInit2 WmcCmdInit2; struct WmcCmdInit2Rsp { WmcCmdHeader hdr; - u_int8_t _unknown1[4]; + uint8_t _unknown1[4]; } __attribute__ ((packed)); typedef struct WmcCmdInit2Rsp WmcCmdInit2Rsp; struct WmcCmdDeviceInfoRsp { WmcCmdHeader hdr; - u_int8_t _unknown1[27]; + uint8_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]; + uint8_t _unknown2[64]; + uint8_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]; + uint8_t _unknown4[12]; + uint16_t home_sid; + uint8_t _unknown5[2]; + uint16_t prlver; + uint8_t _unknown6[2]; + uint16_t eriver; + uint8_t _unknown7[4]; } __attribute__ ((packed)); typedef struct WmcCmdDeviceInfoRsp WmcCmdDeviceInfoRsp; struct WmcCmdDeviceInfo2Rsp { WmcCmdHeader hdr; - u_int8_t _unknown1[27]; + uint8_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 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]; - u_int8_t _unknown8[64]; - u_int8_t meid[14]; - u_int8_t _unknown10[6]; /* always zero */ - 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 _unknown13[6]; + uint8_t _unknown2[64]; + uint8_t _unknown3[64]; + uint8_t min[10]; /* CDMA2000/IS-95 MIN */ + uint8_t _unknown4[12]; + uint16_t home_sid; + uint8_t _unknown5[2]; + uint16_t prlver; + uint8_t _unknown6[2]; + uint16_t eriver; + uint8_t _unknown7[4]; + uint8_t _unknown8[64]; + uint8_t meid[14]; + uint8_t _unknown10[6]; /* always zero */ + uint8_t imei[16]; + uint8_t _unknown11[6]; /* always zero */ + uint8_t _unknown12[16]; + uint8_t iccid[20]; + uint8_t _unknown13[6]; } __attribute__ ((packed)); typedef struct WmcCmdDeviceInfo2Rsp WmcCmdDeviceInfo2Rsp; struct WmcCmdDeviceInfo3Rsp { WmcCmdHeader hdr; - u_int8_t _unknown1[27]; + uint8_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 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 eri_ver; - u_int8_t _unknown7[4]; - u_int8_t _unknown8[64]; - u_int8_t meid[14]; - u_int8_t _unknown10[6]; /* always zero */ - 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 _unknown13[6]; - u_int8_t mcc[16]; - u_int8_t mnc[16]; - u_int8_t _unknown14[4]; - u_int8_t _unknown15[4]; - u_int8_t _unknown16[4]; + uint8_t _unknown2[64]; + uint8_t _unknown3[64]; + uint8_t min[10]; /* CDMA2000/IS-95 MIN */ + uint8_t _unknown4[12]; + uint16_t home_sid; + uint8_t _unknown5[2]; + uint16_t prlver; + uint8_t _unknown6[2]; + uint16_t eri_ver; + uint8_t _unknown7[4]; + uint8_t _unknown8[64]; + uint8_t meid[14]; + uint8_t _unknown10[6]; /* always zero */ + uint8_t imei[16]; + uint8_t _unknown11[6]; /* always zero */ + uint8_t _unknown12[16]; + uint8_t iccid[20]; + uint8_t _unknown13[6]; + uint8_t mcc[16]; + uint8_t mnc[16]; + uint8_t _unknown14[4]; + uint8_t _unknown15[4]; + uint8_t _unknown16[4]; } __attribute__ ((packed)); typedef struct WmcCmdDeviceInfo3Rsp WmcCmdDeviceInfo3Rsp; @@ -180,94 +180,94 @@ enum { /* PC5740 response */ struct WmcCmdNetworkInfoRsp { WmcCmdHeader hdr; - u_int8_t _unknown1; - u_int8_t _unknown2[3]; /* Always zero */ - u_int8_t service; /* One of WMC_SERVICE_* */ - u_int8_t _unknown3; /* Either 0x00 or 0x01 */ - u_int16_t ts_year; - u_int8_t ts_month; - u_int16_t ts_day; /* BE */ - u_int16_t ts_hours; /* BE */ - u_int16_t ts_minutes; /* BE */ - u_int16_t ts_seconds; /* BE */ - u_int16_t counter1; /* A timestamp/counter? */ - u_int16_t _unknown4; - u_int8_t _unknown5[3]; /* Always 0xFE 0xFF 0xFF */ - u_int8_t two_g_dbm; /* 0x7D = no signal */ - u_int8_t _unknown6[37]; /* Always zero */ + uint8_t _unknown1; + uint8_t _unknown2[3]; /* Always zero */ + uint8_t service; /* One of WMC_SERVICE_* */ + uint8_t _unknown3; /* Either 0x00 or 0x01 */ + uint16_t ts_year; + uint8_t ts_month; + uint16_t ts_day; /* BE */ + uint16_t ts_hours; /* BE */ + uint16_t ts_minutes; /* BE */ + uint16_t ts_seconds; /* BE */ + uint16_t counter1; /* A timestamp/counter? */ + uint16_t _unknown4; + uint8_t _unknown5[3]; /* Always 0xFE 0xFF 0xFF */ + uint8_t two_g_dbm; /* 0x7D = no signal */ + uint8_t _unknown6[37]; /* Always zero */ } __attribute__ ((packed)); typedef struct WmcCmdNetworkInfoRsp WmcCmdNetworkInfoRsp; /* UML190 response */ struct WmcCmdNetworkInfo2Rsp { WmcCmdHeader hdr; - u_int8_t _unknown1; /* 0x00 on LTE, 0x07 or 0x1F on CDMA */ - u_int8_t _unknown2[3]; /* Always zero */ - u_int8_t service; /* One of WMC_SERVICE_* */ - u_int8_t _unknown3; - u_int16_t ts_year; - u_int8_t ts_month; - u_int16_t ts_day; /* BE */ - u_int16_t ts_hours; /* BE */ - u_int16_t ts_minutes; /* BE */ - u_int16_t ts_seconds; /* BE */ - u_int8_t _unknown4; /* always zero */ - u_int16_t uptime_secs; - u_int8_t _unknown5; - u_int8_t _unknown6[3]; /* always zero on LTE, 0xFE 0xFF 0xFF on CDMA */ - u_int8_t two_g_dbm; /* 0x7D = no CDMA signal, 0x6a = no GSM signal */ - u_int8_t _unknown7[3]; /* Always zero */ - u_int8_t cdma_opname[16]; /* Zero terminated? */ - u_int8_t _unknown8[18]; /* Always zero */ - u_int8_t three_g_dbm; /* 0x7D = no signal */ - u_int8_t _unknown9[3]; /* Always zero */ - u_int8_t _unknown10; /* 0x01 on LTE, 0x40 on CDMA */ - u_int8_t _unknown11[3]; /* Always zero */ - u_int8_t _unknown12; /* Always 0x01 */ - u_int8_t tgpp_opname[8]; /* 3GPP operator name (Zero terminated? Sometimes "MCC MNC" too */ - u_int8_t _unknown13[4]; /* Always zero */ - u_int32_t _unknown14; /* 43 75 3a 00 on GSM/WCDMA mode, zero on others */ - u_int32_t _unknown15; /* 49 7d 3a 00 on GSM/WCDMA mode, zero on others */ - u_int8_t _unknown16[44]; /* Always zero */ - u_int32_t mcc_mnc; /* GSM/WCDMA only, see MCC/MNC format note */ + uint8_t _unknown1; /* 0x00 on LTE, 0x07 or 0x1F on CDMA */ + uint8_t _unknown2[3]; /* Always zero */ + uint8_t service; /* One of WMC_SERVICE_* */ + uint8_t _unknown3; + uint16_t ts_year; + uint8_t ts_month; + uint16_t ts_day; /* BE */ + uint16_t ts_hours; /* BE */ + uint16_t ts_minutes; /* BE */ + uint16_t ts_seconds; /* BE */ + uint8_t _unknown4; /* always zero */ + uint16_t uptime_secs; + uint8_t _unknown5; + uint8_t _unknown6[3]; /* always zero on LTE, 0xFE 0xFF 0xFF on CDMA */ + uint8_t two_g_dbm; /* 0x7D = no CDMA signal, 0x6a = no GSM signal */ + uint8_t _unknown7[3]; /* Always zero */ + uint8_t cdma_opname[16]; /* Zero terminated? */ + uint8_t _unknown8[18]; /* Always zero */ + uint8_t three_g_dbm; /* 0x7D = no signal */ + uint8_t _unknown9[3]; /* Always zero */ + uint8_t _unknown10; /* 0x01 on LTE, 0x40 on CDMA */ + uint8_t _unknown11[3]; /* Always zero */ + uint8_t _unknown12; /* Always 0x01 */ + uint8_t tgpp_opname[8]; /* 3GPP operator name (Zero terminated? Sometimes "MCC MNC" too */ + uint8_t _unknown13[4]; /* Always zero */ + uint32_t _unknown14; /* 43 75 3a 00 on GSM/WCDMA mode, zero on others */ + uint32_t _unknown15; /* 49 7d 3a 00 on GSM/WCDMA mode, zero on others */ + uint8_t _unknown16[44]; /* Always zero */ + uint32_t mcc_mnc; /* GSM/WCDMA only, see MCC/MNC format note */ } __attribute__ ((packed)); typedef struct WmcCmdNetworkInfo2Rsp WmcCmdNetworkInfo2Rsp; /* UML290 response */ struct WmcCmdNetworkInfo3Rsp { WmcCmdHeader hdr; - u_int8_t _unknown1; /* 0x00 on LTE, 0x07 or 0x1F on CDMA */ - u_int8_t _unknown2[3]; /* Always zero */ - u_int8_t service; /* One of WMC_SERVICE_* */ - u_int8_t _unknown3; - u_int16_t ts_year; - u_int8_t ts_month; - u_int16_t ts_day; /* BE */ - u_int16_t ts_hours; /* BE */ - u_int16_t ts_minutes; /* BE */ - u_int16_t ts_seconds; /* BE */ - u_int8_t _unknown4; /* always zero */ - u_int16_t uptime_secs; - u_int8_t _unknown5; - u_int8_t _unknown6[3]; /* always zero on LTE, 0xFE 0xFF 0xFF on CDMA */ - u_int8_t two_g_dbm; /* 0x7D = no CDMA signal, 0x6a = no GSM signal */ - u_int8_t _unknown7[3]; /* Always zero */ - u_int8_t cdma_opname[16]; /* Zero terminated? */ - u_int8_t _unknown8[18]; /* Always zero */ - u_int8_t three_g_dbm; /* 0x7D = no signal */ - u_int8_t _unknown9[3]; /* Always zero */ - u_int8_t _unknown10; /* 0x01 on LTE, 0x40 on CDMA */ - u_int8_t _unknown11[3]; /* Always zero */ - u_int8_t _unknown12; /* Always 0x01 */ - u_int8_t tgpp_opname[8]; /* Zero terminated? Sometimes "MCC MNC" too */ - u_int8_t _unknown13[4]; /* Always zero */ - u_int32_t _unknown14; /* 43 75 3a 00 on GSM/WCDMA mode, zero on others */ - u_int32_t _unknown15; /* 49 7d 3a 00 on GSM/WCDMA mode, zero on others */ - u_int8_t _unknown16[44]; /* Always zero */ - u_int32_t mcc_mnc; /* GSM/WCDMA only, see MCC/MNC format note */ - u_int8_t lte_dbm; /* 0x00 if not in LTE mode */ - u_int8_t _unknown17[3]; /* Always zero */ - u_int8_t _unknown18[4]; + uint8_t _unknown1; /* 0x00 on LTE, 0x07 or 0x1F on CDMA */ + uint8_t _unknown2[3]; /* Always zero */ + uint8_t service; /* One of WMC_SERVICE_* */ + uint8_t _unknown3; + uint16_t ts_year; + uint8_t ts_month; + uint16_t ts_day; /* BE */ + uint16_t ts_hours; /* BE */ + uint16_t ts_minutes; /* BE */ + uint16_t ts_seconds; /* BE */ + uint8_t _unknown4; /* always zero */ + uint16_t uptime_secs; + uint8_t _unknown5; + uint8_t _unknown6[3]; /* always zero on LTE, 0xFE 0xFF 0xFF on CDMA */ + uint8_t two_g_dbm; /* 0x7D = no CDMA signal, 0x6a = no GSM signal */ + uint8_t _unknown7[3]; /* Always zero */ + uint8_t cdma_opname[16]; /* Zero terminated? */ + uint8_t _unknown8[18]; /* Always zero */ + uint8_t three_g_dbm; /* 0x7D = no signal */ + uint8_t _unknown9[3]; /* Always zero */ + uint8_t _unknown10; /* 0x01 on LTE, 0x40 on CDMA */ + uint8_t _unknown11[3]; /* Always zero */ + uint8_t _unknown12; /* Always 0x01 */ + uint8_t tgpp_opname[8]; /* Zero terminated? Sometimes "MCC MNC" too */ + uint8_t _unknown13[4]; /* Always zero */ + uint32_t _unknown14; /* 43 75 3a 00 on GSM/WCDMA mode, zero on others */ + uint32_t _unknown15; /* 49 7d 3a 00 on GSM/WCDMA mode, zero on others */ + uint8_t _unknown16[44]; /* Always zero */ + uint32_t mcc_mnc; /* GSM/WCDMA only, see MCC/MNC format note */ + uint8_t lte_dbm; /* 0x00 if not in LTE mode */ + uint8_t _unknown17[3]; /* Always zero */ + uint8_t _unknown18[4]; } __attribute__ ((packed)); typedef struct WmcCmdNetworkInfo3Rsp WmcCmdNetworkInfo3Rsp; @@ -291,26 +291,26 @@ enum { /* Used on UML190 */ struct WmcCmdConnectionInfoRsp { WmcCmdHeader hdr; - u_int32_t rx_bytes; - u_int32_t tx_bytes; - u_int8_t _unknown1[8]; - u_int8_t state; /* One of WMC_CONNECTION_STATE_* */ - u_int8_t _unknown2[3]; /* Always 0xc0 0x0b 0x00 */ + uint32_t rx_bytes; + uint32_t tx_bytes; + uint8_t _unknown1[8]; + uint8_t state; /* One of WMC_CONNECTION_STATE_* */ + uint8_t _unknown2[3]; /* Always 0xc0 0x0b 0x00 */ } __attribute__ ((packed)); typedef struct WmcCmdConnectionInfoRsp WmcCmdConnectionInfoRsp; /* Used on UML290 */ struct WmcCmdConnectionInfo2Rsp { WmcCmdHeader hdr; - u_int32_t rx_bytes; - u_int32_t tx_bytes; - u_int8_t _unknown1[8]; - u_int8_t state; /* One of WMC_CONNECTION_STATE_* */ - u_int8_t _unknown2[3]; /* Always 0xc0 0x0b 0x00 */ - u_int8_t _unknown3[4]; /* Always 0x01 0x00 0x00 0x00 */ - u_int8_t ip4_address[16]; /* String format, ie "10.156.45.3" */ - u_int8_t _unknown4[8]; /* Netmask? */ - u_int8_t ip6_address[40]; /* String format */ + uint32_t rx_bytes; + uint32_t tx_bytes; + uint8_t _unknown1[8]; + uint8_t state; /* One of WMC_CONNECTION_STATE_* */ + uint8_t _unknown2[3]; /* Always 0xc0 0x0b 0x00 */ + uint8_t _unknown3[4]; /* Always 0x01 0x00 0x00 0x00 */ + uint8_t ip4_address[16]; /* String format, ie "10.156.45.3" */ + uint8_t _unknown4[8]; /* Netmask? */ + uint8_t ip6_address[40]; /* String format */ } __attribute__ ((packed)); typedef struct WmcCmdConnection2InfoRsp WmcCmdConnection2InfoRsp; @@ -329,16 +329,16 @@ enum { struct WmcCmdGetGlobalMode { WmcCmdHeader hdr; - u_int8_t _unknown1; /* always 0 */ + uint8_t _unknown1; /* always 0 */ } __attribute__ ((packed)); typedef struct WmcCmdGetGlobalMode WmcCmdGetGlobalMode; struct WmcCmdGetGlobalModeRsp { WmcCmdHeader hdr; - u_int8_t _unknown1; /* always 0x01 */ - u_int8_t mode; /* one of WMC_GLOBAL_MODE_* */ - u_int8_t _unknown2; /* always 0x05 */ - u_int8_t _unknown3; /* always 0x00 */ + uint8_t _unknown1; /* always 0x01 */ + uint8_t mode; /* one of WMC_GLOBAL_MODE_* */ + uint8_t _unknown2; /* always 0x05 */ + uint8_t _unknown3; /* always 0x00 */ } __attribute__ ((packed)); typedef struct WmcCmdGetGlobalModeRsp WmcCmdGetGlobalModeRsp; @@ -346,17 +346,17 @@ typedef struct WmcCmdGetGlobalModeRsp WmcCmdGetGlobalModeRsp; struct WmcCmdSetGlobalMode { WmcCmdHeader hdr; - u_int8_t _unknown1; /* always 0x01 */ - u_int8_t mode; /* one of WMC_GLOBAL_MODE_* */ - u_int8_t _unknown2; /* always 0x05 */ - u_int8_t _unknown3; /* always 0x00 */ + uint8_t _unknown1; /* always 0x01 */ + uint8_t mode; /* one of WMC_GLOBAL_MODE_* */ + uint8_t _unknown2; /* always 0x05 */ + uint8_t _unknown3; /* always 0x00 */ } __attribute__ ((packed)); typedef struct WmcCmdSetGlobalMode WmcCmdSetGlobalMode; struct WmcCmdSetGlobalModeRsp { WmcCmdHeader hdr; - u_int8_t _unknown1; /* always 0x01 */ - u_int32_t _unknown2; /* always zero */ + uint8_t _unknown1; /* always 0x01 */ + uint32_t _unknown2; /* always zero */ } __attribute__ ((packed)); typedef struct WmcCmdSetGlobalModeRsp WmcCmdSetGlobalModeRsp; @@ -364,11 +364,11 @@ typedef struct WmcCmdSetGlobalModeRsp WmcCmdSetGlobalModeRsp; struct WmcCmdSetOperator { WmcCmdHeader hdr; - u_int8_t automatic; /* 0x00 = manual, 0x01 = auto */ - u_int8_t _unknown1; /* always 0x50 */ - u_int8_t _unknown2[3]; /* always zero */ - u_int32_t mcc_mnc; /* MCC/MNC for manual reg (see format note), zero for auto */ - u_int8_t _unknown3[56]; /* always zero */ + uint8_t automatic; /* 0x00 = manual, 0x01 = auto */ + uint8_t _unknown1; /* always 0x50 */ + uint8_t _unknown2[3]; /* always zero */ + uint32_t mcc_mnc; /* MCC/MNC for manual reg (see format note), zero for auto */ + uint8_t _unknown3[56]; /* always zero */ } __attribute__ ((packed)); typedef struct WmcCmdSetOperator WmcCmdSetOperator; @@ -380,8 +380,8 @@ enum { struct WmcCmdSetOperatorRsp { WmcCmdHeader hdr; - u_int8_t status; /* one of WMC_SET_OPERATOR_STATUS_* */ - u_int8_t _unknown1[3]; /* always zero */ + uint8_t status; /* one of WMC_SET_OPERATOR_STATUS_* */ + uint8_t _unknown1[3]; /* always zero */ } __attribute__ ((packed)); typedef struct WmcCmdSetOperatorRsp WmcCmdSetOperatorRsp; @@ -396,18 +396,18 @@ enum { /* Response for both GET_FIRST_OPERATOR and GET_NEXT_OPERATOR */ struct WmcCmdGetOperatorRsp { WmcCmdHeader hdr; - u_int8_t _unknown1; /* Usually 0x50, sometimes 0x00 */ - u_int8_t _unknown2[3]; /* always zero */ - u_int32_t mcc_mnc; /* see format note */ - u_int8_t opname[8]; - u_int8_t _unknown3[56]; /* always zero */ - u_int8_t stat; /* follows 3GPP TS27.007 +COPS <stat> ? */ - u_int8_t _unknown4[3]; /* always zero */ - u_int8_t service; /* one of WMC_OPERATOR_SERVICE_* */ - u_int8_t _unknown5[3]; /* always zero */ - u_int8_t _unknown6; /* 0x63 (GET_FIRST_OP) might mean "wait" */ - u_int8_t _unknown7; /* 0x00 or 0x01 */ - u_int8_t _unknown8[2]; /* always zero */ + uint8_t _unknown1; /* Usually 0x50, sometimes 0x00 */ + uint8_t _unknown2[3]; /* always zero */ + uint32_t mcc_mnc; /* see format note */ + uint8_t opname[8]; + uint8_t _unknown3[56]; /* always zero */ + uint8_t stat; /* follows 3GPP TS27.007 +COPS <stat> ? */ + uint8_t _unknown4[3]; /* always zero */ + uint8_t service; /* one of WMC_OPERATOR_SERVICE_* */ + uint8_t _unknown5[3]; /* always zero */ + uint8_t _unknown6; /* 0x63 (GET_FIRST_OP) might mean "wait" */ + uint8_t _unknown7; /* 0x00 or 0x01 */ + uint8_t _unknown8[2]; /* always zero */ } __attribute__ ((packed)); typedef struct WmcCmdGetOperatorRsp WmcCmdGetOperatorRsp; @@ -422,38 +422,38 @@ enum { /* Later devices return all zeros for this command */ struct WmcCmdFieldTestRsp { WmcCmdHeader hdr; - u_int8_t prl_requirements; - u_int8_t eri_support; + uint8_t prl_requirements; + uint8_t eri_support; char nam_name[7]; - u_int8_t _unknown1; /* always zero */ - u_int8_t _unknown2[3]; /* always 0x0A 0x0A 0x0A */ - u_int8_t _unknown3[5]; /* always zero */ - u_int8_t _unknown4[10]; /* all 0x0F */ - u_int16_t home_sid; - u_int16_t home_nid; + uint8_t _unknown1; /* always zero */ + uint8_t _unknown2[3]; /* always 0x0A 0x0A 0x0A */ + uint8_t _unknown3[5]; /* always zero */ + uint8_t _unknown4[10]; /* all 0x0F */ + uint16_t home_sid; + uint16_t home_nid; char min1[7]; char min2[3]; char mcc[3]; char imsi_s[10]; char mnc[2]; - u_int16_t primary_cdma_chan_a; - u_int16_t secondary_cdma_chan_a; - u_int16_t primary_cdma_chan_b; - u_int16_t secondary_cdma_chan_b; - u_int8_t accolc; + uint16_t primary_cdma_chan_a; + uint16_t secondary_cdma_chan_a; + uint16_t primary_cdma_chan_b; + uint16_t secondary_cdma_chan_b; + uint8_t accolc; char sw_version[64]; char hw_version[64]; - u_int16_t prlver; - u_int16_t eriver; - u_int16_t nid; - u_int8_t last_call_end_reason; /* ? */ - u_int8_t rssi; - u_int16_t channel; - u_int8_t prev; - u_int16_t pn_offset; - u_int8_t sys_select_pref; - u_int8_t mip_pref; - u_int8_t hybrid_pref; + uint16_t prlver; + uint16_t eriver; + uint16_t nid; + uint8_t last_call_end_reason; /* ? */ + uint8_t rssi; + uint16_t channel; + uint8_t prev; + uint16_t pn_offset; + uint8_t sys_select_pref; + uint8_t mip_pref; + uint8_t hybrid_pref; } __attribute__ ((packed)); typedef struct WmcCmdFieldTestRsp WmcCmdFieldTestRsp; diff --git a/libwmc/src/result-private.h b/libwmc/src/result-private.h index 32a3fcb3..1e824e29 100644 --- a/libwmc/src/result-private.h +++ b/libwmc/src/result-private.h @@ -28,11 +28,10 @@ void wmc_result_add_string (WmcResult *result, void wmc_result_add_u8 (WmcResult *result, const char *key, - u_int8_t num); + uint8_t num); void wmc_result_add_u32 (WmcResult *result, const char *key, - u_int32_t num); + uint32_t num); #endif /* LIBWMC_RESULT_PRIVATE_H */ - diff --git a/libwmc/src/result.c b/libwmc/src/result.c index b66f864b..950cb021 100644 --- a/libwmc/src/result.c +++ b/libwmc/src/result.c @@ -38,8 +38,8 @@ struct Val { ValType type; union { char *s; - u_int8_t u8; - u_int32_t u32; + uint8_t u8; + uint32_t u32; } u; Val *next; }; @@ -76,7 +76,7 @@ val_new_string (const char *key, const char *value) } static Val * -val_new_u8 (const char *key, u_int8_t u) +val_new_u8 (const char *key, uint8_t u) { Val *v; @@ -94,7 +94,7 @@ val_new_u8 (const char *key, u_int8_t u) } static Val * -val_new_u32 (const char *key, u_int32_t u) +val_new_u32 (const char *key, uint32_t u) { Val *v; @@ -114,7 +114,7 @@ val_new_u32 (const char *key, u_int32_t u) /*********************************************************/ struct WmcResult { - u_int32_t refcount; + uint32_t refcount; Val *first; }; @@ -225,7 +225,7 @@ wmc_result_get_string (WmcResult *r, void wmc_result_add_u8 (WmcResult *r, const char *key, - u_int8_t num) + uint8_t num) { Val *v; @@ -242,7 +242,7 @@ wmc_result_add_u8 (WmcResult *r, int wmc_result_get_u8 (WmcResult *r, const char *key, - u_int8_t *out_val) + uint8_t *out_val) { Val *v; @@ -262,7 +262,7 @@ wmc_result_get_u8 (WmcResult *r, void wmc_result_add_u32 (WmcResult *r, const char *key, - u_int32_t num) + uint32_t num) { Val *v; @@ -279,7 +279,7 @@ wmc_result_add_u32 (WmcResult *r, int wmc_result_get_u32 (WmcResult *r, const char *key, - u_int32_t *out_val) + uint32_t *out_val) { Val *v; @@ -295,4 +295,3 @@ wmc_result_get_u32 (WmcResult *r, *out_val = v->u.u32; return 0; } - diff --git a/libwmc/src/result.h b/libwmc/src/result.h index 516f0ba7..1c73711a 100644 --- a/libwmc/src/result.h +++ b/libwmc/src/result.h @@ -18,7 +18,7 @@ #ifndef LIBWMC_RESULT_H #define LIBWMC_RESULT_H -#include <sys/types.h> +#include <stdint.h> typedef struct WmcResult WmcResult; @@ -28,15 +28,14 @@ int wmc_result_get_string (WmcResult *r, int wmc_result_get_u8 (WmcResult *r, const char *key, - u_int8_t *out_val); + uint8_t *out_val); int wmc_result_get_u32 (WmcResult *r, const char *key, - u_int32_t *out_val); + uint32_t *out_val); WmcResult *wmc_result_ref (WmcResult *r); void wmc_result_unref (WmcResult *r); #endif /* LIBWMC_RESULT_H */ - diff --git a/libwmc/src/utils.c b/libwmc/src/utils.c index 408e1077..5539edaf 100644 --- a/libwmc/src/utils.c +++ b/libwmc/src/utils.c @@ -33,7 +33,7 @@ */ /* Table of CRCs for each possible byte, with a generator polynomial of 0x8408 */ -static const u_int16_t crc_table[256] = { +static const uint16_t crc_table[256] = { 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf, 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7, 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e, @@ -69,10 +69,10 @@ static const u_int16_t crc_table[256] = { }; /* Calculate the CRC for a buffer using a seed of 0xffff */ -u_int16_t -wmc_crc16 (const char *buffer, size_t len, u_int16_t seed) +uint16_t +wmc_crc16 (const char *buffer, size_t len, uint16_t seed) { - u_int16_t crc = seed ? seed : 0xFFFF; + uint16_t crc = seed ? seed : 0xFFFF; while (len--) crc = crc_table[(crc ^ *buffer++) & 0xff] ^ (crc >> 8); @@ -103,7 +103,7 @@ hdlc_escape (const char *inbuf, /* Since escaping potentially doubles the # of bytes, short-circuit the * length check if destination buffer is clearly large enough. Note the - * + * */ if (outbuf_len <= inbuf_len << 1) { size_t outbuf_required = inbuf_len + 1; /* +1 for the trailing control char */ @@ -129,7 +129,7 @@ hdlc_escape (const char *inbuf, src = inbuf; i = inbuf_len; while (i--) { - u_int8_t byte = (u_int8_t) *src++; + uint8_t byte = (uint8_t) *src++; if ( byte == DIAG_CONTROL_CHAR || byte == DIAG_ESC_CHAR @@ -194,13 +194,13 @@ size_t hdlc_encapsulate_buffer (char *inbuf, size_t cmd_len, size_t inbuf_len, - u_int16_t crc_seed, + uint16_t crc_seed, wmcbool add_trailer, wmcbool escape_all_ctrl, char *outbuf, size_t outbuf_len) { - u_int16_t crc; + uint16_t crc; size_t escaped_len; wmc_return_val_if_fail (inbuf != NULL, 0); @@ -338,7 +338,7 @@ wmcbool hdlc_decapsulate_buffer (const char *inbuf, size_t inbuf_len, wmcbool check_known_crc, - u_int16_t known_crc, + uint16_t known_crc, char *outbuf, size_t outbuf_len, size_t *out_decap_len, @@ -347,7 +347,7 @@ hdlc_decapsulate_buffer (const char *inbuf, { wmcbool escaping = FALSE; size_t i, pkt_len = 0, unesc_len; - u_int16_t crc, pkt_crc; + uint16_t crc, pkt_crc; wmc_return_val_if_fail (inbuf != NULL, FALSE); wmc_return_val_if_fail (outbuf != NULL, FALSE); @@ -457,4 +457,3 @@ wmc_decapsulate (const char *inbuf, outbuf, outbuf_len, out_decap_len, out_used, out_need_more); } - diff --git a/libwmc/src/utils.h b/libwmc/src/utils.h index f1fc4236..0918c29c 100644 --- a/libwmc/src/utils.h +++ b/libwmc/src/utils.h @@ -18,14 +18,14 @@ #ifndef LIBWMC_UTILS_H #define LIBWMC_UTILS_H -#include <sys/types.h> +#include <stdint.h> -typedef u_int8_t wmcbool; +typedef uint8_t wmcbool; #ifndef TRUE -#define TRUE ((u_int8_t) 1) +#define TRUE ((uint8_t) 1) #endif #ifndef FALSE -#define FALSE ((u_int8_t) 0) +#define FALSE ((uint8_t) 0) #endif #define DIAG_CONTROL_CHAR 0x7E @@ -33,7 +33,7 @@ typedef u_int8_t wmcbool; /* Utility and testcase functions */ -u_int16_t wmc_crc16 (const char *buffer, size_t len, u_int16_t seed); +uint16_t wmc_crc16 (const char *buffer, size_t len, uint16_t seed); size_t hdlc_escape (const char *inbuf, size_t inbuf_len, @@ -50,7 +50,7 @@ size_t hdlc_unescape (const char *inbuf, size_t hdlc_encapsulate_buffer (char *inbuf, size_t cmd_len, size_t inbuf_len, - u_int16_t crc_seed, + uint16_t crc_seed, wmcbool add_trailer, wmcbool escape_all_ctrl, char *outbuf, @@ -59,7 +59,7 @@ size_t hdlc_encapsulate_buffer (char *inbuf, wmcbool hdlc_decapsulate_buffer (const char *inbuf, size_t inbuf_len, wmcbool check_known_crc, - u_int16_t known_crc, + uint16_t known_crc, char *outbuf, size_t outbuf_len, size_t *out_decap_len, @@ -85,4 +85,3 @@ wmcbool wmc_decapsulate (const char *inbuf, wmcbool uml290); #endif /* LIBWMC_UTILS_H */ - |