blob: f4187b81b258c00a0ced4c9c1bcebd35c1409c7d [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Anand Kumar012623a2013-01-11 17:00:00 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
Tushnim Bhattacharyya5dd94562013-03-20 20:15:03 -070021
Jeff Johnson295189b2012-06-20 16:38:30 -070022/*==========================================================================
23 *
24 * @file: wlan_hal_msg.h
25 *
26 * @brief: Exports and types for messages sent to HAL from WDI
27 *
28 * @author: Kumar Anand
29 *
Tushnim Bhattacharyya5dd94562013-03-20 20:15:03 -070030 * Copyright (C) 2010, Qualcomm Technologies, Inc.
Jeff Johnson295189b2012-06-20 16:38:30 -070031 * All rights reserved.
32 *
33 *=========================================================================*/
34
35#ifndef _WLAN_HAL_MSG_H_
36#define _WLAN_HAL_MSG_H_
37
38#include "halLegacyPalTypes.h"
39#include "halCompiler.h"
40#include "wlan_qct_dev_defs.h"
41#include "wlan_nv.h"
Anand Kumar012623a2013-01-11 17:00:00 -080042
Jeff Johnson295189b2012-06-20 16:38:30 -070043/*---------------------------------------------------------------------------
44 API VERSIONING INFORMATION
45
46 The RIVA API is versioned as MAJOR.MINOR.VERSION.REVISION
47 The MAJOR is incremented for major product/architecture changes
48 (and then MINOR/VERSION/REVISION are zeroed)
49 The MINOR is incremented for minor product/architecture changes
50 (and then VERSION/REVISION are zeroed)
51 The VERSION is incremented if a significant API change occurs
52 (and then REVISION is zeroed)
53 The REVISION is incremented if an insignificant API change occurs
54 or if a new API is added
55 All values are in the range 0..255 (ie they are 8-bit values)
56 ---------------------------------------------------------------------------*/
Jeff Johnsone7245742012-09-05 17:12:55 -070057#define WLAN_HAL_VER_MAJOR 1
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -080058#define WLAN_HAL_VER_MINOR 4
Jeff Johnson295189b2012-06-20 16:38:30 -070059#define WLAN_HAL_VER_VERSION 1
Viral Modie50b1d42012-12-10 13:04:52 -080060#define WLAN_HAL_VER_REVISION 2
Jeff Johnson295189b2012-06-20 16:38:30 -070061
62/*---------------------------------------------------------------------------
63 Commom Type definitons
64 ---------------------------------------------------------------------------*/
65
66//This is to force compiler to use the maximum of an int ( 4 bytes )
67#define WLAN_HAL_MAX_ENUM_SIZE 0x7FFFFFFF
Jeff Johnsone7245742012-09-05 17:12:55 -070068#define WLAN_HAL_MSG_TYPE_MAX_ENUM_SIZE 0x7FFF
Jeff Johnson295189b2012-06-20 16:38:30 -070069
70//Max no. of transmit categories
71#define STACFG_MAX_TC 8
72
73//The maximum value of access category
74#define WLAN_HAL_MAX_AC 4
75
76typedef tANI_U8 tSirMacAddr[6];
77typedef tANI_U8 tHalIpv4Addr[4];
78
79#define HAL_MAC_ADDR_LEN 6
80#define HAL_IPV4_ADDR_LEN 4
81
82#define WALN_HAL_STA_INVALID_IDX 0xFF
83#define WLAN_HAL_BSS_INVALID_IDX 0xFF
84
85//Default Beacon template size
Jeff Johnson32d95a32012-09-10 13:15:23 -070086#define BEACON_TEMPLATE_SIZE 0x180
Jeff Johnson295189b2012-06-20 16:38:30 -070087
Jeff Johnson32d95a32012-09-10 13:15:23 -070088//Param Change Bitmap sent to HAL
Jeff Johnson295189b2012-06-20 16:38:30 -070089#define PARAM_BCN_INTERVAL_CHANGED (1 << 0)
90#define PARAM_SHORT_PREAMBLE_CHANGED (1 << 1)
91#define PARAM_SHORT_SLOT_TIME_CHANGED (1 << 2)
92#define PARAM_llACOEXIST_CHANGED (1 << 3)
93#define PARAM_llBCOEXIST_CHANGED (1 << 4)
94#define PARAM_llGCOEXIST_CHANGED (1 << 5)
95#define PARAM_HT20MHZCOEXIST_CHANGED (1<<6)
96#define PARAM_NON_GF_DEVICES_PRESENT_CHANGED (1<<7)
97#define PARAM_RIFS_MODE_CHANGED (1<<8)
98#define PARAM_LSIG_TXOP_FULL_SUPPORT_CHANGED (1<<9)
99#define PARAM_OBSS_MODE_CHANGED (1<<10)
100#define PARAM_BEACON_UPDATE_MASK (PARAM_BCN_INTERVAL_CHANGED|PARAM_SHORT_PREAMBLE_CHANGED|PARAM_SHORT_SLOT_TIME_CHANGED|PARAM_llACOEXIST_CHANGED |PARAM_llBCOEXIST_CHANGED|\
101 PARAM_llGCOEXIST_CHANGED|PARAM_HT20MHZCOEXIST_CHANGED|PARAM_NON_GF_DEVICES_PRESENT_CHANGED|PARAM_RIFS_MODE_CHANGED|PARAM_LSIG_TXOP_FULL_SUPPORT_CHANGED| PARAM_OBSS_MODE_CHANGED)
102
103/*Dump command response Buffer size*/
Gopichand Nakkala089c2582013-04-04 15:40:10 +0530104#define DUMPCMD_RSP_BUFFER 500
Jeff Johnson295189b2012-06-20 16:38:30 -0700105
106/*Version string max length (including NUL) */
107#define WLAN_HAL_VERSION_LENGTH 64
108
Gopichand Nakkala175de4b2013-05-06 12:02:17 +0530109#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Varun Reddy Yeturu4a231fb2013-05-22 13:11:28 -0700110#define CHANNEL_LIST_STATIC 1 /* Occupied channel list remains static */
111#define CHANNEL_LIST_DYNAMIC_INIT 2 /* Occupied channel list can be learnt after init */
112#define CHANNEL_LIST_DYNAMIC_FLUSH 3 /* Occupied channel list can be learnt after flush */
113#define CHANNEL_LIST_DYNAMIC_UPDATE 4 /* Occupied channel list can be learnt after update */
Gopichand Nakkala175de4b2013-05-06 12:02:17 +0530114#define WLAN_HAL_ROAM_SCAN_MAX_PROBE_SIZE 450
115#define WLAN_HAL_ROAM_SCAN_MAX_CHANNELS NUM_RF_CHANNELS
Varun Reddy Yeturu4a231fb2013-05-22 13:11:28 -0700116#define WLAN_HAL_ROAM_SCAN_RESERVED_BYTES 61
Gopichand Nakkala175de4b2013-05-06 12:02:17 +0530117#endif
118
Yue Maab3ccfc2013-08-14 17:19:08 -0700119#define HAL_PERIODIC_TX_PTRN_MAX_SIZE 1536
120#define HAL_MAXNUM_PERIODIC_TX_PTRNS 6
121
Jeff Johnson295189b2012-06-20 16:38:30 -0700122/* Message types for messages exchanged between WDI and HAL */
Jeff Johnson32d95a32012-09-10 13:15:23 -0700123typedef enum
Jeff Johnson295189b2012-06-20 16:38:30 -0700124{
125 //Init/De-Init
126 WLAN_HAL_START_REQ = 0,
127 WLAN_HAL_START_RSP = 1,
128 WLAN_HAL_STOP_REQ = 2,
129 WLAN_HAL_STOP_RSP = 3,
130
131 //Scan
132 WLAN_HAL_INIT_SCAN_REQ = 4,
133 WLAN_HAL_INIT_SCAN_RSP = 5,
134 WLAN_HAL_START_SCAN_REQ = 6,
135 WLAN_HAL_START_SCAN_RSP = 7 ,
136 WLAN_HAL_END_SCAN_REQ = 8,
137 WLAN_HAL_END_SCAN_RSP = 9,
138 WLAN_HAL_FINISH_SCAN_REQ = 10,
139 WLAN_HAL_FINISH_SCAN_RSP = 11,
140
141 // HW STA configuration/deconfiguration
142 WLAN_HAL_CONFIG_STA_REQ = 12,
143 WLAN_HAL_CONFIG_STA_RSP = 13,
144 WLAN_HAL_DELETE_STA_REQ = 14,
145 WLAN_HAL_DELETE_STA_RSP = 15,
146 WLAN_HAL_CONFIG_BSS_REQ = 16,
147 WLAN_HAL_CONFIG_BSS_RSP = 17,
148 WLAN_HAL_DELETE_BSS_REQ = 18,
149 WLAN_HAL_DELETE_BSS_RSP = 19,
150
151 //Infra STA asscoiation
152 WLAN_HAL_JOIN_REQ = 20,
153 WLAN_HAL_JOIN_RSP = 21,
154 WLAN_HAL_POST_ASSOC_REQ = 22,
155 WLAN_HAL_POST_ASSOC_RSP = 23,
156
157 //Security
158 WLAN_HAL_SET_BSSKEY_REQ = 24,
159 WLAN_HAL_SET_BSSKEY_RSP = 25,
160 WLAN_HAL_SET_STAKEY_REQ = 26,
161 WLAN_HAL_SET_STAKEY_RSP = 27,
162 WLAN_HAL_RMV_BSSKEY_REQ = 28,
163 WLAN_HAL_RMV_BSSKEY_RSP = 29,
164 WLAN_HAL_RMV_STAKEY_REQ = 30,
165 WLAN_HAL_RMV_STAKEY_RSP = 31,
166
167 //Qos Related
168 WLAN_HAL_ADD_TS_REQ = 32,
169 WLAN_HAL_ADD_TS_RSP = 33,
170 WLAN_HAL_DEL_TS_REQ = 34,
171 WLAN_HAL_DEL_TS_RSP = 35,
172 WLAN_HAL_UPD_EDCA_PARAMS_REQ = 36,
173 WLAN_HAL_UPD_EDCA_PARAMS_RSP = 37,
174 WLAN_HAL_ADD_BA_REQ = 38,
175 WLAN_HAL_ADD_BA_RSP = 39,
176 WLAN_HAL_DEL_BA_REQ = 40,
177 WLAN_HAL_DEL_BA_RSP = 41,
178
179 WLAN_HAL_CH_SWITCH_REQ = 42,
180 WLAN_HAL_CH_SWITCH_RSP = 43,
181 WLAN_HAL_SET_LINK_ST_REQ = 44,
182 WLAN_HAL_SET_LINK_ST_RSP = 45,
183 WLAN_HAL_GET_STATS_REQ = 46,
184 WLAN_HAL_GET_STATS_RSP = 47,
185 WLAN_HAL_UPDATE_CFG_REQ = 48,
186 WLAN_HAL_UPDATE_CFG_RSP = 49,
187
188 WLAN_HAL_MISSED_BEACON_IND = 50,
189 WLAN_HAL_UNKNOWN_ADDR2_FRAME_RX_IND = 51,
190 WLAN_HAL_MIC_FAILURE_IND = 52,
191 WLAN_HAL_FATAL_ERROR_IND = 53,
192 WLAN_HAL_SET_KEYDONE_MSG = 54,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700193
Jeff Johnson295189b2012-06-20 16:38:30 -0700194 //NV Interface
195 WLAN_HAL_DOWNLOAD_NV_REQ = 55,
196 WLAN_HAL_DOWNLOAD_NV_RSP = 56,
197
198 WLAN_HAL_ADD_BA_SESSION_REQ = 57,
199 WLAN_HAL_ADD_BA_SESSION_RSP = 58,
200 WLAN_HAL_TRIGGER_BA_REQ = 59,
201 WLAN_HAL_TRIGGER_BA_RSP = 60,
202 WLAN_HAL_UPDATE_BEACON_REQ = 61,
203 WLAN_HAL_UPDATE_BEACON_RSP = 62,
204 WLAN_HAL_SEND_BEACON_REQ = 63,
205 WLAN_HAL_SEND_BEACON_RSP = 64,
206
207 WLAN_HAL_SET_BCASTKEY_REQ = 65,
208 WLAN_HAL_SET_BCASTKEY_RSP = 66,
209 WLAN_HAL_DELETE_STA_CONTEXT_IND = 67,
210 WLAN_HAL_UPDATE_PROBE_RSP_TEMPLATE_REQ = 68,
211 WLAN_HAL_UPDATE_PROBE_RSP_TEMPLATE_RSP = 69,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700212
Jeff Johnson295189b2012-06-20 16:38:30 -0700213 // PTT interface support
214 WLAN_HAL_PROCESS_PTT_REQ = 70,
215 WLAN_HAL_PROCESS_PTT_RSP = 71,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700216
Jeff Johnson295189b2012-06-20 16:38:30 -0700217 // BTAMP related events
218 WLAN_HAL_SIGNAL_BTAMP_EVENT_REQ = 72,
219 WLAN_HAL_SIGNAL_BTAMP_EVENT_RSP = 73,
220 WLAN_HAL_TL_HAL_FLUSH_AC_REQ = 74,
221 WLAN_HAL_TL_HAL_FLUSH_AC_RSP = 75,
222
223 WLAN_HAL_ENTER_IMPS_REQ = 76,
224 WLAN_HAL_EXIT_IMPS_REQ = 77,
225 WLAN_HAL_ENTER_BMPS_REQ = 78,
226 WLAN_HAL_EXIT_BMPS_REQ = 79,
227 WLAN_HAL_ENTER_UAPSD_REQ = 80,
228 WLAN_HAL_EXIT_UAPSD_REQ = 81,
229 WLAN_HAL_UPDATE_UAPSD_PARAM_REQ = 82,
230 WLAN_HAL_CONFIGURE_RXP_FILTER_REQ = 83,
231 WLAN_HAL_ADD_BCN_FILTER_REQ = 84,
232 WLAN_HAL_REM_BCN_FILTER_REQ = 85,
233 WLAN_HAL_ADD_WOWL_BCAST_PTRN = 86,
234 WLAN_HAL_DEL_WOWL_BCAST_PTRN = 87,
235 WLAN_HAL_ENTER_WOWL_REQ = 88,
236 WLAN_HAL_EXIT_WOWL_REQ = 89,
237 WLAN_HAL_HOST_OFFLOAD_REQ = 90,
238 WLAN_HAL_SET_RSSI_THRESH_REQ = 91,
239 WLAN_HAL_GET_RSSI_REQ = 92,
240 WLAN_HAL_SET_UAPSD_AC_PARAMS_REQ = 93,
241 WLAN_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_REQ = 94,
242
243 WLAN_HAL_ENTER_IMPS_RSP = 95,
244 WLAN_HAL_EXIT_IMPS_RSP = 96,
245 WLAN_HAL_ENTER_BMPS_RSP = 97,
246 WLAN_HAL_EXIT_BMPS_RSP = 98,
247 WLAN_HAL_ENTER_UAPSD_RSP = 99,
248 WLAN_HAL_EXIT_UAPSD_RSP = 100,
249 WLAN_HAL_SET_UAPSD_AC_PARAMS_RSP = 101,
250 WLAN_HAL_UPDATE_UAPSD_PARAM_RSP = 102,
251 WLAN_HAL_CONFIGURE_RXP_FILTER_RSP = 103,
252 WLAN_HAL_ADD_BCN_FILTER_RSP = 104,
253 WLAN_HAL_REM_BCN_FILTER_RSP = 105,
254 WLAN_HAL_SET_RSSI_THRESH_RSP = 106,
255 WLAN_HAL_HOST_OFFLOAD_RSP = 107,
256 WLAN_HAL_ADD_WOWL_BCAST_PTRN_RSP = 108,
257 WLAN_HAL_DEL_WOWL_BCAST_PTRN_RSP = 109,
258 WLAN_HAL_ENTER_WOWL_RSP = 110,
259 WLAN_HAL_EXIT_WOWL_RSP = 111,
260 WLAN_HAL_RSSI_NOTIFICATION_IND = 112,
261 WLAN_HAL_GET_RSSI_RSP = 113,
262 WLAN_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_RSP = 114,
263
264 //11k related events
265 WLAN_HAL_SET_MAX_TX_POWER_REQ = 115,
266 WLAN_HAL_SET_MAX_TX_POWER_RSP = 116,
267
268 //11R related msgs
269 WLAN_HAL_AGGR_ADD_TS_REQ = 117,
270 WLAN_HAL_AGGR_ADD_TS_RSP = 118,
271
272 //P2P WLAN_FEATURE_P2P
273 WLAN_HAL_SET_P2P_GONOA_REQ = 119,
274 WLAN_HAL_SET_P2P_GONOA_RSP = 120,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700275
Jeff Johnson295189b2012-06-20 16:38:30 -0700276 //WLAN Dump commands
277 WLAN_HAL_DUMP_COMMAND_REQ = 121,
278 WLAN_HAL_DUMP_COMMAND_RSP = 122,
279
Jeff Johnsone7245742012-09-05 17:12:55 -0700280 //OEM_DATA FEATURE SUPPORT
281 WLAN_HAL_START_OEM_DATA_REQ = 123,
282 WLAN_HAL_START_OEM_DATA_RSP = 124,
Jeff Johnson295189b2012-06-20 16:38:30 -0700283
284 //ADD SELF STA REQ and RSP
285 WLAN_HAL_ADD_STA_SELF_REQ = 125,
286 WLAN_HAL_ADD_STA_SELF_RSP = 126,
287
288 //DEL SELF STA SUPPORT
289 WLAN_HAL_DEL_STA_SELF_REQ = 127,
290 WLAN_HAL_DEL_STA_SELF_RSP = 128,
291
292 // Coex Indication
293 WLAN_HAL_COEX_IND = 129,
294
Jeff Johnson32d95a32012-09-10 13:15:23 -0700295 // Tx Complete Indication
Jeff Johnson295189b2012-06-20 16:38:30 -0700296 WLAN_HAL_OTA_TX_COMPL_IND = 130,
297
298 //Host Suspend/resume messages
299 WLAN_HAL_HOST_SUSPEND_IND = 131,
300 WLAN_HAL_HOST_RESUME_REQ = 132,
301 WLAN_HAL_HOST_RESUME_RSP = 133,
302
303 WLAN_HAL_SET_TX_POWER_REQ = 134,
304 WLAN_HAL_SET_TX_POWER_RSP = 135,
305 WLAN_HAL_GET_TX_POWER_REQ = 136,
306 WLAN_HAL_GET_TX_POWER_RSP = 137,
307
308 WLAN_HAL_P2P_NOA_ATTR_IND = 138,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700309
Jeff Johnson295189b2012-06-20 16:38:30 -0700310 WLAN_HAL_ENABLE_RADAR_DETECT_REQ = 139,
311 WLAN_HAL_ENABLE_RADAR_DETECT_RSP = 140,
312 WLAN_HAL_GET_TPC_REPORT_REQ = 141,
313 WLAN_HAL_GET_TPC_REPORT_RSP = 142,
314 WLAN_HAL_RADAR_DETECT_IND = 143,
315 WLAN_HAL_RADAR_DETECT_INTR_IND = 144,
316 WLAN_HAL_KEEP_ALIVE_REQ = 145,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700317 WLAN_HAL_KEEP_ALIVE_RSP = 146,
Jeff Johnson295189b2012-06-20 16:38:30 -0700318
319 /*PNO messages*/
320 WLAN_HAL_SET_PREF_NETWORK_REQ = 147,
321 WLAN_HAL_SET_PREF_NETWORK_RSP = 148,
322 WLAN_HAL_SET_RSSI_FILTER_REQ = 149,
323 WLAN_HAL_SET_RSSI_FILTER_RSP = 150,
324 WLAN_HAL_UPDATE_SCAN_PARAM_REQ = 151,
325 WLAN_HAL_UPDATE_SCAN_PARAM_RSP = 152,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700326 WLAN_HAL_PREF_NETW_FOUND_IND = 153,
Jeff Johnson295189b2012-06-20 16:38:30 -0700327
328 WLAN_HAL_SET_TX_PER_TRACKING_REQ = 154,
329 WLAN_HAL_SET_TX_PER_TRACKING_RSP = 155,
330 WLAN_HAL_TX_PER_HIT_IND = 156,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700331
Jeff Johnson295189b2012-06-20 16:38:30 -0700332 WLAN_HAL_8023_MULTICAST_LIST_REQ = 157,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700333 WLAN_HAL_8023_MULTICAST_LIST_RSP = 158,
Jeff Johnson295189b2012-06-20 16:38:30 -0700334
335 WLAN_HAL_SET_PACKET_FILTER_REQ = 159,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700336 WLAN_HAL_SET_PACKET_FILTER_RSP = 160,
Jeff Johnson295189b2012-06-20 16:38:30 -0700337 WLAN_HAL_PACKET_FILTER_MATCH_COUNT_REQ = 161,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700338 WLAN_HAL_PACKET_FILTER_MATCH_COUNT_RSP = 162,
Jeff Johnson295189b2012-06-20 16:38:30 -0700339 WLAN_HAL_CLEAR_PACKET_FILTER_REQ = 163,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700340 WLAN_HAL_CLEAR_PACKET_FILTER_RSP = 164,
341 /*This is temp fix. Should be removed once
Jeff Johnson295189b2012-06-20 16:38:30 -0700342 * Host and Riva code is in sync*/
343 WLAN_HAL_INIT_SCAN_CON_REQ = 165,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700344
Jeff Johnson295189b2012-06-20 16:38:30 -0700345 WLAN_HAL_SET_POWER_PARAMS_REQ = 166,
346 WLAN_HAL_SET_POWER_PARAMS_RSP = 167,
347
348 WLAN_HAL_TSM_STATS_REQ = 168,
349 WLAN_HAL_TSM_STATS_RSP = 169,
350
351 // wake reason indication (WOW)
352 WLAN_HAL_WAKE_REASON_IND = 170,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700353 // GTK offload support
Jeff Johnson295189b2012-06-20 16:38:30 -0700354 WLAN_HAL_GTK_OFFLOAD_REQ = 171,
355 WLAN_HAL_GTK_OFFLOAD_RSP = 172,
356 WLAN_HAL_GTK_OFFLOAD_GETINFO_REQ = 173,
357 WLAN_HAL_GTK_OFFLOAD_GETINFO_RSP = 174,
358
359 WLAN_HAL_FEATURE_CAPS_EXCHANGE_REQ = 175,
360 WLAN_HAL_FEATURE_CAPS_EXCHANGE_RSP = 176,
361 WLAN_HAL_EXCLUDE_UNENCRYPTED_IND = 177,
362
363 WLAN_HAL_SET_THERMAL_MITIGATION_REQ = 178,
364 WLAN_HAL_SET_THERMAL_MITIGATION_RSP = 179,
365
Anand Kumar012623a2013-01-11 17:00:00 -0800366 WLAN_HAL_UPDATE_VHT_OP_MODE_REQ = 182,
367 WLAN_HAL_UPDATE_VHT_OP_MODE_RSP = 183,
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -0800368
Anand Kumar012623a2013-01-11 17:00:00 -0800369 WLAN_HAL_P2P_NOA_START_IND = 184,
370
371 WLAN_HAL_GET_ROAM_RSSI_REQ = 185,
372 WLAN_HAL_GET_ROAM_RSSI_RSP = 186,
Tushnim Bhattacharyya5dd94562013-03-20 20:15:03 -0700373
Shailender Karmuchiebe0e612013-01-18 18:49:14 -0800374 WLAN_HAL_CLASS_B_STATS_IND = 187,
375 WLAN_HAL_DEL_BA_IND = 188,
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -0800376 WLAN_HAL_DHCP_START_IND = 189,
377 WLAN_HAL_DHCP_STOP_IND = 190,
Varun Reddy Yeturu4a231fb2013-05-22 13:11:28 -0700378 WLAN_ROAM_SCAN_OFFLOAD_REQ = 191,
379 WLAN_ROAM_SCAN_OFFLOAD_RSP = 192,
Gopichand Nakkala175de4b2013-05-06 12:02:17 +0530380 WLAN_HAL_WIFI_PROXIMITY_REQ = 193,
381 WLAN_HAL_WIFI_PROXIMITY_RSP = 194,
Shailender Karmuchi07f514b2013-06-25 01:14:09 -0700382
383 WLAN_HAL_START_SPECULATIVE_PS_POLLS_REQ = 195,
384 WLAN_HAL_START_SPECULATIVE_PS_POLLS_RSP = 196,
385 WLAN_HAL_STOP_SPECULATIVE_PS_POLLS_IND = 197,
386
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530387 WLAN_HAL_TDLS_LINK_ESTABLISHED_REQ = 198,
388 WLAN_HAL_TDLS_LINK_ESTABLISHED_RSP = 199,
389 WLAN_HAL_TDLS_LINK_TEARDOWN_REQ = 200,
390 WLAN_HAL_TDLS_LINK_TEARDOWN_RSP = 201,
391 WLAN_HAL_TDLS_IND = 202,
Ravi Joshi9e8e7cd2013-07-31 14:54:08 -0700392 WLAN_HAL_IBSS_PEER_INACTIVITY_IND = 203,
Leo Chang397deb72013-08-22 11:33:16 -0700393
394 /* APIs to offload TCP/UDP Heartbeat handshakes */
395 WLAN_HAL_LPHB_CFG_REQ = 211,
396 WLAN_HAL_LPHB_CFG_RSP = 212,
397 WLAN_HAL_LPHB_IND = 213,
398
Yue Maab3ccfc2013-08-14 17:19:08 -0700399 WLAN_HAL_ADD_PERIODIC_TX_PTRN_IND = 214,
400 WLAN_HAL_DEL_PERIODIC_TX_PTRN_IND = 215,
401 WLAN_HAL_PERIODIC_TX_PTRN_FW_IND = 216,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530402
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -0800403 WLAN_HAL_MSG_MAX = WLAN_HAL_MSG_TYPE_MAX_ENUM_SIZE
Jeff Johnson295189b2012-06-20 16:38:30 -0700404}tHalHostMsgType;
405
Jeff Johnsone7245742012-09-05 17:12:55 -0700406/* Enumeration for Version */
407typedef enum
408{
409 WLAN_HAL_MSG_VERSION0 = 0,
410 WLAN_HAL_MSG_VERSION1 = 1,
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -0800411 WLAN_HAL_MSG_WCNSS_CTRL_VERSION = 0x7FFF, /*define as 2 bytes data*/
412 WLAN_HAL_MSG_VERSION_MAX_FIELD = WLAN_HAL_MSG_WCNSS_CTRL_VERSION
Jeff Johnsone7245742012-09-05 17:12:55 -0700413}tHalHostMsgVersion;
414
Jeff Johnson295189b2012-06-20 16:38:30 -0700415/* Enumeration for Boolean - False/True, On/Off */
Jeff Johnson32d95a32012-09-10 13:15:23 -0700416typedef enum tagAniBoolean
Jeff Johnson295189b2012-06-20 16:38:30 -0700417{
418 eANI_BOOLEAN_FALSE = 0,
419 eANI_BOOLEAN_TRUE,
420 eANI_BOOLEAN_OFF = 0,
421 eANI_BOOLEAN_ON = 1,
422 eANI_BOOLEAN_MAX_FIELD = 0x7FFFFFFF /* define as 4 bytes data */
423} eAniBoolean;
424
425typedef enum
426{
427 eDRIVER_TYPE_PRODUCTION = 0,
428 eDRIVER_TYPE_MFG = 1,
429 eDRIVER_TYPE_DVT = 2,
430 eDRIVER_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE
431} tDriverType;
432
433typedef enum
434{
435 HAL_STOP_TYPE_SYS_RESET,
436 HAL_STOP_TYPE_SYS_DEEP_SLEEP,
437 HAL_STOP_TYPE_RF_KILL,
438 HAL_STOP_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE
439}tHalStopType;
440
441typedef enum
442{
443 eHAL_SYS_MODE_NORMAL,
444 eHAL_SYS_MODE_LEARN,
445 eHAL_SYS_MODE_SCAN,
446 eHAL_SYS_MODE_PROMISC,
447 eHAL_SYS_MODE_SUSPEND_LINK,
Madan Mohan Koyyalamudid9297112012-10-11 16:26:50 -0700448 eHAL_SYS_MODE_ROAM_SCAN,
449 eHAL_SYS_MODE_ROAM_SUSPEND_LINK,
bernal5e039212013-06-24 10:29:20 -0700450 eHAL_SYS_MODE_OEM_DATA,
Jeff Johnson295189b2012-06-20 16:38:30 -0700451 eHAL_SYS_MODE_MAX = WLAN_HAL_MAX_ENUM_SIZE
452} eHalSysMode;
453
454typedef enum
455{
456 PHY_SINGLE_CHANNEL_CENTERED = 0, // 20MHz IF bandwidth centered on IF carrier
457 PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1, // 40MHz IF bandwidth with lower 20MHz supporting the primary channel
458 PHY_DOUBLE_CHANNEL_CENTERED = 2, // 40MHz IF bandwidth centered on IF carrier
459 PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3, // 40MHz IF bandwidth with higher 20MHz supporting the primary channel
Jeff Johnsone7245742012-09-05 17:12:55 -0700460#ifdef WLAN_FEATURE_11AC
461 PHY_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
462 PHY_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
463 PHY_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
464 PHY_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
465 PHY_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
466 PHY_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
467 PHY_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
468#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700469 PHY_CHANNEL_BONDING_STATE_MAX = WLAN_HAL_MAX_ENUM_SIZE
470}ePhyChanBondState;
471
472// Spatial Multiplexing(SM) Power Save mode
473typedef enum eSirMacHTMIMOPowerSaveState
474{
475 eSIR_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
476 eSIR_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
477 eSIR_HT_MIMO_PS_NA = 2, // reserved
478 eSIR_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
479 eSIR_HT_MIMO_PS_MAX = WLAN_HAL_MAX_ENUM_SIZE
480} tSirMacHTMIMOPowerSaveState;
481
482/* each station added has a rate mode which specifies the sta attributes */
483typedef enum eStaRateMode {
484 eSTA_TAURUS = 0,
485 eSTA_TITAN,
486 eSTA_POLARIS,
487 eSTA_11b,
488 eSTA_11bg,
489 eSTA_11a,
490 eSTA_11n,
Jeff Johnsone7245742012-09-05 17:12:55 -0700491#ifdef WLAN_FEATURE_11AC
492 eSTA_11ac,
493#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700494 eSTA_INVALID_RATE_MODE = WLAN_HAL_MAX_ENUM_SIZE
495} tStaRateMode, *tpStaRateMode;
496
497#define SIR_NUM_11B_RATES 4 //1,2,5.5,11
498#define SIR_NUM_11A_RATES 8 //6,9,12,18,24,36,48,54
499#define SIR_NUM_POLARIS_RATES 3 //72,96,108
500
501#define SIR_MAC_MAX_SUPPORTED_MCS_SET 16
502
503
504typedef enum eSirBssType
505{
506 eSIR_INFRASTRUCTURE_MODE,
507 eSIR_INFRA_AP_MODE, //Added for softAP support
508 eSIR_IBSS_MODE,
509 eSIR_BTAMP_STA_MODE, //Added for BT-AMP support
510 eSIR_BTAMP_AP_MODE, //Added for BT-AMP support
511 eSIR_AUTO_MODE,
512 eSIR_DONOT_USE_BSS_TYPE = WLAN_HAL_MAX_ENUM_SIZE
513} tSirBssType;
514
515typedef enum eSirNwType
516{
517 eSIR_11A_NW_TYPE,
518 eSIR_11B_NW_TYPE,
519 eSIR_11G_NW_TYPE,
520 eSIR_11N_NW_TYPE,
521 eSIR_DONOT_USE_NW_TYPE = WLAN_HAL_MAX_ENUM_SIZE
522} tSirNwType;
523
524typedef tANI_U16 tSirMacBeaconInterval;
525
526#define SIR_MAC_RATESET_EID_MAX 12
527
528typedef enum eSirMacHTOperatingMode
529{
530 eSIR_HT_OP_MODE_PURE, // No Protection
531 eSIR_HT_OP_MODE_OVERLAP_LEGACY, // Overlap Legacy device present, protection is optional
532 eSIR_HT_OP_MODE_NO_LEGACY_20MHZ_HT, // No legacy device, but 20 MHz HT present
533 eSIR_HT_OP_MODE_MIXED, // Protection is required
534 eSIR_HT_OP_MODE_MAX = WLAN_HAL_MAX_ENUM_SIZE
535} tSirMacHTOperatingMode;
536
Jeff Johnson295189b2012-06-20 16:38:30 -0700537/// Encryption type enum used with peer
538typedef enum eAniEdType
539{
540 eSIR_ED_NONE,
541 eSIR_ED_WEP40,
542 eSIR_ED_WEP104,
543 eSIR_ED_TKIP,
544 eSIR_ED_CCMP,
545 eSIR_ED_WPI,
546 eSIR_ED_AES_128_CMAC,
547 eSIR_ED_NOT_IMPLEMENTED = WLAN_HAL_MAX_ENUM_SIZE
548} tAniEdType;
549
550#define WLAN_MAX_KEY_RSC_LEN 16
551#define WLAN_WAPI_KEY_RSC_LEN 16
552
553/// MAX key length when ULA is used
554#define SIR_MAC_MAX_KEY_LENGTH 32
555#define SIR_MAC_MAX_NUM_OF_DEFAULT_KEYS 4
556
557/// Enum to specify whether key is used
558/// for TX only, RX only or both
559typedef enum eAniKeyDirection
560{
561 eSIR_TX_ONLY,
562 eSIR_RX_ONLY,
563 eSIR_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -0700564 eSIR_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -0700565 eSIR_DONOT_USE_KEY_DIRECTION = WLAN_HAL_MAX_ENUM_SIZE
566} tAniKeyDirection;
567
568typedef enum eAniWepType
569{
570 eSIR_WEP_STATIC,
571 eSIR_WEP_DYNAMIC,
572 eSIR_WEP_MAX = WLAN_HAL_MAX_ENUM_SIZE
573} tAniWepType;
574
575typedef enum eSriLinkState {
576
577 eSIR_LINK_IDLE_STATE = 0,
578 eSIR_LINK_PREASSOC_STATE = 1,
579 eSIR_LINK_POSTASSOC_STATE = 2,
580 eSIR_LINK_AP_STATE = 3,
581 eSIR_LINK_IBSS_STATE = 4,
582
583 /* BT-AMP Case */
584 eSIR_LINK_BTAMP_PREASSOC_STATE = 5,
585 eSIR_LINK_BTAMP_POSTASSOC_STATE = 6,
586 eSIR_LINK_BTAMP_AP_STATE = 7,
587 eSIR_LINK_BTAMP_STA_STATE = 8,
Jeff Johnson32d95a32012-09-10 13:15:23 -0700588
Jeff Johnson295189b2012-06-20 16:38:30 -0700589 /* Reserved for HAL Internal Use */
590 eSIR_LINK_LEARN_STATE = 9,
591 eSIR_LINK_SCAN_STATE = 10,
592 eSIR_LINK_FINISH_SCAN_STATE = 11,
593 eSIR_LINK_INIT_CAL_STATE = 12,
594 eSIR_LINK_FINISH_CAL_STATE = 13,
595#ifdef WLAN_FEATURE_P2P
596 eSIR_LINK_LISTEN_STATE = 14,
Gopichand Nakkala180b1102013-05-29 13:12:44 +0530597 eSIR_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -0700598#endif
599 eSIR_LINK_MAX = WLAN_HAL_MAX_ENUM_SIZE
600} tSirLinkState;
601
602typedef enum
603{
604 HAL_SUMMARY_STATS_INFO = 0x00000001,
605 HAL_GLOBAL_CLASS_A_STATS_INFO = 0x00000002,
606 HAL_GLOBAL_CLASS_B_STATS_INFO = 0x00000004,
607 HAL_GLOBAL_CLASS_C_STATS_INFO = 0x00000008,
608 HAL_GLOBAL_CLASS_D_STATS_INFO = 0x00000010,
609 HAL_PER_STA_STATS_INFO = 0x00000020
610}eHalStatsMask;
611
612/* BT-AMP events type */
Jeff Johnson32d95a32012-09-10 13:15:23 -0700613typedef enum
Jeff Johnson295189b2012-06-20 16:38:30 -0700614{
615 BTAMP_EVENT_CONNECTION_START,
616 BTAMP_EVENT_CONNECTION_STOP,
617 BTAMP_EVENT_CONNECTION_TERMINATED,
618 BTAMP_EVENT_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE, //This and beyond are invalid values
619} tBtAmpEventType;
620
621//***************************************************************
622
623
624/*******************PE Statistics*************************/
625typedef enum
626{
627 PE_SUMMARY_STATS_INFO = 0x00000001,
628 PE_GLOBAL_CLASS_A_STATS_INFO = 0x00000002,
629 PE_GLOBAL_CLASS_B_STATS_INFO = 0x00000004,
630 PE_GLOBAL_CLASS_C_STATS_INFO = 0x00000008,
631 PE_GLOBAL_CLASS_D_STATS_INFO = 0x00000010,
632 PE_PER_STA_STATS_INFO = 0x00000020,
633 PE_STATS_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE //This and beyond are invalid values
634}ePEStatsMask;
635
636/*---------------------------------------------------------------------------
637 Message definitons - All the messages below need to be packed
638 ---------------------------------------------------------------------------*/
639
640#if defined(__ANI_COMPILER_PRAGMA_PACK_STACK)
641#pragma pack(push, 1)
642#elif defined(__ANI_COMPILER_PRAGMA_PACK)
643#pragma pack(1)
644#else
645#endif
646
647/// Definition for HAL API Version.
648typedef PACKED_PRE struct PACKED_POST
649{
650 tANI_U8 revision;
651 tANI_U8 version;
652 tANI_U8 minor;
653 tANI_U8 major;
654} tWcnssWlanVersion, *tpWcnssWlanVersion;
655
656/// Definition for Encryption Keys
657typedef PACKED_PRE struct PACKED_POST
658{
659 tANI_U8 keyId;
660 tANI_U8 unicast; // 0 for multicast
661 tAniKeyDirection keyDirection;
662 tANI_U8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
663 tANI_U8 paeRole; // =1 for authenticator,=0 for supplicant
664 tANI_U16 keyLength;
665 tANI_U8 key[SIR_MAC_MAX_KEY_LENGTH];
666} tSirKeys, *tpSirKeys;
667
668
669//SetStaKeyParams Moving here since it is shared by configbss/setstakey msgs
670typedef PACKED_PRE struct PACKED_POST
671{
672 /*STA Index*/
673 tANI_U16 staIdx;
674
675 /*Encryption Type used with peer*/
676 tAniEdType encType;
677
678 /*STATIC/DYNAMIC - valid only for WEP*/
Jeff Johnson32d95a32012-09-10 13:15:23 -0700679 tAniWepType wepType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700680
681 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
682 tANI_U8 defWEPIdx;
683
Jeff Johnson295189b2012-06-20 16:38:30 -0700684 /* valid only for non-static WEP encyrptions */
Jeff Johnson32d95a32012-09-10 13:15:23 -0700685 tSirKeys key[SIR_MAC_MAX_NUM_OF_DEFAULT_KEYS];
686
Jeff Johnson295189b2012-06-20 16:38:30 -0700687 /*Control for Replay Count, 1= Single TID based replay count on Tx
688 0 = Per TID based replay count on TX */
689 tANI_U8 singleTidRc;
690
691} tSetStaKeyParams, *tpSetStaKeyParams;
692
693
694
695/* 4-byte control message header used by HAL*/
696typedef PACKED_PRE struct PACKED_POST
697{
Jeff Johnsone7245742012-09-05 17:12:55 -0700698 tHalHostMsgType msgType:16;
699 tHalHostMsgVersion msgVersion:16;
Jeff Johnson295189b2012-06-20 16:38:30 -0700700 tANI_U32 msgLen;
701} tHalMsgHeader, *tpHalMsgHeader;
702
703/* Config format required by HAL for each CFG item*/
704typedef PACKED_PRE struct PACKED_POST
705{
706 /* Cfg Id. The Id required by HAL is exported by HAL
707 * in shared header file between UMAC and HAL.*/
708 tANI_U16 uCfgId;
709
Jeff Johnson32d95a32012-09-10 13:15:23 -0700710 /* Length of the Cfg. This parameter is used to go to next cfg
Jeff Johnson295189b2012-06-20 16:38:30 -0700711 * in the TLV format.*/
712 tANI_U16 uCfgLen;
713
714 /* Padding bytes for unaligned address's */
715 tANI_U16 uCfgPadBytes;
716
717 /* Reserve bytes for making cfgVal to align address */
718 tANI_U16 uCfgReserve;
719
720 /* Following the uCfgLen field there should be a 'uCfgLen' bytes
721 * containing the uCfgValue ; tANI_U8 uCfgValue[uCfgLen] */
722} tHalCfg, *tpHalCfg;
723
724/*---------------------------------------------------------------------------
725 WLAN_HAL_START_REQ
726---------------------------------------------------------------------------*/
727
728typedef PACKED_PRE struct PACKED_POST sHalMacStartParameters
729{
730 /* Drive Type - Production or FTM etc */
731 tDriverType driverType;
732
733 /*Length of the config buffer*/
734 tANI_U32 uConfigBufferLen;
735
Jeff Johnson32d95a32012-09-10 13:15:23 -0700736 /* Following this there is a TLV formatted buffer of length
737 * "uConfigBufferLen" bytes containing all config values.
Jeff Johnson295189b2012-06-20 16:38:30 -0700738 * The TLV is expected to be formatted like this:
739 * 0 15 31 31+CFG_LEN-1 length-1
740 * | CFG_ID | CFG_LEN | CFG_BODY | CFG_ID |......|
741 */
742} tHalMacStartParameters, *tpHalMacStartParameters;
743
744typedef PACKED_PRE struct PACKED_POST
745{
746 /* Note: The length specified in tHalMacStartReqMsg messages should be
747 * header.msgLen = sizeof(tHalMacStartReqMsg) + uConfigBufferLen */
748 tHalMsgHeader header;
749 tHalMacStartParameters startReqParams;
750} tHalMacStartReqMsg, *tpHalMacStartReqMsg;
751
752/*---------------------------------------------------------------------------
753 WLAN_HAL_START_RSP
754---------------------------------------------------------------------------*/
755
756typedef PACKED_PRE struct PACKED_POST sHalMacStartRspParameters
757{
758 /*success or failure */
759 tANI_U16 status;
760
761 /*Max number of STA supported by the device*/
762 tANI_U8 ucMaxStations;
763
764 /*Max number of BSS supported by the device*/
765 tANI_U8 ucMaxBssids;
766
767 /*API Version */
768 tWcnssWlanVersion wcnssWlanVersion;
769
770 /*CRM build information */
771 tANI_U8 wcnssCrmVersionString[WLAN_HAL_VERSION_LENGTH];
772
773 /*hardware/chipset/misc version information */
774 tANI_U8 wcnssWlanVersionString[WLAN_HAL_VERSION_LENGTH];
775
776} tHalMacStartRspParams, *tpHalMacStartRspParams;
777
778typedef PACKED_PRE struct PACKED_POST
779{
780 tHalMsgHeader header;
781 tHalMacStartRspParams startRspParams;
782} tHalMacStartRspMsg, *tpHalMacStartRspMsg;
783
784/*---------------------------------------------------------------------------
785 WLAN_HAL_STOP_REQ
786---------------------------------------------------------------------------*/
787
788typedef PACKED_PRE struct PACKED_POST
789{
790 /*The reason for which the device is being stopped*/
791 tHalStopType reason;
792
793}tHalMacStopReqParams, *tpHalMacStopReqParams;
794
795typedef PACKED_PRE struct PACKED_POST
796{
797 tHalMsgHeader header;
798 tHalMacStopReqParams stopReqParams;
799} tHalMacStopReqMsg, *tpHalMacStopReqMsg;
800
801/*---------------------------------------------------------------------------
802 WLAN_HAL_STOP_RSP
803---------------------------------------------------------------------------*/
804
805typedef PACKED_PRE struct PACKED_POST
806{
807 /*success or failure */
808 tANI_U32 status;
809
810}tHalMacStopRspParams, *tpHalMacStopRspParams;
811
812typedef PACKED_PRE struct PACKED_POST
813{
814 tHalMsgHeader header;
815 tHalMacStopRspParams stopRspParams;
816} tHalMacStopRspMsg, *tpHalMacStopRspMsg;
817
818/*---------------------------------------------------------------------------
819 WLAN_HAL_UPDATE_CFG_REQ
820---------------------------------------------------------------------------*/
821
822typedef PACKED_PRE struct PACKED_POST
823{
824 /* Length of the config buffer. Allows UMAC to update multiple CFGs */
825 tANI_U32 uConfigBufferLen;
826
Jeff Johnson32d95a32012-09-10 13:15:23 -0700827 /* Following this there is a TLV formatted buffer of length
828 * "uConfigBufferLen" bytes containing all config values.
Jeff Johnson295189b2012-06-20 16:38:30 -0700829 * The TLV is expected to be formatted like this:
830 * 0 15 31 31+CFG_LEN-1 length-1
831 * | CFG_ID | CFG_LEN | CFG_BODY | CFG_ID |......|
832 */
833} tHalUpdateCfgReqParams, *tpHalUpdateCfgReqParams;
834
835typedef PACKED_PRE struct PACKED_POST
836{
837 /* Note: The length specified in tHalUpdateCfgReqMsg messages should be
838 * header.msgLen = sizeof(tHalUpdateCfgReqMsg) + uConfigBufferLen */
839 tHalMsgHeader header;
840 tHalUpdateCfgReqParams updateCfgReqParams;
841} tHalUpdateCfgReqMsg, *tpHalUpdateCfgReqMsg;
842
843/*---------------------------------------------------------------------------
844 WLAN_HAL_UPDATE_CFG_RSP
845---------------------------------------------------------------------------*/
846
847typedef PACKED_PRE struct PACKED_POST
848{
849 /* success or failure */
850 tANI_U32 status;
851
852}tHalUpdateCfgRspParams, *tpHalUpdateCfgRspParams;
853
854typedef PACKED_PRE struct PACKED_POST
855{
856 tHalMsgHeader header;
857 tHalUpdateCfgRspParams updateCfgRspParams;
858} tHalUpdateCfgRspMsg, *tpHalUpdateCfgRspMsg;
859
860/*---------------------------------------------------------------------------
861 WLAN_HAL_INIT_SCAN_REQ
862---------------------------------------------------------------------------*/
863
864/// Frame control field format (2 bytes)
865typedef __ani_attr_pre_packed struct sSirMacFrameCtl
866{
867
868#ifndef ANI_LITTLE_BIT_ENDIAN
869
870 tANI_U8 subType :4;
871 tANI_U8 type :2;
872 tANI_U8 protVer :2;
873
874 tANI_U8 order :1;
875 tANI_U8 wep :1;
876 tANI_U8 moreData :1;
877 tANI_U8 powerMgmt :1;
878 tANI_U8 retry :1;
879 tANI_U8 moreFrag :1;
880 tANI_U8 fromDS :1;
881 tANI_U8 toDS :1;
882
883#else
884
885 tANI_U8 protVer :2;
886 tANI_U8 type :2;
887 tANI_U8 subType :4;
888
889 tANI_U8 toDS :1;
890 tANI_U8 fromDS :1;
891 tANI_U8 moreFrag :1;
892 tANI_U8 retry :1;
893 tANI_U8 powerMgmt :1;
894 tANI_U8 moreData :1;
895 tANI_U8 wep :1;
896 tANI_U8 order :1;
897
898#endif
899
900} __ani_attr_packed tSirMacFrameCtl, *tpSirMacFrameCtl;
901
902/// Sequence control field
903typedef __ani_attr_pre_packed struct sSirMacSeqCtl
904{
905 tANI_U8 fragNum : 4;
906 tANI_U8 seqNumLo : 4;
907 tANI_U8 seqNumHi : 8;
908} __ani_attr_packed tSirMacSeqCtl, *tpSirMacSeqCtl;
909
910/// Management header format
911typedef __ani_attr_pre_packed struct sSirMacMgmtHdr
912{
913 tSirMacFrameCtl fc;
914 tANI_U8 durationLo;
915 tANI_U8 durationHi;
916 tANI_U8 da[6];
917 tANI_U8 sa[6];
918 tANI_U8 bssId[6];
919 tSirMacSeqCtl seqControl;
920} __ani_attr_packed tSirMacMgmtHdr, *tpSirMacMgmtHdr;
921
922/// Scan Entry to hold active BSS idx's
923typedef __ani_attr_pre_packed struct sSirScanEntry
924{
925 tANI_U8 bssIdx[HAL_NUM_BSSID];
926 tANI_U8 activeBSScnt;
927}__ani_attr_packed tSirScanEntry, *ptSirScanEntry;
928
929typedef PACKED_PRE struct PACKED_POST {
930
931 /*LEARN - AP Role
932 SCAN - STA Role*/
933 eHalSysMode scanMode;
934
935 /*BSSID of the BSS*/
936 tSirMacAddr bssid;
937
938 /*Whether BSS needs to be notified*/
939 tANI_U8 notifyBss;
940
941 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
942 CTS to Self). Must always be a valid frame type.*/
943 tANI_U8 frameType;
944
945 /*UMAC has the option of passing the MAC frame to be used for notifying
946 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
947 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
948 frameType.*/
949 tANI_U8 frameLength;
950
Jeff Johnson32d95a32012-09-10 13:15:23 -0700951 /* Following the framelength there is a MAC frame buffer if frameLength
Jeff Johnson295189b2012-06-20 16:38:30 -0700952 is non-zero. */
953 tSirMacMgmtHdr macMgmtHdr;
954
955 /*Entry to hold number of active BSS idx's*/
956 tSirScanEntry scanEntry;
957
958} tInitScanParams, * tpInitScanParams;
959
960typedef PACKED_PRE struct PACKED_POST
961{
962 tHalMsgHeader header;
963 tInitScanParams initScanParams;
964} tHalInitScanReqMsg, *tpHalInitScanReqMsg;
965
966typedef PACKED_PRE struct PACKED_POST {
967
968 /*LEARN - AP Role
969 SCAN - STA Role*/
970 eHalSysMode scanMode;
971
972 /*BSSID of the BSS*/
973 tSirMacAddr bssid;
974
975 /*Whether BSS needs to be notified*/
976 tANI_U8 notifyBss;
977
978 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
979 CTS to Self). Must always be a valid frame type.*/
980 tANI_U8 frameType;
981
982 /*UMAC has the option of passing the MAC frame to be used for notifying
983 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
984 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
985 frameType.*/
986 tANI_U8 frameLength;
987
Jeff Johnson32d95a32012-09-10 13:15:23 -0700988 /* Following the framelength there is a MAC frame buffer if frameLength
Jeff Johnson295189b2012-06-20 16:38:30 -0700989 is non-zero. */
990 tSirMacMgmtHdr macMgmtHdr;
991
992 /*Entry to hold number of active BSS idx's*/
993 tSirScanEntry scanEntry;
994
995 /* Single NoA usage in Scanning */
996 tANI_U8 useNoA;
997
998 /* Indicates the scan duration (in ms) */
999 tANI_U16 scanDuration;
1000
1001} tInitScanConParams, * tpInitScanConParams;
1002
1003typedef PACKED_PRE struct PACKED_POST
1004{
1005 tHalMsgHeader header;
1006 tInitScanConParams initScanParams;
1007} tHalInitScanConReqMsg, *tpHalInitScanConReqMsg;
1008
1009
1010/*---------------------------------------------------------------------------
1011 WLAN_HAL_INIT_SCAN_RSP
1012---------------------------------------------------------------------------*/
1013
1014typedef PACKED_PRE struct PACKED_POST
1015{
1016 /*success or failure */
1017 tANI_U32 status;
1018
1019}tHalInitScanRspParams, *tpHalInitScanRspParams;
1020
1021typedef PACKED_PRE struct PACKED_POST
1022{
1023 tHalMsgHeader header;
1024 tHalInitScanRspParams initScanRspParams;
1025} tHalInitScanRspMsg, *tpHalInitScanRspMsg;
1026
1027/*---------------------------------------------------------------------------
1028 WLAN_HAL_START_SCAN_REQ
1029---------------------------------------------------------------------------*/
1030
Jeff Johnson32d95a32012-09-10 13:15:23 -07001031typedef PACKED_PRE struct PACKED_POST
Jeff Johnson295189b2012-06-20 16:38:30 -07001032{
1033 /*Indicates the channel to scan*/
1034 tANI_U8 scanChannel;
1035
1036 } tStartScanParams, * tpStartScanParams;
1037
1038typedef PACKED_PRE struct PACKED_POST
1039{
1040 tHalMsgHeader header;
1041 tStartScanParams startScanParams;
1042} tHalStartScanReqMsg, *tpHalStartScanReqMsg;
1043
1044/*---------------------------------------------------------------------------
1045 WLAN_HAL_START_SCAN_RSP
1046---------------------------------------------------------------------------*/
1047
1048typedef PACKED_PRE struct PACKED_POST
1049{
1050 /*success or failure */
1051 tANI_U32 status;
1052
1053 tANI_U32 startTSF[2];
1054 tPowerdBm txMgmtPower;
1055
1056}tHalStartScanRspParams, *tpHalStartScanRspParams;
1057
1058typedef PACKED_PRE struct PACKED_POST
1059{
1060 tHalMsgHeader header;
1061 tHalStartScanRspParams startScanRspParams;
1062} tHalStartScanRspMsg, *tpHalStartScanRspMsg;
1063
1064/*---------------------------------------------------------------------------
1065 WLAN_HAL_END_SCAN_REQ
1066---------------------------------------------------------------------------*/
1067
1068typedef PACKED_PRE struct PACKED_POST
1069{
1070 /*Indicates the channel to stop scanning. Not used really. But retained
1071 for symmetry with "start Scan" message. It can also help in error
1072 check if needed.*/
1073 tANI_U8 scanChannel;
1074
1075} tEndScanParams, *tpEndScanParams;
1076
1077typedef PACKED_PRE struct PACKED_POST
1078{
1079 tHalMsgHeader header;
1080 tEndScanParams endScanParams;
1081} tHalEndScanReqMsg, *tpHalEndScanReqMsg;
1082
1083/*---------------------------------------------------------------------------
1084 WLAN_HAL_END_SCAN_RSP
1085---------------------------------------------------------------------------*/
1086
1087typedef PACKED_PRE struct PACKED_POST
1088{
1089 /*success or failure */
1090 tANI_U32 status;
1091
1092}tHalEndScanRspParams, *tpHalEndScanRspParams;
1093
1094typedef PACKED_PRE struct PACKED_POST
1095{
1096 tHalMsgHeader header;
1097 tHalEndScanRspParams endScanRspParams;
1098} tHalEndScanRspMsg, *tpHalEndScanRspMsg;
1099
1100/*---------------------------------------------------------------------------
1101 WLAN_HAL_FINISH_SCAN_REQ
1102---------------------------------------------------------------------------*/
1103
1104typedef PACKED_PRE struct PACKED_POST
1105{
1106 /* Identifies the operational state of the AP/STA
1107 * LEARN - AP Role SCAN - STA Role */
1108 eHalSysMode scanMode;
1109
1110 /*Operating channel to tune to.*/
1111 tANI_U8 currentOperChannel;
1112
1113 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1114 40 MHz extension channel in combination with the control channel*/
1115 ePhyChanBondState cbState;
1116
1117 /*BSSID of the BSS*/
1118 tSirMacAddr bssid;
1119
1120 /*Whether BSS needs to be notified*/
1121 tANI_U8 notifyBss;
1122
1123 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1124 CTS to Self). Must always be a valid frame type.*/
1125 tANI_U8 frameType;
1126
1127 /*UMAC has the option of passing the MAC frame to be used for notifying
1128 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1129 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1130 frameType.*/
1131 tANI_U8 frameLength;
Jeff Johnson32d95a32012-09-10 13:15:23 -07001132
1133 /*Following the framelength there is a MAC frame buffer if frameLength
1134 is non-zero.*/
Jeff Johnson295189b2012-06-20 16:38:30 -07001135 tSirMacMgmtHdr macMgmtHdr;
1136
1137 /*Entry to hold number of active BSS idx's*/
1138 tSirScanEntry scanEntry;
1139
1140} tFinishScanParams, *tpFinishScanParams;
1141
1142typedef PACKED_PRE struct PACKED_POST
1143{
1144 tHalMsgHeader header;
1145 tFinishScanParams finishScanParams;
1146} tHalFinishScanReqMsg, *tpHalFinishScanReqMsg;
1147
1148/*---------------------------------------------------------------------------
1149 WLAN_HAL_FINISH_SCAN_RSP
1150---------------------------------------------------------------------------*/
1151
1152typedef PACKED_PRE struct PACKED_POST
1153{
1154 /*success or failure */
1155 tANI_U32 status;
1156
1157}tHalFinishScanRspParams, *tpHalFinishScanRspParams;
1158
1159typedef PACKED_PRE struct PACKED_POST
1160{
1161 tHalMsgHeader header;
1162 tHalFinishScanRspParams finishScanRspParams;
1163} tHalFinishScanRspMsg, *tpHalFinishScanRspMsg;
1164
1165/*---------------------------------------------------------------------------
1166 WLAN_HAL_CONFIG_STA_REQ
1167---------------------------------------------------------------------------*/
1168
1169typedef PACKED_PRE struct PACKED_POST {
1170 /*
1171 * For Self STA Entry: this represents Self Mode.
1172 * For Peer Stations, this represents the mode of the peer.
1173 * On Station:
1174 * --this mode is updated when PE adds the Self Entry.
1175 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1176 * ON AP:
1177 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1178 * to indicate the self mode of the AP.
1179 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1180 */
1181
1182 tStaRateMode opRateMode;
1183 // 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps
1184 tANI_U16 llbRates[SIR_NUM_11B_RATES];
1185 tANI_U16 llaRates[SIR_NUM_11A_RATES];
1186 tANI_U16 aniLegacyRates[SIR_NUM_POLARIS_RATES];
1187 tANI_U16 reserved;
1188
1189 //Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1190 //First 26 bits are reserved for those Titan rates and
1191 //the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.
1192 tANI_U32 aniEnhancedRateBitmap; //Titan and Taurus Rates
1193
1194 /*
1195 * 0-76 bits used, remaining reserved
1196 * bits 0-15 and 32 should be set.
1197 */
1198 tANI_U8 supportedMCSSet[SIR_MAC_MAX_SUPPORTED_MCS_SET];
1199
1200 /*
1201 * RX Highest Supported Data Rate defines the highest data
1202 * rate that the STA is able to receive, in unites of 1Mbps.
1203 * This value is derived from "Supported MCS Set field" inside
1204 * the HT capability element.
1205 */
1206 tANI_U16 rxHighestDataRate;
1207
1208} tSirSupportedRates, *tpSirSupportedRates;
1209
1210typedef PACKED_PRE struct PACKED_POST
1211{
1212 /*BSSID of STA*/
1213 tSirMacAddr bssId;
1214
1215 /*ASSOC ID, as assigned by UMAC*/
1216 tANI_U16 assocId;
1217
1218 /* STA entry Type: 0 - Self, 1 - Other/Peer, 2 - BSSID, 3 - BCAST */
1219 tANI_U8 staType;
1220
1221 /*Short Preamble Supported.*/
1222 tANI_U8 shortPreambleSupported;
1223
1224 /*MAC Address of STA*/
1225 tSirMacAddr staMac;
1226
1227 /*Listen interval of the STA*/
1228 tANI_U16 listenInterval;
1229
1230 /*Support for 11e/WMM*/
1231 tANI_U8 wmmEnabled;
1232
1233 /*11n HT capable STA*/
1234 tANI_U8 htCapable;
1235
1236 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1237 tANI_U8 txChannelWidthSet;
1238
1239 /*RIFS mode 0 - NA, 1 - Allowed */
1240 tANI_U8 rifsMode;
1241
Jeff Johnson32d95a32012-09-10 13:15:23 -07001242 /*L-SIG TXOP Protection mechanism
Jeff Johnson295189b2012-06-20 16:38:30 -07001243 0 - No Support, 1 - Supported
1244 SG - there is global field */
1245 tANI_U8 lsigTxopProtection;
1246
1247 /*Max Ampdu Size supported by STA. TPE programming.
1248 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1249 tANI_U8 maxAmpduSize;
1250
1251 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1252 tANI_U8 maxAmpduDensity;
1253
1254 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1255 tANI_U8 maxAmsduSize;
1256
1257 /*Short GI support for 40Mhz packets*/
1258 tANI_U8 fShortGI40Mhz;
1259
1260 /*Short GI support for 20Mhz packets*/
1261 tANI_U8 fShortGI20Mhz;
1262
Jeff Johnson295189b2012-06-20 16:38:30 -07001263 /*Robust Management Frame (RMF) enabled/disabled*/
1264 tANI_U8 rmfEnabled;
1265
1266 /* The unicast encryption type in the association */
1267 tANI_U32 encryptType;
Jeff Johnsone7245742012-09-05 17:12:55 -07001268
1269 /*HAL should update the existing STA entry, if this flag is set. UMAC
Jeff Johnson295189b2012-06-20 16:38:30 -07001270 will set this flag in case of RE-ASSOC, where we want to reuse the old
1271 STA ID. 0 = Add, 1 = Update*/
1272 tANI_U8 action;
1273
1274 /*U-APSD Flags: 1b per AC. Encoded as follows:
1275 b7 b6 b5 b4 b3 b2 b1 b0 =
1276 X X X X BE BK VI VO */
1277 tANI_U8 uAPSD;
1278
1279 /*Max SP Length*/
1280 tANI_U8 maxSPLen;
1281
1282 /*11n Green Field preamble support
1283 0 - Not supported, 1 - Supported */
1284 tANI_U8 greenFieldCapable;
1285
1286 /*MIMO Power Save mode*/
1287 tSirMacHTMIMOPowerSaveState mimoPS;
1288
1289 /*Delayed BA Support*/
1290 tANI_U8 delayedBASupport;
Jeff Johnsone7245742012-09-05 17:12:55 -07001291
Jeff Johnson295189b2012-06-20 16:38:30 -07001292 /*Max AMPDU duration in 32us*/
1293 tANI_U8 us32MaxAmpduDuration;
Jeff Johnsone7245742012-09-05 17:12:55 -07001294
Jeff Johnson295189b2012-06-20 16:38:30 -07001295 /*HT STA should set it to 1 if it is enabled in BSS. HT STA should set
1296 it to 0 if AP does not support it. This indication is sent to HAL and
1297 HAL uses this flag to pickup up appropriate 40Mhz rates.*/
1298 tANI_U8 fDsssCckMode40Mhz;
1299
1300 /* Valid STA Idx when action=Update. Set to 0xFF when invalid!
1301 Retained for backward compalibity with existing HAL code*/
1302 tANI_U8 staIdx;
1303
1304 /* BSSID of BSS to which station is associated. Set to 0xFF when invalid.
1305 Retained for backward compalibity with existing HAL code*/
1306 tANI_U8 bssIdx;
1307
1308 tANI_U8 p2pCapableSta;
1309
Jeff Johnsone7245742012-09-05 17:12:55 -07001310 /*Reserved to align next field on a dword boundary*/
1311 tANI_U8 reserved;
1312
1313 /*These rates are the intersection of peer and self capabilities.*/
1314 tSirSupportedRates supportedRates;
1315
Jeff Johnson295189b2012-06-20 16:38:30 -07001316} tConfigStaParams, *tpConfigStaParams;
1317
Jeff Johnsone7245742012-09-05 17:12:55 -07001318/*------------------------------------------------------------------------
1319 * WLAN_HAL_CONFIG_STA_REQ
1320 * ----------------------------------------------------------------------*/
1321
1322typedef PACKED_PRE struct PACKED_POST {
1323 /*
1324 * For Self STA Entry: this represents Self Mode.
1325 * For Peer Stations, this represents the mode of the peer.
1326 * On Station:
1327 * --this mode is updated when PE adds the Self Entry.
1328 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1329 * ON AP:
1330 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1331 * to indicate the self mode of the AP.
1332 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1333 */
1334
1335 tStaRateMode opRateMode;
1336 // 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps
1337 tANI_U16 llbRates[SIR_NUM_11B_RATES];
1338 tANI_U16 llaRates[SIR_NUM_11A_RATES];
1339 tANI_U16 aniLegacyRates[SIR_NUM_POLARIS_RATES];
1340 tANI_U16 reserved;
1341
1342 //Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1343 //First 26 bits are reserved for those Titan rates and
1344 //the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.
1345 tANI_U32 aniEnhancedRateBitmap; //Titan and Taurus Rates
1346
1347 /*
1348 * 0-76 bits used, remaining reserved
1349 * bits 0-15 and 32 should be set.
1350 */
1351 tANI_U8 supportedMCSSet[SIR_MAC_MAX_SUPPORTED_MCS_SET];
1352
1353 /*
1354 * RX Highest Supported Data Rate defines the highest data
1355 * rate that the STA is able to receive, in unites of 1Mbps.
1356 * This value is derived from "Supported MCS Set field" inside
1357 * the HT capability element.
1358 */
1359 tANI_U16 rxHighestDataRate;
1360
1361 /* Indicates the Maximum MCS that can be received for each number
1362 * of spacial streams */
1363 tANI_U16 vhtRxMCSMap;
1364
1365 /*Indicate the highest VHT data rate that the STA is able to receive*/
1366 tANI_U16 vhtRxHighestDataRate;
1367
1368 /* Indicates the Maximum MCS that can be transmitted for each number
1369 * of spacial streams */
1370 tANI_U16 vhtTxMCSMap;
1371
1372 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1373 tANI_U16 vhtTxHighestDataRate;
1374
1375} tSirSupportedRates_V1, *tpSirSupportedRates_V1;
1376
1377typedef PACKED_PRE struct PACKED_POST
1378{
1379 /*BSSID of STA*/
1380 tSirMacAddr bssId;
1381
1382 /*ASSOC ID, as assigned by UMAC*/
1383 tANI_U16 assocId;
1384
1385 /* STA entry Type: 0 - Self, 1 - Other/Peer, 2 - BSSID, 3 - BCAST */
1386 tANI_U8 staType;
1387
1388 /*Short Preamble Supported.*/
1389 tANI_U8 shortPreambleSupported;
1390
1391 /*MAC Address of STA*/
1392 tSirMacAddr staMac;
1393
1394 /*Listen interval of the STA*/
1395 tANI_U16 listenInterval;
1396
1397 /*Support for 11e/WMM*/
1398 tANI_U8 wmmEnabled;
1399
1400 /*11n HT capable STA*/
1401 tANI_U8 htCapable;
1402
1403 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1404 tANI_U8 txChannelWidthSet;
1405
1406 /*RIFS mode 0 - NA, 1 - Allowed */
1407 tANI_U8 rifsMode;
1408
1409 /*L-SIG TXOP Protection mechanism
1410 0 - No Support, 1 - Supported
1411 SG - there is global field */
1412 tANI_U8 lsigTxopProtection;
1413
1414 /*Max Ampdu Size supported by STA. TPE programming.
1415 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1416 tANI_U8 maxAmpduSize;
1417
1418 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1419 tANI_U8 maxAmpduDensity;
1420
1421 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1422 tANI_U8 maxAmsduSize;
1423
1424 /*Short GI support for 40Mhz packets*/
1425 tANI_U8 fShortGI40Mhz;
1426
1427 /*Short GI support for 20Mhz packets*/
1428 tANI_U8 fShortGI20Mhz;
1429
1430 /*Robust Management Frame (RMF) enabled/disabled*/
1431 tANI_U8 rmfEnabled;
1432
1433 /* The unicast encryption type in the association */
1434 tANI_U32 encryptType;
Jeff Johnson32d95a32012-09-10 13:15:23 -07001435
1436 /*HAL should update the existing STA entry, if this flag is set. UMAC
Jeff Johnsone7245742012-09-05 17:12:55 -07001437 will set this flag in case of RE-ASSOC, where we want to reuse the old
1438 STA ID. 0 = Add, 1 = Update*/
1439 tANI_U8 action;
1440
1441 /*U-APSD Flags: 1b per AC. Encoded as follows:
1442 b7 b6 b5 b4 b3 b2 b1 b0 =
1443 X X X X BE BK VI VO */
1444 tANI_U8 uAPSD;
1445
1446 /*Max SP Length*/
1447 tANI_U8 maxSPLen;
1448
1449 /*11n Green Field preamble support
1450 0 - Not supported, 1 - Supported */
1451 tANI_U8 greenFieldCapable;
1452
1453 /*MIMO Power Save mode*/
1454 tSirMacHTMIMOPowerSaveState mimoPS;
1455
1456 /*Delayed BA Support*/
1457 tANI_U8 delayedBASupport;
Jeff Johnson32d95a32012-09-10 13:15:23 -07001458
Jeff Johnsone7245742012-09-05 17:12:55 -07001459 /*Max AMPDU duration in 32us*/
1460 tANI_U8 us32MaxAmpduDuration;
Jeff Johnson32d95a32012-09-10 13:15:23 -07001461
Jeff Johnsone7245742012-09-05 17:12:55 -07001462 /*HT STA should set it to 1 if it is enabled in BSS. HT STA should set
1463 it to 0 if AP does not support it. This indication is sent to HAL and
1464 HAL uses this flag to pickup up appropriate 40Mhz rates.*/
1465 tANI_U8 fDsssCckMode40Mhz;
1466
1467 /* Valid STA Idx when action=Update. Set to 0xFF when invalid!
1468 Retained for backward compalibity with existing HAL code*/
1469 tANI_U8 staIdx;
1470
1471 /* BSSID of BSS to which station is associated. Set to 0xFF when invalid.
1472 Retained for backward compalibity with existing HAL code*/
1473 tANI_U8 bssIdx;
1474
1475 tANI_U8 p2pCapableSta;
1476
1477 /*Reserved to align next field on a dword boundary*/
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001478 tANI_U8 htLdpcEnabled:1;
1479 tANI_U8 vhtLdpcEnabled:1;
Gopichand Nakkalaf1c2c782013-01-21 15:42:29 -08001480 tANI_U8 vhtTxBFEnabled:1;
1481 tANI_U8 reserved:5;
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001482
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -08001483 /*These rates are the intersection of peer and self capabilities.*/
Jeff Johnsone7245742012-09-05 17:12:55 -07001484 tSirSupportedRates_V1 supportedRates;
1485
1486 tANI_U8 vhtCapable;
1487 tANI_U8 vhtTxChannelWidthSet;
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -08001488
Jeff Johnsone7245742012-09-05 17:12:55 -07001489} tConfigStaParams_V1, *tpConfigStaParams_V1;
1490
Jeff Johnson295189b2012-06-20 16:38:30 -07001491typedef PACKED_PRE struct PACKED_POST
1492{
1493 tHalMsgHeader header;
Jeff Johnsone7245742012-09-05 17:12:55 -07001494 PACKED_PRE union PACKED_POST {
Jeff Johnson295189b2012-06-20 16:38:30 -07001495 tConfigStaParams configStaParams;
Jeff Johnsone7245742012-09-05 17:12:55 -07001496 tConfigStaParams_V1 configStaParams_V1;
1497 } uStaParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07001498} tConfigStaReqMsg, *tpConfigStaReqMsg;
1499
1500/*---------------------------------------------------------------------------
1501 WLAN_HAL_CONFIG_STA_RSP
1502---------------------------------------------------------------------------*/
1503
1504typedef PACKED_PRE struct PACKED_POST
1505{
1506 /*success or failure */
1507 tANI_U32 status;
1508
1509 /* Station index; valid only when 'status' field value SUCCESS */
1510 tANI_U8 staIdx;
1511
1512 /* BSSID Index of BSS to which the station is associated */
1513 tANI_U8 bssIdx;
1514
1515 /* DPU Index for PTK */
1516 tANI_U8 dpuIndex;
1517
Jeff Johnson32d95a32012-09-10 13:15:23 -07001518 /* DPU Index for GTK */
Jeff Johnson295189b2012-06-20 16:38:30 -07001519 tANI_U8 bcastDpuIndex;
1520
1521 /*DPU Index for IGTK */
1522 tANI_U8 bcastMgmtDpuIdx;
1523
1524 /*PTK DPU signature*/
1525 tANI_U8 ucUcastSig;
1526
1527 /*GTK DPU isignature*/
1528 tANI_U8 ucBcastSig;
1529
1530 /* IGTK DPU signature*/
1531 tANI_U8 ucMgmtSig;
1532
1533 tANI_U8 p2pCapableSta;
1534
1535}tConfigStaRspParams, *tpConfigStaRspParams;
1536
1537typedef PACKED_PRE struct PACKED_POST
1538{
1539 tHalMsgHeader header;
1540 tConfigStaRspParams configStaRspParams;
1541}tConfigStaRspMsg, *tpConfigStaRspMsg;
1542
1543/*---------------------------------------------------------------------------
1544 WLAN_HAL_DELETE_STA_REQ
1545---------------------------------------------------------------------------*/
1546
1547/* Delete STA Request params */
Jeff Johnson32d95a32012-09-10 13:15:23 -07001548typedef PACKED_PRE struct PACKED_POST
Jeff Johnson295189b2012-06-20 16:38:30 -07001549{
1550 /* Index of STA to delete */
1551 tANI_U8 staIdx;
1552} tDeleteStaParams, *tpDeleteStaParams;
1553
1554/* Delete STA Request message*/
1555typedef PACKED_PRE struct PACKED_POST
1556{
1557 tHalMsgHeader header;
1558 tDeleteStaParams delStaParams;
1559} tDeleteStaReqMsg, *tpDeleteStaReqMsg;
1560
1561/*---------------------------------------------------------------------------
1562 WLAN_HAL_DELETE_STA_RSP
1563---------------------------------------------------------------------------*/
1564
1565/* Delete STA Response Params */
Jeff Johnson32d95a32012-09-10 13:15:23 -07001566typedef PACKED_PRE struct PACKED_POST
Jeff Johnson295189b2012-06-20 16:38:30 -07001567{
1568 /*success or failure */
1569 tANI_U32 status;
1570
1571 /* Index of STA deleted */
1572 tANI_U8 staId;
1573} tDeleteStaRspParams, *tpDeleteStaRspParams;
1574
1575/* Delete STA Response message*/
1576typedef PACKED_PRE struct PACKED_POST
1577{
1578 tHalMsgHeader header;
1579 tDeleteStaRspParams delStaRspParams;
1580} tDeleteStaRspMsg, *tpDeleteStaRspMsg;
1581
1582/*---------------------------------------------------------------------------
1583 WLAN_HAL_CONFIG_BSS_REQ
1584---------------------------------------------------------------------------*/
1585
1586//12 Bytes long because this structure can be used to represent rate
1587//and extended rate set IEs. The parser assume this to be at least 12
1588typedef __ani_attr_pre_packed struct sSirMacRateSet
1589{
1590 tANI_U8 numRates;
1591 tANI_U8 rate[SIR_MAC_RATESET_EID_MAX];
1592} __ani_attr_packed tSirMacRateSet;
1593
1594// access category record
1595typedef __ani_attr_pre_packed struct sSirMacAciAifsn
1596{
1597#ifndef ANI_LITTLE_BIT_ENDIAN
1598 tANI_U8 rsvd : 1;
1599 tANI_U8 aci : 2;
1600 tANI_U8 acm : 1;
1601 tANI_U8 aifsn : 4;
1602#else
1603 tANI_U8 aifsn : 4;
1604 tANI_U8 acm : 1;
1605 tANI_U8 aci : 2;
1606 tANI_U8 rsvd : 1;
1607#endif
1608} __ani_attr_packed tSirMacAciAifsn;
1609
1610// contention window size
1611typedef __ani_attr_pre_packed struct sSirMacCW
1612{
1613#ifndef ANI_LITTLE_BIT_ENDIAN
1614 tANI_U8 max : 4;
1615 tANI_U8 min : 4;
1616#else
1617 tANI_U8 min : 4;
1618 tANI_U8 max : 4;
1619#endif
1620} __ani_attr_packed tSirMacCW;
1621
1622typedef __ani_attr_pre_packed struct sSirMacEdcaParamRecord
1623{
1624 tSirMacAciAifsn aci;
1625 tSirMacCW cw;
1626 tANI_U16 txoplimit;
1627} __ani_attr_packed tSirMacEdcaParamRecord;
1628
1629typedef __ani_attr_pre_packed struct sSirMacSSid
1630{
1631 tANI_U8 length;
1632 tANI_U8 ssId[32];
1633} __ani_attr_packed tSirMacSSid;
1634
1635// Concurrency role. These are generic IDs that identify the various roles
1636// in the software system.
1637typedef enum {
Jeff Johnson32d95a32012-09-10 13:15:23 -07001638 HAL_STA_MODE=0,
1639 HAL_STA_SAP_MODE=1, // to support softAp mode . This is misleading. It means AP MODE only.
Jeff Johnson295189b2012-06-20 16:38:30 -07001640 HAL_P2P_CLIENT_MODE,
1641 HAL_P2P_GO_MODE,
1642 HAL_MONITOR_MODE,
1643} tHalConMode;
1644
1645//This is a bit pattern to be set for each mode
1646//bit 0 - sta mode
1647//bit 1 - ap mode
1648//bit 2 - p2p client mode
1649//bit 3 - p2p go mode
1650typedef enum
1651{
Jeff Johnson32d95a32012-09-10 13:15:23 -07001652 HAL_STA=1,
Jeff Johnson295189b2012-06-20 16:38:30 -07001653 HAL_SAP=2,
1654 HAL_STA_SAP=3, //to support sta, softAp mode . This means STA+AP mode
1655 HAL_P2P_CLIENT=4,
1656 HAL_P2P_GO=8,
1657 HAL_MAX_CONCURRENCY_PERSONA=4
1658} tHalConcurrencyMode;
1659
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07001660// IFACE PERSONA for different Operating modes
1661typedef enum
1662{
1663 HAL_IFACE_UNKNOWN,
1664 HAL_IFACE_STA_MODE,
1665 HAL_IFACE_P2P_MODE,
1666 HAL_IFACE_MAX
1667} tHalIfacePersona;
1668
Jeff Johnson295189b2012-06-20 16:38:30 -07001669typedef PACKED_PRE struct PACKED_POST
1670{
1671 /* BSSID */
1672 tSirMacAddr bssId;
1673
Jeff Johnson295189b2012-06-20 16:38:30 -07001674 /* Self Mac Address */
1675 tSirMacAddr selfMacAddr;
Jeff Johnson295189b2012-06-20 16:38:30 -07001676
1677 /* BSS type */
1678 tSirBssType bssType;
1679
1680 /*Operational Mode: AP =0, STA = 1*/
1681 tANI_U8 operMode;
1682
1683 /*Network Type*/
1684 tSirNwType nwType;
1685
1686 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
1687 tANI_U8 shortSlotTimeSupported;
1688
1689 /*Co-exist with 11a STA*/
1690 tANI_U8 llaCoexist;
1691
1692 /*Co-exist with 11b STA*/
1693 tANI_U8 llbCoexist;
1694
1695 /*Co-exist with 11g STA*/
1696 tANI_U8 llgCoexist;
1697
1698 /*Coexistence with 11n STA*/
1699 tANI_U8 ht20Coexist;
1700
1701 /*Non GF coexist flag*/
1702 tANI_U8 llnNonGFCoexist;
1703
1704 /*TXOP protection support*/
1705 tANI_U8 fLsigTXOPProtectionFullSupport;
1706
1707 /*RIFS mode*/
1708 tANI_U8 fRIFSMode;
1709
1710 /*Beacon Interval in TU*/
1711 tSirMacBeaconInterval beaconInterval;
1712
1713 /*DTIM period*/
1714 tANI_U8 dtimPeriod;
1715
1716 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1717 tANI_U8 txChannelWidthSet;
1718
1719 /*Operating channel*/
1720 tANI_U8 currentOperChannel;
1721
1722 /*Extension channel for channel bonding*/
1723 tANI_U8 currentExtChannel;
1724
1725 /*Reserved to align next field on a dword boundary*/
1726 tANI_U8 reserved;
1727
Jeff Johnsone7245742012-09-05 17:12:55 -07001728 /*SSID of the BSS*/
1729 tSirMacSSid ssId;
1730
1731 /*HAL should update the existing BSS entry, if this flag is set.
1732 UMAC will set this flag in case of reassoc, where we want to resue the
1733 the old BSSID and still return success 0 = Add, 1 = Update*/
1734 tANI_U8 action;
1735
1736 /* MAC Rate Set */
1737 tSirMacRateSet rateSet;
1738
1739 /*Enable/Disable HT capabilities of the BSS*/
1740 tANI_U8 htCapable;
1741
1742 // Enable/Disable OBSS protection
1743 tANI_U8 obssProtEnabled;
1744
1745 /*RMF enabled/disabled*/
1746 tANI_U8 rmfEnabled;
1747
1748 /*HT Operating Mode operating mode of the 802.11n STA*/
1749 tSirMacHTOperatingMode htOperMode;
1750
1751 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
1752 tANI_U8 dualCTSProtection;
1753
1754 /* Probe Response Max retries */
1755 tANI_U8 ucMaxProbeRespRetryLimit;
1756
1757 /* To Enable Hidden ssid */
1758 tANI_U8 bHiddenSSIDEn;
1759
1760 /* To Enable Disable FW Proxy Probe Resp */
1761 tANI_U8 bProxyProbeRespEn;
1762
1763 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
1764 EDCA params or might not desire to apply EDCA params during config BSS.
1765 0 implies Not Valid ; Non-Zero implies valid*/
1766 tANI_U8 edcaParamsValid;
1767
1768 /*EDCA Parameters for Best Effort Access Category*/
1769 tSirMacEdcaParamRecord acbe;
1770
1771 /*EDCA Parameters forBackground Access Category*/
1772 tSirMacEdcaParamRecord acbk;
1773
1774 /*EDCA Parameters for Video Access Category*/
1775 tSirMacEdcaParamRecord acvi;
1776
1777 /*EDCA Parameters for Voice Access Category*/
1778 tSirMacEdcaParamRecord acvo;
1779
1780#ifdef WLAN_FEATURE_VOWIFI_11R
1781 tANI_U8 extSetStaKeyParamValid; //Ext Bss Config Msg if set
1782 tSetStaKeyParams extSetStaKeyParam; //SetStaKeyParams for ext bss msg
1783#endif
1784
1785 /* Persona for the BSS can be STA,AP,GO,CLIENT value same as tHalConMode */
1786 tANI_U8 halPersona;
1787
1788 tANI_U8 bSpectrumMgtEnable;
1789
1790 /*HAL fills in the tx power used for mgmt frames in txMgmtPower*/
1791 tANI_S8 txMgmtPower;
1792 /*maxTxPower has max power to be used after applying the power constraint if any */
1793 tANI_S8 maxTxPower;
Jeff Johnson295189b2012-06-20 16:38:30 -07001794 /*Context of the station being added in HW
1795 Add a STA entry for "itself" -
1796 On AP - Add the AP itself in an "STA context"
1797 On STA - Add the AP to which this STA is joining in an "STA context" */
1798 tConfigStaParams staContext;
Jeff Johnsone7245742012-09-05 17:12:55 -07001799} tConfigBssParams, * tpConfigBssParams;
1800
1801
1802/*--------------------------------------------------------------------------
1803 * WLAN_HAL_CONFIG_BSS_REQ
1804 *--------------------------------------------------------------------------*/
1805typedef PACKED_PRE struct PACKED_POST
1806{
1807 /* BSSID */
1808 tSirMacAddr bssId;
1809
Jeff Johnsone7245742012-09-05 17:12:55 -07001810 /* Self Mac Address */
1811 tSirMacAddr selfMacAddr;
Jeff Johnsone7245742012-09-05 17:12:55 -07001812
1813 /* BSS type */
1814 tSirBssType bssType;
1815
1816 /*Operational Mode: AP =0, STA = 1*/
1817 tANI_U8 operMode;
1818
1819 /*Network Type*/
1820 tSirNwType nwType;
1821
1822 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
1823 tANI_U8 shortSlotTimeSupported;
1824
1825 /*Co-exist with 11a STA*/
1826 tANI_U8 llaCoexist;
1827
1828 /*Co-exist with 11b STA*/
1829 tANI_U8 llbCoexist;
1830
1831 /*Co-exist with 11g STA*/
1832 tANI_U8 llgCoexist;
1833
1834 /*Coexistence with 11n STA*/
1835 tANI_U8 ht20Coexist;
1836
1837 /*Non GF coexist flag*/
1838 tANI_U8 llnNonGFCoexist;
1839
1840 /*TXOP protection support*/
1841 tANI_U8 fLsigTXOPProtectionFullSupport;
1842 /*RIFS mode*/
1843 tANI_U8 fRIFSMode;
1844
1845 /*Beacon Interval in TU*/
1846 tSirMacBeaconInterval beaconInterval;
1847
1848 /*DTIM period*/
1849 tANI_U8 dtimPeriod;
1850
1851 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1852 tANI_U8 txChannelWidthSet;
1853
1854 /*Operating channel*/
1855 tANI_U8 currentOperChannel;
1856
1857 /*Extension channel for channel bonding*/
1858 tANI_U8 currentExtChannel;
1859
1860 /*Reserved to align next field on a dword boundary*/
1861 tANI_U8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07001862
1863 /*SSID of the BSS*/
1864 tSirMacSSid ssId;
1865
1866 /*HAL should update the existing BSS entry, if this flag is set.
1867 UMAC will set this flag in case of reassoc, where we want to resue the
1868 the old BSSID and still return success 0 = Add, 1 = Update*/
1869 tANI_U8 action;
1870
1871 /* MAC Rate Set */
1872 tSirMacRateSet rateSet;
1873
1874 /*Enable/Disable HT capabilities of the BSS*/
1875 tANI_U8 htCapable;
1876
1877 // Enable/Disable OBSS protection
1878 tANI_U8 obssProtEnabled;
1879
1880 /*RMF enabled/disabled*/
1881 tANI_U8 rmfEnabled;
1882
1883 /*HT Operating Mode operating mode of the 802.11n STA*/
1884 tSirMacHTOperatingMode htOperMode;
1885
1886 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
1887 tANI_U8 dualCTSProtection;
1888
1889 /* Probe Response Max retries */
1890 tANI_U8 ucMaxProbeRespRetryLimit;
1891
1892 /* To Enable Hidden ssid */
1893 tANI_U8 bHiddenSSIDEn;
1894
1895 /* To Enable Disable FW Proxy Probe Resp */
1896 tANI_U8 bProxyProbeRespEn;
1897
Jeff Johnson32d95a32012-09-10 13:15:23 -07001898 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
1899 EDCA params or might not desire to apply EDCA params during config BSS.
Jeff Johnson295189b2012-06-20 16:38:30 -07001900 0 implies Not Valid ; Non-Zero implies valid*/
1901 tANI_U8 edcaParamsValid;
1902
1903 /*EDCA Parameters for Best Effort Access Category*/
1904 tSirMacEdcaParamRecord acbe;
Jeff Johnson32d95a32012-09-10 13:15:23 -07001905
Jeff Johnson295189b2012-06-20 16:38:30 -07001906 /*EDCA Parameters forBackground Access Category*/
1907 tSirMacEdcaParamRecord acbk;
1908
1909 /*EDCA Parameters for Video Access Category*/
1910 tSirMacEdcaParamRecord acvi;
1911
1912 /*EDCA Parameters for Voice Access Category*/
1913 tSirMacEdcaParamRecord acvo;
1914
1915#ifdef WLAN_FEATURE_VOWIFI_11R
1916 tANI_U8 extSetStaKeyParamValid; //Ext Bss Config Msg if set
1917 tSetStaKeyParams extSetStaKeyParam; //SetStaKeyParams for ext bss msg
1918#endif
1919
Jeff Johnson32d95a32012-09-10 13:15:23 -07001920 /* Persona for the BSS can be STA,AP,GO,CLIENT value same as tHalConMode */
Jeff Johnson295189b2012-06-20 16:38:30 -07001921 tANI_U8 halPersona;
Jeff Johnson32d95a32012-09-10 13:15:23 -07001922
Jeff Johnson295189b2012-06-20 16:38:30 -07001923 tANI_U8 bSpectrumMgtEnable;
1924
1925 /*HAL fills in the tx power used for mgmt frames in txMgmtPower*/
1926 tANI_S8 txMgmtPower;
1927 /*maxTxPower has max power to be used after applying the power constraint if any */
1928 tANI_S8 maxTxPower;
Jeff Johnsone7245742012-09-05 17:12:55 -07001929 /*Context of the station being added in HW
1930 Add a STA entry for "itself" -
1931 On AP - Add the AP itself in an "STA context"
1932 On STA - Add the AP to which this STA is joining in an "STA context" */
1933 tConfigStaParams_V1 staContext;
Jeff Johnson32d95a32012-09-10 13:15:23 -07001934
Jeff Johnsone7245742012-09-05 17:12:55 -07001935 tANI_U8 vhtCapable;
1936 tANI_U8 vhtTxChannelWidthSet;
1937} tConfigBssParams_V1, * tpConfigBssParams_V1;
Jeff Johnson295189b2012-06-20 16:38:30 -07001938
1939typedef PACKED_PRE struct PACKED_POST
1940{
1941 tHalMsgHeader header;
Jeff Johnsone7245742012-09-05 17:12:55 -07001942 PACKED_PRE union PACKED_POST {
Jeff Johnson295189b2012-06-20 16:38:30 -07001943 tConfigBssParams configBssParams;
Jeff Johnsone7245742012-09-05 17:12:55 -07001944 tConfigBssParams_V1 configBssParams_V1;
1945 }uBssParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07001946} tConfigBssReqMsg, *tpConfigBssReqMsg;
1947
1948/*---------------------------------------------------------------------------
1949 WLAN_HAL_CONFIG_BSS_RSP
1950---------------------------------------------------------------------------*/
1951
1952typedef PACKED_PRE struct PACKED_POST
1953{
1954 /* Success or Failure */
1955 tANI_U32 status;
1956
1957 /* BSS index allocated by HAL */
1958 tANI_U8 bssIdx;
1959
1960 /* DPU descriptor index for PTK */
1961 tANI_U8 dpuDescIndx;
1962
1963 /* PTK DPU signature */
1964 tANI_U8 ucastDpuSignature;
1965
1966 /* DPU descriptor index for GTK*/
1967 tANI_U8 bcastDpuDescIndx;
1968
1969 /* GTK DPU signature */
1970 tANI_U8 bcastDpuSignature;
1971
1972 /*DPU descriptor for IGTK*/
1973 tANI_U8 mgmtDpuDescIndx;
1974
1975 /* IGTK DPU signature */
1976 tANI_U8 mgmtDpuSignature;
1977
1978 /* Station Index for BSS entry*/
1979 tANI_U8 bssStaIdx;
1980
1981 /* Self station index for this BSS */
1982 tANI_U8 bssSelfStaIdx;
1983
1984 /* Bcast station for buffering bcast frames in AP role */
1985 tANI_U8 bssBcastStaIdx;
1986
1987 /*MAC Address of STA(PEER/SELF) in staContext of configBSSReq*/
1988 tSirMacAddr staMac;
1989
1990 /*HAL fills in the tx power used for mgmt frames in this field. */
1991 tANI_S8 txMgmtPower;
1992
1993} tConfigBssRspParams, * tpConfigBssRspParams;
1994
1995typedef PACKED_PRE struct PACKED_POST
1996{
1997 tHalMsgHeader header;
1998 tConfigBssRspParams configBssRspParams;
1999} tConfigBssRspMsg, *tpConfigBssRspMsg;
2000
2001/*---------------------------------------------------------------------------
2002 WLAN_HAL_DELETE_BSS_REQ
2003---------------------------------------------------------------------------*/
2004
2005typedef PACKED_PRE struct PACKED_POST
2006{
2007 /* BSS index to be deleted */
2008 tANI_U8 bssIdx;
2009
2010} tDeleteBssParams, *tpDeleteBssParams;
2011
2012typedef PACKED_PRE struct PACKED_POST
2013{
2014 tHalMsgHeader header;
2015 tDeleteBssParams deleteBssParams;
2016} tDeleteBssReqMsg, *tpDeleteBssReqMsg;
2017
2018/*---------------------------------------------------------------------------
2019 WLAN_HAL_DELETE_BSS_RSP
2020---------------------------------------------------------------------------*/
2021
2022typedef PACKED_PRE struct PACKED_POST
2023{
2024 /* Success or Failure */
2025 tANI_U32 status;
2026
2027 /* BSS index that has been deleted */
2028 tANI_U8 bssIdx;
2029
2030} tDeleteBssRspParams, *tpDeleteBssRspParams;
2031
2032typedef PACKED_PRE struct PACKED_POST
2033{
2034 tHalMsgHeader header;
2035 tDeleteBssRspParams deleteBssRspParams;
2036} tDeleteBssRspMsg, *tpDeleteBssRspMsg;
2037
2038/*---------------------------------------------------------------------------
2039 WLAN_HAL_JOIN_REQ
2040---------------------------------------------------------------------------*/
2041
2042typedef PACKED_PRE struct PACKED_POST
2043{
2044 /*Indicates the BSSID to which STA is going to associate*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07002045 tSirMacAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07002046
2047 /*Indicates the channel to switch to.*/
2048 tANI_U8 ucChannel;
2049
2050 /* Self STA MAC */
2051 tSirMacAddr selfStaMacAddr;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002052
Jeff Johnson295189b2012-06-20 16:38:30 -07002053 /*Local power constraint*/
2054 tANI_U8 ucLocalPowerConstraint;
2055
2056 /*Secondary channel offset */
Jeff Johnsone7245742012-09-05 17:12:55 -07002057 ePhyChanBondState secondaryChannelOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002058
2059 /*link State*/
2060 tSirLinkState linkState;
2061
2062 /* Max TX power */
2063 tANI_S8 maxTxPower;
2064
2065} tHalJoinReqParams, *tpHalJoinReqParams;
2066
2067typedef PACKED_PRE struct PACKED_POST
2068{
2069 tHalMsgHeader header;
2070 tHalJoinReqParams joinReqParams;
2071} tHalJoinReqMsg, *tpHalJoinReqMsg;
2072
2073/*---------------------------------------------------------------------------
2074 WLAN_HAL_JOIN_RSP
2075---------------------------------------------------------------------------*/
2076
2077typedef PACKED_PRE struct PACKED_POST
2078{
2079 /*success or failure */
2080 tANI_U32 status;
2081
2082 /* HAL fills in the tx power used for mgmt frames in this field */
2083 tPowerdBm txMgmtPower;
2084
2085}tHalJoinRspParams, *tpHalJoinRspParams;
2086
2087typedef PACKED_PRE struct PACKED_POST
2088{
2089 tHalMsgHeader header;
2090 tHalJoinRspParams joinRspParams;
2091}tHalJoinRspMsg, *tpHalJoinRspMsg;
2092
2093/*---------------------------------------------------------------------------
2094 WLAN_HAL_POST_ASSOC_REQ
2095---------------------------------------------------------------------------*/
2096
2097typedef PACKED_PRE struct PACKED_POST
2098{
2099 tConfigStaParams configStaParams;
2100 tConfigBssParams configBssParams;
2101} tPostAssocReqParams, *tpPostAssocReqParams;
2102
2103typedef PACKED_PRE struct PACKED_POST
2104{
2105 tHalMsgHeader header;
2106 tPostAssocReqParams postAssocReqParams;
2107} tPostAssocReqMsg, *tpPostAssocReqMsg;
2108
2109/*---------------------------------------------------------------------------
2110 WLAN_HAL_POST_ASSOC_RSP
2111---------------------------------------------------------------------------*/
2112
2113typedef PACKED_PRE struct PACKED_POST
2114{
2115 tConfigStaRspParams configStaRspParams;
2116 tConfigBssRspParams configBssRspParams;
2117} tPostAssocRspParams, *tpPostAssocRspParams;
2118
2119typedef PACKED_PRE struct PACKED_POST
2120{
2121 tHalMsgHeader header;
2122 tPostAssocRspParams postAssocRspParams;
2123} tPostAssocRspMsg, *tpPostAssocRspMsg;
2124
2125/*---------------------------------------------------------------------------
2126 WLAN_HAL_SET_BSSKEY_REQ
2127---------------------------------------------------------------------------*/
2128
2129/*
2130 * This is used by PE to create a set of WEP keys for a given BSS.
2131 */
2132typedef PACKED_PRE struct PACKED_POST
2133{
2134 /*BSS Index of the BSS*/
2135 tANI_U8 bssIdx;
2136
2137 /*Encryption Type used with peer*/
2138 tAniEdType encType;
2139
2140 /*Number of keys*/
2141 tANI_U8 numKeys;
2142
2143 /*Array of keys.*/
2144 tSirKeys key[SIR_MAC_MAX_NUM_OF_DEFAULT_KEYS];
Jeff Johnson32d95a32012-09-10 13:15:23 -07002145
Jeff Johnson295189b2012-06-20 16:38:30 -07002146 /*Control for Replay Count, 1= Single TID based replay count on Tx
2147 0 = Per TID based replay count on TX */
2148 tANI_U8 singleTidRc;
2149} tSetBssKeyParams, *tpSetBssKeyParams;
2150
2151typedef PACKED_PRE struct PACKED_POST
2152{
2153 tHalMsgHeader header;
2154 tSetBssKeyParams setBssKeyParams;
2155} tSetBssKeyReqMsg, *tpSetBssKeyReqMsg;
2156
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -08002157/* tagged version of set bss key */
2158typedef PACKED_PRE struct PACKED_POST
2159{
2160 tSetBssKeyReqMsg Msg;
2161 uint32 Tag;
2162} tSetBssKeyReqMsgTagged;
2163
Jeff Johnson295189b2012-06-20 16:38:30 -07002164/*---------------------------------------------------------------------------
2165 WLAN_HAL_SET_BSSKEY_RSP
2166---------------------------------------------------------------------------*/
2167typedef PACKED_PRE struct PACKED_POST
2168{
2169 /*success or failure */
2170 tANI_U32 status;
2171
2172} tSetBssKeyRspParams, *tpSetBssKeyRspParams;
2173
2174typedef PACKED_PRE struct PACKED_POST
2175{
2176 tHalMsgHeader header;
2177 tSetBssKeyRspParams setBssKeyRspParams;
2178} tSetBssKeyRspMsg, *tpSetBssKeyRspMsg;
2179
2180/*---------------------------------------------------------------------------
2181 WLAN_HAL_SET_STAKEY_REQ,
2182---------------------------------------------------------------------------*/
2183
2184/*
2185 * This is used by PE to configure the key information on a given station.
2186 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
2187 * a preconfigured key from a BSS the station assoicated with; otherwise
2188 * a new key descriptor is created based on the key field.
2189 */
2190
2191typedef PACKED_PRE struct PACKED_POST
2192{
2193 tHalMsgHeader header;
2194 tSetStaKeyParams setStaKeyParams;
2195} tSetStaKeyReqMsg, *tpSetStaKeyReqMsg;
2196
2197/*---------------------------------------------------------------------------
2198 WLAN_HAL_SET_STAKEY_RSP,
2199---------------------------------------------------------------------------*/
2200typedef PACKED_PRE struct PACKED_POST
2201{
2202 /*success or failure */
2203 tANI_U32 status;
2204
2205} tSetStaKeyRspParams, *tpSetStaKeyRspParams;
2206
2207typedef PACKED_PRE struct PACKED_POST
2208{
2209 tHalMsgHeader header;
2210 tSetStaKeyRspParams setStaKeyRspParams;
2211} tSetStaKeyRspMsg, *tpSetStaKeyRspMsg;
2212
2213/*---------------------------------------------------------------------------
2214 WLAN_HAL_RMV_BSSKEY_REQ,
2215---------------------------------------------------------------------------*/
2216/*
2217 * This is used by PE to remove keys for a given BSS.
2218 */
2219typedef PACKED_PRE struct PACKED_POST
2220
2221{
2222 /*BSS Index of the BSS*/
2223 tANI_U8 bssIdx;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002224
Jeff Johnson295189b2012-06-20 16:38:30 -07002225 /*Encryption Type used with peer*/
2226 tAniEdType encType;
2227
2228 /*Key Id*/
2229 tANI_U8 keyId;
2230
2231 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic keys*/
2232 tAniWepType wepType;
2233
2234} tRemoveBssKeyParams, *tpRemoveBssKeyParams;
2235
2236typedef PACKED_PRE struct PACKED_POST
2237{
2238 tHalMsgHeader header;
2239 tRemoveBssKeyParams removeBssKeyParams;
2240} tRemoveBssKeyReqMsg, *tpRemoveBssKeyReqMsg;
2241
2242/*---------------------------------------------------------------------------
2243 WLAN_HAL_RMV_BSSKEY_RSP,
2244---------------------------------------------------------------------------*/
2245typedef PACKED_PRE struct PACKED_POST
2246{
2247 /*success or failure */
2248 tANI_U32 status;
2249
2250} tRemoveBssKeyRspParams, *tpRemoveBssKeyRspParams;
2251
2252typedef PACKED_PRE struct PACKED_POST
2253{
2254 tHalMsgHeader header;
2255 tRemoveBssKeyRspParams removeBssKeyRspParams;
2256} tRemoveBssKeyRspMsg, *tpRemoveBssKeyRspMsg;
2257
2258/*---------------------------------------------------------------------------
2259 WLAN_HAL_RMV_STAKEY_REQ,
2260---------------------------------------------------------------------------*/
2261/*
2262 * This is used by PE to Remove the key information on a given station.
2263 */
2264typedef PACKED_PRE struct PACKED_POST
2265{
2266 /*STA Index*/
2267 tANI_U16 staIdx;
2268
2269 /*Encryption Type used with peer*/
2270 tAniEdType encType;
2271
2272 /*Key Id*/
2273 tANI_U8 keyId;
2274
2275 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2276 the same key is used for both broadcast and unicast.*/
2277 tANI_BOOLEAN unicast;
2278
2279} tRemoveStaKeyParams, *tpRemoveStaKeyParams;
2280
2281typedef PACKED_PRE struct PACKED_POST
2282{
2283 tHalMsgHeader header;
2284 tRemoveStaKeyParams removeStaKeyParams;
2285} tRemoveStaKeyReqMsg, *tpRemoveStaKeyReqMsg;
2286
2287/*---------------------------------------------------------------------------
2288 WLAN_HAL_RMV_STAKEY_RSP,
2289---------------------------------------------------------------------------*/
2290typedef PACKED_PRE struct PACKED_POST
2291{
2292 /*success or failure */
2293 tANI_U32 status;
2294} tRemoveStaKeyRspParams, *tpRemoveStaKeyRspParams;
2295
2296typedef PACKED_PRE struct PACKED_POST
2297{
2298 tHalMsgHeader header;
2299 tRemoveStaKeyRspParams removeStaKeyRspParams;
2300} tRemoveStaKeyRspMsg, *tpRemoveStaKeyRspMsg;
2301
Jeff Johnsone7245742012-09-05 17:12:55 -07002302#ifdef FEATURE_OEM_DATA_SUPPORT
Jeff Johnson295189b2012-06-20 16:38:30 -07002303
Jeff Johnsone7245742012-09-05 17:12:55 -07002304#ifndef OEM_DATA_REQ_SIZE
Anand Kumar012623a2013-01-11 17:00:00 -08002305#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07002306#endif
2307
2308#ifndef OEM_DATA_RSP_SIZE
Anand Kumar012623a2013-01-11 17:00:00 -08002309#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07002310#endif
2311
2312/*-------------------------------------------------------------------------
2313WLAN_HAL_START_OEM_DATA_REQ
2314--------------------------------------------------------------------------*/
2315typedef PACKED_PRE struct PACKED_POST
2316{
2317 tANI_U32 status;
2318 tSirMacAddr selfMacAddr;
2319 tANI_U8 oemDataReq[OEM_DATA_REQ_SIZE];
2320} tStartOemDataReqParams, *tpStartOemDataReqParams;
2321
2322typedef PACKED_PRE struct PACKED_POST
2323{
2324 tHalMsgHeader header;
2325 tStartOemDataReqParams startOemDataReqParams;
2326} tStartOemDataReqMsg, *tpStartOemDataReqMsg;
2327
2328/*-------------------------------------------------------------------------
2329WLAN_HAL_START_OEM_DATA_RSP
2330--------------------------------------------------------------------------*/
2331
2332typedef PACKED_PRE struct PACKED_POST
2333{
2334 tANI_U8 oemDataRsp[OEM_DATA_RSP_SIZE];
2335} tStartOemDataRspParams, *tpStartOemDataRspParams;
2336
2337typedef PACKED_PRE struct PACKED_POST
2338{
2339 tHalMsgHeader header;
2340 tStartOemDataRspParams startOemDataRspParams;
2341} tStartOemDataRspMsg, *tpStartOemDataRspMsg;
2342
2343#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002344
2345
2346
2347/*---------------------------------------------------------------------------
2348WLAN_HAL_CH_SWITCH_REQ
2349---------------------------------------------------------------------------*/
2350
2351typedef PACKED_PRE struct PACKED_POST
2352{
2353 /* Channel number */
2354 tANI_U8 channelNumber;
2355
2356 /* Local power constraint */
2357 tANI_U8 localPowerConstraint;
2358
2359 /*Secondary channel offset */
Jeff Johnsone7245742012-09-05 17:12:55 -07002360 ePhyChanBondState secondaryChannelOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002361
2362 //HAL fills in the tx power used for mgmt frames in this field.
2363 tPowerdBm txMgmtPower;
2364
2365 /* Max TX power */
2366 tPowerdBm maxTxPower;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002367
Jeff Johnson295189b2012-06-20 16:38:30 -07002368 /* Self STA MAC */
2369 tSirMacAddr selfStaMacAddr;
2370
2371 /*VO WIFI comment: BSSID needed to identify session. As the request has power constraints,
2372 this should be applied only to that session*/
2373 /* Since MTU timing and EDCA are sessionized, this struct needs to be sessionized and
2374 * bssid needs to be out of the VOWifi feature flag */
2375 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
2376 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
2377 */
2378 tSirMacAddr bssId;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002379
Jeff Johnson295189b2012-06-20 16:38:30 -07002380}tSwitchChannelParams, *tpSwitchChannelParams;
2381
2382typedef PACKED_PRE struct PACKED_POST
2383{
2384 tHalMsgHeader header;
2385 tSwitchChannelParams switchChannelParams;
2386} tSwitchChannelReqMsg, *tpSwitchChannelReqMsg;
2387
2388/*---------------------------------------------------------------------------
2389WLAN_HAL_CH_SWITCH_RSP
2390---------------------------------------------------------------------------*/
2391
2392typedef PACKED_PRE struct PACKED_POST
2393{
2394 /* Status */
2395 tANI_U32 status;
2396
2397 /* Channel number - same as in request*/
2398 tANI_U8 channelNumber;
2399
2400 /* HAL fills in the tx power used for mgmt frames in this field */
2401 tPowerdBm txMgmtPower;
2402
2403 /* BSSID needed to identify session - same as in request*/
2404 tSirMacAddr bssId;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002405
Jeff Johnson295189b2012-06-20 16:38:30 -07002406}tSwitchChannelRspParams, *tpSwitchChannelRspParams;
2407
2408typedef PACKED_PRE struct PACKED_POST
2409{
2410 tHalMsgHeader header;
2411 tSwitchChannelRspParams switchChannelRspParams;
2412} tSwitchChannelRspMsg, *tpSwitchChannelRspMsg;
2413
2414/*---------------------------------------------------------------------------
2415WLAN_HAL_UPD_EDCA_PARAMS_REQ
2416---------------------------------------------------------------------------*/
2417
2418typedef PACKED_PRE struct PACKED_POST
2419{
2420 /*BSS Index*/
2421 tANI_U16 bssIdx;
2422
2423 /* Best Effort */
Jeff Johnson32d95a32012-09-10 13:15:23 -07002424 tSirMacEdcaParamRecord acbe;
Jeff Johnson295189b2012-06-20 16:38:30 -07002425
2426 /* Background */
2427 tSirMacEdcaParamRecord acbk;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002428
Jeff Johnson295189b2012-06-20 16:38:30 -07002429 /* Video */
2430 tSirMacEdcaParamRecord acvi;
2431
2432 /* Voice */
2433 tSirMacEdcaParamRecord acvo;
2434
2435} tEdcaParams, *tpEdcaParams;
2436
2437typedef PACKED_PRE struct PACKED_POST
2438{
2439 tHalMsgHeader header;
2440 tEdcaParams edcaParams;
2441} tUpdateEdcaParamsReqMsg, *tpUpdateEdcaParamsReqMsg;
2442
2443/*---------------------------------------------------------------------------
2444WLAN_HAL_UPD_EDCA_PARAMS_RSP
2445---------------------------------------------------------------------------*/
2446typedef PACKED_PRE struct PACKED_POST
2447{
2448 /*success or failure */
2449 tANI_U32 status;
2450} tEdcaRspParams, *tpEdcaRspParams;
2451
2452typedef PACKED_PRE struct PACKED_POST
2453{
2454 tHalMsgHeader header;
2455 tEdcaRspParams edcaRspParams;
2456} tUpdateEdcaParamsRspMsg, *tpUpdateEdcaParamsRspMsg;
2457
2458
2459
2460/*---------------------------------------------------------------------------
2461 * WLAN_HAL_GET_STATS_REQ
2462 *--------------------------------------------------------------------------*/
2463typedef PACKED_PRE struct PACKED_POST
2464
2465{
2466 /* Index of STA to which the statistics */
2467 tANI_U16 staIdx;
2468
2469 /* Encryption mode */
2470 tANI_U8 encMode;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002471
Jeff Johnson295189b2012-06-20 16:38:30 -07002472 /* status */
2473 tANI_U32 status;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002474
Jeff Johnson295189b2012-06-20 16:38:30 -07002475 /* Statistics */
2476 tANI_U32 sendBlocks;
2477 tANI_U32 recvBlocks;
2478 tANI_U32 replays;
2479 tANI_U8 micErrorCnt;
2480 tANI_U32 protExclCnt;
2481 tANI_U16 formatErrCnt;
2482 tANI_U16 unDecryptableCnt;
2483 tANI_U32 decryptErrCnt;
2484 tANI_U32 decryptOkCnt;
2485} tDpuStatsParams, * tpDpuStatsParams;
2486
2487typedef PACKED_PRE struct PACKED_POST
2488{
2489 /* Valid STA Idx for per STA stats request */
2490 tANI_U32 staId;
2491
2492 /* Categories of stats requested as specified in eHalStatsMask*/
2493 tANI_U32 statsMask;
2494}tHalStatsReqParams, *tpHalStatsReqParams;
2495
2496typedef PACKED_PRE struct PACKED_POST
2497{
2498 tHalMsgHeader header;
2499 tHalStatsReqParams statsReqParams;
2500} tHalStatsReqMsg, *tpHalStatsReqMsg;
2501
2502/*---------------------------------------------------------------------------
2503 * WLAN_HAL_GET_STATS_RSP
2504 *--------------------------------------------------------------------------*/
2505
2506typedef PACKED_PRE struct PACKED_POST
2507{
2508 tANI_U32 retry_cnt[4]; //Total number of packets(per AC) that were successfully transmitted with retries
2509 tANI_U32 multiple_retry_cnt[4]; //The number of MSDU packets and MMPDU frames per AC that the 802.11
2510 // station successfully transmitted after more than one retransmission attempt
2511
Jeff Johnson32d95a32012-09-10 13:15:23 -07002512 tANI_U32 tx_frm_cnt[4]; //Total number of packets(per AC) that were successfully transmitted
2513 //(with and without retries, including multi-cast, broadcast)
2514 tANI_U32 rx_frm_cnt; //Total number of packets that were successfully received
2515 //(after appropriate filter rules including multi-cast, broadcast)
Jeff Johnson295189b2012-06-20 16:38:30 -07002516 tANI_U32 frm_dup_cnt; //Total number of duplicate frames received successfully
2517 tANI_U32 fail_cnt[4]; //Total number packets(per AC) failed to transmit
2518 tANI_U32 rts_fail_cnt; //Total number of RTS/CTS sequence failures for transmission of a packet
2519 tANI_U32 ack_fail_cnt; //Total number packets failed transmit because of no ACK from the remote entity
Jeff Johnson32d95a32012-09-10 13:15:23 -07002520 tANI_U32 rts_succ_cnt; //Total number of RTS/CTS sequence success for transmission of a packet
2521 tANI_U32 rx_discard_cnt; //The sum of the receive error count and dropped-receive-buffer error count.
Jeff Johnson295189b2012-06-20 16:38:30 -07002522 //HAL will provide this as a sum of (FCS error) + (Fail get BD/PDU in HW)
2523 tANI_U32 rx_error_cnt; //The receive error count. HAL will provide the RxP FCS error global counter.
Jeff Johnson32d95a32012-09-10 13:15:23 -07002524 tANI_U32 tx_byte_cnt; //The sum of the transmit-directed byte count, transmit-multicast byte count
2525 //and transmit-broadcast byte count. HAL will sum TPE UC/MC/BCAST global counters
Jeff Johnson295189b2012-06-20 16:38:30 -07002526 //to provide this.
2527}tAniSummaryStatsInfo, *tpAniSummaryStatsInfo;
2528
2529
2530// defines tx_rate_flags
2531typedef enum eTxRateInfo
2532{
2533 eHAL_TX_RATE_LEGACY = 0x1, /* Legacy rates */
2534 eHAL_TX_RATE_HT20 = 0x2, /* HT20 rates */
2535 eHAL_TX_RATE_HT40 = 0x4, /* HT40 rates */
2536 eHAL_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
2537 eHAL_TX_RATE_LGI = 0x10 /* Rate with Long guard interval */
2538} tTxrateinfoflags;
2539
2540
2541typedef PACKED_PRE struct PACKED_POST
2542{
Jeff Johnson32d95a32012-09-10 13:15:23 -07002543 tANI_U32 rx_frag_cnt; //The number of MPDU frames received by the 802.11 station for MSDU packets
Jeff Johnson295189b2012-06-20 16:38:30 -07002544 //or MMPDU frames
Jeff Johnson32d95a32012-09-10 13:15:23 -07002545 tANI_U32 promiscuous_rx_frag_cnt; //The number of MPDU frames received by the 802.11 station for MSDU packets
Jeff Johnson295189b2012-06-20 16:38:30 -07002546 //or MMPDU frames when a promiscuous packet filter was enabled
Jeff Johnson32d95a32012-09-10 13:15:23 -07002547 tANI_U32 rx_input_sensitivity; //The receiver input sensitivity referenced to a FER of 8% at an MPDU length
2548 //of 1024 bytes at the antenna connector. Each element of the array shall correspond
Jeff Johnson295189b2012-06-20 16:38:30 -07002549 //to a supported rate and the order shall be the same as the supporteRates parameter.
Jeff Johnson32d95a32012-09-10 13:15:23 -07002550 tANI_U32 max_pwr; //The maximum transmit power in dBm upto one decimal.
2551 //for eg: if it is 10.5dBm, the value would be 105
2552 tANI_U32 sync_fail_cnt; //Number of times the receiver failed to synchronize with the incoming signal
2553 //after detecting the sync in the preamble of the transmitted PLCP protocol data unit.
Jeff Johnson295189b2012-06-20 16:38:30 -07002554
Jeff Johnson32d95a32012-09-10 13:15:23 -07002555 tANI_U32 tx_rate; //Legacy transmit rate, in units of 500 kbit/sec, for the most
2556 //recently transmitted frame
Jeff Johnson295189b2012-06-20 16:38:30 -07002557 tANI_U32 mcs_index; //mcs index for HT20 and HT40 rates
Jeff Johnson32d95a32012-09-10 13:15:23 -07002558 tANI_U32 tx_rate_flags; //to differentiate between HT20 and
2559 //HT40 rates; short and long guard interval
Jeff Johnson295189b2012-06-20 16:38:30 -07002560}tAniGlobalClassAStatsInfo, *tpAniGlobalClassAStatsInfo;
2561
2562typedef PACKED_PRE struct PACKED_POST
2563{
Jeff Johnson32d95a32012-09-10 13:15:23 -07002564 tANI_U32 rx_wep_unencrypted_frm_cnt; //The number of unencrypted received MPDU frames that the MAC layer discarded when
2565 //the IEEE 802.11 dot11ExcludeUnencrypted management information base (MIB) object
Jeff Johnson295189b2012-06-20 16:38:30 -07002566 //is enabled
Jeff Johnson32d95a32012-09-10 13:15:23 -07002567 tANI_U32 rx_mic_fail_cnt; //The number of received MSDU packets that that the 802.11 station discarded
Jeff Johnson295189b2012-06-20 16:38:30 -07002568 //because of MIC failures
Jeff Johnson32d95a32012-09-10 13:15:23 -07002569 tANI_U32 tkip_icv_err; //The number of encrypted MPDU frames that the 802.11 station failed to decrypt
Jeff Johnson295189b2012-06-20 16:38:30 -07002570 //because of a TKIP ICV error
Jeff Johnson32d95a32012-09-10 13:15:23 -07002571 tANI_U32 aes_ccmp_format_err; //The number of received MPDU frames that the 802.11 discarded because of an
Jeff Johnson295189b2012-06-20 16:38:30 -07002572 //invalid AES-CCMP format
Jeff Johnson32d95a32012-09-10 13:15:23 -07002573 tANI_U32 aes_ccmp_replay_cnt; //The number of received MPDU frames that the 802.11 station discarded because of
Jeff Johnson295189b2012-06-20 16:38:30 -07002574 //the AES-CCMP replay protection procedure
Jeff Johnson32d95a32012-09-10 13:15:23 -07002575 tANI_U32 aes_ccmp_decrpt_err; //The number of received MPDU frames that the 802.11 station discarded because of
Jeff Johnson295189b2012-06-20 16:38:30 -07002576 //errors detected by the AES-CCMP decryption algorithm
Jeff Johnson32d95a32012-09-10 13:15:23 -07002577 tANI_U32 wep_undecryptable_cnt; //The number of encrypted MPDU frames received for which a WEP decryption key was
Jeff Johnson295189b2012-06-20 16:38:30 -07002578 //not available on the 802.11 station
Jeff Johnson32d95a32012-09-10 13:15:23 -07002579 tANI_U32 wep_icv_err; //The number of encrypted MPDU frames that the 802.11 station failed to decrypt
Jeff Johnson295189b2012-06-20 16:38:30 -07002580 //because of a WEP ICV error
Jeff Johnson32d95a32012-09-10 13:15:23 -07002581 tANI_U32 rx_decrypt_succ_cnt; //The number of received encrypted packets that the 802.11 station successfully
Jeff Johnson295189b2012-06-20 16:38:30 -07002582 //decrypted
2583 tANI_U32 rx_decrypt_fail_cnt; //The number of encrypted packets that the 802.11 station failed to decrypt
2584
2585}tAniGlobalSecurityStats, *tpAniGlobalSecurityStats;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002586
Jeff Johnson295189b2012-06-20 16:38:30 -07002587typedef PACKED_PRE struct PACKED_POST
2588{
2589 tAniGlobalSecurityStats ucStats;
2590 tAniGlobalSecurityStats mcbcStats;
2591}tAniGlobalClassBStatsInfo, *tpAniGlobalClassBStatsInfo;
2592
2593typedef PACKED_PRE struct PACKED_POST
2594{
Jeff Johnson32d95a32012-09-10 13:15:23 -07002595 tANI_U32 rx_amsdu_cnt; //This counter shall be incremented for a received A-MSDU frame with the stations
2596 //MAC address in the address 1 field or an A-MSDU frame with a group address in the
Jeff Johnson295189b2012-06-20 16:38:30 -07002597 //address 1 field
2598 tANI_U32 rx_ampdu_cnt; //This counter shall be incremented when the MAC receives an AMPDU from the PHY
Jeff Johnson32d95a32012-09-10 13:15:23 -07002599 tANI_U32 tx_20_frm_cnt; //This counter shall be incremented when a Frame is transmitted only on the
Jeff Johnson295189b2012-06-20 16:38:30 -07002600 //primary channel
2601 tANI_U32 rx_20_frm_cnt; //This counter shall be incremented when a Frame is received only on the primary channel
Jeff Johnson32d95a32012-09-10 13:15:23 -07002602 tANI_U32 rx_mpdu_in_ampdu_cnt; //This counter shall be incremented by the number of MPDUs received in the A-MPDU
Jeff Johnson295189b2012-06-20 16:38:30 -07002603 //when an A-MPDU is received
Jeff Johnson32d95a32012-09-10 13:15:23 -07002604 tANI_U32 ampdu_delimiter_crc_err; //This counter shall be incremented when an MPDU delimiter has a CRC error when this
2605 //is the first CRC error in the received AMPDU or when the previous delimiter has been
Jeff Johnson295189b2012-06-20 16:38:30 -07002606 //decoded correctly
2607}tAniGlobalClassCStatsInfo, *tpAniGlobalClassCStatsInfo;
2608
2609typedef PACKED_PRE struct PACKED_POST
2610{
Jeff Johnson32d95a32012-09-10 13:15:23 -07002611 tANI_U32 tx_frag_cnt[4]; //The number of MPDU frames that the 802.11 station transmitted and acknowledged
Jeff Johnson295189b2012-06-20 16:38:30 -07002612 //through a received 802.11 ACK frame
Jeff Johnson32d95a32012-09-10 13:15:23 -07002613 tANI_U32 tx_ampdu_cnt; //This counter shall be incremented when an A-MPDU is transmitted
2614 tANI_U32 tx_mpdu_in_ampdu_cnt; //This counter shall increment by the number of MPDUs in the AMPDU when an A-MPDU
Jeff Johnson295189b2012-06-20 16:38:30 -07002615 //is transmitted
2616}tAniPerStaStatsInfo, *tpAniPerStaStatsInfo;
2617
2618typedef PACKED_PRE struct PACKED_POST
2619{
2620 /* Success or Failure */
2621 tANI_U32 status;
2622
2623 /* STA Idx */
2624 tANI_U32 staId;
2625
2626 /* Categories of STATS being returned as per eHalStatsMask*/
2627 tANI_U32 statsMask;
2628
2629 /* message type is same as the request type */
2630 tANI_U16 msgType;
2631
2632 /* length of the entire request, includes the pStatsBuf length too */
Jeff Johnson32d95a32012-09-10 13:15:23 -07002633 tANI_U16 msgLen;
Jeff Johnson295189b2012-06-20 16:38:30 -07002634
2635} tHalStatsRspParams, *tpHalStatsRspParams;
2636
2637
2638
2639typedef PACKED_PRE struct PACKED_POST
2640{
2641 tHalMsgHeader header;
2642 tHalStatsRspParams statsRspParams;
2643} tHalStatsRspMsg, *tpHalStatsRspMsg;
2644
2645/*---------------------------------------------------------------------------
2646 * WLAN_HAL_SET_LINK_ST_REQ
2647 *--------------------------------------------------------------------------*/
2648typedef PACKED_PRE struct PACKED_POST
2649{
2650 tSirMacAddr bssid;
2651 tSirLinkState state;
2652 tSirMacAddr selfMacAddr;
2653} tLinkStateParams, *tpLinkStateParams;
2654
2655typedef PACKED_PRE struct PACKED_POST
2656{
2657 tHalMsgHeader header;
2658 tLinkStateParams linkStateParams;
2659} tSetLinkStateReqMsg, *tpSetLinkStateReqMsg;
2660
2661/*---------------------------------------------------------------------------
2662 * WLAN_HAL_SET_LINK_ST_RSP
2663 *--------------------------------------------------------------------------*/
2664
2665typedef PACKED_PRE struct PACKED_POST
2666{
2667 /*success or failure */
2668 tANI_U32 status;
2669} tLinkStateRspParams, *tpLinkStateRspParams;
2670
2671typedef PACKED_PRE struct PACKED_POST
2672{
2673 tHalMsgHeader header;
2674 tLinkStateRspParams linkStateRspParams;
2675} tSetLinkStateRspMsg, *tpSetLinkStateRspMsg;
2676
2677/*---------------------------------------------------------------------------
2678 * WLAN_HAL_ADD_TS_REQ
2679 *--------------------------------------------------------------------------*/
2680
2681/* TSPEC Params */
2682typedef __ani_attr_pre_packed struct sSirMacTSInfoTfc
2683{
2684#ifndef ANI_LITTLE_BIT_ENDIAN
2685 tANI_U16 ackPolicy : 2;
2686 tANI_U16 userPrio : 3;
2687 tANI_U16 psb : 1;
2688 tANI_U16 aggregation : 1;
2689 tANI_U16 accessPolicy : 2;
2690 tANI_U16 direction : 2;
2691 tANI_U16 tsid : 4;
2692 tANI_U16 trafficType : 1;
2693#else
2694 tANI_U16 trafficType : 1;
2695 tANI_U16 tsid : 4;
2696 tANI_U16 direction : 2;
2697 tANI_U16 accessPolicy : 2;
2698 tANI_U16 aggregation : 1;
2699 tANI_U16 psb : 1;
2700 tANI_U16 userPrio : 3;
2701 tANI_U16 ackPolicy : 2;
2702#endif
2703} __ani_attr_packed tSirMacTSInfoTfc;
2704
2705/* Flag to schedule the traffic type */
2706typedef __ani_attr_pre_packed struct sSirMacTSInfoSch
2707{
2708#ifndef ANI_LITTLE_BIT_ENDIAN
2709 tANI_U8 rsvd : 7;
2710 tANI_U8 schedule : 1;
2711#else
2712 tANI_U8 schedule : 1;
2713 tANI_U8 rsvd : 7;
2714#endif
2715} __ani_attr_packed tSirMacTSInfoSch;
2716
2717/* Traffic and scheduling info */
2718typedef __ani_attr_pre_packed struct sSirMacTSInfo
2719{
2720 tSirMacTSInfoTfc traffic;
2721 tSirMacTSInfoSch schedule;
2722} __ani_attr_packed tSirMacTSInfo;
2723
2724/* Information elements */
2725typedef __ani_attr_pre_packed struct sSirMacTspecIE
2726{
2727 tANI_U8 type;
2728 tANI_U8 length;
2729 tSirMacTSInfo tsinfo;
2730 tANI_U16 nomMsduSz;
2731 tANI_U16 maxMsduSz;
2732 tANI_U32 minSvcInterval;
2733 tANI_U32 maxSvcInterval;
2734 tANI_U32 inactInterval;
2735 tANI_U32 suspendInterval;
2736 tANI_U32 svcStartTime;
2737 tANI_U32 minDataRate;
2738 tANI_U32 meanDataRate;
2739 tANI_U32 peakDataRate;
2740 tANI_U32 maxBurstSz;
2741 tANI_U32 delayBound;
2742 tANI_U32 minPhyRate;
2743 tANI_U16 surplusBw;
2744 tANI_U16 mediumTime;
2745}__ani_attr_packed tSirMacTspecIE;
2746
2747typedef PACKED_PRE struct PACKED_POST
2748{
2749 /* Station Index */
2750 tANI_U16 staIdx;
2751
2752 /* TSPEC handler uniquely identifying a TSPEC for a STA in a BSS */
2753 tANI_U16 tspecIdx;
2754
2755 /* To program TPE with required parameters */
2756 tSirMacTspecIE tspec;
2757
2758 /* U-APSD Flags: 1b per AC. Encoded as follows:
2759 b7 b6 b5 b4 b3 b2 b1 b0 =
2760 X X X X BE BK VI VO */
2761 tANI_U8 uAPSD;
2762
2763 /* These parameters are for all the access categories */
2764 tANI_U32 srvInterval[WLAN_HAL_MAX_AC]; // Service Interval
2765 tANI_U32 susInterval[WLAN_HAL_MAX_AC]; // Suspend Interval
2766 tANI_U32 delayInterval[WLAN_HAL_MAX_AC]; // Delay Interval
Jeff Johnson32d95a32012-09-10 13:15:23 -07002767
Jeff Johnson295189b2012-06-20 16:38:30 -07002768} tAddTsParams, *tpAddTsParams;
2769
2770typedef PACKED_PRE struct PACKED_POST
2771{
2772 tHalMsgHeader header;
2773 tAddTsParams addTsParams;
2774} tAddTsReqMsg, *tpAddTsReqMsg;
2775
2776/*---------------------------------------------------------------------------
2777 * WLAN_HAL_ADD_TS_RSP
2778 *--------------------------------------------------------------------------*/
2779
2780typedef PACKED_PRE struct PACKED_POST
2781{
2782 /*success or failure */
2783 tANI_U32 status;
2784} tAddTsRspParams, *tpAddTsRspParams;
2785
2786typedef PACKED_PRE struct PACKED_POST
2787{
2788 tHalMsgHeader header;
2789 tAddTsRspParams addTsRspParams;
2790} tAddTsRspMsg, *tpAddTsRspMsg;
2791
2792
2793/*---------------------------------------------------------------------------
2794 * WLAN_HAL_DEL_TS_REQ
2795 *--------------------------------------------------------------------------*/
2796
2797typedef PACKED_PRE struct PACKED_POST
2798{
2799 /* Station Index */
2800 tANI_U16 staIdx;
2801
2802 /* TSPEC identifier uniquely identifying a TSPEC for a STA in a BSS */
2803 tANI_U16 tspecIdx;
2804
2805 /* To lookup station id using the mac address */
Jeff Johnson32d95a32012-09-10 13:15:23 -07002806 tSirMacAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07002807
2808} tDelTsParams, *tpDelTsParams;
2809
2810typedef PACKED_PRE struct PACKED_POST
2811{
2812 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002813 tDelTsParams delTsParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07002814} tDelTsReqMsg, *tpDelTsReqMsg;
2815
2816/*---------------------------------------------------------------------------
2817 * WLAN_HAL_DEL_TS_RSP
2818 *--------------------------------------------------------------------------*/
2819
2820typedef PACKED_PRE struct PACKED_POST
2821{
2822 /*success or failure */
2823 tANI_U32 status;
2824} tDelTsRspParams, *tpDelTsRspParams;
2825
2826typedef PACKED_PRE struct PACKED_POST
2827{
2828 tHalMsgHeader header;
2829 tDelTsRspParams delTsRspParams;
2830} tDelTsRspMsg, *tpDelTsRspMsg;
2831
2832/* End of TSpec Parameters */
2833
2834/* Start of BLOCK ACK related Parameters */
2835
2836/*---------------------------------------------------------------------------
2837 * WLAN_HAL_ADD_BA_SESSION_REQ
2838 *--------------------------------------------------------------------------*/
2839
2840typedef PACKED_PRE struct PACKED_POST
2841{
2842 /* Station Index */
2843 tANI_U16 staIdx;
2844
2845 /* Peer MAC Address */
2846 tSirMacAddr peerMacAddr;
2847
2848 /* ADDBA Action Frame dialog token
2849 HAL will not interpret this object */
2850 tANI_U8 baDialogToken;
2851
2852 /* TID for which the BA is being setup
2853 This identifies the TC or TS of interest */
2854 tANI_U8 baTID;
2855
2856 /* 0 - Delayed BA (Not supported)
2857 1 - Immediate BA */
2858 tANI_U8 baPolicy;
2859
2860 /* Indicates the number of buffers for this TID (baTID)
2861 NOTE - This is the requested buffer size. When this
2862 is processed by HAL and subsequently by HDD, it is
2863 possible that HDD may change this buffer size. Any
2864 change in the buffer size should be noted by PE and
2865 advertized appropriately in the ADDBA response */
2866 tANI_U16 baBufferSize;
2867
2868 /* BA timeout in TU's 0 means no timeout will occur */
2869 tANI_U16 baTimeout;
2870
2871 /* b0..b3 - Fragment Number - Always set to 0
2872 b4..b15 - Starting Sequence Number of first MSDU
2873 for which this BA is setup */
2874 tANI_U16 baSSN;
2875
2876 /* ADDBA direction
2877 1 - Originator
2878 0 - Recipient */
2879 tANI_U8 baDirection;
2880} tAddBASessionParams, *tpAddBASessionParams;
2881
2882typedef PACKED_PRE struct PACKED_POST
2883{
2884 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002885 tAddBASessionParams addBASessionParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07002886}tAddBASessionReqMsg, *tpAddBASessionReqMsg;
2887
2888/*---------------------------------------------------------------------------
2889 * WLAN_HAL_ADD_BA_SESSION_RSP
2890 *--------------------------------------------------------------------------*/
2891
2892typedef PACKED_PRE struct PACKED_POST
2893{
2894 /*success or failure */
2895 tANI_U32 status;
2896
2897 /* Dialog token */
2898 tANI_U8 baDialogToken;
2899
2900 /* TID for which the BA session has been setup */
2901 tANI_U8 baTID;
2902
2903 /* BA Buffer Size allocated for the current BA session */
2904 tANI_U8 baBufferSize;
2905
2906 tANI_U8 baSessionID;
2907
2908 /* Reordering Window buffer */
2909 tANI_U8 winSize;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002910
Jeff Johnson295189b2012-06-20 16:38:30 -07002911 /*Station Index to id the sta */
2912 tANI_U8 STAID;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002913
Jeff Johnson295189b2012-06-20 16:38:30 -07002914 /* Starting Sequence Number */
2915 tANI_U16 SSN;
2916} tAddBASessionRspParams, *tpAddBASessionRspParams;
2917
2918typedef PACKED_PRE struct PACKED_POST
2919{
2920 tHalMsgHeader header;
2921 tAddBASessionRspParams addBASessionRspParams;
2922} tAddBASessionRspMsg, *tpAddBASessionRspMsg;
2923
2924/*---------------------------------------------------------------------------
2925 * WLAN_HAL_ADD_BA_REQ
2926 *--------------------------------------------------------------------------*/
2927
2928typedef PACKED_PRE struct PACKED_POST
2929{
2930 /* Session Id */
2931 tANI_U8 baSessionID;
2932
2933 /* Reorder Window Size */
2934 tANI_U8 winSize;
2935
2936#ifdef FEATURE_ON_CHIP_REORDERING
2937 tANI_BOOLEAN isReorderingDoneOnChip;
2938#endif
2939} tAddBAParams, *tpAddBAParams;
2940
2941typedef PACKED_PRE struct PACKED_POST
2942{
2943 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002944 tAddBAParams addBAParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07002945} tAddBAReqMsg, *tpAddBAReqMsg;
2946
2947
2948/*---------------------------------------------------------------------------
2949 * WLAN_HAL_ADD_BA_RSP
2950 *--------------------------------------------------------------------------*/
2951
2952typedef PACKED_PRE struct PACKED_POST
2953{
2954 /*success or failure */
2955 tANI_U32 status;
2956
2957 /* Dialog token */
2958 tANI_U8 baDialogToken;
Jeff Johnson32d95a32012-09-10 13:15:23 -07002959
Jeff Johnson295189b2012-06-20 16:38:30 -07002960} tAddBARspParams, *tpAddBARspParams;
2961
2962typedef PACKED_PRE struct PACKED_POST
2963{
2964 tHalMsgHeader header;
2965 tAddBARspParams addBARspParams;
2966} tAddBARspMsg, *tpAddBARspMsg;
2967
2968
2969/*---------------------------------------------------------------------------
2970 * WLAN_HAL_TRIGGER_BA_REQ
2971 *--------------------------------------------------------------------------*/
2972
2973
2974typedef struct sAddBaInfo
2975{
2976 tANI_U16 fBaEnable : 1;
2977 tANI_U16 startingSeqNum: 12;
2978 tANI_U16 reserved : 3;
2979}tAddBaInfo, *tpAddBaInfo;
2980
2981typedef struct sTriggerBaRspCandidate
2982{
2983 tSirMacAddr staAddr;
2984 tAddBaInfo baInfo[STACFG_MAX_TC];
2985}tTriggerBaRspCandidate, *tpTriggerBaRspCandidate;
2986
2987typedef struct sTriggerBaCandidate
2988{
2989 tANI_U8 staIdx;
2990 tANI_U8 tidBitmap;
2991}tTriggerBaReqCandidate, *tptTriggerBaReqCandidate;
2992
2993typedef PACKED_PRE struct PACKED_POST
2994{
2995 /* Session Id */
2996 tANI_U8 baSessionID;
2997
Jeff Johnson32d95a32012-09-10 13:15:23 -07002998 /* baCandidateCnt is followed by trigger BA
Jeff Johnson295189b2012-06-20 16:38:30 -07002999 * Candidate List(tTriggerBaCandidate)
3000 */
3001 tANI_U16 baCandidateCnt;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003002
Jeff Johnson295189b2012-06-20 16:38:30 -07003003} tTriggerBAParams, *tpTriggerBAParams;
3004
3005typedef PACKED_PRE struct PACKED_POST
3006{
3007 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003008 tTriggerBAParams triggerBAParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07003009} tTriggerBAReqMsg, *tpTriggerBAReqMsg;
3010
3011
3012/*---------------------------------------------------------------------------
3013 * WLAN_HAL_TRIGGER_BA_RSP
3014 *--------------------------------------------------------------------------*/
3015
3016typedef PACKED_PRE struct PACKED_POST
3017{
Jeff Johnson32d95a32012-09-10 13:15:23 -07003018
Jeff Johnson295189b2012-06-20 16:38:30 -07003019 /* TO SUPPORT BT-AMP */
Jeff Johnson32d95a32012-09-10 13:15:23 -07003020 tSirMacAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003021
3022 /* success or failure */
3023 tANI_U32 status;
3024
Jeff Johnson32d95a32012-09-10 13:15:23 -07003025 /* baCandidateCnt is followed by trigger BA
Jeff Johnson295189b2012-06-20 16:38:30 -07003026 * Rsp Candidate List(tTriggerRspBaCandidate)
3027 */
3028 tANI_U16 baCandidateCnt;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003029
Jeff Johnson295189b2012-06-20 16:38:30 -07003030
3031} tTriggerBARspParams, *tpTriggerBARspParams;
3032
3033typedef PACKED_PRE struct PACKED_POST
3034{
3035 tHalMsgHeader header;
3036 tTriggerBARspParams triggerBARspParams;
3037} tTriggerBARspMsg, *tpTriggerBARspMsg;
3038
3039/*---------------------------------------------------------------------------
3040 * WLAN_HAL_DEL_BA_REQ
3041 *--------------------------------------------------------------------------*/
3042
3043typedef PACKED_PRE struct PACKED_POST
3044{
3045 /* Station Index */
3046 tANI_U16 staIdx;
3047
3048 /* TID for which the BA session is being deleted */
3049 tANI_U8 baTID;
3050
3051 /* DELBA direction
3052 1 - Originator
3053 0 - Recipient */
Jeff Johnson32d95a32012-09-10 13:15:23 -07003054 tANI_U8 baDirection;
Jeff Johnson295189b2012-06-20 16:38:30 -07003055} tDelBAParams, *tpDelBAParams;
3056
3057typedef PACKED_PRE struct PACKED_POST
3058{
3059 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003060 tDelBAParams delBAParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07003061} tDelBAReqMsg, *tpDelBAReqMsg;
3062
3063/*---------------------------------------------------------------------------
3064 * WLAN_HAL_DEL_BA_RSP
3065 *--------------------------------------------------------------------------*/
3066
3067typedef PACKED_PRE struct PACKED_POST
3068{
3069 /* success or failure */
3070 tANI_U32 status;
3071} tDelBARspParams, *tpDelBARspParams;
3072
3073typedef PACKED_PRE struct PACKED_POST
3074{
3075 tHalMsgHeader header;
3076 tDelBARspParams delBARspParams;
3077} tDelBARspMsg, *tpDelBARspMsg;
3078
3079
3080#ifdef FEATURE_WLAN_CCX
3081
3082/*---------------------------------------------------------------------------
3083 * WLAN_HAL_TSM_STATS_REQ
3084 *--------------------------------------------------------------------------*/
3085typedef PACKED_PRE struct PACKED_POST
3086{
3087 /* Traffic Id */
3088 tANI_U8 tsmTID;
3089
3090 tSirMacAddr bssId;
3091} tTsmStatsParams, *tpTsmStatsParams;
3092
3093typedef PACKED_PRE struct PACKED_POST
3094{
3095 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003096 tTsmStatsParams tsmStatsParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07003097} tTsmStatsReqMsg, *tpTsmStatsReqMsg;
3098
3099
3100/*---------------------------------------------------------------------------
3101 * WLAN_HAL_TSM_STATS_RSP
3102 *--------------------------------------------------------------------------*/
3103typedef PACKED_PRE struct PACKED_POST
3104{
3105 /*success or failure */
3106 tANI_U32 status;
3107
Jeff Johnson32d95a32012-09-10 13:15:23 -07003108 /* Uplink Packet Queue delay */
Jeff Johnson295189b2012-06-20 16:38:30 -07003109 tANI_U16 UplinkPktQueueDly;
3110
Jeff Johnson32d95a32012-09-10 13:15:23 -07003111 /* Uplink Packet Queue delay histogram */
Jeff Johnson295189b2012-06-20 16:38:30 -07003112 tANI_U16 UplinkPktQueueDlyHist[4];
3113
Jeff Johnson32d95a32012-09-10 13:15:23 -07003114 /* Uplink Packet Transmit delay */
Jeff Johnson295189b2012-06-20 16:38:30 -07003115 tANI_U32 UplinkPktTxDly;
3116
Jeff Johnson32d95a32012-09-10 13:15:23 -07003117 /* Uplink Packet loss */
Jeff Johnson295189b2012-06-20 16:38:30 -07003118 tANI_U16 UplinkPktLoss;
3119
Jeff Johnson32d95a32012-09-10 13:15:23 -07003120 /* Uplink Packet count */
Jeff Johnson295189b2012-06-20 16:38:30 -07003121 tANI_U16 UplinkPktCount;
3122
Jeff Johnson32d95a32012-09-10 13:15:23 -07003123 /* Roaming count */
Jeff Johnson295189b2012-06-20 16:38:30 -07003124 tANI_U8 RoamingCount;
3125
Jeff Johnson32d95a32012-09-10 13:15:23 -07003126 /* Roaming Delay */
Jeff Johnson295189b2012-06-20 16:38:30 -07003127 tANI_U16 RoamingDly;
3128} tTsmStatsRspParams, *tpTsmStatsRspParams;
3129
3130typedef PACKED_PRE struct PACKED_POST
3131{
3132 tHalMsgHeader header;
3133 tTsmStatsRspParams tsmStatsRspParams;
3134} tTsmStatsRspMsg, *tpTsmStatsRspMsg;
3135
3136
3137#endif
3138
3139/*---------------------------------------------------------------------------
3140 * WLAN_HAL_SET_KEYDONE_MSG
3141 *--------------------------------------------------------------------------*/
3142
3143typedef PACKED_PRE struct PACKED_POST
3144{
3145 /*bssid of the keys */
3146 tANI_U8 bssidx;
3147 tANI_U8 encType;
3148} tSetKeyDoneParams, *tpSetKeyDoneParams;
3149
3150typedef PACKED_PRE struct PACKED_POST
3151{
3152 tHalMsgHeader header;
3153 tSetKeyDoneParams setKeyDoneParams;
3154} tSetKeyDoneMsg, *tpSetKeyDoneMsg;
3155
3156/*---------------------------------------------------------------------------
3157 * WLAN_HAL_DOWNLOAD_NV_REQ
3158 *--------------------------------------------------------------------------*/
3159typedef PACKED_PRE struct PACKED_POST
3160{
3161 /* Fragment sequence number of the NV Image. Note that NV Image might not
3162 * fit into one message due to size limitation of the SMD channel FIFO. UMAC
Jeff Johnson32d95a32012-09-10 13:15:23 -07003163 * can hence choose to chop the NV blob into multiple fragments starting with
3164 * seqeunce number 0, 1, 2 etc. The last fragment MUST be indicated by
Jeff Johnson295189b2012-06-20 16:38:30 -07003165 * marking the isLastFragment field to 1. Note that all the NV blobs would be
3166 * concatenated together by HAL without any padding bytes in between.*/
3167 tANI_U16 fragNumber;
3168
3169 /* Is this the last fragment? When set to 1 it indicates that no more fragments
Jeff Johnson32d95a32012-09-10 13:15:23 -07003170 * will be sent by UMAC and HAL can concatenate all the NV blobs rcvd & proceed
Jeff Johnson295189b2012-06-20 16:38:30 -07003171 * with the parsing. HAL would generate a WLAN_HAL_DOWNLOAD_NV_RSP to the
3172 * WLAN_HAL_DOWNLOAD_NV_REQ after it receives each fragment */
3173 tANI_U16 isLastFragment;
3174
3175 /* NV Image size (number of bytes) */
3176 tANI_U32 nvImgBufferSize;
3177
3178 /* Following the 'nvImageBufferSize', there should be nvImageBufferSize
3179 * bytes of NV Image i.e. uint8[nvImageBufferSize] */
3180} tHalNvImgDownloadReqParams, *tpHalNvImgDownloadReqParams;
3181
3182typedef PACKED_PRE struct PACKED_POST
3183{
3184 /* Note: The length specified in tHalNvImgDownloadReqMsg messages should be
3185 * header.msgLen = sizeof(tHalNvImgDownloadReqMsg) + nvImgBufferSize */
3186 tHalMsgHeader header;
3187 tHalNvImgDownloadReqParams nvImageReqParams;
3188} tHalNvImgDownloadReqMsg, *tpHalNvImgDownloadReqMsg;
3189
3190/*---------------------------------------------------------------------------
3191 * WLAN_HAL_DOWNLOAD_NV_RSP
3192 *--------------------------------------------------------------------------*/
3193typedef PACKED_PRE struct PACKED_POST
3194{
3195 /* Success or Failure. HAL would generate a WLAN_HAL_DOWNLOAD_NV_RSP
3196 * after each fragment */
3197 tANI_U32 status;
3198} tHalNvImgDownloadRspParams, *tpHalNvImgDownloadRspParams;
3199
3200typedef PACKED_PRE struct PACKED_POST
3201{
3202 tHalMsgHeader header;
3203 tHalNvImgDownloadRspParams nvImageRspParams;
3204} tHalNvImgDownloadRspMsg, *tpHalNvImgDownloadRspMsg;
3205
3206/*---------------------------------------------------------------------------
3207 * WLAN_HAL_STORE_NV_IND
3208 *--------------------------------------------------------------------------*/
3209typedef PACKED_PRE struct PACKED_POST
3210{
3211 /* NV Item */
3212 eNvTable tableID;
3213
3214 /* Size of NV Blob */
3215 tANI_U32 nvBlobSize;
3216
Jeff Johnson32d95a32012-09-10 13:15:23 -07003217 /* Following the 'nvBlobSize', there should be nvBlobSize bytes of
Jeff Johnson295189b2012-06-20 16:38:30 -07003218 * NV blob i.e. uint8[nvBlobSize] */
3219} tHalNvStoreParams, *tpHalNvStoreParams;
3220
3221typedef PACKED_PRE struct PACKED_POST
3222{
3223 /* Note: The length specified in tHalNvStoreInd messages should be
3224 * header.msgLen = sizeof(tHalNvStoreInd) + nvBlobSize */
3225 tHalMsgHeader header;
3226 tHalNvStoreParams nvStoreParams;
3227} tHalNvStoreInd, *tpHalNvStoreInd;
3228
3229/* End of Block Ack Related Parameters */
3230
3231/*---------------------------------------------------------------------------
3232 * WLAN_HAL_MIC_FAILURE_IND
3233 *--------------------------------------------------------------------------*/
3234
3235#define SIR_CIPHER_SEQ_CTR_SIZE 6
3236
3237typedef PACKED_PRE struct PACKED_POST
3238{
Jeff Johnson32d95a32012-09-10 13:15:23 -07003239 tSirMacAddr srcMacAddr; //address used to compute MIC
Jeff Johnson295189b2012-06-20 16:38:30 -07003240 tSirMacAddr taMacAddr; //transmitter address
3241 tSirMacAddr dstMacAddr;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003242 tANI_U8 multicast;
Jeff Johnson295189b2012-06-20 16:38:30 -07003243 tANI_U8 IV1; // first byte of IV
3244 tANI_U8 keyId; // second byte of IV
3245 tANI_U8 TSC[SIR_CIPHER_SEQ_CTR_SIZE]; // sequence number
3246 tSirMacAddr rxMacAddr; // receive address
3247} tSirMicFailureInfo, *tpSirMicFailureInfo;
3248
3249/* Definition for MIC failure indication
3250 MAC reports this each time a MIC failure occures on Rx TKIP packet
3251 */
3252typedef PACKED_PRE struct PACKED_POST
3253{
3254 tSirMacAddr bssId; // BSSID
3255 tSirMicFailureInfo info;
3256} tSirMicFailureInd, *tpSirMicFailureInd;
3257
3258typedef PACKED_PRE struct PACKED_POST
3259{
3260 tHalMsgHeader header;
3261 tSirMicFailureInd micFailureInd;
3262} tMicFailureIndMsg, *tpMicFailureIndMsg;
3263
Mohit Khanna4a70d262012-09-11 16:30:12 -07003264typedef PACKED_PRE struct PACKED_POST
3265{
3266 tANI_U16 opMode;
3267 tANI_U16 staId;
3268}tUpdateVHTOpMode, *tpUpdateVHTOpMode;
3269
3270typedef PACKED_PRE struct PACKED_POST
3271{
3272 tHalMsgHeader header;
3273 tUpdateVHTOpMode updateVhtOpMode;
3274} tUpdateVhtOpModeReqMsg, *tpUpdateVhtOpModeReqMsg;
3275
3276typedef PACKED_PRE struct PACKED_POST
3277{
3278 tANI_U32 status;
3279} tUpdateVhtOpModeParamsRsp, *tpUpdateVhtOpModeParamsRsp;
3280
3281typedef PACKED_PRE struct PACKED_POST
3282{
3283 tHalMsgHeader header;
3284 tUpdateVhtOpModeParamsRsp updateVhtOpModeRspParam;
3285} tUpdateVhtOpModeParamsRspMsg, *tpUpdateVhtOpModeParamsRspMsg;
3286
Jeff Johnson295189b2012-06-20 16:38:30 -07003287/*---------------------------------------------------------------------------
3288 * WLAN_HAL_UPDATE_BEACON_REQ
3289 *--------------------------------------------------------------------------*/
3290typedef PACKED_PRE struct PACKED_POST
3291{
3292
3293 tANI_U8 bssIdx;
3294
3295 //shortPreamble mode. HAL should update all the STA rates when it
3296 //receives this message
3297 tANI_U8 fShortPreamble;
3298 //short Slot time.
3299 tANI_U8 fShortSlotTime;
3300 //Beacon Interval
3301 tANI_U16 beaconInterval;
3302 //Protection related
3303 tANI_U8 llaCoexist;
3304 tANI_U8 llbCoexist;
3305 tANI_U8 llgCoexist;
3306 tANI_U8 ht20MhzCoexist;
3307 tANI_U8 llnNonGFCoexist;
3308 tANI_U8 fLsigTXOPProtectionFullSupport;
3309 tANI_U8 fRIFSMode;
3310
3311 tANI_U16 paramChangeBitmap;
3312}tUpdateBeaconParams, *tpUpdateBeaconParams;
3313
3314
3315typedef PACKED_PRE struct PACKED_POST
3316{
3317 tHalMsgHeader header;
3318 tUpdateBeaconParams updateBeaconParam;
3319} tUpdateBeaconReqMsg, *tpUpdateBeaconReqMsg;
3320
3321/*---------------------------------------------------------------------------
3322 * WLAN_HAL_UPDATE_BEACON_RSP
3323 *--------------------------------------------------------------------------*/
3324typedef PACKED_PRE struct PACKED_POST
3325{
3326 tANI_U32 status;
3327} tUpdateBeaconRspParams, *tpUpdateBeaconRspParams;
3328
3329typedef PACKED_PRE struct PACKED_POST
3330{
3331 tHalMsgHeader header;
3332 tUpdateBeaconRspParams updateBeaconRspParam;
3333} tUpdateBeaconRspMsg, *tpUpdateBeaconRspMsg;
3334
3335/*---------------------------------------------------------------------------
3336 * WLAN_HAL_SEND_BEACON_REQ
3337 *--------------------------------------------------------------------------*/
3338typedef PACKED_PRE struct PACKED_POST
3339{
3340 tANI_U32 beaconLength; //length of the template.
3341 tANI_U8 beacon[BEACON_TEMPLATE_SIZE]; // Beacon data.
3342 tSirMacAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003343 tANI_U32 timIeOffset; //TIM IE offset from the beginning of the template.
Jeff Johnson295189b2012-06-20 16:38:30 -07003344 tANI_U16 p2pIeOffset; //P2P IE offset from the begining of the template
3345}tSendBeaconParams, *tpSendBeaconParams;
3346
3347
3348typedef PACKED_PRE struct PACKED_POST
3349{
3350 tHalMsgHeader header;
3351 tSendBeaconParams sendBeaconParam;
3352}tSendBeaconReqMsg, *tpSendBeaconReqMsg;
3353
3354/*---------------------------------------------------------------------------
3355 * WLAN_HAL_SEND_BEACON_RSP
3356 *--------------------------------------------------------------------------*/
3357typedef PACKED_PRE struct PACKED_POST
3358{
3359 tANI_U32 status;
3360} tSendBeaconRspParams, *tpSendBeaconRspParams;
3361
3362typedef PACKED_PRE struct PACKED_POST
3363{
3364 tHalMsgHeader header;
3365 tSendBeaconRspParams sendBeaconRspParam;
3366} tSendBeaconRspMsg, *tpSendBeaconRspMsg;
3367
3368#ifdef FEATURE_5GHZ_BAND
3369
3370/*---------------------------------------------------------------------------
3371 * WLAN_HAL_ENABLE_RADAR_DETECT_REQ
3372 *--------------------------------------------------------------------------*/
3373typedef PACKED_PRE struct PACKED_POST
3374{
3375 tSirMacAddr BSSID;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003376 tANI_U8 channel;
Jeff Johnson295189b2012-06-20 16:38:30 -07003377}tSirEnableRadarInfoType, *tptSirEnableRadarInfoType;
3378
3379
3380typedef PACKED_PRE struct PACKED_POST
3381{
3382 /* Link Parameters */
3383 tSirEnableRadarInfoType EnableRadarInfo;
3384}tEnableRadarReqParams, *tpEnableRadarReqParams;
3385
3386typedef PACKED_PRE struct PACKED_POST
3387{
3388 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003389 tEnableRadarReqParams enableRadarReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07003390}tEnableRadarReqMsg, *tpEnableRadarReqMsg;
3391
3392/*---------------------------------------------------------------------------
3393 * WLAN_HAL_ENABLE_RADAR_DETECT_RSP
3394 *--------------------------------------------------------------------------*/
3395
3396typedef PACKED_PRE struct PACKED_POST
3397{
3398 /* Link Parameters */
3399 tSirMacAddr BSSID;
3400 /* success or failure */
3401 tANI_U32 status;
3402}tEnableRadarRspParams, *tpEnableRadarRspParams;
3403
3404typedef PACKED_PRE struct PACKED_POST
3405{
3406 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003407 tEnableRadarRspParams enableRadarRspParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07003408}tEnableRadarRspMsg, *tpEnableRadarRspMsg;
3409
3410/*---------------------------------------------------------------------------
3411 *WLAN_HAL_RADAR_DETECT_INTR_IND
3412 *--------------------------------------------------------------------------*/
3413
3414typedef PACKED_PRE struct PACKED_POST
3415{
3416 tANI_U8 radarDetChannel;
3417}tRadarDetectIntrIndParams, *tpRadarDetectIntrIndParams;
3418
3419typedef PACKED_PRE struct PACKED_POST
3420{
3421 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003422 tRadarDetectIntrIndParams radarDetectIntrIndParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07003423}tRadarDetectIntrIndMsg, *tptRadarDetectIntrIndMsg;
3424
3425/*---------------------------------------------------------------------------
3426 *WLAN_HAL_RADAR_DETECT_IND
3427 *-------------------------------------------------------------------------*/
3428typedef PACKED_PRE struct PACKED_POST
3429{
3430 /*channel number in which the RADAR detected*/
3431 tANI_U8 channelNumber;
3432
3433 /*RADAR pulse width*/
3434 tANI_U16 radarPulseWidth; // in usecond
3435
3436 /*Number of RADAR pulses */
3437 tANI_U16 numRadarPulse;
3438}tRadarDetectIndParams,*tpRadarDetectIndParams;
3439
3440typedef PACKED_PRE struct PACKED_POST
3441{
3442 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003443 tRadarDetectIndParams radarDetectIndParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07003444}tRadarDetectIndMsg, *tptRadarDetectIndMsg;
3445
3446
3447/*---------------------------------------------------------------------------
3448 *WLAN_HAL_GET_TPC_REPORT_REQ
3449 *-------------------------------------------------------------------------*/
3450typedef PACKED_PRE struct PACKED_POST
3451{
3452 tSirMacAddr sta;
3453 tANI_U8 dialogToken;
3454 tANI_U8 txpower;
3455}tSirGetTpcReportReqParams, *tpSirGetTpcReportReqParams;
3456
3457
3458typedef PACKED_PRE struct PACKED_POST
3459{
3460 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003461 tSirGetTpcReportReqParams getTpcReportReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07003462}tSirGetTpcReportReqMsg, *tpSirGetTpcReportReqMsg;
3463
3464/*---------------------------------------------------------------------------
3465 * WLAN_HAL_GET_TPC_REPORT_RSP
3466 *--------------------------------------------------------------------------*/
3467
3468typedef PACKED_PRE struct PACKED_POST
3469{
3470 /* success or failure */
3471 tANI_U32 status;
3472}tSirGetTpcReportRspParams, *tpSirGetTpcReportRspParams;
3473
3474typedef PACKED_PRE struct PACKED_POST
3475{
3476 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003477 tSirGetTpcReportRspParams getTpcReportRspParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07003478}tSirGetTpcReportRspMsg, *tpSirGetTpcReportRspMsg;
3479
3480#endif
3481
Jeff Johnson295189b2012-06-20 16:38:30 -07003482/*---------------------------------------------------------------------------
3483 *WLAN_HAL_UPDATE_PROBE_RSP_TEMPLATE_REQ
3484 *-------------------------------------------------------------------------*/
3485typedef PACKED_PRE struct PACKED_POST
3486{
3487 tANI_U8 pProbeRespTemplate[BEACON_TEMPLATE_SIZE];
3488 tANI_U32 probeRespTemplateLen;
3489 tANI_U32 ucProxyProbeReqValidIEBmap[8];
3490 tSirMacAddr bssId;
3491
3492}tSendProbeRespReqParams, *tpSendProbeRespReqParams;
3493
3494typedef PACKED_PRE struct PACKED_POST
3495{
3496 tHalMsgHeader header;
3497 tSendProbeRespReqParams sendProbeRespReqParams ;
3498}tSendProbeRespReqMsg, *tpSendProbeRespReqMsg;
3499
3500/*---------------------------------------------------------------------------
Jeff Johnson32d95a32012-09-10 13:15:23 -07003501 *WLAN_HAL_UPDATE_PROBE_RSP_TEMPLATE_RSP
Jeff Johnson295189b2012-06-20 16:38:30 -07003502 *--------------------------------------------------------------------------*/
3503
3504typedef PACKED_PRE struct PACKED_POST
3505{
3506 /* success or failure */
3507 tANI_U32 status;
3508}tSendProbeRespRspParams, *tpSendProbeRespRspParams;
3509
3510typedef PACKED_PRE struct PACKED_POST
3511{
3512 tHalMsgHeader header;
3513 tSendProbeRespRspParams sendProbeRespRspParams;
3514}tSendProbeRespRspMsg, *tpSendProbeRespRspMsg;
3515
3516
3517/*---------------------------------------------------------------------------
Jeff Johnson32d95a32012-09-10 13:15:23 -07003518 *WLAN_HAL_UNKNOWN_ADDR2_FRAME_RX_IND
Jeff Johnson295189b2012-06-20 16:38:30 -07003519 *--------------------------------------------------------------------------*/
3520
3521typedef PACKED_PRE struct PACKED_POST
3522{
3523 /* success or failure */
3524 tANI_U32 status;
3525}tSendUnkownFrameRxIndParams, *tpSendUnkownFrameRxIndParams;
3526
3527typedef PACKED_PRE struct PACKED_POST
3528{
3529 tHalMsgHeader header;
3530 tSendUnkownFrameRxIndParams sendUnkownFrameRxIndParams;
3531}tSendUnkownFrameRxIndMsg, *tpSendUnkownFrameRxIndMsg;
3532
3533/*---------------------------------------------------------------------------
3534 *WLAN_HAL_DELETE_STA_CONTEXT_IND
3535 *--------------------------------------------------------------------------*/
3536
3537typedef PACKED_PRE struct PACKED_POST
3538{
3539 tANI_U16 assocId;
3540 tANI_U16 staId;
3541 tSirMacAddr bssId; // TO SUPPORT BT-AMP
3542 // HAL copies bssid from the sta table.
Jeff Johnson295189b2012-06-20 16:38:30 -07003543 tSirMacAddr addr2; //
Jeff Johnson32d95a32012-09-10 13:15:23 -07003544 tANI_U16 reasonCode; // To unify the keepalive / unknown A2 / tim-based disa
Jeff Johnson295189b2012-06-20 16:38:30 -07003545
3546}tDeleteStaContextParams, *tpDeleteStaContextParams;
3547
3548
3549typedef PACKED_PRE struct PACKED_POST
3550{
3551 tHalMsgHeader header;
3552 tDeleteStaContextParams deleteStaContextParams;
3553}tDeleteStaContextIndMsg, *tpDeleteStaContextIndMsg;
3554
Anand Kumar012623a2013-01-11 17:00:00 -08003555typedef PACKED_PRE struct PACKED_POST
3556{
3557 tHalMsgHeader header;
3558 tANI_U8 assocId;
3559 tANI_U8 staIdx;
3560 tANI_U8 bssIdx;
3561 tANI_U8 uReasonCode;
3562 tANI_U32 uStatus;
3563} tIndicateDelSta, *tpIndicateDelSta;
Jeff Johnson295189b2012-06-20 16:38:30 -07003564
3565/*---------------------------------------------------------------------------
3566 *WLAN_HAL_SIGNAL_BTAMP_EVENT_REQ
3567 *--------------------------------------------------------------------------*/
3568
3569typedef PACKED_PRE struct PACKED_POST
3570{
3571 tBtAmpEventType btAmpEventType;
3572
3573}tBtAmpEventParams, *tpBtAmpEventParams;
3574
3575
3576
3577typedef PACKED_PRE struct PACKED_POST
3578{
3579 tHalMsgHeader header;
3580 tBtAmpEventParams btAmpEventParams;
3581}tBtAmpEventMsg, *tpBtAmpEventMsg;
3582
3583/*---------------------------------------------------------------------------
3584*WLAN_HAL_SIGNAL_BTAMP_EVENT_RSP
3585*--------------------------------------------------------------------------*/
3586
3587typedef PACKED_PRE struct PACKED_POST
3588{
3589 /* success or failure */
3590 tANI_U32 status;
3591}tBtAmpEventRspParams, *tpBtAmpEventRspParams;
3592
3593typedef PACKED_PRE struct PACKED_POST
3594{
3595 tHalMsgHeader header;
3596 tBtAmpEventRspParams btAmpEventRspParams;
3597}tBtAmpEventRsp, *tpBtAmpEventRsp;
3598
3599
3600/*---------------------------------------------------------------------------
3601 *WLAN_HAL_TL_HAL_FLUSH_AC_REQ
3602 *--------------------------------------------------------------------------*/
3603
3604typedef PACKED_PRE struct PACKED_POST
3605{
3606 // Station Index. originates from HAL
3607 tANI_U8 ucSTAId;
3608
3609 // TID for which the transmit queue is being flushed
3610 tANI_U8 ucTid;
3611
3612}tTlHalFlushAcParams, *tpTlHalFlushAcParams;
3613
3614
3615typedef PACKED_PRE struct PACKED_POST
3616{
3617 tHalMsgHeader header;
3618 tTlHalFlushAcParams tlHalFlushAcParam;
3619}tTlHalFlushAcReq, *tpTlHalFlushAcReq;
3620
3621/*---------------------------------------------------------------------------
3622*WLAN_HAL_TL_HAL_FLUSH_AC_RSP
3623*--------------------------------------------------------------------------*/
3624
3625typedef PACKED_PRE struct PACKED_POST
3626{
3627 // Station Index. originates from HAL
3628 tANI_U8 ucSTAId;
3629
3630 // TID for which the transmit queue is being flushed
3631 tANI_U8 ucTid;
3632
3633 /* success or failure */
3634 tANI_U32 status;
3635}tTlHalFlushAcRspParams, *tpTlHalFlushAcRspParams;
3636
3637typedef PACKED_PRE struct PACKED_POST
3638{
3639 tHalMsgHeader header;
3640 tTlHalFlushAcRspParams tlHalFlushAcRspParam;
3641}tTlHalFlushAcRspMsg, *tpTlHalFlushAcRspMsg;
3642
3643/*---------------------------------------------------------------------------
3644 * WLAN_HAL_ENTER_IMPS_REQ
3645 *--------------------------------------------------------------------------*/
3646typedef PACKED_PRE struct PACKED_POST
3647{
3648 tHalMsgHeader header;
3649} tHalEnterImpsReqMsg, *tpHalEnterImpsReqMsg;
3650
3651/*---------------------------------------------------------------------------
3652 * WLAN_HAL_EXIT_IMPS_REQ
3653 *--------------------------------------------------------------------------*/
3654typedef PACKED_PRE struct PACKED_POST
3655{
3656 tHalMsgHeader header;
3657} tHalExitImpsReqMsg, *tpHalExitImpsReqMsg;
3658
3659/*---------------------------------------------------------------------------
3660 * WLAN_HAL_ENTER_BMPS_REQ
3661 *--------------------------------------------------------------------------*/
3662
3663typedef PACKED_PRE struct PACKED_POST
3664{
3665 tANI_U8 bssIdx;
3666 //TBTT value derived from the last beacon
3667#ifndef BUILD_QWPTTSTATIC
3668 tANI_U64 tbtt;
3669#endif
3670 tANI_U8 dtimCount;
3671 //DTIM period given to HAL during association may not be valid,
3672 //if association is based on ProbeRsp instead of beacon.
3673 tANI_U8 dtimPeriod;
3674
3675 // For CCX and 11R Roaming
3676 tANI_U32 rssiFilterPeriod;
3677 tANI_U32 numBeaconPerRssiAverage;
3678 tANI_U8 bRssiFilterEnable;
3679
3680} tHalEnterBmpsReqParams, *tpHalEnterBmpsReqParams;
3681
3682
3683typedef PACKED_PRE struct PACKED_POST
3684{
3685 tHalMsgHeader header;
3686 tHalEnterBmpsReqParams enterBmpsReq;
3687} tHalEnterBmpsReqMsg, *tpHalEnterBmpsReqMsg;
3688
3689/*---------------------------------------------------------------------------
3690 * WLAN_HAL_EXIT_BMPS_REQ
3691 *--------------------------------------------------------------------------*/
3692typedef PACKED_PRE struct PACKED_POST
3693{
3694 tANI_U8 sendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003695 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003696} tHalExitBmpsReqParams, *tpHalExitBmpsReqParams;
3697
3698typedef PACKED_PRE struct PACKED_POST
3699{
3700 tHalMsgHeader header;
3701 tHalExitBmpsReqParams exitBmpsReqParams;
3702} tHalExitBmpsReqMsg, *tpHalExitBmpsReqMsg;
3703
3704/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -08003705 * WLAN_HAL_MISSED_BEACON_IND
3706 *--------------------------------------------------------------------------*/
3707typedef PACKED_PRE struct PACKED_POST
3708{
3709 tANI_U8 bssIdx;
3710} tHalMissedBeaconIndParams, *tpHalMissedBeaconIndParams;
3711
3712typedef PACKED_PRE struct PACKED_POST
3713{
3714 tHalMsgHeader header;
3715 tHalMissedBeaconIndParams missedBeaconIndParams;
3716} tHalMissedBeaconIndMsg, *tpHalMissedBeaconIndMsg;
3717
3718/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003719 * WLAN_HAL_ADD_BCN_FILTER_REQ
3720 *--------------------------------------------------------------------------*/
3721/* Beacon Filtering data structures */
3722typedef PACKED_PRE struct PACKED_POST
3723{
3724 tANI_U8 offset;
3725 tANI_U8 value;
3726 tANI_U8 bitMask;
3727 tANI_U8 ref;
3728} tEidByteInfo, *tpEidByteInfo;
3729
Jeff Johnson32d95a32012-09-10 13:15:23 -07003730typedef PACKED_PRE struct PACKED_POST
Jeff Johnson295189b2012-06-20 16:38:30 -07003731{
3732 tANI_U16 capabilityInfo;
3733 tANI_U16 capabilityMask;
3734 tANI_U16 beaconInterval;
3735 tANI_U16 ieNum;
Madan Mohan Koyyalamudida62ada2012-10-11 17:04:03 -07003736 tANI_U8 bssIdx;
3737 tANI_U8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003738} tBeaconFilterMsg, *tpBeaconFilterMsg;
3739
3740/* The above structure would be followed by multiple of below mentioned structure */
3741typedef PACKED_PRE struct PACKED_POST
3742{
3743 tANI_U8 elementId;
3744 tANI_U8 checkIePresence;
3745 tEidByteInfo byte;
3746} tBeaconFilterIe, *tpBeaconFilterIe;
3747
3748typedef PACKED_PRE struct PACKED_POST
3749{
3750 tHalMsgHeader header;
3751 tBeaconFilterMsg addBcnFilterParams;
3752} tHalAddBcnFilterReqMsg, *tpHalAddBcnFilterReqMsg;
3753
3754/*---------------------------------------------------------------------------
3755 * WLAN_HAL_REM_BCN_FILTER_REQ
3756 *--------------------------------------------------------------------------*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07003757typedef PACKED_PRE struct PACKED_POST
Jeff Johnson295189b2012-06-20 16:38:30 -07003758{
3759 tANI_U8 ucIeCount;
3760 tANI_U8 ucRemIeId[1];
3761} tRemBeaconFilterMsg, *tpRemBeaconFilterMsg;
3762
3763typedef PACKED_PRE struct PACKED_POST
3764{
3765 tHalMsgHeader header;
3766 tRemBeaconFilterMsg remBcnFilterParams;
3767} tHalRemBcnFilterReqMsg, *tpHalRemBcnFilterReqMsg;
3768
3769/*---------------------------------------------------------------------------
3770 * WLAN_HAL_HOST_OFFLOAD_REQ
3771 *--------------------------------------------------------------------------*/
3772#define HAL_IPV4_ARP_REPLY_OFFLOAD 0
3773#define HAL_IPV6_NEIGHBOR_DISCOVERY_OFFLOAD 1
3774#define HAL_IPV6_NS_OFFLOAD 2
3775#define HAL_IPV6_ADDR_LEN 16
3776#define HAL_MAC_ADDR_LEN 6
3777#define HAL_OFFLOAD_DISABLE 0
3778#define HAL_OFFLOAD_ENABLE 1
3779#define HAL_OFFLOAD_BCAST_FILTER_ENABLE 0x2
Madan Mohan Koyyalamudi5a244b22013-03-21 16:12:18 -07003780#define HAL_OFFLOAD_MCAST_FILTER_ENABLE 0x4
Jeff Johnson295189b2012-06-20 16:38:30 -07003781#define HAL_OFFLOAD_ARP_AND_BCAST_FILTER_ENABLE (HAL_OFFLOAD_ENABLE|HAL_OFFLOAD_BCAST_FILTER_ENABLE)
Madan Mohan Koyyalamudi5a244b22013-03-21 16:12:18 -07003782#define HAL_OFFLOAD_IPV6NS_AND_MCAST_FILTER_ENABLE (HAL_OFFLOAD_ENABLE|HAL_OFFLOAD_MCAST_FILTER_ENABLE)
Jeff Johnson295189b2012-06-20 16:38:30 -07003783
3784typedef PACKED_PRE struct PACKED_POST _tHalNSOffloadParams
3785{
3786 tANI_U8 srcIPv6Addr[HAL_IPV6_ADDR_LEN];
3787 tANI_U8 selfIPv6Addr[HAL_IPV6_ADDR_LEN];
3788 //Only support 2 possible Network Advertisement IPv6 address
3789 tANI_U8 targetIPv6Addr1[HAL_IPV6_ADDR_LEN];
3790 tANI_U8 targetIPv6Addr2[HAL_IPV6_ADDR_LEN];
3791 tANI_U8 selfMacAddr[HAL_MAC_ADDR_LEN];
3792 tANI_U8 srcIPv6AddrValid : 1;
3793 tANI_U8 targetIPv6Addr1Valid : 1;
3794 tANI_U8 targetIPv6Addr2Valid : 1;
3795 tANI_U8 reserved1 : 5;
3796 tANI_U8 reserved2; //make it DWORD aligned
Jeff Johnsone7245742012-09-05 17:12:55 -07003797 tANI_U8 bssIdx;
Madan Mohan Koyyalamudi5a244b22013-03-21 16:12:18 -07003798 tANI_U32 slotIndex; // slot index for this offload
Jeff Johnson295189b2012-06-20 16:38:30 -07003799} tHalNSOffloadParams;
3800
3801typedef PACKED_PRE struct PACKED_POST
3802{
3803 tANI_U8 offloadType;
3804 tANI_U8 enableOrDisable;
3805 PACKED_PRE union PACKED_POST
3806 {
3807 tANI_U8 hostIpv4Addr [4];
3808 tANI_U8 hostIpv6Addr [HAL_IPV6_ADDR_LEN];
3809 } params;
3810} tHalHostOffloadReq, *tpHalHostOffloadReq;
3811
3812typedef PACKED_PRE struct PACKED_POST
3813{
3814 tHalMsgHeader header;
3815 tHalHostOffloadReq hostOffloadParams;
3816 tHalNSOffloadParams nsOffloadParams;
3817} tHalHostOffloadReqMsg, *tpHalHostOffloadReqMsg;
3818
Leo Chang397deb72013-08-22 11:33:16 -07003819
3820#ifdef FEATURE_WLAN_LPHB
3821typedef enum
3822{
3823 WIFI_HB_SET_ENABLE = 0x0001,
3824 WIFI_HB_SET_TCP_PARAMS = 0x0002,
3825 WIFI_HB_SET_TCP_PKT_FILTER = 0x0003,
3826 WIFI_HB_SET_UDP_PARAMS = 0x0004,
3827 WIFI_HB_SET_UDP_PKT_FILTER = 0x0005,
3828 WIFI_HB_SET_NETWORK_INFO = 0x0006,
3829}tLowPowerHeartBeatCmdType ;
3830
3831#define MAX_FLITER_SIZE 64
3832/*---------------------------------------------------------------------------
3833 *FEATURE_WLAN_LPHB REQ
3834 *--------------------------------------------------------------------------*/
3835typedef PACKED_PRE struct PACKED_POST
3836{
3837 uint32 hostIpv4Addr;
3838 uint32 destIpv4Addr;
3839 uint16 hostPort;
3840 uint16 destPort;
3841 uint16 timeOutSec; // in seconds
3842 tSirMacAddr gatewayMacAddr;
3843} tlowPowerHeartBeatParamsTcpStruct;
3844
3845typedef PACKED_PRE struct PACKED_POST
3846{
3847 uint32 hostIpv4Addr;
3848 uint32 destIpv4Addr;
3849 uint16 hostPort;
3850 uint16 destPort;
3851 uint16 timePeriodSec;// in seconds
3852 uint16 timeOutSec; // in seconds
3853 tSirMacAddr gatewayMacAddr;
3854} tlowPowerHeartBeatParamsUdpStruct;
3855
3856typedef PACKED_PRE struct PACKED_POST
3857{
3858 uint32 offset;
3859 uint32 filterLength;
3860 uint8 filter[MAX_FLITER_SIZE];
3861} tlowPowerHeartBeatFilterStruct;
3862
3863typedef PACKED_PRE struct PACKED_POST
3864{
3865 uint8 heartBeatEnable;
3866 uint8 heartBeatType; //TCP or UDP
3867} tlowPowerHeartBeatEnableStruct;
3868
3869typedef PACKED_PRE struct PACKED_POST
3870{
3871 uint8 dummy;
3872} tlowPowerHeartBeatNetworkInfoStruct;
3873
3874
3875typedef PACKED_PRE struct PACKED_POST
3876{
3877 uint8 sessionIdx;
3878 uint16 lowPowerHeartBeatCmdType;
3879 PACKED_PRE union PACKED_PRO
3880 {
3881 tlowPowerHeartBeatEnableStruct control;
3882 tlowPowerHeartBeatFilterStruct tcpUdpFilter;
3883 tlowPowerHeartBeatParamsTcpStruct tcpParams;
3884 tlowPowerHeartBeatParamsUdpStruct udpParams;
3885 tlowPowerHeartBeatNetworkInfoStruct info;
3886 }options;
3887} tHalLowPowerHeartBeatReq, *tpHalLowPowerHeartBeatReq;
3888
3889
3890typedef PACKED_PRE struct PACKED_POST
3891{
3892 tHalMsgHeader header;
3893 tHalLowPowerHeartBeatReq lowPowerHeartBeatParams;
3894} tHalLowPowerHeartBeatReqMsg, *tpHalLowPowerHeartBeatReqMsg;
3895
3896/*---------------------------------------------------------------------------
3897 * FEATURE_WLAN_LPHB RSP
3898 *--------------------------------------------------------------------------*/
3899
3900typedef PACKED_PRE struct PACKED_POST
3901{
3902 /* success or failure */
3903 uint8 sessionIdx;
3904 uint32 status;
3905 uint16 lowPowerHeartBeatCmdType;
3906}tHalLowPowerHeartBeatRspParams, *tpHalLowPowerHeartBeatRspParams;
3907
3908typedef PACKED_PRE struct PACKED_POST
3909{
3910 tHalMsgHeader header;
3911 tHalLowPowerHeartBeatRspParams lowPowerHeartBeatRspParams;
3912}tHalLowPowerHeartBeatRspMsg, *tpHalLowPowerHeartBeatRspMsg;
3913
3914
3915/*---------------------------------------------------------------------------
3916 * FEATURE_WLAN_LPHB IND
3917 *--------------------------------------------------------------------------*/
3918#define WIFI_HB_EVENT_TCP_RX_TIMEOUT 0x0001
3919#define WIFI_HB_EVENT_UDP_RX_TIMEOUT 0x0002
3920
3921typedef PACKED_PRE struct PACKED_POST
3922{
3923 uint8 bssIdx;
3924 uint8 sessionIdx;
3925 uint8 protocolType; /*TCP or UDP*/
3926 uint8 eventReason;
3927
3928}tHalLowPowerHeartBeatIndParam,*tpHalLowPowerHeartBeatIndParam;
3929
3930typedef PACKED_PRE struct PACKED_POST
3931{
3932 tHalMsgHeader header;
3933 tHalLowPowerHeartBeatIndParam lowPowerHeartBeatIndParams;
3934}tHalLowPowerHeartBeatIndMsg, *tpHalLowPowerHeartBeatIndMsg;
3935
3936#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003937/*---------------------------------------------------------------------------
3938 * WLAN_HAL_KEEP_ALIVE_REQ
3939 *--------------------------------------------------------------------------*/
3940/* Packet Types. */
3941#define HAL_KEEP_ALIVE_NULL_PKT 1
3942#define HAL_KEEP_ALIVE_UNSOLICIT_ARP_RSP 2
3943
3944/* Enable or disable keep alive */
3945#define HAL_KEEP_ALIVE_DISABLE 0
3946#define HAL_KEEP_ALIVE_ENABLE 1
3947
3948/* Keep Alive request. */
3949typedef PACKED_PRE struct PACKED_POST
3950{
3951 tANI_U8 packetType;
3952 tANI_U32 timePeriod;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003953 tHalIpv4Addr hostIpv4Addr;
Jeff Johnson295189b2012-06-20 16:38:30 -07003954 tHalIpv4Addr destIpv4Addr;
3955 tSirMacAddr destMacAddr;
Jeff Johnsone7245742012-09-05 17:12:55 -07003956 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003957} tHalKeepAliveReq, *tpHalKeepAliveReq;
3958
3959typedef PACKED_PRE struct PACKED_POST
3960{
3961 tHalMsgHeader header;
3962 tHalKeepAliveReq KeepAliveParams;
3963} tHalKeepAliveReqMsg, *tpHalKeepAliveReqMsg;
3964
3965/*---------------------------------------------------------------------------
3966 * WLAN_HAL_SET_RSSI_THRESH_REQ
3967 *--------------------------------------------------------------------------*/
3968typedef PACKED_PRE struct PACKED_POST
3969{
3970 tANI_S8 ucRssiThreshold1 : 8;
3971 tANI_S8 ucRssiThreshold2 : 8;
3972 tANI_S8 ucRssiThreshold3 : 8;
3973 tANI_U8 bRssiThres1PosNotify : 1;
3974 tANI_U8 bRssiThres1NegNotify : 1;
3975 tANI_U8 bRssiThres2PosNotify : 1;
3976 tANI_U8 bRssiThres2NegNotify : 1;
3977 tANI_U8 bRssiThres3PosNotify : 1;
3978 tANI_U8 bRssiThres3NegNotify : 1;
3979 tANI_U8 bReserved10 : 2;
3980} tHalRSSIThresholds, *tpHalRSSIThresholds;
Jeff Johnson32d95a32012-09-10 13:15:23 -07003981
Jeff Johnson295189b2012-06-20 16:38:30 -07003982typedef PACKED_PRE struct PACKED_POST
3983{
3984 tHalMsgHeader header;
3985 tHalRSSIThresholds rssiThreshParams;
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -08003986} tHalRSSIThresholdReqMsg, *tpHalRSSIThresholdReqMsg;
Jeff Johnson295189b2012-06-20 16:38:30 -07003987
3988/*---------------------------------------------------------------------------
3989 * WLAN_HAL_ENTER_UAPSD_REQ
3990 *--------------------------------------------------------------------------*/
3991typedef PACKED_PRE struct PACKED_POST
3992{
3993 tANI_U8 bkDeliveryEnabled:1;
3994 tANI_U8 beDeliveryEnabled:1;
3995 tANI_U8 viDeliveryEnabled:1;
3996 tANI_U8 voDeliveryEnabled:1;
3997 tANI_U8 bkTriggerEnabled:1;
3998 tANI_U8 beTriggerEnabled:1;
3999 tANI_U8 viTriggerEnabled:1;
4000 tANI_U8 voTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07004001 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004002} tUapsdReqParams, *tpUapsdReqParams;
4003
4004typedef PACKED_PRE struct PACKED_POST
4005{
4006 tHalMsgHeader header;
4007 tUapsdReqParams enterUapsdParams;
4008} tHalEnterUapsdReqMsg, *tpHalEnterUapsdReqMsg;
4009
4010/*---------------------------------------------------------------------------
4011 * WLAN_HAL_EXIT_UAPSD_REQ
4012 *--------------------------------------------------------------------------*/
4013typedef PACKED_PRE struct PACKED_POST
4014{
4015 tHalMsgHeader header;
Jeff Johnsone7245742012-09-05 17:12:55 -07004016 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004017} tHalExitUapsdReqMsg, *tpHalExitUapsdReqMsg;
4018
4019/*---------------------------------------------------------------------------
Yue Maab3ccfc2013-08-14 17:19:08 -07004020 * WLAN_HAL_ADD_PERIODIC_TX_PTRN_IND
4021 *--------------------------------------------------------------------------*/
4022typedef PACKED_PRE struct PACKED_POST
4023{
4024 tANI_U32 selfStaIdx:8;
4025 tANI_U32 ucPtrnId:8; // Pattern ID
4026 tANI_U32 usPtrnSize:16; // Non-Zero Pattern size
4027 tANI_U32 uPtrnIntervalMs; // In msec
4028 tANI_U8 ucPattern[HAL_PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
4029} tHalAddPeriodicTxPtrn, *tpHalAddPeriodicTxPtrn;
4030
4031typedef PACKED_PRE struct PACKED_POST
4032{
4033 tHalMsgHeader header;
4034 tHalAddPeriodicTxPtrn ptrnParams;
4035} tHalAddPeriodicTxPtrnIndMsg, *tpHalAddPeriodicTxPtrnIndMsg;
4036
4037/*---------------------------------------------------------------------------
4038 * WLAN_HAL_DEL_PERIODIC_TX_PTRN_IND
4039 *--------------------------------------------------------------------------*/
4040typedef PACKED_PRE struct PACKED_POST
4041{
4042 tANI_U32 selfStaIdx:8;
4043 tANI_U32 rsvd:24;
4044 /* Bitmap of pattern IDs that needs to be deleted */
4045 tANI_U32 uPatternIdBitmap;
4046} tHalDelPeriodicTxPtrn, *tpHalDelPeriodicTxPtrn;
4047
4048typedef PACKED_PRE struct PACKED_POST
4049{
4050 tHalMsgHeader header;
4051 tHalDelPeriodicTxPtrn ptrnParams;
4052} tHalDelPeriodicTxPtrnIndMsg, *tpHalDelPeriodicTxPtrnIndMsg;
4053
4054/*---------------------------------------------------------------------------
4055 * WLAN_HAL_PERIODIC_TX_PTRN_FW_IND
4056 *--------------------------------------------------------------------------*/
4057typedef PACKED_PRE struct PACKED_POST
4058{
4059 /* Type of Failure indication */
4060 tANI_U32 bssIdx:8;
4061 tANI_U32 selfStaIdx:8;
4062 tANI_U32 rsvd:16;
4063 tANI_U32 status;
4064 tANI_U32 patternIdBitmap;
4065} tHalPeriodicTxPtrnFwInd, *tpHalPeriodicTxPtrnFwInd;
4066
4067typedef PACKED_PRE struct PACKED_POST
4068{
4069 tHalMsgHeader header;
4070 tHalPeriodicTxPtrnFwInd fwIndParams;
4071} tHalPeriodicTxPtrnFwIndMsg, *tpHalPeriodicTxPtrnFwIndMsg;
4072
4073/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004074 * WLAN_HAL_ADD_WOWL_BCAST_PTRN
4075 *--------------------------------------------------------------------------*/
4076#define HAL_WOWL_BCAST_PATTERN_MAX_SIZE 128
4077#define HAL_WOWL_BCAST_MAX_NUM_PATTERNS 16
4078
4079typedef PACKED_PRE struct PACKED_POST
4080{
4081 tANI_U8 ucPatternId; // Pattern ID
4082 // Pattern byte offset from beginning of the 802.11 packet to start of the
4083 // wake-up pattern
Jeff Johnson32d95a32012-09-10 13:15:23 -07004084 tANI_U8 ucPatternByteOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07004085 tANI_U8 ucPatternSize; // Non-Zero Pattern size
4086 tANI_U8 ucPattern[HAL_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4087 tANI_U8 ucPatternMaskSize; // Non-zero pattern mask size
4088 tANI_U8 ucPatternMask[HAL_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4089 tANI_U8 ucPatternExt[HAL_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4090 tANI_U8 ucPatternMaskExt[HAL_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Jeff Johnsone7245742012-09-05 17:12:55 -07004091 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004092} tHalWowlAddBcastPtrn, *tpHalWowlAddBcastPtrn;
4093
4094typedef PACKED_PRE struct PACKED_POST
4095{
4096 tHalMsgHeader header;
4097 tHalWowlAddBcastPtrn ptrnParams;
4098} tHalWowlAddBcastPtrnReqMsg, *tpHalWowlAddBcastPtrnReqMsg;
Jeff Johnson32d95a32012-09-10 13:15:23 -07004099
Jeff Johnsone7245742012-09-05 17:12:55 -07004100
4101
Jeff Johnson295189b2012-06-20 16:38:30 -07004102/*---------------------------------------------------------------------------
4103 * WLAN_HAL_DEL_WOWL_BCAST_PTRN
4104 *--------------------------------------------------------------------------*/
4105typedef PACKED_PRE struct PACKED_POST
4106{
4107 /* Pattern ID of the wakeup pattern to be deleted */
4108 tANI_U8 ucPatternId;
Jeff Johnsone7245742012-09-05 17:12:55 -07004109 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004110} tHalWowlDelBcastPtrn, *tpHalWowlDelBcastPtrn;
4111
4112typedef PACKED_PRE struct PACKED_POST
4113{
4114 tHalMsgHeader header;
4115 tHalWowlDelBcastPtrn ptrnParams;
4116} tHalWowlDelBcastPtrnReqMsg, *tpHalWowlDelBcastPtrnReqMsg;
4117
4118/*---------------------------------------------------------------------------
4119 * WLAN_HAL_ENTER_WOWL_REQ
4120 *--------------------------------------------------------------------------*/
4121typedef PACKED_PRE struct PACKED_POST
4122{
4123 /* Enables/disables magic packet filtering */
Jeff Johnson32d95a32012-09-10 13:15:23 -07004124 tANI_U8 ucMagicPktEnable;
Jeff Johnson295189b2012-06-20 16:38:30 -07004125
4126 /* Magic pattern */
4127 tSirMacAddr magicPtrn;
4128
Jeff Johnson32d95a32012-09-10 13:15:23 -07004129 /* Enables/disables packet pattern filtering in firmware.
4130 Enabling this flag enables broadcast pattern matching
4131 in Firmware. If unicast pattern matching is also desired,
4132 ucUcastPatternFilteringEnable flag must be set tot true
4133 as well
Jeff Johnson295189b2012-06-20 16:38:30 -07004134 */
4135 tANI_U8 ucPatternFilteringEnable;
4136
Jeff Johnson32d95a32012-09-10 13:15:23 -07004137 /* Enables/disables unicast packet pattern filtering.
4138 This flag specifies whether we want to do pattern match
4139 on unicast packets as well and not just broadcast packets.
4140 This flag has no effect if the ucPatternFilteringEnable
Jeff Johnson295189b2012-06-20 16:38:30 -07004141 (main controlling flag) is set to false
4142 */
Jeff Johnson32d95a32012-09-10 13:15:23 -07004143 tANI_U8 ucUcastPatternFilteringEnable;
Jeff Johnson295189b2012-06-20 16:38:30 -07004144
Jeff Johnson32d95a32012-09-10 13:15:23 -07004145 /* This configuration is valid only when magicPktEnable=1.
4146 * It requests hardware to wake up when it receives the
Jeff Johnson295189b2012-06-20 16:38:30 -07004147 * Channel Switch Action Frame.
4148 */
4149 tANI_U8 ucWowChnlSwitchRcv;
4150
Jeff Johnson32d95a32012-09-10 13:15:23 -07004151 /* This configuration is valid only when magicPktEnable=1.
4152 * It requests hardware to wake up when it receives the
4153 * Deauthentication Frame.
Jeff Johnson295189b2012-06-20 16:38:30 -07004154 */
4155 tANI_U8 ucWowDeauthRcv;
4156
Jeff Johnson32d95a32012-09-10 13:15:23 -07004157 /* This configuration is valid only when magicPktEnable=1.
4158 * It requests hardware to wake up when it receives the
4159 * Disassociation Frame.
Jeff Johnson295189b2012-06-20 16:38:30 -07004160 */
4161 tANI_U8 ucWowDisassocRcv;
4162
Jeff Johnson32d95a32012-09-10 13:15:23 -07004163 /* This configuration is valid only when magicPktEnable=1.
Jeff Johnson295189b2012-06-20 16:38:30 -07004164 * It requests hardware to wake up when it has missed
4165 * consecutive beacons. This is a hardware register
Jeff Johnson32d95a32012-09-10 13:15:23 -07004166 * configuration (NOT a firmware configuration).
Jeff Johnson295189b2012-06-20 16:38:30 -07004167 */
4168 tANI_U8 ucWowMaxMissedBeacons;
4169
Jeff Johnson32d95a32012-09-10 13:15:23 -07004170 /* This configuration is valid only when magicPktEnable=1.
Jeff Johnson295189b2012-06-20 16:38:30 -07004171 * This is a timeout value in units of microsec. It requests
4172 * hardware to unconditionally wake up after it has stayed
Jeff Johnson32d95a32012-09-10 13:15:23 -07004173 * in WoWLAN mode for some time. Set 0 to disable this feature.
Jeff Johnson295189b2012-06-20 16:38:30 -07004174 */
4175 tANI_U8 ucWowMaxSleepUsec;
Jeff Johnson32d95a32012-09-10 13:15:23 -07004176
Jeff Johnson295189b2012-06-20 16:38:30 -07004177 /* This configuration directs the WoW packet filtering to look for EAP-ID
4178 * requests embedded in EAPOL frames and use this as a wake source.
4179 */
4180 tANI_U8 ucWoWEAPIDRequestEnable;
4181
4182 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4183 * requests and use this as a wake source.
4184 */
4185 tANI_U8 ucWoWEAPOL4WayEnable;
4186
4187 /* This configuration allows a host wakeup on an network scan offload match.
4188 */
4189 tANI_U8 ucWowNetScanOffloadMatch;
4190
4191 /* This configuration allows a host wakeup on any GTK rekeying error.
4192 */
4193 tANI_U8 ucWowGTKRekeyError;
4194
4195 /* This configuration allows a host wakeup on BSS connection loss.
4196 */
4197 tANI_U8 ucWoWBSSConnLoss;
4198
Jeff Johnsone7245742012-09-05 17:12:55 -07004199 tANI_U8 bssIdx;
4200
Jeff Johnson295189b2012-06-20 16:38:30 -07004201} tHalWowlEnterParams, *tpHalWowlEnterParams;
4202
4203typedef PACKED_PRE struct PACKED_POST
4204{
4205 tHalMsgHeader header;
4206 tHalWowlEnterParams enterWowlParams;
4207} tHalWowlEnterReqMsg, *tpHalWowlEnterReqMsg;
4208
4209/*---------------------------------------------------------------------------
4210 * WLAN_HAL_EXIT_WOWL_REQ
4211 *--------------------------------------------------------------------------*/
Jeff Johnsone7245742012-09-05 17:12:55 -07004212
Jeff Johnson295189b2012-06-20 16:38:30 -07004213typedef PACKED_PRE struct PACKED_POST
4214{
Jeff Johnsone7245742012-09-05 17:12:55 -07004215 tANI_U8 bssIdx;
4216
4217} tHalWowlExitParams, *tpHalWowlExitParams;
4218
4219typedef PACKED_PRE struct PACKED_POST
4220{
4221 tHalMsgHeader header;
4222 tHalWowlExitParams exitWowlParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004223} tHalWowlExitReqMsg, *tpHalWowlExitReqMsg;
4224
4225/*---------------------------------------------------------------------------
4226 * WLAN_HAL_GET_RSSI_REQ
4227 *--------------------------------------------------------------------------*/
4228typedef PACKED_PRE struct PACKED_POST
4229{
4230 tHalMsgHeader header;
4231} tHalGetRssiReqMsg, *tpHalGetRssiReqMsg;
4232
Anand Kumar012623a2013-01-11 17:00:00 -08004233typedef PACKED_PRE struct PACKED_POST
4234{
4235 /* Valid STA Idx for per STA stats request */
4236 tANI_U32 staId;
4237
4238}tHalRoamRssiReqParams, *tpHalRoamRssiReqParams;
4239
4240
4241/*---------------------------------------------------------------------------
4242 * WLAN_HAL_GET_ROAM_RSSI_REQ
4243 *--------------------------------------------------------------------------*/
4244typedef PACKED_PRE struct PACKED_POST
4245{
4246 tHalMsgHeader header;
4247 tHalRoamRssiReqParams roamRssiReqParams;
4248} tHalGetRoamRssiReqMsg, *tpHalGetRoamRssiReqMsg;
4249
4250
Jeff Johnson295189b2012-06-20 16:38:30 -07004251/*---------------------------------------------------------------------------
4252 * WLAN_HAL_SET_UAPSD_AC_PARAMS_REQ
4253 *--------------------------------------------------------------------------*/
4254typedef PACKED_PRE struct PACKED_POST {
4255 tANI_U8 staidx; // STA index
4256 tANI_U8 ac; // Access Category
4257 tANI_U8 up; // User Priority
4258 tANI_U32 srvInterval; // Service Interval
4259 tANI_U32 susInterval; // Suspend Interval
4260 tANI_U32 delayInterval; // Delay Interval
4261} tUapsdInfo, tpUapsdInfo;
4262
4263typedef PACKED_PRE struct PACKED_POST
4264{
4265 tHalMsgHeader header;
4266 tUapsdInfo enableUapsdAcParams;
4267} tHalSetUapsdAcParamsReqMsg, *tpHalSetUapsdAcParamsReqMsg;
4268
4269/*---------------------------------------------------------------------------
4270 * WLAN_HAL_CONFIGURE_RXP_FILTER_REQ
4271 *--------------------------------------------------------------------------*/
4272typedef PACKED_PRE struct PACKED_POST {
4273 tANI_U8 setMcstBcstFilterSetting;
4274 tANI_U8 setMcstBcstFilter;
4275} tHalConfigureRxpFilterReqParams, tpHalConfigureRxpFilterReqParams;
4276
4277typedef PACKED_PRE struct PACKED_POST
4278{
4279 tHalMsgHeader header;
4280 tHalConfigureRxpFilterReqParams configureRxpFilterReqParams;
4281} tHalConfigureRxpFilterReqMsg, *tpHalConfigureRxpFilterReqMsg;
4282
4283/*---------------------------------------------------------------------------
4284 * WLAN_HAL_ENTER_IMPS_RSP
4285 *--------------------------------------------------------------------------*/
4286typedef PACKED_PRE struct PACKED_POST
4287{
4288 /* success or failure */
4289 tANI_U32 status;
4290} tHalEnterImpsRspParams, *tpHalEnterImpsRspParams;
4291
4292typedef PACKED_PRE struct PACKED_POST
4293{
4294 tHalMsgHeader header;
4295 tHalEnterImpsRspParams enterImpsRspParams;
4296} tHalEnterImpsRspMsg, *tpHalEnterImpsRspMsg;
4297
4298/*---------------------------------------------------------------------------
4299 * WLAN_HAL_EXIT_IMPS_RSP
4300 *--------------------------------------------------------------------------*/
4301typedef PACKED_PRE struct PACKED_POST
4302{
4303 /* success or failure */
4304 tANI_U32 status;
4305} tHalExitImpsRspParams, *tpHalExitImpsRspParams;
4306
4307typedef PACKED_PRE struct PACKED_POST
4308{
4309 tHalMsgHeader header;
4310 tHalExitImpsRspParams exitImpsRspParams;
4311} tHalExitImpsRspMsg, *tpHalExitImpsRspMsg;
4312
4313/*---------------------------------------------------------------------------
4314 * WLAN_HAL_ENTER_BMPS_RSP
4315 *--------------------------------------------------------------------------*/
4316typedef PACKED_PRE struct PACKED_POST
4317{
4318 /* success or failure */
4319 tANI_U32 status;
Jeff Johnsone7245742012-09-05 17:12:55 -07004320 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004321} tHalEnterBmpsRspParams, *tpHalEnterBmpsRspParams;
4322
4323typedef PACKED_PRE struct PACKED_POST
4324{
4325 tHalMsgHeader header;
4326 tHalEnterBmpsRspParams enterBmpsRspParams;
4327} tHalEnterBmpsRspMsg, *tpHalEnterBmpsRspMsg;
4328
4329/*---------------------------------------------------------------------------
4330 * WLAN_HAL_EXIT_BMPS_RSP
4331 *--------------------------------------------------------------------------*/
4332typedef PACKED_PRE struct PACKED_POST
4333{
4334 /* success or failure */
4335 tANI_U32 status;
Jeff Johnsone7245742012-09-05 17:12:55 -07004336 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004337} tHalExitBmpsRspParams, *tpHalExitBmpsRspParams;
4338
4339typedef PACKED_PRE struct PACKED_POST
4340{
4341 tHalMsgHeader header;
4342 tHalExitBmpsRspParams exitBmpsRspParams;
4343} tHalExitBmpsRspMsg, *tpHalExitBmpsRspMsg;
4344
4345/*---------------------------------------------------------------------------
4346 * WLAN_HAL_ENTER_UAPSD_RSP
4347 *--------------------------------------------------------------------------*/
4348typedef PACKED_PRE struct PACKED_POST
4349{
4350 /* success or failure */
4351 tANI_U32 status;
Jeff Johnsone7245742012-09-05 17:12:55 -07004352 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004353}tUapsdRspParams, *tpUapsdRspParams;
4354
4355typedef PACKED_PRE struct PACKED_POST
4356{
4357 tHalMsgHeader header;
4358 tUapsdRspParams enterUapsdRspParams;
4359} tHalEnterUapsdRspMsg, *tpHalEnterUapsdRspMsg;
4360
4361/*---------------------------------------------------------------------------
4362 * WLAN_HAL_EXIT_UAPSD_RSP
4363 *--------------------------------------------------------------------------*/
4364typedef PACKED_PRE struct PACKED_POST
4365{
4366 /* success or failure */
4367 tANI_U32 status;
Jeff Johnsone7245742012-09-05 17:12:55 -07004368 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004369} tHalExitUapsdRspParams, *tpHalExitUapsdRspParams;
4370
4371typedef PACKED_PRE struct PACKED_POST
4372{
4373 tHalMsgHeader header;
4374 tHalExitUapsdRspParams exitUapsdRspParams;
4375} tHalExitUapsdRspMsg, *tpHalExitUapsdRspMsg;
4376
4377/*---------------------------------------------------------------------------
4378 * WLAN_HAL_RSSI_NOTIFICATION_IND
4379 *--------------------------------------------------------------------------*/
4380typedef PACKED_PRE struct PACKED_POST
4381{
4382 tANI_U32 bRssiThres1PosCross : 1;
4383 tANI_U32 bRssiThres1NegCross : 1;
4384 tANI_U32 bRssiThres2PosCross : 1;
4385 tANI_U32 bRssiThres2NegCross : 1;
4386 tANI_U32 bRssiThres3PosCross : 1;
4387 tANI_U32 bRssiThres3NegCross : 1;
Srinivasd359cf92012-12-12 15:12:42 -08004388 tANI_U32 avgRssi : 8;
Srinivas Girigowda91f24ae2013-07-17 12:54:05 -07004389 tANI_U32 uBssIdx : 8;
4390 tANI_U32 bReserved : 10;
Jeff Johnson295189b2012-06-20 16:38:30 -07004391} tHalRSSINotification, *tpHalRSSINotification;
4392
4393typedef PACKED_PRE struct PACKED_POST
4394{
4395 tHalMsgHeader header;
4396 tHalRSSINotification rssiNotificationParams;
4397} tHalRSSINotificationIndMsg, *tpHalRSSINotificationIndMsg;
4398
4399/*---------------------------------------------------------------------------
4400 * WLAN_HAL_GET_RSSI_RSP
4401 *--------------------------------------------------------------------------*/
4402typedef PACKED_PRE struct PACKED_POST
4403{
4404 /* success or failure */
4405 tANI_U32 status;
4406 tANI_S8 rssi;
4407} tHalGetRssiParams, *tpHalGetRspParams;
4408
4409typedef PACKED_PRE struct PACKED_POST
4410{
4411 tHalMsgHeader header;
4412 tHalGetRssiParams rssiRspParams;
4413} tHalGetRssiRspMsg, *tpHalGetRssiRspMsg;
4414
4415/*---------------------------------------------------------------------------
Anand Kumar012623a2013-01-11 17:00:00 -08004416 * WLAN_HAL_GET_ROAM_RSSI_RSP
4417 *--------------------------------------------------------------------------*/
4418typedef PACKED_PRE struct PACKED_POST
4419{
4420 /* success or failure */
4421 tANI_U32 status;
4422
4423 tANI_U8 staId;
4424 tANI_S8 rssi;
4425} tHalGetRoamRssiParams, *tpHalGetRoamRspParams;
4426
4427typedef PACKED_PRE struct PACKED_POST
4428{
4429 tHalMsgHeader header;
4430 tHalGetRoamRssiParams roamRssiRspParams;
4431} tHalGetRoamRssiRspMsg, *tpHalGetRoamRssiRspMsg;
4432
4433/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004434 * WLAN_HAL_ENTER_WOWL_RSP
4435 *--------------------------------------------------------------------------*/
4436typedef PACKED_PRE struct PACKED_POST
4437{
4438 /* success or failure */
Jeff Johnsone7245742012-09-05 17:12:55 -07004439 tANI_U32 status;
4440 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004441} tHalEnterWowlRspParams, *tpHalEnterWowlRspParams;
4442
4443typedef PACKED_PRE struct PACKED_POST
4444{
4445 tHalMsgHeader header;
4446 tHalEnterWowlRspParams enterWowlRspParams;
4447} tHalWowlEnterRspMsg, *tpHalWowlEnterRspMsg;
4448
4449/*---------------------------------------------------------------------------
4450 * WLAN_HAL_EXIT_WOWL_RSP
4451 *--------------------------------------------------------------------------*/
4452typedef PACKED_PRE struct PACKED_POST
4453{
4454 /* success or failure */
Jeff Johnsone7245742012-09-05 17:12:55 -07004455 tANI_U32 status;
4456 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004457} tHalExitWowlRspParams, *tpHalExitWowlRspParams;
4458
4459typedef PACKED_PRE struct PACKED_POST
4460{
4461 tHalMsgHeader header;
4462 tHalExitWowlRspParams exitWowlRspParams;
4463} tHalWowlExitRspMsg, *tpHalWowlExitRspMsg;
4464
4465/*---------------------------------------------------------------------------
4466 * WLAN_HAL_ADD_BCN_FILTER_RSP
4467 *--------------------------------------------------------------------------*/
4468typedef PACKED_PRE struct PACKED_POST
4469{
4470 /* success or failure */
4471 tANI_U32 status;
4472} tHalAddBcnFilterRspParams, *tpHalAddBcnFilterRspParams;
4473
4474typedef PACKED_PRE struct PACKED_POST
4475{
4476 tHalMsgHeader header;
4477 tHalAddBcnFilterRspParams addBcnFilterRspParams;
4478} tHalAddBcnFilterRspMsg, *tpHalAddBcnFilterRspMsg;
4479
4480/*---------------------------------------------------------------------------
4481 * WLAN_HAL_REM_BCN_FILTER_RSP
4482 *--------------------------------------------------------------------------*/
4483typedef PACKED_PRE struct PACKED_POST
4484{
4485 /* success or failure */
4486 tANI_U32 status;
4487} tHalRemBcnFilterRspParams, *tpHalRemBcnFilterRspParams;
4488
4489typedef PACKED_PRE struct PACKED_POST
4490{
4491 tHalMsgHeader header;
4492 tHalRemBcnFilterRspParams remBcnFilterRspParams;
4493} tHalRemBcnFilterRspMsg, *tpHalRemBcnFilterRspMsg;
4494
4495/*---------------------------------------------------------------------------
4496 * WLAN_HAL_ADD_WOWL_BCAST_PTRN_RSP
4497 *--------------------------------------------------------------------------*/
4498typedef PACKED_PRE struct PACKED_POST
4499{
4500 /* success or failure */
Jeff Johnsone7245742012-09-05 17:12:55 -07004501 tANI_U32 status;
4502 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004503} tHalAddWowlBcastPtrnRspParams, *tpHalAddWowlBcastPtrnRspParams;
4504
4505typedef PACKED_PRE struct PACKED_POST
4506{
4507 tHalMsgHeader header;
4508 tHalAddWowlBcastPtrnRspParams addWowlBcastPtrnRspParams;
4509} tHalAddWowlBcastPtrnRspMsg, *tpHalAddWowlBcastPtrnRspMsg;
4510
4511/*---------------------------------------------------------------------------
4512 * WLAN_HAL_DEL_WOWL_BCAST_PTRN_RSP
4513 *--------------------------------------------------------------------------*/
4514typedef PACKED_PRE struct PACKED_POST
4515{
4516 /* success or failure */
Jeff Johnsone7245742012-09-05 17:12:55 -07004517 tANI_U32 status;
4518 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004519} tHalDelWowlBcastPtrnRspParams, *tpHalDelWowlBcastPtrnRspParams;
4520
4521typedef PACKED_PRE struct PACKED_POST
4522{
4523 tHalMsgHeader header;
4524 tHalDelWowlBcastPtrnRspParams delWowlBcastRspParams;
4525} tHalDelWowlBcastPtrnRspMsg, *tpHalDelWowlBcastPtrnRspMsg;
4526
4527/*---------------------------------------------------------------------------
4528 * WLAN_HAL_HOST_OFFLOAD_RSP
4529 *--------------------------------------------------------------------------*/
4530typedef PACKED_PRE struct PACKED_POST
4531{
4532 /* success or failure */
4533 tANI_U32 status;
4534} tHalHostOffloadRspParams, *tpHalHostOffloadRspParams;
4535
4536typedef PACKED_PRE struct PACKED_POST
4537{
4538 tHalMsgHeader header;
4539 tHalHostOffloadRspParams hostOffloadRspParams;
4540} tHalHostOffloadRspMsg, *tpHalHostOffloadRspMsg;
4541
4542/*---------------------------------------------------------------------------
4543 * WLAN_HAL_KEEP_ALIVE_RSP
4544 *--------------------------------------------------------------------------*/
4545typedef PACKED_PRE struct PACKED_POST
4546{
4547 /* success or failure */
4548 tANI_U32 status;
4549} tHalKeepAliveRspParams, *tpHalKeepAliveRspParams;
4550
4551typedef PACKED_PRE struct PACKED_POST
4552{
4553 tHalMsgHeader header;
4554 tHalKeepAliveRspParams keepAliveRspParams;
4555} tHalKeepAliveRspMsg, *tpHalKeepAliveRspMsg;
4556
4557/*---------------------------------------------------------------------------
4558 * WLAN_HAL_SET_RSSI_THRESH_RSP
4559 *--------------------------------------------------------------------------*/
4560typedef PACKED_PRE struct PACKED_POST
4561{
4562 /* success or failure */
4563 tANI_U32 status;
4564} tHalSetRssiThreshRspParams, *tpHalSetRssiThreshRspParams;
4565
4566typedef PACKED_PRE struct PACKED_POST
4567{
4568 tHalMsgHeader header;
4569 tHalSetRssiThreshRspParams setRssiThreshRspParams;
4570} tHalSetRssiThreshRspMsg, *tpHalSetRssiThreshRspMsg;
4571
4572/*---------------------------------------------------------------------------
4573 * WLAN_HAL_SET_UAPSD_AC_PARAMS_RSP
4574 *--------------------------------------------------------------------------*/
4575typedef PACKED_PRE struct PACKED_POST
4576{
4577 /* success or failure */
4578 tANI_U32 status;
4579} tHalSetUapsdAcParamsRspParams, *tpHalSetUapsdAcParamsRspParams;
4580
4581typedef PACKED_PRE struct PACKED_POST
4582{
4583 tHalMsgHeader header;
4584 tHalSetUapsdAcParamsRspParams setUapsdAcParamsRspParams;
4585} tHalSetUapsdAcParamsRspMsg, *tpHalSetUapsdAcParamsRspMsg;
4586
4587/*---------------------------------------------------------------------------
4588 * WLAN_HAL_CONFIGURE_RXP_FILTER_RSP
4589 *--------------------------------------------------------------------------*/
4590typedef PACKED_PRE struct PACKED_POST
4591{
4592 /* success or failure */
4593 tANI_U32 status;
4594} tHalConfigureRxpFilterRspParams, *tpHalConfigureRxpFilterRspParams;
4595
4596typedef PACKED_PRE struct PACKED_POST
4597{
4598 tHalMsgHeader header;
4599 tHalConfigureRxpFilterRspParams configureRxpFilterRspParams;
4600} tHalConfigureRxpFilterRspMsg, *tpHalConfigureRxpFilterRspMsg;
4601
4602/*---------------------------------------------------------------------------
4603 *WLAN_HAL_SET_MAX_TX_POWER_REQ
4604 *--------------------------------------------------------------------------*/
4605
4606typedef PACKED_PRE struct PACKED_POST
4607{
4608 tSirMacAddr bssId; // BSSID is needed to identify which session issued this request. As
4609 //the request has power constraints, this should be applied only to that session
4610 tSirMacAddr selfStaMacAddr;
4611 //In request,
4612 //power == MaxTx power to be used.
4613 tPowerdBm power;
4614
4615}tSetMaxTxPwrParams, *tpSetMaxTxPwrParams;
4616
4617
4618typedef PACKED_PRE struct PACKED_POST
4619{
4620 tHalMsgHeader header;
4621 tSetMaxTxPwrParams setMaxTxPwrParams;
4622}tSetMaxTxPwrReq, *tpSetMaxTxPwrReq;
4623
4624/*---------------------------------------------------------------------------
4625*WLAN_HAL_SET_MAX_TX_POWER_RSP
4626*--------------------------------------------------------------------------*/
4627
4628typedef PACKED_PRE struct PACKED_POST
4629{
4630 //power == tx power used for management frames.
4631 tPowerdBm power;
4632
4633 /* success or failure */
4634 tANI_U32 status;
4635}tSetMaxTxPwrRspParams, *tpSetMaxTxPwrRspParams;
4636
4637typedef PACKED_PRE struct PACKED_POST
4638{
4639 tHalMsgHeader header;
4640 tSetMaxTxPwrRspParams setMaxTxPwrRspParams;
4641}tSetMaxTxPwrRspMsg, *tpSetMaxTxPwrRspMsg;
4642
4643/*---------------------------------------------------------------------------
4644 *WLAN_HAL_SET_TX_POWER_REQ
4645 *--------------------------------------------------------------------------*/
4646
4647typedef PACKED_PRE struct PACKED_POST
4648{
4649 /* TX Power in milli watts */
4650 tANI_U32 txPower;
Jeff Johnsone7245742012-09-05 17:12:55 -07004651 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004652}tSetTxPwrReqParams, *tpSetTxPwrReqParams;
4653
4654
4655typedef PACKED_PRE struct PACKED_POST
4656{
4657 tHalMsgHeader header;
4658 tSetTxPwrReqParams setTxPwrReqParams;
4659}tSetTxPwrReqMsg, *tpSetTxPwrReqMsg;
4660
4661/*---------------------------------------------------------------------------
4662*WLAN_HAL_SET_TX_POWER_RSP
4663*--------------------------------------------------------------------------*/
4664
4665typedef PACKED_PRE struct PACKED_POST
4666{
4667 /* success or failure */
4668 tANI_U32 status;
4669}tSetTxPwrRspParams, *tpSetTxPwrRspParams;
4670
4671typedef PACKED_PRE struct PACKED_POST
4672{
4673 tHalMsgHeader header;
4674 tSetTxPwrRspParams setTxPwrRspParams;
4675}tSetTxPwrRspMsg, *tpSetTxPwrRspMsg;
4676
4677/*---------------------------------------------------------------------------
4678 *WLAN_HAL_GET_TX_POWER_REQ
4679 *--------------------------------------------------------------------------*/
4680
4681typedef PACKED_PRE struct PACKED_POST
4682{
4683 tANI_U8 staId;
4684}tGetTxPwrReqParams, *tpGetTxPwrReqParams;
4685
4686typedef PACKED_PRE struct PACKED_POST
4687{
4688 tHalMsgHeader header;
4689 tGetTxPwrReqParams getTxPwrReqParams;
4690}tGetTxPwrReqMsg, *tpGetTxPwrReqMsg;
4691
4692/*---------------------------------------------------------------------------
4693*WLAN_HAL_GET_TX_POWER_RSP
4694*--------------------------------------------------------------------------*/
4695
4696typedef PACKED_PRE struct PACKED_POST
4697{
4698 /* success or failure */
4699 tANI_U32 status;
4700
4701 /* TX Power in milli watts */
4702 tANI_U32 txPower;
4703}tGetTxPwrRspParams, *tpGetTxPwrRspParams;
4704
4705typedef PACKED_PRE struct PACKED_POST
4706{
4707 tHalMsgHeader header;
4708 tGetTxPwrRspParams getTxPwrRspParams;
4709}tGetTxPwrRspMsg, *tpGetTxPwrRspMsg;
4710
4711#ifdef WLAN_FEATURE_P2P
4712/*---------------------------------------------------------------------------
4713 *WLAN_HAL_SET_P2P_GONOA_REQ
4714 *--------------------------------------------------------------------------*/
4715
4716typedef PACKED_PRE struct PACKED_POST
4717{
4718 tANI_U8 opp_ps;
4719 tANI_U32 ctWindow;
Jeff Johnson32d95a32012-09-10 13:15:23 -07004720 tANI_U8 count;
Jeff Johnson295189b2012-06-20 16:38:30 -07004721 tANI_U32 duration;
4722 tANI_U32 interval;
4723 tANI_U32 single_noa_duration;
4724 tANI_U8 psSelection;
4725}tSetP2PGONOAParams, *tpSetP2PGONOAParams;
4726
4727
4728typedef PACKED_PRE struct PACKED_POST
4729{
4730 tHalMsgHeader header;
4731 tSetP2PGONOAParams setP2PGONOAParams;
4732}tSetP2PGONOAReq, *tpSetP2PGONOAReq;
4733
4734/*---------------------------------------------------------------------------
4735*WLAN_HAL_SET_P2P_GONOA_RSP
4736*--------------------------------------------------------------------------*/
4737
4738typedef PACKED_PRE struct PACKED_POST
4739{
4740 /* success or failure */
4741 tANI_U32 status;
4742}tSetP2PGONOARspParams, *tpSetP2PGONOARspParams;
4743
4744typedef PACKED_PRE struct PACKED_POST
4745{
4746 tHalMsgHeader header;
4747 tSetP2PGONOARspParams setP2PGONOARspParams;
4748}tSetP2PGONOARspMsg, *tpSetP2PGONOARspMsg;
4749#endif
4750
4751/*---------------------------------------------------------------------------
4752 *WLAN_HAL_ADD_SELF_STA_REQ
4753 *--------------------------------------------------------------------------*/
4754
4755typedef PACKED_PRE struct PACKED_POST
4756{
4757 tSirMacAddr selfMacAddr;
4758 tANI_U32 status;
4759}tAddStaSelfParams, *tpAddStaSelfParams;
4760
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07004761typedef PACKED_PRE struct PACKED_POST
4762{
4763 tSirMacAddr selfMacAddr;
4764 tANI_U32 status;
4765 tHalIfacePersona iface_persona;
4766}tAddStaSelfParams_V1, *tpAddStaSelfParams_V1;
Jeff Johnson295189b2012-06-20 16:38:30 -07004767
4768typedef PACKED_PRE struct PACKED_POST
4769{
4770 tHalMsgHeader header;
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07004771 PACKED_PRE union PACKED_POST {
Jeff Johnson295189b2012-06-20 16:38:30 -07004772 tAddStaSelfParams addStaSelfParams;
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07004773 tAddStaSelfParams_V1 addStaSelfParams_V1;
4774 }uAddStaSelfParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004775}tAddStaSelfReq, *tpAddStaSelfReq;
4776
4777/*---------------------------------------------------------------------------
4778*WLAN_HAL_ADD_SELF_STA_RSP
4779*--------------------------------------------------------------------------*/
4780
4781typedef PACKED_PRE struct PACKED_POST
4782{
4783 /* success or failure */
4784 tANI_U32 status;
4785
4786 /*Self STA Index */
4787 tANI_U8 selfStaIdx;
4788
4789 /* DPU Index (IGTK, PTK, GTK all same) */
4790 tANI_U8 dpuIdx;
4791
4792 /* DPU Signature */
4793 tANI_U8 dpuSignature;
Jeff Johnson32d95a32012-09-10 13:15:23 -07004794
Jeff Johnson295189b2012-06-20 16:38:30 -07004795}tAddStaSelfRspParams, *tpAddStaSelfRspParams;
4796
4797typedef PACKED_PRE struct PACKED_POST
4798{
4799 tHalMsgHeader header;
4800 tAddStaSelfRspParams addStaSelfRspParams;
4801}tAddStaSelfRspMsg, *tpAddStaSelfRspMsg;
4802
4803
4804/*---------------------------------------------------------------------------
4805 WLAN_HAL_DEL_STA_SELF_REQ
4806---------------------------------------------------------------------------*/
4807
4808typedef PACKED_PRE struct PACKED_POST
4809{
4810 tSirMacAddr selfMacAddr;
4811
4812}tDelStaSelfParams, *tpDelStaSelfParams;
4813
4814typedef PACKED_PRE struct PACKED_POST
4815{
4816 tHalMsgHeader header;
4817 tDelStaSelfParams delStaSelfParams;
4818} tDelStaSelfReqMsg, *tpDelStaSelfReqMsg;
4819
4820
4821/*---------------------------------------------------------------------------
4822 WLAN_HAL_DEL_STA_SELF_RSP
4823---------------------------------------------------------------------------*/
4824
4825typedef PACKED_PRE struct PACKED_POST
4826{
4827 /*success or failure */
4828 tANI_U32 status;
4829
4830 tSirMacAddr selfMacAddr;
4831}tDelStaSelfRspParams, *tpDelStaSelfRspParams;
4832
4833typedef PACKED_PRE struct PACKED_POST
4834{
4835 tHalMsgHeader header;
4836 tDelStaSelfRspParams delStaSelfRspParams;
4837} tDelStaSelfRspMsg, *tpDelStaSelfRspMsg;
4838
4839
4840#ifdef WLAN_FEATURE_VOWIFI_11R
4841
4842/*---------------------------------------------------------------------------
4843 *WLAN_HAL_AGGR_ADD_TS_REQ
4844 *--------------------------------------------------------------------------*/
4845
4846typedef PACKED_PRE struct PACKED_POST
4847{
4848 /* Station Index */
4849 tANI_U16 staIdx;
4850
4851 /* TSPEC handler uniquely identifying a TSPEC for a STA in a BSS */
4852 /* This will carry the bitmap with the bit positions representing different AC.s*/
4853 tANI_U16 tspecIdx;
4854
4855 /* Tspec info per AC To program TPE with required parameters */
4856 tSirMacTspecIE tspec[WLAN_HAL_MAX_AC];
4857
4858 /* U-APSD Flags: 1b per AC. Encoded as follows:
4859 b7 b6 b5 b4 b3 b2 b1 b0 =
4860 X X X X BE BK VI VO */
4861 tANI_U8 uAPSD;
4862
4863 /* These parameters are for all the access categories */
4864 tANI_U32 srvInterval[WLAN_HAL_MAX_AC]; // Service Interval
4865 tANI_U32 susInterval[WLAN_HAL_MAX_AC]; // Suspend Interval
4866 tANI_U32 delayInterval[WLAN_HAL_MAX_AC]; // Delay Interval
4867
4868}tAggrAddTsParams, *tpAggrAddTsParams;
4869
4870
4871typedef PACKED_PRE struct PACKED_POST
4872{
4873 tHalMsgHeader header;
4874 tAggrAddTsParams aggrAddTsParam;
4875}tAggrAddTsReq, *tpAggrAddTsReq;
4876
4877/*---------------------------------------------------------------------------
4878*WLAN_HAL_AGGR_ADD_TS_RSP
4879*--------------------------------------------------------------------------*/
4880
4881typedef PACKED_PRE struct PACKED_POST
4882{
4883 /* success or failure */
4884 tANI_U32 status0;
4885 /* FIXME PRIMA for future use for 11R */
4886 tANI_U32 status1;
4887}tAggrAddTsRspParams, *tpAggrAddTsRspParams;
4888
4889typedef PACKED_PRE struct PACKED_POST
4890{
4891 tHalMsgHeader header;
4892 tAggrAddTsRspParams aggrAddTsRspParam;
4893}tAggrAddTsRspMsg, *tpAggrAddTsRspMsg;
4894
4895#endif
4896
4897/*---------------------------------------------------------------------------
4898 * WLAN_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_REQ
4899 *--------------------------------------------------------------------------*/
4900typedef PACKED_PRE struct PACKED_POST
4901{
4902 tANI_U8 isAppsCpuAwake;
4903} tHalConfigureAppsCpuWakeupStateReqParams, *tpHalConfigureAppsCpuWakeupStatReqParams;
4904
4905typedef PACKED_PRE struct PACKED_POST
4906{
4907 tHalMsgHeader header;
4908 tHalConfigureAppsCpuWakeupStateReqParams appsStateReqParams;
4909} tHalConfigureAppsCpuWakeupStateReqMsg, *tpHalConfigureAppsCpuWakeupStateReqMsg;
4910
4911/*---------------------------------------------------------------------------
4912 * WLAN_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_RSP
4913 *--------------------------------------------------------------------------*/
4914typedef PACKED_PRE struct PACKED_POST
4915{
4916 /* success or failure */
4917 tANI_U32 status;
4918} tHalConfigureAppsCpuWakeupStateRspParams, *tpHalConfigureAppsCpuWakeupStateRspParams;
4919
4920typedef PACKED_PRE struct PACKED_POST
4921{
4922 tHalMsgHeader header;
4923 tHalConfigureAppsCpuWakeupStateRspParams appsStateRspParams;
4924} tHalConfigureAppsCpuWakeupStateRspMsg, *tpHalConfigureAppsCpuWakeupStateRspMsg;
4925/*---------------------------------------------------------------------------
4926 * WLAN_HAL_DUMP_COMMAND_REQ
4927 *--------------------------------------------------------------------------*/
4928
4929typedef PACKED_PRE struct PACKED_POST
4930{
4931 tANI_U32 argument1;
4932 tANI_U32 argument2;
4933 tANI_U32 argument3;
4934 tANI_U32 argument4;
4935 tANI_U32 argument5;
4936
4937}tHalDumpCmdReqParams,*tpHalDumpCmdReqParams;
4938
4939typedef PACKED_PRE struct PACKED_POST
4940{
4941 tHalMsgHeader header;
4942 tHalDumpCmdReqParams dumpCmdReqParams;
4943} tHalDumpCmdReqMsg, *tpHalDumpCmdReqMsg;
4944
4945/*---------------------------------------------------------------------------
4946 * WLAN_HAL_DUMP_COMMAND_RSP
4947 *--------------------------------------------------------------------------*/
4948
4949typedef PACKED_PRE struct PACKED_POST
4950{
4951 /* success or failure */
4952 tANI_U32 status;
4953 /*Length of the responce message*/
4954 tANI_U32 rspLength;
4955 /*FiXME: Currently considering the the responce will be less than 100bytes */
4956 tANI_U8 rspBuffer[DUMPCMD_RSP_BUFFER];
Jeff Johnson32d95a32012-09-10 13:15:23 -07004957
Jeff Johnson295189b2012-06-20 16:38:30 -07004958} tHalDumpCmdRspParams, *tpHalDumpCmdRspParams;
4959
4960typedef PACKED_PRE struct PACKED_POST
4961{
4962 tHalMsgHeader header;
4963 tHalDumpCmdRspParams dumpCmdRspParams;
4964} tHalDumpCmdRspMsg, *tpHalDumpCmdRspMsg;
4965
4966/*---------------------------------------------------------------------------
4967 *WLAN_HAL_COEX_IND
4968 *-------------------------------------------------------------------------*/
4969#define WLAN_COEX_IND_DATA_SIZE (4)
4970#define WLAN_COEX_IND_TYPE_DISABLE_HB_MONITOR (0)
4971#define WLAN_COEX_IND_TYPE_ENABLE_HB_MONITOR (1)
Madan Mohan Koyyalamudi5a244b22013-03-21 16:12:18 -07004972#define WLAN_COEX_IND_TYPE_SCANS_ARE_COMPROMISED_BY_COEX (2)
4973#define WLAN_COEX_IND_TYPE_SCANS_ARE_NOT_COMPROMISED_BY_COEX (3)
Shailender Karmuchi07f514b2013-06-25 01:14:09 -07004974#define WLAN_COEX_IND_TYPE_DISABLE_AGGREGATION_IN_2p4 (4)
4975#define WLAN_COEX_IND_TYPE_ENABLE_AGGREGATION_IN_2p4 (5)
Jeff Johnson295189b2012-06-20 16:38:30 -07004976
4977typedef PACKED_PRE struct PACKED_POST
4978{
4979 /*Coex Indication Type*/
4980 tANI_U32 coexIndType;
4981
4982 /*Coex Indication Data*/
4983 tANI_U32 coexIndData[WLAN_COEX_IND_DATA_SIZE];
4984}tCoexIndParams,*tpCoexIndParams;
4985
4986typedef PACKED_PRE struct PACKED_POST
4987{
4988 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07004989 tCoexIndParams coexIndParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004990}tCoexIndMsg, *tpCoexIndMsg;
4991
4992/*---------------------------------------------------------------------------
4993 *WLAN_HAL_OTA_TX_COMPL_IND
4994 *-------------------------------------------------------------------------*/
4995
4996typedef PACKED_PRE struct PACKED_POST
4997{
4998 /*Tx Complete Indication Success or Failure*/
4999 tANI_U32 status;
5000}tTxComplParams,*tpTxComplParams;
5001
5002typedef PACKED_PRE struct PACKED_POST
5003{
5004 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07005005 tTxComplParams txComplParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07005006}tTxComplIndMsg, *tpTxComplIndMsg;
5007
5008/*---------------------------------------------------------------------------
5009 * WLAN_HAL_HOST_SUSPEND_IND
5010 *-------------------------------------------------------------------------*/
5011
5012typedef PACKED_PRE struct PACKED_POST
5013{
5014 tANI_U32 configuredMcstBcstFilterSetting;
Jeff Johnson32d95a32012-09-10 13:15:23 -07005015 tANI_U32 activeSessionCount;
Jeff Johnson295189b2012-06-20 16:38:30 -07005016}tHalWlanHostSuspendIndParam,*tpHalWlanHostSuspendIndParam;
5017
5018typedef PACKED_PRE struct PACKED_POST
5019{
5020 tHalMsgHeader header;
5021 tHalWlanHostSuspendIndParam suspendIndParams;
5022}tHalWlanHostSuspendIndMsg, *tpHalWlanHostSuspendIndMsg;
5023
5024/*---------------------------------------------------------------------------
5025 * WLAN_HAL_EXCLUDE_UNENCRYTED_IND
5026 *-------------------------------------------------------------------------*/
5027
5028typedef PACKED_PRE struct PACKED_POST
5029{
5030 tANI_BOOLEAN bDot11ExcludeUnencrypted;
Jeff Johnson32d95a32012-09-10 13:15:23 -07005031 tSirMacAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005032}tHalWlanExcludeUnEncryptedIndParam,*tpHalWlanExcludeUnEncryptedIndParam;
5033
5034typedef PACKED_PRE struct PACKED_POST
5035{
5036 tHalMsgHeader header;
5037 tHalWlanExcludeUnEncryptedIndParam excludeUnEncryptedIndParams;
5038}tHalWlanExcludeUnEncrptedIndMsg, *tpHalWlanExcludeUnEncrptedIndMsg;
5039
5040#ifdef WLAN_FEATURE_P2P
5041/*---------------------------------------------------------------------------
5042 *WLAN_HAL_NOA_ATTR_IND
5043 *-------------------------------------------------------------------------*/
5044
5045typedef PACKED_PRE struct PACKED_POST
5046{
5047 tANI_U8 index ;
5048 tANI_U8 oppPsFlag ;
5049 tANI_U16 ctWin ;
5050
5051 tANI_U16 uNoa1IntervalCnt;
Anand Kumar012623a2013-01-11 17:00:00 -08005052 tANI_U16 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07005053 tANI_U32 uNoa1Duration;
5054 tANI_U32 uNoa1Interval;
5055 tANI_U32 uNoa1StartTime;
5056
5057 tANI_U16 uNoa2IntervalCnt;
5058 tANI_U16 rsvd2;
5059 tANI_U32 uNoa2Duration;
5060 tANI_U32 uNoa2Interval;
5061 tANI_U32 uNoa2StartTime;
5062
5063 tANI_U32 status;
5064}tNoaAttrIndParams, *tpNoaAttrIndParams;
5065
5066typedef PACKED_PRE struct PACKED_POST
5067{
5068 tHalMsgHeader header;
Jeff Johnson32d95a32012-09-10 13:15:23 -07005069 tNoaAttrIndParams noaAttrIndParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07005070}tNoaAttrIndMsg, *tpNoaAttrIndMsg;
Viral Modie50b1d42012-12-10 13:04:52 -08005071
5072/*---------------------------------------------------------------------------
5073 *WLAN_HAL_NOA_START_IND
5074 *-------------------------------------------------------------------------*/
5075
5076typedef PACKED_PRE struct PACKED_POST
5077{
5078 tANI_U32 status;
5079 tANI_U32 bssIdx;
5080}tNoaStartIndParams, *tpNoaStartIndParams;
5081
5082typedef PACKED_PRE struct PACKED_POST
5083{
5084 tHalMsgHeader header;
5085 tNoaStartIndParams noaStartIndParams;
5086}tNoaStartIndMsg, tpNoaStartIndMsg;
Jeff Johnson295189b2012-06-20 16:38:30 -07005087#endif
5088
5089/*---------------------------------------------------------------------------
5090 * WLAN_HAL_HOST_RESUME_REQ
5091 *-------------------------------------------------------------------------*/
5092
5093typedef PACKED_PRE struct PACKED_POST
5094{
5095 tANI_U8 configuredMcstBcstFilterSetting;
5096}tHalWlanHostResumeReqParam,*tpHalWlanHostResumeReqParam;
5097
5098typedef PACKED_PRE struct PACKED_POST
5099{
5100 tHalMsgHeader header;
5101 tHalWlanHostResumeReqParam resumeReqParams;
5102}tHalWlanHostResumeReqMsg, *tpHalWlanHostResumeReqMsg;
5103
5104/*---------------------------------------------------------------------------
5105 * WLAN_HAL_HOST_RESUME_RSP
5106 *--------------------------------------------------------------------------*/
5107typedef PACKED_PRE struct PACKED_POST
5108{
5109 /* success or failure */
5110 tANI_U32 status;
5111} tHalHostResumeRspParams, *tpHalHostResumeRspParams;
5112
5113typedef PACKED_PRE struct PACKED_POST
5114{
5115 tHalMsgHeader header;
5116 tHalHostResumeRspParams hostResumeRspParams;
5117} tHalHostResumeRspMsg, *tpHalHostResumeRspMsg;
5118
Anand Kumar012623a2013-01-11 17:00:00 -08005119typedef PACKED_PRE struct PACKED_POST
5120{
5121 tANI_U16 staIdx;
5122 // Peer MAC Address, whose BA session has timed out
5123 tSirMacAddr peerMacAddr;
5124 // TID for which a BA session timeout is being triggered
5125 tANI_U8 baTID;
5126 // DELBA direction
5127 // 1 - Originator
5128 // 0 - Recipient
5129 tANI_U8 baDirection;
5130 tANI_U32 reasonCode;
5131 tSirMacAddr bssId; // TO SUPPORT BT-AMP
5132} tHalWlanDelBaIndMsg, *tpHalWlanDelBaIndMsg;
5133
5134typedef PACKED_PRE struct PACKED_POST
5135{
5136 tHalMsgHeader header;
5137 tHalWlanDelBaIndMsg hostdelBaParam;
5138} tHalDelBAIndMsg, *tpHalDelBAIndMsg;
5139
Jeff Johnson295189b2012-06-20 16:38:30 -07005140/*---------------------------------------------------------------------------
5141 *PNO Messages
5142 *-------------------------------------------------------------------------*/
Shailender Karmuchi07f514b2013-06-25 01:14:09 -07005143/* Max number of channels that a network can be found on*/
5144/* WLAN_HAL_PNO_MAX_NETW_CHANNELS and WLAN_HAL_PNO_MAX_NETW_CHANNELS_EX should
5145 * be changed at same time
5146 */
Kiran Kumar Lokere08894242013-04-23 14:50:54 -07005147#define WLAN_HAL_PNO_MAX_NETW_CHANNELS 60
Jeff Johnson295189b2012-06-20 16:38:30 -07005148
Pratik Bhalgatd4404592012-11-22 17:49:14 +05305149/*Max number of channels that a network can be found on*/
5150#define WLAN_HAL_PNO_MAX_NETW_CHANNELS_EX 60
5151
Jeff Johnson295189b2012-06-20 16:38:30 -07005152/*Maximum numbers of networks supported by PNO*/
5153#define WLAN_HAL_PNO_MAX_SUPP_NETWORKS 16
5154
5155/*The number of scan time intervals that can be programmed into PNO*/
5156#define WLAN_HAL_PNO_MAX_SCAN_TIMERS 10
5157
5158/*Maximum size of the probe template*/
5159#define WLAN_HAL_PNO_MAX_PROBE_SIZE 450
5160
Jeff Johnson32d95a32012-09-10 13:15:23 -07005161/*Type of PNO enabling
Jeff Johnson295189b2012-06-20 16:38:30 -07005162 Immediate - scanning will start immediately and PNO procedure will
5163 be repeated based on timer
5164 Suspend - scanning will start at suspend
Shailender Karmuchi07f514b2013-06-25 01:14:09 -07005165 Resume - scanning will start on system resume
5166 Delay - start the scan timer to trigger PNO scan
5167 */
Jeff Johnson295189b2012-06-20 16:38:30 -07005168typedef enum
5169{
5170 ePNO_MODE_IMMEDIATE,
5171 ePNO_MODE_ON_SUSPEND,
5172 ePNO_MODE_ON_RESUME,
Gopichand Nakkala175de4b2013-05-06 12:02:17 +05305173 ePNO_MODE_DELAY,
5174 ePNO_MODE_PROXIMITY, // FEATURE_WIFI_PROXIMITY
Jeff Johnson295189b2012-06-20 16:38:30 -07005175 ePNO_MODE_MAX = WLAN_HAL_MAX_ENUM_SIZE
5176} ePNOMode;
5177
5178/*Authentication type*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005179typedef enum
Jeff Johnson295189b2012-06-20 16:38:30 -07005180{
Jeff Johnson32d95a32012-09-10 13:15:23 -07005181 eAUTH_TYPE_ANY = 0,
Jeff Johnson295189b2012-06-20 16:38:30 -07005182 eAUTH_TYPE_OPEN_SYSTEM = 1,
Jeff Johnson32d95a32012-09-10 13:15:23 -07005183
Jeff Johnson295189b2012-06-20 16:38:30 -07005184 // Upper layer authentication types
5185 eAUTH_TYPE_WPA = 2,
5186 eAUTH_TYPE_WPA_PSK = 3,
Jeff Johnson32d95a32012-09-10 13:15:23 -07005187
Jeff Johnson295189b2012-06-20 16:38:30 -07005188 eAUTH_TYPE_RSN = 4,
5189 eAUTH_TYPE_RSN_PSK = 5,
5190 eAUTH_TYPE_FT_RSN = 6,
5191 eAUTH_TYPE_FT_RSN_PSK = 7,
5192 eAUTH_TYPE_WAPI_WAI_CERTIFICATE = 8,
5193 eAUTH_TYPE_WAPI_WAI_PSK = 9,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005194 eAUTH_TYPE_CCKM_WPA = 10,
5195 eAUTH_TYPE_CCKM_RSN = 11,
Jeff Johnson32d95a32012-09-10 13:15:23 -07005196
Jeff Johnson295189b2012-06-20 16:38:30 -07005197 eAUTH_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE
5198
5199}tAuthType;
5200
5201/* Encryption type */
5202typedef enum eEdType
5203{
5204 eED_ANY = 0,
5205 eED_NONE = 1,
5206 eED_WEP = 2,
5207 eED_TKIP = 3,
5208 eED_CCMP = 4,
5209 eED_WPI = 5,
Jeff Johnson32d95a32012-09-10 13:15:23 -07005210
Jeff Johnson295189b2012-06-20 16:38:30 -07005211 eED_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE
5212} tEdType;
5213
5214/* SSID broadcast type */
5215typedef enum eSSIDBcastType
5216{
5217 eBCAST_UNKNOWN = 0,
5218 eBCAST_NORMAL = 1,
5219 eBCAST_HIDDEN = 2,
5220
5221 eBCAST_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE
5222} tSSIDBcastType;
5223
Jeff Johnson32d95a32012-09-10 13:15:23 -07005224/*
Jeff Johnson295189b2012-06-20 16:38:30 -07005225 The network description for which PNO will have to look for
5226*/
5227typedef PACKED_PRE struct PACKED_POST
5228{
5229 /*SSID of the BSS*/
5230 tSirMacSSid ssId;
5231
5232 /*Authentication type for the network*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005233 tAuthType authentication;
Jeff Johnson295189b2012-06-20 16:38:30 -07005234
5235 /*Encryption type for the network*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005236 tEdType encryption;
Jeff Johnson295189b2012-06-20 16:38:30 -07005237
Jeff Johnson32d95a32012-09-10 13:15:23 -07005238 /*Indicate the channel on which the Network can be found
Jeff Johnson295189b2012-06-20 16:38:30 -07005239 0 - if all channels */
5240 tANI_U8 ucChannelCount;
5241 tANI_U8 aChannels[WLAN_HAL_PNO_MAX_NETW_CHANNELS];
5242
5243 /*Indicates the RSSI threshold for the network to be considered*/
5244 tANI_U8 rssiThreshold;
Jeff Johnson32d95a32012-09-10 13:15:23 -07005245}tNetworkType;
Jeff Johnson295189b2012-06-20 16:38:30 -07005246
5247typedef PACKED_PRE struct PACKED_POST
5248{
5249 /*How much it should wait */
Jeff Johnson32d95a32012-09-10 13:15:23 -07005250 tANI_U32 uTimerValue;
Jeff Johnson295189b2012-06-20 16:38:30 -07005251
Jeff Johnson32d95a32012-09-10 13:15:23 -07005252 /*How many times it should repeat that wait value
Jeff Johnson295189b2012-06-20 16:38:30 -07005253 0 - keep using this timer until PNO is disabled*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005254 tANI_U32 uTimerRepeat;
Jeff Johnson295189b2012-06-20 16:38:30 -07005255
Jeff Johnson32d95a32012-09-10 13:15:23 -07005256 /*e.g: 2 3
5257 4 0
Jeff Johnson295189b2012-06-20 16:38:30 -07005258 - it will wait 2s between consecutive scans for 3 times
5259 - after that it will wait 4s between consecutive scans until disabled*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005260}tScanTimer;
Jeff Johnson295189b2012-06-20 16:38:30 -07005261
Jeff Johnson32d95a32012-09-10 13:15:23 -07005262/*
Jeff Johnson295189b2012-06-20 16:38:30 -07005263 The network parameters to be sent to the PNO algorithm
5264*/
5265typedef PACKED_PRE struct PACKED_POST
5266{
5267 /*set to 0 if you wish for PNO to use its default telescopic timer*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005268 tANI_U8 ucScanTimersCount;
Jeff Johnson295189b2012-06-20 16:38:30 -07005269
Jeff Johnson32d95a32012-09-10 13:15:23 -07005270 /*A set value represents the amount of time that PNO will wait between
Jeff Johnson295189b2012-06-20 16:38:30 -07005271 two consecutive scan procedures
5272 If the desired is for a uniform timer that fires always at the exact same
5273 interval - one single value is to be set
5274 If there is a desire for a more complex - telescopic like timer multiple
5275 values can be set - once PNO reaches the end of the array it will
5276 continue scanning at intervals presented by the last value*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005277 tScanTimer aTimerValues[WLAN_HAL_PNO_MAX_SCAN_TIMERS];
Jeff Johnson295189b2012-06-20 16:38:30 -07005278
5279}tScanTimersType;
5280
5281typedef PACKED_PRE struct PACKED_POST {
5282
5283 /*Enable PNO*/
5284 tANI_U32 enable;
5285
5286 /*Immediate, On Suspend, On Resume*/
5287 ePNOMode modePNO;
Jeff Johnson32d95a32012-09-10 13:15:23 -07005288
Jeff Johnson295189b2012-06-20 16:38:30 -07005289 /*Number of networks sent for PNO*/
5290 tANI_U32 ucNetworksCount;
5291
5292 /*The networks that PNO needs to look for*/
5293 tNetworkType aNetworks[WLAN_HAL_PNO_MAX_SUPP_NETWORKS];
5294
5295 /*The scan timers required for PNO*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005296 tScanTimersType scanTimers;
Jeff Johnson295189b2012-06-20 16:38:30 -07005297
5298 /*Probe template for 2.4GHz band*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005299 tANI_U16 us24GProbeSize;
Jeff Johnson295189b2012-06-20 16:38:30 -07005300 tANI_U8 a24GProbeTemplate[WLAN_HAL_PNO_MAX_PROBE_SIZE];
5301
5302 /*Probe template for 5GHz band*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005303 tANI_U16 us5GProbeSize;
Jeff Johnson295189b2012-06-20 16:38:30 -07005304 tANI_U8 a5GProbeTemplate[WLAN_HAL_PNO_MAX_PROBE_SIZE];
5305
5306} tPrefNetwListParams, * tpPrefNetwListParams;
5307
5308/*
Jeff Johnson32d95a32012-09-10 13:15:23 -07005309 Preferred network list request
Jeff Johnson295189b2012-06-20 16:38:30 -07005310*/
5311typedef PACKED_PRE struct PACKED_POST
5312{
5313 tHalMsgHeader header;
5314 tPrefNetwListParams prefNetwListParams;
5315} tSetPrefNetwListReq, *tpSetPrefNetwListReq;
5316
5317
Jeff Johnson32d95a32012-09-10 13:15:23 -07005318/*
Jeff Johnson295189b2012-06-20 16:38:30 -07005319 The network description for which PNO will have to look for
5320*/
5321typedef PACKED_PRE struct PACKED_POST
5322{
5323 /*SSID of the BSS*/
5324 tSirMacSSid ssId;
5325
5326 /*Authentication type for the network*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005327 tAuthType authentication;
Jeff Johnson295189b2012-06-20 16:38:30 -07005328
5329 /*Encryption type for the network*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005330 tEdType encryption;
Jeff Johnson295189b2012-06-20 16:38:30 -07005331
5332 /*SSID broadcast type, normal, hidden or unknown*/
5333 tSSIDBcastType bcastNetworkType;
5334
Jeff Johnson32d95a32012-09-10 13:15:23 -07005335 /*Indicate the channel on which the Network can be found
Jeff Johnson295189b2012-06-20 16:38:30 -07005336 0 - if all channels */
5337 tANI_U8 ucChannelCount;
5338 tANI_U8 aChannels[WLAN_HAL_PNO_MAX_NETW_CHANNELS];
5339
5340 /*Indicates the RSSI threshold for the network to be considered*/
5341 tANI_U8 rssiThreshold;
Jeff Johnson32d95a32012-09-10 13:15:23 -07005342}tNetworkTypeNew;
Jeff Johnson295189b2012-06-20 16:38:30 -07005343
5344typedef PACKED_PRE struct PACKED_POST {
5345
5346 /*Enable PNO*/
5347 tANI_U32 enable;
5348
5349 /*Immediate, On Suspend, On Resume*/
5350 ePNOMode modePNO;
Jeff Johnson32d95a32012-09-10 13:15:23 -07005351
Jeff Johnson295189b2012-06-20 16:38:30 -07005352 /*Number of networks sent for PNO*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005353 tANI_U32 ucNetworksCount;
Jeff Johnson295189b2012-06-20 16:38:30 -07005354
5355 /*The networks that PNO needs to look for*/
5356 tNetworkTypeNew aNetworks[WLAN_HAL_PNO_MAX_SUPP_NETWORKS];
5357
5358 /*The scan timers required for PNO*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005359 tScanTimersType scanTimers;
Jeff Johnson295189b2012-06-20 16:38:30 -07005360
5361 /*Probe template for 2.4GHz band*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005362 tANI_U16 us24GProbeSize;
Jeff Johnson295189b2012-06-20 16:38:30 -07005363 tANI_U8 a24GProbeTemplate[WLAN_HAL_PNO_MAX_PROBE_SIZE];
5364
5365 /*Probe template for 5GHz band*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005366 tANI_U16 us5GProbeSize;
Jeff Johnson295189b2012-06-20 16:38:30 -07005367 tANI_U8 a5GProbeTemplate[WLAN_HAL_PNO_MAX_PROBE_SIZE];
5368
5369} tPrefNetwListParamsNew, * tpPrefNetwListParamsNew;
5370
5371/*
5372 Preferred network list request new
5373*/
5374typedef PACKED_PRE struct PACKED_POST
5375{
5376 tHalMsgHeader header;
5377 tPrefNetwListParamsNew prefNetwListParams;
5378} tSetPrefNetwListReqNew, *tpSetPrefNetwListReqNew;
5379
5380/*
Jeff Johnson32d95a32012-09-10 13:15:23 -07005381 Preferred network list response
Jeff Johnson295189b2012-06-20 16:38:30 -07005382*/
5383typedef PACKED_PRE struct PACKED_POST
5384{
5385 tHalMsgHeader header;
5386
Jeff Johnson32d95a32012-09-10 13:15:23 -07005387 /*status of the request - just to indicate that PNO has acknowledged
Jeff Johnson295189b2012-06-20 16:38:30 -07005388 the request and will start scanning*/
5389 tANI_U32 status;
5390} tSetPrefNetwListResp, *tpSetPrefNetwListResp;
5391
5392/*
Jeff Johnson32d95a32012-09-10 13:15:23 -07005393 Preferred network indication parameters
Jeff Johnson295189b2012-06-20 16:38:30 -07005394*/
5395typedef PACKED_PRE struct PACKED_POST {
5396
5397 /*Network that was found with the highest RSSI*/
5398 tSirMacSSid ssId;
Jeff Johnson32d95a32012-09-10 13:15:23 -07005399
Jeff Johnson295189b2012-06-20 16:38:30 -07005400 /*Indicates the RSSI */
5401 tANI_U8 rssi;
5402
Shailender Karmuchi07f514b2013-06-25 01:14:09 -07005403 //The MPDU frame length of a beacon or probe rsp. data is the start of the frame
Gopichand Nakkalaa14f43b2013-05-14 00:08:53 +05305404 tANI_U16 frameLength;
5405
Jeff Johnson295189b2012-06-20 16:38:30 -07005406} tPrefNetwFoundParams, * tpPrefNetwFoundParams;
5407
5408/*
5409 Preferred network found indication
5410*/
5411typedef PACKED_PRE struct PACKED_POST {
5412
5413 tHalMsgHeader header;
5414 tPrefNetwFoundParams prefNetwFoundParams;
5415} tPrefNetwFoundInd, *tpPrefNetwFoundInd;
5416
5417
5418typedef PACKED_PRE struct PACKED_POST {
5419
5420 /*RSSI Threshold*/
5421 tANI_U8 ucRssiThreshold;
5422
5423} tRssiFilterParams, * tpRssiFilterParams;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005424#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5425typedef PACKED_PRE struct PACKED_POST
5426{
5427 tSirMacSSid ssId;
5428 tANI_U8 currAPbssid[HAL_MAC_ADDR_LEN];
5429 tANI_U32 authentication;
5430 tEdType encryption;
5431 tEdType mcencryption;
5432 tANI_U8 ChannelCount;
5433 tANI_U8 ChannelCache[WLAN_HAL_ROAM_SCAN_MAX_CHANNELS];
5434}tRoamNetworkType;
Jeff Johnson295189b2012-06-20 16:38:30 -07005435
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005436typedef PACKED_PRE struct PACKED_POST
5437{
5438 tANI_U8 mdiePresent;
5439 tANI_U16 mobilityDomain;
5440}tMobilityDomainInfo;
5441
5442typedef PACKED_PRE struct PACKED_POST {
5443 eAniBoolean RoamScanOffloadEnabled;
5444 tANI_S8 LookupThreshold;
5445 tANI_U8 RoamRssiDiff;
5446 tANI_U8 ChannelCacheType;
5447 tANI_U8 Command;
5448 tANI_U8 StartScanReason;
5449 tANI_U16 NeighborScanTimerPeriod;
5450 tANI_U16 NeighborRoamScanRefreshPeriod;
5451 tANI_U16 NeighborScanChannelMinTime;
5452 tANI_U16 NeighborScanChannelMaxTime;
5453 tANI_U16 EmptyRefreshScanPeriod;
5454 tANI_U8 ValidChannelCount;
5455 tANI_U8 ValidChannelList[WLAN_HAL_ROAM_SCAN_MAX_CHANNELS];
5456 eAniBoolean IsCCXEnabled;
5457
5458 tANI_U16 us24GProbeSize;
5459 tANI_U8 a24GProbeTemplate[WLAN_HAL_ROAM_SCAN_MAX_PROBE_SIZE];
5460 tANI_U16 us5GProbeSize;
5461 tANI_U8 a5GProbeTemplate[WLAN_HAL_ROAM_SCAN_MAX_PROBE_SIZE];
5462 /* Add Reserved bytes */
Varun Reddy Yeturu4a231fb2013-05-22 13:11:28 -07005463 tANI_U8 nProbes;
5464 tANI_U16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005465 tANI_U8 ReservedBytes[WLAN_HAL_ROAM_SCAN_RESERVED_BYTES];
5466 tRoamNetworkType ConnectedNetwork;
5467 tMobilityDomainInfo MDID;
5468} tRoamCandidateListParams, * tpRoamCandidateListParams;
5469
5470typedef PACKED_PRE struct PACKED_POST
5471{
5472 tHalMsgHeader header;
5473 tRoamCandidateListParams RoamScanOffloadNetwListParams;
5474} tSetRoamScanOffloadReq, *tpRoamScanOffloadReq;
5475
5476typedef PACKED_PRE struct PACKED_POST
5477{
5478 tHalMsgHeader header;
5479
5480 /*status of the request - just to indicate that PNO has acknowledged
5481 * the request and will start scanning*/
5482 tANI_U32 status;
5483} tSetRoamOffloadScanResp, *tpSetRoamOffloadScanResp;
5484#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07005485/*
Jeff Johnson32d95a32012-09-10 13:15:23 -07005486 RSSI Filter request
Jeff Johnson295189b2012-06-20 16:38:30 -07005487*/
5488typedef PACKED_PRE struct PACKED_POST
5489{
5490 tHalMsgHeader header;
5491 tRssiFilterParams prefRSSIFilterParams;
5492} tSetRssiFilterReq, *tpSetRssiFilterReq;
5493
5494/*
5495 Set RSSI filter resp
5496*/
5497typedef PACKED_PRE struct PACKED_POST{
5498 tHalMsgHeader header;
5499 /*status of the request */
5500 tANI_U32 status;
5501} tSetRssiFilterResp, *tpSetRssiFilterResp;
5502/*
Jeff Johnson32d95a32012-09-10 13:15:23 -07005503 Update scan params
Jeff Johnson295189b2012-06-20 16:38:30 -07005504*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005505typedef PACKED_PRE struct PACKED_POST
Jeff Johnson295189b2012-06-20 16:38:30 -07005506{
5507
5508 /*Host setting for 11d*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005509 tANI_U8 b11dEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07005510
5511 /*Lets PNO know that host has determined the regulatory domain*/
5512 tANI_U8 b11dResolved;
5513
5514 /*Channels on which PNO is allowed to scan*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005515 tANI_U8 ucChannelCount;
5516 tANI_U8 aChannels[WLAN_HAL_PNO_MAX_NETW_CHANNELS];
Jeff Johnson295189b2012-06-20 16:38:30 -07005517
5518 /*Minimum channel time*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005519 tANI_U16 usActiveMinChTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07005520
5521 /*Maximum channel time*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005522 tANI_U16 usActiveMaxChTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07005523
5524 /*Minimum channel time*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005525 tANI_U16 usPassiveMinChTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07005526
5527 /*Maximum channel time*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005528 tANI_U16 usPassiveMaxChTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07005529
5530 /*Cb State*/
5531 ePhyChanBondState cbState;
5532
5533} tUpdateScanParams, * tpUpdateScanParams;
5534
5535/*
Pratik Bhalgatd4404592012-11-22 17:49:14 +05305536 Update scan params
5537*/
5538typedef PACKED_PRE struct PACKED_POST
5539{
5540
5541 /*Host setting for 11d*/
5542 tANI_U8 b11dEnabled;
5543
5544 /*Lets PNO know that host has determined the regulatory domain*/
5545 tANI_U8 b11dResolved;
5546
5547 /*Channels on which PNO is allowed to scan*/
5548 tANI_U8 ucChannelCount;
5549 tANI_U8 aChannels[WLAN_HAL_PNO_MAX_NETW_CHANNELS_EX];
5550
5551 /*Minimum channel time*/
5552 tANI_U16 usActiveMinChTime;
5553
5554 /*Maximum channel time*/
5555 tANI_U16 usActiveMaxChTime;
5556
5557 /*Minimum channel time*/
5558 tANI_U16 usPassiveMinChTime;
5559
5560 /*Maximum channel time*/
5561 tANI_U16 usPassiveMaxChTime;
5562
5563 /*Cb State*/
5564 ePhyChanBondState cbState;
5565
5566} tUpdateScanParamsEx, * tpUpdateScanParamsEx;
5567
5568/*
Jeff Johnson295189b2012-06-20 16:38:30 -07005569 Update scan params - sent from host to PNO
Jeff Johnson32d95a32012-09-10 13:15:23 -07005570 to be used during PNO scanning
Jeff Johnson295189b2012-06-20 16:38:30 -07005571*/
5572typedef PACKED_PRE struct PACKED_POST{
5573
5574 tHalMsgHeader header;
5575 tUpdateScanParams scanParams;
5576} tUpdateScanParamsReq, *tpUpdateScanParamsReq;
5577
5578/*
5579 Update scan params - sent from host to PNO
Jeff Johnson32d95a32012-09-10 13:15:23 -07005580 to be used during PNO scanning
Jeff Johnson295189b2012-06-20 16:38:30 -07005581*/
5582typedef PACKED_PRE struct PACKED_POST{
5583
5584 tHalMsgHeader header;
Pratik Bhalgatd4404592012-11-22 17:49:14 +05305585 tUpdateScanParamsEx scanParams;
5586} tUpdateScanParamsReqEx, *tpUpdateScanParamsReqEx;
5587
5588/*
5589 Update scan params - sent from host to PNO
5590 to be used during PNO scanning
5591*/
5592typedef PACKED_PRE struct PACKED_POST{
5593
5594 tHalMsgHeader header;
Jeff Johnson295189b2012-06-20 16:38:30 -07005595
5596 /*status of the request */
5597 tANI_U32 status;
5598
5599} tUpdateScanParamsResp, *tpUpdateScanParamsResp;
5600
5601/*---------------------------------------------------------------------------
5602 * WLAN_HAL_SET_TX_PER_TRACKING_REQ
5603 *--------------------------------------------------------------------------*/
5604typedef PACKED_PRE struct PACKED_POST
5605{
5606 tANI_U8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5607 tANI_U8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5608 tANI_U8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5609 tANI_U32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5610} tHalTxPerTrackingReqParam, *tpHalTxPerTrackingReqParam;
5611
5612typedef PACKED_PRE struct PACKED_POST
5613{
5614 tHalMsgHeader header;
5615 tHalTxPerTrackingReqParam txPerTrackingParams;
5616} tHalSetTxPerTrackingReqMsg, *tpHalSetTxPerTrackingReqMsg;
5617
5618/*---------------------------------------------------------------------------
5619 * WLAN_HAL_SET_TX_PER_TRACKING_RSP
5620 *--------------------------------------------------------------------------*/
5621typedef PACKED_PRE struct PACKED_POST
5622{
5623 /* success or failure */
5624 tANI_U32 status;
5625} tHalTxPerTrackingRspParams, *tpHalTxPerTrackingRspParams;
5626
5627typedef PACKED_PRE struct PACKED_POST
5628{
5629 tHalMsgHeader header;
5630 tHalTxPerTrackingRspParams txPerTrackingRspParams;
5631} tHalSetTxPerTrackingRspMsg, *tpHalSetTxPerTrackingRspMsg;
5632
5633/*---------------------------------------------------------------------------
5634 * WLAN_HAL_TX_PER_HIT_IND
5635 *--------------------------------------------------------------------------*/
5636typedef PACKED_PRE struct PACKED_POST
5637{
5638 tHalMsgHeader header;
5639}tTxPerHitIndMsg, *tpTxPerHitIndMsg;
5640
5641/*---------------------------------------------------------------------------
5642 *******************Packet Filtering Definitions Begin*******************
5643 *--------------------------------------------------------------------------*/
5644#define HAL_PROTOCOL_DATA_LEN 8
5645#define HAL_MAX_NUM_MULTICAST_ADDRESS 240
5646#define HAL_MAX_NUM_FILTERS 20
5647#define HAL_MAX_CMP_PER_FILTER 10
5648
5649typedef enum
5650{
5651 HAL_RCV_FILTER_TYPE_INVALID,
5652 HAL_RCV_FILTER_TYPE_FILTER_PKT,
5653 HAL_RCV_FILTER_TYPE_BUFFER_PKT,
5654 HAL_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5655}tHalReceivePacketFilterType;
5656
Jeff Johnson32d95a32012-09-10 13:15:23 -07005657typedef enum
Jeff Johnson295189b2012-06-20 16:38:30 -07005658{
5659 HAL_FILTER_PROTO_TYPE_INVALID,
5660 HAL_FILTER_PROTO_TYPE_MAC,
5661 HAL_FILTER_PROTO_TYPE_ARP,
5662 HAL_FILTER_PROTO_TYPE_IPV4,
5663 HAL_FILTER_PROTO_TYPE_IPV6,
5664 HAL_FILTER_PROTO_TYPE_UDP,
5665 HAL_FILTER_PROTO_TYPE_MAX
5666}tHalRcvPktFltProtocolType;
5667
Jeff Johnson32d95a32012-09-10 13:15:23 -07005668typedef enum
Jeff Johnson295189b2012-06-20 16:38:30 -07005669{
5670 HAL_FILTER_CMP_TYPE_INVALID,
5671 HAL_FILTER_CMP_TYPE_EQUAL,
5672 HAL_FILTER_CMP_TYPE_MASK_EQUAL,
5673 HAL_FILTER_CMP_TYPE_NOT_EQUAL,
5674 HAL_FILTER_CMP_TYPE_MAX
5675}tHalRcvPktFltCmpFlagType;
5676
Jeff Johnson32d95a32012-09-10 13:15:23 -07005677typedef PACKED_PRE struct PACKED_POST
Jeff Johnson295189b2012-06-20 16:38:30 -07005678{
5679 tANI_U8 protocolLayer;
5680 tANI_U8 cmpFlag;
5681 tANI_U16 dataLength; /* Length of the data to compare */
5682 tANI_U8 dataOffset; /* from start of the respective frame header */
5683 tANI_U8 reserved; /* Reserved field */
5684 tANI_U8 compareData[HAL_PROTOCOL_DATA_LEN]; /* Data to compare */
5685 tANI_U8 dataMask[HAL_PROTOCOL_DATA_LEN]; /* Mask to be applied on the received packet data before compare */
5686}tHalRcvPktFilterParams, *tpHalRcvPktFilterParams;
5687
5688typedef PACKED_PRE struct PACKED_POST
5689{
5690 tANI_U8 filterId;
5691 tANI_U8 filterType;
Jeff Johnson32d95a32012-09-10 13:15:23 -07005692 tANI_U8 numParams;
Jeff Johnsone7245742012-09-05 17:12:55 -07005693 tANI_U32 coalesceTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07005694 tHalRcvPktFilterParams paramsData[1];
5695}tHalRcvPktFilterCfgType, *tpHalRcvPktFilterCfgType;
5696
5697typedef PACKED_PRE struct PACKED_POST
5698{
Jeff Johnsone7245742012-09-05 17:12:55 -07005699 tANI_U8 filterId;
5700 tANI_U8 filterType;
Jeff Johnson32d95a32012-09-10 13:15:23 -07005701 tANI_U8 numParams;
5702 tANI_U32 coleasceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005703 tANI_U8 bssIdx;
5704 tHalRcvPktFilterParams paramsData[1];
5705}tHalSessionizedRcvPktFilterCfgType, *tpHalSessionizedRcvPktFilterCfgType;
5706
5707typedef PACKED_PRE struct PACKED_POST
5708{
Jeff Johnson295189b2012-06-20 16:38:30 -07005709 tHalMsgHeader header;
5710 tHalRcvPktFilterCfgType pktFilterCfg;
5711} tHalSetRcvPktFilterReqMsg, *tpHalSetRcvPktFilterReqMsg;
5712
Jeff Johnsone7245742012-09-05 17:12:55 -07005713typedef PACKED_PRE struct PACKED_POST
Jeff Johnson295189b2012-06-20 16:38:30 -07005714{
5715 tANI_U8 dataOffset; /* from start of the respective frame header */
5716 tANI_U32 cMulticastAddr;
5717 tSirMacAddr multicastAddr[HAL_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005718 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07005719} tHalRcvFltMcAddrListType, *tpHalRcvFltMcAddrListType;
5720
5721typedef PACKED_PRE struct PACKED_POST
5722{
5723 /* success or failure */
5724 tANI_U32 status;
Jeff Johnsone7245742012-09-05 17:12:55 -07005725 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07005726} tHalSetPktFilterRspParams, *tpHalSetPktFilterRspParams;
5727
5728typedef PACKED_PRE struct PACKED_POST
5729{
5730 tHalMsgHeader header;
5731 tHalSetPktFilterRspParams pktFilterRspParams;
5732} tHalSetPktFilterRspMsg, *tpHalSetPktFilterRspMsg;
5733
Jeff Johnsone7245742012-09-05 17:12:55 -07005734typedef PACKED_PRE struct PACKED_POST
5735{
5736 tANI_U8 bssIdx;
5737} tHalRcvFltPktMatchCntReqParams, *tpHalRcvFltPktMatchCntReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07005738
5739typedef PACKED_PRE struct PACKED_POST
5740{
5741 tHalMsgHeader header;
Jeff Johnsone7245742012-09-05 17:12:55 -07005742 tHalRcvFltPktMatchCntReqParams pktMatchCntReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07005743} tHalRcvFltPktMatchCntReqMsg, *tpHalRcvFltPktMatchCntReqMsg;
5744
Jeff Johnsone7245742012-09-05 17:12:55 -07005745
Jeff Johnson295189b2012-06-20 16:38:30 -07005746typedef PACKED_PRE struct PACKED_POST
5747{
5748 tANI_U8 filterId;
5749 tANI_U32 matchCnt;
5750} tHalRcvFltPktMatchCnt;
5751typedef PACKED_PRE struct PACKED_POST
5752{
5753 /* Success or Failure */
5754 tANI_U32 status;
Jeff Johnson32d95a32012-09-10 13:15:23 -07005755 tANI_U32 matchCnt;
5756 tHalRcvFltPktMatchCnt filterMatchCnt[HAL_MAX_NUM_FILTERS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005757 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07005758} tHalRcvFltPktMatchRspParams, *tptHalRcvFltPktMatchRspParams;
5759
5760typedef PACKED_PRE struct PACKED_POST
5761{
5762 tHalMsgHeader header;
5763 tHalRcvFltPktMatchRspParams fltPktMatchRspParams;
5764} tHalRcvFltPktMatchCntRspMsg, *tpHalRcvFltPktMatchCntRspMsg;
5765
5766typedef PACKED_PRE struct PACKED_POST
5767{
5768 tANI_U32 status; /* only valid for response message */
5769 tANI_U8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005770 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07005771}tHalRcvFltPktClearParam, *tpHalRcvFltPktClearParam;
5772
5773typedef PACKED_PRE struct PACKED_POST
5774{
5775 tHalMsgHeader header;
5776 tHalRcvFltPktClearParam filterClearParam;
5777} tHalRcvFltPktClearReqMsg, *tpHalRcvFltPktClearReqMsg;
5778
5779typedef PACKED_PRE struct PACKED_POST
5780{
5781 tHalMsgHeader header;
5782 tHalRcvFltPktClearParam filterClearParam;
5783} tHalRcvFltPktClearRspMsg, *tpHalRcvFltPktClearRspMsg;
5784
5785typedef PACKED_PRE struct PACKED_POST
5786{
Jeff Johnson32d95a32012-09-10 13:15:23 -07005787 tANI_U32 status;
Jeff Johnsone7245742012-09-05 17:12:55 -07005788 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07005789}tHalRcvFltPktSetMcListRspType, *tpHalRcvFltPktSetMcListRspType;
5790
5791typedef PACKED_PRE struct PACKED_POST
5792{
5793 tHalMsgHeader header;
5794 tHalRcvFltMcAddrListType mcAddrList;
5795} tHalRcvFltPktSetMcListReqMsg, *tpHalRcvFltPktSetMcListReqMsg;
5796
5797typedef PACKED_PRE struct PACKED_POST
5798{
5799 tHalMsgHeader header;
5800 tHalRcvFltPktSetMcListRspType rspParam;
5801} tHalRcvFltPktSetMcListRspMsg, *tpHalRcvFltPktSetMcListRspMsg;
5802
5803
5804/*---------------------------------------------------------------------------
5805 *******************Packet Filtering Definitions End*******************
5806 *--------------------------------------------------------------------------*/
5807
Shailender Karmuchi07f514b2013-06-25 01:14:09 -07005808/*
5809 * There are two versions of this message
5810 * Version 1 : Base version
5811 * Current version : Base version + Max LI modulated DTIM
5812 */
5813typedef PACKED_PRE struct PACKED_POST
5814{
5815 /* Ignore DTIM */
5816 tANI_U32 uIgnoreDTIM;
5817
5818 /*DTIM Period*/
5819 tANI_U32 uDTIMPeriod;
5820
5821 /* Listen Interval */
5822 tANI_U32 uListenInterval;
5823
5824 /* Broadcast Multicast Filter */
5825 tANI_U32 uBcastMcastFilter;
5826
5827 /* Beacon Early Termination */
5828 tANI_U32 uEnableBET;
5829
5830 /* Beacon Early Termination Interval */
5831 tANI_U32 uBETInterval;
5832}tSetPowerParamsVer1Type, *tpSetPowerParamsVer1Type;
5833
5834typedef PACKED_PRE struct PACKED_POST
5835{
5836 tHalMsgHeader header;
5837 tSetPowerParamsVer1Type powerParams;
5838} tSetPowerParamsVer1ReqMsg, *tpSetPowerParamsVer1ReqMsg;
5839
Jeff Johnson295189b2012-06-20 16:38:30 -07005840typedef PACKED_PRE struct PACKED_POST
5841{
5842 /* Ignore DTIM */
5843 tANI_U32 uIgnoreDTIM;
5844
5845 /*DTIM Period*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07005846 tANI_U32 uDTIMPeriod;
Jeff Johnson295189b2012-06-20 16:38:30 -07005847
5848 /* Listen Interval */
5849 tANI_U32 uListenInterval;
5850
5851 /* Broadcast Multicast Filter */
5852 tANI_U32 uBcastMcastFilter;
5853
5854 /* Beacon Early Termination */
5855 tANI_U32 uEnableBET;
5856
5857 /* Beacon Early Termination Interval */
Jeff Johnson32d95a32012-09-10 13:15:23 -07005858 tANI_U32 uBETInterval;
Yue Mae5ec19c2013-05-15 13:52:40 -07005859
5860 /* MAX LI for modulated DTIM */
5861 tANI_U32 uMaxLIModulatedDTIM;
Jeff Johnson295189b2012-06-20 16:38:30 -07005862}tSetPowerParamsType, *tpSetPowerParamsType;
5863
5864typedef PACKED_PRE struct PACKED_POST
5865{
5866 tHalMsgHeader header;
5867 tSetPowerParamsType powerParams;
5868} tSetPowerParamsReqMsg, *tpSetPowerParamsReqMsg;
5869
5870typedef PACKED_PRE struct PACKED_POST{
5871
5872 tHalMsgHeader header;
5873
5874 /*status of the request */
5875 tANI_U32 status;
5876
5877} tSetPowerParamsResp, *tpSetPowerParamsResp;
5878
5879/*---------------------------------------------------------------------------
5880 ****************Capability bitmap exchange definitions and macros starts*************
5881 *--------------------------------------------------------------------------*/
5882
Anand Kumar012623a2013-01-11 17:00:00 -08005883typedef enum {
5884 MCC = 0,
5885 P2P = 1,
5886 DOT11AC = 2,
5887 SLM_SESSIONIZATION = 3,
5888 DOT11AC_OPMODE = 4,
5889 SAP32STA = 5,
5890 TDLS = 6,
5891 P2P_GO_NOA_DECOUPLE_INIT_SCAN = 7,
5892 WLANACTIVE_OFFLOAD = 8,
5893 BEACON_OFFLOAD = 9,
5894 SCAN_OFFLOAD = 10,
5895 ROAM_OFFLOAD = 11,
5896 BCN_MISS_OFFLOAD = 12,
5897 STA_POWERSAVE = 13,
5898 STA_ADVANCED_PWRSAVE = 14,
5899 AP_UAPSD = 15,
5900 AP_DFS = 16,
5901 BLOCKACK = 17,
5902 PHY_ERR = 18,
5903 BCN_FILTER = 19,
5904 RTT = 20,
5905 RATECTRL = 21,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005906 WOW = 22,
5907 WLAN_ROAM_SCAN_OFFLOAD = 23,
Shailender Karmuchi07f514b2013-06-25 01:14:09 -07005908 SPECULATIVE_PS_POLL = 24,
5909 SCAN_SCH = 25,
Ravi Joshi9e8e7cd2013-07-31 14:54:08 -07005910 IBSS_HEARTBEAT_OFFLOAD = 26,
Yue Maab3ccfc2013-08-14 17:19:08 -07005911 WLAN_PERIODIC_TX_PTRN = 28,
Shailender Karmuchi07f514b2013-06-25 01:14:09 -07005912 MAX_FEATURE_SUPPORTED = 128,
Anand Kumar012623a2013-01-11 17:00:00 -08005913} placeHolderInCapBitmap;
5914
Jeff Johnson295189b2012-06-20 16:38:30 -07005915typedef PACKED_PRE struct PACKED_POST{
5916
5917 tANI_U32 featCaps[4];
Jeff Johnson295189b2012-06-20 16:38:30 -07005918} tWlanFeatCaps, *tpWlanFeatCaps;
5919
5920typedef PACKED_PRE struct PACKED_POST{
5921
Jeff Johnson32d95a32012-09-10 13:15:23 -07005922 tHalMsgHeader header;
Jeff Johnson295189b2012-06-20 16:38:30 -07005923 tWlanFeatCaps wlanFeatCaps;
5924
5925} tWlanFeatCapsMsg, *tpWlanFeatCapsMsg;
5926
Jeff Johnsone7245742012-09-05 17:12:55 -07005927#define IS_MCC_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(MCC)))
5928#define IS_SLM_SESSIONIZATION_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(SLM_SESSIONIZATION)))
Viral Modie50b1d42012-12-10 13:04:52 -08005929#define IS_FEATURE_SUPPORTED_BY_HOST(featEnumValue) (!!halMsg_GetHostWlanFeatCaps(featEnumValue))
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -08005930#define IS_WLANACTIVE_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(WLANACTIVE_OFFLOAD)))
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005931#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5932#define IS_ROAM_SCAN_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(WLAN_ROAM_SCAN_OFFLOAD)))
5933#endif
Ravi Joshi9e8e7cd2013-07-31 14:54:08 -07005934#define IS_IBSS_HEARTBEAT_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(IBSS_HEARTBEAT_OFFLOAD)))
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -08005935
Jeff Johnsone7245742012-09-05 17:12:55 -07005936tANI_U8 halMsg_GetHostWlanFeatCaps(tANI_U8 feat_enum_value);
5937
Jeff Johnson295189b2012-06-20 16:38:30 -07005938#define setFeatCaps(a,b) { tANI_U32 arr_index, bit_index; \
Mohit Khanna3d4e4102012-09-11 17:12:11 -07005939 if ((b)<=127) { \
5940 arr_index = (b)/32; \
5941 bit_index = (b)%32; \
Shailender Karmuchi07f514b2013-06-25 01:14:09 -07005942 if(arr_index < 4) \
Jeff Johnson295189b2012-06-20 16:38:30 -07005943 (a)->featCaps[arr_index] |= (1<<bit_index); \
5944 } \
5945 }
5946#define getFeatCaps(a,b,c) { tANI_U32 arr_index, bit_index; \
Mohit Khanna3d4e4102012-09-11 17:12:11 -07005947 if ((b)<=127) { \
5948 arr_index = (b)/32; \
5949 bit_index = (b)%32; \
5950 (c) = ((a)->featCaps[arr_index] & (1<<bit_index))?1:0; \
Jeff Johnson295189b2012-06-20 16:38:30 -07005951 } \
5952 }
5953#define clearFeatCaps(a,b) { tANI_U32 arr_index, bit_index; \
Mohit Khanna3d4e4102012-09-11 17:12:11 -07005954 if ((b)<=127) { \
5955 arr_index = (b)/32; \
5956 bit_index = (b)%32; \
Jeff Johnsone7245742012-09-05 17:12:55 -07005957 (a)->featCaps[arr_index] &= ~(1<<bit_index); \
Jeff Johnson295189b2012-06-20 16:38:30 -07005958 } \
5959 }
5960
5961/*---------------------------------------------------------------------------
5962 * WLAN_HAL_WAKE_REASON_IND
5963 *--------------------------------------------------------------------------*/
5964
5965/* status codes to help debug rekey failures */
5966typedef enum
5967{
5968 WLAN_HAL_GTK_REKEY_STATUS_SUCCESS = 0,
5969 WLAN_HAL_GTK_REKEY_STATUS_NOT_HANDLED = 1, /* rekey detected, but not handled */
5970 WLAN_HAL_GTK_REKEY_STATUS_MIC_ERROR = 2, /* MIC check error on M1 */
5971 WLAN_HAL_GTK_REKEY_STATUS_DECRYPT_ERROR = 3, /* decryption error on M1 */
5972 WLAN_HAL_GTK_REKEY_STATUS_REPLAY_ERROR = 4, /* M1 replay detected */
5973 WLAN_HAL_GTK_REKEY_STATUS_MISSING_KDE = 5, /* missing GTK key descriptor in M1 */
5974 WLAN_HAL_GTK_REKEY_STATUS_MISSING_IGTK_KDE = 6, /* missing iGTK key descriptor in M1 */
5975 WLAN_HAL_GTK_REKEY_STATUS_INSTALL_ERROR = 7, /* key installation error */
5976 WLAN_HAL_GTK_REKEY_STATUS_IGTK_INSTALL_ERROR = 8, /* iGTK key installation error */
5977 WLAN_HAL_GTK_REKEY_STATUS_RESP_TX_ERROR = 9, /* GTK rekey M2 response TX error */
5978
5979 WLAN_HAL_GTK_REKEY_STATUS_GEN_ERROR = 255 /* non-specific general error */
5980} tGTKRekeyStatus;
5981
5982/* wake reason types */
5983typedef enum
5984{
5985 WLAN_HAL_WAKE_REASON_NONE = 0,
5986 WLAN_HAL_WAKE_REASON_MAGIC_PACKET = 1, /* magic packet match */
5987 WLAN_HAL_WAKE_REASON_PATTERN_MATCH = 2, /* host defined pattern match */
5988 WLAN_HAL_WAKE_REASON_EAPID_PACKET = 3, /* EAP-ID frame detected */
5989 WLAN_HAL_WAKE_REASON_EAPOL4WAY_PACKET = 4, /* start of EAPOL 4-way handshake detected */
5990 WLAN_HAL_WAKE_REASON_NETSCAN_OFFL_MATCH = 5, /* network scan offload match */
5991 WLAN_HAL_WAKE_REASON_GTK_REKEY_STATUS = 6, /* GTK rekey status wakeup (see status) */
5992 WLAN_HAL_WAKE_REASON_BSS_CONN_LOST = 7, /* BSS connection lost */
5993} tWakeReasonType;
5994
5995/*
5996 Wake Packet which is saved at tWakeReasonParams.DataStart
5997 This data is sent for any wake reasons that involve a packet-based wakeup :
5998
5999 WLAN_HAL_WAKE_REASON_TYPE_MAGIC_PACKET
6000 WLAN_HAL_WAKE_REASON_TYPE_PATTERN_MATCH
6001 WLAN_HAL_WAKE_REASON_TYPE_EAPID_PACKET
6002 WLAN_HAL_WAKE_REASON_TYPE_EAPOL4WAY_PACKET
6003 WLAN_HAL_WAKE_REASON_TYPE_GTK_REKEY_STATUS
6004
6005 The information is provided to the host for auditing and debug purposes
6006
6007*/
6008
6009/*
6010 Wake reason indication parameters
6011*/
6012typedef PACKED_PRE struct PACKED_POST
6013{
6014 uint32 ulReason; /* see tWakeReasonType */
6015 uint32 ulReasonArg; /* argument specific to the reason type */
6016 uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
6017 HAL truncates the data (i.e. data packets) this length
6018 will be less than the actual length */
6019 uint32 ulActualDataLen; /* actual length of data */
6020 uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
6021 see specific wake type */
6022} tWakeReasonParams, *tpWakeReasonParams;
6023
6024/*
6025 Wake reason indication
6026*/
6027typedef PACKED_PRE struct PACKED_POST
6028{
6029 tHalMsgHeader header;
6030 tWakeReasonParams wakeReasonParams;
Jeff Johnsone7245742012-09-05 17:12:55 -07006031 tANI_U32 uBssIdx : 8;
6032 tANI_U32 bReserved : 24;
Jeff Johnson295189b2012-06-20 16:38:30 -07006033} tHalWakeReasonInd, *tpHalWakeReasonInd;
6034
6035/*---------------------------------------------------------------------------
6036* WLAN_HAL_GTK_OFFLOAD_REQ
6037*--------------------------------------------------------------------------*/
6038
6039#define HAL_GTK_KEK_BYTES 16
6040#define HAL_GTK_KCK_BYTES 16
6041
6042#define WLAN_HAL_GTK_OFFLOAD_FLAGS_DISABLE (1 << 0)
6043
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -08006044#define GTK_SET_BSS_KEY_TAG 0x1234AA55
6045
Jeff Johnson295189b2012-06-20 16:38:30 -07006046typedef PACKED_PRE struct PACKED_POST
6047{
6048 tANI_U32 ulFlags; /* optional flags */
Jeff Johnson32d95a32012-09-10 13:15:23 -07006049 tANI_U8 aKCK[HAL_GTK_KCK_BYTES]; /* Key confirmation key */
Jeff Johnson295189b2012-06-20 16:38:30 -07006050 tANI_U8 aKEK[HAL_GTK_KEK_BYTES]; /* key encryption key */
6051 tANI_U64 ullKeyReplayCounter; /* replay counter */
Jeff Johnsone7245742012-09-05 17:12:55 -07006052 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07006053} tHalGtkOffloadReqParams, *tpHalGtkOffloadReqParams;
6054
6055typedef PACKED_PRE struct PACKED_POST
6056{
6057 tHalMsgHeader header;
6058 tHalGtkOffloadReqParams gtkOffloadReqParams;
6059} tHalGtkOffloadReqMsg, *tpHalGtkOffloadReqMsg;
6060
6061/*---------------------------------------------------------------------------
6062* WLAN_HAL_GTK_OFFLOAD_RSP
6063*--------------------------------------------------------------------------*/
6064typedef PACKED_PRE struct PACKED_POST
6065{
6066 tANI_U32 ulStatus; /* success or failure */
Jeff Johnsone7245742012-09-05 17:12:55 -07006067 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07006068} tHalGtkOffloadRspParams, *tpHalGtkOffloadRspParams;
6069
6070typedef PACKED_PRE struct PACKED_POST
6071{
6072 tHalMsgHeader header;
6073 tHalGtkOffloadRspParams gtkOffloadRspParams;
6074} tHalGtkOffloadRspMsg, *tpHalGtkOffloadRspMsg;
6075
6076
6077/*---------------------------------------------------------------------------
6078* WLAN_HAL_GTK_OFFLOAD_GETINFO_REQ
6079*--------------------------------------------------------------------------*/
Jeff Johnsone7245742012-09-05 17:12:55 -07006080typedef PACKED_PRE struct PACKED_POST
6081{
6082 tANI_U8 bssIdx;
6083
6084} tHalGtkOffloadGetInfoReqParams, *tptHalGtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07006085
6086typedef PACKED_PRE struct PACKED_POST
6087{
6088 tHalMsgHeader header;
Jeff Johnsone7245742012-09-05 17:12:55 -07006089 tHalGtkOffloadGetInfoReqParams gtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07006090} tHalGtkOffloadGetInfoReqMsg, *tpHalGtkOffloadGetInfoReqMsg;
6091
6092/*---------------------------------------------------------------------------
6093* WLAN_HAL_GTK_OFFLOAD_GETINFO_RSP
6094*--------------------------------------------------------------------------*/
6095typedef PACKED_PRE struct PACKED_POST
6096{
6097 tANI_U32 ulStatus; /* success or failure */
6098 tANI_U32 ulLastRekeyStatus; /* last rekey status when the rekey was offloaded */
6099 tANI_U64 ullKeyReplayCounter; /* current replay counter value */
6100 tANI_U32 ulTotalRekeyCount; /* total rekey attempts */
6101 tANI_U32 ulGTKRekeyCount; /* successful GTK rekeys */
6102 tANI_U32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Jeff Johnsone7245742012-09-05 17:12:55 -07006103 tANI_U8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07006104} tHalGtkOffloadGetInfoRspParams, *tptHalGtkOffloadGetInfoRspParams;
6105
6106typedef PACKED_PRE struct PACKED_POST
6107{
6108 tHalMsgHeader header;
6109 tHalGtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
6110} tHalGtkOffloadGetInfoRspMsg, *tpHalGtkOffloadGetInfoRspMsg;
6111
Madan Mohan Koyyalamudie0c135d2013-03-05 16:59:44 -08006112/*---------------------------------------------------------------------------
6113* WLAN_HAL_DHCP_IND
6114*--------------------------------------------------------------------------*/
6115typedef PACKED_PRE struct PACKED_POST
6116{
6117 /*Indicates the device mode which indicates about the DHCP activity */
6118 tANI_U8 device_mode;
6119 tSirMacAddr macAddr;
6120} tDHCPInfo, *tpDHCPInfo;
6121
6122typedef PACKED_PRE struct PACKED_POST
6123{
6124 tHalMsgHeader header;
6125 tANI_U32 status; /* success or failure */
6126} tDHCPIndStatus, *tpDHCPIndstatus;
6127
Jeff Johnson295189b2012-06-20 16:38:30 -07006128/*
6129 Thermal Mitigation mode of operation.
6130 HAL_THERMAL_MITIGATION_MODE_0 - Based on AMPDU disabling aggregation
6131 HAL_THERMAL_MITIGATION_MODE_1 - Based on AMPDU disabling aggregation and
6132 reducing transmit power
6133 HAL_THERMAL_MITIGATION_MODE_2 - Not supported
6134*/
6135typedef enum
6136{
6137 HAL_THERMAL_MITIGATION_MODE_INVALID = -1,
6138 HAL_THERMAL_MITIGATION_MODE_0,
6139 HAL_THERMAL_MITIGATION_MODE_1,
6140 HAL_THERMAL_MITIGATION_MODE_2,
6141 HAL_THERMAL_MITIGATION_MODE_MAX = WLAN_HAL_MAX_ENUM_SIZE,
6142}tHalThermalMitigationModeType;
6143//typedef tANI_S16 tHalThermalMitigationModeType;
6144
6145/*
6146 Thermal Mitigation level.
6147 Note the levels are incremental i.e HAL_THERMAL_MITIGATION_LEVEL_2 =
6148 HAL_THERMAL_MITIGATION_LEVEL_0 + HAL_THERMAL_MITIGATION_LEVEL_1
6149
6150 HAL_THERMAL_MITIGATION_LEVEL_0 - lowest level of thermal mitigation. This
6151 level indicates normal mode of operation
6152 HAL_THERMAL_MITIGATION_LEVEL_1 - 1st level of thermal mitigation
6153 HAL_THERMAL_MITIGATION_LEVEL_2 - 2nd level of thermal mitigation
6154 HAL_THERMAL_MITIGATION_LEVEL_3 - 3rd level of thermal mitigation
6155 HAL_THERMAL_MITIGATION_LEVEL_4 - 4th level of thermal mitigation
6156*/
Jeff Johnson32d95a32012-09-10 13:15:23 -07006157typedef enum
Jeff Johnson295189b2012-06-20 16:38:30 -07006158{
6159 HAL_THERMAL_MITIGATION_LEVEL_INVALID = -1,
6160 HAL_THERMAL_MITIGATION_LEVEL_0,
6161 HAL_THERMAL_MITIGATION_LEVEL_1,
6162 HAL_THERMAL_MITIGATION_LEVEL_2,
6163 HAL_THERMAL_MITIGATION_LEVEL_3,
6164 HAL_THERMAL_MITIGATION_LEVEL_4,
6165 HAL_THERMAL_MITIGATION_LEVEL_MAX = WLAN_HAL_MAX_ENUM_SIZE,
6166}tHalThermalMitigationLevelType;
6167//typedef tANI_S16 tHalThermalMitigationLevelType;
6168
6169typedef PACKED_PRE struct PACKED_POST
6170{
6171 /* Thermal Mitigation Operation Mode */
6172 tHalThermalMitigationModeType thermalMitMode;
6173
6174 /* Thermal Mitigation Level */
6175 tHalThermalMitigationLevelType thermalMitLevel;
Jeff Johnson32d95a32012-09-10 13:15:23 -07006176
Jeff Johnson295189b2012-06-20 16:38:30 -07006177}tSetThermalMitgationType, *tpSetThermalMitgationType;
6178
6179/* WLAN_HAL_SET_THERMAL_MITIGATION_REQ */
6180typedef PACKED_PRE struct PACKED_POST
6181{
6182 tHalMsgHeader header;
6183 tSetThermalMitgationType thermalMitParams;
6184} tSetThermalMitigationReqMsg, *tpSetThermalMitigationReqMsg;
6185
6186typedef PACKED_PRE struct PACKED_POST{
6187
6188 tHalMsgHeader header;
6189
6190 /*status of the request */
6191 tANI_U32 status;
6192
6193} tSetThermalMitigationResp, *tpSetThermalMitigationResp;
6194
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08006195/* Per STA Class B Statistics. Class B statistics are STA TX/RX stats
6196provided to FW from Host via periodic messages */
6197typedef PACKED_PRE struct PACKED_POST {
6198 /* TX stats */
6199 uint32 txBytesPushed;
6200 uint32 txPacketsPushed;
6201
6202 /* RX stats */
6203 uint32 rxBytesRcvd;
6204 uint32 rxPacketsRcvd;
6205 uint32 rxTimeTotal;
6206} tStaStatsClassB, *tpStaStatsClassB;
6207
6208typedef PACKED_PRE struct PACKED_POST {
6209
6210 /* Duration over which this stats was collected */
6211 tANI_U32 duration;
6212
6213 /* Per STA Stats */
6214 tStaStatsClassB staStatsClassB[HAL_NUM_STA];
6215} tStatsClassBIndParams, *tpStatsClassBIndParams;
6216
6217typedef PACKED_PRE struct PACKED_POST {
6218
6219 tHalMsgHeader header;
6220
6221 /* Class B Stats */
6222 tStatsClassBIndParams statsClassBIndParams;
6223} tStatsClassBInd, *tpStatsClassBInd;
6224
Gopichand Nakkala175de4b2013-05-06 12:02:17 +05306225/*Wifi Proximity paramters in AP mode*/
6226#ifdef FEATURE_WIFI_PROXIMITY
6227
6228typedef PACKED_PRE struct PACKED_POST{
6229
6230 tANI_U8 wifiProximityChannel;
6231 tANI_U32 wifiProximityDuration;
6232 tANI_U32 wifiProximityInterval;
6233 tANI_U32 wifiProximityMode;
6234 tANI_U32 wifiProximityStatus;
6235 tSirMacAddr bssId;
6236 tSirMacSSid ssId;
6237
6238} tSetWifiProximityReqParam, *tpSetWifiProximityReqParam;
6239
6240typedef PACKED_PRE struct PACKED_POST
6241{
6242 tHalMsgHeader header;
6243
6244 tSetWifiProximityReqParam wifiProximityReqParams;
6245
6246}tSetWifiProximityReqMsg, *tpSetWifiProximityReqMsg;
6247
6248/*WLAN_HAL_WIFI_PROXIMITY_RSP*/
6249typedef PACKED_PRE struct PACKED_POST{
6250
6251 tHalMsgHeader header;
6252
6253 /*status of the request */
6254 tANI_U32 status;
6255
6256} tSetWifiProximityRspMsg, *tpSetWifiProxmityRspMsg;
6257
6258#endif
Shailender Karmuchi07f514b2013-06-25 01:14:09 -07006259
6260#ifdef FEATURE_SPECULATIVE_PS_POLL
6261/*---------------------------------------------------------------------------
6262 * WLAN_HAL_START_SPECULATIVE_PS_POLLS_REQ
6263 *--------------------------------------------------------------------------*/
6264typedef PACKED_PRE struct PACKED_POST
6265{
6266 tANI_U8 bssIdx;
6267 tANI_U16 serviceInterval;
6268 tANI_U16 suspendInterval;
6269 tANI_U8 acMask;
6270} tHalStartSpecPsPollReqParams, *tpHalStartSpecPsPollReqParams;
6271
6272typedef PACKED_PRE struct PACKED_POST
6273{
6274 tHalMsgHeader header;
6275 tHalStartSpecPsPollReqParams specPsPollReq;
6276} tHalStartSpecPsPollReqMsg, *tpHalStartSpecPsPollReqMsg;
6277
6278/*---------------------------------------------------------------------------
6279 * WLAN_HAL_START_SPECULATIVE_PS_POLLS_RSP
6280 *--------------------------------------------------------------------------*/
6281typedef PACKED_PRE struct PACKED_POST
6282{
6283 /* success or failure */
6284 tANI_U32 status;
6285 tANI_U8 bssIdx;
6286} tHalStartSpecPsPollRspParams, *tpHalStartSpecPsPollRspParams;
6287
6288typedef PACKED_PRE struct PACKED_POST
6289{
6290 tHalMsgHeader header;
6291 tHalStartSpecPsPollRspParams startSpecPsPollRspParams;
6292} tHalStartSpecPsPollRspMsg, *tpHalStartSpecPsPollRspMsg;
6293
6294/*---------------------------------------------------------------------------
6295 * WLAN_HAL_STOP_SPECULATIVE_PS_POLLS_IND
6296 *--------------------------------------------------------------------------*/
6297typedef PACKED_PRE struct PACKED_POST
6298{
6299 tHalMsgHeader header;
6300 tANI_U8 bssIdx;
6301} tHalStopSpecPsPollsIndMsg, *tpHalStopSpecPsPollsIndMsg;
6302#endif
6303
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306304#ifdef FEATURE_WLAN_TDLS
6305/*---------------------------------------------------------------------------
6306 * WLAN_HAL_TDLS_LINK_ESTABLISHED_REQ
6307 *-------------------------------------------------------------------------*/
6308typedef PACKED_PRE struct PACKED_POST
6309{
6310 /*STA Index*/
6311 tANI_U16 staIdx;
6312
6313 /* if this is 1, self is initiator and peer is reponder */
6314 tANI_U8 bIsResponder;
6315
6316 /* QoS Info */
6317 tANI_U8 acVOUAPSDFlag:1;
6318 tANI_U8 acVIUAPSDFlag:1;
6319 tANI_U8 acBKUAPSDFlag:1;
6320 tANI_U8 acBEUAPSDFlag:1;
6321 tANI_U8 aAck:1;
6322 tANI_U8 maxServicePeriodLength:2;
6323 tANI_U8 moreDataAck:1;
6324
6325 /*TDLS Peer U-APSD Buffer STA Support*/
6326 tANI_U8 TPUBufferStaSupport;
6327
6328}tTDLSLinkEstablishedType, *tpTDLSLinkEstablishedType;
6329
6330typedef PACKED_PRE struct PACKED_POST
6331{
6332 tHalMsgHeader header;
6333 tTDLSLinkEstablishedType tdlsLinkEstablishedParams;
6334} tTDLSLinkEstablishedReqMsg, *tpTDLSLinkEstablishedReqMsg;
6335
6336/*---------------------------------------------------------------------------
6337 * WLAN_HAL_TDLS_LINK_ESTABLISHED_RSP
6338 *-------------------------------------------------------------------------*/
6339
6340typedef PACKED_PRE struct PACKED_POST
6341{
6342 tANI_U32 status;
6343
6344 /*STA Index*/
6345 tANI_U16 staIdx;
6346} tTDLSLinkEstablishedResp, *tpTDLSLinkEstablishedResp;
6347
6348typedef PACKED_PRE struct PACKED_POST
6349{
6350 tHalMsgHeader header;
6351 tTDLSLinkEstablishedResp TDLSLinkEstablishedRespParams;
6352} tTDLSLinkEstablishedRespMsg, *tpTDLSLinkEstablishedRespMsg;
6353
6354/*---------------------------------------------------------------------------
6355 * WLAN_HAL_TDLS_LINK_TEARDOWN_REQ
6356 *-------------------------------------------------------------------------*/
6357typedef PACKED_PRE struct PACKED_POST
6358{
6359 /*STA Index*/
6360 tANI_U16 staIdx;
6361}tTDLSLinkTeardownType, *tpTDLSLinkTeardownType;
6362
6363typedef PACKED_PRE struct PACKED_POST
6364{
6365 tHalMsgHeader header;
6366 tTDLSLinkTeardownType tdlsLinkTeardownParams;
6367} tTDLSLinkTeardownReqMsg, *tpTDLSLinkTeardownReqMsg;
6368
6369/*---------------------------------------------------------------------------
6370 * WLAN_HAL_TDLS_LINK_TEARDOWN_RSP
6371 *-------------------------------------------------------------------------*/
6372
6373typedef PACKED_PRE struct PACKED_POST
6374{
6375 tANI_U32 status;
6376
6377 /*STA Index*/
6378 tANI_U16 staIdx;
6379} tTDLSLinkTeardownResp, *tpTDLSLinkTeardownResp;
6380
6381typedef PACKED_PRE struct PACKED_POST
6382{
6383 tHalMsgHeader header;
6384 tTDLSLinkTeardownResp TDLSLinkTeardownRespParams;
6385} tTDLSLinkTeardownRespMsg, *tpTDLSLinkTeardownRespMsg;
6386
6387/*---------------------------------------------------------------------------
6388 *WLAN_HAL_TDLS_IND
6389 *--------------------------------------------------------------------------*/
6390
6391typedef PACKED_PRE struct PACKED_POST
6392{
6393 tANI_U16 assocId;
6394 tANI_U16 staIdx;
6395 tANI_U16 status;
6396 tANI_U16 reasonCode;
6397}tTdlsIndParams, *tpTdlsIndParams;
6398
6399
6400typedef PACKED_PRE struct PACKED_POST
6401{
6402 tHalMsgHeader header;
6403 tTdlsIndParams tdlsIndParams;
6404}tTdlsIndMsg, *tpTdlsIndMsg;
6405
6406#endif
6407
Ravi Joshi9e8e7cd2013-07-31 14:54:08 -07006408/*---------------------------------------------------------------------------
6409 *WLAN_HAL_IBSS_PEER_INACTIVITY_IND
6410 *--------------------------------------------------------------------------*/
6411
6412typedef PACKED_PRE struct PACKED_POST
6413{
6414 tANI_U8 bssIdx;
6415 tANI_U8 staIdx;
6416 tSirMacAddr staAddr;
6417}tIbssPeerInactivityIndParams, *tpIbssPeerInactivityIndParams;
6418
6419
6420typedef PACKED_PRE struct PACKED_POST
6421{
6422 tHalMsgHeader header;
6423 tIbssPeerInactivityIndParams ibssPeerInactivityIndParams;
6424}tIbssPeerInactivityIndMsg, *tpIbssPeerInactivityIndMsg;
6425
6426
Jeff Johnson295189b2012-06-20 16:38:30 -07006427#if defined(__ANI_COMPILER_PRAGMA_PACK_STACK)
6428#pragma pack(pop)
6429#elif defined(__ANI_COMPILER_PRAGMA_PACK)
6430#else
6431#endif
6432
6433#endif /* _WLAN_HAL_MSG_H_ */
Jeff Johnsond13512a2012-07-17 11:42:19 -07006434