1 /*=========================================================================== 2 3 M P Q M U X. H 4 DESCRIPTION: 5 6 This file provides support for QMUX. 7 8 INITIALIZATION AND SEQUENCING REQUIREMENTS: 9 10 Copyright (C) 2011 by Qualcomm Technologies, Incorporated. All Rights Reserved. 11 ===========================================================================*/ 12 13 #ifndef MPQMUX_H 14 #define MPQMUX_H 15 16 #include "MPQMI.h" 17 18 #pragma pack(push, 1) 19 20 #define QMIWDS_SET_EVENT_REPORT_REQ 0x0001 21 #define QMIWDS_SET_EVENT_REPORT_RESP 0x0001 22 #define QMIWDS_EVENT_REPORT_IND 0x0001 23 #define QMIWDS_START_NETWORK_INTERFACE_REQ 0x0020 24 #define QMIWDS_START_NETWORK_INTERFACE_RESP 0x0020 25 #define QMIWDS_STOP_NETWORK_INTERFACE_REQ 0x0021 26 #define QMIWDS_STOP_NETWORK_INTERFACE_RESP 0x0021 27 #define QMIWDS_GET_PKT_SRVC_STATUS_REQ 0x0022 28 #define QMIWDS_GET_PKT_SRVC_STATUS_RESP 0x0022 29 #define QMIWDS_GET_PKT_SRVC_STATUS_IND 0x0022 30 #define QMIWDS_GET_CURRENT_CHANNEL_RATE_REQ 0x0023 31 #define QMIWDS_GET_CURRENT_CHANNEL_RATE_RESP 0x0023 32 #define QMIWDS_GET_PKT_STATISTICS_REQ 0x0024 33 #define QMIWDS_GET_PKT_STATISTICS_RESP 0x0024 34 #define QMIWDS_MODIFY_PROFILE_SETTINGS_REQ 0x0028 35 #define QMIWDS_MODIFY_PROFILE_SETTINGS_RESP 0x0028 36 #define QMIWDS_GET_PROFILE_SETTINGS_REQ 0x002B 37 #define QMIWDS_GET_PROFILE_SETTINGS_RESP 0x002B 38 #define QMIWDS_GET_DEFAULT_SETTINGS_REQ 0x002C 39 #define QMIWDS_GET_DEFAULT_SETTINGS_RESP 0x002C 40 #define QMIWDS_GET_RUNTIME_SETTINGS_REQ 0x002D 41 #define QMIWDS_GET_RUNTIME_SETTINGS_RESP 0x002D 42 #define QMIWDS_GET_MIP_MODE_REQ 0x002F 43 #define QMIWDS_GET_MIP_MODE_RESP 0x002F 44 #define QMIWDS_GET_DATA_BEARER_REQ 0x0037 45 #define QMIWDS_GET_DATA_BEARER_RESP 0x0037 46 #define QMIWDS_DUN_CALL_INFO_REQ 0x0038 47 #define QMIWDS_DUN_CALL_INFO_RESP 0x0038 48 #define QMIWDS_DUN_CALL_INFO_IND 0x0038 49 #define QMIWDS_SET_CLIENT_IP_FAMILY_PREF_REQ 0x004D 50 #define QMIWDS_SET_CLIENT_IP_FAMILY_PREF_RESP 0x004D 51 #define QMIWDS_SET_AUTO_CONNECT_REQ 0x0051 52 #define QMIWDS_SET_AUTO_CONNECT_RESP 0x0051 53 #define QMIWDS_BIND_MUX_DATA_PORT_REQ 0x00A2 54 #define QMIWDS_BIND_MUX_DATA_PORT_RESP 0x00A2 55 56 57 // Stats masks 58 #define QWDS_STAT_MASK_TX_PKT_OK 0x00000001 59 #define QWDS_STAT_MASK_RX_PKT_OK 0x00000002 60 #define QWDS_STAT_MASK_TX_PKT_ER 0x00000004 61 #define QWDS_STAT_MASK_RX_PKT_ER 0x00000008 62 #define QWDS_STAT_MASK_TX_PKT_OF 0x00000010 63 #define QWDS_STAT_MASK_RX_PKT_OF 0x00000020 64 65 // TLV Types for xfer statistics 66 #define TLV_WDS_TX_GOOD_PKTS 0x10 67 #define TLV_WDS_RX_GOOD_PKTS 0x11 68 #define TLV_WDS_TX_ERROR 0x12 69 #define TLV_WDS_RX_ERROR 0x13 70 #define TLV_WDS_TX_OVERFLOW 0x14 71 #define TLV_WDS_RX_OVERFLOW 0x15 72 #define TLV_WDS_CHANNEL_RATE 0x16 73 #define TLV_WDS_DATA_BEARER 0x17 74 #define TLV_WDS_DORMANCY_STATUS 0x18 75 76 #define QWDS_PKT_DATA_UNKNOW 0x00 77 #define QWDS_PKT_DATA_DISCONNECTED 0x01 78 #define QWDS_PKT_DATA_CONNECTED 0x02 79 #define QWDS_PKT_DATA_SUSPENDED 0x03 80 #define QWDS_PKT_DATA_AUTHENTICATING 0x04 81 82 #define QMIWDS_ADMIN_SET_DATA_FORMAT_REQ 0x0020 83 #define QMIWDS_ADMIN_SET_DATA_FORMAT_RESP 0x0020 84 #define QMIWDS_ADMIN_GET_DATA_FORMAT_REQ 0x0021 85 #define QMIWDS_ADMIN_GET_DATA_FORMAT_RESP 0x0021 86 #define QMIWDS_ADMIN_SET_QMAP_SETTINGS_REQ 0x002B 87 #define QMIWDS_ADMIN_SET_QMAP_SETTINGS_RESP 0x002B 88 #define QMIWDS_ADMIN_GET_QMAP_SETTINGS_REQ 0x002C 89 #define QMIWDS_ADMIN_GET_QMAP_SETTINGS_RESP 0x002C 90 #define QMI_WDA_SET_LOOPBACK_CONFIG_REQ 0x002F 91 #define QMI_WDA_SET_LOOPBACK_CONFIG_RESP 0x002F 92 #define QMI_WDA_SET_LOOPBACK_CONFIG_IND 0x002F 93 94 #define NETWORK_DESC_ENCODING_OCTET 0x00 95 #define NETWORK_DESC_ENCODING_EXTPROTOCOL 0x01 96 #define NETWORK_DESC_ENCODING_7BITASCII 0x02 97 #define NETWORK_DESC_ENCODING_IA5 0x03 98 #define NETWORK_DESC_ENCODING_UNICODE 0x04 99 #define NETWORK_DESC_ENCODING_SHIFTJIS 0x05 100 #define NETWORK_DESC_ENCODING_KOREAN 0x06 101 #define NETWORK_DESC_ENCODING_LATINH 0x07 102 #define NETWORK_DESC_ENCODING_LATIN 0x08 103 #define NETWORK_DESC_ENCODING_GSM7BIT 0x09 104 #define NETWORK_DESC_ENCODING_GSMDATA 0x0A 105 #define NETWORK_DESC_ENCODING_UNKNOWN 0xFF 106 107 typedef struct _QMIWDS_ADMIN_SET_DATA_FORMAT 108 { 109 USHORT Type; // QMUX type 0x0000 110 USHORT Length; 111 } __attribute__ ((packed)) QMIWDS_ADMIN_SET_DATA_FORMAT, *PQMIWDS_ADMIN_SET_DATA_FORMAT; 112 113 typedef struct _QMIWDS_ADMIN_SET_DATA_FORMAT_TLV_QOS 114 { 115 UCHAR TLVType; 116 USHORT TLVLength; 117 UCHAR QOSSetting; 118 } __attribute__ ((packed)) QMIWDS_ADMIN_SET_DATA_FORMAT_TLV_QOS, *PQMIWDS_ADMIN_SET_DATA_FORMAT_TLV_QOS; 119 120 typedef struct _QMIWDS_ADMIN_SET_DATA_FORMAT_TLV 121 { 122 UCHAR TLVType; 123 USHORT TLVLength; 124 ULONG Value; 125 } __attribute__ ((packed)) QMIWDS_ADMIN_SET_DATA_FORMAT_TLV, *PQMIWDS_ADMIN_SET_DATA_FORMAT_TLV; 126 127 typedef struct _QMIWDS_ENDPOINT_TLV 128 { 129 UCHAR TLVType; 130 USHORT TLVLength; 131 ULONG ep_type; 132 ULONG iface_id; 133 } __attribute__ ((packed)) QMIWDS_ENDPOINT_TLV, *PQMIWDS_ENDPOINT_TLV; 134 135 typedef struct _QMIWDS_ADMIN_SET_DATA_FORMAT_REQ_MSG 136 { 137 USHORT Type; 138 USHORT Length; 139 QMIWDS_ADMIN_SET_DATA_FORMAT_TLV_QOS QosDataFormatTlv; 140 QMIWDS_ADMIN_SET_DATA_FORMAT_TLV UnderlyingLinkLayerProtocolTlv; 141 QMIWDS_ADMIN_SET_DATA_FORMAT_TLV UplinkDataAggregationProtocolTlv; 142 QMIWDS_ADMIN_SET_DATA_FORMAT_TLV DownlinkDataAggregationProtocolTlv; 143 QMIWDS_ADMIN_SET_DATA_FORMAT_TLV DownlinkDataAggregationMaxDatagramsTlv; 144 QMIWDS_ADMIN_SET_DATA_FORMAT_TLV DownlinkDataAggregationMaxSizeTlv; 145 QMIWDS_ENDPOINT_TLV epTlv; 146 #ifdef QUECTEL_UL_DATA_AGG 147 QMIWDS_ADMIN_SET_DATA_FORMAT_TLV DlMinimumPassingTlv; 148 QMIWDS_ADMIN_SET_DATA_FORMAT_TLV UplinkDataAggregationMaxDatagramsTlv; 149 QMIWDS_ADMIN_SET_DATA_FORMAT_TLV UplinkDataAggregationMaxSizeTlv; 150 #endif 151 } __attribute__ ((packed)) QMIWDS_ADMIN_SET_DATA_FORMAT_REQ_MSG, *PQMIWDS_ADMIN_SET_DATA_FORMAT_REQ_MSG; 152 153 typedef struct _QMI_U8_TLV 154 { 155 UCHAR TLVType; 156 USHORT TLVLength; 157 UCHAR TLVVaule; 158 } __attribute__ ((packed)) QMI_U8_TLV, *PQMI_U8_TLV; 159 160 typedef struct _QMI_U32_TLV 161 { 162 UCHAR TLVType; 163 USHORT TLVLength; 164 ULONG TLVVaule; 165 } __attribute__ ((packed)) QMI_U32_TLV, *PQMI_U32_TLV; 166 167 typedef struct _QMI_WDA_SET_LOOPBACK_CONFIG_REQ_MSG { 168 USHORT Type; 169 USHORT Length; 170 QMI_U8_TLV loopback_state; //0x01 171 QMI_U32_TLV replication_factor; //0x10 172 } __attribute__ ((packed)) QMI_WDA_SET_LOOPBACK_CONFIG_REQ_MSG, *PQMI_WDA_SET_LOOPBACK_CONFIG_REQ_MSG; 173 174 typedef struct _QMI_WDA_SET_LOOPBACK_CONFIG_IND_MSG 175 { 176 USHORT Type; 177 USHORT Length; 178 QMI_U8_TLV loopback_state; //0x01 179 QMI_U32_TLV replication_factor; //0x10 180 } __attribute__ ((packed)) QMI_WDA_SET_LOOPBACK_CONFIG_IND_MSG, *PQMI_WDA_SET_LOOPBACK_CONFIG_IND_MSG; 181 182 #if 0 183 typedef enum _QMI_RETURN_CODES { 184 QMI_SUCCESS = 0, 185 QMI_SUCCESS_NOT_COMPLETE, 186 QMI_FAILURE 187 }QMI_RETURN_CODES; 188 189 typedef struct _QMIWDS_GET_PKT_SRVC_STATUS_REQ_MSG 190 { 191 USHORT Type; // 0x0022 192 USHORT Length; // 0x0000 193 } QMIWDS_GET_PKT_SRVC_STATUS_REQ_MSG, *PQMIWDS_GET_PKT_SRVC_STATUS_REQ_MSG; 194 195 typedef struct _QMIWDS_GET_PKT_SRVC_STATUS_RESP_MSG 196 { 197 USHORT Type; 198 USHORT Length; 199 UCHAR TLVType; 200 USHORT TLVLength; 201 USHORT QMUXResult; 202 USHORT QMUXError; 203 UCHAR TLVType2; 204 USHORT TLVLength2; 205 UCHAR ConnectionStatus; // 0x01: QWDS_PKT_DATAC_DISCONNECTED 206 // 0x02: QWDS_PKT_DATA_CONNECTED 207 // 0x03: QWDS_PKT_DATA_SUSPENDED 208 // 0x04: QWDS_PKT_DATA_AUTHENTICATING 209 } QMIWDS_GET_PKT_SRVC_STATUS_RESP_MSG, *PQMIWDS_GET_PKT_SRVC_STATUS_RESP_MSG; 210 211 typedef struct _QMIWDS_GET_PKT_SRVC_STATUS_IND_MSG 212 { 213 USHORT Type; 214 USHORT Length; 215 UCHAR TLVType; 216 USHORT TLVLength; 217 UCHAR ConnectionStatus; // 0x01: QWDS_PKT_DATAC_DISCONNECTED 218 // 0x02: QWDS_PKT_DATA_CONNECTED 219 // 0x03: QWDS_PKT_DATA_SUSPENDED 220 UCHAR ReconfigRequired; // 0x00: No need to reconfigure 221 // 0x01: Reconfiguration required 222 } QMIWDS_GET_PKT_SRVC_STATUS_IND_MSG, *PQMIWDS_GET_PKT_SRVC_STATUS_IND_MSG; 223 224 typedef struct _WDS_PKT_SRVC_IP_FAMILY_TLV 225 { 226 UCHAR TLVType; // 0x12 227 USHORT TLVLength; // 1 228 UCHAR IpFamily; // IPV4-0x04, IPV6-0x06 229 } WDS_PKT_SRVC_IP_FAMILY_TLV, *PWDS_PKT_SRVC_IP_FAMILY_TLV; 230 231 typedef struct _QMIWDS_DUN_CALL_INFO_REQ_MSG 232 { 233 USHORT Type; 234 USHORT Length; 235 UCHAR TLVType; 236 USHORT TLVLength; 237 ULONG Mask; 238 UCHAR TLV2Type; 239 USHORT TLV2Length; 240 UCHAR ReportConnectionStatus; 241 } QMIWDS_DUN_CALL_INFO_REQ_MSG, *PQMIWDS_DUN_CALL_INFO_REQ_MSG; 242 243 typedef struct _QMIWDS_DUN_CALL_INFO_RESP_MSG 244 { 245 USHORT Type; 246 USHORT Length; 247 UCHAR TLVType; 248 USHORT TLVLength; 249 USHORT QMUXResult; 250 USHORT QMUXError; 251 } QMIWDS_DUN_CALL_INFO_RESP_MSG, *PQMIWDS_DUN_CALL_INFO_RESP_MSG; 252 253 typedef struct _QMIWDS_DUN_CALL_INFO_IND_MSG 254 { 255 UCHAR TLVType; 256 USHORT TLVLength; 257 UCHAR ConnectionStatus; 258 } QMIWDS_DUN_CALL_INFO_IND_MSG, *PQMIWDS_DUN_CALL_INFO_IND_MSG; 259 260 typedef struct _QMIWDS_GET_CURRENT_CHANNEL_RATE_REQ_MSG 261 { 262 USHORT Type; // QMUX type 0x0040 263 USHORT Length; 264 } QMIWDS_GET_CURRENT_CHANNEL_RATE_REQ_MSG, *PQMIWDS_GET_CURRENT_CHANNEL_RATE_REQ_MSG; 265 266 typedef struct _QMIWDS_GET_CURRENT_CHANNEL_RATE_RESP_MSG 267 { 268 USHORT Type; // QMUX type 0x0040 269 USHORT Length; 270 UCHAR TLVType; // 0x02 271 USHORT TLVLength; // 4 272 USHORT QMUXResult; // QMI_RESULT_SUCCESS 273 // QMI_RESULT_FAILURE 274 USHORT QMUXError; // QMI_ERR_INVALID_ARG 275 // QMI_ERR_NO_MEMORY 276 // QMI_ERR_INTERNAL 277 // QMI_ERR_FAULT 278 279 UCHAR TLV2Type; // 0x01 280 USHORT TLV2Length; // 16 281 //ULONG CallHandle; // Context corresponding to reported channel 282 ULONG CurrentTxRate; // bps 283 ULONG CurrentRxRate; // bps 284 ULONG ServingSystemTxRate; // bps 285 ULONG ServingSystemRxRate; // bps 286 287 } QMIWDS_GET_CURRENT_CHANNEL_RATE_RESP_MSG, *PQMIWDS_GET_CURRENT_CHANNEL_RATE_RESP; 288 289 #define QWDS_EVENT_REPORT_MASK_RATES 0x01 290 #define QWDS_EVENT_REPORT_MASK_STATS 0x02 291 292 #ifdef QCUSB_MUX_PROTOCOL 293 #error code not present 294 #endif // QCUSB_MUX_PROTOCOL 295 296 typedef struct _QMIWDS_SET_EVENT_REPORT_REQ_MSG 297 { 298 USHORT Type; // QMUX type 0x0042 299 USHORT Length; 300 301 UCHAR TLVType; // 0x10 -- current channel rate indicator 302 USHORT TLVLength; // 1 303 UCHAR Mode; // 0-do not report; 1-report when rate changes 304 305 UCHAR TLV2Type; // 0x11 306 USHORT TLV2Length; // 5 307 UCHAR StatsPeriod; // seconds between reports; 0-do not report 308 ULONG StatsMask; // 309 310 UCHAR TLV3Type; // 0x12 -- current data bearer indicator 311 USHORT TLV3Length; // 1 312 UCHAR Mode3; // 0-do not report; 1-report when changes 313 314 UCHAR TLV4Type; // 0x13 -- dormancy status indicator 315 USHORT TLV4Length; // 1 316 UCHAR DormancyStatus; // 0-do not report; 1-report when changes 317 } QMIWDS_SET_EVENT_REPORT_REQ_MSG, *PQMIWDS_SET_EVENT_REPORT_REQ_MSG; 318 319 typedef struct _QMIWDS_SET_EVENT_REPORT_RESP_MSG 320 { 321 USHORT Type; // QMUX type 0x0042 322 USHORT Length; 323 324 UCHAR TLVType; // 0x02 result code 325 USHORT TLVLength; // 4 326 USHORT QMUXResult; // QMI_RESULT_SUCCESS 327 // QMI_RESULT_FAILURE 328 USHORT QMUXError; // QMI_ERR_INVALID_ARG 329 // QMI_ERR_NO_MEMORY 330 // QMI_ERR_INTERNAL 331 // QMI_ERR_NO_BATTERY 332 // QMI_ERR_FAULT 333 } QMIWDS_SET_EVENT_REPORT_RESP_MSG, *PQMIWDS_SET_EVENT_REPORT_RESP_MSG; 334 335 typedef struct _QMIWDS_EVENT_REPORT_IND_MSG 336 { 337 USHORT Type; // QMUX type 0x0001 338 USHORT Length; 339 } QMIWDS_EVENT_REPORT_IND_MSG, *PQMIWDS_EVENT_REPORT_IND_MSG; 340 341 // PQCTLV_PKT_STATISTICS 342 343 typedef struct _QMIWDS_EVENT_REPORT_IND_CHAN_RATE_TLV 344 { 345 UCHAR Type; 346 USHORT Length; // 8 347 ULONG TxRate; 348 ULONG RxRate; 349 } QMIWDS_EVENT_REPORT_IND_CHAN_RATE_TLV, *PQMIWDS_EVENT_REPORT_IND_CHAN_RATE_TLV; 350 351 #ifdef QCUSB_MUX_PROTOCOL 352 #error code not present 353 #endif // QCUSB_MUX_PROTOCOL 354 355 typedef struct _QMIWDS_GET_PKT_STATISTICS_REQ_MSG 356 { 357 USHORT Type; // QMUX type 0x0041 358 USHORT Length; 359 UCHAR TLVType; // 0x01 360 USHORT TLVLength; // 4 361 ULONG StateMask; // 0x00000001 tx success packets 362 // 0x00000002 rx success packets 363 // 0x00000004 rx packet errors (checksum) 364 // 0x00000008 rx packets dropped (memory) 365 366 } QMIWDS_GET_PKT_STATISTICS_REQ_MSG, *PQMIWDS_GET_PKT_STATISTICS_REQ_MSG; 367 368 typedef struct _QMIWDS_GET_PKT_STATISTICS_RESP_MSG 369 { 370 USHORT Type; // QMUX type 0x0041 371 USHORT Length; 372 UCHAR TLVType; // 0x02 373 USHORT TLVLength; // 4 374 USHORT QMUXResult; // QMI_RESULT_SUCCESS 375 // QMI_RESULT_FAILURE 376 USHORT QMUXError; // QMI_ERR_INVALID_ARG 377 // QMI_ERR_NO_MEMORY 378 // QMI_ERR_INTERNAL 379 // QMI_ERR_FAULT 380 } QMIWDS_GET_PKT_STATISTICS_RESP_MSG, *PQMIWDS_GET_PKT_STATISTICS_RESP_MSG; 381 382 // optional TLV for stats 383 typedef struct _QCTLV_PKT_STATISTICS 384 { 385 UCHAR TLVType; // see above definitions for TLV types 386 USHORT TLVLength; // 4 387 ULONG Count; 388 } QCTLV_PKT_STATISTICS, *PQCTLV_PKT_STATISTICS; 389 #endif 390 391 //#ifdef QC_IP_MODE 392 393 /* 394 • Bit 0 – Profile identifier 395 • Bit 1 – Profile name 396 • Bit 2 – PDP type 397 • Bit 3 – APN name 398 • Bit 4 – DNS address 399 • Bit 5 – UMTS/GPRS granted QoS 400 • Bit 6 – Username 401 • Bit 7 – Authentication Protocol 402 • Bit 8 – IP address 403 • Bit 9 – Gateway information (address and subnet mask) 404 • Bit 10 – PCSCF address using a PCO flag 405 • Bit 11 – PCSCF server address list 406 • Bit 12 – PCSCF domain name list 407 • Bit 13 – MTU 408 • Bit 14 – Domain name list 409 • Bit 15 – IP family 410 • Bit 16 – IM_CM flag 411 • Bit 17 – Technology name 412 • Bit 18 – Operator reserved PCO 413 */ 414 #define QMIWDS_GET_RUNTIME_SETTINGS_MASK_IPV4DNS_ADDR (1 << 4) 415 #define QMIWDS_GET_RUNTIME_SETTINGS_MASK_IPV4_ADDR (1 << 8) 416 #define QMIWDS_GET_RUNTIME_SETTINGS_MASK_IPV4GATEWAY_ADDR (1 << 9) 417 #define QMIWDS_GET_RUNTIME_SETTINGS_MASK_MTU (1 << 13) 418 #define QMIWDS_GET_RUNTIME_SETTINGS_MASK_PCSCF_SV_ADDR (1 << 11) 419 #define QMIWDS_GET_RUNTIME_SETTINGS_MASK_PCSCF_DOM_NAME (1 << 14) 420 421 typedef struct _QMIWDS_GET_RUNTIME_SETTINGS_REQ_MSG 422 { 423 USHORT Type; // QMIWDS_GET_RUNTIME_SETTINGS_REQ 424 USHORT Length; 425 UCHAR TLVType; // 0x10 426 USHORT TLVLength; // 0x0004 427 ULONG Mask; // mask, bit 8: IP addr -- 0x0100 428 } __attribute__ ((packed)) QMIWDS_GET_RUNTIME_SETTINGS_REQ_MSG, *PQMIWDS_GET_RUNTIME_SETTINGS_REQ_MSG; 429 430 typedef struct _QMIWDS_BIND_MUX_DATA_PORT_REQ_MSG 431 { 432 USHORT Type; 433 USHORT Length; 434 UCHAR TLVType; 435 USHORT TLVLength; 436 ULONG ep_type; 437 ULONG iface_id; 438 UCHAR TLV2Type; 439 USHORT TLV2Length; 440 UCHAR MuxId; 441 UCHAR TLV3Type; 442 USHORT TLV3Length; 443 ULONG client_type; 444 } __attribute__ ((packed)) QMIWDS_BIND_MUX_DATA_PORT_REQ_MSG, *PQMIWDS_BIND_MUX_DATA_PORT_REQ_MSG; 445 446 #define QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_IPV4PRIMARYDNS 0x15 447 #define QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_IPV4SECONDARYDNS 0x16 448 #define QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_IPV4 0x1E 449 #define QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_IPV4GATEWAY 0x20 450 #define QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_IPV4SUBNET 0x21 451 452 #define QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_IPV6 0x25 453 #define QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_IPV6GATEWAY 0x26 454 #define QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_IPV6PRIMARYDNS 0x27 455 #define QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_IPV6SECONDARYDNS 0x28 456 #define QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_MTU 0x29 457 458 typedef struct _QMIWDS_GET_RUNTIME_SETTINGS_TLV_MTU 459 { 460 UCHAR TLVType; // QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_MTU 461 USHORT TLVLength; // 4 462 ULONG Mtu; // MTU 463 } __attribute__ ((packed)) QMIWDS_GET_RUNTIME_SETTINGS_TLV_MTU, *PQMIWDS_GET_RUNTIME_SETTINGS_TLV_MTU; 464 465 typedef struct _QMIWDS_GET_RUNTIME_SETTINGS_TLV_IPV4_ADDR 466 { 467 UCHAR TLVType; // QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_IPV4 468 USHORT TLVLength; // 4 469 ULONG IPV4Address; // address 470 } __attribute__ ((packed)) QMIWDS_GET_RUNTIME_SETTINGS_TLV_IPV4_ADDR, *PQMIWDS_GET_RUNTIME_SETTINGS_TLV_IPV4_ADDR; 471 472 typedef struct _QMIWDS_GET_RUNTIME_SETTINGS_TLV_IPV6_ADDR 473 { 474 UCHAR TLVType; // QMIWDS_GET_RUNTIME_SETTINGS_TLV_TYPE_IPV6 475 USHORT TLVLength; // 16 476 UCHAR IPV6Address[16]; // address 477 UCHAR PrefixLength; // prefix length 478 } __attribute__ ((packed)) QMIWDS_GET_RUNTIME_SETTINGS_TLV_IPV6_ADDR, *PQMIWDS_GET_RUNTIME_SETTINGS_TLV_IPV6_ADDR; 479 480 typedef struct _QMIWDS_GET_RUNNING_SETTINGS_PCSCF_IPV6_ADDR 481 { 482 UCHAR TLVType; 483 USHORT TLVLength; 484 UCHAR PCSCFNumber; 485 } __attribute__ ((packed)) QMIWDS_GET_RUNNING_SETTINGS_PCSCF_IPV6_ADDR, *PQMIWDS_GET_RUNNING_SETTINGS_PCSCF_IPV6_ADDR; 486 487 typedef struct _QMIWDS_GET_RUNNING_SETTINGS_PCSCF_IPV4_ADDR 488 { 489 UCHAR TLVType; 490 USHORT TLVLength; 491 UCHAR PCSCFNumber; 492 } __attribute__ ((packed)) QMIWDS_GET_RUNNING_SETTINGS_PCSCF_IPV4_ADDR, *PQMIWDS_GET_RUNNING_SETTINGS_PCSCF_IPV4_ADDR; 493 494 typedef struct _QMIWDS_GET_RUNTIME_SETTINGS_RESP_MSG 495 { 496 USHORT Type; // QMIWDS_GET_RUNTIME_SETTINGS_RESP 497 USHORT Length; 498 UCHAR TLVType; // QCTLV_TYPE_RESULT_CODE 499 USHORT TLVLength; // 0x0004 500 USHORT QMUXResult; // result code 501 USHORT QMUXError; // error code 502 } __attribute__ ((packed)) QMIWDS_GET_RUNTIME_SETTINGS_RESP_MSG, *PQMIWDS_GET_RUNTIME_SETTINGS_RESP_MSG; 503 504 //#endif // QC_IP_MODE 505 506 typedef struct _QMIWDS_IP_FAMILY_TLV 507 { 508 UCHAR TLVType; // 0x12 509 USHORT TLVLength; // 1 510 UCHAR IpFamily; // IPV4-0x04, IPV6-0x06 511 } __attribute__ ((packed)) QMIWDS_IP_FAMILY_TLV, *PQMIWDS_IP_FAMILY_TLV; 512 513 typedef struct _QMIWDS_PKT_SRVC_TLV 514 { 515 UCHAR TLVType; 516 USHORT TLVLength; 517 UCHAR ConnectionStatus; 518 UCHAR ReconfigReqd; 519 } __attribute__ ((packed)) QMIWDS_PKT_SRVC_TLV, *PQMIWDS_PKT_SRVC_TLV; 520 521 typedef struct _QMIWDS_CALL_END_REASON_TLV 522 { 523 UCHAR TLVType; 524 USHORT TLVLength; 525 USHORT CallEndReason; 526 } __attribute__ ((packed)) QMIWDS_CALL_END_REASON_TLV, *PQMIWDS_CALL_END_REASON_TLV; 527 528 typedef struct _QMIWDS_CALL_END_REASON_V_TLV 529 { 530 UCHAR TLVType; 531 USHORT TLVLength; 532 USHORT CallEndReasonType; 533 USHORT CallEndReason; 534 } __attribute__ ((packed)) QMIWDS_CALL_END_REASON_V_TLV, *PQMIWDS_CALL_END_REASON_V_TLV; 535 536 typedef struct _QMIWDS_SET_CLIENT_IP_FAMILY_PREF_REQ_MSG 537 { 538 USHORT Type; // QMUX type 0x004D 539 USHORT Length; 540 UCHAR TLVType; // 0x01 541 USHORT TLVLength; // 1 542 UCHAR IpPreference; // IPV4-0x04, IPV6-0x06 543 } __attribute__ ((packed)) QMIWDS_SET_CLIENT_IP_FAMILY_PREF_REQ_MSG, *PQMIWDS_SET_CLIENT_IP_FAMILY_PREF_REQ_MSG; 544 545 typedef struct _QMIWDS_SET_CLIENT_IP_FAMILY_PREF_RESP_MSG 546 { 547 USHORT Type; // QMUX type 0x0037 548 USHORT Length; 549 UCHAR TLVType; // 0x02 550 USHORT TLVLength; // 4 551 USHORT QMUXResult; // QMI_RESULT_SUCCESS, QMI_RESULT_FAILURE 552 USHORT QMUXError; // QMI_ERR_INTERNAL, QMI_ERR_MALFORMED_MSG, QMI_ERR_INVALID_ARG 553 } __attribute__ ((packed)) QMIWDS_SET_CLIENT_IP_FAMILY_PREF_RESP_MSG, *PQMIWDS_SET_CLIENT_IP_FAMILY_PREF_RESP_MSG; 554 555 typedef struct _QMIWDS_SET_AUTO_CONNECT_REQ_MSG 556 { 557 USHORT Type; // QMUX type 0x0051 558 USHORT Length; 559 UCHAR TLVType; // 0x01 560 USHORT TLVLength; // 1 561 UCHAR autoconnect_setting; // 0x00 ?C Disabled, 0x01 ?C Enabled, 0x02 ?C Paused (resume on power cycle) 562 } __attribute__ ((packed)) QMIWDS_SET_AUTO_CONNECT_REQ_MSG, *PQMIWDS_SET_AUTO_CONNECT_REQ_MSG; 563 564 #if 0 565 typedef struct _QMIWDS_GET_MIP_MODE_REQ_MSG 566 { 567 USHORT Type; // QMUX type 0x0040 568 USHORT Length; 569 } QMIWDS_GET_MIP_MODE_REQ_MSG, *PQMIWDS_GET_MIP_MODE_REQ_MSG; 570 571 typedef struct _QMIWDS_GET_MIP_MODE_RESP_MSG 572 { 573 USHORT Type; // QMUX type 0x0040 574 USHORT Length; 575 UCHAR TLVType; // 0x02 576 USHORT TLVLength; // 4 577 USHORT QMUXResult; // QMI_RESULT_SUCCESS 578 // QMI_RESULT_FAILURE 579 USHORT QMUXError; // QMI_ERR_INVALID_ARG 580 // QMI_ERR_NO_MEMORY 581 // QMI_ERR_INTERNAL 582 // QMI_ERR_FAULT 583 584 UCHAR TLV2Type; // 0x01 585 USHORT TLV2Length; // 20 586 UCHAR MipMode; // 587 } QMIWDS_GET_MIP_MODE_RESP_MSG, *PQMIWDS_GET_MIP_MODE_RESP_MSG; 588 #endif 589 590 typedef struct _QMIWDS_TECHNOLOGY_PREFERECE 591 { 592 UCHAR TLVType; 593 USHORT TLVLength; 594 UCHAR TechPreference; 595 } __attribute__ ((packed)) QMIWDS_TECHNOLOGY_PREFERECE, *PQMIWDS_TECHNOLOGY_PREFERECE; 596 597 typedef struct _QMIWDS_PROFILE_IDENTIFIER 598 { 599 UCHAR TLVType; 600 USHORT TLVLength; 601 UCHAR ProfileIndex; 602 } __attribute__ ((packed)) QMIWDS_PROFILE_IDENTIFIER, *PQMIWDS_PROFILE_IDENTIFIER; 603 604 #if 0 605 typedef struct _QMIWDS_IPADDRESS 606 { 607 UCHAR TLVType; 608 USHORT TLVLength; 609 ULONG IPv4Address; 610 }QMIWDS_IPADDRESS, *PQMIWDS_IPADDRESS; 611 612 /* 613 typedef struct _QMIWDS_UMTS_QOS 614 { 615 UCHAR TLVType; 616 USHORT TLVLength; 617 UCHAR TrafficClass; 618 ULONG MaxUplinkBitRate; 619 ULONG MaxDownlinkBitRate; 620 ULONG GuarUplinkBitRate; 621 ULONG GuarDownlinkBitRate; 622 UCHAR QOSDevOrder; 623 ULONG MAXSDUSize; 624 UCHAR SDUErrorRatio; 625 UCHAR ResidualBerRatio; 626 UCHAR DeliveryErrorSDUs; 627 ULONG TransferDelay; 628 ULONG TrafficHndPri; 629 }QMIWDS_UMTS_QOS, *PQMIWDS_UMTS_QOS; 630 631 typedef struct _QMIWDS_GPRS_QOS 632 { 633 UCHAR TLVType; 634 USHORT TLVLength; 635 ULONG PrecedenceClass; 636 ULONG DelayClass; 637 ULONG ReliabilityClass; 638 ULONG PeekThroClass; 639 ULONG MeanThroClass; 640 }QMIWDS_GPRS_QOS, *PQMIWDS_GPRS_QOS; 641 */ 642 #endif 643 644 typedef struct _QMIWDS_PROFILENAME 645 { 646 UCHAR TLVType; 647 USHORT TLVLength; 648 UCHAR ProfileName; 649 } __attribute__ ((packed)) QMIWDS_PROFILENAME, *PQMIWDS_PROFILENAME; 650 651 typedef struct _QMIWDS_PDPTYPE 652 { 653 UCHAR TLVType; 654 USHORT TLVLength; 655 // 0 ?C PDP-IP (IPv4) 656 // 1 ?C PDP-PPP 657 // 2 ?C PDP-IPv6 658 // 3 ?C PDP-IPv4v6 659 UCHAR PdpType; 660 } __attribute__ ((packed)) QMIWDS_PDPTYPE, *PQMIWDS_PDPTYPE; 661 662 typedef struct _QMIWDS_USERNAME 663 { 664 UCHAR TLVType; 665 USHORT TLVLength; 666 UCHAR UserName; 667 } __attribute__ ((packed)) QMIWDS_USERNAME, *PQMIWDS_USERNAME; 668 669 typedef struct _QMIWDS_PASSWD 670 { 671 UCHAR TLVType; 672 USHORT TLVLength; 673 UCHAR Passwd; 674 } __attribute__ ((packed)) QMIWDS_PASSWD, *PQMIWDS_PASSWD; 675 676 typedef struct _QMIWDS_AUTH_PREFERENCE 677 { 678 UCHAR TLVType; 679 USHORT TLVLength; 680 UCHAR AuthPreference; 681 } __attribute__ ((packed)) QMIWDS_AUTH_PREFERENCE, *PQMIWDS_AUTH_PREFERENCE; 682 683 typedef struct _QMIWDS_APNNAME 684 { 685 UCHAR TLVType; 686 USHORT TLVLength; 687 UCHAR ApnName; 688 } __attribute__ ((packed)) QMIWDS_APNNAME, *PQMIWDS_APNNAME; 689 690 typedef struct _QMIWDS_AUTOCONNECT 691 { 692 UCHAR TLVType; 693 USHORT TLVLength; 694 UCHAR AutoConnect; 695 } __attribute__ ((packed)) QMIWDS_AUTOCONNECT, *PQMIWDS_AUTOCONNECT; 696 697 typedef struct _QMIWDS_START_NETWORK_INTERFACE_REQ_MSG 698 { 699 USHORT Type; 700 USHORT Length; 701 } __attribute__ ((packed)) QMIWDS_START_NETWORK_INTERFACE_REQ_MSG, *PQMIWDS_START_NETWORK_INTERFACE_REQ_MSG; 702 703 typedef struct _QMIWDS_CALLENDREASON 704 { 705 UCHAR TLVType; 706 USHORT TLVLength; 707 USHORT Reason; 708 }__attribute__ ((packed)) QMIWDS_CALLENDREASON, *PQMIWDS_CALLENDREASON; 709 710 typedef struct _QMIWDS_START_NETWORK_INTERFACE_RESP_MSG 711 { 712 USHORT Type; // QMUX type 0x0040 713 USHORT Length; 714 UCHAR TLVType; // 0x02 715 USHORT TLVLength; // 4 716 USHORT QMUXResult; // QMI_RESULT_SUCCESS 717 // QMI_RESULT_FAILURE 718 USHORT QMUXError; // QMI_ERR_INVALID_ARG 719 // QMI_ERR_NO_MEMORY 720 // QMI_ERR_INTERNAL 721 // QMI_ERR_FAULT 722 723 UCHAR TLV2Type; // 0x01 724 USHORT TLV2Length; // 20 725 ULONG Handle; // 726 } __attribute__ ((packed)) QMIWDS_START_NETWORK_INTERFACE_RESP_MSG, *PQMIWDS_START_NETWORK_INTERFACE_RESP_MSG; 727 728 typedef struct _QMIWDS_STOP_NETWORK_INTERFACE_REQ_MSG 729 { 730 USHORT Type; 731 USHORT Length; 732 UCHAR TLVType; 733 USHORT TLVLength; 734 ULONG Handle; 735 } __attribute__ ((packed)) QMIWDS_STOP_NETWORK_INTERFACE_REQ_MSG, *PQMIWDS_STOP_NETWORK_INTERFACE_REQ_MSG; 736 737 typedef struct _QMIWDS_STOP_NETWORK_INTERFACE_RESP_MSG 738 { 739 USHORT Type; // QMUX type 0x0040 740 USHORT Length; 741 UCHAR TLVType; // 0x02 742 USHORT TLVLength; // 4 743 USHORT QMUXResult; // QMI_RESULT_SUCCESS 744 // QMI_RESULT_FAILURE 745 USHORT QMUXError; // QMI_ERR_INVALID_ARG 746 // QMI_ERR_NO_MEMORY 747 // QMI_ERR_INTERNAL 748 // QMI_ERR_FAULT 749 750 } __attribute__ ((packed)) QMIWDS_STOP_NETWORK_INTERFACE_RESP_MSG, *PQMIWDS_STOP_NETWORK_INTERFACE_RESP_MSG; 751 752 typedef struct _QMIWDS_GET_DEFAULT_SETTINGS_REQ_MSG 753 { 754 USHORT Type; 755 USHORT Length; 756 UCHAR TLVType; 757 USHORT TLVLength; 758 UCHAR ProfileType; 759 } __attribute__ ((packed)) QMIWDS_GET_DEFAULT_SETTINGS_REQ_MSG, *PQMIWDS_GET_DEFAULT_SETTINGS_REQ_MSG; 760 761 typedef struct _QMIWDS_GET_DEFAULT_SETTINGS_RESP_MSG 762 { 763 USHORT Type; 764 USHORT Length; 765 UCHAR TLVType; 766 USHORT TLVLength; 767 USHORT QMUXResult; 768 USHORT QMUXError; 769 } __attribute__ ((packed)) QMIWDS_GET_DEFAULT_SETTINGS_RESP_MSG, *PQMIWDS_GET_DEFAULT_SETTINGS_RESP_MSG; 770 771 typedef struct _QMIWDS_MODIFY_PROFILE_SETTINGS_REQ_MSG 772 { 773 USHORT Type; 774 USHORT Length; 775 UCHAR TLVType; 776 USHORT TLVLength; 777 UCHAR ProfileType; 778 UCHAR ProfileIndex; 779 } __attribute__ ((packed)) QMIWDS_MODIFY_PROFILE_SETTINGS_REQ_MSG, *PQMIWDS_MODIFY_PROFILE_SETTINGS_REQ_MSG; 780 781 typedef struct _QMIWDS_MODIFY_PROFILE_SETTINGS_RESP_MSG 782 { 783 USHORT Type; 784 USHORT Length; 785 UCHAR TLVType; 786 USHORT TLVLength; 787 USHORT QMUXResult; 788 USHORT QMUXError; 789 } __attribute__ ((packed)) QMIWDS_MODIFY_PROFILE_SETTINGS_RESP_MSG, *PQMIWDS_MODIFY_PROFILE_SETTINGS_RESP_MSG; 790 791 typedef struct _QMIWDS_GET_PROFILE_SETTINGS_REQ_MSG 792 { 793 USHORT Type; 794 USHORT Length; 795 UCHAR TLVType; 796 USHORT TLVLength; 797 UCHAR ProfileType; 798 UCHAR ProfileIndex; 799 } __attribute__ ((packed)) QMIWDS_GET_PROFILE_SETTINGS_REQ_MSG, *PQMIWDS_GET_PROFILE_SETTINGS_REQ_MSG; 800 801 #if 0 802 typedef struct _QMIWDS_EVENT_REPORT_IND_DATA_BEARER_TLV 803 { 804 UCHAR Type; 805 USHORT Length; 806 UCHAR DataBearer; 807 } QMIWDS_EVENT_REPORT_IND_DATA_BEARER_TLV, *PQMIWDS_EVENT_REPORT_IND_DATA_BEARER_TLV; 808 809 typedef struct _QMIWDS_EVENT_REPORT_IND_DORMANCY_STATUS_TLV 810 { 811 UCHAR Type; 812 USHORT Length; 813 UCHAR DormancyStatus; 814 } QMIWDS_EVENT_REPORT_IND_DORMANCY_STATUS_TLV, *PQMIWDS_EVENT_REPORT_IND_DORMANCY_STATUS_TLV; 815 816 817 typedef struct _QMIWDS_GET_DATA_BEARER_REQ_MSG 818 { 819 USHORT Type; // QMUX type 0x0037 820 USHORT Length; 821 } QMIWDS_GET_DATA_BEARER_REQ_MSG, *PQMIWDS_GET_DATA_BEARER_REQ_MSG; 822 823 typedef struct _QMIWDS_GET_DATA_BEARER_RESP_MSG 824 { 825 USHORT Type; // QMUX type 0x0037 826 USHORT Length; 827 UCHAR TLVType; // 0x02 828 USHORT TLVLength; // 4 829 USHORT QMUXResult; // QMI_RESULT_SUCCESS 830 // QMI_RESULT_FAILURE 831 USHORT QMUXError; // QMI_ERR_INTERNAL 832 // QMI_ERR_MALFORMED_MSG 833 // QMI_ERR_NO_MEMORY 834 // QMI_ERR_OUT_OF_CALL 835 // QMI_ERR_INFO_UNAVAILABLE 836 UCHAR TLV2Type; // 0x01 837 USHORT TLV2Length; // 838 UCHAR Technology; // 839 } QMIWDS_GET_DATA_BEARER_RESP_MSG, *PQMIWDS_GET_DATA_BEARER_RESP_MSG; 840 #endif 841 842 // ======================= DMS ============================== 843 #define QMIDMS_SET_EVENT_REPORT_REQ 0x0001 844 #define QMIDMS_SET_EVENT_REPORT_RESP 0x0001 845 #define QMIDMS_EVENT_REPORT_IND 0x0001 846 #define QMIDMS_GET_DEVICE_CAP_REQ 0x0020 847 #define QMIDMS_GET_DEVICE_CAP_RESP 0x0020 848 #define QMIDMS_GET_DEVICE_MFR_REQ 0x0021 849 #define QMIDMS_GET_DEVICE_MFR_RESP 0x0021 850 #define QMIDMS_GET_DEVICE_MODEL_ID_REQ 0x0022 851 #define QMIDMS_GET_DEVICE_MODEL_ID_RESP 0x0022 852 #define QMIDMS_GET_DEVICE_REV_ID_REQ 0x0023 853 #define QMIDMS_GET_DEVICE_REV_ID_RESP 0x0023 854 #define QMIDMS_GET_MSISDN_REQ 0x0024 855 #define QMIDMS_GET_MSISDN_RESP 0x0024 856 #define QMIDMS_GET_DEVICE_SERIAL_NUMBERS_REQ 0x0025 857 #define QMIDMS_GET_DEVICE_SERIAL_NUMBERS_RESP 0x0025 858 #define QMIDMS_UIM_SET_PIN_PROTECTION_REQ 0x0027 859 #define QMIDMS_UIM_SET_PIN_PROTECTION_RESP 0x0027 860 #define QMIDMS_UIM_VERIFY_PIN_REQ 0x0028 861 #define QMIDMS_UIM_VERIFY_PIN_RESP 0x0028 862 #define QMIDMS_UIM_UNBLOCK_PIN_REQ 0x0029 863 #define QMIDMS_UIM_UNBLOCK_PIN_RESP 0x0029 864 #define QMIDMS_UIM_CHANGE_PIN_REQ 0x002A 865 #define QMIDMS_UIM_CHANGE_PIN_RESP 0x002A 866 #define QMIDMS_UIM_GET_PIN_STATUS_REQ 0x002B 867 #define QMIDMS_UIM_GET_PIN_STATUS_RESP 0x002B 868 #define QMIDMS_GET_DEVICE_HARDWARE_REV_REQ 0x002C 869 #define QMIDMS_GET_DEVICE_HARDWARE_REV_RESP 0x002C 870 #define QMIDMS_GET_OPERATING_MODE_REQ 0x002D 871 #define QMIDMS_GET_OPERATING_MODE_RESP 0x002D 872 #define QMIDMS_SET_OPERATING_MODE_REQ 0x002E 873 #define QMIDMS_SET_OPERATING_MODE_RESP 0x002E 874 #define QMIDMS_GET_ACTIVATED_STATUS_REQ 0x0031 875 #define QMIDMS_GET_ACTIVATED_STATUS_RESP 0x0031 876 #define QMIDMS_ACTIVATE_AUTOMATIC_REQ 0x0032 877 #define QMIDMS_ACTIVATE_AUTOMATIC_RESP 0x0032 878 #define QMIDMS_ACTIVATE_MANUAL_REQ 0x0033 879 #define QMIDMS_ACTIVATE_MANUAL_RESP 0x0033 880 #define QMIDMS_UIM_GET_ICCID_REQ 0x003C 881 #define QMIDMS_UIM_GET_ICCID_RESP 0x003C 882 #define QMIDMS_UIM_GET_CK_STATUS_REQ 0x0040 883 #define QMIDMS_UIM_GET_CK_STATUS_RESP 0x0040 884 #define QMIDMS_UIM_SET_CK_PROTECTION_REQ 0x0041 885 #define QMIDMS_UIM_SET_CK_PROTECTION_RESP 0x0041 886 #define QMIDMS_UIM_UNBLOCK_CK_REQ 0x0042 887 #define QMIDMS_UIM_UNBLOCK_CK_RESP 0x0042 888 #define QMIDMS_UIM_GET_IMSI_REQ 0x0043 889 #define QMIDMS_UIM_GET_IMSI_RESP 0x0043 890 #define QMIDMS_UIM_GET_STATE_REQ 0x0044 891 #define QMIDMS_UIM_GET_STATE_RESP 0x0044 892 #define QMIDMS_GET_BAND_CAP_REQ 0x0045 893 #define QMIDMS_GET_BAND_CAP_RESP 0x0045 894 895 #if 0 896 typedef struct _QMIDMS_GET_DEVICE_MFR_REQ_MSG 897 { 898 USHORT Type; // QMUX type 0x0003 899 USHORT Length; 900 } QMIDMS_GET_DEVICE_MFR_REQ_MSG, *PQMIDMS_GET_DEVICE_MFR_REQ_MSG; 901 902 typedef struct _QMIDMS_GET_DEVICE_MFR_RESP_MSG 903 { 904 USHORT Type; // QMUX type 0x0003 905 USHORT Length; 906 UCHAR TLVType; // 0x02 - result code 907 USHORT TLVLength; // 4 908 USHORT QMUXResult; // QMI_RESULT_SUCCESS 909 // QMI_RESULT_FAILURE 910 USHORT QMUXError; // QMI_ERR_INVALID_ARG 911 // QMI_ERR_NO_MEMORY 912 // QMI_ERR_INTERNAL 913 // QMI_ERR_FAULT 914 UCHAR TLV2Type; // 0x01 - required parameter 915 USHORT TLV2Length; // length of the mfr string 916 UCHAR DeviceManufacturer; // first byte of string 917 } QMIDMS_GET_DEVICE_MFR_RESP_MSG, *PQMIDMS_GET_DEVICE_MFR_RESP_MSG; 918 919 typedef struct _QMIDMS_GET_DEVICE_MODEL_ID_REQ_MSG 920 { 921 USHORT Type; // QMUX type 0x0004 922 USHORT Length; 923 } QMIDMS_GET_DEVICE_MODEL_ID_REQ_MSG, *PQMIDMS_GET_DEVICE_MODEL_ID_REQ_MSG; 924 925 typedef struct _QMIDMS_GET_DEVICE_MODEL_ID_RESP_MSG 926 { 927 USHORT Type; // QMUX type 0x0004 928 USHORT Length; 929 UCHAR TLVType; // 0x02 - result code 930 USHORT TLVLength; // 4 931 USHORT QMUXResult; // QMI_RESULT_SUCCESS 932 // QMI_RESULT_FAILURE 933 USHORT QMUXError; // QMI_ERR_INVALID_ARG 934 // QMI_ERR_NO_MEMORY 935 // QMI_ERR_INTERNAL 936 // QMI_ERR_FAULT 937 UCHAR TLV2Type; // 0x01 - required parameter 938 USHORT TLV2Length; // length of the modem id string 939 UCHAR DeviceModelID; // device model id 940 } QMIDMS_GET_DEVICE_MODEL_ID_RESP_MSG, *PQMIDMS_GET_DEVICE_MODEL_ID_RESP_MSG; 941 #endif 942 943 typedef struct _QMIDMS_GET_DEVICE_REV_ID_REQ_MSG 944 { 945 USHORT Type; // QMUX type 0x0005 946 USHORT Length; 947 } __attribute__ ((packed)) QMIDMS_GET_DEVICE_REV_ID_REQ_MSG, *PQMIDMS_GET_DEVICE_REV_ID_REQ_MSG; 948 949 typedef struct _DEVICE_REV_ID 950 { 951 UCHAR TLVType; 952 USHORT TLVLength; 953 UCHAR RevisionID; 954 } __attribute__ ((packed)) DEVICE_REV_ID, *PDEVICE_REV_ID; 955 956 #if 0 957 typedef struct _QMIDMS_GET_DEVICE_REV_ID_RESP_MSG 958 { 959 USHORT Type; // QMUX type 0x0023 960 USHORT Length; 961 UCHAR TLVType; // 0x02 - result code 962 USHORT TLVLength; // 4 963 USHORT QMUXResult; // QMI_RESULT_SUCCESS 964 // QMI_RESULT_FAILURE 965 USHORT QMUXError; // QMI_ERR_INVALID_ARG 966 // QMI_ERR_NO_MEMORY 967 // QMI_ERR_INTERNAL 968 // QMI_ERR_FAULT 969 } QMIDMS_GET_DEVICE_REV_ID_RESP_MSG, *PQMIDMS_GET_DEVICE_REV_ID_RESP_MSG; 970 971 typedef struct _QMIDMS_GET_MSISDN_REQ_MSG 972 { 973 USHORT Type; // QMUX type 0x0024 974 USHORT Length; 975 } QMIDMS_GET_MSISDN_REQ_MSG, *PQMIDMS_GET_MSISDN_REQ_MSG; 976 977 typedef struct _QCTLV_DEVICE_VOICE_NUMBERS 978 { 979 UCHAR TLVType; // as defined above 980 USHORT TLVLength; // 4/7/7 981 UCHAR VoideNumberString; // ESN, IMEI, or MEID 982 983 } QCTLV_DEVICE_VOICE_NUMBERS, *PQCTLV_DEVICE_VOICE_NUMBERS; 984 985 986 typedef struct _QMIDMS_GET_MSISDN_RESP_MSG 987 { 988 USHORT Type; // QMUX type 0x0024 989 USHORT Length; 990 UCHAR TLVType; // 0x02 - result code 991 USHORT TLVLength; // 4 992 USHORT QMUXResult; // QMI_RESULT_SUCCESS 993 // QMI_RESULT_FAILURE 994 USHORT QMUXError; // QMI_ERR_INVALID_ARG 995 } QMIDMS_GET_MSISDN_RESP_MSG, *PQMIDMS_GET_MSISDN_RESP_MSG; 996 #endif 997 998 typedef struct _QMIDMS_UIM_GET_IMSI_REQ_MSG 999 { 1000 USHORT Type; 1001 USHORT Length; 1002 } __attribute__ ((packed)) QMIDMS_UIM_GET_IMSI_REQ_MSG, *PQMIDMS_UIM_GET_IMSI_REQ_MSG; 1003 1004 typedef struct _QMIDMS_UIM_GET_IMSI_RESP_MSG 1005 { 1006 USHORT Type; 1007 USHORT Length; 1008 UCHAR TLVType; 1009 USHORT TLVLength; 1010 USHORT QMUXResult; 1011 USHORT QMUXError; 1012 UCHAR TLV2Type; 1013 USHORT TLV2Length; 1014 UCHAR IMSI; 1015 } __attribute__ ((packed)) QMIDMS_UIM_GET_IMSI_RESP_MSG, *PQMIDMS_UIM_GET_IMSI_RESP_MSG; 1016 1017 #if 0 1018 typedef struct _QMIDMS_GET_DEVICE_SERIAL_NUMBERS_REQ_MSG 1019 { 1020 USHORT Type; // QMUX type 0x0007 1021 USHORT Length; 1022 } QMIDMS_GET_DEVICE_SERIAL_NUMBERS_REQ_MSG, *PQMIDMS_GET_DEVICE_SERIAL_NUMBERS_REQ_MSG; 1023 1024 #define QCTLV_TYPE_SER_NUM_ESN 0x10 1025 #define QCTLV_TYPE_SER_NUM_IMEI 0x11 1026 #define QCTLV_TYPE_SER_NUM_MEID 0x12 1027 1028 typedef struct _QCTLV_DEVICE_SERIAL_NUMBER 1029 { 1030 UCHAR TLVType; // as defined above 1031 USHORT TLVLength; // 4/7/7 1032 UCHAR SerialNumberString; // ESN, IMEI, or MEID 1033 1034 } QCTLV_DEVICE_SERIAL_NUMBER, *PQCTLV_DEVICE_SERIAL_NUMBER; 1035 1036 typedef struct _QMIDMS_GET_DEVICE_SERIAL_NUMBERS_RESP_MSG 1037 { 1038 USHORT Type; // QMUX type 0x0007 1039 USHORT Length; 1040 UCHAR TLVType; // 0x02 - result code 1041 USHORT TLVLength; // 4 1042 USHORT QMUXResult; // QMI_RESULT_SUCCESS 1043 // QMI_RESULT_FAILURE 1044 USHORT QMUXError; // QMI_ERR_INVALID_ARG 1045 // QMI_ERR_NO_MEMORY 1046 // QMI_ERR_INTERNAL 1047 // QMI_ERR_FAULT 1048 // followed by optional TLV 1049 } QMIDMS_GET_DEVICE_SERIAL_NUMBERS_RESP_MSG, *PQMIDMS_GET_DEVICE_SERIAL_NUMBERS_RESP; 1050 1051 typedef struct _QMIDMS_GET_DMS_BAND_CAP 1052 { 1053 USHORT Type; 1054 USHORT Length; 1055 } QMIDMS_GET_BAND_CAP_REQ_MSG, *PQMIDMS_GET_BAND_CAP_REQ_MSG; 1056 1057 typedef struct _QMIDMS_GET_BAND_CAP_RESP_MSG 1058 { 1059 USHORT Type; 1060 USHORT Length; 1061 UCHAR TLVType; // 0x02 - result code 1062 USHORT TLVLength; // 4 1063 USHORT QMUXResult; // QMI_RESULT_SUCCESS 1064 // QMI_RESULT_FAILURE 1065 USHORT QMUXError; // QMI_ERR_NONE 1066 // QMI_ERR_INTERNAL 1067 // QMI_ERR_MALFORMED_MSG 1068 // QMI_ERR_NO_MEMORY 1069 1070 UCHAR TLV2Type; // 0x01 1071 USHORT TLV2Length; // 2 1072 ULONG64 BandCap; 1073 } QMIDMS_GET_BAND_CAP_RESP_MSG, *PQMIDMS_GET_BAND_CAP_RESP; 1074 1075 typedef struct _QMIDMS_GET_DEVICE_CAP_REQ_MSG 1076 { 1077 USHORT Type; // QMUX type 0x0002 1078 USHORT Length; 1079 } QMIDMS_GET_DEVICE_CAP_REQ_MSG, *PQMIDMS_GET_DEVICE_CAP_REQ_MSG; 1080 1081 typedef struct _QMIDMS_GET_DEVICE_CAP_RESP_MSG 1082 { 1083 USHORT Type; // QMUX type 0x0002 1084 USHORT Length; 1085 UCHAR TLVType; // 0x02 - result code 1086 USHORT TLVLength; // 4 1087 USHORT QMUXResult; // QMUX_RESULT_SUCCESS 1088 // QMUX_RESULT_FAILURE 1089 USHORT QMUXError; // QMUX_ERR_INVALID_ARG 1090 // QMUX_ERR_NO_MEMORY 1091 // QMUX_ERR_INTERNAL 1092 // QMUX_ERR_FAULT 1093 UCHAR TLV2Type; // 0x01 1094 USHORT TLV2Length; // 2 1095 1096 ULONG MaxTxChannelRate; 1097 ULONG MaxRxChannelRate; 1098 UCHAR VoiceCap; 1099 UCHAR SimCap; 1100 1101 UCHAR RadioIfListCnt; // #elements in radio interface list 1102 UCHAR RadioIfList; // N 1-byte elements 1103 } QMIDMS_GET_DEVICE_CAP_RESP_MSG, *PQMIDMS_GET_DEVICE_CAP_RESP_MSG; 1104 1105 typedef struct _QMIDMS_GET_ACTIVATED_STATUS_REQ_MSG 1106 { 1107 USHORT Type; // QMUX type 0x0002 1108 USHORT Length; 1109 } QMIDMS_GET_ACTIVATED_STATUS_REQ_MSG, *PQMIDMS_GET_ACTIVATES_STATUD_REQ_MSG; 1110 1111 typedef struct _QMIDMS_GET_ACTIVATED_STATUS_RESP_MSG 1112 { 1113 USHORT Type; // QMUX type 0x0002 1114 USHORT Length; 1115 UCHAR TLVType; // 0x02 - result code 1116 USHORT TLVLength; // 4 1117 USHORT QMUXResult; // QMUX_RESULT_SUCCESS 1118 // QMUX_RESULT_FAILURE 1119 USHORT QMUXError; // QMUX_ERR_INVALID_ARG 1120 // QMUX_ERR_NO_MEMORY 1121 // QMUX_ERR_INTERNAL 1122 // QMUX_ERR_FAULT 1123 UCHAR TLV2Type; // 0x01 1124 USHORT TLV2Length; // 2 1125 1126 USHORT ActivatedStatus; 1127 } QMIDMS_GET_ACTIVATED_STATUS_RESP_MSG, *PQMIDMS_GET_ACTIVATED_STATUS_RESP_MSG; 1128 1129 typedef struct _QMIDMS_GET_OPERATING_MODE_REQ_MSG 1130 { 1131 USHORT Type; // QMUX type 0x0002 1132 USHORT Length; 1133 } QMIDMS_GET_OPERATING_MODE_REQ_MSG, *PQMIDMS_GET_OPERATING_MODE_REQ_MSG; 1134 1135 typedef struct _OFFLINE_REASON 1136 { 1137 UCHAR TLVType; 1138 USHORT TLVLength; 1139 USHORT OfflineReason; 1140 } OFFLINE_REASON, *POFFLINE_REASON; 1141 1142 typedef struct _HARDWARE_RESTRICTED_MODE 1143 { 1144 UCHAR TLVType; 1145 USHORT TLVLength; 1146 UCHAR HardwareControlledMode; 1147 } HARDWARE_RESTRICTED_MODE, *PHARDWARE_RESTRICTED_MODE; 1148 1149 typedef struct _QMIDMS_GET_OPERATING_MODE_RESP_MSG 1150 { 1151 USHORT Type; // QMUX type 0x0002 1152 USHORT Length; 1153 UCHAR TLVType; // 0x02 - result code 1154 USHORT TLVLength; // 4 1155 USHORT QMUXResult; // QMUX_RESULT_SUCCESS 1156 // QMUX_RESULT_FAILURE 1157 USHORT QMUXError; // QMUX_ERR_INVALID_ARG 1158 // QMUX_ERR_NO_MEMORY 1159 // QMUX_ERR_INTERNAL 1160 // QMUX_ERR_FAULT 1161 UCHAR TLV2Type; // 0x01 1162 USHORT TLV2Length; // 2 1163 1164 UCHAR OperatingMode; 1165 } QMIDMS_GET_OPERATING_MODE_RESP_MSG, *PQMIDMS_GET_OPERATING_MODE_RESP_MSG; 1166 1167 typedef struct _QMIDMS_UIM_GET_ICCID_REQ_MSG 1168 { 1169 USHORT Type; // QMUX type 0x0024 1170 USHORT Length; 1171 } QMIDMS_UIM_GET_ICCID_REQ_MSG, *PQMIDMS_UIM_GET_ICCID_REQ_MSG; 1172 1173 typedef struct _QMIDMS_UIM_GET_ICCID_RESP_MSG 1174 { 1175 USHORT Type; // QMUX type 0x0024 1176 USHORT Length; 1177 UCHAR TLVType; // 0x02 - result code 1178 USHORT TLVLength; // 4 1179 USHORT QMUXResult; // QMI_RESULT_SUCCESS 1180 // QMI_RESULT_FAILURE 1181 USHORT QMUXError; // QMI_ERR_INVALID_ARG 1182 // QMI_ERR_NO_MEMORY 1183 // QMI_ERR_INTERNAL 1184 // QMI_ERR_FAULT 1185 UCHAR TLV2Type; // 0x01 - required parameter 1186 USHORT TLV2Length; // var 1187 UCHAR ICCID; // String of voice number 1188 } QMIDMS_UIM_GET_ICCID_RESP_MSG, *PQMIDMS_UIM_GET_ICCID_RESP_MSG; 1189 #endif 1190 1191 typedef struct _QMIDMS_SET_OPERATING_MODE_REQ_MSG 1192 { 1193 USHORT Type; // QMUX type 0x0002 1194 USHORT Length; 1195 UCHAR TLVType; // 0x02 - result code 1196 USHORT TLVLength; // 4 1197 UCHAR OperatingMode; 1198 } __attribute__ ((packed)) QMIDMS_SET_OPERATING_MODE_REQ_MSG, *PQMIDMS_SET_OPERATING_MODE_REQ_MSG; 1199 1200 typedef struct _QMIDMS_SET_OPERATING_MODE_RESP_MSG 1201 { 1202 USHORT Type; // QMUX type 0x0002 1203 USHORT Length; 1204 UCHAR TLVType; // 0x02 - result code 1205 USHORT TLVLength; // 4 1206 USHORT QMUXResult; // QMUX_RESULT_SUCCESS 1207 // QMUX_RESULT_FAILURE 1208 USHORT QMUXError; // QMUX_ERR_INVALID_ARG 1209 // QMUX_ERR_NO_MEMORY 1210 // QMUX_ERR_INTERNAL 1211 // QMUX_ERR_FAULT 1212 } __attribute__ ((packed)) QMIDMS_SET_OPERATING_MODE_RESP_MSG, *PQMIDMS_SET_OPERATING_MODE_RESP_MSG; 1213 1214 #if 0 1215 typedef struct _QMIDMS_ACTIVATE_AUTOMATIC_REQ_MSG 1216 { 1217 USHORT Type; // QMUX type 0x0024 1218 USHORT Length; 1219 UCHAR TLVType; // 0x02 - result code 1220 USHORT TLVLength; // 1221 UCHAR ActivateCodelen; 1222 UCHAR ActivateCode; 1223 } QMIDMS_ACTIVATE_AUTOMATIC_REQ_MSG, *PQMIDMS_ACTIVATE_AUTOMATIC_REQ_MSG; 1224 1225 typedef struct _QMIDMS_ACTIVATE_AUTOMATIC_RESP_MSG 1226 { 1227 USHORT Type; // QMUX type 0x0024 1228 USHORT Length; 1229 UCHAR TLVType; // 0x02 - result code 1230 USHORT TLVLength; // 4 1231 USHORT QMUXResult; // QMI_RESULT_SUCCESS 1232 // QMI_RESULT_FAILURE 1233 USHORT QMUXError; // QMI_ERR_INVALID_ARG 1234 // QMI_ERR_NO_MEMORY 1235 // QMI_ERR_INTERNAL 1236 // QMI_ERR_FAULT 1237 } QMIDMS_ACTIVATE_AUTOMATIC_RESP_MSG, *PQMIDMS_ACTIVATE_AUTOMATIC_RESP_MSG; 1238 1239 1240 typedef struct _SPC_MSG 1241 { 1242 UCHAR SPC[6]; 1243 USHORT SID; 1244 } SPC_MSG, *PSPC_MSG; 1245 1246 typedef struct _MDN_MSG 1247 { 1248 UCHAR MDNLEN; 1249 UCHAR MDN; 1250 } MDN_MSG, *PMDN_MSG; 1251 1252 typedef struct _MIN_MSG 1253 { 1254 UCHAR MINLEN; 1255 UCHAR MIN; 1256 } MIN_MSG, *PMIN_MSG; 1257 1258 typedef struct _PRL_MSG 1259 { 1260 UCHAR TLVType; // 0x02 - result code 1261 USHORT TLVLength; // 1262 USHORT PRLLEN; 1263 UCHAR PRL; 1264 } PRL_MSG, *PPRL_MSG; 1265 1266 typedef struct _MN_HA_KEY_MSG 1267 { 1268 UCHAR TLVType; // 0x02 - result code 1269 USHORT TLVLength; // 1270 UCHAR MN_HA_KEY_LEN; 1271 UCHAR MN_HA_KEY; 1272 } MN_HA_KEY_MSG, *PMN_HA_KEY_MSG; 1273 1274 typedef struct _MN_AAA_KEY_MSG 1275 { 1276 UCHAR TLVType; // 0x02 - result code 1277 USHORT TLVLength; // 1278 UCHAR MN_AAA_KEY_LEN; 1279 UCHAR MN_AAA_KEY; 1280 } MN_AAA_KEY_MSG, *PMN_AAA_KEY_MSG; 1281 1282 typedef struct _QMIDMS_ACTIVATE_MANUAL_REQ_MSG 1283 { 1284 USHORT Type; // QMUX type 0x0024 1285 USHORT Length; 1286 UCHAR TLVType; // 0x02 - result code 1287 USHORT TLVLength; // 1288 UCHAR Value; 1289 } QMIDMS_ACTIVATE_MANUAL_REQ_MSG, *PQMIDMS_ACTIVATE_MANUAL_REQ_MSG; 1290 1291 typedef struct _QMIDMS_ACTIVATE_MANUAL_RESP_MSG 1292 { 1293 USHORT Type; // QMUX type 0x0024 1294 USHORT Length; 1295 UCHAR TLVType; // 0x02 - result code 1296 USHORT TLVLength; // 4 1297 USHORT QMUXResult; // QMI_RESULT_SUCCESS 1298 // QMI_RESULT_FAILURE 1299 USHORT QMUXError; // QMI_ERR_INVALID_ARG 1300 // QMI_ERR_NO_MEMORY 1301 // QMI_ERR_INTERNAL 1302 // QMI_ERR_FAULT 1303 } QMIDMS_ACTIVATE_MANUAL_RESP_MSG, *PQMIDMS_ACTIVATE_MANUAL_RESP_MSG; 1304 #endif 1305 1306 typedef struct _QMIDMS_UIM_GET_STATE_REQ_MSG 1307 { 1308 USHORT Type; 1309 USHORT Length; 1310 } __attribute__ ((packed)) QMIDMS_UIM_GET_STATE_REQ_MSG, *PQMIDMS_UIM_GET_STATE_REQ_MSG; 1311 1312 typedef struct _QMIDMS_UIM_GET_STATE_RESP_MSG 1313 { 1314 USHORT Type; 1315 USHORT Length; 1316 UCHAR TLVType; 1317 USHORT TLVLength; 1318 USHORT QMUXResult; 1319 USHORT QMUXError; 1320 UCHAR TLV2Type; 1321 USHORT TLV2Length; 1322 UCHAR UIMState; 1323 } __attribute__ ((packed)) QMIDMS_UIM_GET_STATE_RESP_MSG, *PQMIDMS_UIM_GET_STATE_RESP_MSG; 1324 1325 typedef struct _QMIDMS_UIM_GET_PIN_STATUS_REQ_MSG 1326 { 1327 USHORT Type; // QMUX type 0x0024 1328 USHORT Length; 1329 } __attribute__ ((packed)) QMIDMS_UIM_GET_PIN_STATUS_REQ_MSG, *PQMIDMS_UIM_GET_PIN_STATUS_REQ_MSG; 1330 1331 typedef struct _QMIDMS_UIM_PIN_STATUS 1332 { 1333 UCHAR TLVType; 1334 USHORT TLVLength; 1335 UCHAR PINStatus; 1336 UCHAR PINVerifyRetriesLeft; 1337 UCHAR PINUnblockRetriesLeft; 1338 } __attribute__ ((packed)) QMIDMS_UIM_PIN_STATUS, *PQMIDMS_UIM_PIN_STATUS; 1339 1340 #define QMI_PIN_STATUS_NOT_INIT 0 1341 #define QMI_PIN_STATUS_NOT_VERIF 1 1342 #define QMI_PIN_STATUS_VERIFIED 2 1343 #define QMI_PIN_STATUS_DISABLED 3 1344 #define QMI_PIN_STATUS_BLOCKED 4 1345 #define QMI_PIN_STATUS_PERM_BLOCKED 5 1346 #define QMI_PIN_STATUS_UNBLOCKED 6 1347 #define QMI_PIN_STATUS_CHANGED 7 1348 1349 1350 typedef struct _QMIDMS_UIM_GET_PIN_STATUS_RESP_MSG 1351 { 1352 USHORT Type; // QMUX type 0x0024 1353 USHORT Length; 1354 UCHAR TLVType; // 0x02 - result code 1355 USHORT TLVLength; // 4 1356 USHORT QMUXResult; // QMI_RESULT_SUCCESS 1357 // QMI_RESULT_FAILURE 1358 USHORT QMUXError; // QMI_ERR_INVALID_ARG 1359 // QMI_ERR_NO_MEMORY 1360 // QMI_ERR_INTERNAL 1361 // QMI_ERR_FAULT 1362 UCHAR PinStatus; 1363 } __attribute__ ((packed)) QMIDMS_UIM_GET_PIN_STATUS_RESP_MSG, *PQMIDMS_UIM_GET_PIN_STATUS_RESP_MSG; 1364 1365 #if 0 1366 typedef struct _QMIDMS_UIM_GET_CK_STATUS_REQ_MSG 1367 { 1368 USHORT Type; 1369 USHORT Length; 1370 UCHAR TLVType; 1371 USHORT TLVLength; 1372 UCHAR Facility; 1373 } QMIDMS_UIM_GET_CK_STATUS_REQ_MSG, *PQMIDMS_UIM_GET_CK_STATUS_REQ_MSG; 1374 1375 1376 typedef struct _QMIDMS_UIM_CK_STATUS 1377 { 1378 UCHAR TLVType; 1379 USHORT TLVLength; 1380 UCHAR FacilityStatus; 1381 UCHAR FacilityVerifyRetriesLeft; 1382 UCHAR FacilityUnblockRetriesLeft; 1383 } QMIDMS_UIM_CK_STATUS, *PQMIDMS_UIM_CK_STATUS; 1384 1385 typedef struct _QMIDMS_UIM_CK_OPERATION_STATUS 1386 { 1387 UCHAR TLVType; 1388 USHORT TLVLength; 1389 UCHAR OperationBlocking; 1390 } QMIDMS_UIM_CK_OPERATION_STATUS, *PQMIDMS_UIM_CK_OPERATION_STATUS; 1391 1392 typedef struct _QMIDMS_UIM_GET_CK_STATUS_RESP_MSG 1393 { 1394 USHORT Type; 1395 USHORT Length; 1396 UCHAR TLVType; 1397 USHORT TLVLength; 1398 USHORT QMUXResult; 1399 USHORT QMUXError; 1400 UCHAR CkStatus; 1401 } QMIDMS_UIM_GET_CK_STATUS_RESP_MSG, *PQMIDMS_UIM_GET_CK_STATUS_RESP_MSG; 1402 #endif 1403 1404 typedef struct _QMIDMS_UIM_VERIFY_PIN_REQ_MSG 1405 { 1406 USHORT Type; // QMUX type 0x0024 1407 USHORT Length; 1408 UCHAR TLVType; // 0x02 - result code 1409 USHORT TLVLength; // 4 1410 UCHAR PINID; 1411 UCHAR PINLen; 1412 UCHAR PINValue; 1413 } __attribute__ ((packed)) QMIDMS_UIM_VERIFY_PIN_REQ_MSG, *PQMIDMS_UIM_VERIFY_PIN_REQ_MSG; 1414 1415 typedef struct _QMIDMS_UIM_VERIFY_PIN_RESP_MSG 1416 { 1417 USHORT Type; // QMUX type 0x0024 1418 USHORT Length; 1419 UCHAR TLVType; // 0x02 - result code 1420 USHORT TLVLength; // 4 1421 USHORT QMUXResult; // QMI_RESULT_SUCCESS 1422 // QMI_RESULT_FAILURE 1423 USHORT QMUXError; // QMI_ERR_INVALID_ARG 1424 // QMI_ERR_NO_MEMORY 1425 // QMI_ERR_INTERNAL 1426 // QMI_ERR_FAULT 1427 UCHAR TLV2Type; 1428 USHORT TLV2Length; 1429 UCHAR PINVerifyRetriesLeft; 1430 UCHAR PINUnblockRetriesLeft; 1431 } __attribute__ ((packed)) QMIDMS_UIM_VERIFY_PIN_RESP_MSG, *PQMIDMS_UIM_VERIFY_PIN_RESP_MSG; 1432 1433 #if 0 1434 typedef struct _QMIDMS_UIM_SET_PIN_PROTECTION_REQ_MSG 1435 { 1436 USHORT Type; // QMUX type 0x0024 1437 USHORT Length; 1438 UCHAR TLVType; // 0x02 - result code 1439 USHORT TLVLength; // 4 1440 UCHAR PINID; 1441 UCHAR ProtectionSetting; 1442 UCHAR PINLen; 1443 UCHAR PINValue; 1444 } QMIDMS_UIM_SET_PIN_PROTECTION_REQ_MSG, *PQMIDMS_UIM_SET_PIN_PROTECTION_REQ_MSG; 1445 1446 typedef struct _QMIDMS_UIM_SET_PIN_PROTECTION_RESP_MSG 1447 { 1448 USHORT Type; // QMUX type 0x0024 1449 USHORT Length; 1450 UCHAR TLVType; // 0x02 - result code 1451 USHORT TLVLength; // 4 1452 USHORT QMUXResult; // QMI_RESULT_SUCCESS 1453 // QMI_RESULT_FAILURE 1454 USHORT QMUXError; // QMI_ERR_INVALID_ARG 1455 // QMI_ERR_NO_MEMORY 1456 // QMI_ERR_INTERNAL 1457 // QMI_ERR_FAULT 1458 UCHAR TLV2Type; 1459 USHORT TLV2Length; 1460 UCHAR PINVerifyRetriesLeft; 1461 UCHAR PINUnblockRetriesLeft; 1462 } QMIDMS_UIM_SET_PIN_PROTECTION_RESP_MSG, *PQMIDMS_UIM_SET_PIN_PROTECTION_RESP_MSG; 1463 1464 typedef struct _QMIDMS_UIM_SET_CK_PROTECTION_REQ_MSG 1465 { 1466 USHORT Type; 1467 USHORT Length; 1468 UCHAR TLVType; 1469 USHORT TLVLength; 1470 UCHAR Facility; 1471 UCHAR FacilityState; 1472 UCHAR FacliltyLen; 1473 UCHAR FacliltyValue; 1474 } QMIDMS_UIM_SET_CK_PROTECTION_REQ_MSG, *PQMIDMS_UIM_SET_CK_PROTECTION_REQ_MSG; 1475 1476 typedef struct _QMIDMS_UIM_SET_CK_PROTECTION_RESP_MSG 1477 { 1478 USHORT Type; 1479 USHORT Length; 1480 UCHAR TLVType; 1481 USHORT TLVLength; 1482 USHORT QMUXResult; 1483 USHORT QMUXError; 1484 UCHAR TLV2Type; 1485 USHORT TLV2Length; 1486 UCHAR FacilityRetriesLeft; 1487 } QMIDMS_UIM_SET_CK_PROTECTION_RESP_MSG, *PQMIDMS_UIM_SET_CK_PROTECTION_RESP_MSG; 1488 1489 1490 typedef struct _UIM_PIN 1491 { 1492 UCHAR PinLength; 1493 UCHAR PinValue; 1494 } UIM_PIN, *PUIM_PIN; 1495 1496 typedef struct _QMIDMS_UIM_CHANGE_PIN_REQ_MSG 1497 { 1498 USHORT Type; // QMUX type 0x0024 1499 USHORT Length; 1500 UCHAR TLVType; // 0x02 - result code 1501 USHORT TLVLength; // 4 1502 UCHAR PINID; 1503 UCHAR PinDetails; 1504 } QMIDMS_UIM_CHANGE_PIN_REQ_MSG, *PQMIDMS_UIM_CHANGE_PIN_REQ_MSG; 1505 1506 typedef struct QMIDMS_UIM_CHANGE_PIN_RESP_MSG 1507 { 1508 USHORT Type; // QMUX type 0x0024 1509 USHORT Length; 1510 UCHAR TLVType; // 0x02 - result code 1511 USHORT TLVLength; // 4 1512 USHORT QMUXResult; // QMI_RESULT_SUCCESS 1513 // QMI_RESULT_FAILURE 1514 USHORT QMUXError; // QMI_ERR_INVALID_ARG 1515 // QMI_ERR_NO_MEMORY 1516 // QMI_ERR_INTERNAL 1517 // QMI_ERR_FAULT 1518 UCHAR TLV2Type; 1519 USHORT TLV2Length; 1520 UCHAR PINVerifyRetriesLeft; 1521 UCHAR PINUnblockRetriesLeft; 1522 } QMIDMS_UIM_CHANGE_PIN_RESP_MSG, *PQMIDMS_UIM_CHANGE_PIN_RESP_MSG; 1523 1524 typedef struct _UIM_PUK 1525 { 1526 UCHAR PukLength; 1527 UCHAR PukValue; 1528 } UIM_PUK, *PUIM_PUK; 1529 1530 typedef struct _QMIDMS_UIM_UNBLOCK_PIN_REQ_MSG 1531 { 1532 USHORT Type; // QMUX type 0x0024 1533 USHORT Length; 1534 UCHAR TLVType; // 0x02 - result code 1535 USHORT TLVLength; // 4 1536 UCHAR PINID; 1537 UCHAR PinDetails; 1538 } QMIDMS_UIM_UNBLOCK_PIN_REQ_MSG, *PQMIDMS_UIM_BLOCK_PIN_REQ_MSG; 1539 1540 typedef struct QMIDMS_UIM_UNBLOCK_PIN_RESP_MSG 1541 { 1542 USHORT Type; // QMUX type 0x0024 1543 USHORT Length; 1544 UCHAR TLVType; // 0x02 - result code 1545 USHORT TLVLength; // 4 1546 USHORT QMUXResult; // QMI_RESULT_SUCCESS 1547 // QMI_RESULT_FAILURE 1548 USHORT QMUXError; // QMI_ERR_INVALID_ARG 1549 // QMI_ERR_NO_MEMORY 1550 // QMI_ERR_INTERNAL 1551 // QMI_ERR_FAULT 1552 UCHAR TLV2Type; 1553 USHORT TLV2Length; 1554 UCHAR PINVerifyRetriesLeft; 1555 UCHAR PINUnblockRetriesLeft; 1556 } QMIDMS_UIM_UNBLOCK_PIN_RESP_MSG, *PQMIDMS_UIM_UNBLOCK_PIN_RESP_MSG; 1557 1558 typedef struct _QMIDMS_UIM_UNBLOCK_CK_REQ_MSG 1559 { 1560 USHORT Type; 1561 USHORT Length; 1562 UCHAR TLVType; 1563 USHORT TLVLength; 1564 UCHAR Facility; 1565 UCHAR FacliltyUnblockLen; 1566 UCHAR FacliltyUnblockValue; 1567 } QMIDMS_UIM_UNBLOCK_CK_REQ_MSG, *PQMIDMS_UIM_BLOCK_CK_REQ_MSG; 1568 1569 typedef struct QMIDMS_UIM_UNBLOCK_CK_RESP_MSG 1570 { 1571 USHORT Type; 1572 USHORT Length; 1573 UCHAR TLVType; 1574 USHORT TLVLength; 1575 USHORT QMUXResult; 1576 USHORT QMUXError; 1577 UCHAR TLV2Type; 1578 USHORT TLV2Length; 1579 UCHAR FacilityUnblockRetriesLeft; 1580 } QMIDMS_UIM_UNBLOCK_CK_RESP_MSG, *PQMIDMS_UIM_UNBLOCK_CK_RESP_MSG; 1581 1582 typedef struct _QMIDMS_SET_EVENT_REPORT_REQ_MSG 1583 { 1584 USHORT Type; 1585 USHORT Length; 1586 } QMIDMS_SET_EVENT_REPORT_REQ_MSG, *PQMIDMS_SET_EVENT_REPORT_REQ_MSG; 1587 1588 typedef struct _QMIDMS_SET_EVENT_REPORT_RESP_MSG 1589 { 1590 USHORT Type; // QMUX type 0x0003 1591 USHORT Length; 1592 UCHAR TLVType; // 0x02 - result code 1593 USHORT TLVLength; // 4 1594 USHORT QMUXResult; // QMI_RESULT_SUCCESS 1595 // QMI_RESULT_FAILURE 1596 USHORT QMUXError; // QMI_ERR_INVALID_ARG 1597 } QMIDMS_SET_EVENT_REPORT_RESP_MSG, *PQMIDMS_SET_EVENT_REPORT_RESP_MSG; 1598 1599 typedef struct _PIN_STATUS 1600 { 1601 UCHAR TLVType; 1602 USHORT TLVLength; 1603 UCHAR ReportPinState; 1604 } PIN_STATUS, *PPIN_STATUS; 1605 1606 typedef struct _POWER_STATUS 1607 { 1608 UCHAR TLVType; 1609 USHORT TLVLength; 1610 UCHAR PowerStatus; 1611 UCHAR BatteryLvl; 1612 } POWER_STATUS, *PPOWER_STATUS; 1613 1614 typedef struct _ACTIVATION_STATE 1615 { 1616 UCHAR TLVType; 1617 USHORT TLVLength; 1618 USHORT ActivationState; 1619 } ACTIVATION_STATE, *PACTIVATION_STATE; 1620 1621 typedef struct _ACTIVATION_STATE_REQ 1622 { 1623 UCHAR TLVType; 1624 USHORT TLVLength; 1625 UCHAR ActivationState; 1626 } ACTIVATION_STATE_REQ, *PACTIVATION_STATE_REQ; 1627 1628 typedef struct _OPERATING_MODE 1629 { 1630 UCHAR TLVType; 1631 USHORT TLVLength; 1632 UCHAR OperatingMode; 1633 } OPERATING_MODE, *POPERATING_MODE; 1634 1635 typedef struct _UIM_STATE 1636 { 1637 UCHAR TLVType; 1638 USHORT TLVLength; 1639 UCHAR UIMState; 1640 } UIM_STATE, *PUIM_STATE; 1641 1642 typedef struct _WIRELESS_DISABLE_STATE 1643 { 1644 UCHAR TLVType; 1645 USHORT TLVLength; 1646 UCHAR WirelessDisableState; 1647 } WIRELESS_DISABLE_STATE, *PWIRELESS_DISABLE_STATE; 1648 1649 typedef struct _QMIDMS_EVENT_REPORT_IND_MSG 1650 { 1651 USHORT Type; 1652 USHORT Length; 1653 } QMIDMS_EVENT_REPORT_IND_MSG, *PQMIDMS_EVENT_REPORT_IND_MSG; 1654 #endif 1655 1656 // ============================ END OF DMS =============================== 1657 1658 // ======================= QOS ============================== 1659 typedef struct _MPIOC_DEV_INFO MPIOC_DEV_INFO, *PMPIOC_DEV_INFO; 1660 1661 #define QMI_QOS_SET_EVENT_REPORT_REQ 0x0001 1662 #define QMI_QOS_SET_EVENT_REPORT_RESP 0x0001 1663 #define QMI_QOS_EVENT_REPORT_IND 0x0001 1664 1665 #if 0 1666 typedef struct _QMI_QOS_SET_EVENT_REPORT_REQ_MSG 1667 { 1668 USHORT Type; // QMUX type 0x0001 1669 USHORT Length; 1670 // UCHAR TLVType; // 0x01 - physical link state 1671 // USHORT TLVLength; // 1 1672 // UCHAR PhyLinkStatusRpt; // 0-enable; 1-disable 1673 UCHAR TLVType2; // 0x02 = global flow reporting 1674 USHORT TLVLength2; // 1 1675 UCHAR GlobalFlowRpt; // 1-enable; 0-disable 1676 } QMI_QOS_SET_EVENT_REPORT_REQ_MSG, *PQMI_QOS_SET_EVENT_REPORT_REQ_MSG; 1677 1678 typedef struct _QMI_QOS_SET_EVENT_REPORT_RESP_MSG 1679 { 1680 USHORT Type; // QMUX type 0x0010 1681 USHORT Length; 1682 UCHAR TLVType; // 0x02 - result code 1683 USHORT TLVLength; // 4 1684 USHORT QMUXResult; // QMUX_RESULT_SUCCESS 1685 // QMUX_RESULT_FAILURE 1686 USHORT QMUXError; // QMUX_ERR_INVALID_ARG 1687 // QMUX_ERR_NO_MEMORY 1688 // QMUX_ERR_INTERNAL 1689 // QMUX_ERR_FAULT 1690 } QMI_QOS_SET_EVENT_REPORT_RESP_MSG, *PQMI_QOS_SET_EVENT_REPORT_RESP_MSG; 1691 1692 typedef struct _QMI_QOS_EVENT_REPORT_IND_MSG 1693 { 1694 USHORT Type; // QMUX type 0x0001 1695 USHORT Length; 1696 UCHAR TLVs; 1697 } QMI_QOS_EVENT_REPORT_IND_MSG, *PQMI_QOS_EVENT_REPORT_IND_MSG; 1698 1699 #define QOS_EVENT_RPT_IND_FLOW_ACTIVATED 0x01 1700 #define QOS_EVENT_RPT_IND_FLOW_MODIFIED 0x02 1701 #define QOS_EVENT_RPT_IND_FLOW_DELETED 0x03 1702 #define QOS_EVENT_RPT_IND_FLOW_SUSPENDED 0x04 1703 #define QOS_EVENT_RPT_IND_FLOW_ENABLED 0x05 1704 #define QOS_EVENT_RPT_IND_FLOW_DISABLED 0x06 1705 1706 #define QOS_EVENT_RPT_IND_TLV_PHY_LINK_STATE_TYPE 0x01 1707 #define QOS_EVENT_RPT_IND_TLV_GLOBAL_FL_RPT_STATE 0x10 1708 #define QOS_EVENT_RPT_IND_TLV_GLOBAL_FL_RPT_TYPE 0x10 1709 #define QOS_EVENT_RPT_IND_TLV_TX_FLOW_TYPE 0x11 1710 #define QOS_EVENT_RPT_IND_TLV_RX_FLOW_TYPE 0x12 1711 #define QOS_EVENT_RPT_IND_TLV_TX_FILTER_TYPE 0x13 1712 #define QOS_EVENT_RPT_IND_TLV_RX_FILTER_TYPE 0x14 1713 #define QOS_EVENT_RPT_IND_TLV_FLOW_SPEC 0x10 1714 #define QOS_EVENT_RPT_IND_TLV_FILTER_SPEC 0x10 1715 1716 typedef struct _QOS_EVENT_RPT_IND_TLV_PHY_LINK_STATE 1717 { 1718 UCHAR TLVType; // 0x01 1719 USHORT TLVLength; // 1 1720 UCHAR PhyLinkState; // 0-dormant, 1-active 1721 } QOS_EVENT_RPT_IND_TLV_PHY_LINK_STATE, *PQOS_EVENT_RPT_IND_TLV_PHY_LINK_STATE; 1722 1723 typedef struct _QOS_EVENT_RPT_IND_TLV_GLOBAL_FL_RPT 1724 { 1725 UCHAR TLVType; // 0x10 1726 USHORT TLVLength; // 6 1727 ULONG QosId; 1728 UCHAR NewFlow; // 1: newly added flow; 0: existing flow 1729 UCHAR StateChange; // 1: activated; 2: modified; 3: deleted; 1730 // 4: suspended(delete); 5: enabled; 6: disabled 1731 } QOS_EVENT_RPT_IND_TLV_GLOBAL_FL_RPT, *PQOS_EVENT_RPT_IND_TLV_GLOBAL_FL_RPT; 1732 1733 // QOS Flow 1734 1735 typedef struct _QOS_EVENT_RPT_IND_TLV_FLOW 1736 { 1737 UCHAR TLVType; // 0x10-TX flow; 0x11-RX flow 1738 USHORT TLVLength; // var 1739 // embedded TLV's 1740 } QOS_EVENT_RPT_IND_TLV_TX_FLOW, *PQOS_EVENT_RPT_IND_TLV_TX_FLOW; 1741 1742 #define QOS_FLOW_TLV_IP_FLOW_IDX_TYPE 0x10 1743 #define QOS_FLOW_TLV_IP_FLOW_TRAFFIC_CLASS_TYPE 0x11 1744 #define QOS_FLOW_TLV_IP_FLOW_DATA_RATE_MIN_MAX_TYPE 0x12 1745 #define QOS_FLOW_TLV_IP_FLOW_DATA_RATE_TOKEN_BUCKET_TYPE 0x13 1746 #define QOS_FLOW_TLV_IP_FLOW_LATENCY_TYPE 0x14 1747 #define QOS_FLOW_TLV_IP_FLOW_JITTER_TYPE 0x15 1748 #define QOS_FLOW_TLV_IP_FLOW_PKT_ERR_RATE_TYPE 0x16 1749 #define QOS_FLOW_TLV_IP_FLOW_MIN_PKT_SIZE_TYPE 0x17 1750 #define QOS_FLOW_TLV_IP_FLOW_MAX_PKT_SIZE_TYPE 0x18 1751 #define QOS_FLOW_TLV_IP_FLOW_3GPP_BIT_ERR_RATE_TYPE 0x19 1752 #define QOS_FLOW_TLV_IP_FLOW_3GPP_TRAF_PRIORITY_TYPE 0x1A 1753 #define QOS_FLOW_TLV_IP_FLOW_3GPP2_PROFILE_ID_TYPE 0x1B 1754 1755 typedef struct _QOS_FLOW_TLV_IP_FLOW_IDX 1756 { 1757 UCHAR TLVType; // 0x10 1758 USHORT TLVLength; // 1 1759 UCHAR IpFlowIndex; 1760 } QOS_FLOW_TLV_IP_FLOW_IDX, *PQOS_FLOW_TLV_IP_FLOW_IDX; 1761 1762 typedef struct _QOS_FLOW_TLV_IP_FLOW_TRAFFIC_CLASS 1763 { 1764 UCHAR TLVType; // 0x11 1765 USHORT TLVLength; // 1 1766 UCHAR TrafficClass; 1767 } QOS_FLOW_TLV_IP_FLOW_TRAFFIC_CLASS, *PQOS_FLOW_TLV_IP_FLOW_TRAFFIC_CLASS; 1768 1769 typedef struct _QOS_FLOW_TLV_IP_FLOW_DATA_RATE_MIN_MAX 1770 { 1771 UCHAR TLVType; // 0x12 1772 USHORT TLVLength; // 8 1773 ULONG DataRateMax; 1774 ULONG GuaranteedRate; 1775 } QOS_FLOW_TLV_IP_FLOW_DATA_RATE_MIN_MAX, *PQOS_FLOW_TLV_IP_FLOW_DATA_RATE_MIN_MAX; 1776 1777 typedef struct _QOS_FLOW_TLV_IP_FLOW_DATA_RATE_TOKEN_BUCKET 1778 { 1779 UCHAR TLVType; // 0x13 1780 USHORT TLVLength; // 12 1781 ULONG PeakRate; 1782 ULONG TokenRate; 1783 ULONG BucketSize; 1784 } QOS_FLOW_TLV_IP_FLOW_DATA_RATE_TOKEN_BUCKET, *PQOS_FLOW_TLV_IP_FLOW_DATA_RATE_TOKEN_BUCKET; 1785 1786 typedef struct _QOS_FLOW_TLV_IP_FLOW_LATENCY 1787 { 1788 UCHAR TLVType; // 0x14 1789 USHORT TLVLength; // 4 1790 ULONG IpFlowLatency; 1791 } QOS_FLOW_TLV_IP_FLOW_LATENCY, *PQOS_FLOW_TLV_IP_FLOW_LATENCY; 1792 1793 typedef struct _QOS_FLOW_TLV_IP_FLOW_JITTER 1794 { 1795 UCHAR TLVType; // 0x15 1796 USHORT TLVLength; // 4 1797 ULONG IpFlowJitter; 1798 } QOS_FLOW_TLV_IP_FLOW_JITTER, *PQOS_FLOW_TLV_IP_FLOW_JITTER; 1799 1800 typedef struct _QOS_FLOW_TLV_IP_FLOW_PKT_ERR_RATE 1801 { 1802 UCHAR TLVType; // 0x16 1803 USHORT TLVLength; // 4 1804 USHORT ErrRateMultiplier; 1805 USHORT ErrRateExponent; 1806 } QOS_FLOW_TLV_IP_FLOW_PKT_ERR_RATE, *PQOS_FLOW_TLV_IP_FLOW_PKT_ERR_RATE; 1807 1808 typedef struct _QOS_FLOW_TLV_IP_FLOW_MIN_PKT_SIZE 1809 { 1810 UCHAR TLVType; // 0x17 1811 USHORT TLVLength; // 4 1812 ULONG MinPolicedPktSize; 1813 } QOS_FLOW_TLV_IP_FLOW_MIN_PKT_SIZE, *PQOS_FLOW_TLV_IP_FLOW_MIN_PKT_SIZE; 1814 1815 typedef struct _QOS_FLOW_TLV_IP_FLOW_MAX_PKT_SIZE 1816 { 1817 UCHAR TLVType; // 0x18 1818 USHORT TLVLength; // 4 1819 ULONG MaxAllowedPktSize; 1820 } QOS_FLOW_TLV_IP_FLOW_MAX_PKT_SIZE, *PQOS_FLOW_TLV_IP_FLOW_MAX_PKT_SIZE; 1821 1822 typedef struct _QOS_FLOW_TLV_IP_FLOW_3GPP_BIT_ERR_RATE 1823 { 1824 UCHAR TLVType; // 0x19 1825 USHORT TLVLength; // 1 1826 UCHAR ResidualBitErrorRate; 1827 } QOS_FLOW_TLV_IP_FLOW_3GPP_BIT_ERR_RATE, *PQOS_FLOW_TLV_IP_FLOW_3GPP_BIT_ERR_RATE; 1828 1829 typedef struct _QOS_FLOW_TLV_IP_FLOW_3GPP_TRAF_PRIORITY 1830 { 1831 UCHAR TLVType; // 0x1A 1832 USHORT TLVLength; // 1 1833 UCHAR TrafficHandlingPriority; 1834 } QOS_FLOW_TLV_IP_FLOW_3GPP_TRAF_PRIORITY, *PQOS_FLOW_TLV_IP_FLOW_3GPP_TRAF_PRIORITY; 1835 1836 typedef struct _QOS_FLOW_TLV_IP_FLOW_3GPP2_PROFILE_ID 1837 { 1838 UCHAR TLVType; // 0x1B 1839 USHORT TLVLength; // 2 1840 USHORT ProfileId; 1841 } QOS_FLOW_TLV_IP_FLOW_3GPP2_PROFILE_ID, *PQOS_FLOW_TLV_IP_FLOW_3GPP2_PROFILE_ID; 1842 1843 // QOS Filter 1844 1845 #define QOS_FILTER_TLV_IP_FILTER_IDX_TYPE 0x10 1846 #define QOS_FILTER_TLV_IP_VERSION_TYPE 0x11 1847 #define QOS_FILTER_TLV_IPV4_SRC_ADDR_TYPE 0x12 1848 #define QOS_FILTER_TLV_IPV4_DEST_ADDR_TYPE 0x13 1849 #define QOS_FILTER_TLV_NEXT_HDR_PROTOCOL_TYPE 0x14 1850 #define QOS_FILTER_TLV_IPV4_TYPE_OF_SERVICE_TYPE 0x15 1851 #define QOS_FILTER_TLV_TCP_UDP_PORT_SRC_TCP_TYPE 0x1B 1852 #define QOS_FILTER_TLV_TCP_UDP_PORT_DEST_TCP_TYPE 0x1C 1853 #define QOS_FILTER_TLV_TCP_UDP_PORT_SRC_UDP_TYPE 0x1D 1854 #define QOS_FILTER_TLV_TCP_UDP_PORT_DEST_UDP_TYPE 0x1E 1855 #define QOS_FILTER_TLV_ICMP_FILTER_MSG_TYPE_TYPE 0x1F 1856 #define QOS_FILTER_TLV_ICMP_FILTER_MSG_CODE_TYPE 0x20 1857 #define QOS_FILTER_TLV_TCP_UDP_PORT_SRC_TYPE 0x24 1858 #define QOS_FILTER_TLV_TCP_UDP_PORT_DEST_TYPE 0x25 1859 1860 typedef struct _QOS_EVENT_RPT_IND_TLV_FILTER 1861 { 1862 UCHAR TLVType; // 0x12-TX filter; 0x13-RX filter 1863 USHORT TLVLength; // var 1864 // embedded TLV's 1865 } QOS_EVENT_RPT_IND_TLV_RX_FILTER, *PQOS_EVENT_RPT_IND_TLV_RX_FILTER; 1866 1867 typedef struct _QOS_FILTER_TLV_IP_FILTER_IDX 1868 { 1869 UCHAR TLVType; // 0x10 1870 USHORT TLVLength; // 1 1871 UCHAR IpFilterIndex; 1872 } QOS_FILTER_TLV_IP_FILTER_IDX, *PQOS_FILTER_TLV_IP_FILTER_IDX; 1873 1874 typedef struct _QOS_FILTER_TLV_IP_VERSION 1875 { 1876 UCHAR TLVType; // 0x11 1877 USHORT TLVLength; // 1 1878 UCHAR IpVersion; 1879 } QOS_FILTER_TLV_IP_VERSION, *PQOS_FILTER_TLV_IP_VERSION; 1880 1881 typedef struct _QOS_FILTER_TLV_IPV4_SRC_ADDR 1882 { 1883 UCHAR TLVType; // 0x12 1884 USHORT TLVLength; // 8 1885 ULONG IpSrcAddr; 1886 ULONG IpSrcSubnetMask; 1887 } QOS_FILTER_TLV_IPV4_SRC_ADDR, *PQOS_FILTER_TLV_IPV4_SRC_ADDR; 1888 1889 typedef struct _QOS_FILTER_TLV_IPV4_DEST_ADDR 1890 { 1891 UCHAR TLVType; // 0x13 1892 USHORT TLVLength; // 8 1893 ULONG IpDestAddr; 1894 ULONG IpDestSubnetMask; 1895 } QOS_FILTER_TLV_IPV4_DEST_ADDR, *PQOS_FILTER_TLV_IPV4_DEST_ADDR; 1896 1897 typedef struct _QOS_FILTER_TLV_NEXT_HDR_PROTOCOL 1898 { 1899 UCHAR TLVType; // 0x14 1900 USHORT TLVLength; // 1 1901 UCHAR NextHdrProtocol; 1902 } QOS_FILTER_TLV_NEXT_HDR_PROTOCOL, *PQOS_FILTER_TLV_NEXT_HDR_PROTOCOL; 1903 1904 typedef struct _QOS_FILTER_TLV_IPV4_TYPE_OF_SERVICE 1905 { 1906 UCHAR TLVType; // 0x15 1907 USHORT TLVLength; // 2 1908 UCHAR Ipv4TypeOfService; 1909 UCHAR Ipv4TypeOfServiceMask; 1910 } QOS_FILTER_TLV_IPV4_TYPE_OF_SERVICE, *PQOS_FILTER_TLV_IPV4_TYPE_OF_SERVICE; 1911 1912 typedef struct _QOS_FILTER_TLV_TCP_UDP_PORT 1913 { 1914 UCHAR TLVType; // source port: 0x1B-TCP; 0x1D-UDP 1915 // dest port: 0x1C-TCP; 0x1E-UDP 1916 USHORT TLVLength; // 4 1917 USHORT FilterPort; 1918 USHORT FilterPortRange; 1919 } QOS_FILTER_TLV_TCP_UDP_PORT, *PQOS_FILTER_TLV_TCP_UDP_PORT; 1920 1921 typedef struct _QOS_FILTER_TLV_ICMP_FILTER_MSG_TYPE 1922 { 1923 UCHAR TLVType; // 0x1F 1924 USHORT TLVLength; // 1 1925 UCHAR IcmpFilterMsgType; 1926 } QOS_FILTER_TLV_ICMP_FILTER_MSG_TYPE, *PQOS_FILTER_TLV_ICMP_FILTER_MSG_TYPE; 1927 1928 typedef struct _QOS_FILTER_TLV_ICMP_FILTER_MSG_CODE 1929 { 1930 UCHAR TLVType; // 0x20 1931 USHORT TLVLength; // 1 1932 UCHAR IcmpFilterMsgCode; 1933 } QOS_FILTER_TLV_ICMP_FILTER_MSG_CODE, *PQOS_FILTER_TLV_ICMP_FILTER_MSG_CODE; 1934 1935 #define QOS_FILTER_PRECEDENCE_INVALID 256 1936 #define QOS_FILTER_TLV_PRECEDENCE_TYPE 0x22 1937 #define QOS_FILTER_TLV_ID_TYPE 0x23 1938 1939 typedef struct _QOS_FILTER_TLV_PRECEDENCE 1940 { 1941 UCHAR TLVType; // 0x22 1942 USHORT TLVLength; // 2 1943 USHORT Precedence; // precedence of the filter 1944 } QOS_FILTER_TLV_PRECEDENCE, *PQOS_FILTER_TLV_PRECEDENCE; 1945 1946 typedef struct _QOS_FILTER_TLV_ID 1947 { 1948 UCHAR TLVType; // 0x23 1949 USHORT TLVLength; // 2 1950 USHORT FilterId; // filter ID 1951 } QOS_FILTER_TLV_ID, *PQOS_FILTER_TLV_ID; 1952 1953 #ifdef QCQOS_IPV6 1954 1955 #define QOS_FILTER_TLV_IPV6_SRC_ADDR_TYPE 0x16 1956 #define QOS_FILTER_TLV_IPV6_DEST_ADDR_TYPE 0x17 1957 #define QOS_FILTER_TLV_IPV6_NEXT_HDR_PROTOCOL_TYPE 0x14 // same as IPV4 1958 #define QOS_FILTER_TLV_IPV6_TRAFFIC_CLASS_TYPE 0x19 1959 #define QOS_FILTER_TLV_IPV6_FLOW_LABEL_TYPE 0x1A 1960 1961 typedef struct _QOS_FILTER_TLV_IPV6_SRC_ADDR 1962 { 1963 UCHAR TLVType; // 0x16 1964 USHORT TLVLength; // 17 1965 UCHAR IpSrcAddr[16]; 1966 UCHAR IpSrcAddrPrefixLen; // [0..128] 1967 } QOS_FILTER_TLV_IPV6_SRC_ADDR, *PQOS_FILTER_TLV_IPV6_SRC_ADDR; 1968 1969 typedef struct _QOS_FILTER_TLV_IPV6_DEST_ADDR 1970 { 1971 UCHAR TLVType; // 0x17 1972 USHORT TLVLength; // 17 1973 UCHAR IpDestAddr[16]; 1974 UCHAR IpDestAddrPrefixLen; // [0..128] 1975 } QOS_FILTER_TLV_IPV6_DEST_ADDR, *PQOS_FILTER_TLV_IPV6_DEST_ADDR; 1976 1977 #define QOS_FILTER_IPV6_NEXT_HDR_PROTOCOL_TCP 0x06 1978 #define QOS_FILTER_IPV6_NEXT_HDR_PROTOCOL_UDP 0x11 1979 1980 typedef struct _QOS_FILTER_TLV_IPV6_TRAFFIC_CLASS 1981 { 1982 UCHAR TLVType; // 0x19 1983 USHORT TLVLength; // 2 1984 UCHAR TrafficClass; 1985 UCHAR TrafficClassMask; // compare the first 6 bits only 1986 } QOS_FILTER_TLV_IPV6_TRAFFIC_CLASS, *PQOS_FILTER_TLV_IPV6_TRAFFIC_CLASS; 1987 1988 typedef struct _QOS_FILTER_TLV_IPV6_FLOW_LABEL 1989 { 1990 UCHAR TLVType; // 0x1A 1991 USHORT TLVLength; // 4 1992 ULONG FlowLabel; 1993 } QOS_FILTER_TLV_IPV6_FLOW_LABEL, *PQOS_FILTER_TLV_IPV6_FLOW_LABEL; 1994 1995 #endif // QCQOS_IPV6 1996 #endif 1997 1998 // ======================= WMS ============================== 1999 #define QMIWMS_SET_EVENT_REPORT_REQ 0x0001 2000 #define QMIWMS_SET_EVENT_REPORT_RESP 0x0001 2001 #define QMIWMS_EVENT_REPORT_IND 0x0001 2002 #define QMIWMS_RAW_SEND_REQ 0x0020 2003 #define QMIWMS_RAW_SEND_RESP 0x0020 2004 #define QMIWMS_RAW_WRITE_REQ 0x0021 2005 #define QMIWMS_RAW_WRITE_RESP 0x0021 2006 #define QMIWMS_RAW_READ_REQ 0x0022 2007 #define QMIWMS_RAW_READ_RESP 0x0022 2008 #define QMIWMS_MODIFY_TAG_REQ 0x0023 2009 #define QMIWMS_MODIFY_TAG_RESP 0x0023 2010 #define QMIWMS_DELETE_REQ 0x0024 2011 #define QMIWMS_DELETE_RESP 0x0024 2012 #define QMIWMS_GET_MESSAGE_PROTOCOL_REQ 0x0030 2013 #define QMIWMS_GET_MESSAGE_PROTOCOL_RESP 0x0030 2014 #define QMIWMS_LIST_MESSAGES_REQ 0x0031 2015 #define QMIWMS_LIST_MESSAGES_RESP 0x0031 2016 #define QMIWMS_GET_SMSC_ADDRESS_REQ 0x0034 2017 #define QMIWMS_GET_SMSC_ADDRESS_RESP 0x0034 2018 #define QMIWMS_SET_SMSC_ADDRESS_REQ 0x0035 2019 #define QMIWMS_SET_SMSC_ADDRESS_RESP 0x0035 2020 #define QMIWMS_GET_STORE_MAX_SIZE_REQ 0x0036 2021 #define QMIWMS_GET_STORE_MAX_SIZE_RESP 0x0036 2022 2023 2024 #define WMS_MESSAGE_PROTOCOL_CDMA 0x00 2025 #define WMS_MESSAGE_PROTOCOL_WCDMA 0x01 2026 2027 #if 0 2028 typedef struct _QMIWMS_GET_MESSAGE_PROTOCOL_REQ_MSG 2029 { 2030 USHORT Type; // QMUX type 0x0003 2031 USHORT Length; 2032 } QMIWMS_GET_MESSAGE_PROTOCOL_REQ_MSG, *PQMIWMS_GET_MESSAGE_PROTOCOL_REQ_MSG; 2033 2034 typedef struct _QMIWMS_GET_MESSAGE_PROTOCOL_RESP_MSG 2035 { 2036 USHORT Type; 2037 USHORT Length; 2038 UCHAR TLVType; 2039 USHORT TLVLength; 2040 USHORT QMUXResult; 2041 USHORT QMUXError; 2042 UCHAR TLV2Type; 2043 USHORT TLV2Length; 2044 UCHAR MessageProtocol; 2045 } QMIWMS_GET_MESSAGE_PROTOCOL_RESP_MSG, *PQMIWMS_GET_MESSAGE_PROTOCOL_RESP_MSG; 2046 2047 typedef struct _QMIWMS_GET_STORE_MAX_SIZE_REQ_MSG 2048 { 2049 USHORT Type; 2050 USHORT Length; 2051 UCHAR TLVType; 2052 USHORT TLVLength; 2053 UCHAR StorageType; 2054 } QMIWMS_GET_STORE_MAX_SIZE_REQ_MSG, *PQMIWMS_GET_STORE_MAX_SIZE_REQ_MSG; 2055 2056 typedef struct _QMIWMS_GET_STORE_MAX_SIZE_RESP_MSG 2057 { 2058 USHORT Type; 2059 USHORT Length; 2060 UCHAR TLVType; 2061 USHORT TLVLength; 2062 USHORT QMUXResult; 2063 USHORT QMUXError; 2064 UCHAR TLV2Type; 2065 USHORT TLV2Length; 2066 ULONG MemStoreMaxSize; 2067 } QMIWMS_GET_STORE_MAX_SIZE_RESP_MSG, *PQMIWMS_GET_STORE_MAX_SIZE_RESP_MSG; 2068 2069 typedef struct _REQUEST_TAG 2070 { 2071 UCHAR TLVType; 2072 USHORT TLVLength; 2073 UCHAR TagType; 2074 } REQUEST_TAG, *PREQUEST_TAG; 2075 2076 typedef struct _QMIWMS_LIST_MESSAGES_REQ_MSG 2077 { 2078 USHORT Type; 2079 USHORT Length; 2080 UCHAR TLVType; 2081 USHORT TLVLength; 2082 UCHAR StorageType; 2083 } QMIWMS_LIST_MESSAGES_REQ_MSG, *PQMIWMS_LIST_MESSAGES_REQ_MSG; 2084 2085 typedef struct _QMIWMS_MESSAGE 2086 { 2087 ULONG MessageIndex; 2088 UCHAR TagType; 2089 } QMIWMS_MESSAGE, *PQMIWMS_MESSAGE; 2090 2091 typedef struct _QMIWMS_LIST_MESSAGES_RESP_MSG 2092 { 2093 USHORT Type; 2094 USHORT Length; 2095 UCHAR TLVType; 2096 USHORT TLVLength; 2097 USHORT QMUXResult; 2098 USHORT QMUXError; 2099 UCHAR TLV2Type; 2100 USHORT TLV2Length; 2101 ULONG NumMessages; 2102 } QMIWMS_LIST_MESSAGES_RESP_MSG, *PQMIWMS_LIST_MESSAGES_RESP_MSG; 2103 2104 typedef struct _QMIWMS_RAW_READ_REQ_MSG 2105 { 2106 USHORT Type; 2107 USHORT Length; 2108 UCHAR TLVType; 2109 USHORT TLVLength; 2110 UCHAR StorageType; 2111 ULONG MemoryIndex; 2112 } QMIWMS_RAW_READ_REQ_MSG, *PQMIWMS_RAW_READ_REQ_MSG; 2113 2114 typedef struct _QMIWMS_RAW_READ_RESP_MSG 2115 { 2116 USHORT Type; 2117 USHORT Length; 2118 UCHAR TLVType; 2119 USHORT TLVLength; 2120 USHORT QMUXResult; 2121 USHORT QMUXError; 2122 UCHAR TLV2Type; 2123 USHORT TLV2Length; 2124 UCHAR TagType; 2125 UCHAR Format; 2126 USHORT MessageLength; 2127 UCHAR Message; 2128 } QMIWMS_RAW_READ_RESP_MSG, *PQMIWMS_RAW_READ_RESP_MSG; 2129 2130 typedef struct _QMIWMS_MODIFY_TAG_REQ_MSG 2131 { 2132 USHORT Type; 2133 USHORT Length; 2134 UCHAR TLVType; 2135 USHORT TLVLength; 2136 UCHAR StorageType; 2137 ULONG MemoryIndex; 2138 UCHAR TagType; 2139 } QMIWMS_MODIFY_TAG_REQ_MSG, *PQMIWMS_MODIFY_TAG_REQ_MSG; 2140 2141 typedef struct _QMIWMS_MODIFY_TAG_RESP_MSG 2142 { 2143 USHORT Type; 2144 USHORT Length; 2145 UCHAR TLVType; 2146 USHORT TLVLength; 2147 USHORT QMUXResult; 2148 USHORT QMUXError; 2149 } QMIWMS_MODIFY_TAG_RESP_MSG, *PQMIWMS_MODIFY_TAG_RESP_MSG; 2150 2151 typedef struct _QMIWMS_RAW_SEND_REQ_MSG 2152 { 2153 USHORT Type; 2154 USHORT Length; 2155 UCHAR TLVType; 2156 USHORT TLVLength; 2157 UCHAR SmsFormat; 2158 USHORT SmsLength; 2159 UCHAR SmsMessage; 2160 } QMIWMS_RAW_SEND_REQ_MSG, *PQMIWMS_RAW_SEND_REQ_MSG; 2161 2162 typedef struct _RAW_SEND_CAUSE_CODE 2163 { 2164 UCHAR TLVType; 2165 USHORT TLVLength; 2166 USHORT CauseCode; 2167 } RAW_SEND_CAUSE_CODE, *PRAW_SEND_CAUSE_CODE; 2168 2169 2170 typedef struct _QMIWMS_RAW_SEND_RESP_MSG 2171 { 2172 USHORT Type; 2173 USHORT Length; 2174 UCHAR TLVType; 2175 USHORT TLVLength; 2176 USHORT QMUXResult; 2177 USHORT QMUXError; 2178 } QMIWMS_RAW_SEND_RESP_MSG, *PQMIWMS_RAW_SEND_RESP_MSG; 2179 2180 2181 typedef struct _WMS_DELETE_MESSAGE_INDEX 2182 { 2183 UCHAR TLVType; 2184 USHORT TLVLength; 2185 ULONG MemoryIndex; 2186 } WMS_DELETE_MESSAGE_INDEX, *PWMS_DELETE_MESSAGE_INDEX; 2187 2188 typedef struct _WMS_DELETE_MESSAGE_TAG 2189 { 2190 UCHAR TLVType; 2191 USHORT TLVLength; 2192 UCHAR MessageTag; 2193 } WMS_DELETE_MESSAGE_TAG, *PWMS_DELETE_MESSAGE_TAG; 2194 2195 typedef struct _QMIWMS_DELETE_REQ_MSG 2196 { 2197 USHORT Type; 2198 USHORT Length; 2199 UCHAR TLVType; 2200 USHORT TLVLength; 2201 UCHAR StorageType; 2202 } QMIWMS_DELETE_REQ_MSG, *PQMIWMS_DELETE_REQ_MSG; 2203 2204 typedef struct _QMIWMS_DELETE_RESP_MSG 2205 { 2206 USHORT Type; 2207 USHORT Length; 2208 UCHAR TLVType; 2209 USHORT TLVLength; 2210 USHORT QMUXResult; 2211 USHORT QMUXError; 2212 } QMIWMS_DELETE_RESP_MSG, *PQMIWMS_DELETE_RESP_MSG; 2213 2214 2215 typedef struct _QMIWMS_GET_SMSC_ADDRESS_REQ_MSG 2216 { 2217 USHORT Type; 2218 USHORT Length; 2219 } QMIWMS_GET_SMSC_ADDRESS_REQ_MSG, *PQMIWMS_GET_SMSC_ADDRESS_REQ_MSG; 2220 2221 typedef struct _QMIWMS_SMSC_ADDRESS 2222 { 2223 UCHAR TLVType; 2224 USHORT TLVLength; 2225 UCHAR SMSCAddressType[3]; 2226 UCHAR SMSCAddressLength; 2227 UCHAR SMSCAddressDigits; 2228 } QMIWMS_SMSC_ADDRESS, *PQMIWMS_SMSC_ADDRESS; 2229 2230 2231 typedef struct _QMIWMS_GET_SMSC_ADDRESS_RESP_MSG 2232 { 2233 USHORT Type; 2234 USHORT Length; 2235 UCHAR TLVType; 2236 USHORT TLVLength; 2237 USHORT QMUXResult; 2238 USHORT QMUXError; 2239 UCHAR SMSCAddress; 2240 } QMIWMS_GET_SMSC_ADDRESS_RESP_MSG, *PQMIWMS_GET_SMSC_ADDRESS_RESP_MSG; 2241 2242 typedef struct _QMIWMS_SET_SMSC_ADDRESS_REQ_MSG 2243 { 2244 USHORT Type; 2245 USHORT Length; 2246 UCHAR TLVType; 2247 USHORT TLVLength; 2248 UCHAR SMSCAddress; 2249 } QMIWMS_SET_SMSC_ADDRESS_REQ_MSG, *PQMIWMS_SET_SMSC_ADDRESS_REQ_MSG; 2250 2251 typedef struct _QMIWMS_SET_SMSC_ADDRESS_RESP_MSG 2252 { 2253 USHORT Type; 2254 USHORT Length; 2255 UCHAR TLVType; 2256 USHORT TLVLength; 2257 USHORT QMUXResult; 2258 USHORT QMUXError; 2259 } QMIWMS_SET_SMSC_ADDRESS_RESP_MSG, *PQMIWMS_SET_SMSC_ADDRESS_RESP_MSG; 2260 2261 typedef struct _QMIWMS_SET_EVENT_REPORT_REQ_MSG 2262 { 2263 USHORT Type; 2264 USHORT Length; 2265 UCHAR TLVType; 2266 USHORT TLVLength; 2267 UCHAR ReportNewMessage; 2268 } QMIWMS_SET_EVENT_REPORT_REQ_MSG, *PQMIWMS_SET_EVENT_REPORT_REQ_MSG; 2269 2270 typedef struct _QMIWMS_SET_EVENT_REPORT_RESP_MSG 2271 { 2272 USHORT Type; 2273 USHORT Length; 2274 UCHAR TLVType; 2275 USHORT TLVLength; 2276 USHORT QMUXResult; 2277 USHORT QMUXError; 2278 } QMIWMS_SET_EVENT_REPORT_RESP_MSG, *PQMIWMS_SET_EVENT_REPORT_RESP_MSG; 2279 2280 typedef struct _QMIWMS_EVENT_REPORT_IND_MSG 2281 { 2282 USHORT Type; 2283 USHORT Length; 2284 UCHAR TLVType; 2285 USHORT TLVLength; 2286 UCHAR StorageType; 2287 ULONG StorageIndex; 2288 } QMIWMS_EVENT_REPORT_IND_MSG, *PQMIWMS_EVENT_REPORT_IND_MSG; 2289 #endif 2290 2291 // ======================= End of WMS ============================== 2292 2293 2294 // ======================= NAS ============================== 2295 #define QMINAS_SET_EVENT_REPORT_REQ 0x0002 2296 #define QMINAS_SET_EVENT_REPORT_RESP 0x0002 2297 #define QMINAS_EVENT_REPORT_IND 0x0002 2298 #define QMINAS_GET_SIGNAL_STRENGTH_REQ 0x0020 2299 #define QMINAS_GET_SIGNAL_STRENGTH_RESP 0x0020 2300 #define QMINAS_PERFORM_NETWORK_SCAN_REQ 0x0021 2301 #define QMINAS_PERFORM_NETWORK_SCAN_RESP 0x0021 2302 #define QMINAS_INITIATE_NW_REGISTER_REQ 0x0022 2303 #define QMINAS_INITIATE_NW_REGISTER_RESP 0x0022 2304 #define QMINAS_INITIATE_ATTACH_REQ 0x0023 2305 #define QMINAS_INITIATE_ATTACH_RESP 0x0023 2306 #define QMINAS_GET_SERVING_SYSTEM_REQ 0x0024 2307 #define QMINAS_GET_SERVING_SYSTEM_RESP 0x0024 2308 #define QMINAS_SERVING_SYSTEM_IND 0x0024 2309 #define QMINAS_GET_HOME_NETWORK_REQ 0x0025 2310 #define QMINAS_GET_HOME_NETWORK_RESP 0x0025 2311 #define QMINAS_GET_PREFERRED_NETWORK_REQ 0x0026 2312 #define QMINAS_GET_PREFERRED_NETWORK_RESP 0x0026 2313 #define QMINAS_SET_PREFERRED_NETWORK_REQ 0x0027 2314 #define QMINAS_SET_PREFERRED_NETWORK_RESP 0x0027 2315 #define QMINAS_GET_FORBIDDEN_NETWORK_REQ 0x0028 2316 #define QMINAS_GET_FORBIDDEN_NETWORK_RESP 0x0028 2317 #define QMINAS_SET_FORBIDDEN_NETWORK_REQ 0x0029 2318 #define QMINAS_SET_FORBIDDEN_NETWORK_RESP 0x0029 2319 #define QMINAS_SET_TECHNOLOGY_PREF_REQ 0x002A 2320 #define QMINAS_SET_TECHNOLOGY_PREF_RESP 0x002A 2321 #define QMINAS_GET_RF_BAND_INFO_REQ 0x0031 2322 #define QMINAS_GET_RF_BAND_INFO_RESP 0x0031 2323 #define QMINAS_GET_PLMN_NAME_REQ 0x0044 2324 #define QMINAS_GET_PLMN_NAME_RESP 0x0044 2325 #define QUECTEL_PACKET_TRANSFER_START_IND 0X100 2326 #define QUECTEL_PACKET_TRANSFER_END_IND 0X101 2327 #define QMINAS_GET_SYS_INFO_REQ 0x004D 2328 #define QMINAS_GET_SYS_INFO_RESP 0x004D 2329 #define QMINAS_SYS_INFO_IND 0x004D 2330 #define QMINAS_GET_SIG_INFO_REQ 0x004F 2331 #define QMINAS_GET_SIG_INFO_RESP 0x004F 2332 2333 typedef struct _QMINAS_GET_HOME_NETWORK_REQ_MSG 2334 { 2335 USHORT Type; // QMUX type 0x0003 2336 USHORT Length; 2337 } __attribute__ ((packed)) QMINAS_GET_HOME_NETWORK_REQ_MSG, *PQMINAS_GET_HOME_NETWORK_REQ_MSG; 2338 2339 typedef struct _HOME_NETWORK_SYSTEMID 2340 { 2341 UCHAR TLVType; 2342 USHORT TLVLength; 2343 USHORT SystemID; 2344 USHORT NetworkID; 2345 } __attribute__ ((packed)) HOME_NETWORK_SYSTEMID, *PHOME_NETWORK_SYSTEMID; 2346 2347 typedef struct _HOME_NETWORK 2348 { 2349 UCHAR TLVType; 2350 USHORT TLVLength; 2351 USHORT MobileCountryCode; 2352 USHORT MobileNetworkCode; 2353 UCHAR NetworkDesclen; 2354 UCHAR NetworkDesc; 2355 } __attribute__ ((packed)) HOME_NETWORK, *PHOME_NETWORK; 2356 2357 #if 0 2358 typedef struct _HOME_NETWORK_EXT 2359 { 2360 UCHAR TLVType; 2361 USHORT TLVLength; 2362 USHORT MobileCountryCode; 2363 USHORT MobileNetworkCode; 2364 UCHAR NetworkDescDisp; 2365 UCHAR NetworkDescEncoding; 2366 UCHAR NetworkDesclen; 2367 UCHAR NetworkDesc; 2368 } HOME_NETWORK_EXT, *PHOME_NETWORK_EXT; 2369 2370 typedef struct _QMINAS_GET_HOME_NETWORK_RESP_MSG 2371 { 2372 USHORT Type; 2373 USHORT Length; 2374 UCHAR TLVType; 2375 USHORT TLVLength; 2376 USHORT QMUXResult; 2377 USHORT QMUXError; 2378 } QMINAS_GET_HOME_NETWORK_RESP_MSG, *PQMINAS_GET_HOME_NETWORK_RESP_MSG; 2379 2380 typedef struct _QMINAS_GET_PREFERRED_NETWORK_REQ_MSG 2381 { 2382 USHORT Type; // QMUX type 0x0003 2383 USHORT Length; 2384 } QMINAS_GET_PREFERRED_NETWORK_REQ_MSG, *PQMINAS_GET_PREFERRED_NETWORK_REQ_MSG; 2385 2386 2387 typedef struct _PREFERRED_NETWORK 2388 { 2389 USHORT MobileCountryCode; 2390 USHORT MobileNetworkCode; 2391 USHORT RadioAccess; 2392 } PREFERRED_NETWORK, *PPREFERRED_NETWORK; 2393 2394 typedef struct _QMINAS_GET_PREFERRED_NETWORK_RESP_MSG 2395 { 2396 USHORT Type; // QMUX type 0x0003 2397 USHORT Length; 2398 UCHAR TLVType; // 0x02 - result code 2399 USHORT TLVLength; // 4 2400 USHORT QMUXResult; // QMI_RESULT_SUCCESS 2401 // QMI_RESULT_FAILURE 2402 USHORT QMUXError; // QMI_ERR_INVALID_ARG 2403 // QMI_ERR_NO_MEMORY 2404 // QMI_ERR_INTERNAL 2405 // QMI_ERR_FAULT 2406 UCHAR TLV2Type; // 0x01 - required parameter 2407 USHORT TLV2Length; // length of the mfr string 2408 USHORT NumPreferredNetwork; 2409 } QMINAS_GET_PREFERRED_NETWORK_RESP_MSG, *PQMINAS_GET_PREFERRED_NETWORK_RESP_MSG; 2410 2411 typedef struct _QMINAS_GET_FORBIDDEN_NETWORK_REQ_MSG 2412 { 2413 USHORT Type; // QMUX type 0x0003 2414 USHORT Length; 2415 } QMINAS_GET_FORBIDDEN_NETWORK_REQ_MSG, *PQMINAS_GET_FORBIDDEN_NETWORK_REQ_MSG; 2416 2417 typedef struct _FORBIDDEN_NETWORK 2418 { 2419 USHORT MobileCountryCode; 2420 USHORT MobileNetworkCode; 2421 } FORBIDDEN_NETWORK, *PFORBIDDEN_NETWORK; 2422 2423 typedef struct _QMINAS_GET_FORBIDDEN_NETWORK_RESP_MSG 2424 { 2425 USHORT Type; // QMUX type 0x0003 2426 USHORT Length; 2427 UCHAR TLVType; // 0x02 - result code 2428 USHORT TLVLength; // 4 2429 USHORT QMUXResult; // QMI_RESULT_SUCCESS 2430 // QMI_RESULT_FAILURE 2431 USHORT QMUXError; // QMI_ERR_INVALID_ARG 2432 // QMI_ERR_NO_MEMORY 2433 // QMI_ERR_INTERNAL 2434 // QMI_ERR_FAULT 2435 UCHAR TLV2Type; // 0x01 - required parameter 2436 USHORT TLV2Length; // length of the mfr string 2437 USHORT NumForbiddenNetwork; 2438 } QMINAS_GET_FORBIDDEN_NETWORK_RESP_MSG, *PQMINAS_GET_FORBIDDEN_NETWORK_RESP_MSG; 2439 2440 typedef struct _QMINAS_GET_SERVING_SYSTEM_REQ_MSG 2441 { 2442 USHORT Type; // QMUX type 0x0003 2443 USHORT Length; 2444 } QMINAS_GET_SERVING_SYSTEM_REQ_MSG, *PQMINAS_GET_SERVING_SYSTEM_REQ_MSG; 2445 2446 typedef struct _QMINAS_ROAMING_INDICATOR_MSG 2447 { 2448 UCHAR TLVType; // 0x01 - required parameter 2449 USHORT TLVLength; // length of the mfr string 2450 UCHAR RoamingIndicator; 2451 } QMINAS_ROAMING_INDICATOR_MSG, *PQMINAS_ROAMING_INDICATOR_MSG; 2452 #endif 2453 2454 typedef struct _QMINAS_DATA_CAP 2455 { 2456 UCHAR TLVType; // 0x01 - required parameter 2457 USHORT TLVLength; // length of the mfr string 2458 UCHAR DataCapListLen; 2459 UCHAR DataCap; 2460 } __attribute__ ((packed)) QMINAS_DATA_CAP, *PQMINAS_DATA_CAP; 2461 2462 typedef struct _QMINAS_CURRENT_PLMN_MSG 2463 { 2464 UCHAR TLVType; // 0x01 - required parameter 2465 USHORT TLVLength; // length of the mfr string 2466 USHORT MobileCountryCode; 2467 USHORT MobileNetworkCode; 2468 UCHAR NetworkDesclen; 2469 UCHAR NetworkDesc; 2470 } __attribute__ ((packed)) QMINAS_CURRENT_PLMN_MSG, *PQMINAS_CURRENT_PLMN_MSG; 2471 2472 typedef struct _QMINAS_GET_SERVING_SYSTEM_RESP_MSG 2473 { 2474 USHORT Type; 2475 USHORT Length; 2476 UCHAR TLVType; 2477 USHORT TLVLength; 2478 USHORT QMUXResult; 2479 USHORT QMUXError; 2480 } __attribute__ ((packed)) QMINAS_GET_SERVING_SYSTEM_RESP_MSG, *PQMINAS_GET_SERVING_SYSTEM_RESP_MSG; 2481 2482 typedef struct _SERVING_SYSTEM 2483 { 2484 UCHAR TLVType; 2485 USHORT TLVLength; 2486 UCHAR RegistrationState; 2487 UCHAR CSAttachedState; 2488 UCHAR PSAttachedState; 2489 UCHAR RegistredNetwork; 2490 UCHAR InUseRadioIF; 2491 UCHAR RadioIF; 2492 } __attribute__ ((packed)) SERVING_SYSTEM, *PSERVING_SYSTEM; 2493 2494 typedef struct _QMINAS_GET_SYS_INFO_RESP_MSG 2495 { 2496 USHORT Type; 2497 USHORT Length; 2498 UCHAR TLVType; 2499 USHORT TLVLength; 2500 USHORT QMUXResult; 2501 USHORT QMUXError; 2502 } __attribute__ ((packed)) QMINAS_GET_SYS_INFO_RESP_MSG, *PQMINAS_GET_SYS_INFO_RESP_MSG; 2503 2504 typedef struct _QMINAS_SYS_INFO_IND_MSG 2505 { 2506 USHORT Type; 2507 USHORT Length; 2508 } __attribute__ ((packed)) QMINAS_SYS_INFO_IND_MSG, *PQMINAS_SYS_INFO_IND_MSG; 2509 2510 typedef struct _SERVICE_STATUS_INFO 2511 { 2512 UCHAR TLVType; 2513 USHORT TLVLength; 2514 UCHAR SrvStatus; 2515 UCHAR true_srv_status; 2516 UCHAR IsPrefDataPath; 2517 } __attribute__ ((packed)) SERVICE_STATUS_INFO, *PSERVICE_STATUS_INFO; 2518 2519 typedef struct _CDMA_SYSTEM_INFO 2520 { 2521 UCHAR TLVType; 2522 USHORT TLVLength; 2523 UCHAR SrvDomainValid; 2524 UCHAR SrvDomain; 2525 UCHAR SrvCapabilityValid; 2526 UCHAR SrvCapability; 2527 UCHAR RoamStatusValid; 2528 UCHAR RoamStatus; 2529 UCHAR IsSysForbiddenValid; 2530 UCHAR IsSysForbidden; 2531 UCHAR IsSysPrlMatchValid; 2532 UCHAR IsSysPrlMatch; 2533 UCHAR PRevInUseValid; 2534 UCHAR PRevInUse; 2535 UCHAR BSPRevValid; 2536 UCHAR BSPRev; 2537 UCHAR CCSSupportedValid; 2538 UCHAR CCSSupported; 2539 UCHAR CDMASysIdValid; 2540 USHORT SID; 2541 USHORT NID; 2542 UCHAR BSInfoValid; 2543 USHORT BaseID; 2544 ULONG BaseLAT; 2545 ULONG BaseLONG; 2546 UCHAR PacketZoneValid; 2547 USHORT PacketZone; 2548 UCHAR NetworkIdValid; 2549 UCHAR MCC[3]; 2550 UCHAR MNC[3]; 2551 } __attribute__ ((packed)) CDMA_SYSTEM_INFO, *PCDMA_SYSTEM_INFO; 2552 2553 typedef struct _HDR_SYSTEM_INFO 2554 { 2555 UCHAR TLVType; 2556 USHORT TLVLength; 2557 UCHAR SrvDomainValid; 2558 UCHAR SrvDomain; 2559 UCHAR SrvCapabilityValid; 2560 UCHAR SrvCapability; 2561 UCHAR RoamStatusValid; 2562 UCHAR RoamStatus; 2563 UCHAR IsSysForbiddenValid; 2564 UCHAR IsSysForbidden; 2565 UCHAR IsSysPrlMatchValid; 2566 UCHAR IsSysPrlMatch; 2567 UCHAR HdrPersonalityValid; 2568 UCHAR HdrPersonality; 2569 UCHAR HdrActiveProtValid; 2570 UCHAR HdrActiveProt; 2571 UCHAR is856SysIdValid; 2572 UCHAR is856SysId[16]; 2573 } __attribute__ ((packed)) HDR_SYSTEM_INFO, *PHDR_SYSTEM_INFO; 2574 2575 typedef struct _GSM_SYSTEM_INFO 2576 { 2577 UCHAR TLVType; 2578 USHORT TLVLength; 2579 UCHAR SrvDomainValid; 2580 UCHAR SrvDomain; 2581 UCHAR SrvCapabilityValid; 2582 UCHAR SrvCapability; 2583 UCHAR RoamStatusValid; 2584 UCHAR RoamStatus; 2585 UCHAR IsSysForbiddenValid; 2586 UCHAR IsSysForbidden; 2587 UCHAR LacValid; 2588 USHORT Lac; 2589 UCHAR CellIdValid; 2590 ULONG CellId; 2591 UCHAR RegRejectInfoValid; 2592 UCHAR RejectSrvDomain; 2593 UCHAR RejCause; 2594 UCHAR NetworkIdValid; 2595 UCHAR MCC[3]; 2596 UCHAR MNC[3]; 2597 UCHAR EgprsSuppValid; 2598 UCHAR EgprsSupp; 2599 UCHAR DtmSuppValid; 2600 UCHAR DtmSupp; 2601 } __attribute__ ((packed)) GSM_SYSTEM_INFO, *PGSM_SYSTEM_INFO; 2602 2603 typedef struct _WCDMA_SYSTEM_INFO 2604 { 2605 UCHAR TLVType; 2606 USHORT TLVLength; 2607 UCHAR SrvDomainValid; 2608 UCHAR SrvDomain; 2609 UCHAR SrvCapabilityValid; 2610 UCHAR SrvCapability; 2611 UCHAR RoamStatusValid; 2612 UCHAR RoamStatus; 2613 UCHAR IsSysForbiddenValid; 2614 UCHAR IsSysForbidden; 2615 UCHAR LacValid; 2616 USHORT Lac; 2617 UCHAR CellIdValid; 2618 ULONG CellId; 2619 UCHAR RegRejectInfoValid; 2620 UCHAR RejectSrvDomain; 2621 UCHAR RejCause; 2622 UCHAR NetworkIdValid; 2623 UCHAR MCC[3]; 2624 UCHAR MNC[3]; 2625 UCHAR HsCallStatusValid; 2626 UCHAR HsCallStatus; 2627 UCHAR HsIndValid; 2628 UCHAR HsInd; 2629 UCHAR PscValid; 2630 UCHAR Psc; 2631 } __attribute__ ((packed)) WCDMA_SYSTEM_INFO, *PWCDMA_SYSTEM_INFO; 2632 2633 typedef struct _LTE_SYSTEM_INFO 2634 { 2635 UCHAR TLVType; 2636 USHORT TLVLength; 2637 UCHAR SrvDomainValid; 2638 UCHAR SrvDomain; 2639 UCHAR SrvCapabilityValid; 2640 UCHAR SrvCapability; 2641 UCHAR RoamStatusValid; 2642 UCHAR RoamStatus; 2643 UCHAR IsSysForbiddenValid; 2644 UCHAR IsSysForbidden; 2645 UCHAR LacValid; 2646 USHORT Lac; 2647 UCHAR CellIdValid; 2648 ULONG CellId; 2649 UCHAR RegRejectInfoValid; 2650 UCHAR RejectSrvDomain; 2651 UCHAR RejCause; 2652 UCHAR NetworkIdValid; 2653 UCHAR MCC[3]; 2654 UCHAR MNC[3]; 2655 UCHAR TacValid; 2656 USHORT Tac; 2657 } __attribute__ ((packed)) LTE_SYSTEM_INFO, *PLTE_SYSTEM_INFO; 2658 2659 typedef struct _TDSCDMA_SYSTEM_INFO 2660 { 2661 UCHAR TLVType; 2662 USHORT TLVLength; 2663 UCHAR SrvDomainValid; 2664 UCHAR SrvDomain; 2665 UCHAR SrvCapabilityValid; 2666 UCHAR SrvCapability; 2667 UCHAR RoamStatusValid; 2668 UCHAR RoamStatus; 2669 UCHAR IsSysForbiddenValid; 2670 UCHAR IsSysForbidden; 2671 UCHAR LacValid; 2672 USHORT Lac; 2673 UCHAR CellIdValid; 2674 ULONG CellId; 2675 UCHAR RegRejectInfoValid; 2676 UCHAR RejectSrvDomain; 2677 UCHAR RejCause; 2678 UCHAR NetworkIdValid; 2679 UCHAR MCC[3]; 2680 UCHAR MNC[3]; 2681 UCHAR HsCallStatusValid; 2682 UCHAR HsCallStatus; 2683 UCHAR HsIndValid; 2684 UCHAR HsInd; 2685 UCHAR CellParameterIdValid; 2686 USHORT CellParameterId; 2687 UCHAR CellBroadcastCapValid; 2688 ULONG CellBroadcastCap; 2689 UCHAR CsBarStatusValid; 2690 ULONG CsBarStatus; 2691 UCHAR PsBarStatusValid; 2692 ULONG PsBarStatus; 2693 UCHAR CipherDomainValid; 2694 UCHAR CipherDomain; 2695 } __attribute__ ((packed)) TDSCDMA_SYSTEM_INFO, *PTDSCDMA_SYSTEM_INFO; 2696 2697 typedef enum { 2698 NAS_SYS_SRV_STATUS_NO_SRV_V01 = 0, 2699 NAS_SYS_SRV_STATUS_LIMITED_V01 = 1, 2700 NAS_SYS_SRV_STATUS_SRV_V01 = 2, 2701 NAS_SYS_SRV_STATUS_LIMITED_REGIONAL_V01 = 3, 2702 NAS_SYS_SRV_STATUS_PWR_SAVE_V01 = 4, 2703 }nas_service_status_enum_type_v01; 2704 2705 typedef enum { 2706 SYS_SRV_DOMAIN_NO_SRV_V01 = 0, 2707 SYS_SRV_DOMAIN_CS_ONLY_V01 = 1, 2708 SYS_SRV_DOMAIN_PS_ONLY_V01 = 2, 2709 SYS_SRV_DOMAIN_CS_PS_V01 = 3, 2710 SYS_SRV_DOMAIN_CAMPED_V01 = 4, 2711 }nas_service_domain_enum_type_v01; 2712 2713 typedef struct { 2714 UCHAR TLVType; 2715 USHORT TLVLength; 2716 2717 uint8_t srv_domain_valid; 2718 uint8_t srv_domain; 2719 uint8_t srv_capability_valid; 2720 uint8_t srv_capability; 2721 uint8_t roam_status_valid; 2722 uint8_t roam_status; 2723 uint8_t is_sys_forbidden_valid; 2724 uint8_t is_sys_forbidden; 2725 2726 uint8_t lac_valid; 2727 uint16_t lac; 2728 uint8_t cell_id_valid; 2729 uint32_t cell_id; 2730 uint8_t reg_reject_info_valid; 2731 uint8_t reject_srv_domain; 2732 uint8_t rej_cause; 2733 uint8_t network_id_valid; 2734 UCHAR MCC[3]; 2735 UCHAR MNC[3]; 2736 2737 uint8_t tac_valid; 2738 uint16_t tac; 2739 } __attribute__ ((packed)) NR5G_SYSTEM_INFO, *PNR5G_SYSTEM_INFO; 2740 2741 #if 0 2742 typedef struct _QMINAS_SERVING_SYSTEM_IND_MSG 2743 { 2744 USHORT Type; 2745 USHORT Length; 2746 } QMINAS_SERVING_SYSTEM_IND_MSG, *PQMINAS_SERVING_SYSTEM_IND_MSG; 2747 2748 typedef struct _QMINAS_SET_PREFERRED_NETWORK_REQ_MSG 2749 { 2750 USHORT Type; // QMUX type 0x0003 2751 USHORT Length; 2752 UCHAR TLVType; // 0x02 - result code 2753 USHORT TLVLength; // 4 2754 USHORT NumPreferredNetwork; 2755 USHORT MobileCountryCode; 2756 USHORT MobileNetworkCode; 2757 USHORT RadioAccess; 2758 } QMINAS_SET_PREFERRED_NETWORK_REQ_MSG, *PQMINAS_SET_PREFERRED_NETWORK_REQ_MSG; 2759 2760 typedef struct _QMINAS_SET_PREFERRED_NETWORK_RESP_MSG 2761 { 2762 USHORT Type; // QMUX type 0x0003 2763 USHORT Length; 2764 UCHAR TLVType; // 0x02 - result code 2765 USHORT TLVLength; // 4 2766 USHORT QMUXResult; // QMI_RESULT_SUCCESS 2767 // QMI_RESULT_FAILURE 2768 USHORT QMUXError; // QMI_ERR_INVALID_ARG 2769 // QMI_ERR_NO_MEMORY 2770 // QMI_ERR_INTERNAL 2771 // QMI_ERR_FAULT 2772 } QMINAS_SET_PREFERRED_NETWORK_RESP_MSG, *PQMINAS_SET_PREFERRED_NETWORK_RESP_MSG; 2773 2774 typedef struct _QMINAS_SET_FORBIDDEN_NETWORK_REQ_MSG 2775 { 2776 USHORT Type; // QMUX type 0x0003 2777 USHORT Length; 2778 UCHAR TLVType; // 0x02 - result code 2779 USHORT TLVLength; // 4 2780 USHORT NumForbiddenNetwork; 2781 USHORT MobileCountryCode; 2782 USHORT MobileNetworkCode; 2783 } QMINAS_SET_FORBIDDEN_NETWORK_REQ_MSG, *PQMINAS_SET_FORBIDDEN_NETWORK_REQ_MSG; 2784 2785 typedef struct _QMINAS_SET_FORBIDDEN_NETWORK_RESP_MSG 2786 { 2787 USHORT Type; // QMUX type 0x0003 2788 USHORT Length; 2789 UCHAR TLVType; // 0x02 - result code 2790 USHORT TLVLength; // 4 2791 USHORT QMUXResult; // QMI_RESULT_SUCCESS 2792 // QMI_RESULT_FAILURE 2793 USHORT QMUXError; // QMI_ERR_INVALID_ARG 2794 // QMI_ERR_NO_MEMORY 2795 // QMI_ERR_INTERNAL 2796 // QMI_ERR_FAULT 2797 } QMINAS_SET_FORBIDDEN_NETWORK_RESP_MSG, *PQMINAS_SET_FORBIDDEN_NETWORK_RESP_MSG; 2798 2799 typedef struct _QMINAS_PERFORM_NETWORK_SCAN_REQ_MSG 2800 { 2801 USHORT Type; // QMUX type 0x0003 2802 USHORT Length; 2803 } QMINAS_PERFORM_NETWORK_SCAN_REQ_MSG, *PQMINAS_PERFORM_NETWORK_SCAN_REQ_MSG; 2804 2805 typedef struct _VISIBLE_NETWORK 2806 { 2807 USHORT MobileCountryCode; 2808 USHORT MobileNetworkCode; 2809 UCHAR NetworkStatus; 2810 UCHAR NetworkDesclen; 2811 } VISIBLE_NETWORK, *PVISIBLE_NETWORK; 2812 2813 typedef struct _QMINAS_PERFORM_NETWORK_SCAN_RESP_MSG 2814 { 2815 USHORT Type; // QMUX type 0x0003 2816 USHORT Length; 2817 UCHAR TLVType; // 0x02 - result code 2818 USHORT TLVLength; // 4 2819 USHORT QMUXResult; // QMI_RESULT_SUCCESS 2820 // QMI_RESULT_FAILURE 2821 USHORT QMUXError; // QMI_ERR_INVALID_ARG 2822 // QMI_ERR_NO_MEMORY 2823 // QMI_ERR_INTERNAL 2824 // QMI_ERR_FAULT 2825 } QMINAS_PERFORM_NETWORK_SCAN_RESP_MSG, *PQMINAS_PERFORM_NETWORK_SCAN_RESP_MSG; 2826 2827 typedef struct _QMINAS_PERFORM_NETWORK_SCAN_NETWORK_INFO 2828 { 2829 UCHAR TLVType; // 0x010 - required parameter 2830 USHORT TLVLength; // length 2831 USHORT NumNetworkInstances; 2832 } QMINAS_PERFORM_NETWORK_SCAN_NETWORK_INFO, *PQMINAS_PERFORM_NETWORK_SCAN_NETWORK_INFO; 2833 2834 typedef struct _QMINAS_PERFORM_NETWORK_SCAN_RAT_INFO 2835 { 2836 UCHAR TLVType; // 0x011 - required parameter 2837 USHORT TLVLength; // length 2838 USHORT NumInst; 2839 } QMINAS_PERFORM_NETWORK_SCAN_RAT_INFO, *PQMINAS_PERFORM_NETWORK_SCAN_RAT_INFO; 2840 2841 typedef struct _QMINAS_PERFORM_NETWORK_SCAN_RAT 2842 { 2843 USHORT MCC; 2844 USHORT MNC; 2845 UCHAR RAT; 2846 } QMINAS_PERFORM_NETWORK_SCAN_RAT, *PQMINAS_PERFORM_NETWORK_SCAN_RAT; 2847 2848 2849 typedef struct _QMINAS_MANUAL_NW_REGISTER 2850 { 2851 UCHAR TLV2Type; // 0x02 - result code 2852 USHORT TLV2Length; // 4 2853 USHORT MobileCountryCode; 2854 USHORT MobileNetworkCode; 2855 UCHAR RadioAccess; 2856 } QMINAS_MANUAL_NW_REGISTER, *PQMINAS_MANUAL_NW_REGISTER; 2857 2858 typedef struct _QMINAS_INITIATE_NW_REGISTER_REQ_MSG 2859 { 2860 USHORT Type; // QMUX type 0x0003 2861 USHORT Length; 2862 UCHAR TLVType; // 0x02 - result code 2863 USHORT TLVLength; // 4 2864 UCHAR RegisterAction; 2865 } QMINAS_INITIATE_NW_REGISTER_REQ_MSG, *PQMINAS_INITIATE_NW_REGISTER_REQ_MSG; 2866 2867 typedef struct _QMINAS_INITIATE_NW_REGISTER_RESP_MSG 2868 { 2869 USHORT Type; // QMUX type 0x0003 2870 USHORT Length; 2871 UCHAR TLVType; // 0x02 - result code 2872 USHORT TLVLength; // 4 2873 USHORT QMUXResult; // QMI_RESULT_SUCCESS 2874 // QMI_RESULT_FAILURE 2875 USHORT QMUXError; // QMI_ERR_INVALID_ARG 2876 // QMI_ERR_NO_MEMORY 2877 // QMI_ERR_INTERNAL 2878 // QMI_ERR_FAULT 2879 } QMINAS_INITIATE_NW_REGISTER_RESP_MSG, *PQMINAS_INITIATE_NW_REGISTER_RESP_MSG; 2880 2881 typedef struct _QMINAS_SET_TECHNOLOGY_PREF_REQ_MSG 2882 { 2883 USHORT Type; // QMUX type 0x0003 2884 USHORT Length; 2885 UCHAR TLVType; // 0x02 - result code 2886 USHORT TLVLength; // 4 2887 USHORT TechPref; 2888 UCHAR Duration; 2889 } QMINAS_SET_TECHNOLOGY_PREF_REQ_MSG, *PQMINAS_SET_TECHNOLOGY_PREF_REQ_MSG; 2890 2891 typedef struct _QMINAS_SET_TECHNOLOGY_PREF_RESP_MSG 2892 { 2893 USHORT Type; // QMUX type 0x0003 2894 USHORT Length; 2895 UCHAR TLVType; // 0x02 - result code 2896 USHORT TLVLength; // 4 2897 USHORT QMUXResult; // QMI_RESULT_SUCCESS 2898 // QMI_RESULT_FAILURE 2899 USHORT QMUXError; // QMI_ERR_INVALID_ARG 2900 // QMI_ERR_NO_MEMORY 2901 // QMI_ERR_INTERNAL 2902 // QMI_ERR_FAULT 2903 } QMINAS_SET_TECHNOLOGY_PREF_RESP_MSG, *PQMINAS_SET_TECHNOLOGY_PREF_RESP_MSG; 2904 2905 typedef struct _QMINAS_GET_SIGNAL_STRENGTH_REQ_MSG 2906 { 2907 USHORT Type; // QMUX type 0x0003 2908 USHORT Length; 2909 } QMINAS_GET_SIGNAL_STRENGTH_REQ_MSG, *PQMINAS_GET_SIGNAL_STRENGTH_REQ_MSG; 2910 2911 typedef struct _QMINAS_SIGNAL_STRENGTH 2912 { 2913 CHAR SigStrength; 2914 UCHAR RadioIf; 2915 } QMINAS_SIGNAL_STRENGTH, *PQMINAS_SIGNAL_STRENGTH; 2916 2917 typedef struct _QMINAS_SIGNAL_STRENGTH_LIST 2918 { 2919 UCHAR TLV3Type; 2920 USHORT TLV3Length; 2921 USHORT NumInstance; 2922 } QMINAS_SIGNAL_STRENGTH_LIST, *PQMINAS_SIGNAL_STRENGTH_LIST; 2923 2924 2925 typedef struct _QMINAS_GET_SIGNAL_STRENGTH_RESP_MSG 2926 { 2927 USHORT Type; // QMUX type 0x0003 2928 USHORT Length; 2929 UCHAR TLVType; // 0x02 - result code 2930 USHORT TLVLength; // 4 2931 USHORT QMUXResult; // QMI_RESULT_SUCCESS 2932 // QMI_RESULT_FAILURE 2933 USHORT QMUXError; // QMI_ERR_INVALID_ARG 2934 // QMI_ERR_NO_MEMORY 2935 // QMI_ERR_INTERNAL 2936 // QMI_ERR_FAULT 2937 UCHAR TLV2Type; 2938 USHORT TLV2Length; 2939 CHAR SignalStrength; 2940 UCHAR RadioIf; 2941 } QMINAS_GET_SIGNAL_STRENGTH_RESP_MSG, *PQMINAS_GET_SIGNAL_STRENGTH_RESP_MSG; 2942 2943 2944 typedef struct _QMINAS_SET_EVENT_REPORT_REQ_MSG 2945 { 2946 USHORT Type; 2947 USHORT Length; 2948 UCHAR TLVType; 2949 USHORT TLVLength; 2950 UCHAR ReportSigStrength; 2951 UCHAR NumTresholds; 2952 CHAR TresholdList[2]; 2953 } QMINAS_SET_EVENT_REPORT_REQ_MSG, *PQMINAS_SET_EVENT_REPORT_REQ_MSG; 2954 2955 typedef struct _QMINAS_SET_EVENT_REPORT_RESP_MSG 2956 { 2957 USHORT Type; // QMUX type 0x0003 2958 USHORT Length; 2959 UCHAR TLVType; // 0x02 - result code 2960 USHORT TLVLength; // 4 2961 USHORT QMUXResult; // QMI_RESULT_SUCCESS 2962 // QMI_RESULT_FAILURE 2963 USHORT QMUXError; // QMI_ERR_INVALID_ARG 2964 // QMI_ERR_NO_MEMORY 2965 // QMI_ERR_INTERNAL 2966 // QMI_ERR_FAULT 2967 } QMINAS_SET_EVENT_REPORT_RESP_MSG, *PQMINAS_SET_EVENT_REPORT_RESP_MSG; 2968 2969 typedef struct _QMINAS_SIGNAL_STRENGTH_TLV 2970 { 2971 UCHAR TLVType; 2972 USHORT TLVLength; 2973 CHAR SigStrength; 2974 UCHAR RadioIf; 2975 } QMINAS_SIGNAL_STRENGTH_TLV, *PQMINAS_SIGNAL_STRENGTH_TLV; 2976 2977 typedef struct _QMINAS_REJECT_CAUSE_TLV 2978 { 2979 UCHAR TLVType; 2980 USHORT TLVLength; 2981 UCHAR ServiceDomain; 2982 USHORT RejectCause; 2983 } QMINAS_REJECT_CAUSE_TLV, *PQMINAS_REJECT_CAUSE_TLV; 2984 2985 typedef struct _QMINAS_EVENT_REPORT_IND_MSG 2986 { 2987 USHORT Type; 2988 USHORT Length; 2989 } QMINAS_EVENT_REPORT_IND_MSG, *PQMINAS_EVENT_REPORT_IND_MSG; 2990 2991 typedef struct _QMINAS_GET_RF_BAND_INFO_REQ_MSG 2992 { 2993 USHORT Type; 2994 USHORT Length; 2995 } QMINAS_GET_RF_BAND_INFO_REQ_MSG, *PQMINAS_GET_RF_BAND_INFO_REQ_MSG; 2996 2997 typedef struct _QMINASRF_BAND_INFO 2998 { 2999 UCHAR RadioIf; 3000 USHORT ActiveBand; 3001 USHORT ActiveChannel; 3002 } QMINASRF_BAND_INFO, *PQMINASRF_BAND_INFO; 3003 3004 typedef struct _QMINAS_GET_RF_BAND_INFO_RESP_MSG 3005 { 3006 USHORT Type; // QMUX type 0x0003 3007 USHORT Length; 3008 UCHAR TLVType; // 0x02 - result code 3009 USHORT TLVLength; // 4 3010 USHORT QMUXResult; // QMI_RESULT_SUCCESS 3011 // QMI_RESULT_FAILURE 3012 USHORT QMUXError; // QMI_ERR_INVALID_ARG 3013 // QMI_ERR_NO_MEMORY 3014 // QMI_ERR_INTERNAL 3015 // QMI_ERR_FAULT 3016 UCHAR TLV2Type; 3017 USHORT TLV2Length; 3018 UCHAR NumInstances; 3019 } QMINAS_GET_RF_BAND_INFO_RESP_MSG, *PQMINAS_GET_RF_BAND_INFO_RESP_MSG; 3020 3021 3022 typedef struct _QMINAS_GET_PLMN_NAME_REQ_MSG 3023 { 3024 USHORT Type; 3025 USHORT Length; 3026 UCHAR TLVType; 3027 USHORT TLVLength; 3028 USHORT MCC; 3029 USHORT MNC; 3030 } QMINAS_GET_PLMN_NAME_REQ_MSG, *PQMINAS_GET_PLMN_NAME_REQ_MSG; 3031 3032 typedef struct _QMINAS_GET_PLMN_NAME_RESP_MSG 3033 { 3034 USHORT Type; 3035 USHORT Length; 3036 UCHAR TLVType; // 0x02 - result code 3037 USHORT TLVLength; // 4 3038 USHORT QMUXResult; // QMI_RESULT_SUCCESS 3039 // QMI_RESULT_FAILURE 3040 USHORT QMUXError; // QMI_ERR_INVALID_ARG 3041 // QMI_ERR_NO_MEMORY 3042 // QMI_ERR_INTERNAL 3043 // QMI_ERR_FAULT 3044 } QMINAS_GET_PLMN_NAME_RESP_MSG, *PQMINAS_GET_PLMN_NAME_RESP_MSG; 3045 3046 typedef struct _QMINAS_GET_PLMN_NAME_SPN 3047 { 3048 UCHAR TLVType; 3049 USHORT TLVLength; 3050 UCHAR SPN_Enc; 3051 UCHAR SPN_Len; 3052 } QMINAS_GET_PLMN_NAME_SPN, *PQMINAS_GET_PLMN_NAME_SPN; 3053 3054 typedef struct _QMINAS_GET_PLMN_NAME_PLMN 3055 { 3056 UCHAR PLMN_Enc; 3057 UCHAR PLMN_Ci; 3058 UCHAR PLMN_SpareBits; 3059 UCHAR PLMN_Len; 3060 } QMINAS_GET_PLMN_NAME_PLMN, *PQMINAS_GET_PLMN_NAME_PLMN; 3061 3062 typedef struct _QMINAS_INITIATE_ATTACH_REQ_MSG 3063 { 3064 USHORT Type; 3065 USHORT Length; 3066 UCHAR TLVType; 3067 USHORT TLVLength; 3068 UCHAR PsAttachAction; 3069 } QMINAS_INITIATE_ATTACH_REQ_MSG, *PQMINAS_INITIATE_ATTACH_REQ_MSG; 3070 3071 typedef struct _QMINAS_INITIATE_ATTACH_RESP_MSG 3072 { 3073 USHORT Type; // QMUX type 0x0003 3074 USHORT Length; 3075 UCHAR TLVType; // 0x02 - result code 3076 USHORT TLVLength; // 4 3077 USHORT QMUXResult; // QMI_RESULT_SUCCESS 3078 // QMI_RESULT_FAILURE 3079 USHORT QMUXError; // QMI_ERR_INVALID_ARG 3080 // QMI_ERR_NO_MEMORY 3081 // QMI_ERR_INTERNAL 3082 // QMI_ERR_FAULT 3083 } QMINAS_INITIATE_ATTACH_RESP_MSG, *PQMINAS_INITIATE_ATTACH_RESP_MSG; 3084 #endif 3085 typedef struct { 3086 UCHAR TLVType; 3087 USHORT TLVLength; 3088 CHAR rssi; 3089 SHORT ecio; 3090 } __attribute__ ((packed)) QMINAS_SIG_INFO_CDMA_TLV_MSG, *PQMINAS_SIG_INFO_CDMA_TLV_MSG; 3091 3092 typedef struct { 3093 UCHAR TLVType; 3094 USHORT TLVLength; 3095 CHAR rssi; 3096 SHORT ecio; 3097 CHAR sinr; 3098 INT io; 3099 } __attribute__ ((packed)) QMINAS_SIG_INFO_HDR_TLV_MSG, *PQMINAS_SIG_INFO_HDR_TLV_MSG; 3100 3101 typedef struct { 3102 UCHAR TLVType; 3103 USHORT TLVLength; 3104 CHAR rssi; 3105 } __attribute__ ((packed)) QMINAS_SIG_INFO_GSM_TLV_MSG, *PQMINAS_SIG_INFO_GSM_TLV_MSG; 3106 3107 typedef struct { 3108 UCHAR TLVType; 3109 USHORT TLVLength; 3110 CHAR rssi; 3111 SHORT ecio; 3112 } __attribute__ ((packed)) QMINAS_SIG_INFO_WCDMA_TLV_MSG, *PQMINAS_SIG_INFO_WCDMA_TLV_MSG; 3113 3114 typedef struct { 3115 UCHAR TLVType; 3116 USHORT TLVLength; 3117 CHAR rssi; 3118 CHAR rsrq; 3119 SHORT rsrp; 3120 SHORT snr; 3121 } __attribute__ ((packed)) QMINAS_SIG_INFO_LTE_TLV_MSG, *PQMINAS_SIG_INFO_LTE_TLV_MSG; 3122 3123 typedef struct { 3124 UCHAR TLVType; 3125 USHORT TLVLength; 3126 CHAR rscp; 3127 } __attribute__ ((packed)) QMINAS_SIG_INFO_TDSCDMA_TLV_MSG, *PQMINAS_SIG_INFO_TDSCDMA_TLV_MSG; 3128 3129 typedef struct { 3130 UCHAR TLVType; 3131 USHORT TLVLength; 3132 SHORT rsrp; 3133 SHORT snr; 3134 } __attribute__ ((packed)) QMINAS_SIG_INFO_5G_NSA_TLV_MSG, *PQMINAS_SIG_INFO_5G_NSA_TLV_MSG; 3135 3136 typedef struct { 3137 UCHAR TLVType; 3138 USHORT TLVLength; 3139 SHORT nr5g_rsrq; 3140 } __attribute__ ((packed)) QMINAS_SIG_INFO_5G_SA_TLV_MSG, *PQMINAS_SIG_INFO_5G_SA_TLV_MSG; 3141 // ======================= End of NAS ============================== 3142 3143 // ======================= UIM ============================== 3144 #define QMIUIM_READ_TRANSPARENT_REQ 0x0020 3145 #define QMIUIM_READ_TRANSPARENT_RESP 0x0020 3146 #define QMIUIM_READ_TRANSPARENT_IND 0x0020 3147 #define QMIUIM_READ_RECORD_REQ 0x0021 3148 #define QMIUIM_READ_RECORD_RESP 0x0021 3149 #define QMIUIM_READ_RECORD_IND 0x0021 3150 #define QMIUIM_WRITE_TRANSPARENT_REQ 0x0022 3151 #define QMIUIM_WRITE_TRANSPARENT_RESP 0x0022 3152 #define QMIUIM_WRITE_TRANSPARENT_IND 0x0022 3153 #define QMIUIM_WRITE_RECORD_REQ 0x0023 3154 #define QMIUIM_WRITE_RECORD_RESP 0x0023 3155 #define QMIUIM_WRITE_RECORD_IND 0x0023 3156 #define QMIUIM_SET_PIN_PROTECTION_REQ 0x0025 3157 #define QMIUIM_SET_PIN_PROTECTION_RESP 0x0025 3158 #define QMIUIM_SET_PIN_PROTECTION_IND 0x0025 3159 #define QMIUIM_VERIFY_PIN_REQ 0x0026 3160 #define QMIUIM_VERIFY_PIN_RESP 0x0026 3161 #define QMIUIM_VERIFY_PIN_IND 0x0026 3162 #define QMIUIM_UNBLOCK_PIN_REQ 0x0027 3163 #define QMIUIM_UNBLOCK_PIN_RESP 0x0027 3164 #define QMIUIM_UNBLOCK_PIN_IND 0x0027 3165 #define QMIUIM_CHANGE_PIN_REQ 0x0028 3166 #define QMIUIM_CHANGE_PIN_RESP 0x0028 3167 #define QMIUIM_CHANGE_PIN_IND 0x0028 3168 #define QMIUIM_DEPERSONALIZATION_REQ 0x0029 3169 #define QMIUIM_DEPERSONALIZATION_RESP 0x0029 3170 #define QMIUIM_EVENT_REG_REQ 0x002E 3171 #define QMIUIM_EVENT_REG_RESP 0x002E 3172 #define QMIUIM_GET_CARD_STATUS_REQ 0x002F 3173 #define QMIUIM_GET_CARD_STATUS_RESP 0x002F 3174 #define QMIUIM_STATUS_CHANGE_IND 0x0032 3175 3176 3177 typedef struct _QMIUIM_GET_CARD_STATUS_RESP_MSG 3178 { 3179 USHORT Type; 3180 USHORT Length; 3181 UCHAR TLVType; 3182 USHORT TLVLength; 3183 USHORT QMUXResult; 3184 USHORT QMUXError; 3185 } __attribute__ ((packed)) QMIUIM_GET_CARD_STATUS_RESP_MSG, *PQMIUIM_GET_CARD_STATUS_RESP_MSG; 3186 3187 #define UIM_CARD_STATE_ABSENT 0x00 3188 #define UIM_CARD_STATE_PRESENT 0x01 3189 #define UIM_CARD_STATE_ERROR 0x02 3190 3191 typedef struct _QMIUIM_CARD_STATUS 3192 { 3193 UCHAR TLVType; 3194 USHORT TLVLength; 3195 USHORT IndexGWPri; 3196 USHORT Index1XPri; 3197 USHORT IndexGWSec; 3198 USHORT Index1XSec; 3199 UCHAR NumSlot; 3200 UCHAR CardState; 3201 UCHAR UPINState; 3202 UCHAR UPINRetries; 3203 UCHAR UPUKRetries; 3204 UCHAR ErrorCode; 3205 UCHAR NumApp; 3206 UCHAR AppType; 3207 UCHAR AppState; 3208 UCHAR PersoState; 3209 UCHAR PersoFeature; 3210 UCHAR PersoRetries; 3211 UCHAR PersoUnblockRetries; 3212 UCHAR AIDLength; 3213 } __attribute__ ((packed)) QMIUIM_CARD_STATUS, *PQMIUIM_CARD_STATUS; 3214 3215 typedef struct _QMIUIM_PIN_STATE 3216 { 3217 UCHAR UnivPIN; 3218 UCHAR PIN1State; 3219 UCHAR PIN1Retries; 3220 UCHAR PUK1Retries; 3221 UCHAR PIN2State; 3222 UCHAR PIN2Retries; 3223 UCHAR PUK2Retries; 3224 } __attribute__ ((packed)) QMIUIM_PIN_STATE, *PQMIUIM_PIN_STATE; 3225 3226 typedef struct _QMIUIM_VERIFY_PIN_REQ_MSG 3227 { 3228 USHORT Type; 3229 USHORT Length; 3230 UCHAR TLVType; 3231 USHORT TLVLength; 3232 UCHAR Session_Type; 3233 UCHAR Aid_Len; 3234 UCHAR TLV2Type; 3235 USHORT TLV2Length; 3236 UCHAR PINID; 3237 UCHAR PINLen; 3238 UCHAR PINValue; 3239 } __attribute__ ((packed)) QMIUIM_VERIFY_PIN_REQ_MSG, *PQMIUIM_VERIFY_PIN_REQ_MSG; 3240 3241 typedef struct _QMIUIM_VERIFY_PIN_RESP_MSG 3242 { 3243 USHORT Type; 3244 USHORT Length; 3245 UCHAR TLVType; 3246 USHORT TLVLength; 3247 USHORT QMUXResult; 3248 USHORT QMUXError; 3249 UCHAR TLV2Type; 3250 USHORT TLV2Length; 3251 UCHAR PINVerifyRetriesLeft; 3252 UCHAR PINUnblockRetriesLeft; 3253 } __attribute__ ((packed)) QMIUIM_VERIFY_PIN_RESP_MSG, *PQMIUIM_VERIFY_PIN_RESP_MSG; 3254 3255 typedef struct _QMIUIM_READ_TRANSPARENT_REQ_MSG 3256 { 3257 USHORT Type; 3258 USHORT Length; 3259 UCHAR TLVType; 3260 USHORT TLVLength; 3261 UCHAR Session_Type; 3262 UCHAR Aid_Len; 3263 UCHAR TLV2Type; 3264 USHORT TLV2Length; 3265 USHORT file_id; 3266 UCHAR path_len; 3267 UCHAR path[]; 3268 } __attribute__ ((packed)) QMIUIM_READ_TRANSPARENT_REQ_MSG, *PQMIUIM_READ_TRANSPARENT_REQ_MSG; 3269 3270 typedef struct _READ_TRANSPARENT_TLV 3271 { 3272 UCHAR TLVType; 3273 USHORT TLVLength; 3274 USHORT Offset; 3275 USHORT Length; 3276 } __attribute__ ((packed)) READ_TRANSPARENT_TLV, *PREAD_TRANSPARENT_TLV; 3277 3278 typedef struct _QMIUIM_CONTENT 3279 { 3280 UCHAR TLVType; 3281 USHORT TLVLength; 3282 USHORT content_len; 3283 UCHAR content[]; 3284 } __attribute__ ((packed)) QMIUIM_CONTENT, *PQMIUIM_CONTENT; 3285 3286 typedef struct _QMIUIM_READ_TRANSPARENT_RESP_MSG 3287 { 3288 USHORT Type; 3289 USHORT Length; 3290 UCHAR TLVType; 3291 USHORT TLVLength; 3292 USHORT QMUXResult; 3293 USHORT QMUXError; 3294 } __attribute__ ((packed)) QMIUIM_READ_TRANSPARENT_RESP_MSG, *PQMIUIM_READ_TRANSPARENT_RESP_MSG; 3295 3296 typedef struct _QMUX_MSG 3297 { 3298 QCQMUX_HDR QMUXHdr; 3299 union 3300 { 3301 // Message Header 3302 QCQMUX_MSG_HDR QMUXMsgHdr; 3303 QCQMUX_MSG_HDR_RESP QMUXMsgHdrResp; 3304 3305 // QMIWDS Message 3306 #if 0 3307 QMIWDS_GET_PKT_SRVC_STATUS_REQ_MSG PacketServiceStatusReq; 3308 QMIWDS_GET_PKT_SRVC_STATUS_RESP_MSG PacketServiceStatusRsp; 3309 QMIWDS_GET_PKT_SRVC_STATUS_IND_MSG PacketServiceStatusInd; 3310 QMIWDS_EVENT_REPORT_IND_MSG EventReportInd; 3311 QMIWDS_GET_CURRENT_CHANNEL_RATE_REQ_MSG GetCurrChannelRateReq; 3312 QMIWDS_GET_CURRENT_CHANNEL_RATE_RESP_MSG GetCurrChannelRateRsp; 3313 QMIWDS_GET_PKT_STATISTICS_REQ_MSG GetPktStatsReq; 3314 QMIWDS_GET_PKT_STATISTICS_RESP_MSG GetPktStatsRsp; 3315 QMIWDS_SET_EVENT_REPORT_REQ_MSG EventReportReq; 3316 QMIWDS_SET_EVENT_REPORT_RESP_MSG EventReportRsp; 3317 #endif 3318 //#ifdef QC_IP_MODE 3319 QMIWDS_GET_RUNTIME_SETTINGS_REQ_MSG GetRuntimeSettingsReq; 3320 QMIWDS_GET_RUNTIME_SETTINGS_RESP_MSG GetRuntimeSettingsRsp; 3321 //#endif // QC_IP_MODE 3322 QMIWDS_SET_CLIENT_IP_FAMILY_PREF_REQ_MSG SetClientIpFamilyPrefReq; 3323 QMIWDS_SET_CLIENT_IP_FAMILY_PREF_RESP_MSG SetClientIpFamilyPrefResp; 3324 QMIWDS_SET_AUTO_CONNECT_REQ_MSG SetAutoConnectReq; 3325 #if 0 3326 QMIWDS_GET_MIP_MODE_REQ_MSG GetMipModeReq; 3327 QMIWDS_GET_MIP_MODE_RESP_MSG GetMipModeResp; 3328 #endif 3329 QMIWDS_START_NETWORK_INTERFACE_REQ_MSG StartNwInterfaceReq; 3330 QMIWDS_START_NETWORK_INTERFACE_RESP_MSG StartNwInterfaceResp; 3331 QMIWDS_STOP_NETWORK_INTERFACE_REQ_MSG StopNwInterfaceReq; 3332 QMIWDS_STOP_NETWORK_INTERFACE_RESP_MSG StopNwInterfaceResp; 3333 QMIWDS_GET_DEFAULT_SETTINGS_REQ_MSG GetDefaultSettingsReq; 3334 QMIWDS_GET_DEFAULT_SETTINGS_RESP_MSG GetDefaultSettingsResp; 3335 QMIWDS_MODIFY_PROFILE_SETTINGS_REQ_MSG ModifyProfileSettingsReq; 3336 QMIWDS_MODIFY_PROFILE_SETTINGS_RESP_MSG ModifyProfileSettingsResp; 3337 QMIWDS_GET_PROFILE_SETTINGS_REQ_MSG GetProfileSettingsReq; 3338 #if 0 3339 QMIWDS_GET_DATA_BEARER_REQ_MSG GetDataBearerReq; 3340 QMIWDS_GET_DATA_BEARER_RESP_MSG GetDataBearerResp; 3341 QMIWDS_DUN_CALL_INFO_REQ_MSG DunCallInfoReq; 3342 QMIWDS_DUN_CALL_INFO_RESP_MSG DunCallInfoResp; 3343 #endif 3344 QMIWDS_BIND_MUX_DATA_PORT_REQ_MSG BindMuxDataPortReq; 3345 3346 // QMIDMS Messages 3347 #if 0 3348 QMIDMS_GET_DEVICE_MFR_REQ_MSG GetDeviceMfrReq; 3349 QMIDMS_GET_DEVICE_MFR_RESP_MSG GetDeviceMfrRsp; 3350 QMIDMS_GET_DEVICE_MODEL_ID_REQ_MSG GetDeviceModeIdReq; 3351 QMIDMS_GET_DEVICE_MODEL_ID_RESP_MSG GetDeviceModeIdRsp; 3352 QMIDMS_GET_DEVICE_REV_ID_REQ_MSG GetDeviceRevIdReq; 3353 QMIDMS_GET_DEVICE_REV_ID_RESP_MSG GetDeviceRevIdRsp; 3354 QMIDMS_GET_MSISDN_REQ_MSG GetMsisdnReq; 3355 QMIDMS_GET_MSISDN_RESP_MSG GetMsisdnRsp; 3356 QMIDMS_GET_DEVICE_SERIAL_NUMBERS_REQ_MSG GetDeviceSerialNumReq; 3357 QMIDMS_GET_DEVICE_SERIAL_NUMBERS_RESP_MSG GetDeviceSerialNumRsp; 3358 QMIDMS_GET_DEVICE_CAP_REQ_MSG GetDeviceCapReq; 3359 QMIDMS_GET_DEVICE_CAP_RESP_MSG GetDeviceCapResp; 3360 QMIDMS_GET_BAND_CAP_REQ_MSG GetBandCapReq; 3361 QMIDMS_GET_BAND_CAP_RESP_MSG GetBandCapRsp; 3362 QMIDMS_GET_ACTIVATED_STATUS_REQ_MSG GetActivatedStatusReq; 3363 QMIDMS_GET_ACTIVATED_STATUS_RESP_MSG GetActivatedStatusResp; 3364 QMIDMS_GET_OPERATING_MODE_REQ_MSG GetOperatingModeReq; 3365 QMIDMS_GET_OPERATING_MODE_RESP_MSG GetOperatingModeResp; 3366 #endif 3367 QMIDMS_SET_OPERATING_MODE_REQ_MSG SetOperatingModeReq; 3368 QMIDMS_SET_OPERATING_MODE_RESP_MSG SetOperatingModeResp; 3369 #if 0 3370 QMIDMS_UIM_GET_ICCID_REQ_MSG GetICCIDReq; 3371 QMIDMS_UIM_GET_ICCID_RESP_MSG GetICCIDResp; 3372 QMIDMS_ACTIVATE_AUTOMATIC_REQ_MSG ActivateAutomaticReq; 3373 QMIDMS_ACTIVATE_AUTOMATIC_RESP_MSG ActivateAutomaticResp; 3374 QMIDMS_ACTIVATE_MANUAL_REQ_MSG ActivateManualReq; 3375 QMIDMS_ACTIVATE_MANUAL_RESP_MSG ActivateManualResp; 3376 #endif 3377 QMIDMS_UIM_GET_PIN_STATUS_REQ_MSG UIMGetPinStatusReq; 3378 QMIDMS_UIM_GET_PIN_STATUS_RESP_MSG UIMGetPinStatusResp; 3379 QMIDMS_UIM_VERIFY_PIN_REQ_MSG UIMVerifyPinReq; 3380 QMIDMS_UIM_VERIFY_PIN_RESP_MSG UIMVerifyPinResp; 3381 #if 0 3382 QMIDMS_UIM_SET_PIN_PROTECTION_REQ_MSG UIMSetPinProtectionReq; 3383 QMIDMS_UIM_SET_PIN_PROTECTION_RESP_MSG UIMSetPinProtectionResp; 3384 QMIDMS_UIM_CHANGE_PIN_REQ_MSG UIMChangePinReq; 3385 QMIDMS_UIM_CHANGE_PIN_RESP_MSG UIMChangePinResp; 3386 QMIDMS_UIM_UNBLOCK_PIN_REQ_MSG UIMUnblockPinReq; 3387 QMIDMS_UIM_UNBLOCK_PIN_RESP_MSG UIMUnblockPinResp; 3388 QMIDMS_SET_EVENT_REPORT_REQ_MSG DmsSetEventReportReq; 3389 QMIDMS_SET_EVENT_REPORT_RESP_MSG DmsSetEventReportResp; 3390 QMIDMS_EVENT_REPORT_IND_MSG DmsEventReportInd; 3391 #endif 3392 QMIDMS_UIM_GET_STATE_REQ_MSG UIMGetStateReq; 3393 QMIDMS_UIM_GET_STATE_RESP_MSG UIMGetStateResp; 3394 QMIDMS_UIM_GET_IMSI_REQ_MSG UIMGetIMSIReq; 3395 QMIDMS_UIM_GET_IMSI_RESP_MSG UIMGetIMSIResp; 3396 #if 0 3397 QMIDMS_UIM_GET_CK_STATUS_REQ_MSG UIMGetCkStatusReq; 3398 QMIDMS_UIM_GET_CK_STATUS_RESP_MSG UIMGetCkStatusResp; 3399 QMIDMS_UIM_SET_CK_PROTECTION_REQ_MSG UIMSetCkProtectionReq; 3400 QMIDMS_UIM_SET_CK_PROTECTION_RESP_MSG UIMSetCkProtectionResp; 3401 QMIDMS_UIM_UNBLOCK_CK_REQ_MSG UIMUnblockCkReq; 3402 QMIDMS_UIM_UNBLOCK_CK_RESP_MSG UIMUnblockCkResp; 3403 #endif 3404 3405 // QMIQOS Messages 3406 #if 0 3407 QMI_QOS_SET_EVENT_REPORT_REQ_MSG QosSetEventReportReq; 3408 QMI_QOS_SET_EVENT_REPORT_RESP_MSG QosSetEventReportRsp; 3409 QMI_QOS_EVENT_REPORT_IND_MSG QosEventReportInd; 3410 #endif 3411 3412 // QMIWMS Messages 3413 #if 0 3414 QMIWMS_GET_MESSAGE_PROTOCOL_REQ_MSG GetMessageProtocolReq; 3415 QMIWMS_GET_MESSAGE_PROTOCOL_RESP_MSG GetMessageProtocolResp; 3416 QMIWMS_GET_SMSC_ADDRESS_REQ_MSG GetSMSCAddressReq; 3417 QMIWMS_GET_SMSC_ADDRESS_RESP_MSG GetSMSCAddressResp; 3418 QMIWMS_SET_SMSC_ADDRESS_REQ_MSG SetSMSCAddressReq; 3419 QMIWMS_SET_SMSC_ADDRESS_RESP_MSG SetSMSCAddressResp; 3420 QMIWMS_GET_STORE_MAX_SIZE_REQ_MSG GetStoreMaxSizeReq; 3421 QMIWMS_GET_STORE_MAX_SIZE_RESP_MSG GetStoreMaxSizeResp; 3422 QMIWMS_LIST_MESSAGES_REQ_MSG ListMessagesReq; 3423 QMIWMS_LIST_MESSAGES_RESP_MSG ListMessagesResp; 3424 QMIWMS_RAW_READ_REQ_MSG RawReadMessagesReq; 3425 QMIWMS_RAW_READ_RESP_MSG RawReadMessagesResp; 3426 QMIWMS_SET_EVENT_REPORT_REQ_MSG WmsSetEventReportReq; 3427 QMIWMS_SET_EVENT_REPORT_RESP_MSG WmsSetEventReportResp; 3428 QMIWMS_EVENT_REPORT_IND_MSG WmsEventReportInd; 3429 QMIWMS_DELETE_REQ_MSG WmsDeleteReq; 3430 QMIWMS_DELETE_RESP_MSG WmsDeleteResp; 3431 QMIWMS_RAW_SEND_REQ_MSG RawSendMessagesReq; 3432 QMIWMS_RAW_SEND_RESP_MSG RawSendMessagesResp; 3433 QMIWMS_MODIFY_TAG_REQ_MSG WmsModifyTagReq; 3434 QMIWMS_MODIFY_TAG_RESP_MSG WmsModifyTagResp; 3435 #endif 3436 3437 // QMINAS Messages 3438 #if 0 3439 QMINAS_GET_HOME_NETWORK_REQ_MSG GetHomeNetworkReq; 3440 QMINAS_GET_HOME_NETWORK_RESP_MSG GetHomeNetworkResp; 3441 QMINAS_GET_PREFERRED_NETWORK_REQ_MSG GetPreferredNetworkReq; 3442 QMINAS_GET_PREFERRED_NETWORK_RESP_MSG GetPreferredNetworkResp; 3443 QMINAS_GET_FORBIDDEN_NETWORK_REQ_MSG GetForbiddenNetworkReq; 3444 QMINAS_GET_FORBIDDEN_NETWORK_RESP_MSG GetForbiddenNetworkResp; 3445 QMINAS_GET_SERVING_SYSTEM_REQ_MSG GetServingSystemReq; 3446 #endif 3447 QMINAS_GET_SERVING_SYSTEM_RESP_MSG GetServingSystemResp; 3448 QMINAS_GET_SYS_INFO_RESP_MSG GetSysInfoResp; 3449 QMINAS_SYS_INFO_IND_MSG NasSysInfoInd; 3450 #if 0 3451 QMINAS_SERVING_SYSTEM_IND_MSG NasServingSystemInd; 3452 QMINAS_SET_PREFERRED_NETWORK_REQ_MSG SetPreferredNetworkReq; 3453 QMINAS_SET_PREFERRED_NETWORK_RESP_MSG SetPreferredNetworkResp; 3454 QMINAS_SET_FORBIDDEN_NETWORK_REQ_MSG SetForbiddenNetworkReq; 3455 QMINAS_SET_FORBIDDEN_NETWORK_RESP_MSG SetForbiddenNetworkResp; 3456 QMINAS_PERFORM_NETWORK_SCAN_REQ_MSG PerformNetworkScanReq; 3457 QMINAS_PERFORM_NETWORK_SCAN_RESP_MSG PerformNetworkScanResp; 3458 QMINAS_INITIATE_NW_REGISTER_REQ_MSG InitiateNwRegisterReq; 3459 QMINAS_INITIATE_NW_REGISTER_RESP_MSG InitiateNwRegisterResp; 3460 QMINAS_SET_TECHNOLOGY_PREF_REQ_MSG SetTechnologyPrefReq; 3461 QMINAS_SET_TECHNOLOGY_PREF_RESP_MSG SetTechnologyPrefResp; 3462 QMINAS_GET_SIGNAL_STRENGTH_REQ_MSG GetSignalStrengthReq; 3463 QMINAS_GET_SIGNAL_STRENGTH_RESP_MSG GetSignalStrengthResp; 3464 QMINAS_SET_EVENT_REPORT_REQ_MSG SetEventReportReq; 3465 QMINAS_SET_EVENT_REPORT_RESP_MSG SetEventReportResp; 3466 QMINAS_EVENT_REPORT_IND_MSG NasEventReportInd; 3467 QMINAS_GET_RF_BAND_INFO_REQ_MSG GetRFBandInfoReq; 3468 QMINAS_GET_RF_BAND_INFO_RESP_MSG GetRFBandInfoResp; 3469 QMINAS_INITIATE_ATTACH_REQ_MSG InitiateAttachReq; 3470 QMINAS_INITIATE_ATTACH_RESP_MSG InitiateAttachResp; 3471 QMINAS_GET_PLMN_NAME_REQ_MSG GetPLMNNameReq; 3472 QMINAS_GET_PLMN_NAME_RESP_MSG GetPLMNNameResp; 3473 #endif 3474 3475 // QMIUIM Messages 3476 QMIUIM_GET_CARD_STATUS_RESP_MSG UIMGetCardStatus; 3477 QMIUIM_VERIFY_PIN_REQ_MSG UIMUIMVerifyPinReq; 3478 QMIUIM_VERIFY_PIN_RESP_MSG UIMUIMVerifyPinResp; 3479 #if 0 3480 QMIUIM_SET_PIN_PROTECTION_REQ_MSG UIMUIMSetPinProtectionReq; 3481 QMIUIM_SET_PIN_PROTECTION_RESP_MSG UIMUIMSetPinProtectionResp; 3482 QMIUIM_CHANGE_PIN_REQ_MSG UIMUIMChangePinReq; 3483 QMIUIM_CHANGE_PIN_RESP_MSG UIMUIMChangePinResp; 3484 QMIUIM_UNBLOCK_PIN_REQ_MSG UIMUIMUnblockPinReq; 3485 QMIUIM_UNBLOCK_PIN_RESP_MSG UIMUIMUnblockPinResp; 3486 #endif 3487 QMIUIM_READ_TRANSPARENT_REQ_MSG UIMUIMReadTransparentReq; 3488 QMIUIM_READ_TRANSPARENT_RESP_MSG UIMUIMReadTransparentResp; 3489 3490 QMIWDS_ADMIN_SET_DATA_FORMAT_REQ_MSG SetDataFormatReq; 3491 QMI_WDA_SET_LOOPBACK_CONFIG_REQ_MSG SetLoopBackReq; 3492 QMI_WDA_SET_LOOPBACK_CONFIG_IND_MSG SetLoopBackInd; 3493 }; 3494 } __attribute__ ((packed)) QMUX_MSG, *PQMUX_MSG; 3495 3496 #pragma pack(pop) 3497 3498 #endif // MPQMUX_H 3499