blob: be90e1fdd3fc6879eeccaf5eabf8efff3f7a9090 [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
Madan Mohan Koyyalamudi9aff9ff2012-11-29 11:27:25 -0800234 TX_TIMER gLimPeriodicJoinProbeReqTimer;
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -0800235 TX_TIMER gLimDisassocAckTimer;
236 TX_TIMER gLimDeauthAckTimer;
Sushant Kaushik9e923872015-04-02 17:09:31 +0530237 TX_TIMER gLimPeriodicAuthRetryTimer;
Viral Modid86bde22012-12-10 13:09:21 -0800238 // This timer is started when single shot NOA insert msg is sent to FW for scan in P2P GO mode
239 TX_TIMER gLimP2pSingleShotNoaInsertTimer;
Gopichand Nakkalad492d202013-05-10 02:50:47 +0530240 /* This timer is used to convert active channel to
241 * passive channel when there is no beacon
242 * for a period of time on a particular DFS channel
243 */
244 TX_TIMER gLimActiveToPassiveChannelTimer;
Jeff Johnson295189b2012-06-20 16:38:30 -0700245//********************TIMER SECTION ENDS**************************************************
246// ALL THE FIELDS BELOW THIS CAN BE ZEROED OUT in limInitialize
247//****************************************************************************************
248
249}tLimTimers;
250
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -0800251typedef struct {
252 void *pMlmDisassocReq;
253 void *pMlmDeauthReq;
254}tLimDisassocDeauthCnfReq;
Jeff Johnson295189b2012-06-20 16:38:30 -0700255
256typedef struct sAniSirLim
257{
258 ////////////////////////////////////// TIMER RELATED START ///////////////////////////////////////////
259
260 tLimTimers limTimers;
261 /// Flag to track if LIM timers are created or not
262 tANI_U32 gLimTimersCreated;
263
264
265 ////////////////////////////////////// TIMER RELATED END ///////////////////////////////////////////
266
267 ////////////////////////////////////// SCAN/LEARN RELATED START ///////////////////////////////////////////
268 /**
269 * This flag when set, will use scan mode instead of
270 * Learn mode on BP/AP. By default this flag is set
271 * to true until HIF getting stuck in 0x800 state is
272 * debugged.
273 */
274 tANI_U32 gLimUseScanModeForLearnMode;
275
276 /**
277 * This is useful for modules other than LIM
278 * to see if system is in scan/learn mode or not
279 */
280 tANI_U32 gLimSystemInScanLearnMode;
281
282 // Scan related globals on STA
283 tANI_U8 gLimReturnAfterFirstMatch;
284 tANI_U8 gLim24Band11dScanDone;
285 tANI_U8 gLim50Band11dScanDone;
286 tANI_U8 gLimReturnUniqueResults;
287
288 // Background Scan related globals on STA
289 tANI_U32 gLimNumOfBackgroundScanSuccess;
290 tANI_U32 gLimNumOfConsecutiveBkgndScanFailure;
291 tANI_U32 gLimNumOfForcedBkgndScan;
292 tANI_U8 gLimBackgroundScanDisable; //based on BG timer
293 tANI_U8 gLimForceBackgroundScanDisable; //debug control flag
294 tANI_U8 gLimBackgroundScanTerminate; //controlled by SME
295 tANI_U8 gLimReportBackgroundScanResults;//controlled by SME
296
297 /// Place holder for current channel ID
298 /// being scanned
299 tANI_U32 gLimCurrentScanChannelId;
300
301 // Hold onto SCAN criteria
Viral Modid440e682013-03-06 02:25:31 -0800302 /* The below is used in P2P GO case when we need to defer processing SME Req
303 * to LIM and insert NOA first and process SME req once SNOA is started
304 */
305 tANI_U16 gDeferMsgTypeForNOA;
306 tANI_U32 *gpDefdSmeMsgForNOA;
307
Jeff Johnson295189b2012-06-20 16:38:30 -0700308 tLimMlmScanReq *gpLimMlmScanReq;
309
310 /// This indicates total length of 'matched' scan results
311 tANI_U16 gLimMlmScanResultLength;
312
313 /// This indicates total length of 'cached' scan results
314 tANI_U16 gLimSmeScanResultLength;
315
316 /**
317 * Hash table definition for storing SCAN results
318 * This is the placed holder for 'cached' scan results
319 */
320 tLimScanResultNode
321 *gLimCachedScanHashTable[LIM_MAX_NUM_OF_SCAN_RESULTS];
322
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700323 /// This indicates total length of 'matched' scan results
324 tANI_U16 gLimMlmLfrScanResultLength;
325
326 /// This indicates total length of 'cached' scan results
327 tANI_U16 gLimSmeLfrScanResultLength;
328
329 /**
330 * Hash table definition for storing LFR SCAN results
331 * This is the placed holder for roaming candidates as forwarded
332 * by FW
333 */
334 tLimScanResultNode
335 *gLimCachedLfrScanHashTable[LIM_MAX_NUM_OF_SCAN_RESULTS];
336
Jeff Johnson295189b2012-06-20 16:38:30 -0700337 /// Place holder for current channel ID
338 /// being scanned during background scanning
339 tANI_U32 gLimBackgroundScanChannelId;
340 /// flag to indicate that bacground scan timer has been started
341 tANI_U8 gLimBackgroundScanStarted;
342
343 /* Used to store the list of legacy bss sta detected during scan on one channel */
344 tANI_U16 gLimRestoreCBNumScanInterval;
345 tANI_U16 gLimRestoreCBCount;
346 tSirMacAddr gLimLegacyBssidList[MAX_NUM_LEGACY_BSSID_PER_CHANNEL];
Jeff Johnson295189b2012-06-20 16:38:30 -0700347
348 //
349 // If this flag is 1,
350 // then, LIM will "try and trigger" a background
351 // scan whenever it receives a Quiet BSS IE
352 //
353 // If this flag is 0,
354 // then, LIM will simply shut-off Tx/Rx whenever it
355 // receives a Quiet BSS IE.
356 // This is the default behavior when a Quiet BSS IE
357 // is received and 11H is enabled
358 //
359 tANI_U32 gLimTriggerBackgroundScanDuringQuietBss;
360
Jeff Johnson295189b2012-06-20 16:38:30 -0700361
Jeff Johnson295189b2012-06-20 16:38:30 -0700362 // This variable store the total duration to do scan
363 tANI_U32 gTotalScanDuration;
Jeff Johnsone7245742012-09-05 17:12:55 -0700364 tANI_U32 p2pRemOnChanTimeStamp;
Jeff Johnson295189b2012-06-20 16:38:30 -0700365
366 // abort scan is used to abort an on-going scan
367 tANI_U8 abortScan;
368 tLimScanChnInfo scanChnInfo;
369
370 ////////////////////////////////////// SCAN/LEARN RELATED START ///////////////////////////////////////////
371 tSirMacAddr gSelfMacAddr; //added for BT-AMP Support
Siddharth Bhal4f3187c2014-10-09 21:38:08 +0530372 tSirMacAddr spoofMacAddr; //added for Mac Addr Spoofing support
373 tANI_U8 isSpoofingEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -0700374
375 ////////////////////////////////////////// BSS RELATED END ///////////////////////////////////////////
376 // Place holder for StartBssReq message
377 // received by SME state machine
378
Jeff Johnson62c27982013-02-27 17:53:55 -0800379 tANI_U8 gLimCurrentBssUapsd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700380
Jeff Johnson62c27982013-02-27 17:53:55 -0800381 /* This is used for testing sta legacy bss detect feature */
382 tANI_U8 gLimForceNoPropIE;
Jeff Johnson295189b2012-06-20 16:38:30 -0700383
384 //
385 // Store the BSS Index returned by HAL during
386 // WDA_ADD_BSS_RSP here.
387 //
388 // For now:
389 // This will be used during WDA_SET_BSSKEY_REQ in
390 // order to set the GTK
391 // Later:
392 // There could be other interfaces needing this info
393 //
394
395 //
396 // Due to the asynchronous nature of the interface
397 // between PE <-> HAL, some transient information
398 // like this needs to be cached.
399 // This is cached upon receipt of eWNI_SME_SETCONTEXT_REQ.
400 // This is released while posting LIM_MLM_SETKEYS_CNF
401 //
402 void* gpLimMlmSetKeysReq;
403 void* gpLimMlmRemoveKeyReq;
404
405 //On STA: staid for self generated by HAL and sent as response to 'ADD STA' msg.
406 //On AP: staid corresponding to BSS generated by HAL and sent as response to 'ADD BSS' msg.
407 // tANI_U16 gLimStaid; // TO SUPPORT BT-AMP
408
409 ////////////////////////////////////////// BSS RELATED END ///////////////////////////////////////////
410
411 ////////////////////////////////////////// IBSS RELATED START ///////////////////////////////////////////
412 // This indicates whether we've a partner
413 // that is also transmitting Beacon frame
414 // in IBSS
415 //tANI_U8 gLimIbssActive; oct1 review
416
417 //This indicates whether this STA coalesced and adapter to peer's capabilities or not.
418 tANI_U8 gLimIbssCoalescingHappened;
419
420 /// Definition for storing IBSS peers BSS description
421 tLimIbssPeerNode *gLimIbssPeerList;
422 tANI_U32 gLimNumIbssPeers;
Sushant Kaushike06bd872015-03-12 16:17:48 +0530423 tANI_U32 gLimIbssRetryCnt;
Jeff Johnson295189b2012-06-20 16:38:30 -0700424
425 // ibss info - params for which ibss to join while coalescing
426 tAniSirLimIbss ibssInfo;
427
428 ////////////////////////////////////////// IBSS RELATED END ///////////////////////////////////////////
429
430 ////////////////////////////////////////// STATS/COUNTER RELATED START ///////////////////////////////////////////
431
432 tANI_U16 maxStation;
433 tANI_U16 maxBssId;
434
435 tANI_U32 gLimNumBeaconsRcvd;
436 tANI_U32 gLimNumBeaconsIgnored;
437
438 tANI_U32 gLimNumDeferredMsgs;
439
440 /// Variable to keep track of number of currently associated STAs
Jeff Johnson295189b2012-06-20 16:38:30 -0700441 tANI_U16 gLimNumOfAniSTAs; // count of ANI peers
442 tANI_U16 gLimAssocStaLimit;
443
444 /// This indicates number of RXed Beacons during HB period
445 // tANI_U8 gLimRxedBeaconCntDuringHB;
446
447 // Heart-Beat interval value
448 tANI_U32 gLimHeartBeatCount;
Abhishek Singhde51a412014-05-20 19:17:26 +0530449 tSirMacAddr gLimHeartBeatApMac[2];
450 tANI_U8 gLimHeartBeatApMacIndex;
Jeff Johnson295189b2012-06-20 16:38:30 -0700451
452 // Statistics to keep track of no. beacons rcvd in heart beat interval
453 tANI_U16 gLimHeartBeatBeaconStats[MAX_NO_BEACONS_PER_HEART_BEAT_INTERVAL];
454
455#ifdef WLAN_DEBUG
456 // Debug counters
457 tANI_U32 numTot, numBbt, numProtErr, numLearn, numLearnIgnore;
458 tANI_U32 numSme, numMAC[4][16];
459
460 // Debug counter to track number of Assoc Req frame drops
461 // when received in pStaDs->mlmState other than LINK_ESTABLISED
462 tANI_U32 gLimNumAssocReqDropInvldState;
463 // counters to track rejection of Assoc Req due to Admission Control
464 tANI_U32 gLimNumAssocReqDropACRejectTS;
465 tANI_U32 gLimNumAssocReqDropACRejectSta;
466 // Debug counter to track number of Reassoc Req frame drops
467 // when received in pStaDs->mlmState other than LINK_ESTABLISED
468 tANI_U32 gLimNumReassocReqDropInvldState;
469 // Debug counter to track number of Hash Miss event that
470 // will not cause a sending of de-auth/de-associate frame
471 tANI_U32 gLimNumHashMissIgnored;
472
473 // Debug counter to track number of Beacon frames
474 // received in unexpected state
475 tANI_U32 gLimUnexpBcnCnt;
476
477 // Debug counter to track number of Beacon frames
478 // received in wt-join-state that do have SSID mismatch
479 tANI_U32 gLimBcnSSIDMismatchCnt;
480
481 // Debug counter to track number of Link establishments on STA/BP
482 tANI_U32 gLimNumLinkEsts;
483
484 // Debug counter to track number of Rx cleanup
485 tANI_U32 gLimNumRxCleanup;
486
487 // Debug counter to track different parse problem
488 tANI_U32 gLim11bStaAssocRejectCount;
489
490#endif
491
492 //Time stamp of the last beacon received from the BSS to which STA is connected.
493 tANI_U64 gLastBeaconTimeStamp;
494 //RX Beacon count for the current BSS to which STA is connected.
495 tANI_U32 gCurrentBssBeaconCnt;
496 tANI_U8 gLastBeaconDtimCount;
497 tANI_U8 gLastBeaconDtimPeriod;
498
499
500 ////////////////////////////////////////// STATS/COUNTER RELATED END ///////////////////////////////////////////
501
502
503 ////////////////////////////////////////// STATES RELATED START ///////////////////////////////////////////
504 // Counts Heartbeat failures
505 tANI_U8 gLimHBfailureCntInLinkEstState;
506 tANI_U8 gLimProbeFailureAfterHBfailedCnt;
507 tANI_U8 gLimHBfailureCntInOtherStates;
508
509 /**
510 * This variable indicates whether LIM module need to
511 * send response to host. Used to identify whether a request
512 * is generated internally within LIM module or by host
513 */
514 tANI_U8 gLimRspReqd;
515
516 /// Previous SME State
517 tLimSmeStates gLimPrevSmeState;
518
519 /// MLM State visible across all Sirius modules
520 tLimMlmStates gLimMlmState;
521
522 /// Previous MLM State
523 tLimMlmStates gLimPrevMlmState;
524
525#ifdef GEN4_SCAN
526 // LIM to HAL SCAN Management Message Interface states
527 tLimLimHalScanState gLimHalScanState;
528//WLAN_SUSPEND_LINK Related
529 SUSPEND_RESUME_LINK_CALLBACK gpLimSuspendCallback;
530 tANI_U32 *gpLimSuspendData;
531 SUSPEND_RESUME_LINK_CALLBACK gpLimResumeCallback;
532 tANI_U32 *gpLimResumeData;
533//end WLAN_SUSPEND_LINK Related
534 tANI_U8 fScanDisabled;
535 //Can be set to invalid channel. If it is invalid, HAL
536 //should move to previous valid channel or stay in the
Jeff Johnsone7245742012-09-05 17:12:55 -0700537 //current channel. CB state goes along with channel to resume to
538 tANI_U16 gResumeChannel;
539 ePhyChanBondState gResumePhyCbState;
Jeff Johnson295189b2012-06-20 16:38:30 -0700540#endif // GEN4_SCAN
541
542 // Change channel generic scheme
543 CHANGE_CHANNEL_CALLBACK gpchangeChannelCallback;
544 tANI_U32 *gpchangeChannelData;
545
546 /// SME State visible across all Sirius modules
547 tLimSmeStates gLimSmeState;
548 /// This indicates whether we're an AP, STA in BSS/IBSS
549 tLimSystemRole gLimSystemRole;
550
551 // Number of STAs that do not support short preamble
552 tLimNoShortParams gLimNoShortParams;
553
554 // Number of STAs that do not support short slot time
555 tLimNoShortSlotParams gLimNoShortSlotParams;
556
557
558 // OLBC parameters
559 tLimProtStaParams gLimOverlap11gParams;
560
561 tLimProtStaParams gLimOverlap11aParams;
562 tLimProtStaParams gLimOverlapHt20Params;
563 tLimProtStaParams gLimOverlapNonGfParams;
564
565 //
566 // ---------------- DPH -----------------------
567 // these used to live in DPH but are now moved here (where they belong)
568 tANI_U32 gLimPhyMode;
569 tANI_U32 propRateAdjustPeriod;
570 tANI_U32 scanStartTime; // used to measure scan time
571
Jeff Johnsone7245742012-09-05 17:12:55 -0700572 //tANI_U8 gLimBssid[6];
Jeff Johnson295189b2012-06-20 16:38:30 -0700573 tANI_U8 gLimMyMacAddr[6];
574 tANI_U8 ackPolicy;
575
576 tANI_U8 gLimQosEnabled:1; //11E
577 tANI_U8 gLimWmeEnabled:1; //WME
578 tANI_U8 gLimWsmEnabled:1; //WSM
579 tANI_U8 gLimHcfEnabled:1;
580 tANI_U8 gLim11dEnabled:1;
581 tANI_U8 gLimProbeRespDisableFlag:1; // control over probe response
582 // ---------------- DPH -----------------------
583
584 ////////////////////////////////////////// STATES RELATED END ///////////////////////////////////////////
585
586 ////////////////////////////////////////// MISC RELATED START ///////////////////////////////////////////
Jeff Johnson295189b2012-06-20 16:38:30 -0700587
588 // WDS info
589 tANI_U32 gLimNumWdsInfoInd;
590 tANI_U32 gLimNumWdsInfoSet;
591 tSirWdsInfo gLimWdsInfo;
592
593 // Deferred Queue Paramters
594 tLimDeferredMsgQParams gLimDeferredMsgQ;
595
596 // addts request if any - only one can be outstanding at any time
597 tSirAddtsReq gLimAddtsReq;
598 tANI_U8 gLimAddtsSent;
599 tANI_U8 gLimAddtsRspTimerCount;
600
601 //protection related config cache
602 tCfgProtection cfgProtection;
603
604 tANI_U8 gLimProtectionControl;
605 //RF band to determibe 2.4/5 GHZ
606
607 // alternate radio info used by STA
608 tSirAlternateRadioInfo gLimAlternateRadio;
609
610 //This flag will remain to be set except while LIM is waiting for specific response messages
611 //from HAL. e.g when LIM issues ADD_STA req it will clear this flag and when it will receive
612 //the response the flag will be set.
613 tANI_U8 gLimProcessDefdMsgs;
614
615 // UAPSD flag used on AP
616 tANI_U8 gUapsdEnable;
617
618 /* Used on STA, this is a static UAPSD mask setting
619 * derived from SME_JOIN_REQ and SME_REASSOC_REQ. If a
620 * particular AC bit is set, it means the AC is both
621 * trigger enabled and delivery enabled.
622 */
623 tANI_U8 gUapsdPerAcBitmask;
624
625 /* Used on STA, this is a dynamic UPASD mask setting
626 * derived from AddTS Rsp and DelTS frame. If a
627 * particular AC bit is set, it means AC is trigger
628 * enabled.
629 */
630 tANI_U8 gUapsdPerAcTriggerEnableMask;
631
632 /* Used on STA, dynamic UPASD mask setting
633 * derived from AddTS Rsp and DelTs frame. If
634 * a particular AC bit is set, it means AC is
635 * delivery enabled.
636 */
637 tANI_U8 gUapsdPerAcDeliveryEnableMask;
638
639 /* Used on STA for AC downgrade. This is a dynamic mask
640 * setting which keep tracks of ACs being admitted.
641 * If bit is set to 0: That partiular AC is not admitted
642 * If bit is set to 1: That particular AC is admitted
643 */
644 tANI_U8 gAcAdmitMask[SIR_MAC_DIRECTION_DIRECT];
645
646 //dialogue token List head/tail for Action frames request sent.
647 tpDialogueToken pDialogueTokenHead;
648 tpDialogueToken pDialogueTokenTail;
649
650 tLimTspecInfo tspecInfo[LIM_NUM_TSPEC_MAX];
651
652 // admission control policy information
653 tLimAdmitPolicyInfo admitPolicyInfo;
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800654 vos_lock_t lkPeGlobalLock;
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -0800655 tANI_U8 disableLDPCWithTxbfAP;
Gopichand Nakkala574f6d12013-06-27 19:38:43 +0530656#ifdef FEATURE_WLAN_TDLS
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530657 tANI_U8 gLimTDLSBufStaEnabled;
658 tANI_U8 gLimTDLSUapsdMask;
Naresh Jayaramf73f3762014-02-04 16:13:20 +0530659 tANI_U8 gLimTDLSOffChannelEnabled;
Pradeep Reddy POTTETIa9c80d52014-05-09 18:05:29 +0530660 // TDLS WMM Mode
661 tANI_U8 gLimTDLSWmmMode;
Gopichand Nakkala574f6d12013-06-27 19:38:43 +0530662#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700663
664
665
666 ////////////////////////////////////////// MISC RELATED END ///////////////////////////////////////////
667
668 ////////////////////////////////////////// ASSOC RELATED START ///////////////////////////////////////////
669 // Place holder for JoinReq message
670 // received by SME state machine
671 // tpSirSmeJoinReq gpLimJoinReq;
672
673 // Place holder for ReassocReq message
674 // received by SME state machine
675 //tpSirSmeReassocReq gpLimReassocReq; sep23 review
676
Jeff Johnson295189b2012-06-20 16:38:30 -0700677 // Current Authentication type used at STA
678 //tAniAuthType gLimCurrentAuthType;
679
680 // Place holder for current authentication request
681 // being handled
682 tLimMlmAuthReq *gpLimMlmAuthReq;
683
684 // Place holder for Join request that we're
685 // currently attempting
Jeff Johnsone7245742012-09-05 17:12:55 -0700686 //tLimMlmJoinReq *gpLimMlmJoinReq;
Jeff Johnson295189b2012-06-20 16:38:30 -0700687
688 // Reason code to determine the channel change context while sending
689 // WDA_CHNL_SWITCH_REQ message to HAL
690 tANI_U32 channelChangeReasonCode;
691
692 /// MAC level Pre-authentication related globals
693 tSirMacChanNum gLimPreAuthChannelNumber;
694 tAniAuthType gLimPreAuthType;
695 tSirMacAddr gLimPreAuthPeerAddr;
696 tANI_U32 gLimNumPreAuthContexts;
697 tLimPreAuthTable gLimPreAuthTimerTable;
698
699 // Placed holder to deauth reason
700 tANI_U16 gLimDeauthReasonCode;
701
702 // Place holder for Pre-authentication node list
703 struct tLimPreAuthNode * pLimPreAuthList;
704
Jeff Johnson295189b2012-06-20 16:38:30 -0700705 // Assoc or ReAssoc Response Data/Frame
706 void *gLimAssocResponseData;
707
708 //One cache for each overlap and associated case.
709 tCacheParams protStaOverlapCache[LIM_PROT_STA_OVERLAP_CACHE_SIZE];
710 tCacheParams protStaCache[LIM_PROT_STA_CACHE_SIZE];
711
712 ////////////////////////////////////////// ASSOC RELATED END ///////////////////////////////////////////
713
714
Jeff Johnson295189b2012-06-20 16:38:30 -0700715
716 //
717 // For DEBUG purposes
718 // Primarily for - TITAN BEACON workaround
719 // Symptom - TFP/PHY gets stuck
720 //
721 tANI_U32 gLimScanOverride;
722 // Holds the desired tSirScanType, as requested by SME
723 tSirScanType gLimScanOverrideSaved;
724
Jeff Johnson295189b2012-06-20 16:38:30 -0700725 //
726 // CB State protection, operated upon as follows:
727 // 1 - CB is enabled in the hardware ONLY WHEN a Titan
728 // STA associates with the AP
729 // 0 - CB is enabled/disabled based on the configuration
730 // received as per eWNI_SME_START_BSS_REQ
731 //
732 tANI_U32 gLimCBStateProtection;
733
734 // Count of TITAN STA's currently associated
735 tANI_U16 gLimTitanStaCount;
736
737 //
738 // For DEBUG purposes
739 // Primarily for - TITAN workaround
740 // Symptom - Avoid NULL data frames
741 // Applies to AP only
742 //
743 tANI_U32 gLimBlockNonTitanSta;
744 /////////////////////////// TITAN related globals //////////////////////////////////////////
745
746
747 //////////////////////////////// HT RELATED //////////////////////////////////////////
748 //
749 // The following global LIM variables maintain/manage
750 // the runtime configurations related to 802.11n
751
752 // 802.11n Station detected HT capability in Beacon Frame
753 tANI_U8 htCapabilityPresentInBeacon;
754
755 // 802.11 HT capability: Enabled or Disabled
756 tANI_U8 htCapability;
757
758
759 tANI_U8 gHTGreenfield;
760
Jeff Johnson295189b2012-06-20 16:38:30 -0700761 tANI_U8 gHTShortGI40Mhz;
762 tANI_U8 gHTShortGI20Mhz;
763
764 //Set to 0 for 3839 octets
765 //Set to 1 for 7935 octets
766 tANI_U8 gHTMaxAmsduLength;
767
768
769 // DSSS/CCK at 40 MHz: Enabled 1 or Disabled
770 tANI_U8 gHTDsssCckRate40MHzSupport;
771
772 // PSMP Support: Enabled 1 or Disabled 0
773 tANI_U8 gHTPSMPSupport;
774
775 // L-SIG TXOP Protection used only if peer support available
776 tANI_U8 gHTLsigTXOPProtection;
777
778 // MIMO Power Save
779 tSirMacHTMIMOPowerSaveState gHTMIMOPSState;
780
781 // Scan In Power Save
782 tANI_U8 gScanInPowersave;
783
784 //
785 // A-MPDU Density
786 // 000 - No restriction
787 // 001 - 1/8 usec
788 // 010 - 1/4 usec
789 // 011 - 1/2 usec
790 // 100 - 1 usec
791 // 101 - 2 usec
792 // 110 - 4 usec
793 // 111 - 8 usec
794 //
795 tANI_U8 gHTAMpduDensity;
796
797 tANI_BOOLEAN gMaxAmsduSizeEnabled;
798 // Maximum Tx/Rx A-MPDU factor
799 tANI_U8 gHTMaxRxAMpduFactor;
800
801 //
802 // Scheduled PSMP related - Service Interval Granularity
803 // 000 - 5 ms
804 // 001 - 10 ms
805 // 010 - 15 ms
806 // 011 - 20 ms
807 // 100 - 25 ms
808 // 101 - 30 ms
809 // 110 - 35 ms
810 // 111 - 40 ms
811 //
812 tANI_U8 gHTServiceIntervalGranularity;
813
814 // Indicates whether an AP wants to associate PSMP enabled Stations
815 tANI_U8 gHTControlledAccessOnly;
816
817 // RIFS Mode. Set if no APSD legacy devices associated
818 tANI_U8 gHTRifsMode;
819 // OBss Mode . set when we have Non HT STA is associated or with in overlap bss
820 tANI_U8 gHTObssMode;
Jeff Johnson295189b2012-06-20 16:38:30 -0700821
822 // Identifies the current Operating Mode
823 tSirMacHTOperatingMode gHTOperMode;
824
825 // Indicates if PCO is activated in the BSS
826 tANI_U8 gHTPCOActive;
827
828 //
829 // If PCO is active, indicates which PCO phase to use
830 // 0 - switch to 20 MHz phase
831 // 1 - switch to 40 MHz phase
832 //
833 tANI_U8 gHTPCOPhase;
834
835 //
836 // Used only in beacons. For PR, this is set to 0
837 // 0 - Primary beacon
838 // 1 - Secondary beacon
839 //
840 tANI_U8 gHTSecondaryBeacon;
841
842 //
843 // Dual CTS Protection
844 // 0 - Use RTS/CTS
845 // 1 - Dual CTS Protection is used
846 //
847 tANI_U8 gHTDualCTSProtection;
848
849 //
850 // Identifies a single STBC MCS that shall ne used for
851 // STBC control frames and STBC beacons
852 //
853 tANI_U8 gHTSTBCBasicMCS;
854
855 tANI_U8 gHTNonGFDevicesPresent;
856
857 tANI_U8 gAddBA_Declined; // Flag to Decline the BAR if the particular bit (0-7) is being set
858
859 //////////////////////////////// HT RELATED //////////////////////////////////////////
860
Mohit Khanna698ba2a2012-12-04 15:08:18 -0800861#ifdef FEATURE_WLAN_TDLS
862 tANI_U8 gLimAddStaTdls ;
863 tANI_U8 gLimTdlsLinkMode ;
864 //////////////////////////////// TDLS RELATED //////////////////////////////////////////
865#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700866
867 // wsc info required to form the wsc IE
868 tLimWscIeInfo wscIeInfo;
869 tpPESession gpSession ; //Pointer to session table
870 /*
871 * sessionID and transactionID from SME is stored here for those messages, for which
872 * there is no session context in PE, e.g. Scan related messages.
873 **/
874 tANI_U8 gSmeSessionId;
875 tANI_U16 gTransactionId;
876
Jeff Johnsone7245742012-09-05 17:12:55 -0700877#ifdef FEATURE_OEM_DATA_SUPPORT
878tLimMlmOemDataReq *gpLimMlmOemDataReq;
879tLimMlmOemDataRsp *gpLimMlmOemDataRsp;
880#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700881
Jeff Johnson295189b2012-06-20 16:38:30 -0700882 tSirRemainOnChnReq *gpLimRemainOnChanReq; //hold remain on chan request in this buf
883 vos_list_t gLimMgmtFrameRegistratinQueue;
Gopichand Nakkalab977a972013-02-18 19:15:09 -0800884 tANI_U32 mgmtFrameSessionId;
Madan Mohan Koyyalamudi70bb4cb2012-10-18 19:31:25 -0700885 tSirBackgroundScanMode gLimBackgroundScanMode;
Madan Mohan Koyyalamudi61bc5662012-11-02 14:33:10 -0700886
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800887#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudi61bc5662012-11-02 14:33:10 -0700888 tpPESession pSessionEntry;
889 tANI_U8 reAssocRetryAttempt;
890#endif
Madan Mohan Koyyalamudi521ff192012-11-15 17:13:08 -0800891 tLimDisassocDeauthCnfReq limDisassocDeauthCnfReq;
Leela Venkata Kiran Kumar Reddy Chirala2247e962013-03-22 19:21:10 -0700892 tANI_U8 deferredMsgCnt;
Gopichand Nakkalad492d202013-05-10 02:50:47 +0530893 tSirDFSChannelList dfschannelList;
Venkata Prathyusha Kuntupalli22ba5982013-04-24 13:09:20 -0700894 tANI_U8 deauthMsgCnt;
Ravi Joshi0fc681b2013-09-11 16:46:07 -0700895 tANI_U8 gLimIbssStaLimit;
Praveen Kumar Sirisilla7ea8dc92013-12-22 16:35:05 -0800896 tANI_U8 probeCounter;
897 tANI_U8 maxProbe;
Agarwal Ashishb4ce9922014-11-04 18:40:38 +0530898 tANI_U8 retryPacketCnt;
Rashmi Ramannad3a03bf2013-12-31 18:33:24 +0530899
900 // Flag to debug remain on channel
901 tANI_BOOLEAN gDebugP2pRemainOnChannel;
902 /* Sequence number to keep track of
903 * start and end of remain on channel
904 * debug marker frame.
905 */
906 tANI_U32 remOnChnSeqNum;
Ganesh Kondabattini10e67352015-03-16 17:41:57 +0530907 tANI_U32 txBdToken;
Pradeep Reddy POTTETI31505892015-04-16 16:47:54 +0530908 tANI_U32 EnableTdls2040BSSCoexIE;
Jeff Johnson295189b2012-06-20 16:38:30 -0700909} tAniSirLim, *tpAniSirLim;
910
Jeff Johnson295189b2012-06-20 16:38:30 -0700911typedef struct sLimMgmtFrameRegistration
912{
913 vos_list_node_t node; // MUST be first element
914 tANI_U16 frameType;
915 tANI_U16 matchLen;
916 tANI_U16 sessionId;
917 tANI_U8 matchData[1];
918} tLimMgmtFrameRegistration, *tpLimMgmtFrameRegistration;
Jeff Johnson295189b2012-06-20 16:38:30 -0700919
920#if defined WLAN_FEATURE_VOWIFI
921typedef struct sRrmContext
922{
923 tRrmSMEContext rrmSmeContext;
924 tRrmPEContext rrmPEContext;
925}tRrmContext, *tpRrmContext;
926#endif
927
928#if defined WLAN_FEATURE_VOWIFI_11R
929typedef struct sFTContext
930{
931 tftSMEContext ftSmeContext;
932 tftPEContext ftPEContext;
933} tftContext, *tpFTContext;
934#endif
935
Jeff Johnson295189b2012-06-20 16:38:30 -0700936//Check if this definition can actually move here even for Volans. In that case
937//this featurization can be removed.
938/** ------------------------------------------------------------------------- *
939
940 \typedef tDriverType
941
942 \brief Indicate the driver type to the mac, and based on this do
943 appropriate initialization.
944
945 -------------------------------------------------------------------------- */
946
947typedef enum
948{
949 eDRIVER_TYPE_PRODUCTION = 0,
950 eDRIVER_TYPE_MFG = 1,
951 eDRIVER_TYPE_DVT = 2
952} tDriverType;
953
954/** ------------------------------------------------------------------------- *
955
956 \typedef tMacOpenParameters
957
958 \brief Parameters needed for Enumeration of all status codes returned by the higher level
959 interface functions.
960
961 -------------------------------------------------------------------------- */
962
963typedef struct sMacOpenParameters
964{
965 tANI_U16 maxStation;
966 tANI_U16 maxBssId;
967 tANI_U32 frameTransRequired;
968 tDriverType driverType;
969} tMacOpenParameters;
970
Jeff Johnson295189b2012-06-20 16:38:30 -0700971typedef struct sHalMacStartParameters
972{
973 // parametes for the Firmware
974 //tHalFirmwareParameters FW;
975 tDriverType driverType;
976
977} tHalMacStartParameters;
Jeff Johnson295189b2012-06-20 16:38:30 -0700978
Sushant Kaushik9e923872015-04-02 17:09:31 +0530979typedef enum
980{
981 LIM_AUTH_ACK_NOT_RCD,
982 LIM_AUTH_ACK_RCD_SUCCESS,
983 LIM_AUTH_ACK_RCD_FAILURE,
984} tAuthAckStatus;
985
Jeff Johnson295189b2012-06-20 16:38:30 -0700986// -------------------------------------------------------------------
987/// MAC Sirius parameter structure
988typedef struct sAniSirGlobal
989
990{
991 tDriverType gDriverType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700992
993 // we should be able to save this hddHandle in here and deprecate
994 // the pAdapter. For now, compiles are a problem because there
995 // are dependencides on the header files that are not handling the
996 // compiler very gracefully.
997// tHddHandle hHdd; // Handle to the HDD.
998 //void *hHdd;
999 void *pAdapter; // deprecate this pAdapter pointer eventually...
1000 // all interfaces to the HDD should pass hHdd, which
1001 // is stored in this struct above.....
1002 tSirMbMsg* pResetMsg;
1003 tAniSirCfg cfg;
1004 tAniSirLim lim;
Jeff Johnson295189b2012-06-20 16:38:30 -07001005 tAniSirPmm pmm;
1006 tAniSirSch sch;
1007 tAniSirSys sys;
1008 tAniSirUtils utils;
Jeff Johnson295189b2012-06-20 16:38:30 -07001009 // PAL/HDD handle
1010 tHddHandle hHdd;
1011
1012#ifdef ANI_DVT_DEBUG
1013 tAniSirDvt dvt;
1014#endif
1015
1016 tSmeStruct sme;
1017 tCsrScanStruct scan;
1018 tCsrRoamStruct roam;
1019
Jeff Johnsone7245742012-09-05 17:12:55 -07001020#ifdef FEATURE_OEM_DATA_SUPPORT
1021 tOemDataStruct oemData;
1022#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001023 tPmcInfo pmc;
1024 tSmeBtcInfo btc;
Jeff Johnson295189b2012-06-20 16:38:30 -07001025
1026 tCcm ccm;
1027
1028#if defined WLAN_FEATURE_VOWIFI
1029 tRrmContext rrm;
1030#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001031#ifdef WLAN_FEATURE_CONCURRENT_P2P
1032 tp2pContext p2pContext[MAX_NO_OF_P2P_SESSIONS];
1033#else
1034 tp2pContext p2pContext;
1035#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001036
1037#if defined WLAN_FEATURE_VOWIFI_11R
1038 tftContext ft;
1039#endif
1040
1041 tANI_U32 gCurrentLogSize;
1042 tANI_U32 menuCurrent;
1043 /* logDump specific */
1044 tANI_U32 dumpTablecurrentId;
1045 /* Instead of static allocation I will dyanamically allocate memory for dumpTableEntry
1046 Thinking of using linkedlist */
1047 tDumpModuleEntry *dumpTableEntry[MAX_DUMP_TABLE_ENTRY];
Gopichand Nakkalaccd3a382013-03-19 13:56:10 -07001048#ifdef FEATURE_WLAN_TDLS
1049 v_BOOL_t isTdlsPowerSaveProhibited;
1050#endif
Gopichand Nakkala86e42662013-06-11 17:44:11 +05301051 tANI_U8 fScanOffload;
krunal sonie9002db2013-11-25 14:24:17 -08001052 tANI_U8 isCoalesingInIBSSAllowed;
Tushnim Bhattacharyyaed4d0c22014-01-30 11:56:44 -08001053 tANI_U32 fEnableDebugLog;
Rashmi Ramanna68b309c2014-05-20 11:52:22 +05301054 tANI_U32 fDeferIMPSTime;
1055 tANI_BOOLEAN deferImps;
Abhishek Singh6d5d29c2014-07-03 14:25:22 +05301056
1057#ifdef WLAN_FEATURE_11AC
1058 /* Alow Mu BFormee session only if MU BF session doesnt exist.
1059 */
1060 v_BOOL_t isMuBfsessionexist;
1061#endif
1062
c_hpothu3ba2a512014-08-06 14:02:54 +05301063 v_BOOL_t isCoexScoIndSet;
Ganesh Kondabattini8f6e3b32014-08-25 16:07:54 +05301064 v_U8_t miracast_mode;
Chandrasekaran, Manishekar5cb0acd2014-12-23 20:06:52 +05301065 v_U8_t fBtcEnableIndTimerVal;
Girish Gowli1c2fc802015-01-19 16:18:07 +05301066 v_U8_t roamDelayStatsEnabled;
Abhishek Singh01c73d12015-03-12 15:13:44 +05301067 tANI_BOOLEAN miracastVendorConfig;
Padma, Santhosh Kumar778d8382015-03-04 17:41:22 +05301068 v_BOOL_t fActiveScanOnDFSChannels;
Sushant Kaushik9e923872015-04-02 17:09:31 +05301069 tAuthAckStatus authAckStatus;
Abhishek Singh7d624e12015-11-30 14:29:27 +05301070 sir_mgmt_frame_ind_callback mgmt_frame_ind_cb;
Jeff Johnson295189b2012-06-20 16:38:30 -07001071} tAniSirGlobal;
1072
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001073#ifdef FEATURE_WLAN_TDLS
Jeff Johnson295189b2012-06-20 16:38:30 -07001074
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001075#define RFC1042_HDR_LENGTH (6)
1076#define GET_BE16(x) ((tANI_U16) (((x)[0] << 8) | (x)[1]))
1077#define ETH_TYPE_89_0d (0x890d)
1078#define ETH_TYPE_LEN (2)
1079#define PAYLOAD_TYPE_TDLS_SIZE (1)
1080#define PAYLOAD_TYPE_TDLS (2)
1081
1082#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001083
1084#endif /* _ANIGLOBAL_H */
1085