1 /* 2 * Copyright (c) 2012-2018 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for 5 * any purpose with or without fee is hereby granted, provided that the 6 * above copyright notice and this permission notice appear in all 7 * copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 /* 20 * This file wni_api.h contains message definitions exported by 21 * Sirius software modules. 22 * NOTE: See projects/sirius/include/sir_api.h for structure 23 * definitions of the host/FW messages. 24 * 25 * Author: Chandra Modumudi 26 * Date: 04/11/2002 27 * History:- 28 * Date Modified by Modification Information 29 * -------------------------------------------------------------------- 30 */ 31 32 #ifndef __WNI_API_H 33 #define __WNI_API_H 34 35 #define SIR_SME_MODULE_ID 0x16 36 37 /* / Start of Sirius/Host message types */ 38 #define WNI_HOST_MSG_START 0x1500 39 40 enum eWniMsgTypes { 41 /* / CFG message types */ 42 eWNI_CFG_MSG_TYPES_BEGIN = WNI_HOST_MSG_START, 43 eWNI_CFG_MSG_TYPES_END = eWNI_CFG_MSG_TYPES_BEGIN + 0xFF, 44 45 /* / SME message types */ 46 eWNI_SME_MSG_TYPES_BEGIN = eWNI_CFG_MSG_TYPES_END, 47 eWNI_SME_SYS_READY_IND, 48 eWNI_SME_SCAN_REQ, 49 eWNI_SME_SCAN_ABORT_IND, 50 eWNI_SME_SCAN_RSP, 51 eWNI_SME_JOIN_REQ, 52 eWNI_SME_JOIN_RSP, 53 eWNI_SME_SETCONTEXT_REQ, 54 eWNI_SME_SETCONTEXT_RSP, 55 eWNI_SME_REASSOC_REQ, 56 eWNI_SME_REASSOC_RSP, 57 eWNI_SME_DISASSOC_REQ, 58 eWNI_SME_DISASSOC_RSP, 59 eWNI_SME_DISASSOC_IND, 60 eWNI_SME_DISASSOC_CNF, 61 eWNI_SME_DEAUTH_REQ, 62 eWNI_SME_DEAUTH_RSP, 63 eWNI_SME_DEAUTH_IND, 64 eWNI_SME_DISCONNECT_DONE_IND, 65 eWNI_SME_WM_STATUS_CHANGE_NTF, 66 eWNI_SME_IBSS_NEW_PEER_IND, 67 eWNI_SME_IBSS_PEER_DEPARTED_IND, 68 eWNI_SME_START_BSS_REQ, 69 eWNI_SME_START_BSS_RSP, 70 eWNI_SME_ASSOC_IND, 71 eWNI_SME_ASSOC_CNF, 72 eWNI_SME_SWITCH_CHL_IND, 73 eWNI_SME_STOP_BSS_REQ, 74 eWNI_SME_STOP_BSS_RSP, 75 eWNI_SME_DEAUTH_CNF, 76 eWNI_SME_MIC_FAILURE_IND, 77 eWNI_SME_ADDTS_REQ, 78 eWNI_SME_ADDTS_RSP, 79 eWNI_SME_DELTS_REQ, 80 eWNI_SME_DELTS_RSP, 81 eWNI_SME_DELTS_IND, 82 eWNI_SME_GET_STATISTICS_REQ, 83 eWNI_SME_GET_STATISTICS_RSP, 84 eWNI_SME_GET_RSSI_REQ, 85 eWNI_SME_GET_ASSOC_STAS_REQ, 86 eWNI_SME_WPS_PBC_PROBE_REQ_IND, 87 eWNI_SME_UPPER_LAYER_ASSOC_CNF, 88 eWNI_SME_SESSION_UPDATE_PARAM, 89 eWNI_SME_CHNG_MCC_BEACON_INTERVAL, 90 eWNI_SME_CLEAR_DFS_CHANNEL_LIST, 91 eWNI_SME_GET_SNR_REQ, 92 93 eWNI_SME_RRM_MSG_TYPE_BEGIN, 94 95 eWNI_SME_NEIGHBOR_REPORT_REQ_IND, 96 eWNI_SME_NEIGHBOR_REPORT_IND, 97 eWNI_SME_BEACON_REPORT_REQ_IND, 98 eWNI_SME_BEACON_REPORT_RESP_XMIT_IND, 99 100 eWNI_SME_ADD_STA_SELF_RSP, 101 eWNI_SME_DEL_STA_SELF_RSP, 102 103 eWNI_SME_FT_PRE_AUTH_REQ, 104 eWNI_SME_FT_PRE_AUTH_RSP, 105 eWNI_SME_FT_UPDATE_KEY, 106 eWNI_SME_FT_AGGR_QOS_REQ, 107 eWNI_SME_FT_AGGR_QOS_RSP, 108 109 #if defined FEATURE_WLAN_ESE 110 eWNI_SME_ESE_ADJACENT_AP_REPORT, 111 #endif 112 113 eWNI_SME_REGISTER_MGMT_FRAME_REQ, 114 eWNI_SME_GENERIC_CHANGE_COUNTRY_CODE, 115 eWNI_SME_MAX_ASSOC_EXCEEDED, 116 #ifdef FEATURE_WLAN_TDLS 117 eWNI_SME_TDLS_SEND_MGMT_REQ, 118 eWNI_SME_TDLS_SEND_MGMT_RSP, 119 eWNI_SME_TDLS_ADD_STA_REQ, 120 eWNI_SME_TDLS_ADD_STA_RSP, 121 eWNI_SME_TDLS_DEL_STA_REQ, 122 eWNI_SME_TDLS_DEL_STA_RSP, 123 eWNI_SME_TDLS_DEL_STA_IND, 124 eWNI_SME_TDLS_DEL_ALL_PEER_IND, 125 eWNI_SME_MGMT_FRM_TX_COMPLETION_IND, 126 eWNI_SME_TDLS_LINK_ESTABLISH_REQ, 127 eWNI_SME_TDLS_LINK_ESTABLISH_RSP, 128 eWNI_SME_TDLS_SHOULD_DISCOVER, 129 eWNI_SME_TDLS_SHOULD_TEARDOWN, 130 eWNI_SME_TDLS_PEER_DISCONNECTED, 131 eWNI_SME_TDLS_CONNECTION_TRACKER_NOTIFICATION, 132 #endif 133 /* NOTE: If you are planning to add more mesages, please make sure that */ 134 /* SIR_LIM_ITC_MSG_TYPES_BEGIN is moved appropriately. It is set as */ 135 /* SIR_LIM_MSG_TYPES_BEGIN+0xB0 = 12B0 (which means max of 176 messages and */ 136 /* eWNI_SME_TDLS_DEL_STA_RSP = 175. */ 137 /* Should fix above issue to enable TDLS_INTERNAL */ 138 eWNI_SME_RESET_AP_CAPS_CHANGED, 139 #ifdef WLAN_FEATURE_11W 140 eWNI_SME_UNPROT_MGMT_FRM_IND, 141 #endif 142 #ifdef WLAN_FEATURE_GTK_OFFLOAD 143 eWNI_PMC_GTK_OFFLOAD_GETINFO_RSP, 144 #endif /* WLAN_FEATURE_GTK_OFFLOAD */ 145 eWNI_SME_CANDIDATE_FOUND_IND, /*ROAM candidate indication from FW */ 146 eWNI_SME_HANDOFF_REQ, /*upper layer requested handoff to driver in STA mode */ 147 eWNI_SME_ROAM_SCAN_OFFLOAD_RSP, /*Fwd the LFR scan offload rsp from FW to SME */ 148 eWNI_SME_IBSS_PEER_INFO_RSP, 149 eWNI_SME_GET_TSM_STATS_REQ, 150 eWNI_SME_GET_TSM_STATS_RSP, 151 eWNI_SME_TSM_IE_IND, 152 153 eWNI_SME_READY_TO_SUSPEND_IND, 154 /* DFS EVENTS */ 155 eWNI_SME_DFS_RADAR_FOUND, /* RADAR found indication from DFS */ 156 eWNI_SME_CHANNEL_CHANGE_REQ, /* Channel Change Request from SAP */ 157 eWNI_SME_CHANNEL_CHANGE_RSP, /* Channel Change Response from WMA */ 158 eWNI_SME_START_BEACON_REQ, /* Start Beacon Transmission. */ 159 eWNI_SME_DFS_BEACON_CHAN_SW_IE_REQ, /* Transmit CSA IE in beacons */ 160 eWNI_SME_DFS_CSAIE_TX_COMPLETE_IND, /* To indicate completion of CSA IE */ 161 /* update in beacons/probe rsp */ 162 eWNI_SME_STATS_EXT_EVENT, 163 eWNI_SME_GET_PEER_INFO_IND, 164 eWNI_SME_GET_PEER_INFO_EXT_IND, 165 eWNI_SME_CSA_OFFLOAD_EVENT, 166 eWNI_SME_UPDATE_ADDITIONAL_IES, /* indicates Additional IE from hdd to PE */ 167 eWNI_SME_MODIFY_ADDITIONAL_IES, /* To indicate IE modify from hdd to PE */ 168 #ifdef FEATURE_WLAN_AUTO_SHUTDOWN 169 eWNI_SME_AUTO_SHUTDOWN_IND, 170 #endif 171 #ifdef QCA_HT_2040_COEX 172 eWNI_SME_SET_HT_2040_MODE, 173 #endif 174 #ifdef WLAN_FEATURE_ROAM_OFFLOAD 175 eWNI_SME_HO_FAIL_IND, /* Hand Off Failure Ind from WMA to SME */ 176 #endif 177 #ifdef WLAN_FEATURE_NAN 178 eWNI_SME_NAN_EVENT, 179 #endif 180 eWNI_SME_LINK_STATUS_IND, 181 #ifdef WLAN_FEATURE_EXTWOW_SUPPORT 182 eWNI_SME_READY_TO_EXTWOW_IND, 183 #endif 184 eWNI_SME_MSG_GET_TEMPERATURE_IND, 185 eWNI_SME_SNR_IND, 186 #ifdef FEATURE_WLAN_EXTSCAN 187 eWNI_SME_EXTSCAN_FULL_SCAN_RESULT_IND, 188 eWNI_SME_EPNO_NETWORK_FOUND_IND, 189 #endif 190 eWNI_SME_SET_HW_MODE_REQ, 191 eWNI_SME_SET_HW_MODE_RESP, 192 eWNI_SME_HW_MODE_TRANS_IND, 193 eWNI_SME_NSS_UPDATE_REQ, 194 eWNI_SME_NSS_UPDATE_RSP, 195 eWNI_SME_OCB_SET_CONFIG_RSP, 196 eWNI_SME_OCB_GET_TSF_TIMER_RSP, 197 eWNI_SME_DCC_GET_STATS_RSP, 198 eWNI_SME_DCC_UPDATE_NDL_RSP, 199 eWNI_SME_DCC_STATS_EVENT, 200 eWNI_SME_SET_DUAL_MAC_CFG_REQ, 201 eWNI_SME_SET_DUAL_MAC_CFG_RESP, 202 eWNI_SME_SET_THERMAL_LEVEL_IND, 203 eWNI_SME_SET_IE_REQ, 204 eWNI_SME_EXT_CHANGE_CHANNEL, 205 eWNI_SME_EXT_CHANGE_CHANNEL_IND, 206 eWNI_SME_REGISTER_MGMT_FRAME_CB, 207 eWNI_SME_HT40_OBSS_SCAN_IND, /* START and UPDATE OBSS SCAN Indication*/ 208 eWNI_SME_SET_ANTENNA_MODE_REQ, 209 eWNI_SME_SET_ANTENNA_MODE_RESP, 210 eWNI_SME_TSF_EVENT, 211 eWNI_SME_MON_INIT_SESSION, 212 eWNI_SME_PDEV_SET_HT_VHT_IE, 213 eWNI_SME_SET_VDEV_IES_PER_BAND, 214 eWNI_SME_SEND_DISASSOC_FRAME, 215 eWNI_SME_UPDATE_ACCESS_POLICY_VENDOR_IE, 216 eWNI_SME_DEFAULT_SCAN_IE, 217 eWNI_SME_ROAM_SCAN_OFFLOAD_REQ, 218 eWNI_SME_LOST_LINK_INFO_IND, 219 eWNI_SME_DEL_ALL_TDLS_PEERS, 220 eWNI_SME_RSO_CMD_STATUS_IND, 221 eWMI_SME_LL_STATS_IND, 222 eWNI_SME_DFS_CAC_COMPLETE, 223 eWNI_SME_UPDATE_CONFIG, 224 eWNI_SME_BT_ACTIVITY_INFO_IND, 225 eWNI_SME_SET_HE_BSS_COLOR, 226 eWNI_SME_TRIGGER_SAE, 227 eWNI_SME_SEND_MGMT_FRAME_TX, 228 eWNI_SME_SEND_SAE_MSG, 229 eWNI_SME_SET_ADDBA_ACCEPT, 230 eWNI_SME_UPDATE_EDCA_PROFILE, 231 eWNI_SME_MSG_TYPES_END 232 }; 233 234 typedef enum { 235 eWNI_TDLS_TEARDOWN_REASON_TX, 236 eWNI_TDLS_TEARDOWN_REASON_RSSI, 237 eWNI_TDLS_TEARDOWN_REASON_SCAN, 238 eWNI_TDLS_DISCONNECTED_REASON_PEER_DELETE, 239 eWNI_TDLS_TEARDOWN_REASON_PTR_TIMEOUT, 240 eWNI_TDLS_TEARDOWN_REASON_BAD_PTR, 241 eWNI_TDLS_TEARDOWN_REASON_NO_RESPONSE, 242 } eWniTdlsTeardownReason; 243 244 /** 245 * enum ewni_tdls_connection_tracker_notification - connection tracker events 246 * @eWNI_TDLS_PEER_ENTER_BUF_STA: TDLS peer enters buff sta 247 * @eWNI_TDLS_PEER_EXIT_BUF_STA: TDLS peer exit buff sta 248 * @eWNI_TDLS_ENTER_BT_BUSY_MODE: Enter BT busy event 249 * @eWNI_TDLS_EXIT_BT_BUSY_MODE: Exit BT busy event 250 * @eWMI_TDLS_SCAN_STARTED_EVENT: offload scan start event 251 * @eWMI_TDLS_SCAN_COMPLETED_EVENT: offload scan end event 252 */ 253 enum ewni_tdls_connection_tracker_notification { 254 eWNI_TDLS_PEER_ENTER_BUF_STA, 255 eWNI_TDLS_PEER_EXIT_BUF_STA, 256 eWNI_TDLS_ENTER_BT_BUSY_MODE, 257 eWNI_TDLS_EXIT_BT_BUSY_MODE, 258 eWMI_TDLS_SCAN_STARTED_EVENT, 259 eWMI_TDLS_SCAN_COMPLETED_EVENT, 260 }; 261 262 #define WNI_CFG_MSG_TYPES_BEGIN 0x1200 263 264 /*---------------------------------------------------------------------*/ 265 /* CFG Module Definitions */ 266 /*---------------------------------------------------------------------*/ 267 268 /*---------------------------------------------------------------------*/ 269 /* CFG message definitions */ 270 /*---------------------------------------------------------------------*/ 271 #define WNI_CFG_MSG_HDR_MASK 0xffff0000 272 #define WNI_CFG_MSG_LEN_MASK 0x0000ffff 273 #define WNI_CFG_MB_HDR_LEN 4 274 #define WNI_CFG_MAX_PARAM_NUM 32 275 276 /*---------------------------------------------------------------------*/ 277 /* CFG to HDD message types */ 278 /*---------------------------------------------------------------------*/ 279 #define WNI_CFG_PARAM_UPDATE_IND (WNI_CFG_MSG_TYPES_BEGIN | 0x00) 280 #define WNI_CFG_DNLD_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x01) 281 #define WNI_CFG_DNLD_CNF (WNI_CFG_MSG_TYPES_BEGIN | 0x02) 282 #define WNI_CFG_GET_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x03) 283 #define WNI_CFG_SET_CNF (WNI_CFG_MSG_TYPES_BEGIN | 0x04) 284 #define WNI_CFG_GET_ATTRIB_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x05) 285 #define WNI_CFG_ADD_GRP_ADDR_CNF (WNI_CFG_MSG_TYPES_BEGIN | 0x06) 286 #define WNI_CFG_DEL_GRP_ADDR_CNF (WNI_CFG_MSG_TYPES_BEGIN | 0x07) 287 288 #define ANI_CFG_GET_RADIO_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x08) 289 #define ANI_CFG_GET_PER_STA_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x09) 290 #define ANI_CFG_GET_AGG_STA_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x0a) 291 #define ANI_CFG_CLEAR_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x0b) 292 293 /*---------------------------------------------------------------------*/ 294 /* CFG to HDD message parameter indices */ 295 296 /* The followings are word indices starting from the message body */ 297 298 /* WNI_CFG_xxxx_xxxx_xxxx: index of parameter */ 299 /* WNI_CFG_xxxx_xxxx_NUM: number of parameters in message */ 300 301 /* WNI_CFG_xxxx_xxxx_LEN: byte length of message including */ 302 /* MB header */ 303 /* */ 304 /* WNI_CFG_xxxx_xxxx_PARTIAL_LEN: byte length of message including */ 305 /* parameters and MB header but */ 306 /* excluding variable data length */ 307 /*---------------------------------------------------------------------*/ 308 309 /* Parameter update indication */ 310 #define WNI_CFG_PARAM_UPDATE_IND_PID 0 311 312 #define WNI_CFG_PARAM_UPDATE_IND_NUM 1 313 #define WNI_CFG_PARAM_UPDATE_IND_LEN (WNI_CFG_MB_HDR_LEN + \ 314 (WNI_CFG_PARAM_UPDATE_IND_NUM << 2)) 315 316 /* Configuration download request */ 317 #define WNI_CFG_DNLD_REQ_NUM 0 318 #define WNI_CFG_DNLD_REQ_LEN WNI_CFG_MB_HDR_LEN 319 320 /* Configuration download confirm */ 321 #define WNI_CFG_DNLD_CNF_RES 0 322 323 #define WNI_CFG_DNLD_CNF_NUM 1 324 #define WNI_CFG_DNLD_CNF_LEN (WNI_CFG_MB_HDR_LEN + \ 325 (WNI_CFG_DNLD_CNF_NUM << 2)) 326 /* Get response */ 327 #define WNI_CFG_GET_RSP_RES 0 328 #define WNI_CFG_GET_RSP_PID 1 329 #define WNI_CFG_GET_RSP_PLEN 2 330 331 #define WNI_CFG_GET_RSP_NUM 3 332 #define WNI_CFG_GET_RSP_PARTIAL_LEN (WNI_CFG_MB_HDR_LEN + \ 333 (WNI_CFG_GET_RSP_NUM << 2)) 334 /* Set confirm */ 335 #define WNI_CFG_SET_CNF_RES 0 336 #define WNI_CFG_SET_CNF_PID 1 337 338 #define WNI_CFG_SET_CNF_NUM 2 339 #define WNI_CFG_SET_CNF_LEN (WNI_CFG_MB_HDR_LEN + \ 340 (WNI_CFG_SET_CNF_NUM << 2)) 341 /* Get attribute response */ 342 #define WNI_CFG_GET_ATTRIB_RSP_RES 0 343 #define WNI_CFG_GET_ATTRIB_RSP_PID 1 344 #define WNI_CFG_GET_ATTRIB_RSP_TYPE 2 345 #define WNI_CFG_GET_ATTRIB_RSP_PLEN 3 346 #define WNI_CFG_GET_ATTRIB_RSP_RW 4 347 348 #define WNI_CFG_GET_ATTRIB_RSP_NUM 5 349 #define WNI_CFG_GET_ATTRIB_RSP_LEN (WNI_CFG_MB_HDR_LEN + \ 350 (WNI_CFG_GET_ATTRIB_RSP_NUM << 2)) 351 352 /* Add group address confirm */ 353 #define WNI_CFG_ADD_GRP_ADDR_CNF_RES 0 354 355 #define WNI_CFG_ADD_GRP_ADDR_CNF_NUM 1 356 #define WNI_CFG_ADD_GRP_ADDR_CNF_LEN (WNI_CFG_MB_HDR_LEN + \ 357 (WNI_CFG_ADD_GRP_ADDR_CNF_NUM << 2)) 358 359 /* Delete group address confirm */ 360 #define WNI_CFG_DEL_GRP_ADDR_CNF_RES 0 361 362 #define WNI_CFG_DEL_GRP_ADDR_CNF_NUM 1 363 #define WNI_CFG_DEL_GRP_ADDR_CNF_LEN (WNI_CFG_MB_HDR_LEN + \ 364 (WNI_CFG_DEL_GRP_ADDR_CNF_NUM << 2)) 365 366 #define IS_CFG_MSG(msg) ((msg & 0xff00) == WNI_CFG_MSG_TYPES_BEGIN) 367 368 /* Clear stats types. */ 369 #define ANI_CLEAR_ALL_STATS 0 370 #define ANI_CLEAR_RX_STATS 1 371 #define ANI_CLEAR_TX_STATS 2 372 #define ANI_CLEAR_PER_STA_STATS 3 373 #define ANI_CLEAR_AGGR_PER_STA_STATS 4 374 #define ANI_CLEAR_STAT_TYPES_END 5 375 376 /*---------------------------------------------------------------------*/ 377 /* HDD to CFG message types */ 378 /*---------------------------------------------------------------------*/ 379 #define WNI_CFG_DNLD_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x80) 380 #define WNI_CFG_GET_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x81) 381 382 /* Shall be removed after stats integration */ 383 384 /*---------------------------------------------------------------------*/ 385 /* HDD to CFG message parameter indices */ 386 /* */ 387 /* The followings are word indices starting from the message body */ 388 /* */ 389 /* WNI_CFG_xxxx_xxxx_xxxx: index of parameter */ 390 /* */ 391 /* WNI_CFG_xxxx_xxxx_NUM: number of parameters in message */ 392 /* */ 393 /* WNI_CFG_xxxx_xxxx_LEN: byte length of message including */ 394 /* MB header */ 395 /* */ 396 /* WNI_CFG_xxxx_xxxx_PARTIAL_LEN: byte length of message including */ 397 /* parameters and MB header but */ 398 /* excluding variable data length */ 399 /*---------------------------------------------------------------------*/ 400 401 /* Download response */ 402 #define WNI_CFG_DNLD_RSP_BIN_LEN 0 403 404 #define WNI_CFG_DNLD_RSP_NUM 1 405 #define WNI_CFG_DNLD_RSP_PARTIAL_LEN (WNI_CFG_MB_HDR_LEN + \ 406 (WNI_CFG_DNLD_RSP_NUM << 2)) 407 408 /* Set parameter request */ 409 #define WNI_CFG_SET_REQ_PID 0 410 #define WNI_CFG_SET_REQ_PLEN 1 411 412 /*---------------------------------------------------------------------*/ 413 /* CFG return values */ 414 /*---------------------------------------------------------------------*/ 415 #define WNI_CFG_SUCCESS 1 416 #define WNI_CFG_NOT_READY 2 417 #define WNI_CFG_INVALID_PID 3 418 #define WNI_CFG_INVALID_LEN 4 419 #define WNI_CFG_RO_PARAM 5 420 #define WNI_CFG_WO_PARAM 6 421 #define WNI_CFG_INVALID_STAID 7 422 #define WNI_CFG_OTHER_ERROR 8 423 #define WNI_CFG_NEED_RESTART 9 424 #define WNI_CFG_NEED_RELOAD 10 425 426 /*---------------------------------------------------------------------*/ 427 /* CFG definitions */ 428 /*---------------------------------------------------------------------*/ 429 430 /* Shall be removed after integration of stats. */ 431 /* Get statistic response */ 432 #define WNI_CFG_GET_STAT_RSP_RES 0 433 #define WNI_CFG_GET_STAT_RSP_PARAMID 1 434 #define WNI_CFG_GET_STAT_RSP_VALUE 2 435 436 #define WNI_CFG_GET_STAT_RSP_NUM 3 437 #define WNI_CFG_GET_STAT_RSP_LEN (WNI_CFG_MB_HDR_LEN + \ 438 (WNI_CFG_GET_STAT_RSP_NUM << 2)) 439 /* Get per station statistic response */ 440 #define WNI_CFG_GET_PER_STA_STAT_RSP_RES 0 441 #define WNI_CFG_GET_PER_STA_STAT_RSP_STAID 1 442 #define WNI_CFG_GET_PER_STA_STAT_RSP_FIRST_PARAM 2 443 444 /* Per STA statistic structure */ 445 typedef struct sAniCfgPerStaStatStruct { 446 unsigned long sentAesBlksUcastHi; 447 unsigned long sentAesBlksUcastLo; 448 449 unsigned long recvAesBlksUcastHi; 450 unsigned long recvAesBlksUcastLo; 451 452 unsigned long aesFormatErrorUcastCnts; 453 454 unsigned long aesReplaysUcast; 455 456 unsigned long aesDecryptErrUcast; 457 458 unsigned long singleRetryPkts; 459 460 unsigned long failedTxPkts; 461 462 unsigned long ackTimeouts; 463 464 unsigned long multiRetryPkts; 465 466 unsigned long fragTxCntsHi; 467 unsigned long fragTxCntsLo; 468 469 unsigned long transmittedPktsHi; 470 unsigned long transmittedPktsLo; 471 472 unsigned long phyStatHi; 473 unsigned long phyStatLo; 474 } tCfgPerStaStatStruct, *tpAniCfgPerStaStatStruct; 475 476 #define WNI_CFG_GET_PER_STA_STAT_RSP_NUM 23 477 #define WNI_CFG_GET_PER_STA_STAT_RSP_LEN (WNI_CFG_MB_HDR_LEN + \ 478 (WNI_CFG_GET_PER_STA_STAT_RSP_NUM << 2)) 479 480 /* Shall be removed after integrating stats. */ 481 #define WNI_CFG_GET_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x08) 482 #define WNI_CFG_GET_PER_STA_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x09) 483 #define WNI_CFG_GET_AGG_STA_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x0a) 484 #define WNI_CFG_GET_TX_RATE_CTR_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x0b) 485 486 #define WNI_CFG_GET_AGG_STA_STAT_RSP_NUM 21 487 #define WNI_CFG_GET_AGG_STA_STAT_RSP_LEN (WNI_CFG_MB_HDR_LEN + \ 488 (WNI_CFG_GET_AGG_STA_STAT_RSP_NUM << 2)) 489 #define WNI_CFG_GET_AGG_STA_STAT_RSP_RES 0 490 491 /* Get TX rate based stats */ 492 #define WNI_CFG_GET_TX_RATE_CTR_RSP_RES 0 493 494 typedef struct sAniCfgTxRateCtrs { 495 /* add the rate counters here */ 496 unsigned long TxFrames_1Mbps; 497 unsigned long TxFrames_2Mbps; 498 unsigned long TxFrames_5_5Mbps; 499 unsigned long TxFrames_6Mbps; 500 unsigned long TxFrames_9Mbps; 501 unsigned long TxFrames_11Mbps; 502 unsigned long TxFrames_12Mbps; 503 unsigned long TxFrames_18Mbps; 504 unsigned long TxFrames_24Mbps; 505 unsigned long TxFrames_36Mbps; 506 unsigned long TxFrames_48Mbps; 507 unsigned long TxFrames_54Mbps; 508 unsigned long TxFrames_72Mbps; 509 unsigned long TxFrames_96Mbps; 510 unsigned long TxFrames_108Mbps; 511 512 } tAniCfgTxRateCtrs, *tpAniCfgTxRateCtrs; 513 514 #define WNI_CFG_GET_STAT_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x86) 515 #define WNI_CFG_GET_PER_STA_STAT_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x87) 516 #define WNI_CFG_GET_AGG_STA_STAT_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x88) 517 #define WNI_CFG_GET_TX_RATE_CTR_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x89) 518 519 /* Get statistic request */ 520 #define WNI_CFG_GET_STAT_REQ_PARAMID 0 521 522 #define WNI_CFG_GET_STAT_REQ_NUM 1 523 #define WNI_CFG_GET_STAT_REQ_LEN (WNI_CFG_MB_HDR_LEN + \ 524 (WNI_CFG_GET_STAT_REQ_NUM << 2)) 525 526 /* Get per station statistic request */ 527 #define WNI_CFG_GET_PER_STA_STAT_REQ_STAID 0 528 529 #define WNI_CFG_GET_PER_STA_STAT_REQ_NUM 1 530 #define WNI_CFG_GET_PER_STA_STAT_REQ_LEN (WNI_CFG_MB_HDR_LEN + \ 531 (WNI_CFG_GET_PER_STA_STAT_REQ_NUM << 2)) 532 533 #define DYNAMIC_CFG_TYPE_SELECTED_REGISTRAR (0) 534 #define DYNAMIC_CFG_TYPE_WPS_STATE (1) 535 536 #endif /* __WNI_API_H */ 537