blob: 121d9ac8d2e54dc5307a5f0a7e46729bfdf1837b [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Kiet Lamaa8e15a2014-02-11 23:30:06 -08002 * Copyright (c) 2012-2013 Qualcomm Atheros, Inc.
3 * All Rights Reserved.
4 * Qualcomm Atheros Confidential and Proprietary.
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08005 */
6/*
Jeff Johnson295189b2012-06-20 16:38:30 -07007 * This file limAssocUtils.h contains the utility definitions
8 * LIM uses while processing Re/Association messages.
9 * Author: Chandra Modumudi
10 * Date: 02/13/02
11 * History:-
12 * Date Modified by Modification Information
13 * --------------------------------------------------------------------
14 * 05/26/10 js WPA handling in (Re)Assoc frames
Jeff Johnson3c3e1782013-02-27 10:48:42 -080015 *
Jeff Johnson295189b2012-06-20 16:38:30 -070016 */
17#ifndef __LIM_ASSOC_UTILS_H
18#define __LIM_ASSOC_UTILS_H
19
20#include "sirApi.h"
21#include "sirDebug.h"
22#include "cfgApi.h"
23
24#include "limTypes.h"
25
26
27tANI_U8 limCmpSSid(tpAniSirGlobal, tSirMacSSid *,tpPESession);
28tANI_U8 limCompareCapabilities(tpAniSirGlobal,
29 tSirAssocReq *,
30 tSirMacCapabilityInfo *,tpPESession);
31tANI_U8 limCheckRxBasicRates(tpAniSirGlobal, tSirMacRateSet,tpPESession);
Chet Lanctot4b9abd72013-06-27 11:14:56 -070032tANI_U8 limCheckRxRSNIeMatch(tpAniSirGlobal, tDot11fIERSN, tpPESession, tANI_U8, tANI_BOOLEAN *);
Jeff Johnson295189b2012-06-20 16:38:30 -070033tANI_U8 limCheckRxWPAIeMatch(tpAniSirGlobal, tDot11fIEWPA, tpPESession, tANI_U8);
Jeff Johnson295189b2012-06-20 16:38:30 -070034tANI_U8 limCheckMCSSet(tpAniSirGlobal pMac, tANI_U8* supportedMCSSet);
35void limPostDummyToTmRing(tpAniSirGlobal, tpDphHashNode);
36void limPostPacketToTdRing(tpAniSirGlobal,
37 tpDphHashNode,
38 tANI_U8);
39tSirRetStatus limCleanupRxPath(tpAniSirGlobal, tpDphHashNode,tpPESession);
40void limRejectAssociation(tpAniSirGlobal , tSirMacAddr, tANI_U8,
41 tANI_U8 , tAniAuthType,
42 tANI_U16, tANI_U8, tSirResultCodes, tpPESession);
43
Jeff Johnsone7245742012-09-05 17:12:55 -070044#ifdef WLAN_FEATURE_11AC
Leela Venkata Kiran Kumar Reddy Chirala85c9fb12013-09-05 20:47:36 -070045tSirRetStatus limPopulatePeerRateSet(tpAniSirGlobal pMac,
46 tpSirSupportedRates pRates,
47 tANI_U8* pSupportedMCSSet,
48 tANI_U8 basicOnly,
49 tpPESession psessionEntry,
50 tDot11fIEVHTCaps *pVHTCaps);
51#else
52tSirRetStatus limPopulatePeerRateSet(tpAniSirGlobal pMac,
53 tpSirSupportedRates pRates,
54 tANI_U8* pSupportedMCSSet,
55 tANI_U8 basicOnly,
56 tpPESession psessionEntry);
57#endif
58
59#ifdef WLAN_FEATURE_11AC
Jeff Johnsone7245742012-09-05 17:12:55 -070060tSirRetStatus limPopulateOwnRateSet(tpAniSirGlobal pMac,
61 tpSirSupportedRates pRates,
62 tANI_U8* pSupportedMCSSet,
63 tANI_U8 basicOnly,
64 tpPESession psessionEntry,
65 tDot11fIEVHTCaps *pVHTCaps);
66
67#else
Jeff Johnson295189b2012-06-20 16:38:30 -070068tSirRetStatus limPopulateOwnRateSet(tpAniSirGlobal pMac,
69 tpSirSupportedRates pRates,
70 tANI_U8* pSupportedMCSSet,
71 tANI_U8 basicOnly,
72 tpPESession psessionEntry);
Jeff Johnsone7245742012-09-05 17:12:55 -070073#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070074
Jeff Johnsone7245742012-09-05 17:12:55 -070075#ifdef WLAN_FEATURE_11AC
76tSirRetStatus
77limPopulateMatchingRateSet(tpAniSirGlobal pMac,
78 tpDphHashNode pStaDs,
79 tSirMacRateSet *pOperRateSet,
80 tSirMacRateSet *pExtRateSet,
81 tANI_U8* pSupportedMCSSet,
82 tSirMacPropRateSet *pAniLegRateSet,
83 tpPESession psessionEntry,
84 tDot11fIEVHTCaps *pVHTCaps);
85#else
Jeff Johnson295189b2012-06-20 16:38:30 -070086tSirRetStatus limPopulateMatchingRateSet(tpAniSirGlobal,
87 tpDphHashNode,
88 tSirMacRateSet *,
89 tSirMacRateSet *,
90 tANI_U8* pSupportedMCSSet,
91 tSirMacPropRateSet *, tpPESession);
Jeff Johnsone7245742012-09-05 17:12:55 -070092
93
94#endif
Gopichand Nakkala681989c2013-03-06 22:27:48 -080095tSirRetStatus limAddSta(tpAniSirGlobal, tpDphHashNode, tANI_U8, tpPESession);
Jeff Johnson295189b2012-06-20 16:38:30 -070096tSirRetStatus limDelBss(tpAniSirGlobal, tpDphHashNode, tANI_U16, tpPESession);
97tSirRetStatus limDelSta(tpAniSirGlobal, tpDphHashNode, tANI_BOOLEAN, tpPESession);
98#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson3c3e1782013-02-27 10:48:42 -080099tSirRetStatus limAddFTStaSelf(tpAniSirGlobal pMac, tANI_U16 assocId,
Jeff Johnson295189b2012-06-20 16:38:30 -0700100 tpPESession psessionEntry);
101#endif /* WLAN_FEATURE_VOWIFI_11R */
102tSirRetStatus limAddStaSelf(tpAniSirGlobal, tANI_U16, tANI_U8, tpPESession);
103tStaRateMode limGetStaRateMode(tANI_U8 dot11Mode);
104
105
106void limTeardownInfraBss(tpAniSirGlobal,tpPESession);
107void limRestorePreReassocState(tpAniSirGlobal,
108 tSirResultCodes,
109 tANI_U16,tpPESession);
Madan Mohan Koyyalamudi85d140a2012-10-18 20:23:01 -0700110void limPostReassocFailure(tpAniSirGlobal,
111 tSirResultCodes,
112 tANI_U16,tpPESession);
Jeff Johnson295189b2012-06-20 16:38:30 -0700113eAniBoolean limIsReassocInProgress(tpAniSirGlobal,tpPESession);
114void
115limSendDelStaCnf(tpAniSirGlobal pMac, tSirMacAddr staDsAddr,
116 tANI_U16 staDsAssocId, tLimMlmStaContext mlmStaContext, tSirResultCodes statusCode,tpPESession psessionEntry);
117
118void limHandleCnfWaitTimeout(tpAniSirGlobal pMac, tANI_U16 staId);
119void limDeleteDphHashEntry(tpAniSirGlobal, tSirMacAddr, tANI_U16,tpPESession);
120void limCheckAndAnnounceJoinSuccess(tpAniSirGlobal,
121 tSirProbeRespBeacon *,
122 tpSirMacMgmtHdr,tpPESession);
123void limUpdateReAssocGlobals(tpAniSirGlobal pMac,
124 tpSirAssocRsp pAssocRsp,tpPESession psessionEntry);
125
126void limUpdateAssocStaDatas(tpAniSirGlobal pMac,
127 tpDphHashNode pStaDs,tpSirAssocRsp pAssocRsp,tpPESession psessionEntry);
128void
129limFillSupportedRatesInfo(
130 tpAniSirGlobal pMac,
131 tpDphHashNode pSta,
132 tpSirSupportedRates pRates,
133 tpPESession psessionEntry);
134
Jeff Johnson62c27982013-02-27 17:53:55 -0800135tSirRetStatus limStaSendAddBss(tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -0700136 tpSchBeaconStruct pBeaconStruct, tpSirBssDescription bssDescription, tANI_U8 updateEntry, tpPESession psessionEntry);
137tSirRetStatus limStaSendAddBssPreAssoc( tpAniSirGlobal pMac, tANI_U8 updateEntry, tpPESession psessionEntry);
138
Jeff Johnson295189b2012-06-20 16:38:30 -0700139void limPrepareAndSendDelStaCnf(tpAniSirGlobal pMac, tpDphHashNode pStaDs, tSirResultCodes statusCode,tpPESession);
140tSirRetStatus limExtractApCapabilities(tpAniSirGlobal pMac, tANI_U8 * pIE, tANI_U16 ieLen, tpSirProbeRespBeacon beaconStruct);
141void limInitPreAuthTimerTable(tpAniSirGlobal pMac, tpLimPreAuthTable pPreAuthTimerTable);
142tpLimPreAuthNode limAcquireFreePreAuthNode(tpAniSirGlobal pMac, tpLimPreAuthTable pPreAuthTimerTable);
143tpLimPreAuthNode limGetPreAuthNodeFromIndex(tpAniSirGlobal pMac, tpLimPreAuthTable pAuthTable, tANI_U32 authNodeIdx);
144
145/* Util API to check if the channels supported by STA is within range */
146tSirRetStatus limIsDot11hSupportedChannelsValid(tpAniSirGlobal pMac, tSirAssocReq *assoc);
147
148/* Util API to check if the txpower supported by STA is within range */
149tSirRetStatus limIsDot11hPowerCapabilitiesInRange(tpAniSirGlobal pMac, tSirAssocReq *assoc,tpPESession);
150
151/* API to re-add the same BSS during re-association */
152void limHandleAddBssInReAssocContext(tpAniSirGlobal pMac, tpDphHashNode pStaDs, tpPESession psessionEntry);
153
154/* API to fill in RX Highest Supported data Rate */
155void limFillRxHighestSupportedRate(tpAniSirGlobal pMac, tANI_U16 *rxHighestRate, tANI_U8* pSupportedMCSSet);
Madan Mohan Koyyalamudi61bc5662012-11-02 14:33:10 -0700156#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
157void limSendRetryReassocReqFrame(tpAniSirGlobal pMac, tLimMlmReassocReq *pMlmReassocReq, tpPESession psessionEntry);
158#endif
Chet Lanctot186b5732013-03-18 10:26:30 -0700159#ifdef WLAN_FEATURE_11W
160void limSendSmeUnprotectedMgmtFrameInd(tpAniSirGlobal pMac, tANI_U8 frameType,
161 tANI_U8 *frame, tANI_U32 frameLen, tANI_U16 sessionId, tpPESession psessionEntry);
162#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700163
Srinivas Girigowda5cecb202013-10-08 09:13:25 -0700164#if defined(FEATURE_WLAN_CCX) && defined(FEATURE_WLAN_CCX_UPLOAD)
165void limSendSmeTsmIEInd( tpAniSirGlobal pMac, tpPESession psessionEntry,
166 tANI_U8 tid, tANI_U8 state, tANI_U16 measInterval);
167#endif /* FEATURE_WLAN_CCX && FEATURE_WLAN_CCX_UPLOAD */
168
Jeff Johnson295189b2012-06-20 16:38:30 -0700169
170#endif /* __LIM_ASSOC_UTILS_H */
171