blob: 5a072101bd3fc17dfcbdb494d263bbde895717bb [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Padma, Santhosh Kumar67f479b2016-12-28 15:43:42 +05302 * Copyright (c) 2011-2014, 2016-2017 The Linux Foundation. All rights reserved.
Kiet Lam0fb93dd2014-02-19 00:32:59 -08003 *
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.
Gopichand Nakkala92f07d82013-01-08 21:16:34 -080020 */
Kiet Lam0fb93dd2014-02-19 00:32:59 -080021
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028/** ------------------------------------------------------------------------- *
29 ------------------------------------------------------------------------- *
30
31
32 \file csrNeighborRoam.h
33
34 Exports and types for the neighbor roaming algorithm which is sepcifically
35 designed for Android.
Jeff Johnson295189b2012-06-20 16:38:30 -070036
37========================================================================== */
38#ifndef CSR_NEIGHBOR_ROAM_H
39#define CSR_NEIGHBOR_ROAM_H
40
41#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Madan Mohan Koyyalamudi48101412013-09-11 23:09:37 +053042#include "sme_Api.h"
Jeff Johnson295189b2012-06-20 16:38:30 -070043
Padma, Santhosh Kumar7cdb5242017-01-11 19:19:08 +053044/* 15 seconds, for WPA, WPA2, CCKM */
45#define CSR_WAIT_FOR_KEY_TIMEOUT_PERIOD (15 * PAL_TIMER_TO_SEC_UNIT)
46/* 120 seconds, for WPS */
47#define CSR_WAIT_FOR_WPS_KEY_TIMEOUT_PERIOD (120 * PAL_TIMER_TO_SEC_UNIT)
48
49
Jeff Johnson295189b2012-06-20 16:38:30 -070050/* Enumeration of various states in neighbor roam algorithm */
51typedef enum
52{
53 eCSR_NEIGHBOR_ROAM_STATE_CLOSED,
54 eCSR_NEIGHBOR_ROAM_STATE_INIT,
55 eCSR_NEIGHBOR_ROAM_STATE_CONNECTED,
56 eCSR_NEIGHBOR_ROAM_STATE_CFG_CHAN_LIST_SCAN,
57 eCSR_NEIGHBOR_ROAM_STATE_REASSOCIATING,
58#ifdef WLAN_FEATURE_VOWIFI_11R
59 eCSR_NEIGHBOR_ROAM_STATE_REPORT_QUERY,
60 eCSR_NEIGHBOR_ROAM_STATE_REPORT_SCAN,
61 eCSR_NEIGHBOR_ROAM_STATE_PREAUTHENTICATING,
62 eCSR_NEIGHBOR_ROAM_STATE_PREAUTH_DONE,
63#endif /* WLAN_FEATURE_VOWIFI_11R */
Padma, Santhosh Kumar67f479b2016-12-28 15:43:42 +053064#ifdef WLAN_FEATURE_LFR_MBB
65 eCSR_NEIGHBOR_ROAM_STATE_MBB_PREAUTH_REASSOC,
66#endif
67
Jeff Johnson295189b2012-06-20 16:38:30 -070068 eNEIGHBOR_STATE_MAX
69} eCsrNeighborRoamState;
70
71/* Parameters that are obtained from CFG */
72typedef struct sCsrNeighborRoamCfgParams
73{
74 tANI_U8 maxNeighborRetries;
75 tANI_U32 neighborScanPeriod;
76 tCsrChannelInfo channelInfo;
77 tANI_U8 neighborLookupThreshold;
78 tANI_U8 neighborReassocThreshold;
79 tANI_U32 minChannelScanTime;
80 tANI_U32 maxChannelScanTime;
81 tANI_U16 neighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -080082 tANI_U16 emptyScanRefreshPeriod;
Mukul Sharma20aa6582014-08-07 21:36:12 +053083 tANI_U8 neighborInitialForcedRoamTo5GhEnable;
Sreelakshmi Konamki70bfdaf2017-05-29 18:47:29 +053084 tANI_U8 WeakZoneRssiThresholdForRoam;
Jeff Johnson295189b2012-06-20 16:38:30 -070085} tCsrNeighborRoamCfgParams, *tpCsrNeighborRoamCfgParams;
86
87#define CSR_NEIGHBOR_ROAM_INVALID_CHANNEL_INDEX 255
88typedef struct sCsrNeighborRoamChannelInfo
89{
90 tANI_BOOLEAN IAPPNeighborListReceived; // Flag to mark reception of IAPP Neighbor list
91 tANI_BOOLEAN chanListScanInProgress;
92 tANI_U8 currentChanIndex; //Current channel index that is being scanned
93 tCsrChannelInfo currentChannelListInfo; //Max number of channels in channel list and the list of channels
94} tCsrNeighborRoamChannelInfo, *tpCsrNeighborRoamChannelInfo;
95
96typedef struct sCsrNeighborRoamBSSInfo
97{
98 tListElem List;
99 tANI_U8 apPreferenceVal;
100// tCsrScanResultInfo *scanResultInfo;
101 tpSirBssDescription pBssDescription;
102} tCsrNeighborRoamBSSInfo, *tpCsrNeighborRoamBSSInfo;
103
104#ifdef WLAN_FEATURE_VOWIFI_11R
105#define CSR_NEIGHBOR_ROAM_REPORT_QUERY_TIMEOUT 1000 //in milliseconds
Madan Mohan Koyyalamudiee87bfc2012-09-18 17:21:00 -0700106#define CSR_NEIGHBOR_ROAM_PREAUTH_RSP_WAIT_MULTIPLIER 10 //in milliseconds
Jeff Johnson295189b2012-06-20 16:38:30 -0700107#define MAX_NUM_PREAUTH_FAIL_LIST_ADDRESS 10 //Max number of MAC addresses with which the pre-auth was failed
Jeff Johnson04dd8a82012-06-29 20:41:40 -0700108#define MAX_BSS_IN_NEIGHBOR_RPT 15
Jeff Johnson295189b2012-06-20 16:38:30 -0700109#define CSR_NEIGHBOR_ROAM_MAX_NUM_PREAUTH_RETRIES 3
Mukul Sharma20aa6582014-08-07 21:36:12 +0530110#define INITIAL_FORCED_ROAM_TO_5G_TIMER_PERIOD 5000 //in msecs
Jeff Johnson295189b2012-06-20 16:38:30 -0700111
112/* Black listed APs. List of MAC Addresses with which the Preauthentication was failed. */
113typedef struct sCsrPreauthFailListInfo
114{
115 tANI_U8 numMACAddress;
116 tSirMacAddr macAddress[MAX_NUM_PREAUTH_FAIL_LIST_ADDRESS];
117} tCsrPreauthFailListInfo, *tpCsrPreauthFailListInfo;
118
119typedef struct sCsrNeighborReportBssInfo
120{
121 tANI_U8 channelNum;
122 tANI_U8 neighborScore;
123 tSirMacAddr neighborBssId;
124} tCsrNeighborReportBssInfo, *tpCsrNeighborReportBssInfo;
125
126typedef struct sCsr11rAssocNeighborInfo
127{
128 tANI_BOOLEAN preauthRspPending;
129 tANI_BOOLEAN neighborRptPending;
130 tANI_U8 currentNeighborRptRetryNum;
Jeff Johnson295189b2012-06-20 16:38:30 -0700131 tCsrPreauthFailListInfo preAuthFailList;
132 tANI_U32 neighborReportTimeout;
133 tANI_U32 PEPreauthRespTimeout;
134 tANI_U8 numPreAuthRetries;
135 tDblLinkList preAuthDoneList; /* Linked list which consists or preauthenticated nodes */
136 tANI_U8 numBssFromNeighborReport;
137 tCsrNeighborReportBssInfo neighboReportBssInfo[MAX_BSS_IN_NEIGHBOR_RPT]; //Contains info needed during REPORT_SCAN State
138} tCsr11rAssocNeighborInfo, *tpCsr11rAssocNeighborInfo;
139#endif /* WLAN_FEATURE_VOWIFI_11R */
140
141/* Below macros are used to increase the registered neighbor Lookup threshold with TL when
142 * we dont see any AP during back ground scanning. The values are incremented from neighborLookupThreshold
143 * from CFG, incremented by 5,10,15...50(LOOKUP_THRESHOLD_INCREMENT_MULTIPLIER_MAX *
144 * NEIGHBOR_LOOKUP_THRESHOLD_INCREMENT_CONSTANT) */
145#define NEIGHBOR_LOOKUP_THRESHOLD_INCREMENT_CONSTANT 5
146#define LOOKUP_THRESHOLD_INCREMENT_MULTIPLIER_MAX 4
Madan Mohan Koyyalamudidd3c9662012-11-09 17:39:30 -0800147/*
148 * Set lookup UP threshold 5 dB higher than the configured
149 * lookup DOWN threshold to minimize thrashing between
150 * DOWN and UP events.
Madan Mohan Koyyalamudi04039a12012-10-21 12:24:56 -0700151 */
Madan Mohan Koyyalamudidd3c9662012-11-09 17:39:30 -0800152#define NEIGHBOR_ROAM_LOOKUP_UP_THRESHOLD \
153 (pNeighborRoamInfo->cfgParams.neighborLookupThreshold-5)
154#ifdef FEATURE_WLAN_LFR
155typedef enum
156{
157 eFirstEmptyScan=1,
158 eSecondEmptyScan,
159 eThirdEmptyScan,
160 eFourthEmptyScan,
161 eFifthEmptyScan,
Srinivas Girigowdade697412013-02-14 16:31:48 -0800162 eMaxEmptyScan=eFifthEmptyScan,
Madan Mohan Koyyalamudidd3c9662012-11-09 17:39:30 -0800163} eNeighborRoamEmptyScanCount;
Srinivas Girigowdade697412013-02-14 16:31:48 -0800164
165typedef enum
166{
167 DEFAULT_SCAN=0,
168 SPLIT_SCAN_OCCUPIED_LIST=1,
169} eNeighborRoamScanMode;
Madan Mohan Koyyalamudidd3c9662012-11-09 17:39:30 -0800170#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700171
172/* Complete control information for neighbor roam algorithm */
173typedef struct sCsrNeighborRoamControlInfo
174{
175 eCsrNeighborRoamState neighborRoamState;
176 eCsrNeighborRoamState prevNeighborRoamState;
177 tCsrNeighborRoamCfgParams cfgParams;
178 tCsrBssid currAPbssid; // current assoc AP
179 tANI_U8 currAPoperationChannel; // current assoc AP
Madan Mohan Koyyalamudia48c6812013-07-11 12:01:37 +0530180 vos_timer_t neighborScanTimer;
181 vos_timer_t neighborResultsRefreshTimer;
182 vos_timer_t emptyScanRefreshTimer;
Jeff Johnson295189b2012-06-20 16:38:30 -0700183 tCsrNeighborRoamChannelInfo roamChannelInfo;
184 tANI_U8 currentNeighborLookupThreshold;
Jeff Johnson295189b2012-06-20 16:38:30 -0700185 tANI_BOOLEAN scanRspPending;
Deepthi Gowri2f435132016-05-18 19:30:17 +0530186 v_TIME_t scanRequestTimeStamp;
Jeff Johnson295189b2012-06-20 16:38:30 -0700187 tDblLinkList roamableAPList; // List of current FT candidates
188 tANI_U32 csrSessionId;
189 tCsrRoamProfile csrNeighborRoamProfile;
190#ifdef WLAN_FEATURE_VOWIFI_11R
191 tANI_BOOLEAN is11rAssoc;
192 tCsr11rAssocNeighborInfo FTRoamInfo;
193#endif /* WLAN_FEATURE_VOWIFI_11R */
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800194#ifdef FEATURE_WLAN_ESE
195 tANI_BOOLEAN isESEAssoc;
Jeff Johnson295189b2012-06-20 16:38:30 -0700196 tANI_BOOLEAN isVOAdmitted;
197 tANI_U32 MinQBssLoadRequired;
198#endif
Madan Mohan Koyyalamudidd3c9662012-11-09 17:39:30 -0800199#ifdef FEATURE_WLAN_LFR
200 tANI_U8 uEmptyScanCount; /* Consecutive number of times scan
201 yielded no results. */
202 tCsrRoamConnectedProfile prevConnProfile; /* Previous connected profile. If the
203 new profile does not match previous
204 we re-initialize occupied channel list */
Srikant Kuppa866893f2012-12-27 17:28:14 -0800205 tANI_S8 lookupDOWNRssi;
Srinivas Girigowdade697412013-02-14 16:31:48 -0800206 tANI_U8 uScanMode;
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -0700207 tANI_U8 uOsRequestedHandoff; /* upper layer requested
208 a reassoc */
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700209#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -0700210 tCsrHandoffRequest handoffReqInfo; /* handoff related info came
211 with upper layer's req for
212 reassoc */
Madan Mohan Koyyalamudidd3c9662012-11-09 17:39:30 -0800213#endif
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700214#endif
Madan Mohan Koyyalamudi48101412013-09-11 23:09:37 +0530215 tSmeFastRoamTrigger cfgRoamEn;
216 tSirMacAddr cfgRoambssId;
Mukul Sharma20aa6582014-08-07 21:36:12 +0530217 vos_timer_t forcedInitialRoamTo5GHTimer;
218 tANI_U8 isForcedInitialRoamTo5GH;
Mukul Sharmad68cda62015-03-20 21:25:41 +0530219 tANI_U8 lastSentCmd;
Padma, Santhosh Kumar67f479b2016-12-28 15:43:42 +0530220
221#ifdef WLAN_FEATURE_LFR_MBB
222 bool is_pre_auth_reassoc_mbb_timer_started;
223#endif
224
Jeff Johnson295189b2012-06-20 16:38:30 -0700225} tCsrNeighborRoamControlInfo, *tpCsrNeighborRoamControlInfo;
226
227
228/* All the necessary Function declarations are here */
229eHalStatus csrNeighborRoamIndicateConnect(tpAniSirGlobal pMac,tANI_U8 sessionId, VOS_STATUS status);
230eHalStatus csrNeighborRoamIndicateDisconnect(tpAniSirGlobal pMac,tANI_U8 sessionId);
231tANI_BOOLEAN csrNeighborRoamIsHandoffInProgress(tpAniSirGlobal pMac);
232void csrNeighborRoamRequestHandoff(tpAniSirGlobal pMac);
233eHalStatus csrNeighborRoamInit(tpAniSirGlobal pMac);
234void csrNeighborRoamClose(tpAniSirGlobal pMac);
235void csrNeighborRoamPurgePreauthFailedList(tpAniSirGlobal pMac);
236VOS_STATUS csrNeighborRoamTransitToCFGChanScan(tpAniSirGlobal pMac);
237VOS_STATUS csrNeighborRoamTransitionToPreauthDone(tpAniSirGlobal pMac);
238eHalStatus csrNeighborRoamPrepareScanProfileFilter(tpAniSirGlobal pMac, tCsrScanResultFilter *pScanFilter);
c_hpothub8bdd362014-10-29 20:49:02 +0530239tANI_BOOLEAN csrNeighborRoamGetHandoffAPInfo(tpAniSirGlobal pMac, tpCsrNeighborRoamBSSInfo pHandoffNode);
Srikant Kuppaa3ed0a32013-02-20 07:24:43 -0800240eHalStatus csrNeighborRoamPreauthRspHandler(tpAniSirGlobal pMac, tSirRetStatus limStatus);
Jeff Johnson295189b2012-06-20 16:38:30 -0700241#ifdef WLAN_FEATURE_VOWIFI_11R
242tANI_BOOLEAN csrNeighborRoamIs11rAssoc(tpAniSirGlobal pMac);
243#endif
244VOS_STATUS csrNeighborRoamCreateChanListFromNeighborReport(tpAniSirGlobal pMac);
245void csrNeighborRoamTranistionPreauthDoneToDisconnected(tpAniSirGlobal pMac);
246tANI_BOOLEAN csrNeighborRoamStatePreauthDone(tpAniSirGlobal pMac);
Srikant Kuppafef66a72013-01-30 17:32:44 -0800247tANI_BOOLEAN csrNeighborRoamScanRspPending(tHalHandle hHal);
Srinivas Girigowdaa553c462013-03-07 19:42:52 -0800248tANI_BOOLEAN csrNeighborMiddleOfRoaming(tHalHandle hHal);
Srinivas Girigowdade697412013-02-14 16:31:48 -0800249VOS_STATUS csrNeighborRoamSetLookupRssiThreshold(tpAniSirGlobal pMac, v_U8_t neighborLookupRssiThreshold);
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700250VOS_STATUS csrNeighborRoamUpdateFastRoamingEnabled(tpAniSirGlobal pMac, const v_BOOL_t fastRoamEnabled);
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800251VOS_STATUS csrNeighborRoamUpdateEseModeEnabled(tpAniSirGlobal pMac, const v_BOOL_t eseMode);
Mukul Sharma20aa6582014-08-07 21:36:12 +0530252VOS_STATUS csrNeighborRoamChannelsFilterByBand(
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700253 tpAniSirGlobal pMac,
254 tANI_U8* pInputChannelList,
Srinivas Girigowda5cecb202013-10-08 09:13:25 -0700255 tANI_U8 inputNumOfChannels,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700256 tANI_U8* pOutputChannelList,
Mukul Sharma20aa6582014-08-07 21:36:12 +0530257 tANI_U8* pMergedOutputNumOfChannels,
258 tSirRFBand band
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700259 );
Madan Mohan Koyyalamudi48101412013-09-11 23:09:37 +0530260VOS_STATUS csrNeighborRoamReassocIndCallback(v_PVOID_t pAdapter,
261 v_U8_t trafficStatus,
262 v_PVOID_t pUserCtxt,
263 v_S7_t avgRssi);
Srinivas Girigowda5cecb202013-10-08 09:13:25 -0700264VOS_STATUS csrNeighborRoamMergeChannelLists(tpAniSirGlobal pMac,
265 tANI_U8 *pInputChannelList,
266 tANI_U8 inputNumOfChannels,
267 tANI_U8 *pOutputChannelList,
268 tANI_U8 outputNumOfChannels,
269 tANI_U8 *pMergedOutputNumOfChannels);
Padma, Santhosh Kumar67f479b2016-12-28 15:43:42 +0530270tANI_BOOLEAN
271csrNeighborRoamRemoveRoamableAPListEntry(tpAniSirGlobal pMac,
272 tDblLinkList *pList, tpCsrNeighborRoamBSSInfo pNeighborEntry);
273eHalStatus
274csrNeighborRoamAddBssIdToPreauthFailList(tpAniSirGlobal pMac,
275 tSirMacAddr bssId);
276void csrNeighborRoamFreeNeighborRoamBSSNode(tpAniSirGlobal pMac,
277 tpCsrNeighborRoamBSSInfo neighborRoamBSSNode);
Yeshwanth Sriram Guntuka381bfa82018-11-06 18:29:50 +0530278/**
279 * csrRemoveNeighbourRoamPreauthCommand() - Remove any pending preauth
280 * command
281 * @pMac: Mac handle
282 *
283 * Return: None
284 */
285void csrRemoveNeighbourRoamPreauthCommand(tpAniSirGlobal pMac);
Srinivas Girigowda5cecb202013-10-08 09:13:25 -0700286
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700287#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
288#define ROAM_SCAN_OFFLOAD_START 1
289#define ROAM_SCAN_OFFLOAD_STOP 2
290#define ROAM_SCAN_OFFLOAD_RESTART 3
291#define ROAM_SCAN_OFFLOAD_UPDATE_CFG 4
292
293#define REASON_CONNECT 1
294#define REASON_CHANNEL_LIST_CHANGED 2
295#define REASON_LOOKUP_THRESH_CHANGED 3
296#define REASON_DISCONNECTED 4
297#define REASON_RSSI_DIFF_CHANGED 5
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800298#define REASON_ESE_INI_CFG_CHANGED 6
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700299#define REASON_NEIGHBOR_SCAN_REFRESH_PERIOD_CHANGED 7
300#define REASON_VALID_CHANNEL_LIST_CHANGED 8
301#define REASON_FLUSH_CHANNEL_LIST 9
302#define REASON_EMPTY_SCAN_REF_PERIOD_CHANGED 10
303#define REASON_PREAUTH_FAILED_FOR_ALL 11
304#define REASON_NO_CAND_FOUND_OR_NOT_ROAMING_NOW 12
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700305#define REASON_NPROBES_CHANGED 13
306#define REASON_HOME_AWAY_TIME_CHANGED 14
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -0700307#define REASON_OS_REQUESTED_ROAMING_NOW 15
Varun Reddy Yeturuce114f72013-06-05 14:09:58 -0700308#define REASON_SCAN_CH_TIME_CHANGED 16
309#define REASON_SCAN_HOME_TIME_CHANGED 17
Mukul Sharma20aa6582014-08-07 21:36:12 +0530310#define REASON_INITIAL_FORCED_ROAM_TO_5G 18
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700311eHalStatus csrRoamOffloadScan(tpAniSirGlobal pMac, tANI_U8 command, tANI_U8 reason);
312eHalStatus csrNeighborRoamCandidateFoundIndHdlr(tpAniSirGlobal pMac, void* pMsg);
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -0700313eHalStatus csrNeighborRoamHandoffReqHdlr(tpAniSirGlobal pMac, void* pMsg);
314eHalStatus csrNeighborRoamProceedWithHandoffReq(tpAniSirGlobal pMac);
315eHalStatus csrNeighborRoamSssidScanDone(tpAniSirGlobal pMac, eHalStatus status);
Mukul Sharma20aa6582014-08-07 21:36:12 +0530316eHalStatus csrNeighborRoamStartLfrScan(tpAniSirGlobal pMac, tANI_U8 OffloadCmdStopReason);
Padma, Santhosh Kumar7cdb5242017-01-11 19:19:08 +0530317eHalStatus csrRoamStartWaitForKeyTimer(tpAniSirGlobal pMac,
318 tANI_U32 interval);
319void csrRoamLinkUp(tpAniSirGlobal pMac, tCsrBssid bssid);
320
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700321#endif
322
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800323#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
Srinivas Girigowda5cecb202013-10-08 09:13:25 -0700324VOS_STATUS csrSetCCKMIe(tpAniSirGlobal pMac, const tANI_U8 sessionId,
325 const tANI_U8 *pCckmIe,
326 const tANI_U8 ccKmIeLen);
327VOS_STATUS csrRoamReadTSF(tpAniSirGlobal pMac, tANI_U8 *pTimestamp);
328
329
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800330#endif /*FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */
Srinivas Girigowda5cecb202013-10-08 09:13:25 -0700331
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700332
Jeff Johnson295189b2012-06-20 16:38:30 -0700333#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
334
335#endif /* CSR_NEIGHBOR_ROAM_H */