blob: d77f5cf0c34297fed133cdfbd0ec62c2f243dac0 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Kiet Lam842dad02014-02-18 18:44:02 -08002 * Copyright (c) 2012-2014 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 */
Kiet Lamaa8e15a2014-02-11 23:30:06 -080021
Jeff Johnson295189b2012-06-20 16:38:30 -070022/*
Kiet Lama7f454d2014-07-24 12:04:06 -070023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
Kiet Lam842dad02014-02-18 18:44:02 -080026 */
27
28
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Kiet Lam842dad02014-02-18 18:44:02 -080031/*
Jeff Johnson295189b2012-06-20 16:38:30 -070032 * aniGlobal.h: MAC Modules Adapter Definitions.
33 * Author: V. K. Kandarpa
34 * Date: 10/25/2002
35 *
36 * History:-
37 * Date: 04/08/2008 Modified by: Santosh Mandiganal
38 * Modification Information: Added the logDump.h header file and defined the
39 * dumpTablecurrentId, dumpTableEntry.
40 * --------------------------------------------------------------------------
41 *
42 */
43
44#ifndef _ANIGLOBAL_H
45#define _ANIGLOBAL_H
46
47// Take care to avoid redefinition of this type, if it is
48// already defined in "halWmmApi.h"
49#if !defined(_HALMAC_WMM_API_H)
50typedef struct sAniSirGlobal *tpAniSirGlobal;
51#endif
52
53#include "halTypes.h"
54#include "sirCommon.h"
55#include "aniSystemDefs.h"
Jeff Johnson295189b2012-06-20 16:38:30 -070056#include "sysDef.h"
Jeff Johnson295189b2012-06-20 16:38:30 -070057#include "dphGlobal.h"
58#include "limGlobal.h"
59#include "pmmGlobal.h"
60#include "schGlobal.h"
61#include "sysGlobal.h"
62#include "cfgGlobal.h"
63#include "utilsGlobal.h"
64#include "sirApi.h"
65
Jeff Johnson295189b2012-06-20 16:38:30 -070066
Jeff Johnson295189b2012-06-20 16:38:30 -070067#include "wlan_qct_hal.h"
Jeff Johnson295189b2012-06-20 16:38:30 -070068
Jeff Johnson295189b2012-06-20 16:38:30 -070069#include "pmc.h"
Jeff Johnson295189b2012-06-20 16:38:30 -070070
71#include "csrApi.h"
72#ifdef WLAN_FEATURE_VOWIFI_11R
73#include "sme_FTApi.h"
74#endif
75#include "csrSupport.h"
76#include "smeInternal.h"
77#include "ccmApi.h"
78#include "btcApi.h"
79#include "csrInternal.h"
80
Jeff Johnsone7245742012-09-05 17:12:55 -070081#ifdef FEATURE_OEM_DATA_SUPPORT
82#include "oemDataInternal.h"
83#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070084
85#if defined WLAN_FEATURE_VOWIFI
86#include "smeRrmInternal.h"
87#include "rrmGlobal.h"
88#endif
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080089#if defined(FEATURE_WLAN_ESE) && !defined(FEATURE_WLAN_ESE_UPLOAD)
90#include "eseApi.h"
91#include "eseGlobal.h"
Jeff Johnson295189b2012-06-20 16:38:30 -070092#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070093#include "p2p_Api.h"
Jeff Johnson295189b2012-06-20 16:38:30 -070094
95#if defined WLAN_FEATURE_VOWIFI_11R
96#include <limFTDefs.h>
97#endif
98
99
100#ifdef ANI_DVT_DEBUG
101#include "dvtModule.h"
102#endif
103
104// New HAL API interface defs.
105#include "logDump.h"
106
Jeff Johnson295189b2012-06-20 16:38:30 -0700107//Check if this definition can actually move here from halInternal.h even for Volans. In that case
108//this featurization can be removed.
109#define PMAC_STRUCT( _hHal ) ( (tpAniSirGlobal)_hHal )
Jeff Johnson295189b2012-06-20 16:38:30 -0700110
111#define ANI_DRIVER_TYPE(pMac) (((tpAniSirGlobal)(pMac))->gDriverType)
112// -------------------------------------------------------------------
113// Bss Qos Caps bit map definition
114#define LIM_BSS_CAPS_OFFSET_HCF 0
115#define LIM_BSS_CAPS_OFFSET_WME 1
116#define LIM_BSS_CAPS_OFFSET_WSM 2
117
118#define LIM_BSS_CAPS_HCF (1 << LIM_BSS_CAPS_OFFSET_HCF)
119#define LIM_BSS_CAPS_WME (1 << LIM_BSS_CAPS_OFFSET_WME)
120#define LIM_BSS_CAPS_WSM (1 << LIM_BSS_CAPS_OFFSET_WSM)
121
122// cap should be one of HCF/WME/WSM
123#define LIM_BSS_CAPS_GET(cap, val) (((val) & (LIM_BSS_CAPS_ ## cap)) >> LIM_BSS_CAPS_OFFSET_ ## cap)
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800124#define LIM_BSS_CAPS_SET(cap, val) ((val) |= (LIM_BSS_CAPS_ ## cap ))
125#define LIM_BSS_CAPS_CLR(cap, val) ((val) &= (~ (LIM_BSS_CAPS_ ## cap)))
Jeff Johnson295189b2012-06-20 16:38:30 -0700126
127// 40 beacons per heart beat interval is the default + 1 to count the rest
128#define MAX_NO_BEACONS_PER_HEART_BEAT_INTERVAL 41
129
130/* max number of legacy bssid we can store during scan on one channel */
131#define MAX_NUM_LEGACY_BSSID_PER_CHANNEL 10
132
Jeff Johnson295189b2012-06-20 16:38:30 -0700133#define P2P_WILDCARD_SSID "DIRECT-" //TODO Put it in proper place;
134#define P2P_WILDCARD_SSID_LEN 7
135
136#ifdef WLAN_FEATURE_CONCURRENT_P2P
137#define MAX_NO_OF_P2P_SESSIONS 5
138#endif //WLAN_FEATURE_CONCURRENT_P2P
Jeff Johnson295189b2012-06-20 16:38:30 -0700139
Srinivas Girigowdade697412013-02-14 16:31:48 -0800140#define SPACE_ASCII_VALUE 32
141
Rajeev79dbe4c2013-10-05 11:03:42 +0530142#ifdef FEATURE_WLAN_BATCH_SCAN
143#define EQUALS_TO_ASCII_VALUE (61)
144#endif
145
Jeff Johnson295189b2012-06-20 16:38:30 -0700146// -------------------------------------------------------------------
147// Change channel generic scheme
148typedef void (*CHANGE_CHANNEL_CALLBACK)(tpAniSirGlobal pMac, eHalStatus status, tANI_U32 *data,
149 tpPESession psessionEntry);
150
151/// LIM global definitions
152typedef struct sAniSirLimIbss
153{
154 void *pHdr;
155 void *pBeacon;
156} tAniSirLimIbss;
157
158typedef struct sDialogueToken
159{
160 //bytes 0-3
161 tANI_U16 assocId;
162 tANI_U8 token;
163 tANI_U8 rsvd1;
164 //Bytes 4-7
165 tANI_U16 tid;
166 tANI_U8 rsvd2[2];
167
168 struct sDialogueToken* next;
169}tDialogueToken, *tpDialogueToken;
170
171typedef struct sLimTimers
172{
173 //TIMERS IN LIM ARE NOT SUPPOSED TO BE ZEROED OUT DURING RESET.
174 //DURING limInitialize DONOT ZERO THEM OUT.
175
176//STA SPECIFIC TIMERS
Jeff Johnson295189b2012-06-20 16:38:30 -0700177 // Periodic background scan timer
178 TX_TIMER gLimBackgroundScanTimer;
Jeff Johnson295189b2012-06-20 16:38:30 -0700179
180 TX_TIMER gLimPreAuthClnupTimer;
181 //TX_TIMER gLimAuthResponseTimer[HAL_NUM_STA];
182
183 // Association related timers
184 TX_TIMER gLimAssocFailureTimer;
185 TX_TIMER gLimReassocFailureTimer;
186
187
188 /// Heartbeat timer on STA
189 TX_TIMER gLimHeartBeatTimer;
190
191 /// Wait for Probe after Heartbeat failure timer on STA
192 TX_TIMER gLimProbeAfterHBTimer;
193
194
195 // Authentication related timers
196 TX_TIMER gLimAuthFailureTimer;
197
198 // Join Failure timeout on STA
199 TX_TIMER gLimJoinFailureTimer;
200
201 // Keepalive timer
202 TX_TIMER gLimKeepaliveTimer;
203
204 // Scan related timers
205 TX_TIMER gLimMinChannelTimer;
206 TX_TIMER gLimMaxChannelTimer;
207 TX_TIMER gLimPeriodicProbeReqTimer;
208
209 // CNF_WAIT timer
210 TX_TIMER *gpLimCnfWaitTimer;
211
Jeff Johnson295189b2012-06-20 16:38:30 -0700212 TX_TIMER gLimAddtsRspTimer; // max wait for a response
213
214 // Update OLBC Cache Timer
215 TX_TIMER gLimUpdateOlbcCacheTimer;
216
217 TX_TIMER gLimChannelSwitchTimer;
218 // This TIMER is started on the STA, as indicated by the
219 // AP in its Quiet BSS IE, for the specified interval
220 TX_TIMER gLimQuietTimer;
221 // This TIMER is started on the AP, prior to the AP going
222 // into LEARN mode
223 // This TIMER is started on the STA, for the specified
224 // quiet duration
225 TX_TIMER gLimQuietBssTimer;
226
227#ifdef WLAN_FEATURE_VOWIFI_11R
228 TX_TIMER gLimFTPreAuthRspTimer;
229#endif
230
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800231#ifdef FEATURE_WLAN_ESE
232 TX_TIMER gLimEseTsmTimer;
Jeff Johnson295189b2012-06-20 16:38:30 -0700233#endif
Mohit Khanna698ba2a2012-12-04 15:08:18 -0800234#ifdef FEATURE_WLAN_TDLS_INTERNAL
235 TX_TIMER gLimTdlsDisRspWaitTimer;
236 TX_TIMER gLimTdlsLinkSetupRspTimeouTimer;
237 TX_TIMER gLimTdlsLinkSetupCnfTimeoutTimer;
238#endif
239
Madan Mohan Koyyalamudi9aff9ff2012-11-29 11:27:25 -0800240 TX_TIMER gLimPeriodicJoinProbeReqTimer;
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -0800241 TX_TIMER gLimDisassocAckTimer;
242 TX_TIMER gLimDeauthAckTimer;
Viral Modid86bde22012-12-10 13:09:21 -0800243 // This timer is started when single shot NOA insert msg is sent to FW for scan in P2P GO mode
244 TX_TIMER gLimP2pSingleShotNoaInsertTimer;
Gopichand Nakkalad492d202013-05-10 02:50:47 +0530245 /* This timer is used to convert active channel to
246 * passive channel when there is no beacon
247 * for a period of time on a particular DFS channel
248 */
249 TX_TIMER gLimActiveToPassiveChannelTimer;
Jeff Johnson295189b2012-06-20 16:38:30 -0700250//********************TIMER SECTION ENDS**************************************************
251// ALL THE FIELDS BELOW THIS CAN BE ZEROED OUT in limInitialize
252//****************************************************************************************
253
254}tLimTimers;
255
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -0800256typedef struct {
257 void *pMlmDisassocReq;
258 void *pMlmDeauthReq;
259}tLimDisassocDeauthCnfReq;
Jeff Johnson295189b2012-06-20 16:38:30 -0700260
261typedef struct sAniSirLim
262{
263 ////////////////////////////////////// TIMER RELATED START ///////////////////////////////////////////
264
265 tLimTimers limTimers;
266 /// Flag to track if LIM timers are created or not
267 tANI_U32 gLimTimersCreated;
268
269
270 ////////////////////////////////////// TIMER RELATED END ///////////////////////////////////////////
271
272 ////////////////////////////////////// SCAN/LEARN RELATED START ///////////////////////////////////////////
273 /**
274 * This flag when set, will use scan mode instead of
275 * Learn mode on BP/AP. By default this flag is set
276 * to true until HIF getting stuck in 0x800 state is
277 * debugged.
278 */
279 tANI_U32 gLimUseScanModeForLearnMode;
280
281 /**
282 * This is useful for modules other than LIM
283 * to see if system is in scan/learn mode or not
284 */
285 tANI_U32 gLimSystemInScanLearnMode;
286
287 // Scan related globals on STA
288 tANI_U8 gLimReturnAfterFirstMatch;
289 tANI_U8 gLim24Band11dScanDone;
290 tANI_U8 gLim50Band11dScanDone;
291 tANI_U8 gLimReturnUniqueResults;
292
293 // Background Scan related globals on STA
294 tANI_U32 gLimNumOfBackgroundScanSuccess;
295 tANI_U32 gLimNumOfConsecutiveBkgndScanFailure;
296 tANI_U32 gLimNumOfForcedBkgndScan;
297 tANI_U8 gLimBackgroundScanDisable; //based on BG timer
298 tANI_U8 gLimForceBackgroundScanDisable; //debug control flag
299 tANI_U8 gLimBackgroundScanTerminate; //controlled by SME
300 tANI_U8 gLimReportBackgroundScanResults;//controlled by SME
301
302 /// Place holder for current channel ID
303 /// being scanned
304 tANI_U32 gLimCurrentScanChannelId;
305
306 // Hold onto SCAN criteria
Viral Modid440e682013-03-06 02:25:31 -0800307 /* The below is used in P2P GO case when we need to defer processing SME Req
308 * to LIM and insert NOA first and process SME req once SNOA is started
309 */
310 tANI_U16 gDeferMsgTypeForNOA;
311 tANI_U32 *gpDefdSmeMsgForNOA;
312
Jeff Johnson295189b2012-06-20 16:38:30 -0700313 tLimMlmScanReq *gpLimMlmScanReq;
314
315 /// This indicates total length of 'matched' scan results
316 tANI_U16 gLimMlmScanResultLength;
317
318 /// This indicates total length of 'cached' scan results
319 tANI_U16 gLimSmeScanResultLength;
320
321 /**
322 * Hash table definition for storing SCAN results
323 * This is the placed holder for 'cached' scan results
324 */
325 tLimScanResultNode
326 *gLimCachedScanHashTable[LIM_MAX_NUM_OF_SCAN_RESULTS];
327
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700328 /// This indicates total length of 'matched' scan results
329 tANI_U16 gLimMlmLfrScanResultLength;
330
331 /// This indicates total length of 'cached' scan results
332 tANI_U16 gLimSmeLfrScanResultLength;
333
334 /**
335 * Hash table definition for storing LFR SCAN results
336 * This is the placed holder for roaming candidates as forwarded
337 * by FW
338 */
339 tLimScanResultNode
340 *gLimCachedLfrScanHashTable[LIM_MAX_NUM_OF_SCAN_RESULTS];
341
Jeff Johnson295189b2012-06-20 16:38:30 -0700342 /// Place holder for current channel ID
343 /// being scanned during background scanning
344 tANI_U32 gLimBackgroundScanChannelId;
345 /// flag to indicate that bacground scan timer has been started
346 tANI_U8 gLimBackgroundScanStarted;
347
348 /* Used to store the list of legacy bss sta detected during scan on one channel */
349 tANI_U16 gLimRestoreCBNumScanInterval;
350 tANI_U16 gLimRestoreCBCount;
351 tSirMacAddr gLimLegacyBssidList[MAX_NUM_LEGACY_BSSID_PER_CHANNEL];
Jeff Johnson295189b2012-06-20 16:38:30 -0700352
353 //
354 // If this flag is 1,
355 // then, LIM will "try and trigger" a background
356 // scan whenever it receives a Quiet BSS IE
357 //
358 // If this flag is 0,
359 // then, LIM will simply shut-off Tx/Rx whenever it
360 // receives a Quiet BSS IE.
361 // This is the default behavior when a Quiet BSS IE
362 // is received and 11H is enabled
363 //
364 tANI_U32 gLimTriggerBackgroundScanDuringQuietBss;
365
Jeff Johnson295189b2012-06-20 16:38:30 -0700366
Jeff Johnson295189b2012-06-20 16:38:30 -0700367 // This variable store the total duration to do scan
368 tANI_U32 gTotalScanDuration;
Jeff Johnsone7245742012-09-05 17:12:55 -0700369 tANI_U32 p2pRemOnChanTimeStamp;
Jeff Johnson295189b2012-06-20 16:38:30 -0700370
371 // abort scan is used to abort an on-going scan
372 tANI_U8 abortScan;
373 tLimScanChnInfo scanChnInfo;
374
375 ////////////////////////////////////// SCAN/LEARN RELATED START ///////////////////////////////////////////
376 tSirMacAddr gSelfMacAddr; //added for BT-AMP Support
Siddharth Bhal4f3187c2014-10-09 21:38:08 +0530377 tSirMacAddr spoofMacAddr; //added for Mac Addr Spoofing support
378 tANI_U8 isSpoofingEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -0700379
380 ////////////////////////////////////////// BSS RELATED END ///////////////////////////////////////////
381 // Place holder for StartBssReq message
382 // received by SME state machine
383
Jeff Johnson62c27982013-02-27 17:53:55 -0800384 tANI_U8 gLimCurrentBssUapsd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700385
Jeff Johnson62c27982013-02-27 17:53:55 -0800386 /* This is used for testing sta legacy bss detect feature */
387 tANI_U8 gLimForceNoPropIE;
Jeff Johnson295189b2012-06-20 16:38:30 -0700388
389 //
390 // Store the BSS Index returned by HAL during
391 // WDA_ADD_BSS_RSP here.
392 //
393 // For now:
394 // This will be used during WDA_SET_BSSKEY_REQ in
395 // order to set the GTK
396 // Later:
397 // There could be other interfaces needing this info
398 //
399
400 //
401 // Due to the asynchronous nature of the interface
402 // between PE <-> HAL, some transient information
403 // like this needs to be cached.
404 // This is cached upon receipt of eWNI_SME_SETCONTEXT_REQ.
405 // This is released while posting LIM_MLM_SETKEYS_CNF
406 //
407 void* gpLimMlmSetKeysReq;
408 void* gpLimMlmRemoveKeyReq;
409
410 //On STA: staid for self generated by HAL and sent as response to 'ADD STA' msg.
411 //On AP: staid corresponding to BSS generated by HAL and sent as response to 'ADD BSS' msg.
412 // tANI_U16 gLimStaid; // TO SUPPORT BT-AMP
413
414 ////////////////////////////////////////// BSS RELATED END ///////////////////////////////////////////
415
416 ////////////////////////////////////////// IBSS RELATED START ///////////////////////////////////////////
417 // This indicates whether we've a partner
418 // that is also transmitting Beacon frame
419 // in IBSS
420 //tANI_U8 gLimIbssActive; oct1 review
421
422 //This indicates whether this STA coalesced and adapter to peer's capabilities or not.
423 tANI_U8 gLimIbssCoalescingHappened;
424
425 /// Definition for storing IBSS peers BSS description
426 tLimIbssPeerNode *gLimIbssPeerList;
427 tANI_U32 gLimNumIbssPeers;
Sushant Kaushike06bd872015-03-12 16:17:48 +0530428 tANI_U32 gLimIbssRetryCnt;
Jeff Johnson295189b2012-06-20 16:38:30 -0700429
430 // ibss info - params for which ibss to join while coalescing
431 tAniSirLimIbss ibssInfo;
432
433 ////////////////////////////////////////// IBSS RELATED END ///////////////////////////////////////////
434
435 ////////////////////////////////////////// STATS/COUNTER RELATED START ///////////////////////////////////////////
436
437 tANI_U16 maxStation;
438 tANI_U16 maxBssId;
439
440 tANI_U32 gLimNumBeaconsRcvd;
441 tANI_U32 gLimNumBeaconsIgnored;
442
443 tANI_U32 gLimNumDeferredMsgs;
444
445 /// Variable to keep track of number of currently associated STAs
Jeff Johnson295189b2012-06-20 16:38:30 -0700446 tANI_U16 gLimNumOfAniSTAs; // count of ANI peers
447 tANI_U16 gLimAssocStaLimit;
448
449 /// This indicates number of RXed Beacons during HB period
450 // tANI_U8 gLimRxedBeaconCntDuringHB;
451
452 // Heart-Beat interval value
453 tANI_U32 gLimHeartBeatCount;
Abhishek Singhde51a412014-05-20 19:17:26 +0530454 tSirMacAddr gLimHeartBeatApMac[2];
455 tANI_U8 gLimHeartBeatApMacIndex;
Jeff Johnson295189b2012-06-20 16:38:30 -0700456
457 // Statistics to keep track of no. beacons rcvd in heart beat interval
458 tANI_U16 gLimHeartBeatBeaconStats[MAX_NO_BEACONS_PER_HEART_BEAT_INTERVAL];
459
460#ifdef WLAN_DEBUG
461 // Debug counters
462 tANI_U32 numTot, numBbt, numProtErr, numLearn, numLearnIgnore;
463 tANI_U32 numSme, numMAC[4][16];
464
465 // Debug counter to track number of Assoc Req frame drops
466 // when received in pStaDs->mlmState other than LINK_ESTABLISED
467 tANI_U32 gLimNumAssocReqDropInvldState;
468 // counters to track rejection of Assoc Req due to Admission Control
469 tANI_U32 gLimNumAssocReqDropACRejectTS;
470 tANI_U32 gLimNumAssocReqDropACRejectSta;
471 // Debug counter to track number of Reassoc Req frame drops
472 // when received in pStaDs->mlmState other than LINK_ESTABLISED
473 tANI_U32 gLimNumReassocReqDropInvldState;
474 // Debug counter to track number of Hash Miss event that
475 // will not cause a sending of de-auth/de-associate frame
476 tANI_U32 gLimNumHashMissIgnored;
477
478 // Debug counter to track number of Beacon frames
479 // received in unexpected state
480 tANI_U32 gLimUnexpBcnCnt;
481
482 // Debug counter to track number of Beacon frames
483 // received in wt-join-state that do have SSID mismatch
484 tANI_U32 gLimBcnSSIDMismatchCnt;
485
486 // Debug counter to track number of Link establishments on STA/BP
487 tANI_U32 gLimNumLinkEsts;
488
489 // Debug counter to track number of Rx cleanup
490 tANI_U32 gLimNumRxCleanup;
491
492 // Debug counter to track different parse problem
493 tANI_U32 gLim11bStaAssocRejectCount;
494
495#endif
496
497 //Time stamp of the last beacon received from the BSS to which STA is connected.
498 tANI_U64 gLastBeaconTimeStamp;
499 //RX Beacon count for the current BSS to which STA is connected.
500 tANI_U32 gCurrentBssBeaconCnt;
501 tANI_U8 gLastBeaconDtimCount;
502 tANI_U8 gLastBeaconDtimPeriod;
503
504
505 ////////////////////////////////////////// STATS/COUNTER RELATED END ///////////////////////////////////////////
506
507
508 ////////////////////////////////////////// STATES RELATED START ///////////////////////////////////////////
509 // Counts Heartbeat failures
510 tANI_U8 gLimHBfailureCntInLinkEstState;
511 tANI_U8 gLimProbeFailureAfterHBfailedCnt;
512 tANI_U8 gLimHBfailureCntInOtherStates;
513
514 /**
515 * This variable indicates whether LIM module need to
516 * send response to host. Used to identify whether a request
517 * is generated internally within LIM module or by host
518 */
519 tANI_U8 gLimRspReqd;
520
521 /// Previous SME State
522 tLimSmeStates gLimPrevSmeState;
523
524 /// MLM State visible across all Sirius modules
525 tLimMlmStates gLimMlmState;
526
527 /// Previous MLM State
528 tLimMlmStates gLimPrevMlmState;
529
530#ifdef GEN4_SCAN
531 // LIM to HAL SCAN Management Message Interface states
532 tLimLimHalScanState gLimHalScanState;
533//WLAN_SUSPEND_LINK Related
534 SUSPEND_RESUME_LINK_CALLBACK gpLimSuspendCallback;
535 tANI_U32 *gpLimSuspendData;
536 SUSPEND_RESUME_LINK_CALLBACK gpLimResumeCallback;
537 tANI_U32 *gpLimResumeData;
538//end WLAN_SUSPEND_LINK Related
539 tANI_U8 fScanDisabled;
540 //Can be set to invalid channel. If it is invalid, HAL
541 //should move to previous valid channel or stay in the
Jeff Johnsone7245742012-09-05 17:12:55 -0700542 //current channel. CB state goes along with channel to resume to
543 tANI_U16 gResumeChannel;
544 ePhyChanBondState gResumePhyCbState;
Jeff Johnson295189b2012-06-20 16:38:30 -0700545#endif // GEN4_SCAN
546
547 // Change channel generic scheme
548 CHANGE_CHANNEL_CALLBACK gpchangeChannelCallback;
549 tANI_U32 *gpchangeChannelData;
550
551 /// SME State visible across all Sirius modules
552 tLimSmeStates gLimSmeState;
553 /// This indicates whether we're an AP, STA in BSS/IBSS
554 tLimSystemRole gLimSystemRole;
555
556 // Number of STAs that do not support short preamble
557 tLimNoShortParams gLimNoShortParams;
558
559 // Number of STAs that do not support short slot time
560 tLimNoShortSlotParams gLimNoShortSlotParams;
561
562
563 // OLBC parameters
564 tLimProtStaParams gLimOverlap11gParams;
565
566 tLimProtStaParams gLimOverlap11aParams;
567 tLimProtStaParams gLimOverlapHt20Params;
568 tLimProtStaParams gLimOverlapNonGfParams;
569
570 //
571 // ---------------- DPH -----------------------
572 // these used to live in DPH but are now moved here (where they belong)
573 tANI_U32 gLimPhyMode;
574 tANI_U32 propRateAdjustPeriod;
575 tANI_U32 scanStartTime; // used to measure scan time
576
Jeff Johnsone7245742012-09-05 17:12:55 -0700577 //tANI_U8 gLimBssid[6];
Jeff Johnson295189b2012-06-20 16:38:30 -0700578 tANI_U8 gLimMyMacAddr[6];
579 tANI_U8 ackPolicy;
580
581 tANI_U8 gLimQosEnabled:1; //11E
582 tANI_U8 gLimWmeEnabled:1; //WME
583 tANI_U8 gLimWsmEnabled:1; //WSM
584 tANI_U8 gLimHcfEnabled:1;
585 tANI_U8 gLim11dEnabled:1;
586 tANI_U8 gLimProbeRespDisableFlag:1; // control over probe response
587 // ---------------- DPH -----------------------
588
589 ////////////////////////////////////////// STATES RELATED END ///////////////////////////////////////////
590
591 ////////////////////////////////////////// MISC RELATED START ///////////////////////////////////////////
Jeff Johnson295189b2012-06-20 16:38:30 -0700592
593 // WDS info
594 tANI_U32 gLimNumWdsInfoInd;
595 tANI_U32 gLimNumWdsInfoSet;
596 tSirWdsInfo gLimWdsInfo;
597
598 // Deferred Queue Paramters
599 tLimDeferredMsgQParams gLimDeferredMsgQ;
600
601 // addts request if any - only one can be outstanding at any time
602 tSirAddtsReq gLimAddtsReq;
603 tANI_U8 gLimAddtsSent;
604 tANI_U8 gLimAddtsRspTimerCount;
605
606 //protection related config cache
607 tCfgProtection cfgProtection;
608
609 tANI_U8 gLimProtectionControl;
610 //RF band to determibe 2.4/5 GHZ
611
612 // alternate radio info used by STA
613 tSirAlternateRadioInfo gLimAlternateRadio;
614
615 //This flag will remain to be set except while LIM is waiting for specific response messages
616 //from HAL. e.g when LIM issues ADD_STA req it will clear this flag and when it will receive
617 //the response the flag will be set.
618 tANI_U8 gLimProcessDefdMsgs;
619
620 // UAPSD flag used on AP
621 tANI_U8 gUapsdEnable;
622
623 /* Used on STA, this is a static UAPSD mask setting
624 * derived from SME_JOIN_REQ and SME_REASSOC_REQ. If a
625 * particular AC bit is set, it means the AC is both
626 * trigger enabled and delivery enabled.
627 */
628 tANI_U8 gUapsdPerAcBitmask;
629
630 /* Used on STA, this is a dynamic UPASD mask setting
631 * derived from AddTS Rsp and DelTS frame. If a
632 * particular AC bit is set, it means AC is trigger
633 * enabled.
634 */
635 tANI_U8 gUapsdPerAcTriggerEnableMask;
636
637 /* Used on STA, dynamic UPASD mask setting
638 * derived from AddTS Rsp and DelTs frame. If
639 * a particular AC bit is set, it means AC is
640 * delivery enabled.
641 */
642 tANI_U8 gUapsdPerAcDeliveryEnableMask;
643
644 /* Used on STA for AC downgrade. This is a dynamic mask
645 * setting which keep tracks of ACs being admitted.
646 * If bit is set to 0: That partiular AC is not admitted
647 * If bit is set to 1: That particular AC is admitted
648 */
649 tANI_U8 gAcAdmitMask[SIR_MAC_DIRECTION_DIRECT];
650
651 //dialogue token List head/tail for Action frames request sent.
652 tpDialogueToken pDialogueTokenHead;
653 tpDialogueToken pDialogueTokenTail;
654
655 tLimTspecInfo tspecInfo[LIM_NUM_TSPEC_MAX];
656
657 // admission control policy information
658 tLimAdmitPolicyInfo admitPolicyInfo;
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800659 vos_lock_t lkPeGlobalLock;
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -0800660 tANI_U8 disableLDPCWithTxbfAP;
Gopichand Nakkala574f6d12013-06-27 19:38:43 +0530661#ifdef FEATURE_WLAN_TDLS
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530662 tANI_U8 gLimTDLSBufStaEnabled;
663 tANI_U8 gLimTDLSUapsdMask;
Naresh Jayaramf73f3762014-02-04 16:13:20 +0530664 tANI_U8 gLimTDLSOffChannelEnabled;
Pradeep Reddy POTTETIa9c80d52014-05-09 18:05:29 +0530665 // TDLS WMM Mode
666 tANI_U8 gLimTDLSWmmMode;
Gopichand Nakkala574f6d12013-06-27 19:38:43 +0530667#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700668
669
670
671 ////////////////////////////////////////// MISC RELATED END ///////////////////////////////////////////
672
673 ////////////////////////////////////////// ASSOC RELATED START ///////////////////////////////////////////
674 // Place holder for JoinReq message
675 // received by SME state machine
676 // tpSirSmeJoinReq gpLimJoinReq;
677
678 // Place holder for ReassocReq message
679 // received by SME state machine
680 //tpSirSmeReassocReq gpLimReassocReq; sep23 review
681
Jeff Johnson295189b2012-06-20 16:38:30 -0700682 // Current Authentication type used at STA
683 //tAniAuthType gLimCurrentAuthType;
684
685 // Place holder for current authentication request
686 // being handled
687 tLimMlmAuthReq *gpLimMlmAuthReq;
688
689 // Place holder for Join request that we're
690 // currently attempting
Jeff Johnsone7245742012-09-05 17:12:55 -0700691 //tLimMlmJoinReq *gpLimMlmJoinReq;
Jeff Johnson295189b2012-06-20 16:38:30 -0700692
693 // Reason code to determine the channel change context while sending
694 // WDA_CHNL_SWITCH_REQ message to HAL
695 tANI_U32 channelChangeReasonCode;
696
697 /// MAC level Pre-authentication related globals
698 tSirMacChanNum gLimPreAuthChannelNumber;
699 tAniAuthType gLimPreAuthType;
700 tSirMacAddr gLimPreAuthPeerAddr;
701 tANI_U32 gLimNumPreAuthContexts;
702 tLimPreAuthTable gLimPreAuthTimerTable;
703
704 // Placed holder to deauth reason
705 tANI_U16 gLimDeauthReasonCode;
706
707 // Place holder for Pre-authentication node list
708 struct tLimPreAuthNode * pLimPreAuthList;
709
Jeff Johnson295189b2012-06-20 16:38:30 -0700710 // Assoc or ReAssoc Response Data/Frame
711 void *gLimAssocResponseData;
712
713 //One cache for each overlap and associated case.
714 tCacheParams protStaOverlapCache[LIM_PROT_STA_OVERLAP_CACHE_SIZE];
715 tCacheParams protStaCache[LIM_PROT_STA_CACHE_SIZE];
716
717 ////////////////////////////////////////// ASSOC RELATED END ///////////////////////////////////////////
718
719
Jeff Johnson295189b2012-06-20 16:38:30 -0700720
721 //
722 // For DEBUG purposes
723 // Primarily for - TITAN BEACON workaround
724 // Symptom - TFP/PHY gets stuck
725 //
726 tANI_U32 gLimScanOverride;
727 // Holds the desired tSirScanType, as requested by SME
728 tSirScanType gLimScanOverrideSaved;
729
Jeff Johnson295189b2012-06-20 16:38:30 -0700730 //
731 // CB State protection, operated upon as follows:
732 // 1 - CB is enabled in the hardware ONLY WHEN a Titan
733 // STA associates with the AP
734 // 0 - CB is enabled/disabled based on the configuration
735 // received as per eWNI_SME_START_BSS_REQ
736 //
737 tANI_U32 gLimCBStateProtection;
738
739 // Count of TITAN STA's currently associated
740 tANI_U16 gLimTitanStaCount;
741
742 //
743 // For DEBUG purposes
744 // Primarily for - TITAN workaround
745 // Symptom - Avoid NULL data frames
746 // Applies to AP only
747 //
748 tANI_U32 gLimBlockNonTitanSta;
749 /////////////////////////// TITAN related globals //////////////////////////////////////////
750
751
752 //////////////////////////////// HT RELATED //////////////////////////////////////////
753 //
754 // The following global LIM variables maintain/manage
755 // the runtime configurations related to 802.11n
756
757 // 802.11n Station detected HT capability in Beacon Frame
758 tANI_U8 htCapabilityPresentInBeacon;
759
760 // 802.11 HT capability: Enabled or Disabled
761 tANI_U8 htCapability;
762
763
764 tANI_U8 gHTGreenfield;
765
Jeff Johnson295189b2012-06-20 16:38:30 -0700766 tANI_U8 gHTShortGI40Mhz;
767 tANI_U8 gHTShortGI20Mhz;
768
769 //Set to 0 for 3839 octets
770 //Set to 1 for 7935 octets
771 tANI_U8 gHTMaxAmsduLength;
772
773
774 // DSSS/CCK at 40 MHz: Enabled 1 or Disabled
775 tANI_U8 gHTDsssCckRate40MHzSupport;
776
777 // PSMP Support: Enabled 1 or Disabled 0
778 tANI_U8 gHTPSMPSupport;
779
780 // L-SIG TXOP Protection used only if peer support available
781 tANI_U8 gHTLsigTXOPProtection;
782
783 // MIMO Power Save
784 tSirMacHTMIMOPowerSaveState gHTMIMOPSState;
785
786 // Scan In Power Save
787 tANI_U8 gScanInPowersave;
788
789 //
790 // A-MPDU Density
791 // 000 - No restriction
792 // 001 - 1/8 usec
793 // 010 - 1/4 usec
794 // 011 - 1/2 usec
795 // 100 - 1 usec
796 // 101 - 2 usec
797 // 110 - 4 usec
798 // 111 - 8 usec
799 //
800 tANI_U8 gHTAMpduDensity;
801
802 tANI_BOOLEAN gMaxAmsduSizeEnabled;
803 // Maximum Tx/Rx A-MPDU factor
804 tANI_U8 gHTMaxRxAMpduFactor;
805
806 //
807 // Scheduled PSMP related - Service Interval Granularity
808 // 000 - 5 ms
809 // 001 - 10 ms
810 // 010 - 15 ms
811 // 011 - 20 ms
812 // 100 - 25 ms
813 // 101 - 30 ms
814 // 110 - 35 ms
815 // 111 - 40 ms
816 //
817 tANI_U8 gHTServiceIntervalGranularity;
818
819 // Indicates whether an AP wants to associate PSMP enabled Stations
820 tANI_U8 gHTControlledAccessOnly;
821
822 // RIFS Mode. Set if no APSD legacy devices associated
823 tANI_U8 gHTRifsMode;
824 // OBss Mode . set when we have Non HT STA is associated or with in overlap bss
825 tANI_U8 gHTObssMode;
Jeff Johnson295189b2012-06-20 16:38:30 -0700826
827 // Identifies the current Operating Mode
828 tSirMacHTOperatingMode gHTOperMode;
829
830 // Indicates if PCO is activated in the BSS
831 tANI_U8 gHTPCOActive;
832
833 //
834 // If PCO is active, indicates which PCO phase to use
835 // 0 - switch to 20 MHz phase
836 // 1 - switch to 40 MHz phase
837 //
838 tANI_U8 gHTPCOPhase;
839
840 //
841 // Used only in beacons. For PR, this is set to 0
842 // 0 - Primary beacon
843 // 1 - Secondary beacon
844 //
845 tANI_U8 gHTSecondaryBeacon;
846
847 //
848 // Dual CTS Protection
849 // 0 - Use RTS/CTS
850 // 1 - Dual CTS Protection is used
851 //
852 tANI_U8 gHTDualCTSProtection;
853
854 //
855 // Identifies a single STBC MCS that shall ne used for
856 // STBC control frames and STBC beacons
857 //
858 tANI_U8 gHTSTBCBasicMCS;
859
860 tANI_U8 gHTNonGFDevicesPresent;
861
862 tANI_U8 gAddBA_Declined; // Flag to Decline the BAR if the particular bit (0-7) is being set
863
864 //////////////////////////////// HT RELATED //////////////////////////////////////////
865
Mohit Khanna698ba2a2012-12-04 15:08:18 -0800866#ifdef FEATURE_WLAN_TDLS_INTERNAL
867 //////////////////////////////// TDLS RELATED //////////////////////////////////////////
868
869 tSirTdlsDisReq gLimTdlsDisReq ;
870 //tLimDisResultList *gTdlsDisResultList ;
871 tLimDisResultList *gLimTdlsDisResultList ;
872 tANI_U8 gLimTdlsDisStaCount ;
873 tANI_U8 gAddStaDisRspWait ;
874
875 tLimTdlsLinkSetupInfo gLimTdlsLinkSetupInfo;
876
877 /* to track if direct link is b/g/n, this can be independent of AP link */
878#ifdef FEATURE_WLAN_TDLS_NEGATIVE
879 tANI_U32 gLimTdlsNegativeBehavior;
880#endif
881#endif
882#ifdef FEATURE_WLAN_TDLS
883 tANI_U8 gLimAddStaTdls ;
884 tANI_U8 gLimTdlsLinkMode ;
885 //////////////////////////////// TDLS RELATED //////////////////////////////////////////
886#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700887
888 // wsc info required to form the wsc IE
889 tLimWscIeInfo wscIeInfo;
890 tpPESession gpSession ; //Pointer to session table
891 /*
892 * sessionID and transactionID from SME is stored here for those messages, for which
893 * there is no session context in PE, e.g. Scan related messages.
894 **/
895 tANI_U8 gSmeSessionId;
896 tANI_U16 gTransactionId;
897
Jeff Johnsone7245742012-09-05 17:12:55 -0700898#ifdef FEATURE_OEM_DATA_SUPPORT
899tLimMlmOemDataReq *gpLimMlmOemDataReq;
900tLimMlmOemDataRsp *gpLimMlmOemDataRsp;
901#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700902
Jeff Johnson295189b2012-06-20 16:38:30 -0700903 tSirRemainOnChnReq *gpLimRemainOnChanReq; //hold remain on chan request in this buf
904 vos_list_t gLimMgmtFrameRegistratinQueue;
Gopichand Nakkalab977a972013-02-18 19:15:09 -0800905 tANI_U32 mgmtFrameSessionId;
Madan Mohan Koyyalamudi70bb4cb2012-10-18 19:31:25 -0700906 tSirBackgroundScanMode gLimBackgroundScanMode;
Madan Mohan Koyyalamudi61bc5662012-11-02 14:33:10 -0700907
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800908#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudi61bc5662012-11-02 14:33:10 -0700909 tpPESession pSessionEntry;
910 tANI_U8 reAssocRetryAttempt;
911#endif
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -0800912 tLimDisassocDeauthCnfReq limDisassocDeauthCnfReq;
Leela Venkata Kiran Kumar Reddy Chirala2247e962013-03-22 19:21:10 -0700913 tANI_U8 deferredMsgCnt;
Gopichand Nakkalad492d202013-05-10 02:50:47 +0530914 tSirDFSChannelList dfschannelList;
Venkata Prathyusha Kuntupalli22ba5982013-04-24 13:09:20 -0700915 tANI_U8 deauthMsgCnt;
Ravi Joshi0fc681b2013-09-11 16:46:07 -0700916 tANI_U8 gLimIbssStaLimit;
Praveen Kumar Sirisilla7ea8dc92013-12-22 16:35:05 -0800917 tANI_U8 probeCounter;
918 tANI_U8 maxProbe;
Agarwal Ashishb4ce9922014-11-04 18:40:38 +0530919 tANI_U8 retryPacketCnt;
Rashmi Ramannad3a03bf2013-12-31 18:33:24 +0530920
921 // Flag to debug remain on channel
922 tANI_BOOLEAN gDebugP2pRemainOnChannel;
923 /* Sequence number to keep track of
924 * start and end of remain on channel
925 * debug marker frame.
926 */
927 tANI_U32 remOnChnSeqNum;
Jeff Johnson295189b2012-06-20 16:38:30 -0700928} tAniSirLim, *tpAniSirLim;
929
Jeff Johnson295189b2012-06-20 16:38:30 -0700930typedef struct sLimMgmtFrameRegistration
931{
932 vos_list_node_t node; // MUST be first element
933 tANI_U16 frameType;
934 tANI_U16 matchLen;
935 tANI_U16 sessionId;
936 tANI_U8 matchData[1];
937} tLimMgmtFrameRegistration, *tpLimMgmtFrameRegistration;
Jeff Johnson295189b2012-06-20 16:38:30 -0700938
939#if defined WLAN_FEATURE_VOWIFI
940typedef struct sRrmContext
941{
942 tRrmSMEContext rrmSmeContext;
943 tRrmPEContext rrmPEContext;
944}tRrmContext, *tpRrmContext;
945#endif
946
947#if defined WLAN_FEATURE_VOWIFI_11R
948typedef struct sFTContext
949{
950 tftSMEContext ftSmeContext;
951 tftPEContext ftPEContext;
952} tftContext, *tpFTContext;
953#endif
954
Jeff Johnson295189b2012-06-20 16:38:30 -0700955//Check if this definition can actually move here even for Volans. In that case
956//this featurization can be removed.
957/** ------------------------------------------------------------------------- *
958
959 \typedef tDriverType
960
961 \brief Indicate the driver type to the mac, and based on this do
962 appropriate initialization.
963
964 -------------------------------------------------------------------------- */
965
966typedef enum
967{
968 eDRIVER_TYPE_PRODUCTION = 0,
969 eDRIVER_TYPE_MFG = 1,
970 eDRIVER_TYPE_DVT = 2
971} tDriverType;
972
973/** ------------------------------------------------------------------------- *
974
975 \typedef tMacOpenParameters
976
977 \brief Parameters needed for Enumeration of all status codes returned by the higher level
978 interface functions.
979
980 -------------------------------------------------------------------------- */
981
982typedef struct sMacOpenParameters
983{
984 tANI_U16 maxStation;
985 tANI_U16 maxBssId;
986 tANI_U32 frameTransRequired;
987 tDriverType driverType;
988} tMacOpenParameters;
989
Jeff Johnson295189b2012-06-20 16:38:30 -0700990typedef struct sHalMacStartParameters
991{
992 // parametes for the Firmware
993 //tHalFirmwareParameters FW;
994 tDriverType driverType;
995
996} tHalMacStartParameters;
Jeff Johnson295189b2012-06-20 16:38:30 -0700997
998// -------------------------------------------------------------------
999/// MAC Sirius parameter structure
1000typedef struct sAniSirGlobal
1001
1002{
1003 tDriverType gDriverType;
Jeff Johnson295189b2012-06-20 16:38:30 -07001004
1005 // we should be able to save this hddHandle in here and deprecate
1006 // the pAdapter. For now, compiles are a problem because there
1007 // are dependencides on the header files that are not handling the
1008 // compiler very gracefully.
1009// tHddHandle hHdd; // Handle to the HDD.
1010 //void *hHdd;
1011 void *pAdapter; // deprecate this pAdapter pointer eventually...
1012 // all interfaces to the HDD should pass hHdd, which
1013 // is stored in this struct above.....
1014 tSirMbMsg* pResetMsg;
1015 tAniSirCfg cfg;
1016 tAniSirLim lim;
Jeff Johnson295189b2012-06-20 16:38:30 -07001017 tAniSirPmm pmm;
1018 tAniSirSch sch;
1019 tAniSirSys sys;
1020 tAniSirUtils utils;
Jeff Johnson295189b2012-06-20 16:38:30 -07001021 // PAL/HDD handle
1022 tHddHandle hHdd;
1023
1024#ifdef ANI_DVT_DEBUG
1025 tAniSirDvt dvt;
1026#endif
1027
1028 tSmeStruct sme;
1029 tCsrScanStruct scan;
1030 tCsrRoamStruct roam;
1031
Jeff Johnsone7245742012-09-05 17:12:55 -07001032#ifdef FEATURE_OEM_DATA_SUPPORT
1033 tOemDataStruct oemData;
1034#endif
Gopichand Nakkalab977a972013-02-18 19:15:09 -08001035#ifdef FEATURE_WLAN_TDLS_INTERNAL
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001036 tCsrTdlsCtxStruct tdlsCtx ;
1037#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001038 tPmcInfo pmc;
1039 tSmeBtcInfo btc;
Jeff Johnson295189b2012-06-20 16:38:30 -07001040
1041 tCcm ccm;
1042
1043#if defined WLAN_FEATURE_VOWIFI
1044 tRrmContext rrm;
1045#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001046#ifdef WLAN_FEATURE_CONCURRENT_P2P
1047 tp2pContext p2pContext[MAX_NO_OF_P2P_SESSIONS];
1048#else
1049 tp2pContext p2pContext;
1050#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001051
1052#if defined WLAN_FEATURE_VOWIFI_11R
1053 tftContext ft;
1054#endif
1055
1056 tANI_U32 gCurrentLogSize;
1057 tANI_U32 menuCurrent;
1058 /* logDump specific */
1059 tANI_U32 dumpTablecurrentId;
1060 /* Instead of static allocation I will dyanamically allocate memory for dumpTableEntry
1061 Thinking of using linkedlist */
1062 tDumpModuleEntry *dumpTableEntry[MAX_DUMP_TABLE_ENTRY];
Gopichand Nakkalaccd3a382013-03-19 13:56:10 -07001063#ifdef FEATURE_WLAN_TDLS
1064 v_BOOL_t isTdlsPowerSaveProhibited;
1065#endif
Gopichand Nakkala86e42662013-06-11 17:44:11 +05301066 tANI_U8 fScanOffload;
krunal sonie9002db2013-11-25 14:24:17 -08001067 tANI_U8 isCoalesingInIBSSAllowed;
Tushnim Bhattacharyyaed4d0c22014-01-30 11:56:44 -08001068 tANI_U32 fEnableDebugLog;
Rashmi Ramanna68b309c2014-05-20 11:52:22 +05301069 tANI_U32 fDeferIMPSTime;
1070 tANI_BOOLEAN deferImps;
Abhishek Singh6d5d29c2014-07-03 14:25:22 +05301071
1072#ifdef WLAN_FEATURE_11AC
1073 /* Alow Mu BFormee session only if MU BF session doesnt exist.
1074 */
1075 v_BOOL_t isMuBfsessionexist;
1076#endif
1077
c_hpothu3ba2a512014-08-06 14:02:54 +05301078 v_BOOL_t isCoexScoIndSet;
Ganesh Kondabattini8f6e3b32014-08-25 16:07:54 +05301079 v_U8_t miracast_mode;
Chandrasekaran, Manishekar5cb0acd2014-12-23 20:06:52 +05301080 v_U8_t fBtcEnableIndTimerVal;
Girish Gowli1c2fc802015-01-19 16:18:07 +05301081 v_U8_t roamDelayStatsEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001082} tAniSirGlobal;
1083
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001084#ifdef FEATURE_WLAN_TDLS
Jeff Johnson295189b2012-06-20 16:38:30 -07001085
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001086#define RFC1042_HDR_LENGTH (6)
1087#define GET_BE16(x) ((tANI_U16) (((x)[0] << 8) | (x)[1]))
1088#define ETH_TYPE_89_0d (0x890d)
1089#define ETH_TYPE_LEN (2)
1090#define PAYLOAD_TYPE_TDLS_SIZE (1)
1091#define PAYLOAD_TYPE_TDLS (2)
1092
1093#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001094
1095#endif /* _ANIGLOBAL_H */
1096