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