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