blob: 6ec56361de6faf85a0750a5c3ddce32db61b9a78 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Padma, Santhosh Kumaree7c3d22016-01-25 10:36:08 +05302 * Copyright (c) 2012-2016 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.
20 */
21
22/*
Kiet Lama7f454d2014-07-24 12:04:06 -070023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
Kiet Lam0fb93dd2014-02-19 00:32:59 -080026 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Jeff Johnson295189b2012-06-20 16:38:30 -070031#if !defined( __SME_API_H )
32#define __SME_API_H
33
34
35/**=========================================================================
36
37 \file smeApi.h
38
39 \brief prototype for SME APIs
40
Jeff Johnson295189b2012-06-20 16:38:30 -070041
42 ========================================================================*/
43
44/* $Header$ */
45
46/*--------------------------------------------------------------------------
47 Include Files
48 ------------------------------------------------------------------------*/
Anand N Sunkadb3ab97d2015-07-29 09:58:13 +053049#include <linux/version.h>
Jeff Johnson295189b2012-06-20 16:38:30 -070050#include "ccmApi.h"
51#include "csrApi.h"
52#include "pmcApi.h"
53#include "vos_mq.h"
54#include "vos_lock.h"
55#include "halTypes.h"
56#include "sirApi.h"
57#include "btcApi.h"
58#include "vos_nvitem.h"
59#include "p2p_Api.h"
Sushant Kaushik83392fa2015-05-05 17:44:40 +053060#include "smeInternal.h"
Jeff Johnson295189b2012-06-20 16:38:30 -070061
Jeff Johnsone7245742012-09-05 17:12:55 -070062#ifdef FEATURE_OEM_DATA_SUPPORT
63#include "oemDataApi.h"
64#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070065
66#if defined WLAN_FEATURE_VOWIFI
67#include "smeRrmInternal.h"
68#endif
Srinivas Dasari030bad32015-02-18 23:23:54 +053069#include "nan_Api.h"
Jeff Johnson295189b2012-06-20 16:38:30 -070070
71/*--------------------------------------------------------------------------
72 Preprocessor definitions and constants
73 ------------------------------------------------------------------------*/
74
75#define SME_SUMMARY_STATS 1
76#define SME_GLOBAL_CLASSA_STATS 2
77#define SME_GLOBAL_CLASSB_STATS 4
78#define SME_GLOBAL_CLASSC_STATS 8
79#define SME_GLOBAL_CLASSD_STATS 16
80#define SME_PER_STA_STATS 32
Sushant Kaushik33200572015-08-05 16:46:20 +053081#define SME_PER_PKT_STATS 64
Jeff Johnson295189b2012-06-20 16:38:30 -070082
83#define SME_INVALID_COUNTRY_CODE "XX"
84
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -070085//Macro to disable split scan
86#define SME_DISABLE_SPLIT_SCAN 255
Padma, Santhosh Kumar859d3712014-11-13 18:00:41 +053087
88//Macro to indicate invalid no of tspecs
89#define INVALID_TSPEC 100
90
Padma, Santhosh Kumar2762e9d2015-10-20 15:02:57 +053091#define SME_SET_CHANNEL_REG_POWER(reg_info_1, val) do { \
92 reg_info_1 &= 0xff00ffff; \
93 reg_info_1 |= ((val & 0xff) << 16); \
94} while(0)
95
96#define SME_SET_CHANNEL_MAX_TX_POWER(reg_info_2, val) do { \
97 reg_info_2 &= 0xffff00ff; \
98 reg_info_2 |= ((val & 0xff) << 8); \
99} while(0)
100
Jeff Johnson295189b2012-06-20 16:38:30 -0700101/*--------------------------------------------------------------------------
102 Type declarations
103 ------------------------------------------------------------------------*/
104typedef struct _smeConfigParams
105{
106 tCsrConfigParam csrConfig;
107#if defined WLAN_FEATURE_VOWIFI
108 tRrmConfigParam rrmConfig;
109#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -0700110#if defined FEATURE_WLAN_LFR
111 tANI_U8 isFastRoamIniFeatureEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -0800112 tANI_U8 MAWCEnabled;
Jeff Johnson04dd8a82012-06-29 20:41:40 -0700113#endif
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800114#if defined FEATURE_WLAN_ESE
115 tANI_U8 isEseIniFeatureEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -0700116#endif
117#if defined WLAN_FEATURE_P2P_INTERNAL
118 tP2PConfigParam p2pConfig;
119#endif
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800120#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Srinivas Girigowda100eb322013-03-15 16:48:20 -0700121 tANI_U8 isFastTransitionEnabled;
122 tANI_U8 RoamRssiDiff;
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -0700123 tANI_BOOLEAN isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -0700124#endif
Gopichand Nakkala86e42662013-06-11 17:44:11 +0530125 tANI_BOOLEAN fScanOffload;
krunal soni5afa96c2013-09-06 22:19:02 -0700126 tANI_U8 isAmsduSupportInAMPDU;
Tushnim Bhattacharyyaed4d0c22014-01-30 11:56:44 -0800127 tANI_U32 fEnableDebugLog;
Rashmi Ramanna68b309c2014-05-20 11:52:22 +0530128 tANI_U32 fDeferIMPSTime;
Chandrasekaran, Manishekar5cb0acd2014-12-23 20:06:52 +0530129 tANI_U8 fBtcEnableIndTimerVal;
Jeff Johnson295189b2012-06-20 16:38:30 -0700130} tSmeConfigParams, *tpSmeConfigParams;
131
Sunil Duttc69bccb2014-05-26 21:30:20 +0530132#ifdef WLAN_FEATURE_LINK_LAYER_STATS
133
134/* ---------------------------------------------------------------------------
135 \fn sme_LLStatsSetReq
136 \brief API to set link layer stats request to FW
137 \param hHal - The handle returned by macOpen.
138
139 \Param pStatsReq - a pointer to a caller allocated object of
140 typedef struct tSirLLStatsSetReq, signifying the parameters to link layer
141 stats set.
142
143 \return eHalStatus
144 ---------------------------------------------------------------------------*/
145eHalStatus sme_LLStatsSetReq(tHalHandle hHal, tSirLLStatsSetReq *pStatsReq);
146
147/* ---------------------------------------------------------------------------
148 \fn sme_LLStatsGetReq
149 \brief API to get link layer stats request to FW
150 \param hHal - The handle returned by macOpen.
151
152 \Param pStatsReq - a pointer to a caller allocated object of
153 typedef struct tSirLLStatsGetReq, signifying the parameters to link layer
154 stats get.
155
156 \return eHalStatus
157 ---------------------------------------------------------------------------*/
158eHalStatus sme_LLStatsGetReq(tHalHandle hHal, tSirLLStatsGetReq *pStatsReq);
159
160/* ---------------------------------------------------------------------------
161 \fn sme_LLStatsClearReq
162 \brief API to clear link layer stats request to FW
163 \param hHal - The handle returned by macOpen.
164
165 \Param pStatsReq - a pointer to a caller allocated object of
166 typedef struct tSirLLStatsClearReq, signifying the parameters to link layer
167 stats clear.
168
169 \return eHalStatus
170 ---------------------------------------------------------------------------*/
171eHalStatus sme_LLStatsClearReq(tHalHandle hHal, tSirLLStatsClearReq *pStatsReq);
172
173/* ---------------------------------------------------------------------------
174 \fn sme_SetLinkLayerStatsIndCB
175 \brief API to trigger Link Layer stats result indications from from FW
176 \param hHal - The handle returned by macOpen.
Sunil Duttc69bccb2014-05-26 21:30:20 +0530177 \param callbackRoutine - HDD callback which needs to be invoked after
178 getting get Link Layer Statistics results from FW
Sunil Duttc69bccb2014-05-26 21:30:20 +0530179 \return eHalStatus
180 ---------------------------------------------------------------------------*/
181eHalStatus
182sme_SetLinkLayerStatsIndCB
183(
Dino Mycled3d50022014-07-07 12:58:25 +0530184 tHalHandle hHal,
185 void (*callbackRoutine) (void *callbackCtx, int indType, void *pRsp,
186 tANI_U8 *macAddr)
Sunil Duttc69bccb2014-05-26 21:30:20 +0530187);
188
189
190#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
191
Dino Mycle2c198072014-06-10 10:15:52 +0530192#ifdef WLAN_FEATURE_EXTSCAN
193/* ---------------------------------------------------------------------------
194 \fn sme_GetValidChannelsByBand
195 \brief SME API to fetch all valid channel filtered by band
196 \param hHal
197 \param wifiBand: RF band information
198 \param aValidChannels: Array to store channel info
199 \param len: number of channels
200 \- return eHalStatus
201 -------------------------------------------------------------------------*/
202eHalStatus sme_GetValidChannelsByBand (tHalHandle hHal, tANI_U8 wifiBand,
203 tANI_U32 *aValidChannels, tANI_U8 *pNumChannels);
204
205/* ---------------------------------------------------------------------------
206 \fn sme_EXTScanGetCapabilities
207 \brief SME API to fetch Extented Scan capabilities
208 \param hHal
209 \param pReq: Extented Scan capabilities structure
210 \- return eHalStatus
211 -------------------------------------------------------------------------*/
212eHalStatus sme_EXTScanGetCapabilities (tHalHandle hHal,
213 tSirGetEXTScanCapabilitiesReqParams *pReq);
214
215/* ---------------------------------------------------------------------------
216 \fn sme_EXTScanStart
217 \brief SME API to issue Extented Scan start
218 \param hHal
219 \param pStartCmd: Extented Scan start structure
220 \- return eHalStatus
221 -------------------------------------------------------------------------*/
222eHalStatus sme_EXTScanStart (tHalHandle hHal,
223 tSirEXTScanStartReqParams *pStartCmd);
224
225/* ---------------------------------------------------------------------------
226 \fn sme_EXTScanStop
227 \brief SME API to issue Extented Scan stop
228 \param hHal
229 \param pStopReq: Extented Scan stop structure
230 \- return eHalStatus
231 -------------------------------------------------------------------------*/
232eHalStatus sme_EXTScanStop(tHalHandle hHal, tSirEXTScanStopReqParams *pStopReq);
233
234/* ---------------------------------------------------------------------------
235 \fn sme_SetBssHotlist
236 \brief SME API to set BSSID hotlist
237 \param hHal
238 \param pSetHotListReq: Extented Scan set hotlist structure
239 \- return eHalStatus
240 -------------------------------------------------------------------------*/
241eHalStatus sme_SetBssHotlist (tHalHandle hHal,
242 tSirEXTScanSetBssidHotListReqParams *pSetHotListReq);
243
244/* ---------------------------------------------------------------------------
245 \fn sme_ResetBssHotlist
246 \brief SME API to reset BSSID hotlist
247 \param hHal
248 \param pSetHotListReq: Extented Scan set hotlist structure
249 \- return eHalStatus
250 -------------------------------------------------------------------------*/
251eHalStatus sme_ResetBssHotlist (tHalHandle hHal,
252 tSirEXTScanResetBssidHotlistReqParams *pResetReq);
253
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +0530254/**
255 * sme_set_ssid_hotlist() - Set the SSID hotlist
256 * @hal: SME handle
257 * @request: set ssid hotlist request
258 *
259 * Return: eHalStatus
260 */
261eHalStatus sme_set_ssid_hotlist(tHalHandle hal,
262 tSirEXTScanSetSsidHotListReqParams *request);
263
264/* ---------------------------------------------------------------------------
265 \fn sme_ResetBssHotlist
266 \brief SME API to reset BSSID hotlist
267 \param hHal
268 \param pSetHotListReq: Extented Scan set hotlist structure
269 \- return eHalStatus
270 -------------------------------------------------------------------------*/
271eHalStatus sme_reset_ssid_hotlist (tHalHandle hHal,
272 tSirEXTScanResetSsidHotlistReqParams *pResetReq);
273
274
Dino Mycle2c198072014-06-10 10:15:52 +0530275/* ---------------------------------------------------------------------------
Dino Mycle2c198072014-06-10 10:15:52 +0530276 \fn sme_getCachedResults
277 \brief SME API to get cached results
278 \param hHal
279 \param pCachedResultsReq: Extented Scan get cached results structure
280 \- return eHalStatus
281 -------------------------------------------------------------------------*/
282eHalStatus sme_getCachedResults (tHalHandle hHal,
283 tSirEXTScanGetCachedResultsReqParams *pCachedResultsReq);
284
285/* ---------------------------------------------------------------------------
286 \fn sme_EXTScanRegisterCallback
287 \brief SME API to register Extented Scan notification callback
288 \param pEXTScanIndCb
289 \- return void
290 -------------------------------------------------------------------------*/
291eHalStatus sme_EXTScanRegisterCallback (tHalHandle hHal,
292 void (*pEXTScanIndCb)(void *, const tANI_U16, void *),
293 void *);
294
295#endif /* WLAN_FEATURE_EXTSCAN */
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +0530296
297#ifdef FEATURE_OEM_DATA_SUPPORT
298eHalStatus sme_OemDataRegisterCallback (tHalHandle hHal,
Padma, Santhosh Kumaree7c3d22016-01-25 10:36:08 +0530299 void (*pOemDataIndCb)(void *, const tANI_U16, void *, tANI_U32),
300 void *callbackContext);
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +0530301#endif
302
Siddharth Bhald8a95e82015-02-12 20:14:52 +0530303/* ---------------------------------------------------------------------------
304 \fn sme_SpoofMacAddrReq
305 \brief SME API to send Spoof Mac Addr req to HAL
306 \param macaddr: mac address to be sent
307 \- return eHalStatus
308 -------------------------------------------------------------------------*/
309eHalStatus sme_SpoofMacAddrReq(tHalHandle hHal, v_MACADDR_t *macaddr);
Dino Mycle2c198072014-06-10 10:15:52 +0530310
Madan Mohan Koyyalamudi48101412013-09-11 23:09:37 +0530311typedef enum
312{
313 eSME_ROAM_TRIGGER_NONE = 0,
314 eSME_ROAM_TRIGGER_SCAN = 1,
315 eSME_ROAM_TRIGGER_FAST_ROAM = 2,
316 eSME_ROAM_TRIGGER_MAX
317} tSmeFastRoamTrigger;
Jeff Johnson295189b2012-06-20 16:38:30 -0700318
319/*-------------------------------------------------------------------------
Sushant Kaushike0d2cce2014-04-10 14:36:07 +0530320 Function declarations and documentation.
Jeff Johnson295189b2012-06-20 16:38:30 -0700321 ------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700322/*--------------------------------------------------------------------------
323
324 \brief sme_Open() - Initialze all SME modules and put them at idle state
325
326 The function initializes each module inside SME, PMC, CCM, CSR, etc. . Upon
327 successfully return, all modules are at idle state ready to start.
328
329 smeOpen must be called before any other SME APIs can be involved.
330 smeOpen must be called after macOpen.
331
332 \param hHal - The handle returned by macOpen.
333
334 \return eHAL_STATUS_SUCCESS - SME is successfully initialized.
335
336 Other status means SME is failed to be initialized
337 \sa
338
339 --------------------------------------------------------------------------*/
340eHalStatus sme_Open(tHalHandle hHal);
341
342/*--------------------------------------------------------------------------
343
344 \brief sme_Close() - Release all SME modules and their resources.
345
346 The function release each module in SME, PMC, CCM, CSR, etc. . Upon
347 return, all modules are at closed state.
348
349 No SME APIs can be involved after sme_Close except sme_Open.
350 sme_Close must be called before macClose.
351
352 \param hHal - The handle returned by macOpen.
353
354 \return eHAL_STATUS_SUCCESS - SME is successfully close.
355
356 Other status means SME is failed to be closed but caller still cannot
357 call any other SME functions except smeOpen.
358 \sa
359
360 --------------------------------------------------------------------------*/
361eHalStatus sme_Close(tHalHandle hHal);
362
363/*--------------------------------------------------------------------------
Hema Aparna Medicharlaa6cf65e2015-06-01 16:23:28 +0530364
365 \brief sme_PreClose() - Stop SME resources prior to final sme_Stop.
366
367 The function stops resources in SME, PMC, CCM, CSR, etc. as needed
368 to handle fast closure during SSR/unload-load cases.
369
370 \param hHal - The handle returned by macOpen.
371 \return v_VOID_t
372
373 \sa
374
375 --------------------------------------------------------------------------*/
376v_VOID_t sme_PreClose(tHalHandle hHal);
377
378/*--------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700379
380 \brief sme_Start() - Put all SME modules at ready state.
381
382 The function starts each module in SME, PMC, CCM, CSR, etc. . Upon
383 successfully return, all modules are ready to run.
384
385 \param hHal - The handle returned by macOpen.
386
387 \return eHAL_STATUS_SUCCESS - SME is ready.
388
389 Other status means SME is failed to start.
390 \sa
391
392 --------------------------------------------------------------------------*/
393eHalStatus sme_Start(tHalHandle hHal);
394
395/*--------------------------------------------------------------------------
396
397 \brief sme_Stop() - Stop all SME modules and put them at idle state
398
399 The function stops each module in SME, PMC, CCM, CSR, etc. . Upon
400 return, all modules are at idle state ready to start.
401
402
403 \param hHal - The handle returned by macOpen.
404
Kiet Lama72a2322013-11-15 11:18:11 +0530405 \param tHalStopType - reason for stopping
Jeff Johnson295189b2012-06-20 16:38:30 -0700406
407 \return eHAL_STATUS_SUCCESS - SME is stopped.
408
409 Other status means SME is failed to stop but caller should still consider
410 SME is stopped.
411 \sa
412
413 --------------------------------------------------------------------------*/
Kiet Lama72a2322013-11-15 11:18:11 +0530414eHalStatus sme_Stop(tHalHandle hHal, tHalStopType stopType);
Jeff Johnson295189b2012-06-20 16:38:30 -0700415
416
417/*--------------------------------------------------------------------------
418
419 \brief sme_OpenSession() - Open a session for scan/roam operation.
420
421 This is a synchronous API.
422
423
424 \param hHal - The handle returned by macOpen.
425 \param callback - A pointer to the function caller specifies for roam/connect status indication
426 \param pContext - The context passed with callback
427 \param pSelfMacAddr - Caller allocated memory filled with self MAC address (6 bytes)
428 \param pbSessionId - pointer to a caller allocated buffer for returned session ID
429
430 \return eHAL_STATUS_SUCCESS - session is opened. sessionId returned.
431
432 Other status means SME is failed to open the session.
433 eHAL_STATUS_RESOURCES - no more session available.
434 \sa
435
436 --------------------------------------------------------------------------*/
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -0700437eHalStatus sme_OpenSession(tHalHandle hHal, csrRoamCompleteCallback callback,
438 void *pContext, tANI_U8 *pSelfMacAddr,
439 tANI_U8 *pbSessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -0700440
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -0700441/*--------------------------------------------------------------------------
442
443 \brief sme_SetCurrDeviceMode() - Sets the current operating device mode.
444 \param hHal - The handle returned by macOpen.
445 \param currDeviceMode - Current operating device mode.
446 --------------------------------------------------------------------------*/
447
448void sme_SetCurrDeviceMode (tHalHandle hHal, tVOS_CON_MODE currDeviceMode);
Jeff Johnson295189b2012-06-20 16:38:30 -0700449
450/*--------------------------------------------------------------------------
451
452 \brief sme_CloseSession() - Open a session for scan/roam operation.
453
454 This is a synchronous API.
455
Jeff Johnson295189b2012-06-20 16:38:30 -0700456 \param hHal - The handle returned by macOpen.
457
458 \param sessionId - A previous opened session's ID.
mukul sharmabab477d2015-06-11 17:14:55 +0530459
460 \param bPurgeSmeCmdList - Whether sme cmd list purging is required or not.
461 TRUE -Purging require FALSE - Purging not require
462
Jeff Johnson295189b2012-06-20 16:38:30 -0700463 \return eHAL_STATUS_SUCCESS - session is closed.
464
465 Other status means SME is failed to open the session.
466 eHAL_STATUS_INVALID_PARAMETER - session is not opened.
467 \sa
mukul sharmabab477d2015-06-11 17:14:55 +0530468
469
Jeff Johnson295189b2012-06-20 16:38:30 -0700470 --------------------------------------------------------------------------*/
471eHalStatus sme_CloseSession(tHalHandle hHal, tANI_U8 sessionId,
Agrawal Ashish5a3522c2016-03-02 15:08:28 +0530472 tANI_BOOLEAN fSync,
mukul sharmabab477d2015-06-11 17:14:55 +0530473 tANI_U8 bPurgeSmeCmdList,
474 csrRoamSessionCloseCallback callback,
475 void *pContext);
476/*--------------------------------------------------------------------------
477
478 \brief sme_PurgeCmdList() - Purge all the sme cmd list
479
480 This is a synchronous API.
Jeff Johnson295189b2012-06-20 16:38:30 -0700481
482
mukul sharmabab477d2015-06-11 17:14:55 +0530483 \param hHal - The handle returned by macOpen.
484
485 \param sessionId - A previous opened session's ID.
486
487--------------------------------------------------------------------------*/
488
489eHalStatus sme_PurgeCmdList(tHalHandle hHal, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -0700490
491/*--------------------------------------------------------------------------
492
493 \brief sme_UpdateConfig() - Change configurations for all SME moduels
494
495 The function updates some configuration for modules in SME, CCM, CSR, etc
496 during SMEs close -> open sequence.
497
498 Modules inside SME apply the new configuration at the next transaction.
499
500
501 \param hHal - The handle returned by macOpen.
502 \Param pSmeConfigParams - a pointer to a caller allocated object of
503 typedef struct _smeConfigParams.
504
505 \return eHAL_STATUS_SUCCESS - SME update the config parameters successfully.
506
507 Other status means SME is failed to update the config parameters.
508 \sa
509
510 --------------------------------------------------------------------------*/
511eHalStatus sme_UpdateConfig(tHalHandle hHal, tpSmeConfigParams pSmeConfigParams);
512
513#ifdef FEATURE_WLAN_SCAN_PNO
514/*--------------------------------------------------------------------------
515
516 \brief sme_UpdateChannelConfig() - Update channel configuration in RIVA.
517
518 It is used at driver start up to inform RIVA of the default channel
519 configuration.
520
521 This is a synchronuous call
522
523 \param hHal - The handle returned by macOpen.
524
525 \return eHAL_STATUS_SUCCESS - SME update the channel config successfully.
526
527 Other status means SME is failed to update the channel config.
528 \sa
529
530 --------------------------------------------------------------------------*/
531eHalStatus sme_UpdateChannelConfig(tHalHandle hHal);
532
533#endif // FEATURE_WLAN_SCAN_PNLO
Jeff Johnson295189b2012-06-20 16:38:30 -0700534/*--------------------------------------------------------------------------
Abhishek Singhf644b272014-08-21 02:59:39 +0530535
536 \brief sme_UpdateChannelList() - Update channel List in FW.
537
538
539 \param hHal - The handle returned by macOpen.
540
541 \return eHAL_STATUS_SUCCESS - SME update the channel config successfully.
542
543 Other status means SME is failed to update the channel config.
544 \sa
545
546 --------------------------------------------------------------------------*/
547eHalStatus sme_UpdateChannelList(tHalHandle hHal);
548
549/*--------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700550
551 \brief sme_set11dinfo() - Set the 11d information about valid channels
552 and there power using information from nvRAM
553 This function is called only for AP.
554
555 This is a synchronuous call
556
557 \param hHal - The handle returned by macOpen.
558 \Param pSmeConfigParams - a pointer to a caller allocated object of
559 typedef struct _smeConfigParams.
560
561 \return eHAL_STATUS_SUCCESS - SME update the config parameters successfully.
562
563 Other status means SME is failed to update the config parameters.
564 \sa
565--------------------------------------------------------------------------*/
566
567eHalStatus sme_set11dinfo(tHalHandle hHal, tpSmeConfigParams pSmeConfigParams);
568
569/*--------------------------------------------------------------------------
570
571 \brief sme_getSoftApDomain() - Get the current regulatory domain of softAp.
572
573 This is a synchronuous call
574
575 \param hHal - The handle returned by HostapdAdapter.
576 \Param v_REGDOMAIN_t - The current Regulatory Domain requested for SoftAp.
577
578 \return eHAL_STATUS_SUCCESS - SME successfully completed the request.
579
580 Other status means, failed to get the current regulatory domain.
581 \sa
582--------------------------------------------------------------------------*/
583
584eHalStatus sme_getSoftApDomain(tHalHandle hHal, v_REGDOMAIN_t *domainIdSoftAp);
585
586eHalStatus sme_setRegInfo(tHalHandle hHal, tANI_U8 *apCntryCode);
587
Jeff Johnson295189b2012-06-20 16:38:30 -0700588
589/* ---------------------------------------------------------------------------
590 \fn sme_ChangeConfigParams
591 \brief The SME API exposed for HDD to provide config params to SME during
592 SMEs stop -> start sequence.
593
594 If HDD changed the domain that will cause a reset. This function will
595 provide the new set of 11d information for the new domain. Currrently this
596 API provides info regarding 11d only at reset but we can extend this for
597 other params (PMC, QoS) which needs to be initialized again at reset.
598
599 This is a synchronuous call
600
601 \param hHal - The handle returned by macOpen.
602
603 \Param
604 pUpdateConfigParam - a pointer to a structure (tCsrUpdateConfigParam) that
605 currently provides 11d related information like Country code,
606 Regulatory domain, valid channel list, Tx power per channel, a
607 list with active/passive scan allowed per valid channel.
608
609 \return eHalStatus
610 ---------------------------------------------------------------------------*/
611eHalStatus sme_ChangeConfigParams(tHalHandle hHal,
612 tCsrUpdateConfigParam *pUpdateConfigParam);
613
614/*--------------------------------------------------------------------------
615
616 \brief sme_HDDReadyInd() - SME sends eWNI_SME_SYS_READY_IND to PE to inform that the NIC
617 is ready tio run.
618
619 The function is called by HDD at the end of initialization stage so PE/HAL can enable the NIC
620 to running state.
621
622
623 \param hHal - The handle returned by macOpen.
624
625 \return eHAL_STATUS_SUCCESS - eWNI_SME_SYS_READY_IND is sent to PE successfully.
626
627 Other status means SME failed to send the message to PE.
628 \sa
629
630 --------------------------------------------------------------------------*/
631eHalStatus sme_HDDReadyInd(tHalHandle hHal);
632
633
634/*--------------------------------------------------------------------------
635
636 \brief sme_ProcessMsg() - The main message processor for SME.
637
638 The function is called by a message dispatcher when to process a message
639 targeted for SME.
640
641
642 \param hHal - The handle returned by macOpen.
643 \param pMsg - A pointer to a caller allocated object of tSirMsgQ.
644
645 \return eHAL_STATUS_SUCCESS - SME successfully process the message.
646
647 Other status means SME failed to process the message.
648 \sa
649
650 --------------------------------------------------------------------------*/
651eHalStatus sme_ProcessMsg(tHalHandle hHal, vos_msg_t* pMsg);
652
653v_VOID_t sme_FreeMsg( tHalHandle hHal, vos_msg_t* pMsg );
654
655/* ---------------------------------------------------------------------------
656 \fn sme_ScanRequest
657 \brief a wrapper function to Request a 11d or full scan from CSR.
658 \param pScanRequestID - pointer to an object to get back the request ID
659 \param callback - a callback function that scan calls upon finish, will not
660 be called if csrScanRequest returns error
661 \param pContext - a pointer passed in for the callback
662 \return eHalStatus
663 ---------------------------------------------------------------------------*/
664eHalStatus sme_ScanRequest(tHalHandle hHal, tANI_U8 sessionId, tCsrScanRequest *,
665 tANI_U32 *pScanRequestID,
666 csrScanCompleteCallback callback, void *pContext);
667
668
669/* ---------------------------------------------------------------------------
670 \fn sme_ScanSetBGScanparams
671 \brief a wrapper function to request CSR to set BG scan params in PE
672 \param pScanReq - BG scan request structure
673 \return eHalStatus
674 ---------------------------------------------------------------------------*/
675eHalStatus sme_ScanSetBGScanparams(tHalHandle hHal, tANI_U8 sessionId, tCsrBGScanRequest *pScanReq);
676
677
678/* ---------------------------------------------------------------------------
679 \fn sme_ScanGetResult
680 \brief a wrapper function to request scan results from CSR.
681 \param pFilter - If pFilter is NULL, all cached results are returned
682 \param phResult - an object for the result.
683 \return eHalStatus
684 ---------------------------------------------------------------------------*/
685eHalStatus sme_ScanGetResult(tHalHandle hHal, tANI_U8 sessionId, tCsrScanResultFilter *pFilter,
686 tScanResultHandle *phResult);
687
688
689/* ---------------------------------------------------------------------------
690 \fn sme_ScanFlushResult
691 \brief a wrapper function to request CSR to clear scan results.
692 \return eHalStatus
693 ---------------------------------------------------------------------------*/
694eHalStatus sme_ScanFlushResult(tHalHandle hHal, tANI_U8 sessionId);
Srinivas, Dasari42bf7702014-02-07 11:29:53 +0530695
696/*
697 * ---------------------------------------------------------------------------
698 * \fn sme_FilterScanResults
699 * \brief a wrapper function to request CSR to filter the scan results based
700 * on valid chennel list.
701 * \return eHalStatus
702 *---------------------------------------------------------------------------
703 */
704eHalStatus sme_FilterScanResults(tHalHandle hHal, tANI_U8 sessionId);
705
Padma, Santhosh Kumar778d8382015-03-04 17:41:22 +0530706/*
707 * ---------------------------------------------------------------------------
708 * \fn sme_FilterScanDFSResults
709 * \brief a wrapper function to request CSR to filter BSSIDs on DFS channels
710 * from the scan results.
711 * \return eHalStatus
712 *---------------------------------------------------------------------------
713 */
714eHalStatus sme_FilterScanDFSResults(tHalHandle hHal);
715
Madan Mohan Koyyalamudia3fcf142012-10-18 15:01:20 -0700716eHalStatus sme_ScanFlushP2PResult(tHalHandle hHal, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -0700717
718/* ---------------------------------------------------------------------------
719 \fn sme_ScanResultGetFirst
720 \brief a wrapper function to request CSR to returns the first element of
721 scan result.
722 \param hScanResult - returned from csrScanGetResult
723 \return tCsrScanResultInfo * - NULL if no result
724 ---------------------------------------------------------------------------*/
725tCsrScanResultInfo *sme_ScanResultGetFirst(tHalHandle,
726 tScanResultHandle hScanResult);
727
728/* ---------------------------------------------------------------------------
729 \fn sme_ScanResultGetNext
730 \brief a wrapper function to request CSR to returns the next element of
731 scan result. It can be called without calling csrScanResultGetFirst
732 first
733 \param hScanResult - returned from csrScanGetResult
734 \return Null if no result or reach the end
735 ---------------------------------------------------------------------------*/
736tCsrScanResultInfo *sme_ScanResultGetNext(tHalHandle,
737 tScanResultHandle hScanResult);
738
739/* ---------------------------------------------------------------------------
740 \fn sme_ScanResultPurge
741 \brief a wrapper function to request CSR to remove all items(tCsrScanResult)
742 in the list and free memory for each item
743 \param hScanResult - returned from csrScanGetResult. hScanResult is
744 considered gone by
745 calling this function and even before this function reutrns.
746 \return eHalStatus
747 ---------------------------------------------------------------------------*/
748eHalStatus sme_ScanResultPurge(tHalHandle hHal, tScanResultHandle hScanResult);
749
750/* ---------------------------------------------------------------------------
751 \fn sme_ScanGetPMKIDCandidateList
752 \brief a wrapper function to return the PMKID candidate list
753 \param pPmkidList - caller allocated buffer point to an array of
754 tPmkidCandidateInfo
755 \param pNumItems - pointer to a variable that has the number of
756 tPmkidCandidateInfo allocated when retruning, this is
757 either the number needed or number of items put into
758 pPmkidList
759 \return eHalStatus - when fail, it usually means the buffer allocated is not
760 big enough and pNumItems
761 has the number of tPmkidCandidateInfo.
762 \Note: pNumItems is a number of tPmkidCandidateInfo,
763 not sizeof(tPmkidCandidateInfo) * something
764 ---------------------------------------------------------------------------*/
765eHalStatus sme_ScanGetPMKIDCandidateList(tHalHandle hHal, tANI_U8 sessionId,
766 tPmkidCandidateInfo *pPmkidList,
767 tANI_U32 *pNumItems );
768
769
770/*----------------------------------------------------------------------------
771 \fn sme_RoamRegisterLinkQualityIndCallback
772
773 \brief
774 a wrapper function to allow HDD to register a callback handler with CSR for
775 link quality indications.
776
777 Only one callback may be registered at any time.
778 In order to deregister the callback, a NULL cback may be provided.
779
780 Registration happens in the task context of the caller.
781
782 \param callback - Call back being registered
783 \param pContext - user data
784
785 DEPENDENCIES: After CSR open
786
787 \return eHalStatus
788-----------------------------------------------------------------------------*/
789eHalStatus sme_RoamRegisterLinkQualityIndCallback(tHalHandle hHal, tANI_U8 sessionId,
790 csrRoamLinkQualityIndCallback callback,
791 void *pContext);
792
793
794/* ---------------------------------------------------------------------------
795 \fn sme_RoamConnect
796 \brief a wrapper function to request CSR to inititiate an association
797 \param sessionId - the sessionId returned by sme_OpenSession.
798 \param pProfile - can be NULL to join to any open ones
799 \param pRoamId - to get back the request ID
800 \return eHalStatus
801 ---------------------------------------------------------------------------*/
802eHalStatus sme_RoamConnect(tHalHandle hHal, tANI_U8 sessionId, tCsrRoamProfile *pProfile,
803 tANI_U32 *pRoamId);
804
805/* ---------------------------------------------------------------------------
806 \fn sme_RoamReassoc
807 \brief a wrapper function to request CSR to inititiate a re-association
808 \param pProfile - can be NULL to join the currently connected AP. In that
809 case modProfileFields should carry the modified field(s) which could trigger
810 reassoc
811 \param modProfileFields - fields which are part of tCsrRoamConnectedProfile
812 that might need modification dynamically once STA is up & running and this
813 could trigger a reassoc
814 \param pRoamId - to get back the request ID
815 \return eHalStatus
816 -------------------------------------------------------------------------------*/
817eHalStatus sme_RoamReassoc(tHalHandle hHal, tANI_U8 sessionId, tCsrRoamProfile *pProfile,
818 tCsrRoamModifyProfileFields modProfileFields,
Madan Mohan Koyyalamudiea22cdc2012-10-18 21:02:23 -0700819 tANI_U32 *pRoamId, v_BOOL_t fForce);
Jeff Johnson295189b2012-06-20 16:38:30 -0700820
821/* ---------------------------------------------------------------------------
822 \fn sme_RoamConnectToLastProfile
823 \brief a wrapper function to request CSR to disconnect and reconnect with
824 the same profile
825 \return eHalStatus. It returns fail if currently connected
826 ---------------------------------------------------------------------------*/
827eHalStatus sme_RoamConnectToLastProfile(tHalHandle hHal, tANI_U8 sessionId);
828
829/* ---------------------------------------------------------------------------
830 \fn sme_RoamDisconnect
831 \brief a wrapper function to request CSR to disconnect from a network
832 \param reason -- To indicate the reason for disconnecting. Currently, only
833 eCSR_DISCONNECT_REASON_MIC_ERROR is meanful.
834 \return eHalStatus
835 ---------------------------------------------------------------------------*/
836eHalStatus sme_RoamDisconnect(tHalHandle hHal, tANI_U8 sessionId, eCsrRoamDisconnectReason reason);
837
Jeff Johnson295189b2012-06-20 16:38:30 -0700838/* ---------------------------------------------------------------------------
Sushant Kaushikb4834d22015-07-15 15:29:05 +0530839 \fn.sme_abortConnection
840 \brief a wrapper function to request CSR to stop from connecting a network
841 \retun void.
842---------------------------------------------------------------------------*/
843
844void sme_abortConnection(tHalHandle hHal, tANI_U8 sessionId);
845
846/* ---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700847 \fn sme_RoamStopBss
848 \brief a wrapper function to request CSR to stop bss
849 \param sessionId - sessionId of SoftAP
850 \return eHalStatus
851 ---------------------------------------------------------------------------*/
852eHalStatus sme_RoamStopBss(tHalHandle hHal, tANI_U8 sessionId);
853
854/* ---------------------------------------------------------------------------
855 \fn sme_RoamGetAssociatedStas
856 \brief To probe the list of associated stations from various modules of CORE stack.
857 \This is an asynchronous API.
858 \param sessionId - sessionId of SoftAP
859 \param modId - Module from whom list of associtated stations is to be probed.
860 If an invalid module is passed then by default VOS_MODULE_ID_PE will be probed
861 \param pUsrContext - Opaque HDD context
862 \param pfnSapEventCallback - Sap event callback in HDD
863 \param pAssocBuf - Caller allocated memory to be filled with associatd stations info
864 \return eHalStatus
865 -------------------------------------------------------------------------------*/
866eHalStatus sme_RoamGetAssociatedStas(tHalHandle hHal, tANI_U8 sessionId,
867 VOS_MODULE_ID modId, void *pUsrContext,
868 void *pfnSapEventCallback, tANI_U8 *pAssocStasBuf);
869
870/* ---------------------------------------------------------------------------
871 \fn sme_RoamDisconnectSta
872 \brief To disassociate a station. This is an asynchronous API.
873 \param pPeerMacAddr - Caller allocated memory filled with peer MAC address (6 bytes)
874 \return eHalStatus SUCCESS Roam callback will be called to indicate actual results
875 -------------------------------------------------------------------------------*/
Anand N Sunkadc205d952015-07-30 15:36:03 +0530876eHalStatus sme_RoamDisconnectSta(tHalHandle hHal, tANI_U8 sessionId,
877#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
878 const tANI_U8 *pPeerMacAddr
879#else
880 tANI_U8 *pPeerMacAddr
881#endif
882 );
Jeff Johnson295189b2012-06-20 16:38:30 -0700883
884/* ---------------------------------------------------------------------------
885 \fn sme_RoamDeauthSta
886 \brief To disassociate a station. This is an asynchronous API.
887 \param hHal - Global structure
888 \param sessionId - sessionId of SoftAP
Hanumantha Reddy Pothulaf57da152014-10-31 13:02:08 +0530889 \param pDelStaParams- Pointer to parameters of the station to deauthenticate
Jeff Johnson295189b2012-06-20 16:38:30 -0700890 \return eHalStatus SUCCESS Roam callback will be called to indicate actual results
891 -------------------------------------------------------------------------------*/
892eHalStatus sme_RoamDeauthSta(tHalHandle hHal, tANI_U8 sessionId,
Hanumantha Reddy Pothulaf57da152014-10-31 13:02:08 +0530893 struct tagCsrDelStaParams *pDelStaParams);
Jeff Johnson295189b2012-06-20 16:38:30 -0700894
895/* ---------------------------------------------------------------------------
896 \fn sme_RoamTKIPCounterMeasures
897 \brief To start or stop TKIP counter measures. This is an asynchronous API.
898 \param sessionId - sessionId of SoftAP
899 \param bEnable - Flag to start/stop TKIP countermeasures
900 \return eHalStatus SUCCESS Roam callback will be called to indicate actual results
901 -------------------------------------------------------------------------------*/
902eHalStatus sme_RoamTKIPCounterMeasures(tHalHandle hHal, tANI_U8 sessionId, tANI_BOOLEAN bEnable);
903
904/* ---------------------------------------------------------------------------
905 \fn sme_RoamGetWpsSessionOverlap
906 \brief To get the WPS PBC session overlap information.
907 \This is an asynchronous API.
908 \param sessionId - sessionId of SoftAP
909 \param pUsrContext - Opaque HDD context
910 \param pfnSapEventCallback - Sap event callback in HDD
911 \return eHalStatus
912 -------------------------------------------------------------------------------*/
913eHalStatus sme_RoamGetWpsSessionOverlap(tHalHandle hHal, tANI_U8 sessionId,
914 void *pUsrContext, void *pfnSapEventCallback,
915 v_MACADDR_t pRemoveMac);
Jeff Johnson295189b2012-06-20 16:38:30 -0700916
917/* ---------------------------------------------------------------------------
918 \fn sme_RoamGetConnectState
919 \brief a wrapper function to request CSR to return the current connect state
920 of Roaming
921 \return eHalStatus
922 ---------------------------------------------------------------------------*/
923eHalStatus sme_RoamGetConnectState(tHalHandle hHal, tANI_U8 sessionId, eCsrConnectState *pState);
924
925/* ---------------------------------------------------------------------------
926 \fn sme_RoamGetConnectProfile
927 \brief a wrapper function to request CSR to return the current connect
928 profile. Caller must call csrRoamFreeConnectProfile after it is done
929 and before reuse for another csrRoamGetConnectProfile call.
930 \param pProfile - pointer to a caller allocated structure
931 tCsrRoamConnectedProfile
932 \return eHalStatus. Failure if not connected
933 ---------------------------------------------------------------------------*/
934eHalStatus sme_RoamGetConnectProfile(tHalHandle hHal, tANI_U8 sessionId,
935 tCsrRoamConnectedProfile *pProfile);
936
937/* ---------------------------------------------------------------------------
938 \fn sme_RoamFreeConnectProfile
939 \brief a wrapper function to request CSR to free and reinitialize the
940 profile returned previously by csrRoamGetConnectProfile.
941 \param pProfile - pointer to a caller allocated structure
942 tCsrRoamConnectedProfile
943 \return eHalStatus.
944 ---------------------------------------------------------------------------*/
945eHalStatus sme_RoamFreeConnectProfile(tHalHandle hHal,
946 tCsrRoamConnectedProfile *pProfile);
947
948/* ---------------------------------------------------------------------------
949 \fn sme_RoamSetPMKIDCache
950 \brief a wrapper function to request CSR to return the PMKID candidate list
951 \param pPMKIDCache - caller allocated buffer point to an array of
952 tPmkidCacheInfo
953 \param numItems - a variable that has the number of tPmkidCacheInfo
954 allocated when retruning, this is either the number needed
955 or number of items put into pPMKIDCache
Kanchanapally, Vidyullatha2633ace2014-09-25 15:16:50 +0530956 \param update_entire_cache - if TRUE, then it overwrites the entire cache
957 with pPMKIDCache, else it updates entry by
958 entry without deleting the old entries.
Jeff Johnson295189b2012-06-20 16:38:30 -0700959 \return eHalStatus - when fail, it usually means the buffer allocated is not
960 big enough and pNumItems has the number of
961 tPmkidCacheInfo.
962 \Note: pNumItems is a number of tPmkidCacheInfo,
963 not sizeof(tPmkidCacheInfo) * something
964 ---------------------------------------------------------------------------*/
Kanchanapally, Vidyullatha2633ace2014-09-25 15:16:50 +0530965eHalStatus sme_RoamSetPMKIDCache( tHalHandle hHal, tANI_U8 sessionId,
966 tPmkidCacheInfo *pPMKIDCache,
967 tANI_U32 numItems,
968 tANI_BOOLEAN update_entire_cache );
Jeff Johnson295189b2012-06-20 16:38:30 -0700969
970/* ---------------------------------------------------------------------------
971 \fn sme_RoamGetSecurityReqIE
972 \brief a wrapper function to request CSR to return the WPA or RSN or WAPI IE CSR
973 passes to PE to JOIN request or START_BSS request
974 This is a synchronuous call.
975 \param sessionId - returned by sme_OpenSession.
976 \param pLen - caller allocated memory that has the length of pBuf as input.
977 Upon returned, *pLen has the needed or IE length in pBuf.
978 \param pBuf - Caller allocated memory that contain the IE field, if any,
979 upon return
980 \param secType - Specifies whether looking for WPA/WPA2/WAPI IE
981 \return eHalStatus - when fail, it usually means the buffer allocated is not
982 big enough
983 ---------------------------------------------------------------------------*/
984eHalStatus sme_RoamGetSecurityReqIE(tHalHandle hHal, tANI_U8 sessionId, tANI_U32 *pLen,
985 tANI_U8 *pBuf, eCsrSecurityType secType);
986
987/* ---------------------------------------------------------------------------
988 \fn sme_RoamGetSecurityRspIE
989 \brief a wrapper function to request CSR to return the WPA or RSN or WAPI IE from
990 the beacon or probe rsp if connected
991 \param sessionId - returned by sme_OpenSession.
992 \param pLen - caller allocated memory that has the length of pBuf as input.
993 Upon returned, *pLen has the needed or IE length in pBuf.
994 \param pBuf - Caller allocated memory that contain the IE field, if any,
995 upon return
996 \param secType - Specifies whether looking for WPA/WPA2/WAPI IE
997 \return eHalStatus - when fail, it usually means the buffer allocated is not
998 big enough
999 ---------------------------------------------------------------------------*/
1000eHalStatus sme_RoamGetSecurityRspIE(tHalHandle hHal, tANI_U8 sessionId, tANI_U32 *pLen,
1001 tANI_U8 *pBuf, eCsrSecurityType secType);
1002
1003
1004/* ---------------------------------------------------------------------------
1005 \fn sme_RoamGetNumPMKIDCache
1006 \brief a wrapper function to request CSR to return number of PMKID cache
1007 entries
1008 \return tANI_U32 - the number of PMKID cache entries
1009 ---------------------------------------------------------------------------*/
1010tANI_U32 sme_RoamGetNumPMKIDCache(tHalHandle hHal, tANI_U8 sessionId);
1011
1012/* ---------------------------------------------------------------------------
1013 \fn sme_RoamGetPMKIDCache
1014 \brief a wrapper function to request CSR to return PMKID cache from CSR
1015 \param pNum - caller allocated memory that has the space of the number of
1016 pBuf tPmkidCacheInfo as input. Upon returned, *pNum has the
1017 needed or actually number in tPmkidCacheInfo.
1018 \param pPmkidCache - Caller allocated memory that contains PMKID cache, if
1019 any, upon return
1020 \return eHalStatus - when fail, it usually means the buffer allocated is not
1021 big enough
1022 ---------------------------------------------------------------------------*/
1023eHalStatus sme_RoamGetPMKIDCache(tHalHandle hHal, tANI_U8 sessionId, tANI_U32 *pNum,
1024 tPmkidCacheInfo *pPmkidCache);
1025
1026/* ---------------------------------------------------------------------------
1027 \fn sme_GetConfigParam
1028 \brief a wrapper function that HDD calls to get the global settings
1029 currently maintained by CSR.
1030 \param pParam - caller allocated memory
1031 \return eHalStatus
1032 ---------------------------------------------------------------------------*/
1033eHalStatus sme_GetConfigParam(tHalHandle hHal, tSmeConfigParams *pParam);
1034
1035/* ---------------------------------------------------------------------------
1036 \fn sme_GetStatistics
1037 \brief a wrapper function that client calls to register a callback to get
1038 different PHY level statistics from CSR.
1039
1040 \param requesterId - different client requesting for statistics, HDD, UMA/GAN etc
1041 \param statsMask - The different category/categories of stats requester is looking for
1042 The order in which you set the bits in the statsMask for requesting
1043 different type of stats is:
1044
1045 eCsrSummaryStats = bit 0
1046 eCsrGlobalClassAStats = bit 1
1047 eCsrGlobalClassBStats = bit 2
1048 eCsrGlobalClassCStats = bit 3
1049 eCsrGlobalClassDStats = bit 4
1050 eCsrPerStaStats = bit 5
1051
1052 \param callback - SME sends back the requested stats using the callback
1053 \param periodicity - If requester needs periodic update, 0 means it's an one
1054 time request
1055 \param cache - If requester is happy with cached stats
1056 \param staId - The station ID for which the stats is requested for
1057 \param pContext - user context to be passed back along with the callback
1058 \return eHalStatus
1059 ---------------------------------------------------------------------------*/
1060eHalStatus sme_GetStatistics(tHalHandle hHal, eCsrStatsRequesterType requesterId,
1061 tANI_U32 statsMask,
1062 tCsrStatsCallback callback,
1063 tANI_U32 periodicity, tANI_BOOLEAN cache,
1064 tANI_U8 staId, void *pContext);
1065
Madan Mohan Koyyalamudi8af9b402013-07-11 14:59:10 +05301066/* ---------------------------------------------------------------------------
1067 \fn smeGetTLSTAState
1068 \helper function to get teh TL STA State whenever the function is called.
1069
1070 \param staId - The staID to be passed to the TL
1071 to get the relevant TL STA State
1072 \return the state as tANI_U16
1073 ---------------------------------------------------------------------------*/
1074tANI_U16 smeGetTLSTAState(tHalHandle hHal, tANI_U8 staId);
1075
Jeff Johnson295189b2012-06-20 16:38:30 -07001076eHalStatus sme_GetRssi(tHalHandle hHal,
1077 tCsrRssiCallback callback,
1078 tANI_U8 staId, tCsrBssid bssId, void *pContext, void* pVosContext);
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05301079
1080/* ---------------------------------------------------------------------------
1081 \fn sme_GetSnr
1082 \brief a wrapper function that client calls to register a callback to get
1083 SNR from FW
1084
1085 \param callback - SME sends back the requested stats using the callback
1086 \param staId - The station ID for which the stats is requested for
1087 \param bssid - The bssid of the connected session
1088 \param pContext - user context to be passed back along with the callback
1089 ---------------------------------------------------------------------------*/
1090eHalStatus sme_GetSnr(tHalHandle hHal,
1091 tCsrSnrCallback callback,
1092 tANI_U8 staId, tCsrBssid bssId,
1093 void *pContext);
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001094#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08001095eHalStatus sme_GetRoamRssi(tHalHandle hHal,
1096 tCsrRssiCallback callback,
1097 tANI_U8 staId,
1098 tCsrBssid bssId,
1099 void *pContext,
1100 void* pVosContext);
1101#endif
Srinivas Girigowda5cecb202013-10-08 09:13:25 -07001102
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001103#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
Srinivas Girigowda5cecb202013-10-08 09:13:25 -07001104/* ---------------------------------------------------------------------------
1105 \fn sme_GetTsmStats
1106 \brief a wrapper function that client calls to register a callback to get TSM Stats
1107
1108 \param callback - SME sends back the requested stats using the callback
1109 \param staId - The station ID for which the stats is requested for
1110 \param pContext - user context to be passed back along with the callback
1111 \param pVosContext - vos context
1112 \return eHalStatus
1113 ---------------------------------------------------------------------------*/
1114eHalStatus sme_GetTsmStats(tHalHandle hHal,
1115 tCsrTsmStatsCallback callback,
1116 tANI_U8 staId, tCsrBssid bssId,
1117 void *pContext, void* pVosContext, tANI_U8 tid);
1118
1119/* ---------------------------------------------------------------------------
1120 \fn sme_SetCCKMIe
1121 \brief function to store the CCKM IE passed from supplicant and use it while packing
1122 reassociation request
1123 \param hHal - HAL handle for device
1124 \param pCckmIe - pointer to CCKM IE data
1125 \param pCckmIeLen - length of the CCKM IE
1126 \- return Success or failure
1127 -------------------------------------------------------------------------*/
1128eHalStatus sme_SetCCKMIe(tHalHandle hHal, tANI_U8 sessionId, tANI_U8 *pCckmIe, tANI_U8 cckmIeLen);
1129
1130
Srinivas Girigowda91ccbe82013-11-10 16:37:38 -08001131/* ---------------------------------------------------------------------------
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001132 \fn sme_SetEseBeaconRequest
1133 \brief function to set ESE beacon request parameters
Srinivas Girigowda91ccbe82013-11-10 16:37:38 -08001134 \param hHal - HAL handle for device
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001135 \param pESEBcnReq - pointer to ESE beacon request
Srinivas Girigowda91ccbe82013-11-10 16:37:38 -08001136 \- return Success or failure
1137 -------------------------------------------------------------------------*/
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001138eHalStatus sme_SetEseBeaconRequest(tHalHandle hHal, const tANI_U8 sessionId,
1139 const tCsrEseBeaconReq* pEseBcnReq);
Srinivas Girigowda91ccbe82013-11-10 16:37:38 -08001140
1141
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001142#endif /*FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */
Jeff Johnson295189b2012-06-20 16:38:30 -07001143/* ---------------------------------------------------------------------------
1144 \fn sme_CfgSetInt
1145 \brief a wrapper function that HDD calls to set parameters in CFG.
1146 \param cfgId - Configuration Parameter ID (type) for STA.
1147 \param ccmValue - The information related to Configuration Parameter ID
1148 which needs to be saved in CFG
1149 \param callback - To be registered by CSR with CCM. Once the CFG done with
1150 saving the information in the database, it notifies CCM &
1151 then the callback will be invoked to notify.
1152 \param toBeSaved - To save the request for future reference
1153 \return eHalStatus
1154 ---------------------------------------------------------------------------*/
1155eHalStatus sme_CfgSetInt(tHalHandle hHal, tANI_U32 cfgId, tANI_U32 ccmValue,
1156 tCcmCfgSetCallback callback, eAniBoolean toBeSaved) ;
1157
1158/* ---------------------------------------------------------------------------
1159 \fn sme_CfgSetStr
1160 \brief a wrapper function that HDD calls to set parameters in CFG.
1161 \param cfgId - Configuration Parameter ID (type) for STA.
1162 \param pStr - Pointer to the byte array which carries the information needs
1163 to be saved in CFG
1164 \param length - Length of the data to be saved
1165 \param callback - To be registered by CSR with CCM. Once the CFG done with
1166 saving the information in the database, it notifies CCM &
1167 then the callback will be invoked to notify.
1168 \param toBeSaved - To save the request for future reference
1169 \return eHalStatus
1170 ---------------------------------------------------------------------------*/
1171eHalStatus sme_CfgSetStr(tHalHandle hHal, tANI_U32 cfgId, tANI_U8 *pStr,
1172 tANI_U32 length, tCcmCfgSetCallback callback,
1173 eAniBoolean toBeSaved) ;
Sandeep Puligillaa3e76952014-06-23 15:53:11 +05301174/* ---------------------------------------------------------------------------
1175 \fn sme_GetModifyProfileFields
1176 \brief HDD or SME - QOS calls this function to get the current values of
1177 connected profile fields, changing which can cause reassoc.
1178 This function must be called after CFG is downloaded and STA is in connected
1179 state. Also, make sure to call this function to get the current profile
1180 fields before calling the reassoc. So that pModifyProfileFields will have
1181 all the latest values plus the one(s) has been updated as part of reassoc
1182 request.
1183 \param pModifyProfileFields - pointer to the connected profile fields
1184 changing which can cause reassoc
Jeff Johnson295189b2012-06-20 16:38:30 -07001185
Sandeep Puligillaa3e76952014-06-23 15:53:11 +05301186 \return eHalStatus
1187 -------------------------------------------------------------------------------*/
1188eHalStatus sme_GetModifyProfileFields(tHalHandle hHal, tANI_U8 sessionId,
1189 tCsrRoamModifyProfileFields * pModifyProfileFields);
Sandeep Puligilla332ea912014-02-04 00:16:24 +05301190/* ---------------------------------------------------------------------------
1191 \fn sme_HT40StopOBSSScan
1192 \brief HDD or SME - Command to stop the OBSS scan
1193 THis is implemented only for debugging purpose.
1194 As per spec while operating in 2.4GHz OBSS scan shouldnt be stopped.
1195 \param sessionId - sessionId
1196 changing which can cause reassoc
1197
1198 \return eHalStatus
1199 -------------------------------------------------------------------------------*/
1200eHalStatus sme_HT40StopOBSSScan(tHalHandle hHal, tANI_U8 sessionId );
Jeff Johnson295189b2012-06-20 16:38:30 -07001201
1202/*--------------------------------------------------------------------------
1203 \fn sme_SetConfigPowerSave
1204 \brief Wrapper fn to change power save configuration in SME (PMC) module.
1205 For BMPS related configuration, this function also updates the CFG
1206 and sends a message to FW to pick up the new values. Note: Calling
1207 this function only updates the configuration and does not enable
1208 the specified power save mode.
1209 \param hHal - The handle returned by macOpen.
1210 \param psMode - Power Saving mode being modified
1211 \param pConfigParams - a pointer to a caller allocated object of type
1212 tPmcSmpsConfigParams or tPmcBmpsConfigParams or tPmcImpsConfigParams
1213 \return eHalStatus
1214 --------------------------------------------------------------------------*/
1215eHalStatus sme_SetConfigPowerSave(tHalHandle hHal, tPmcPowerSavingMode psMode,
1216 void *pConfigParams);
1217
1218/*--------------------------------------------------------------------------
1219 \fn sme_GetConfigPowerSave
1220 \brief Wrapper fn to retireve power save configuration in SME (PMC) module
1221 \param hHal - The handle returned by macOpen.
1222 \param psMode - Power Saving mode
1223 \param pConfigParams - a pointer to a caller allocated object of type
1224 tPmcSmpsConfigParams or tPmcBmpsConfigParams or tPmcImpsConfigParams
1225 \return eHalStatus
1226 --------------------------------------------------------------------------*/
1227eHalStatus sme_GetConfigPowerSave(tHalHandle hHal, tPmcPowerSavingMode psMode,
1228 void *pConfigParams);
1229
1230/* ---------------------------------------------------------------------------
1231 \fn sme_SignalPowerEvent
1232 \brief Signals to PMC that a power event has occurred. Used for putting
1233 the chip into deep sleep mode.
1234 \param hHal - The handle returned by macOpen.
1235 \param event - the event that has occurred
1236 \return eHalStatus
1237 ---------------------------------------------------------------------------*/
1238extern eHalStatus sme_SignalPowerEvent (
1239 tHalHandle hHal,
1240 tPmcPowerEvent event);
1241
1242/* ---------------------------------------------------------------------------
1243 \fn sme_EnablePowerSave
1244 \brief Enables one of the power saving modes. This API does not cause a
1245 device state change. This is purely a configuration API.
1246 \param hHal - The handle returned by macOpen.
1247 \param psMode - The power saving mode to enable.
1248 \return eHalStatus
1249 ---------------------------------------------------------------------------*/
1250extern eHalStatus sme_EnablePowerSave (
1251 tHalHandle hHal,
1252 tPmcPowerSavingMode psMode);
1253
1254/* ---------------------------------------------------------------------------
1255 \fn sme_DisablePowerSave
1256 \brief Disables one of the power saving modes.Disabling does not imply
1257 that device will be brought out of the current PS mode. This is
1258 purely a configuration API.
1259 \param hHal - The handle returned by macOpen.
1260 \param psMode - The power saving mode to disable.
1261 \return eHalStatus
1262 ---------------------------------------------------------------------------*/
1263extern eHalStatus sme_DisablePowerSave (
1264 tHalHandle hHal,
1265 tPmcPowerSavingMode psMode);
1266
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05301267 /* ---------------------------------------------------------------------------
1268 \fn sme_SetHostPowerSave
1269 \brief The BMPS logic is controlled by the User level Apps
1270 \param hHal - The handle returned by macOpen.
1271 \param psMode - The power saving mode to enable.
1272 \return eHalStatus
1273 ---------------------------------------------------------------------------*/
1274extern eHalStatus sme_SetHostPowerSave (
1275 tHalHandle hHal,
1276 v_BOOL_t psMode);
1277
Jeff Johnson295189b2012-06-20 16:38:30 -07001278/* ---------------------------------------------------------------------------
1279 \fn sme_StartAutoBmpsTimer
1280 \brief Starts a timer that periodically polls all the registered
1281 module for entry into Bmps mode. This timer is started only if BMPS is
1282 enabled and whenever the device is in full power.
1283 \param hHal - The handle returned by macOpen.
1284 \return eHalStatus
1285 ---------------------------------------------------------------------------*/
1286extern eHalStatus sme_StartAutoBmpsTimer ( tHalHandle hHal);
1287
1288/* ---------------------------------------------------------------------------
1289 \fn sme_StopAutoBmpsTimer
1290 \brief Stops the Auto BMPS Timer that was started using sme_startAutoBmpsTimer
1291 Stopping the timer does not cause a device state change. Only the timer
1292 is stopped. If "Full Power" is desired, use the sme_RequestFullPower API
1293 \param hHal - The handle returned by macOpen.
1294 \return eHalStatus
1295 ---------------------------------------------------------------------------*/
1296extern eHalStatus sme_StopAutoBmpsTimer ( tHalHandle hHal);
1297
1298/* ---------------------------------------------------------------------------
1299 \fn sme_QueryPowerState
1300 \brief Returns the current power state of the device.
1301 \param hHal - The handle returned by macOpen.
1302 \param pPowerState - pointer to location to return power state
1303 \param pSwWlanSwitchState - ptr to location to return SW WLAN Switch state
1304 \return eHalStatus
1305 ---------------------------------------------------------------------------*/
1306extern eHalStatus sme_QueryPowerState (
1307 tHalHandle hHal,
1308 tPmcPowerState *pPowerState,
1309 tPmcSwitchState *pSwWlanSwitchState);
1310
1311/* ---------------------------------------------------------------------------
1312 \fn sme_IsPowerSaveEnabled
1313 \brief Checks if the device is able to enter a particular power save mode
1314 This does not imply that the device is in a particular PS mode
1315 \param hHal - The handle returned by macOpen.
1316 \param psMode - the power saving mode
1317 \return eHalStatus
1318 ---------------------------------------------------------------------------*/
1319extern tANI_BOOLEAN sme_IsPowerSaveEnabled(
1320 tHalHandle hHal,
1321 tPmcPowerSavingMode psMode);
1322
1323/* ---------------------------------------------------------------------------
1324 \fn sme_RequestFullPower
1325 \brief Request that the device be brought to full power state.
1326 Note 1: If "fullPowerReason" specificied in this API is set to
1327 eSME_FULL_PWR_NEEDED_BY_HDD, PMC will clear any "buffered wowl" requests
1328 and also clear any "buffered BMPS requests by HDD". Assumption is that since
1329 HDD is requesting full power, we need to undo any previous HDD requests for
1330 BMPS (using sme_RequestBmps) or WoWL (using sme_EnterWoWL). If the reason is
1331 specified anything other than above, the buffered requests for BMPS and WoWL
1332 will not be cleared.
1333 Note 2: Requesting full power (no matter what the fullPowerReason is) doesn't
1334 disable the "auto bmps timer" (if it is enabled) or clear any "buffered uapsd
1335 request".
1336 Note 3: When the device finally enters Full Power PMC will start a timer
1337 if any of the following holds true:
1338 - Auto BMPS mode is enabled
1339 - Uapsd request is pending
1340 - HDD's request for BMPS is pending
1341 - HDD's request for WoWL is pending
1342 On timer expiry PMC will attempt to put the device in BMPS mode if following
1343 (in addition to those listed above) holds true:
1344 - Polling of all modules through the Power Save Check routine passes
1345 - STA is associated to an access point
1346 \param hHal - The handle returned by macOpen.
1347 \param - callbackRoutine Callback routine invoked in case of success/failure
1348 \param - callbackContext - Cookie to be passed back during callback
1349 \param - fullPowerReason - Reason why this API is being invoked. SME needs to
1350 distinguish between BAP and HDD requests
1351 \return eHalStatus - status
1352 eHAL_STATUS_SUCCESS - device brought to full power state
1353 eHAL_STATUS_FAILURE - device cannot be brought to full power state
1354 eHAL_STATUS_PMC_PENDING - device is being brought to full power state,
1355 ---------------------------------------------------------------------------*/
1356extern eHalStatus sme_RequestFullPower (
1357 tHalHandle hHal,
1358 void (*callbackRoutine) (void *callbackContext, eHalStatus status),
1359 void *callbackContext,
1360 tRequestFullPowerReason fullPowerReason);
1361
1362/* ---------------------------------------------------------------------------
1363 \fn sme_RequestBmps
1364 \brief Request that the device be put in BMPS state. Request will be
1365 accepted only if BMPS mode is enabled and power save check routine
1366 passes. Only HDD should invoke this API.
1367 \param hHal - The handle returned by macOpen.
1368 \param - callbackRoutine Callback routine invoked in case of success/failure
1369 \param - callbackContext - Cookie to be passed back during callback
1370 \return eHalStatus
1371 eHAL_STATUS_SUCCESS - device is in BMPS state
1372 eHAL_STATUS_FAILURE - device cannot be brought to BMPS state
1373 eHAL_STATUS_PMC_PENDING - device is being brought to BMPS state
1374 ---------------------------------------------------------------------------*/
1375extern eHalStatus sme_RequestBmps (
1376 tHalHandle hHal,
1377 void (*callbackRoutine) (void *callbackContext, eHalStatus status),
1378 void *callbackContext);
1379
1380/* ---------------------------------------------------------------------------
1381 \fn sme_SetDHCPTillPowerActiveFlag
1382 \brief Sets/Clears DHCP related flag in PMC to disable/enable auto BMPS
1383 entry by PMC
1384 \param hHal - The handle returned by macOpen.
1385 ---------------------------------------------------------------------------*/
1386void sme_SetDHCPTillPowerActiveFlag(tHalHandle hHal, tANI_U8 flag);
1387
1388
1389/* ---------------------------------------------------------------------------
1390 \fn sme_StartUapsd
1391 \brief Request that the device be put in UAPSD state. If the device is in
1392 Full Power it will be put in BMPS mode first and then into UAPSD
1393 mode.
1394 \param hHal - The handle returned by macOpen.
1395 \param - callbackRoutine Callback routine invoked in case of success/failure
1396 \param - callbackContext - Cookie to be passed back during callback
1397 eHAL_STATUS_SUCCESS - device is in UAPSD state
1398 eHAL_STATUS_FAILURE - device cannot be brought to UAPSD state
1399 eHAL_STATUS_PMC_PENDING - device is being brought to UAPSD state
1400 eHAL_STATUS_PMC_DISABLED - UAPSD is disabled or BMPS mode is disabled
1401 \return eHalStatus
1402 ---------------------------------------------------------------------------*/
1403extern eHalStatus sme_StartUapsd (
1404 tHalHandle hHal,
1405 void (*callbackRoutine) (void *callbackContext, eHalStatus status),
1406 void *callbackContext);
1407
1408/* ---------------------------------------------------------------------------
1409 \fn sme_StopUapsd
1410 \brief Request that the device be put out of UAPSD state. Device will be
1411 put in in BMPS state after stop UAPSD completes. Buffered requests for
1412 UAPSD will be cleared after this.
1413 \param hHal - The handle returned by macOpen.
1414 \return eHalStatus
1415 eHAL_STATUS_SUCCESS - device is put out of UAPSD and back in BMPS state
1416 eHAL_STATUS_FAILURE - device cannot be brought out of UAPSD state
1417 ---------------------------------------------------------------------------*/
1418extern eHalStatus sme_StopUapsd (tHalHandle hHal);
1419
1420/* ---------------------------------------------------------------------------
1421 \fn sme_RequestStandby
1422 \brief Request that the device be put in standby. It is HDD's responsibility
1423 to bring the chip to full power and do a discconnect before calling
1424 this API. Request for standby will be rejected if STA is associated
1425 to an AP.
1426 \param hHal - The handle returned by macOpen.
1427 \param - callbackRoutine Callback routine invoked in case of success/failure
1428 \param - callbackContext - Cookie to be passed back during callback
1429 \return eHalStatus
1430 eHAL_STATUS_SUCCESS - device is in Standby mode
1431 eHAL_STATUS_FAILURE - device cannot be put in standby mode
1432 eHAL_STATUS_PMC_PENDING - device is being put in standby mode
1433 ---------------------------------------------------------------------------*/
1434extern eHalStatus sme_RequestStandby (
1435 tHalHandle hHal,
1436 void (*callbackRoutine) (void *callbackContext, eHalStatus status),
1437 void *callbackContext);
1438
1439/* ---------------------------------------------------------------------------
1440 \fn sme_RegisterPowerSaveCheck
1441 \brief Register a power save check routine that is called whenever
1442 the device is about to enter one of the power save modes.
1443 \param hHal - The handle returned by macOpen.
1444 \param checkRoutine - Power save check routine to be registered
1445 \param callbackContext - Cookie to be passed back during callback
1446 \return eHalStatus
1447 eHAL_STATUS_SUCCESS - successfully registered
1448 eHAL_STATUS_FAILURE - not successfully registered
1449 ---------------------------------------------------------------------------*/
1450extern eHalStatus sme_RegisterPowerSaveCheck (
1451 tHalHandle hHal,
1452 tANI_BOOLEAN (*checkRoutine) (void *checkContext), void *checkContext);
1453
1454/* ---------------------------------------------------------------------------
Mihir Shetefc7ff5b2014-01-27 11:30:05 +05301455 \fn sme_Register11dScanDoneCallback
1456 \brief Register a routine of type csrScanCompleteCallback which is
1457 called whenever an 11d scan is done
1458 \param hHal - The handle returned by macOpen.
1459 \param callback - 11d scan complete routine to be registered
1460 \return eHalStatus
1461 ---------------------------------------------------------------------------*/
1462extern eHalStatus sme_Register11dScanDoneCallback (
1463 tHalHandle hHal,
1464 csrScanCompleteCallback);
1465
1466/* ---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07001467 \fn sme_DeregisterPowerSaveCheck
1468 \brief Deregister a power save check routine
1469 \param hHal - The handle returned by macOpen.
1470 \param checkRoutine - Power save check routine to be deregistered
1471 \return eHalStatus
1472 eHAL_STATUS_SUCCESS - successfully deregistered
1473 eHAL_STATUS_FAILURE - not successfully deregistered
1474 ---------------------------------------------------------------------------*/
1475extern eHalStatus sme_DeregisterPowerSaveCheck (
1476 tHalHandle hHal,
1477 tANI_BOOLEAN (*checkRoutine) (void *checkContext));
1478
1479/* ---------------------------------------------------------------------------
1480 \fn sme_RegisterDeviceStateUpdateInd
1481 \brief Register a callback routine that is called whenever
1482 the device enters a new device state (Full Power, BMPS, UAPSD)
1483 \param hHal - The handle returned by macOpen.
1484 \param callbackRoutine - Callback routine to be registered
1485 \param callbackContext - Cookie to be passed back during callback
1486 \return eHalStatus
1487 eHAL_STATUS_SUCCESS - successfully registered
1488 eHAL_STATUS_FAILURE - not successfully registered
1489 ---------------------------------------------------------------------------*/
1490extern eHalStatus sme_RegisterDeviceStateUpdateInd (
1491 tHalHandle hHal,
1492 void (*callbackRoutine) (void *callbackContext, tPmcState pmcState),
1493 void *callbackContext);
1494
1495/* ---------------------------------------------------------------------------
1496 \fn sme_DeregisterDeviceStateUpdateInd
1497 \brief Deregister a routine that was registered for device state changes
1498 \param hHal - The handle returned by macOpen.
1499 \param callbackRoutine - Callback routine to be deregistered
1500 \return eHalStatus
1501 eHAL_STATUS_SUCCESS - successfully deregistered
1502 eHAL_STATUS_FAILURE - not successfully deregistered
1503 ---------------------------------------------------------------------------*/
1504extern eHalStatus sme_DeregisterDeviceStateUpdateInd (
1505 tHalHandle hHal,
1506 void (*callbackRoutine) (void *callbackContext, tPmcState pmcState));
1507
1508/* ---------------------------------------------------------------------------
1509 \fn sme_WowlAddBcastPattern
1510 \brief Add a pattern for Pattern Byte Matching in Wowl mode. Firmware will
1511 do a pattern match on these patterns when Wowl is enabled during BMPS
1512 mode.
1513 \param hHal - The handle returned by macOpen.
1514 \param pattern - Pattern to be added
1515 \return eHalStatus
1516 eHAL_STATUS_FAILURE Cannot add pattern
1517 eHAL_STATUS_SUCCESS Request accepted.
1518 ---------------------------------------------------------------------------*/
1519extern eHalStatus sme_WowlAddBcastPattern (
1520 tHalHandle hHal,
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07001521 tpSirWowlAddBcastPtrn pattern,
1522 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07001523
1524/* ---------------------------------------------------------------------------
1525 \fn sme_WowlDelBcastPattern
1526 \brief Delete a pattern that was added for Pattern Byte Matching.
1527 \param hHal - The handle returned by macOpen.
1528 \param pattern - Pattern to be deleted
1529 \return eHalStatus
1530 eHAL_STATUS_FAILURE Cannot delete pattern
1531 eHAL_STATUS_SUCCESS Request accepted.
1532 ---------------------------------------------------------------------------*/
1533extern eHalStatus sme_WowlDelBcastPattern (
1534 tHalHandle hHal,
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07001535 tpSirWowlDelBcastPtrn pattern,
1536 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07001537
1538/* ---------------------------------------------------------------------------
1539 \fn sme_EnterWowl
1540 \brief This is the API to request entry into WOWL mode.
1541 WoWLAN works on top of BMPS mode. If the device is not in BMPS mode,
1542 SME will will cache the information that WOWL has been requested and
1543 attempt to put the device in BMPS first. On entry into BMPS, SME will
1544 enter the WOWL mode.
1545 Note 1: After WoWL request is accepted, If module other than HDD requests
1546 full power BEFORE WoWL request is completed, PMC will buffer the WoWL request
1547 and attempt to put the chip into BMPS+WOWL based on a timer.
1548 Note 2: Buffered request for WoWL will be cleared immedisately AFTER "enter Wowl"
1549 completes or if HDD requests full power or if sme_ExitWoWL API is invoked.
1550 Note 3: Both UAPSD and WOWL work on top of BMPS. On entry into BMPS, SME
1551 will give priority to UAPSD and enable only UAPSD if both UAPSD and WOWL
1552 are required. Currently there is no requirement or use case to support UAPSD
1553 and WOWL at the same time.
1554 Note 4. Request for WoWL is rejected if there is a pending UAPSD request.
1555 Note 5. Request for WoWL is rejected if BMPS is disabled.
1556
1557 \param hHal - The handle returned by macOpen.
1558 \param enterWowlCallbackRoutine - Callback routine provided by HDD.
1559 Used for success/failure notification by SME
1560 \param enterWowlCallbackContext - A cookie passed by HDD, that is passed back to HDD
1561 at the time of callback.
1562 \param wakeReasonIndCB - Callback routine provided by HDD.
1563 Used for Wake Reason Indication by SME
1564 \param wakeReasonIndCBContext - A cookie passed by HDD, that is passed back to HDD
1565 at the time of callback.
1566 \return eHalStatus
1567 eHAL_STATUS_SUCCESS Device is already in WoWLAN mode
1568 eHAL_STATUS_FAILURE Device cannot enter WoWLAN mode.
1569 eHAL_STATUS_PMC_PENDING Request accepted. SME will enable WOWL when BMPS
1570 mode is entered.
1571 ---------------------------------------------------------------------------*/
1572extern eHalStatus sme_EnterWowl (
1573 tHalHandle hHal,
1574 void (*enterWowlCallbackRoutine) (void *callbackContext, eHalStatus status),
1575 void *enterWowlCallbackContext,
1576#ifdef WLAN_WAKEUP_EVENTS
1577 void (*wakeReasonIndCB) (void *callbackContext, tpSirWakeReasonInd pWakeReasonInd),
1578 void *wakeReasonIndCBContext,
1579#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07001580 tpSirSmeWowlEnterParams wowlEnterParams, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07001581
1582/* ---------------------------------------------------------------------------
1583 \fn sme_ExitWowl
1584 \brief This is the SME API exposed to HDD to request exit from WoWLAN mode.
1585 SME will initiate exit from WoWLAN mode and device will be put in BMPS
1586 mode. Any Buffered request for WoWL will be cleared after this API.
1587 \param hHal - The handle returned by macOpen.
1588 \return eHalStatus
1589 eHAL_STATUS_FAILURE Device cannot exit WoWLAN mode. This can happen
1590 only if the previous "Enter WOWL" transaction has
1591 not even completed.
1592 eHAL_STATUS_SUCCESS Request accepted to exit WoWLAN mode.
1593 ---------------------------------------------------------------------------*/
c_hpothu01484c02014-05-16 14:05:15 +05301594extern eHalStatus sme_ExitWowl (tHalHandle hHal, tWowlExitSource wowlExitSrc);
Jeff Johnson295189b2012-06-20 16:38:30 -07001595
1596/* ---------------------------------------------------------------------------
1597
1598 \fn sme_RoamSetKey
1599
1600 \brief To set encryption key. This function should be called only when connected
1601 This is an asynchronous API.
1602
1603 \param pSetKeyInfo - pointer to a caller allocated object of tCsrSetContextInfo
1604
1605 \param pRoamId Upon success return, this is the id caller can use to identify the request in roamcallback
1606
1607 \return eHalStatus SUCCESS Roam callback will be called indicate actually results
1608
1609 FAILURE or RESOURCES The API finished and failed.
1610
1611 -------------------------------------------------------------------------------*/
1612eHalStatus sme_RoamSetKey(tHalHandle, tANI_U8 sessionId, tCsrRoamSetKey *pSetKey, tANI_U32 *pRoamId);
1613
1614/* ---------------------------------------------------------------------------
1615
1616 \fn sme_RoamRemoveKey
1617
1618 \brief To set encryption key. This is an asynchronous API.
1619
1620 \param pRemoveKey - pointer to a caller allocated object of tCsrRoamRemoveKey
1621
1622 \param pRoamId Upon success return, this is the id caller can use to identify the request in roamcallback
1623
1624 \return eHalStatus SUCCESS Roam callback will be called indicate actually results
1625
1626 FAILURE or RESOURCES The API finished and failed.
1627
1628 -------------------------------------------------------------------------------*/
1629eHalStatus sme_RoamRemoveKey(tHalHandle, tANI_U8 sessionId, tCsrRoamRemoveKey *pRemoveKey, tANI_U32 *pRoamId);
1630
1631
1632/* ---------------------------------------------------------------------------
1633
1634 \fn sme_GetCountryCode
1635
1636 \brief To return the current country code. If no country code is applied, default country code is
1637 used to fill the buffer.
1638 If 11d supported is turned off, an error is return and the last applied/default country code is used.
1639 This is a synchronous API.
1640
1641 \param pBuf - pointer to a caller allocated buffer for returned country code.
1642
1643 \param pbLen For input, this parameter indicates how big is the buffer.
1644 Upon return, this parameter has the number of bytes for country. If pBuf
1645 doesn't have enough space, this function returns
1646 fail status and this parameter contains the number that is needed.
1647
1648 \return eHalStatus SUCCESS.
1649
1650 FAILURE or RESOURCES The API finished and failed.
1651
1652 -------------------------------------------------------------------------------*/
1653eHalStatus sme_GetCountryCode(tHalHandle hHal, tANI_U8 *pBuf, tANI_U8 *pbLen);
1654
1655/* ---------------------------------------------------------------------------
1656
1657 \fn sme_SetCountryCode
1658
1659 \brief To change the current/default country code.
1660 If 11d supported is turned off, an error is return.
1661 This is a synchronous API.
1662
1663 \param pCountry - pointer to a caller allocated buffer for the country code.
1664
1665 \param pfRestartNeeded A pointer to caller allocated memory, upon successful return, it indicates
1666 whether a reset is required.
1667
1668 \return eHalStatus SUCCESS.
1669
1670 FAILURE or RESOURCES The API finished and failed.
1671
1672 -------------------------------------------------------------------------------*/
1673eHalStatus sme_SetCountryCode(tHalHandle hHal, tANI_U8 *pCountry, tANI_BOOLEAN *pfRestartNeeded);
1674
1675/* ---------------------------------------------------------------------------
Mihir Shetee1093ba2014-01-21 20:13:32 +05301676
1677 \fn sme_InitChannels
1678
1679 \brief Used to initialize CSR channel lists while driver loading
1680
1681 \param hHal - global pMac structure
1682
1683 \return eHalStatus SUCCESS.
1684
1685 FAILURE or RESOURCES The API finished and failed.
1686
1687 -------------------------------------------------------------------------------*/
1688eHalStatus sme_InitChannels(tHalHandle hHal);
1689
Mahesh A Saptasagar74289d22014-05-14 12:43:37 +05301690
Mihir Shete04206452014-11-20 17:50:58 +05301691#ifdef CONFIG_ENABLE_LINUX_REG
Mahesh A Saptasagar74289d22014-05-14 12:43:37 +05301692/* ---------------------------------------------------------------------------
1693 \fn sme_InitChannelsForCC
1694
1695 \brief Used to issue regulatory hint to user
1696
1697 \param hHal - global pMac structure
Agarwal Ashish6db9d532014-09-30 18:19:10 +05301698 init - param to initiate channel list on basis of init/Reinit
Mahesh A Saptasagar74289d22014-05-14 12:43:37 +05301699
1700 \return eHalStatus SUCCESS.
1701
1702 FAILURE or RESOURCES The API finished and failed.
1703
1704 -------------------------------------------------------------------------------*/
Agarwal Ashish6db9d532014-09-30 18:19:10 +05301705eHalStatus sme_InitChannelsForCC(tHalHandle hHal, driver_load_type init);
Mihir Shete04206452014-11-20 17:50:58 +05301706#endif
Mahesh A Saptasagar74289d22014-05-14 12:43:37 +05301707
Mihir Shetee1093ba2014-01-21 20:13:32 +05301708/* ---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07001709 \fn sme_ResetCountryCodeInformation
1710 \brief this function is to reset the country code current being used back to EEPROM default
1711 this includes channel list and power setting. This is a synchronous API.
1712 \param pfRestartNeeded - pointer to a caller allocated space. Upon successful return, it indicates whether
1713 a restart is needed to apply the change
1714 \return eHalStatus
1715 -------------------------------------------------------------------------------*/
1716eHalStatus sme_ResetCountryCodeInformation(tHalHandle hHal, tANI_BOOLEAN *pfRestartNeeded);
1717
1718/* ---------------------------------------------------------------------------
1719 \fn sme_GetSupportedCountryCode
1720 \brief this function is to get a list of the country code current being supported
1721 \param pBuf - Caller allocated buffer with at least 3 bytes, upon success return,
1722 this has the country code list. 3 bytes for each country code. This may be NULL if
1723 caller wants to know the needed byte count.
1724 \param pbLen - Caller allocated, as input, it indicates the length of pBuf. Upon success return,
1725 this contains the length of the data in pBuf. If pbuf is NULL, as input, *pbLen should be 0.
1726 \return eHalStatus
1727 -------------------------------------------------------------------------------*/
1728eHalStatus sme_GetSupportedCountryCode(tHalHandle hHal, tANI_U8 *pBuf, tANI_U32 *pbLen);
1729
1730/* ---------------------------------------------------------------------------
1731 \fn sme_GetCurrentRegulatoryDomain
1732 \brief this function is to get the current regulatory domain. This is a synchronous API.
1733 This function must be called after CFG is downloaded and all the band/mode setting already passed into
1734 SME. The function fails if 11d support is turned off.
1735 \param pDomain - Caller allocated buffer to return the current domain.
1736 \return eHalStatus SUCCESS.
1737
1738 FAILURE or RESOURCES The API finished and failed.
1739 -------------------------------------------------------------------------------*/
1740eHalStatus sme_GetCurrentRegulatoryDomain(tHalHandle hHal, v_REGDOMAIN_t *pDomain);
1741
1742/* ---------------------------------------------------------------------------
1743 \fn sme_SetRegulatoryDomain
1744 \brief this function is to set the current regulatory domain.
1745 This function must be called after CFG is downloaded and all the band/mode setting already passed into
1746 SME. This is a synchronous API.
1747 \param domainId - indicate the domain (defined in the driver) needs to set to.
1748 See v_REGDOMAIN_t for definition
1749 \param pfRestartNeeded - pointer to a caller allocated space. Upon successful return, it indicates whether
1750 a restart is needed to apply the change
1751 \return eHalStatus
1752 -------------------------------------------------------------------------------*/
1753eHalStatus sme_SetRegulatoryDomain(tHalHandle hHal, v_REGDOMAIN_t domainId, tANI_BOOLEAN *pfRestartNeeded);
1754
1755/* ---------------------------------------------------------------------------
1756
1757 \fn sme_GetRegulatoryDomainForCountry
1758
1759 \brief To return a regulatory domain base on a country code. This is a synchronous API.
1760
1761 \param pCountry - pointer to a caller allocated buffer for input country code.
1762
1763 \param pDomainId Upon successful return, it is the domain that country belongs to.
1764 If it is NULL, returning success means that the country code is known.
1765
1766 \return eHalStatus SUCCESS.
1767
1768 FAILURE or RESOURCES The API finished and failed.
1769
1770 -------------------------------------------------------------------------------*/
1771eHalStatus sme_GetRegulatoryDomainForCountry(tHalHandle hHal, tANI_U8 *pCountry, v_REGDOMAIN_t *pDomainId);
1772
1773
1774
1775/* ---------------------------------------------------------------------------
1776
1777 \fn sme_GetSupportedRegulatoryDomains
1778
1779 \brief To return a list of supported regulatory domains. This is a synchronous API.
1780
1781 \param pDomains - pointer to a caller allocated buffer for returned regulatory domains.
1782
1783 \param pNumDomains For input, this parameter indicates howm many domains pDomains can hold.
1784 Upon return, this parameter has the number for supported domains. If pDomains
1785 doesn't have enough space for all the supported domains, this function returns
1786 fail status and this parameter contains the number that is needed.
1787
1788 \return eHalStatus SUCCESS.
1789
1790 FAILURE or RESOURCES The API finished and failed.
1791
1792 -------------------------------------------------------------------------------*/
1793eHalStatus sme_GetSupportedRegulatoryDomains(tHalHandle hHal, v_REGDOMAIN_t *pDomains, tANI_U32 *pNumDomains);
1794
1795//some support functions
1796tANI_BOOLEAN sme_Is11dSupported(tHalHandle hHal);
1797tANI_BOOLEAN sme_Is11hSupported(tHalHandle hHal);
1798tANI_BOOLEAN sme_IsWmmSupported(tHalHandle hHal);
1799//Upper layer to get the list of the base channels to scan for passively 11d info from csr
1800eHalStatus sme_ScanGetBaseChannels( tHalHandle hHal, tCsrChannelInfo * pChannelInfo );
1801
1802typedef void ( *tSmeChangeCountryCallback)(void *pContext);
1803/* ---------------------------------------------------------------------------
1804
1805 \fn sme_ChangeCountryCode
1806
1807 \brief Change Country code from upperlayer during WLAN driver operation.
1808 This is a synchronous API.
1809
1810 \param hHal - The handle returned by macOpen.
1811
1812 \param pCountry New Country Code String
1813
Abhishek Singha306a442013-11-07 18:39:01 +05301814 \param sendRegHint If we want to send reg hint to nl80211
1815
Jeff Johnson295189b2012-06-20 16:38:30 -07001816 \return eHalStatus SUCCESS.
1817
1818 FAILURE or RESOURCES The API finished and failed.
1819
1820 -------------------------------------------------------------------------------*/
1821eHalStatus sme_ChangeCountryCode( tHalHandle hHal,
1822 tSmeChangeCountryCallback callback,
1823 tANI_U8 *pCountry,
1824 void *pContext,
Gopichand Nakkalaacd94112013-05-29 21:37:47 +05301825 void* pVosContext,
Abhishek Singha306a442013-11-07 18:39:01 +05301826 tAniBool countryFromUserSpace,
1827 tAniBool sendRegHint);
Jeff Johnson295189b2012-06-20 16:38:30 -07001828
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301829/* ---------------------------------------------------------------------------
1830
Amar Singhal0d15bd52013-10-12 23:13:13 -07001831 \fn sme_GenericChangeCountryCode
1832
1833 \brief Generic API to change country code
1834
1835 \param hHal - The handle returned by macOpen.
1836
1837 \param pCountry New Country Code String
1838
1839 \param reg_domain Regulatory domain for the new country code
1840
1841 \return eHalStatus SUCCESS.
1842
1843 FAILURE or RESOURCES The API finished and failed.
1844
1845 -------------------------------------------------------------------------------*/
1846eHalStatus sme_GenericChangeCountryCode( tHalHandle hHal,
1847 tANI_U8 *pCountry,
1848 v_REGDOMAIN_t reg_domain);
1849
1850/* ---------------------------------------------------------------------------
1851
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301852 \fn sme_DHCPStartInd
1853
1854 \brief Indicate FW about DHCP start event.
1855
1856 \param hHal - The handle returned by macOpen.
1857
1858 \param device_mode the mode of the device
1859
c_hpothu0b0cab72014-02-13 21:52:40 +05301860 \param sessionId session ID
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301861
1862 \return eHalStatus SUCCESS.
1863
1864 FAILURE or RESOURCES The API finished and failed.
1865
1866 -------------------------------------------------------------------------------*/
1867
1868eHalStatus sme_DHCPStartInd( tHalHandle hHal,
1869 tANI_U8 device_mode,
c_hpothu0b0cab72014-02-13 21:52:40 +05301870 tANI_U8 sessionId );
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301871
1872/* ---------------------------------------------------------------------------
1873
1874 \fn sme_DHCPStopInd
1875
1876 \brief Indicate FW about DHCP stop event.
1877
1878 \param hHal - The handle returned by macOpen.
1879
1880 \param device_mode the mode of the device
1881
c_hpothu0b0cab72014-02-13 21:52:40 +05301882 \param sessionId session ID
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301883
1884 \return eHalStatus SUCCESS.
1885
1886 FAILURE or RESOURCES The API finished and failed.
1887
1888 -------------------------------------------------------------------------------*/
1889eHalStatus sme_DHCPStopInd( tHalHandle hHal,
1890 tANI_U8 device_mode,
c_hpothu0b0cab72014-02-13 21:52:40 +05301891 tANI_U8 sessionId );
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301892
Jeff Johnson295189b2012-06-20 16:38:30 -07001893
1894/* ---------------------------------------------------------------------------
1895 \fn sme_BtcSignalBtEvent
1896 \brief API to signal Bluetooth (BT) event to the WLAN driver. Based on the
1897 BT event type and the current operating mode of Libra (full power,
1898 BMPS, UAPSD etc), appropriate Bluetooth Coexistence (BTC) strategy
1899 would be employed.
1900 \param hHal - The handle returned by macOpen.
1901 \param pBtcBtEvent - Pointer to a caller allocated object of type tSmeBtEvent
1902 Caller owns the memory and is responsible for freeing it.
1903 \return VOS_STATUS
1904 VOS_STATUS_E_FAILURE BT Event not passed to HAL. This can happen
1905 if driver has not yet been initialized or if BTC
1906 Events Layer has been disabled.
1907 VOS_STATUS_SUCCESS BT Event passed to HAL
1908 ---------------------------------------------------------------------------*/
1909VOS_STATUS sme_BtcSignalBtEvent (tHalHandle hHal, tpSmeBtEvent pBtcBtEvent);
1910
1911/* ---------------------------------------------------------------------------
1912 \fn sme_BtcSetConfig
1913 \brief API to change the current Bluetooth Coexistence (BTC) configuration
1914 This function should be invoked only after CFG download has completed.
1915 Calling it after sme_HDDReadyInd is recommended.
1916 \param hHal - The handle returned by macOpen.
1917 \param pSmeBtcConfig - Pointer to a caller allocated object of type
1918 tSmeBtcConfig. Caller owns the memory and is responsible
1919 for freeing it.
1920 \return VOS_STATUS
1921 VOS_STATUS_E_FAILURE Config not passed to HAL.
1922 VOS_STATUS_SUCCESS Config passed to HAL
1923 ---------------------------------------------------------------------------*/
1924VOS_STATUS sme_BtcSetConfig (tHalHandle hHal, tpSmeBtcConfig pSmeBtcConfig);
1925
1926/* ---------------------------------------------------------------------------
1927 \fn sme_BtcGetConfig
1928 \brief API to retrieve the current Bluetooth Coexistence (BTC) configuration
1929 \param hHal - The handle returned by macOpen.
1930 \param pSmeBtcConfig - Pointer to a caller allocated object of type tSmeBtcConfig.
1931 Caller owns the memory and is responsible for freeing it.
1932 \return VOS_STATUS
1933 VOS_STATUS_E_FAILURE - failure
1934 VOS_STATUS_SUCCESS success
1935 ---------------------------------------------------------------------------*/
1936VOS_STATUS sme_BtcGetConfig (tHalHandle hHal, tpSmeBtcConfig pSmeBtcConfig);
1937
1938/* ---------------------------------------------------------------------------
1939 \fn sme_SetCfgPrivacy
1940 \brief API to set configure privacy parameters
1941 \param hHal - The handle returned by macOpen.
1942 \param pProfile - Pointer CSR Roam profile.
1943 \param fPrivacy - This parameter indicates status of privacy
1944
1945 \return void
1946 ---------------------------------------------------------------------------*/
1947void sme_SetCfgPrivacy(tHalHandle hHal, tCsrRoamProfile *pProfile, tANI_BOOLEAN fPrivacy);
1948
1949#if defined WLAN_FEATURE_VOWIFI
1950/* ---------------------------------------------------------------------------
1951 \fn sme_NeighborReportRequest
1952 \brief API to request neighbor report.
1953 \param hHal - The handle returned by macOpen.
1954 \param pRrmNeighborReq - Pointer to a caller allocated object of type
1955 tRrmNeighborReq. Caller owns the memory and is responsible
1956 for freeing it.
1957 \return VOS_STATUS
1958 VOS_STATUS_E_FAILURE - failure
1959 VOS_STATUS_SUCCESS success
1960 ---------------------------------------------------------------------------*/
1961VOS_STATUS sme_NeighborReportRequest (tHalHandle hHal, tANI_U8 sessionId,
1962 tpRrmNeighborReq pRrmNeighborReq, tpRrmNeighborRspCallbackInfo callbackInfo);
1963#endif
1964
1965//The following are debug APIs to support direct read/write register/memory
1966//They are placed in SME because HW cannot be access when in LOW_POWER state
1967//AND not connected. The knowledge and synchronization is done in SME
1968
1969//sme_DbgReadRegister
1970//Caller needs to validate the input values
1971VOS_STATUS sme_DbgReadRegister(tHalHandle hHal, v_U32_t regAddr, v_U32_t *pRegValue);
1972
1973//sme_DbgWriteRegister
1974//Caller needs to validate the input values
1975VOS_STATUS sme_DbgWriteRegister(tHalHandle hHal, v_U32_t regAddr, v_U32_t regValue);
1976
1977//sme_DbgReadMemory
1978//Caller needs to validate the input values
1979//pBuf caller allocated buffer has the length of nLen
1980VOS_STATUS sme_DbgReadMemory(tHalHandle hHal, v_U32_t memAddr, v_U8_t *pBuf, v_U32_t nLen);
1981
1982//sme_DbgWriteMemory
1983//Caller needs to validate the input values
1984VOS_STATUS sme_DbgWriteMemory(tHalHandle hHal, v_U32_t memAddr, v_U8_t *pBuf, v_U32_t nLen);
1985
Jeff Johnson295189b2012-06-20 16:38:30 -07001986VOS_STATUS sme_GetWcnssWlanCompiledVersion(tHalHandle hHal,
1987 tSirVersionType *pVersion);
1988VOS_STATUS sme_GetWcnssWlanReportedVersion(tHalHandle hHal,
1989 tSirVersionType *pVersion);
1990VOS_STATUS sme_GetWcnssSoftwareVersion(tHalHandle hHal,
1991 tANI_U8 *pVersion,
1992 tANI_U32 versionBufferSize);
1993VOS_STATUS sme_GetWcnssHardwareVersion(tHalHandle hHal,
1994 tANI_U8 *pVersion,
1995 tANI_U32 versionBufferSize);
Jeff Johnson295189b2012-06-20 16:38:30 -07001996eHalStatus sme_RoamRegisterCallback(tHalHandle hHal,
1997 csrRoamCompleteCallback callback,
1998 void *pContext);
1999
2000#ifdef FEATURE_WLAN_WAPI
2001/* ---------------------------------------------------------------------------
2002 \fn sme_RoamSetBKIDCache
2003 \brief The SME API exposed to HDD to allow HDD to provde SME the BKID
2004 candidate list.
2005 \param hHal - Handle to the HAL. The HAL handle is returned by the HAL after
2006 it is opened (by calling halOpen).
2007 \param pBKIDCache - caller allocated buffer point to an array of tBkidCacheInfo
2008 \param numItems - a variable that has the number of tBkidCacheInfo allocated
2009 when retruning, this is the number of items put into pBKIDCache
2010 \return eHalStatus - when fail, it usually means the buffer allocated is not
2011 big enough and pNumItems has the number of tBkidCacheInfo.
2012 ---------------------------------------------------------------------------*/
2013eHalStatus sme_RoamSetBKIDCache( tHalHandle hHal, tANI_U32 sessionId, tBkidCacheInfo *pBKIDCache,
2014 tANI_U32 numItems );
2015
2016/* ---------------------------------------------------------------------------
2017 \fn sme_RoamGetBKIDCache
2018 \brief The SME API exposed to HDD to allow HDD to request SME to return its
2019 BKID cache.
2020 \param hHal - Handle to the HAL. The HAL handle is returned by the HAL after
2021 it is opened (by calling halOpen).
2022 \param pNum - caller allocated memory that has the space of the number of
2023 tBkidCacheInfo as input. Upon returned, *pNum has the needed number of entries
2024 in SME cache.
2025 \param pBkidCache - Caller allocated memory that contains BKID cache, if any,
2026 upon return
2027 \return eHalStatus - when fail, it usually means the buffer allocated is not
2028 big enough.
2029 ---------------------------------------------------------------------------*/
2030eHalStatus sme_RoamGetBKIDCache(tHalHandle hHal, tANI_U32 *pNum,
2031 tBkidCacheInfo *pBkidCache);
2032
2033/* ---------------------------------------------------------------------------
2034 \fn sme_RoamGetNumBKIDCache
2035 \brief The SME API exposed to HDD to allow HDD to request SME to return the
2036 number of BKID cache entries.
2037 \param hHal - Handle to the HAL. The HAL handle is returned by the HAL after
2038 it is opened (by calling halOpen).
2039 \return tANI_U32 - the number of BKID cache entries.
2040 ---------------------------------------------------------------------------*/
2041tANI_U32 sme_RoamGetNumBKIDCache(tHalHandle hHal, tANI_U32 sessionId);
2042
2043/* ---------------------------------------------------------------------------
2044 \fn sme_ScanGetBKIDCandidateList
2045 \brief a wrapper function to return the BKID candidate list
2046 \param pBkidList - caller allocated buffer point to an array of
2047 tBkidCandidateInfo
2048 \param pNumItems - pointer to a variable that has the number of
2049 tBkidCandidateInfo allocated when retruning, this is
2050 either the number needed or number of items put into
2051 pPmkidList
2052 \return eHalStatus - when fail, it usually means the buffer allocated is not
2053 big enough and pNumItems
2054 has the number of tBkidCandidateInfo.
2055 \Note: pNumItems is a number of tBkidCandidateInfo,
2056 not sizeof(tBkidCandidateInfo) * something
2057 ---------------------------------------------------------------------------*/
2058eHalStatus sme_ScanGetBKIDCandidateList(tHalHandle hHal, tANI_U32 sessionId,
2059 tBkidCandidateInfo *pBkidList,
2060 tANI_U32 *pNumItems );
2061#endif /* FEATURE_WLAN_WAPI */
2062
Jeff Johnsone7245742012-09-05 17:12:55 -07002063#ifdef FEATURE_OEM_DATA_SUPPORT
2064/********************************************************************************************
2065 Oem data related modifications
2066*********************************************************************************************/
2067/* ---------------------------------------------------------------------------
2068 \fn sme_OemDataReq
2069 \param sessionId - session id of session to be used for oem data req.
2070 \param pOemDataReqID - pointer to an object to get back the request ID
2071 \param callback - a callback function that is called upon finish
2072 \param pContext - a pointer passed in for the callback
2073 \return eHalStatus
2074 ---------------------------------------------------------------------------*/
2075eHalStatus sme_OemDataReq(tHalHandle hHal,
2076 tANI_U8 sessionId,
2077 tOemDataReqConfig *,
2078 tANI_U32 *pOemDataReqID,
2079 oemData_OemDataReqCompleteCallback callback,
2080 void *pContext);
2081
2082/* ---------------------------------------------------------------------------
2083 \fn sme_getOemDataRsp
2084 \param pOemDataRsp - A pointer to the response object
2085 \param pOemDataReqID - pointer to an object to get back the request ID
2086 \return eHalStatus
2087 ---------------------------------------------------------------------------*/
2088eHalStatus sme_getOemDataRsp(tHalHandle hHal,
2089 tOemDataRsp **pOemDataRsp);
2090
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05302091/* ---------------------------------------------------------------------------
2092 \fn sme_OemDataReqNew
2093 \brief a wrapper function for OEM DATA REQ NEW
2094 \param pOemDataReqNewConfig - Data to be passed to FW
2095 ---------------------------------------------------------------------------*/
2096void sme_OemDataReqNew(tHalHandle hHal,
2097 tOemDataReqNewConfig *pOemDataReqNewConfig);
2098
Jeff Johnsone7245742012-09-05 17:12:55 -07002099#endif /*FEATURE_OEM_DATA_SUPPORT*/
Jeff Johnson295189b2012-06-20 16:38:30 -07002100
2101
Jeff Johnson295189b2012-06-20 16:38:30 -07002102
2103/* ---------------------------------------------------------------------------
2104
2105 \fn sme_RoamUpdateAPWPSIE
2106
2107 \brief To update AP's WPS IE. This function should be called after SME AP session is created
2108 This is an asynchronous API.
2109
2110 \param pAPWPSIES - pointer to a caller allocated object of tCsrRoamAPWPSIES
2111
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002112 \return eHalStatus SUCCESS Roam callback will be called indicate actually results
Jeff Johnson295189b2012-06-20 16:38:30 -07002113
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002114 FAILURE or RESOURCES The API finished and failed.
Jeff Johnson295189b2012-06-20 16:38:30 -07002115
2116 -------------------------------------------------------------------------------*/
2117
2118eHalStatus sme_RoamUpdateAPWPSIE(tHalHandle, tANI_U8 sessionId, tSirAPWPSIEs *pAPWPSIES);
2119/* ---------------------------------------------------------------------------
2120
2121 \fn sme_RoamUpdateAPWPARSNIEs
2122
2123 \brief To update AP's WPA/RSN IEs. This function should be called after SME AP session is created
2124 This is an asynchronous API.
2125
2126 \param pAPSirRSNie - pointer to a caller allocated object of tSirRSNie with WPS/RSN IEs
2127
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002128 \return eHalStatus SUCCESS
Jeff Johnson295189b2012-06-20 16:38:30 -07002129
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002130 FAILURE or RESOURCES The API finished and failed.
Jeff Johnson295189b2012-06-20 16:38:30 -07002131
2132 -------------------------------------------------------------------------------*/
2133eHalStatus sme_RoamUpdateAPWPARSNIEs(tHalHandle hHal, tANI_U8 sessionId, tSirRSNie * pAPSirRSNie);
2134
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -08002135/* ---------------------------------------------------------------------------
2136
2137 sme_ChangeMCCBeaconInterval
2138
2139 \brief To update P2P-GO's beacon Interval.
2140
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002141 \return eHalStatus SUCCESS
2142 FAILURE or RESOURCES
2143 The API finished and failed.
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -08002144 -------------------------------------------------------------------------------*/
2145eHalStatus sme_ChangeMCCBeaconInterval(tHalHandle hHal, tANI_U8 sessionId);
2146
2147
Jeff Johnson295189b2012-06-20 16:38:30 -07002148
2149/* ---------------------------------------------------------------------------
2150 \fn sme_sendBTAmpEvent
2151 \brief API to send the btAMPstate to FW
2152 \param hHal - The handle returned by macOpen.
2153 \param btAmpEvent -- btAMP event
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002154 \return eHalStatus SUCCESS
2155 FAILURE or RESOURCES The API finished and failed.
Jeff Johnson295189b2012-06-20 16:38:30 -07002156
2157--------------------------------------------------------------------------- */
2158
2159eHalStatus sme_sendBTAmpEvent(tHalHandle hHal, tSmeBtAmpEvent btAmpEvent);
2160
2161
2162
2163/* ---------------------------------------------------------------------------
2164 \fn sme_SetHostOffload
2165 \brief API to set the host offload feature.
2166 \param hHal - The handle returned by macOpen.
2167 \param pRequest - Pointer to the offload request.
2168 \return eHalStatus
2169 ---------------------------------------------------------------------------*/
Jeff Johnsone7245742012-09-05 17:12:55 -07002170eHalStatus sme_SetHostOffload (tHalHandle hHal, tANI_U8 sessionId,
2171 tpSirHostOffloadReq pRequest);
Jeff Johnson295189b2012-06-20 16:38:30 -07002172
2173/* ---------------------------------------------------------------------------
2174 \fn sme_SetKeepAlive
2175 \brief API to set the Keep Alive feature.
2176 \param hHal - The handle returned by macOpen.
2177 \param pRequest - Pointer to the Keep Alive request.
2178 \return eHalStatus
2179 ---------------------------------------------------------------------------*/
Jeff Johnsone7245742012-09-05 17:12:55 -07002180eHalStatus sme_SetKeepAlive (tHalHandle hHal, tANI_U8 sessionId,
2181 tpSirKeepAliveReq pRequest);
Jeff Johnson295189b2012-06-20 16:38:30 -07002182
Jeff Johnson295189b2012-06-20 16:38:30 -07002183/* ----------------------------------------------------------------------------
2184 \fn sme_GetOperationChannel
2185 \brief API to get current channel on which STA is parked
2186 this function gives channel information only of infra station or IBSS station.
Jeff Johnson04dd8a82012-06-29 20:41:40 -07002187 \param hHal, pointer to memory location and sessionId
Jeff Johnson295189b2012-06-20 16:38:30 -07002188 \returns eHAL_STATUS_SUCCESS
2189 eHAL_STATUS_FAILURE
2190-------------------------------------------------------------------------------*/
Jeff Johnson04dd8a82012-06-29 20:41:40 -07002191eHalStatus sme_GetOperationChannel(tHalHandle hHal, tANI_U32 *pChannel, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002192
Abhishek Singh7d624e12015-11-30 14:29:27 +05302193eHalStatus sme_register_mgmt_frame_ind_callback(tHalHandle hHal,
2194 sir_mgmt_frame_ind_callback callback);
2195
Jeff Johnson295189b2012-06-20 16:38:30 -07002196/* ---------------------------------------------------------------------------
2197
2198 \fn sme_RegisterMgtFrame
2199
2200 \brief To register managment frame of specified type and subtype.
2201 \param frameType - type of the frame that needs to be passed to HDD.
2202 \param matchData - data which needs to be matched before passing frame
2203 to HDD.
2204 \param matchDataLen - Length of matched data.
2205 \return eHalStatus
2206 -------------------------------------------------------------------------------*/
2207eHalStatus sme_RegisterMgmtFrame(tHalHandle hHal, tANI_U8 sessionId,
2208 tANI_U16 frameType, tANI_U8* matchData, tANI_U16 matchLen);
2209
2210/* ---------------------------------------------------------------------------
2211
2212 \fn sme_DeregisterMgtFrame
2213
2214 \brief To De-register managment frame of specified type and subtype.
2215 \param frameType - type of the frame that needs to be passed to HDD.
2216 \param matchData - data which needs to be matched before passing frame
2217 to HDD.
2218 \param matchDataLen - Length of matched data.
2219 \return eHalStatus
2220 -------------------------------------------------------------------------------*/
2221eHalStatus sme_DeregisterMgmtFrame(tHalHandle hHal, tANI_U8 sessionId,
2222 tANI_U16 frameType, tANI_U8* matchData, tANI_U16 matchLen);
Siddharth Bhal64246172015-02-27 01:04:37 +05302223/* ---------------------------------------------------------------------------
2224 \fn sme_GetFramesLog
2225 \brief a wrapper function that client calls to register a callback to get
2226 mgmt frames logged
Siddharth Bhal64246172015-02-27 01:04:37 +05302227 \param flag - flag tells to clear OR send the frame log buffer
Siddharth Bhal64246172015-02-27 01:04:37 +05302228 \return eHalStatus
2229 ---------------------------------------------------------------------------*/
Abhishek Singh611295e2015-07-09 11:11:54 +05302230eHalStatus sme_GetFramesLog(tHalHandle hHal, tANI_U8 flag);
Jeff Johnson295189b2012-06-20 16:38:30 -07002231/* ---------------------------------------------------------------------------
2232
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302233 \fn sme_InitMgmtFrameLogging
2234
2235 \brief
2236 SME will pass this request to lower mac to initialize Frame Logging.
2237
2238 \param
2239
2240 hHal - The handle returned by macOpen.
2241
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302242 wlanFWLoggingInitParam - Params to initialize frame logging
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302243
2244 \return eHalStatus
2245--------------------------------------------------------------------------- */
2246eHalStatus sme_InitMgmtFrameLogging( tHalHandle hHal,
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302247 tpSirFWLoggingInitParam wlanFWLoggingInitParam);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302248
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302249
2250/* ---------------------------------------------------------------------------
2251
2252 \fn sme_StopRssiMonitoring
2253
2254 \brief
2255 SME will pass this request to lower mac to stop monitoring rssi range on
2256 a bssid.
2257
2258 \param
2259
2260 hHal - The handle returned by macOpen.
2261
2262 tSirRssiMonitorReq req- depict the monitor req params.
2263
2264 \return eHalStatus
2265
2266--------------------------------------------------------------------------- */
2267eHalStatus sme_StopRssiMonitoring(tHalHandle hHal,
2268 tSirRssiMonitorReq *req);
2269
2270/* ---------------------------------------------------------------------------
2271
2272 \fn sme_StartRssiMonitoring
2273
2274 \brief
2275 SME will pass this request to lower mac to start monitoring rssi range on
2276 a bssid.
2277
2278 \param
2279
2280 hHal - The handle returned by macOpen.
2281
2282 tSirRssiMonitorReq req- depict the monitor req params.
2283
2284 \return eHalStatus
2285
2286--------------------------------------------------------------------------- */
2287eHalStatus sme_StartRssiMonitoring(tHalHandle hHal,
2288 tSirRssiMonitorReq *req);
2289
2290
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302291/* ---------------------------------------------------------------------------
2292
Jeff Johnson295189b2012-06-20 16:38:30 -07002293 \fn sme_ConfigureRxpFilter
2294
2295 \brief
2296 SME will pass this request to lower mac to set/reset the filter on RXP for
2297 multicast & broadcast traffic.
2298
2299 \param
2300
2301 hHal - The handle returned by macOpen.
2302
2303 filterMask- Currently the API takes a 1 or 0 (set or reset) as filter.
2304 Basically to enable/disable the filter (to filter "all" mcbc traffic) based
2305 on this param. In future we can use this as a mask to set various types of
2306 filters as suggested below:
2307 FILTER_ALL_MULTICAST:
2308 FILTER_ALL_BROADCAST:
2309 FILTER_ALL_MULTICAST_BROADCAST:
2310
2311
2312 \return eHalStatus
2313
2314
2315--------------------------------------------------------------------------- */
2316eHalStatus sme_ConfigureRxpFilter( tHalHandle hHal,
2317 tpSirWlanSetRxpFilters wlanRxpFilterParam);
2318
2319/* ---------------------------------------------------------------------------
2320
2321 \fn sme_ConfigureAppsCpuWakeupState
2322
2323 \brief
2324 SME will pass this request to lower mac to dynamically adjusts the listen
2325 interval based on the WLAN/MSM activity. This feature is named as
2326 Telescopic Beacon wakeup feature.
2327
2328 \param
2329
2330 hHal - The handle returned by macOpen.
2331
2332 isAppsAwake- Depicts the state of the Apps CPU
2333
2334
2335 \return eHalStatus
2336
2337
2338--------------------------------------------------------------------------- */
2339eHalStatus sme_ConfigureAppsCpuWakeupState( tHalHandle hHal, tANI_BOOLEAN isAppsAwake);
2340
Jeff Johnson295189b2012-06-20 16:38:30 -07002341/* ---------------------------------------------------------------------------
2342
2343 \fn sme_ConfigureSuspendInd
2344
2345 \brief
2346 SME will pass this request to lower mac to Indicate that the wlan needs to
2347 be suspended
2348
2349 \param
2350
2351 hHal - The handle returned by macOpen.
2352
2353 wlanSuspendParam- Depicts the wlan suspend params
2354
2355
2356 \return eHalStatus
2357
2358
2359--------------------------------------------------------------------------- */
2360eHalStatus sme_ConfigureSuspendInd( tHalHandle hHal,
2361 tpSirWlanSuspendParam wlanSuspendParam);
2362
2363/* ---------------------------------------------------------------------------
2364
2365 \fn sme_ConfigureResumeReq
2366
2367 \brief
2368 SME will pass this request to lower mac to Indicate that the wlan needs to
2369 be Resumed
2370
2371 \param
2372
2373 hHal - The handle returned by macOpen.
2374
2375 wlanResumeParam- Depicts the wlan resume params
2376
2377
2378 \return eHalStatus
2379
2380
2381--------------------------------------------------------------------------- */
2382eHalStatus sme_ConfigureResumeReq( tHalHandle hHal,
2383 tpSirWlanResumeParam wlanResumeParam);
2384
Jeff Johnson295189b2012-06-20 16:38:30 -07002385
2386/* ---------------------------------------------------------------------------
2387
2388 \fn sme_GetInfraSessionId
2389
2390 \brief To get the session ID for infra session, if connected
2391 This is a synchronous API.
2392
2393 \param hHal - The handle returned by macOpen.
2394
2395 \return sessionid, -1 if infra session is not connected
2396
2397 -------------------------------------------------------------------------------*/
2398tANI_S8 sme_GetInfraSessionId(tHalHandle hHal);
2399
2400/* ---------------------------------------------------------------------------
2401
2402 \fn sme_GetInfraOperationChannel
2403
2404 \brief To get the operating channel for infra session, if connected
2405 This is a synchronous API.
2406
2407 \param hHal - The handle returned by macOpen.
2408 \param sessionId - the sessionId returned by sme_OpenSession.
2409
2410 \return operating channel, 0 if infra session is not connected
2411
2412 -------------------------------------------------------------------------------*/
2413tANI_U8 sme_GetInfraOperationChannel( tHalHandle hHal, tANI_U8 sessionId);
2414/* ---------------------------------------------------------------------------
2415
2416 \fn sme_GetConcurrentOperationChannel
2417
2418 \brief To get the operating channel for other concurrent sessions, if connected
2419 This is a synchronous API.
2420
2421 \param hHal - The handle returned by macOpen.
2422 \param currentPersona - persona that is trying to come up.
2423
2424 \return operating channel, 0 if infra session is not connected
2425
2426 -------------------------------------------------------------------------------*/
2427tANI_U8 sme_GetConcurrentOperationChannel( tHalHandle hHal );
2428
2429/* ---------------------------------------------------------------------------
2430 \fn sme_AbortMacScan
2431 \brief API to cancel MAC scan.
2432 \param hHal - The handle returned by macOpen.
Madan Mohan Koyyalamudiff3a7152013-06-13 14:47:55 +05302433 \param sessionId - sessionId for interface
c_hpothua3d45d52015-01-05 14:11:17 +05302434 \return tSirAbortScanStatus return status abort scan
2435
Jeff Johnson295189b2012-06-20 16:38:30 -07002436 ---------------------------------------------------------------------------*/
c_hpothua3d45d52015-01-05 14:11:17 +05302437tSirAbortScanStatus sme_AbortMacScan(tHalHandle hHal, tANI_U8 sessionId,
2438 eCsrAbortReason reason);
Jeff Johnson295189b2012-06-20 16:38:30 -07002439
2440/* ---------------------------------------------------------------------------
2441 \fn sme_GetCfgValidChannels
2442 \brief API to get valid channel list
2443 \param hHal - The handle returned by macOpen.
2444 \param aValidChannels - Pointer to the valid channel list
2445 \param len - valid channel list length
2446 \return eHalStatus
2447 ---------------------------------------------------------------------------*/
2448eHalStatus sme_GetCfgValidChannels(tHalHandle hHal, tANI_U8 *aValidChannels, tANI_U32 *len);
2449
2450#ifdef FEATURE_WLAN_SCAN_PNO
2451
2452/* ---------------------------------------------------------------------------
2453 \fn sme_SetPreferredNetworkList
2454 \brief API to set the Preferred Network List Offload feature.
2455 \param hHal - The handle returned by macOpen.
2456 \param pRequest - Pointer to the offload request.
2457 \return eHalStatus
2458 ---------------------------------------------------------------------------*/
2459eHalStatus sme_SetPreferredNetworkList (tHalHandle hHal, tpSirPNOScanReq pRequest, tANI_U8 sessionId, preferredNetworkFoundIndCallback callbackRoutine, void *callbackContext );
2460
2461/* ---------------------------------------------------------------------------
2462 \fn sme_SetRSSIFilter
2463 \brief API to set RSSI Filter feature.
2464 \param hHal - The handle returned by macOpen.
2465 \param pRequest - Pointer to the offload request.
2466 \return eHalStatus
2467 ---------------------------------------------------------------------------*/
2468eHalStatus sme_SetRSSIFilter(tHalHandle hHal, v_U8_t rssiThreshold);
2469
2470/******************************************************************************
2471*
2472* Name: sme_PreferredNetworkFoundInd
2473*
2474* Description:
2475* Invoke Preferred Network Found Indication
2476*
2477* Parameters:
2478* hHal - HAL handle for device
2479* pMsg - found network description
2480*
2481* Returns: eHalStatus
2482*
2483******************************************************************************/
2484eHalStatus sme_PreferredNetworkFoundInd (tHalHandle hHal, void* pMsg);
2485#endif // FEATURE_WLAN_SCAN_PNO
2486
2487/* ---------------------------------------------------------------------------
2488 \fn sme_SetPowerParams
2489 \brief API to set Power Parameters
2490 \param hHal - The handle returned by macOpen.
2491 \param pwParams - Pointer to the power parameters requested.
Tushnim Bhattacharyya3a37def2013-02-24 11:11:15 -08002492 \param forced - if true, not to be dropped silently in host, it must reach
2493 FW; It is added to avoid a race condition scenario where LIM hasn't deleted
2494 the session yet before power params gets sent to PMC
Jeff Johnson295189b2012-06-20 16:38:30 -07002495 \return eHalStatus
2496 ---------------------------------------------------------------------------*/
Tushnim Bhattacharyya3a37def2013-02-24 11:11:15 -08002497eHalStatus sme_SetPowerParams(tHalHandle hHal, tSirSetPowerParamsReq* pwParams, tANI_BOOLEAN forced);
Jeff Johnson295189b2012-06-20 16:38:30 -07002498
2499/* ---------------------------------------------------------------------------
2500 \fn sme_SetTxPerTracking
2501 \brief Set Tx PER tracking configuration parameters
2502 \param hHal - The handle returned by macOpen.
2503 \param pTxPerTrackingParam - Tx PER configuration parameters
2504 \return eHalStatus
2505 ---------------------------------------------------------------------------*/
2506eHalStatus sme_SetTxPerTracking (
2507 tHalHandle hHal,
2508 void (*pCallbackfn) (void *pCallbackContext),
2509 void *pCallbackContext,
2510 tpSirTxPerTrackingParam pTxPerTrackingParam);
2511
2512#ifdef WLAN_FEATURE_PACKET_FILTERING
2513/* ---------------------------------------------------------------------------
2514 \fn sme_ReceiveFilterSetFilter
2515 \brief API to set 8023 Multicast Address List
2516 \param hHal - The handle returned by macOpen.
2517 \param pMulticastAddrs - Pointer to the Multicast Address List
2518 \return eHalStatus
2519 ---------------------------------------------------------------------------*/
Amar Singhalf3a6e762013-02-19 15:06:50 -08002520eHalStatus sme_8023MulticastList(tHalHandle hHal, tANI_U8 sessionId, tpSirRcvFltMcAddrList pMulticastAddrs);
Jeff Johnson295189b2012-06-20 16:38:30 -07002521
2522/* ---------------------------------------------------------------------------
2523 \fn sme_ReceiveFilterSetFilter
2524 \brief API to set Receive Packet Filter
2525 \param hHal - The handle returned by macOpen.
2526 \param pRcvPktFilterCfg - Receive Packet Filter parameter
2527 \return eHalStatus
2528 ---------------------------------------------------------------------------*/
Jeff Johnsone7245742012-09-05 17:12:55 -07002529eHalStatus sme_ReceiveFilterSetFilter(tHalHandle hHal, tpSirRcvPktFilterCfgType pRcvPktFilterCfg,
2530 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002531
2532/* ---------------------------------------------------------------------------
2533 \fn sme_GetFilterMatchCount
2534 \brief API to get D0 PC Filter Match Count
2535 \param hHal - The handle returned by macOpen
2536 \param callbackRoutine - Callback routine invoked to receive Packet Coalescing Filter Match Count
2537 \param callbackContext - Cookie to be passed back during callback
2538 \return eHalStatus
2539 ---------------------------------------------------------------------------*/
2540eHalStatus sme_GetFilterMatchCount(tHalHandle hHal,
2541 FilterMatchCountCallback callbackRoutine,
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07002542 void *callbackContext,
2543 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002544
2545/* ---------------------------------------------------------------------------
2546 \fn sme_ReceiveFilterClearFilter
2547 \brief API to clear Receive Packet Filter
2548 \param hHal - The handle returned by macOpen.
2549 \param pRcvFltPktClearParam - Receive Packet Filter Clear parameter
2550 \return eHalStatus
2551 ---------------------------------------------------------------------------*/
2552eHalStatus sme_ReceiveFilterClearFilter(tHalHandle hHal,
Jeff Johnsone7245742012-09-05 17:12:55 -07002553 tpSirRcvFltPktClearParam pRcvFltPktClearParam,
2554 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002555#endif // WLAN_FEATURE_PACKET_FILTERING
2556/* ---------------------------------------------------------------------------
2557
2558 \fn sme_IsChannelValid
2559 \brief To check if the channel is valid for currently established domain
2560 This is a synchronous API.
2561
2562 \param hHal - The handle returned by macOpen.
2563 \param channel - channel to verify
2564
2565 \return TRUE/FALSE, TRUE if channel is valid
2566
2567 -------------------------------------------------------------------------------*/
2568tANI_BOOLEAN sme_IsChannelValid(tHalHandle hHal, tANI_U8 channel);
2569
2570/* ---------------------------------------------------------------------------
2571 \fn sme_SetFreqBand
2572 \brief Used to set frequency band.
2573 \param hHal
2574 \eBand band value to be configured
2575 \- return eHalStatus
2576 -------------------------------------------------------------------------*/
2577eHalStatus sme_SetFreqBand(tHalHandle hHal, eCsrBand eBand);
2578
2579/* ---------------------------------------------------------------------------
2580 \fn sme_GetFreqBand
2581 \brief Used to get the current band settings.
2582 \param hHal
2583 \pBand pointer to hold the current band value
2584 \- return eHalStatus
2585 -------------------------------------------------------------------------*/
2586eHalStatus sme_GetFreqBand(tHalHandle hHal, eCsrBand *pBand);
2587
2588/* ---------------------------------------------------------------------------
2589
2590 \fn sme_SetTxPerTracking
2591 \brief Set Tx PER tracking configuration parameters
2592 \param hHal - The handle returned by macOpen.
2593 \param pTxPerTrackingParam - Tx PER configuration parameters
2594 \return eHalStatus
2595 ---------------------------------------------------------------------------*/
2596eHalStatus sme_SetTxPerTracking (
2597 tHalHandle hHal,
2598 void (*pCallbackfn) (void *pCallbackContext),
2599 void *pCallbackContext,
2600 tpSirTxPerTrackingParam pTxPerTrackingParam);
2601
2602#ifdef WLAN_FEATURE_GTK_OFFLOAD
2603/* ---------------------------------------------------------------------------
2604 \fn sme_SetGTKOffload
2605 \brief API to set GTK offload feature.
2606 \param hHal - The handle returned by macOpen.
2607 \param pRequest - Pointer to the GTK offload request.
2608 \return eHalStatus
2609 ---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07002610eHalStatus sme_SetGTKOffload (tHalHandle hHal, tpSirGtkOffloadParams pRequest, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002611
2612/* ---------------------------------------------------------------------------
2613 \fn sme_GetGTKOffload
2614 \brief API to get GTK offload information.
2615 \param hHal - The handle returned by macOpen.
2616 \param pRequest - Pointer to the GTK offload response.
2617 \return eHalStatus
2618 ---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07002619eHalStatus sme_GetGTKOffload (tHalHandle hHal, GTKOffloadGetInfoCallback callbackRoutine,
2620 void *callbackContext, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002621#endif // WLAN_FEATURE_GTK_OFFLOAD
2622
2623#ifdef WLAN_WAKEUP_EVENTS
2624eHalStatus sme_WakeReasonIndCallback (tHalHandle hHal, void* pMsg);
2625#endif // WLAN_WAKEUP_EVENTS
2626
2627/* ---------------------------------------------------------------------------
2628 \fn sme_SetTxPerTracking
2629 \brief Set Tx PER tracking configuration parameters
2630 \param hHal - The handle returned by macOpen.
2631 \param pTxPerTrackingParam - Tx PER configuration parameters
2632 \return eHalStatus
2633 ---------------------------------------------------------------------------*/
2634eHalStatus sme_SetTxPerTracking (
2635 tHalHandle hHal,
2636 void (*pCallbackfn) (void *pCallbackContext),
2637 void *pCallbackContext,
2638 tpSirTxPerTrackingParam pTxPerTrackingParam);
2639
2640
2641//return frequency for a particular channel
2642tANI_U16 sme_ChnToFreq(tANI_U8 chanNum);
2643
2644tANI_BOOLEAN sme_IsChannelValid(tHalHandle hHal, tANI_U8 channel);
2645
2646#if defined WLAN_FEATURE_P2P_INTERNAL
2647
2648eHalStatus sme_p2pResetSession(tHalHandle hHal, tANI_U8 HDDSessionId);
2649
2650/* ---------------------------------------------------------------------------
2651 \fn sme_p2pFlushDeviceList
2652 \brief Remove cached P2P result from scan results
2653 \param hHal - The handle returned by macOpen.
2654 \param HDDSessionId - HDD's sessionId. Currently unused.
2655 \return eHalStatus
2656 ---------------------------------------------------------------------------*/
2657eHalStatus sme_p2pFlushDeviceList(tHalHandle hHal, tANI_U8 HDDSessionId);
2658
2659eHalStatus sme_p2pGetResultFilter(tHalHandle hHal, tANI_U8 HDDSessionId,
2660 tCsrScanResultFilter *pFilter);
2661
2662#endif //#if defined WLAN_FEATURE_P2P_INTERNAL
2663
2664/* ---------------------------------------------------------------------------
2665 \fn sme_SetMaxTxPower
2666 \brief Used to set the Maximum Transmit Power dynamically. Note: this
2667 setting will not persist over reboots
2668 \param hHal
2669 \param pBssid BSSID to set the power cap for
2670 \param pBssid pSelfMacAddress self MAC Address
2671 \param pBssid power to set in dB
2672 \- return eHalStatus
2673 -------------------------------------------------------------------------*/
2674eHalStatus sme_SetMaxTxPower(tHalHandle hHal, tSirMacAddr pBssid,
2675 tSirMacAddr pSelfMacAddress, v_S7_t dB);
2676
Jeff Johnson295189b2012-06-20 16:38:30 -07002677/* ---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07002678 \fn sme_SetMaxTxPowerPerBand
2679 \brief Used to set the Maximum Transmit Power for
2680 specific band dynamically. Note: this setting will not persist over reboots
2681 \param band
2682 \param power to set in dB
2683 \- return eHalStatus
2684 -------------------------------------------------------------------------*/
2685eHalStatus sme_SetMaxTxPowerPerBand(eCsrBand band, v_S7_t db);
2686
2687/* ---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002688
schang86c22c42013-03-13 18:41:24 -07002689 \fn sme_SetTxPower
2690
2691 \brief Set Transmit Power dynamically. Note: this setting will
2692 not persist over reboots.
2693
2694 \param hHal
2695 \param sessionId Target Session ID
2696 \param mW power to set in mW
2697 \- return eHalStatus
2698
2699 -------------------------------------------------------------------------------*/
2700eHalStatus sme_SetTxPower(tHalHandle hHal, v_U8_t sessionId, v_U8_t mW);
2701
2702/* ---------------------------------------------------------------------------
2703
Jeff Johnson295189b2012-06-20 16:38:30 -07002704 \fn sme_HideSSID
2705
2706 \brief Enable/Disables hidden SSID dynamically. Note: this setting will
2707 not persist over reboots.
2708
2709 \param hHal
2710 \param sessionId
2711 \param ssidHidden 0 - Broadcast SSID, 1 - Disable broadcast SSID
2712 \- return eHalStatus
2713
2714 -------------------------------------------------------------------------------*/
2715eHalStatus sme_HideSSID(tHalHandle hHal, v_U8_t sessionId, v_U8_t ssidHidden);
Jeff Johnson295189b2012-06-20 16:38:30 -07002716
2717/* ---------------------------------------------------------------------------
2718
2719 \fn sme_SetTmLevel
2720 \brief Set Thermal Mitigation Level to RIVA
2721 \param hHal - The handle returned by macOpen.
2722 \param newTMLevel - new Thermal Mitigation Level
2723 \param tmMode - Thermal Mitigation handle mode, default 0
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -07002724 \return eHalStatus
Jeff Johnson295189b2012-06-20 16:38:30 -07002725 ---------------------------------------------------------------------------*/
2726eHalStatus sme_SetTmLevel(tHalHandle hHal, v_U16_t newTMLevel, v_U16_t tmMode);
2727
2728/*---------------------------------------------------------------------------
2729
2730 \brief sme_featureCapsExchange() - SME interface to exchange capabilities between
2731 Host and FW.
2732
2733 \param hHal - HAL handle for device
2734
2735 \return NONE
2736
2737---------------------------------------------------------------------------*/
2738void sme_featureCapsExchange(tHalHandle hHal);
2739
Jeff Johnsond13512a2012-07-17 11:42:19 -07002740/*---------------------------------------------------------------------------
2741
Yathish9f22e662012-12-10 14:21:35 -08002742 \brief sme_disableActiveModeOffload() - SME interface to disable Active mode Offload capabilitu
2743 between in Host.
2744
2745 \param hHal - HAL handle for device
2746
2747 \return NONE
2748
2749---------------------------------------------------------------------------*/
2750void sme_disableFeatureCapablity(tANI_U8 feature_index);
2751
2752/*---------------------------------------------------------------------------
2753
Jeff Johnsond13512a2012-07-17 11:42:19 -07002754 \brief sme_GetDefaultCountryCodeFrmNv() - SME interface to get the default
2755 country code
2756 Host and FW.
2757
2758 \param hHal - HAL handle for device
2759 \param pCountry - pointer to country code
2760
Jeff Johnsonfeddb2d2012-12-10 14:41:22 -08002761 \return Success or failure
Jeff Johnsond13512a2012-07-17 11:42:19 -07002762
2763 ---------------------------------------------------------------------------*/
2764eHalStatus sme_GetDefaultCountryCodeFrmNv(tHalHandle hHal, tANI_U8 *pCountry);
2765
2766/*---------------------------------------------------------------------------
2767
2768 \brief sme_GetCurrentCountryCode() - SME interface to get the current operating
2769 country code.
2770
2771 \param hHal - HAL handle for device
2772 \param pCountry - pointer to country code
2773
2774 \return Success or failure
2775
2776 ---------------------------------------------------------------------------*/
2777eHalStatus sme_GetCurrentCountryCode(tHalHandle hHal, tANI_U8 *pCountry);
2778
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07002779/* ---------------------------------------------------------------------------
2780 \fn sme_transportDebug
2781 \brief Dynamically monitoring Transport channels
2782 Private IOCTL will querry transport channel status if driver loaded
schang6295e542013-03-12 15:31:23 -07002783 \param hHal Upper MAC context
Jeff Johnsonb88db982012-12-10 13:34:59 -08002784 \param displaySnapshot Display transport channel snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07002785 \param toggleStallDetect Enable stall detect feature
2786 This feature will take effect to data performance
2787 Not integrate till fully verification
2788 \- return NONE
2789 -------------------------------------------------------------------------*/
schang6295e542013-03-12 15:31:23 -07002790void sme_transportDebug(tHalHandle hHal, v_BOOL_t displaySnapshot, v_BOOL_t toggleStallDetect);
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002791
Kiran4a17ebe2013-01-31 10:43:43 -08002792/* ---------------------------------------------------------------------------
2793 \fn sme_ResetPowerValuesFor5G
2794 \brief Reset the power values for 5G band with NV power values.
2795 \param hHal - HAL handle for device
2796 \- return NONE
2797 -------------------------------------------------------------------------*/
2798void sme_ResetPowerValuesFor5G (tHalHandle hHal);
2799
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002800#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002801/* ---------------------------------------------------------------------------
2802 \fn sme_UpdateRoamPrefer5GHz
2803 \brief enable/disable Roam prefer 5G runtime option
2804 This function is called through dynamic setConfig callback function
2805 to configure the Roam prefer 5G runtime option
2806 \param hHal - HAL handle for device
2807 \param nRoamPrefer5GHz Enable/Disable Roam prefer 5G runtime option
2808 \- return Success or failure
2809 -------------------------------------------------------------------------*/
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002810eHalStatus sme_UpdateRoamPrefer5GHz(tHalHandle hHal, v_BOOL_t nRoamPrefer5GHz);
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08002811
2812/* ---------------------------------------------------------------------------
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002813 \fn sme_setRoamIntraBand
2814 \brief enable/disable Intra band roaming
2815 This function is called through dynamic setConfig callback function
2816 to configure the intra band roaming
2817 \param hHal - HAL handle for device
2818 \param nRoamIntraBand Enable/Disable Intra band roaming
2819 \- return Success or failure
2820 -------------------------------------------------------------------------*/
2821eHalStatus sme_setRoamIntraBand(tHalHandle hHal, const v_BOOL_t nRoamIntraBand);
2822
2823/* ---------------------------------------------------------------------------
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002824 \fn sme_UpdateRoamScanNProbes
2825 \brief function to update roam scan N probes
2826 This function is called through dynamic setConfig callback function
2827 to update roam scan N probes
2828 \param hHal - HAL handle for device
2829 \param nProbes number of probe requests to be sent out
2830 \- return Success or failure
2831 -------------------------------------------------------------------------*/
2832eHalStatus sme_UpdateRoamScanNProbes(tHalHandle hHal, const v_U8_t nProbes);
2833
2834/* ---------------------------------------------------------------------------
2835 \fn sme_UpdateRoamScanHomeAwayTime
2836 \brief function to update roam scan Home away time
2837 This function is called through dynamic setConfig callback function
2838 to update roam scan home away time
2839 \param hHal - HAL handle for device
2840 \param nRoamScanAwayTime Scan home away time
2841 \- return Success or failure
2842 -------------------------------------------------------------------------*/
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -07002843eHalStatus sme_UpdateRoamScanHomeAwayTime(tHalHandle hHal,
2844 const v_U16_t nRoamScanHomeAwayTime,
2845 const eAniBoolean bSendOffloadCmd);
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002846
2847/* ---------------------------------------------------------------------------
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002848 \fn sme_getRoamIntraBand
2849 \brief get Intra band roaming
2850 \param hHal - HAL handle for device
2851 \- return Success or failure
2852 -------------------------------------------------------------------------*/
2853v_BOOL_t sme_getRoamIntraBand(tHalHandle hHal);
2854
2855/* ---------------------------------------------------------------------------
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002856 \fn sme_getRoamScanNProbes
2857 \brief get N Probes
2858 \param hHal - HAL handle for device
2859 \- return Success or failure
2860 -------------------------------------------------------------------------*/
2861v_U8_t sme_getRoamScanNProbes(tHalHandle hHal);
2862
2863/* ---------------------------------------------------------------------------
2864 \fn sme_getRoamScanHomeAwayTime
2865 \brief get Roam scan home away time
2866 \param hHal - HAL handle for device
2867 \- return Success or failure
2868 -------------------------------------------------------------------------*/
2869v_U16_t sme_getRoamScanHomeAwayTime(tHalHandle hHal);
2870
2871/* ---------------------------------------------------------------------------
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08002872 \fn sme_UpdateImmediateRoamRssiDiff
2873 \brief Update nImmediateRoamRssiDiff
2874 This function is called through dynamic setConfig callback function
2875 to configure nImmediateRoamRssiDiff
2876 Usage: adb shell iwpriv wlan0 setConfig gImmediateRoamRssiDiff=[0 .. 125]
2877 \param hHal - HAL handle for device
2878 \param nImmediateRoamRssiDiff - minimum rssi difference between potential
2879 candidate and current AP.
2880 \- return Success or failure
2881 -------------------------------------------------------------------------*/
2882
2883eHalStatus sme_UpdateImmediateRoamRssiDiff(tHalHandle hHal, v_U8_t nImmediateRoamRssiDiff);
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002884
Srinivas Girigowdade697412013-02-14 16:31:48 -08002885/* ---------------------------------------------------------------------------
2886 \fn sme_UpdateRoamRssiDiff
2887 \brief Update RoamRssiDiff
2888 This function is called through dynamic setConfig callback function
2889 to configure RoamRssiDiff
2890 Usage: adb shell iwpriv wlan0 setConfig RoamRssiDiff=[0 .. 125]
2891 \param hHal - HAL handle for device
2892 \param RoamRssiDiff - minimum rssi difference between potential
2893 candidate and current AP.
2894 \- return Success or failure
2895 -------------------------------------------------------------------------*/
2896
2897eHalStatus sme_UpdateRoamRssiDiff(tHalHandle hHal, v_U8_t RoamRssiDiff);
2898
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002899/*--------------------------------------------------------------------------
2900 \brief sme_UpdateFastTransitionEnabled() - enable/disable Fast Transition support at runtime
2901 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
2902 isFastTransitionEnabled.
2903 This is a synchronuous call
2904 \param hHal - The handle returned by macOpen.
2905 \return eHAL_STATUS_SUCCESS - SME update isFastTransitionEnabled config successfully.
2906 Other status means SME is failed to update isFastTransitionEnabled.
2907 \sa
2908 --------------------------------------------------------------------------*/
2909
2910eHalStatus sme_UpdateFastTransitionEnabled(tHalHandle hHal,
2911 v_BOOL_t isFastTransitionEnabled);
Srinivas Girigowda100eb322013-03-15 16:48:20 -07002912
2913/* ---------------------------------------------------------------------------
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07002914 \fn sme_UpdateWESMode
2915 \brief Update WESMode
2916 This function is called through dynamic setConfig callback function
2917 to configure isWESModeEnabled
2918 \param hHal - HAL handle for device
2919 \param isWESModeEnabled - Enable/Disable WES Mode
2920 \- return Success or failure
2921 -------------------------------------------------------------------------*/
2922eHalStatus sme_UpdateWESMode(tHalHandle hHal, v_BOOL_t isWESModeEnabled);
2923
2924/* ---------------------------------------------------------------------------
Srinivas Girigowda100eb322013-03-15 16:48:20 -07002925 \fn sme_SetRoamScanControl
2926 \brief Set roam scan control
2927 This function is called to set roam scan control
2928 if roam scan control is set to 0, roaming scan cache is cleared
2929 any value other than 0 is treated as invalid value
2930 \param hHal - HAL handle for device
2931 \return eHAL_STATUS_SUCCESS - SME update config successfully.
2932 Other status means SME failure to update
2933 -------------------------------------------------------------------------*/
2934eHalStatus sme_SetRoamScanControl(tHalHandle hHal, v_BOOL_t roamScanControl);
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002935#endif /* (WLAN_FEATURE_VOWIFI_11R) || (FEATURE_WLAN_ESE) || (FEATURE_WLAN_LFR) */
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002936
2937#ifdef FEATURE_WLAN_LFR
2938/*--------------------------------------------------------------------------
2939 \brief sme_UpdateIsFastRoamIniFeatureEnabled() - enable/disable LFR support at runtime
Srinivas Girigowdade697412013-02-14 16:31:48 -08002940 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002941 isFastRoamIniFeatureEnabled.
2942 This is a synchronuous call
2943 \param hHal - The handle returned by macOpen.
2944 \return eHAL_STATUS_SUCCESS - SME update isFastRoamIniFeatureEnabled config successfully.
2945 Other status means SME is failed to update isFastRoamIniFeatureEnabled.
2946 \sa
2947 --------------------------------------------------------------------------*/
2948
Srinivas Girigowdade697412013-02-14 16:31:48 -08002949eHalStatus sme_UpdateIsFastRoamIniFeatureEnabled(tHalHandle hHal,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002950 const v_BOOL_t isFastRoamIniFeatureEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002951
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08002952/*--------------------------------------------------------------------------
Mukul Sharma2a271632014-10-13 14:59:01 +05302953 \brief sme_ConfigFwrRoaming() - enable/disable LFR support at runtime
2954 When Supplicant issue enabled / disable fwr based roaming on the basis
2955 of the Bssid modification in network block ( e.g. AutoJoin mody N/W block)
2956
2957 This is a synchronous call
2958 \param hHal - The handle returned by macOpen.
2959 \return eHAL_STATUS_SUCCESS - SME (enabled/disabled) offload scan successfully.
2960 Other status means SME is failed to (enabled/disabled) offload scan.
2961 \sa
2962 --------------------------------------------------------------------------*/
2963
2964eHalStatus sme_ConfigFwrRoaming(tHalHandle hHal,
2965 const v_BOOL_t isFastRoamEnabled);
2966
2967/*--------------------------------------------------------------------------
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08002968 \brief sme_UpdateIsMAWCIniFeatureEnabled() -
2969 Enable/disable LFR MAWC support at runtime
2970 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
2971 isMAWCIniFeatureEnabled.
2972 This is a synchronous call
2973 \param hHal - The handle returned by macOpen.
2974 \return eHAL_STATUS_SUCCESS - SME update MAWCEnabled config successfully.
2975 Other status means SME is failed to update MAWCEnabled.
2976 \sa
2977 --------------------------------------------------------------------------*/
2978eHalStatus sme_UpdateIsMAWCIniFeatureEnabled(tHalHandle hHal,
2979 const v_BOOL_t MAWCEnabled);
2980
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002981
2982#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2983/*--------------------------------------------------------------------------
2984 \brief sme_UpdateEnableFastRoamInConcurrency() - enable/disable LFR if Concurrent session exists
2985 This is a synchronuous call
2986 \param hHal - The handle returned by macOpen.
2987 \return eHAL_STATUS_SUCCESS
2988 Other status means SME is failed
2989 \sa
2990 --------------------------------------------------------------------------*/
2991
2992eHalStatus sme_UpdateEnableFastRoamInConcurrency(tHalHandle hHal,
2993 v_BOOL_t bFastRoamInConIniFeatureEnabled);
2994#endif
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002995#endif /* FEATURE_WLAN_LFR */
2996
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002997#ifdef FEATURE_WLAN_ESE
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002998/*--------------------------------------------------------------------------
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002999 \brief sme_UpdateIsEseFeatureEnabled() - enable/disable ESE support at runtime
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003000 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003001 isEseIniFeatureEnabled.
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003002 This is a synchronuous call
3003 \param hHal - The handle returned by macOpen.
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003004 \return eHAL_STATUS_SUCCESS - SME update isEseIniFeatureEnabled config successfully.
3005 Other status means SME is failed to update isEseIniFeatureEnabled.
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003006 \sa
3007 --------------------------------------------------------------------------*/
3008
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003009eHalStatus sme_UpdateIsEseFeatureEnabled(tHalHandle hHal,
3010 const v_BOOL_t isEseIniFeatureEnabled);
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003011
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003012#endif /* FEATURE_WLAN_ESE */
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003013
3014/*--------------------------------------------------------------------------
3015 \brief sme_UpdateConfigFwRssiMonitoring() - enable/disable firmware RSSI Monitornig at runtime
3016 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
3017 fEnableFwRssiMonitoring.
3018 This is a synchronuous call
3019 \param hHal - The handle returned by macOpen.
3020 \return eHAL_STATUS_SUCCESS - SME update fEnableFwRssiMonitoring config successfully.
3021 Other status means SME is failed to update
3022 \sa
3023 --------------------------------------------------------------------------*/
3024
3025eHalStatus sme_UpdateConfigFwRssiMonitoring(tHalHandle hHal,
3026 v_BOOL_t fEnableFwRssiMonitoring);
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003027
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003028#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdade697412013-02-14 16:31:48 -08003029/*--------------------------------------------------------------------------
3030 \brief sme_setNeighborLookupRssiThreshold() - update neighbor lookup rssi threshold
3031 This is a synchronuous call
3032 \param hHal - The handle returned by macOpen.
3033 \return eHAL_STATUS_SUCCESS - SME update config successful.
3034 Other status means SME is failed to update
3035 \sa
3036 --------------------------------------------------------------------------*/
3037eHalStatus sme_setNeighborLookupRssiThreshold(tHalHandle hHal,
3038 v_U8_t neighborLookupRssiThreshold);
3039
3040/*--------------------------------------------------------------------------
3041 \brief sme_setNeighborReassocRssiThreshold() - update neighbor reassoc rssi threshold
3042 This is a synchronuous call
3043 \param hHal - The handle returned by macOpen.
3044 \return eHAL_STATUS_SUCCESS - SME update config successful.
3045 Other status means SME is failed to update
3046 \sa
3047 --------------------------------------------------------------------------*/
3048eHalStatus sme_setNeighborReassocRssiThreshold(tHalHandle hHal,
3049 v_U8_t neighborReassocRssiThreshold);
3050
3051/*--------------------------------------------------------------------------
3052 \brief sme_getNeighborLookupRssiThreshold() - get neighbor lookup rssi threshold
3053 This is a synchronuous call
3054 \param hHal - The handle returned by macOpen.
3055 \return eHAL_STATUS_SUCCESS - SME update config successful.
3056 Other status means SME is failed to update
3057 \sa
3058 --------------------------------------------------------------------------*/
3059v_U8_t sme_getNeighborLookupRssiThreshold(tHalHandle hHal);
3060
3061/*--------------------------------------------------------------------------
3062 \brief sme_setNeighborScanRefreshPeriod() - set neighbor scan results refresh period
3063 This is a synchronuous call
3064 \param hHal - The handle returned by macOpen.
3065 \return eHAL_STATUS_SUCCESS - SME update config successful.
3066 Other status means SME is failed to update
3067 \sa
3068 --------------------------------------------------------------------------*/
3069eHalStatus sme_setNeighborScanRefreshPeriod(tHalHandle hHal,
3070 v_U16_t neighborScanResultsRefreshPeriod);
3071
3072/*--------------------------------------------------------------------------
3073 \brief sme_getNeighborScanRefreshPeriod() - get neighbor scan results refresh period
3074 This is a synchronuous call
3075 \param hHal - The handle returned by macOpen.
3076 \return eHAL_STATUS_SUCCESS - SME update config successful.
3077 Other status means SME is failed to update
3078 \sa
3079 --------------------------------------------------------------------------*/
3080v_U16_t sme_getNeighborScanRefreshPeriod(tHalHandle hHal);
3081
3082/*--------------------------------------------------------------------------
3083 \brief sme_getEmptyScanRefreshPeriod() - get empty scan refresh period
3084 This is a synchronuous call
3085 \param hHal - The handle returned by macOpen.
3086 \return eHAL_STATUS_SUCCESS - SME update config successful.
3087 Other status means SME is failed to update
3088 \sa
3089 --------------------------------------------------------------------------*/
3090v_U16_t sme_getEmptyScanRefreshPeriod(tHalHandle hHal);
3091
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003092/* ---------------------------------------------------------------------------
3093 \fn sme_UpdateEmptyScanRefreshPeriod
3094 \brief Update nEmptyScanRefreshPeriod
3095 This function is called through dynamic setConfig callback function
3096 to configure nEmptyScanRefreshPeriod
3097 Usage: adb shell iwpriv wlan0 setConfig nEmptyScanRefreshPeriod=[0 .. 60]
3098 \param hHal - HAL handle for device
3099 \param nEmptyScanRefreshPeriod - scan period following empty scan results.
3100 \- return Success or failure
3101 -------------------------------------------------------------------------*/
3102eHalStatus sme_UpdateEmptyScanRefreshPeriod(tHalHandle hHal, v_U16_t nEmptyScanRefreshPeriod);
3103
3104/* ---------------------------------------------------------------------------
3105 \fn sme_setNeighborScanMinChanTime
3106 \brief Update nNeighborScanMinChanTime
3107 This function is called through dynamic setConfig callback function
3108 to configure gNeighborScanChannelMinTime
3109 Usage: adb shell iwpriv wlan0 setConfig gNeighborScanChannelMinTime=[0 .. 60]
3110 \param hHal - HAL handle for device
3111 \param nNeighborScanMinChanTime - Channel minimum dwell time
3112 \- return Success or failure
3113 -------------------------------------------------------------------------*/
3114eHalStatus sme_setNeighborScanMinChanTime(tHalHandle hHal, const v_U16_t nNeighborScanMinChanTime);
3115
3116/* ---------------------------------------------------------------------------
3117 \fn sme_setNeighborScanMaxChanTime
3118 \brief Update nNeighborScanMaxChanTime
3119 This function is called through dynamic setConfig callback function
3120 to configure gNeighborScanChannelMaxTime
3121 Usage: adb shell iwpriv wlan0 setConfig gNeighborScanChannelMaxTime=[0 .. 60]
3122 \param hHal - HAL handle for device
3123 \param nNeighborScanMinChanTime - Channel maximum dwell time
3124 \- return Success or failure
3125 -------------------------------------------------------------------------*/
3126eHalStatus sme_setNeighborScanMaxChanTime(tHalHandle hHal, const v_U16_t nNeighborScanMaxChanTime);
3127
3128/* ---------------------------------------------------------------------------
3129 \fn sme_getNeighborScanMinChanTime
3130 \brief get neighbor scan min channel time
3131 \param hHal - The handle returned by macOpen.
3132 \return v_U16_t - channel min time value
3133 -------------------------------------------------------------------------*/
3134v_U16_t sme_getNeighborScanMinChanTime(tHalHandle hHal);
3135
3136/* ---------------------------------------------------------------------------
3137 \fn sme_getNeighborScanMaxChanTime
3138 \brief get neighbor scan max channel time
3139 \param hHal - The handle returned by macOpen.
3140 \return v_U16_t - channel max time value
3141 -------------------------------------------------------------------------*/
3142v_U16_t sme_getNeighborScanMaxChanTime(tHalHandle hHal);
3143
3144/* ---------------------------------------------------------------------------
3145 \fn sme_setNeighborScanPeriod
3146 \brief Update nNeighborScanPeriod
3147 This function is called through dynamic setConfig callback function
3148 to configure nNeighborScanPeriod
3149 Usage: adb shell iwpriv wlan0 setConfig nNeighborScanPeriod=[0 .. 60]
3150 \param hHal - HAL handle for device
3151 \param nNeighborScanPeriod - neighbor scan period
3152 \- return Success or failure
3153 -------------------------------------------------------------------------*/
3154eHalStatus sme_setNeighborScanPeriod(tHalHandle hHal, const v_U16_t nNeighborScanPeriod);
3155
3156/* ---------------------------------------------------------------------------
3157 \fn sme_getNeighborScanPeriod
3158 \brief get neighbor scan period
3159 \param hHal - The handle returned by macOpen.
3160 \return v_U16_t - neighbor scan period
3161 -------------------------------------------------------------------------*/
3162v_U16_t sme_getNeighborScanPeriod(tHalHandle hHal);
3163
3164#endif
Srinivas Girigowdade697412013-02-14 16:31:48 -08003165
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003166#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdade697412013-02-14 16:31:48 -08003167/*--------------------------------------------------------------------------
3168 \brief sme_getRoamRssiDiff() - get Roam rssi diff
3169 This is a synchronuous call
3170 \param hHal - The handle returned by macOpen.
3171 \return eHAL_STATUS_SUCCESS - SME update config successful.
3172 Other status means SME is failed to update
3173 \sa
3174 --------------------------------------------------------------------------*/
3175v_U8_t sme_getRoamRssiDiff(tHalHandle hHal);
3176
3177/*--------------------------------------------------------------------------
3178 \brief sme_ChangeRoamScanChannelList() - Change roam scan channel list
3179 This is a synchronuous call
3180 \param hHal - The handle returned by macOpen.
3181 \return eHAL_STATUS_SUCCESS - SME update config successful.
3182 Other status means SME is failed to update
3183 \sa
3184 --------------------------------------------------------------------------*/
3185eHalStatus sme_ChangeRoamScanChannelList(tHalHandle hHal, tANI_U8 *pChannelList,
3186 tANI_U8 numChannels);
3187
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003188#ifdef FEATURE_WLAN_ESE_UPLOAD
Srinivas Girigowda5cecb202013-10-08 09:13:25 -07003189/*--------------------------------------------------------------------------
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003190 \brief sme_SetEseRoamScanChannelList() - set ese roam scan channel list
Srinivas Girigowda5cecb202013-10-08 09:13:25 -07003191 This is a synchronuous call
3192 \param hHal - The handle returned by macOpen.
3193 \return eHAL_STATUS_SUCCESS - SME update config successful.
3194 Other status means SME is failed to update
3195 \sa
3196 --------------------------------------------------------------------------*/
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003197eHalStatus sme_SetEseRoamScanChannelList(tHalHandle hHal,
Srinivas Girigowda5cecb202013-10-08 09:13:25 -07003198 tANI_U8 *pChannelList,
3199 tANI_U8 numChannels);
3200#endif
3201
Srinivas Girigowdade697412013-02-14 16:31:48 -08003202/*--------------------------------------------------------------------------
Srinivas Girigowdade697412013-02-14 16:31:48 -08003203 \brief sme_getRoamScanChannelList() - get roam scan channel list
3204 This is a synchronuous call
3205 \param hHal - The handle returned by macOpen.
3206 \return eHAL_STATUS_SUCCESS - SME update config successful.
3207 Other status means SME is failed to update
3208 \sa
3209 --------------------------------------------------------------------------*/
3210eHalStatus sme_getRoamScanChannelList(tHalHandle hHal, tANI_U8 *pChannelList,
3211 tANI_U8 *pNumChannels);
3212
3213/*--------------------------------------------------------------------------
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003214 \brief sme_getIsEseFeatureEnabled() - get ESE feature enabled or not
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003215 This is a synchronuous call
3216 \param hHal - The handle returned by macOpen.
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003217 \return TRUE (1) - if the ESE feature is enabled
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003218 FALSE (0) - if feature is disabled (compile or runtime)
3219 \sa
3220 --------------------------------------------------------------------------*/
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003221tANI_BOOLEAN sme_getIsEseFeatureEnabled(tHalHandle hHal);
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003222
3223/*--------------------------------------------------------------------------
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07003224 \brief sme_getWESMode() - getWES Mode
3225 This is a synchronous call
3226 \param hHal - The handle returned by macOpen.
3227 \return v_U8_t - WES Mode Enabled(1)/Disabled(0)
3228 \sa
3229 --------------------------------------------------------------------------*/
3230v_BOOL_t sme_GetWESMode(tHalHandle hHal);
3231
3232/*--------------------------------------------------------------------------
Srinivas Girigowda100eb322013-03-15 16:48:20 -07003233 \brief sme_GetRoamScanControl() - get scan control
3234 This is a synchronous call
3235 \param hHal - The handle returned by macOpen.
3236 \return v_BOOL_t - Enabled(1)/Disabled(0)
3237 \sa
3238 --------------------------------------------------------------------------*/
3239v_BOOL_t sme_GetRoamScanControl(tHalHandle hHal);
3240
3241/* ---------------------------------------------------------------------------
3242 \fn sme_UpdateEmptyScanRefreshPeriod
3243 \brief Update nnEmptyScanRefreshPeriod
3244 This function is called through dynamic setConfig callback function
3245 to configure nnEmptyScanRefreshPeriod
3246 Usage: adb shell iwpriv wlan0 setConfig nEmptyScanRefreshPeriod=[0 .. 60]
3247 \param hHal - HAL handle for device
3248 \param nEmptyScanRefreshPeriod - scan period following empty scan results.
3249 \- return Success or failure
3250 -------------------------------------------------------------------------*/
3251
3252/*--------------------------------------------------------------------------
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003253 \brief sme_getIsLfrFeatureEnabled() - get LFR feature enabled or not
3254 This is a synchronuous call
3255 \param hHal - The handle returned by macOpen.
3256 \return TRUE (1) - if the feature is enabled
3257 FALSE (0) - if feature is disabled (compile or runtime)
3258 \sa
3259 --------------------------------------------------------------------------*/
3260tANI_BOOLEAN sme_getIsLfrFeatureEnabled(tHalHandle hHal);
3261
3262/*--------------------------------------------------------------------------
3263 \brief sme_getIsFtFeatureEnabled() - get FT feature enabled or not
3264 This is a synchronuous call
3265 \param hHal - The handle returned by macOpen.
3266 \return TRUE (1) - if the feature is enabled
3267 FALSE (0) - if feature is disabled (compile or runtime)
3268 \sa
3269 --------------------------------------------------------------------------*/
3270tANI_BOOLEAN sme_getIsFtFeatureEnabled(tHalHandle hHal);
3271
Srinivas Girigowdade697412013-02-14 16:31:48 -08003272#endif
3273
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07003274#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
3275/*--------------------------------------------------------------------------
3276 \brief sme_UpdateRoamScanOffloadEnabled() - enable/disable roam scan offload feaure
3277 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
3278 gRoamScanOffloadEnabled.
3279 This is a synchronous call
3280 \param hHal - The handle returned by macOpen.
3281 \return eHAL_STATUS_SUCCESS - SME update config successfully.
3282 Other status means SME is failed to update.
3283 \sa
3284 --------------------------------------------------------------------------*/
3285
3286eHalStatus sme_UpdateRoamScanOffloadEnabled(tHalHandle hHal, v_BOOL_t nRoamScanOffloadEnabled);
3287#endif
3288
c_manjeecfd1efb2015-09-25 19:32:34 +05303289eHalStatus sme_FwMemDumpReq(tHalHandle hHal, tAniFwrDumpReq *recv_req);
3290
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07003291
Srinivas Girigowdade697412013-02-14 16:31:48 -08003292/* ---------------------------------------------------------------------------
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003293 \fn sme_IsFeatureSupportedByFW
Kiet Lam0f320422013-11-21 19:29:17 +05303294 \brief Check if a feature is enabled by FW
3295
3296 \param featEnumValue - Enumeration value of the feature to be checked.
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003297 A value from enum placeHolderInCapBitmap
3298
3299 \- return 1/0 (TRUE/FALSE)
3300 -------------------------------------------------------------------------*/
3301tANI_U8 sme_IsFeatureSupportedByFW(tANI_U8 featEnumValue);
Kiet Lam0f320422013-11-21 19:29:17 +05303302
3303/* ---------------------------------------------------------------------------
3304 \fn sme_IsFeatureSupportedByDriver
3305 \brief Check if a feature is enabled by driver
3306
3307 \param featEnumValue - Enumeration value of the feature to be checked.
3308 A value from enum placeHolderInCapBitmap
3309
3310 \- return 1/0 (TRUE/FALSE)
3311 -------------------------------------------------------------------------*/
3312tANI_U8 sme_IsFeatureSupportedByDriver(tANI_U8 featEnumValue);
3313
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003314#ifdef FEATURE_WLAN_TDLS
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303315
3316/* ---------------------------------------------------------------------------
3317 \fn sme_SendTdlsLinkEstablishParams
3318 \brief API to send TDLS Link Establishment Parameters.
3319
3320 \param peerMac - peer's Mac Adress.
3321 \param tdlsLinkEstablishParams - TDLS Peer Link Establishment Parameters
3322 \- return VOS_STATUS_SUCCES
3323 -------------------------------------------------------------------------*/
3324
3325VOS_STATUS sme_SendTdlsLinkEstablishParams(tHalHandle hHal,
Anand N Sunkadc205d952015-07-30 15:36:03 +05303326 tANI_U8 sessionId,
3327#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
3328 const tSirMacAddr peerMac,
3329#else
3330 tSirMacAddr peerMac,
3331#endif
3332 tCsrTdlsLinkEstablishParams *tdlsLinkEstablishParams);
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303333
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003334/* ---------------------------------------------------------------------------
3335 \fn sme_SendTdlsMgmtFrame
3336 \brief API to send TDLS management frames.
3337
3338 \param peerMac - peer's Mac Adress.
3339 \param frame_type - Type of TDLS mgmt frame to be sent.
3340 \param dialog - dialog token used in the frame.
3341 \param status - status to be incuded in the frame.
Pradeep Reddy POTTETIca171f82014-03-21 14:17:35 +05303342 \param peerCapability - peerCapability to be incuded in the frame.
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003343 \param buf - additional IEs to be included
3344 \param len - lenght of additional Ies
Hoonki Leea34dd892013-02-05 22:56:02 -08003345 \param responder - Tdls request type
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003346 \- return VOS_STATUS_SUCCES
3347 -------------------------------------------------------------------------*/
Anand N Sunkadc205d952015-07-30 15:36:03 +05303348VOS_STATUS sme_SendTdlsMgmtFrame(tHalHandle hHal, tANI_U8 sessionId,
3349#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
3350 const tSirMacAddr peerMac,
3351#else
3352 tSirMacAddr peerMac,
3353#endif
3354 tANI_U8 frame_type, tANI_U8 dialog,
3355 tANI_U16 status, tANI_U32 peerCapability,
3356 tANI_U8 *buf, tANI_U8 len, tANI_U8 responder);
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003357/* ---------------------------------------------------------------------------
Gopichand Nakkala681989c2013-03-06 22:27:48 -08003358 \fn sme_ChangeTdlsPeerSta
3359 \brief API to Update TDLS peer sta parameters.
3360
3361 \param peerMac - peer's Mac Adress.
3362 \param staParams - Peer Station Parameters.
3363 \- return VOS_STATUS_SUCCES
3364 -------------------------------------------------------------------------*/
Anand N Sunkadb3ab97d2015-07-29 09:58:13 +05303365VOS_STATUS sme_ChangeTdlsPeerSta(tHalHandle hHal, tANI_U8 sessionId,
3366#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
3367 const tSirMacAddr peerMac,
3368#else
3369 tSirMacAddr peerMac,
3370#endif
Gopichand Nakkala681989c2013-03-06 22:27:48 -08003371 tCsrStaParams *pstaParams);
3372/* ---------------------------------------------------------------------------
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003373 \fn sme_AddTdlsPeerSta
3374 \brief API to Add TDLS peer sta entry.
3375
3376 \param peerMac - peer's Mac Adress.
3377 \- return VOS_STATUS_SUCCES
3378 -------------------------------------------------------------------------*/
Anand N Sunkadb3ab97d2015-07-29 09:58:13 +05303379VOS_STATUS sme_AddTdlsPeerSta(tHalHandle hHal, tANI_U8 sessionId,
3380#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
3381 const tSirMacAddr peerMac
3382#else
3383 tSirMacAddr peerMac
3384#endif
3385 );
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003386/* ---------------------------------------------------------------------------
3387 \fn sme_DeleteTdlsPeerSta
3388 \brief API to Delete TDLS peer sta entry.
3389
3390 \param peerMac - peer's Mac Adress.
3391 \- return VOS_STATUS_SUCCES
3392 -------------------------------------------------------------------------*/
Anand N Sunkadc205d952015-07-30 15:36:03 +05303393VOS_STATUS sme_DeleteTdlsPeerSta(tHalHandle hHal, tANI_U8 sessionId,
3394#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
3395 const tSirMacAddr peerMac
3396#else
3397 tSirMacAddr peerMac
3398#endif
3399 );
Gopichand Nakkala75e7b282013-03-15 18:37:13 -07003400/* ---------------------------------------------------------------------------
Gopichand Nakkalaccd3a382013-03-19 13:56:10 -07003401 \fn sme_SetTdlsPowerSaveProhibited
3402 \API to set/reset the isTdlsPowerSaveProhibited.
3403
3404 \- return void
3405 -------------------------------------------------------------------------*/
3406void sme_SetTdlsPowerSaveProhibited(tHalHandle hHal, v_BOOL_t val);
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003407#endif
Gopichand Nakkalafe7246d2013-06-10 17:43:37 +05303408/* ---------------------------------------------------------------------------
3409 \fn sme_IsPmcBmps
3410 \brief API to Check if PMC state is BMPS.
3411
3412 \- return v_BOOL_t
3413 -------------------------------------------------------------------------*/
3414v_BOOL_t sme_IsPmcBmps(tHalHandle hHal);
3415
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07003416eHalStatus sme_UpdateDfsSetting(tHalHandle hHal, tANI_U8 fUpdateEnableDFSChnlScan);
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003417
Padma, Santhosh Kumar778d8382015-03-04 17:41:22 +05303418/* ---------------------------------------------------------------------------
3419 \fn sme_UpdateDFSRoamMode
3420 \brief Update DFS roam scan mode
3421 This function is called to configure allowDFSChannelRoam
3422 dynamically
3423 \param hHal - HAL handle for device
3424 \param allowDFSChannelRoam - DFS roaming scan mode
3425 mode 0 disable roam scan on DFS channels
3426 mode 1 enables roam scan (passive/active) on DFS channels
3427 \return eHAL_STATUS_SUCCESS - SME update DFS roaming scan config
3428 successfully.
3429 Other status means SME failed to update DFS roaming scan config.
3430 \sa
3431 -------------------------------------------------------------------------*/
3432eHalStatus sme_UpdateDFSRoamMode(tHalHandle hHal, tANI_U8 allowDFSChannelRoam);
3433
3434/* ---------------------------------------------------------------------------
3435 \fn sme_UpdateDFSScanMode
3436 \brief Update DFS scan mode
3437 This function is called to configure fEnableDFSChnlScan.
3438 \param hHal - HAL handle for device
3439 \param dfsScanMode - DFS scan mode
3440 mode 0 disable scan on DFS channels
3441 mode 1 enables passive scan on DFS channels
3442 mode 2 enables active scan on DFS channels for static list
3443 \return eHAL_STATUS_SUCCESS - SME update DFS roaming scan config
3444 successfully.
3445 Other status means SME failed to update DFS scan config.
3446 \sa
3447 -------------------------------------------------------------------------*/
3448eHalStatus sme_UpdateDFSScanMode(tHalHandle hHal, tANI_U8 dfsScanMode);
3449
3450/*--------------------------------------------------------------------------
3451 \brief sme_GetDFSScanMode() - get DFS scan mode
3452 \param hHal - The handle returned by macOpen.
3453 \return DFS scan mode
3454 mode 0 disable scan on DFS channels
3455 mode 1 enables passive scan on DFS channels
3456 mode 2 enables active scan on DFS channels for static list
3457 \sa
3458 --------------------------------------------------------------------------*/
3459v_U8_t sme_GetDFSScanMode(tHalHandle hHal);
3460
3461/* ---------------------------------------------------------------------------
3462 \fn sme_HandleDFSChanScan
3463 \brief Gets Valid channel list and updates scan control list according to
3464 dfsScanMode
3465 \param hHal - HAL handle for device
3466 \return eHAL_STATUS_FAILURE when failed to get valid channel list
3467 Otherwise eHAL_STATUS_SUCCESS -
3468 \sa
3469 -------------------------------------------------------------------------*/
3470eHalStatus sme_HandleDFSChanScan(tHalHandle hHal);
3471
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003472/*
3473 * SME API to enable/disable WLAN driver initiated SSR
3474 */
3475void sme_UpdateEnableSSR(tHalHandle hHal, tANI_BOOLEAN enableSSR);
3476
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05303477/* ---------------------------------------------------------------------------
3478
3479 \fn sme_SetPhyMode
3480
3481 \brief Changes the PhyMode.
3482
3483 \param hHal - The handle returned by macOpen.
3484
3485 \param phyMode new phyMode which is to set
3486
3487 \return eHalStatus SUCCESS.
3488
3489 -------------------------------------------------------------------------------*/
3490eHalStatus sme_SetPhyMode(tHalHandle hHal, eCsrPhyMode phyMode);
3491
3492/* ---------------------------------------------------------------------------
3493
3494 \fn sme_GetPhyMode
3495
3496 \brief gets current PhyMode.
3497
3498 \param hHal - The handle returned by macOpen.
3499
3500 \return eHalStatus PhyMode
3501
3502 -------------------------------------------------------------------------------*/
3503eCsrPhyMode sme_GetPhyMode(tHalHandle hHal);
3504
Ravi Joshiaeb7d9e2013-05-02 12:28:14 -07003505/*
3506 * SME API to determine the channel bonding mode
3507 */
3508VOS_STATUS sme_SelectCBMode(tHalHandle hHal, eCsrPhyMode eCsrPhyMode, tANI_U8 channel);
3509
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -07003510#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
3511/*--------------------------------------------------------------------------
3512 \brief sme_HandoffRequest() - a wrapper function to Request a handoff
3513 from CSR.
3514 This is a synchronous call
3515 \param hHal - The handle returned by macOpen
3516 \param pHandoffInfo - info provided by HDD with the handoff request (namely:
3517 BSSID, channel etc.)
3518 \return eHAL_STATUS_SUCCESS - SME passed the request to CSR successfully.
3519 Other status means SME is failed to send the request.
3520 \sa
3521 --------------------------------------------------------------------------*/
3522
3523eHalStatus sme_HandoffRequest(tHalHandle hHal, tCsrHandoffRequest *pHandoffInfo);
3524#endif
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07003525/*--------------------------------------------------------------------------
3526 \brief sme_isSta_p2p_clientConnected() - a wrapper function to check if there
3527 is any connected session .
3528 This is a synchronous call
3529 \param hHal - The handle returned by macOpen
3530 \return VOS_STATUS - SME passed the request to CSR successfully.
3531 Other status means SME is failed to send the request.
3532 \sa
3533 --------------------------------------------------------------------------*/
Sudhir Sattayappa Kohallib1d8c3a2013-06-18 14:47:20 -07003534VOS_STATUS sme_isSta_p2p_clientConnected(tHalHandle hHal);
Leo Chang9056f462013-08-01 19:21:11 -07003535
Agarwal Ashish57e84372014-12-05 18:26:53 +05303536/*--------------------------------------------------------------------------
3537 \brief hdd_is_any_session_connected() - a wrapper function to check if there
3538 is any connected session .
3539 This is a synchronous call
3540 \param hHal - The handle returned by macOpen
3541 \return VOS_STATUS - SME passed the request to CSR successfully.
3542 Other status means SME is failed to send the request.
3543 \sa
3544 --------------------------------------------------------------------------*/
3545VOS_STATUS sme_is_any_session_connected(tHalHandle hHal);
3546
Leo Chang9056f462013-08-01 19:21:11 -07003547#ifdef FEATURE_WLAN_LPHB
3548/* ---------------------------------------------------------------------------
3549 \fn sme_LPHBConfigReq
3550 \API to make configuration LPHB within FW.
3551 \param hHal - The handle returned by macOpen
3552 \param lphdReq - LPHB request argument by client
3553 \param pCallbackfn - LPHB timeout notification callback function pointer
3554 \- return Configuration message posting status, SUCCESS or Fail
3555 -------------------------------------------------------------------------*/
3556eHalStatus sme_LPHBConfigReq(
3557 tHalHandle hHal,
3558 tSirLPHBReq *lphdReq,
3559 void (*pCallbackfn)(void *pAdapter, void *indParam));
3560#endif /* FEATURE_WLAN_LPHB */
Yue Mab9c86f42013-08-14 15:59:08 -07003561
3562/* ---------------------------------------------------------------------------
3563 \fn sme_AddPeriodicTxPtrn
3564 \brief API to Periodic TX Pattern Offload feature
3565 \param hHal - The handle returned by macOpen
3566 \param addPeriodicTxPtrnParams - Pointer to the add pattern structure
3567 \return eHalStatus
3568 ---------------------------------------------------------------------------*/
3569eHalStatus sme_AddPeriodicTxPtrn(tHalHandle hHal, tSirAddPeriodicTxPtrn
3570 *addPeriodicTxPtrnParams);
3571
3572/* ---------------------------------------------------------------------------
3573 \fn sme_DelPeriodicTxPtrn
3574 \brief API to Periodic TX Pattern Offload feature
3575 \param hHal - The handle returned by macOpen
3576 \param delPeriodicTxPtrnParams - Pointer to the deleting pattern structure
3577 \return eHalStatus
3578 ---------------------------------------------------------------------------*/
3579eHalStatus sme_DelPeriodicTxPtrn(tHalHandle hHal, tSirDelPeriodicTxPtrn
3580 *delPeriodicTxPtrnParams);
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07003581/*--------------------------------------------------------------------------
3582 \brief sme_enable_disable_split_scan() - a wrapper function to set the split
3583 scan parameter.
3584 This is a synchronous call
3585 \param hHal - The handle returned by macOpen
3586 \return None.
3587 \sa
3588 --------------------------------------------------------------------------*/
3589void sme_enable_disable_split_scan (tHalHandle hHal, tANI_U8 nNumStaChan,
3590 tANI_U8 nNumP2PChan);
Madan Mohan Koyyalamudi48101412013-09-11 23:09:37 +05303591
Chittajit Mitraf5413a42013-10-18 14:20:08 -07003592/* ---------------------------------------------------------------------------
3593 \fn sme_SendRateUpdateInd
3594 \brief API to Update rate
3595 \param hHal - The handle returned by macOpen
3596 \param rateUpdateParams - Pointer to rate update params
3597 \return eHalStatus
3598 ---------------------------------------------------------------------------*/
3599eHalStatus sme_SendRateUpdateInd(tHalHandle hHal, tSirRateUpdateInd *rateUpdateParams);
3600
Madan Mohan Koyyalamudi48101412013-09-11 23:09:37 +05303601/*
3602 * sme API to trigger fast BSS roam to a given BSSID independent of RSSI
3603 * triggers
3604 * return status
3605*/
3606eHalStatus smeIssueFastRoamNeighborAPEvent (tHalHandle hHal,
3607 tANI_U8 *bssid,
Mukul Sharma9e4e0f92015-02-13 18:45:20 +05303608 tSmeFastRoamTrigger fastRoamTrig,
3609 tANI_U8 channel);
Kanchanapally, Vidyullatha2633ace2014-09-25 15:16:50 +05303610
3611eHalStatus sme_RoamDelPMKIDfromCache( tHalHandle hHal, tANI_U8 sessionId,
Anand N Sunkadb3ab97d2015-07-29 09:58:13 +05303612#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
3613 const tANI_U8 *pBSSId,
3614#else
Kanchanapally, Vidyullatha2633ace2014-09-25 15:16:50 +05303615 tANI_U8 *pBSSId,
Anand N Sunkadb3ab97d2015-07-29 09:58:13 +05303616#endif
Kanchanapally, Vidyullatha2633ace2014-09-25 15:16:50 +05303617 tANI_BOOLEAN flush_cache );
Tushnim Bhattacharyyaad37df12013-10-02 12:01:33 -07003618
3619void smeGetCommandQStatus( tHalHandle hHal );
Rajeev79dbe4c2013-10-05 11:03:42 +05303620
3621#ifdef FEATURE_WLAN_BATCH_SCAN
3622/* ---------------------------------------------------------------------------
3623 \fn sme_SetBatchScanReq
3624 \brief API to set batch scan request in FW
3625 \param hHal - The handle returned by macOpen.
3626 \param pRequest - Pointer to the batch request.
3627 \param sessionId - session ID
3628 \param callbackRoutine - HDD callback which needs to be invoked after
3629 getting set batch scan response from FW
3630 \param callbackContext - pAdapter context
3631 \return eHalStatus
3632 ---------------------------------------------------------------------------*/
3633eHalStatus
3634sme_SetBatchScanReq
3635(
3636 tHalHandle hHal, tSirSetBatchScanReq *pRequest, tANI_U8 sessionId,
3637 void (*callbackRoutine) (void *callbackCtx, tSirSetBatchScanRsp *pRsp),
3638 void *callbackContext
3639);
3640
3641/* ---------------------------------------------------------------------------
3642 \fn sme_TriggerBatchScanResultInd
3643 \brief API to trigger batch scan result indications from from FW
3644 \param hHal - The handle returned by macOpen.
3645 \param pRequest - Pointer to get batch request.
3646 \param sessionId - session ID
3647 \param callbackRoutine - HDD callback which needs to be invoked after
3648 getting get batch scan response from FW
3649 \param callbackContext - pAdapter context
3650 \return eHalStatus
3651 ---------------------------------------------------------------------------*/
3652eHalStatus
3653sme_TriggerBatchScanResultInd
3654(
3655 tHalHandle hHal, tSirTriggerBatchScanResultInd *pRequest, tANI_U8 sessionId,
3656 void (*callbackRoutine) (void *callbackCtx, void *pRsp),
3657 void *callbackContext
3658);
3659
3660/* ---------------------------------------------------------------------------
3661 \fn sme_StopBatchScanInd
3662 \brief API to stop batch scan request in FW
3663 \param hHal - The handle returned by macOpen.
3664 \param pRequest - Pointer to stop batch indication
3665 \return eHalStatus
3666 ---------------------------------------------------------------------------*/
3667eHalStatus
3668sme_StopBatchScanInd
3669(
3670 tHalHandle hHal, tSirStopBatchScanInd *pInd, tANI_U8 sessionId
3671);
3672
3673#endif
Leo Chang0b0e45a2013-12-15 15:18:55 -08003674
3675#ifdef FEATURE_WLAN_CH_AVOID
3676/* ---------------------------------------------------------------------------
3677 \fn sme_AddChAvoidCallback
3678 \brief Used to plug in callback function
3679 Which notify channel may not be used with SAP or P2PGO mode.
3680 Notification come from FW.
3681 \param hHal
3682 \param pCallbackfn : callback function pointer should be plugged in
3683 \- return eHalStatus
3684 -------------------------------------------------------------------------*/
3685eHalStatus sme_AddChAvoidCallback
3686(
3687 tHalHandle hHal,
3688 void (*pCallbackfn)(void *pAdapter, void *indParam)
3689);
3690#endif /* FEATURE_WLAN_CH_AVOID */
Tushnim Bhattacharyyaed4d0c22014-01-30 11:56:44 -08003691eHalStatus sme_UpdateConnectDebug(tHalHandle hHal, tANI_U32 set_value);
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +05303692
Sushant Kaushike0d2cce2014-04-10 14:36:07 +05303693/* ---------------------------------------------------------------------------
3694 \fn sme_requestTypetoString
3695 \brief API to convert requestType enum values
3696 to string.
3697 ---------------------------------------------------------------------------*/
3698const char * sme_requestTypetoString(const v_U8_t requestType);
3699/* ---------------------------------------------------------------------------
3700 \fn sme_PmcStatetoString
3701 \brief API to convert PmcState enum values
3702 to string.
3703 ---------------------------------------------------------------------------*/
3704const char * sme_PmcStatetoString(const v_U8_t pmcState);
c_hpothu92367912014-05-01 15:18:17 +05303705
3706eHalStatus sme_getBcnMissRate(tHalHandle, tANI_U8, void *, void *);
3707
Agarwal Ashish5e414792014-06-08 15:25:23 +05303708tANI_BOOLEAN sme_Is11dCountrycode(tHalHandle hHal);
Atul Mittalc0f739f2014-07-31 13:47:47 +05303709
3710// tdlsoffchan
3711VOS_STATUS sme_SendTdlsChanSwitchReq(tHalHandle hHal,
3712 tANI_U8 sessionId,
3713 tSirMacAddr peerMac,
3714 tANI_S32 tdlsOffCh,
3715 tANI_S32 tdlsOffChBwOffset,
3716 tANI_U8 tdlsSwMode);
Abhishek Singh08aa7762014-12-16 13:59:03 +05303717eHalStatus sme_GetFwStats(tHalHandle hHal, tANI_U32 stats,
3718 void *pContext, tSirFWStatsCallback callback);
Ganesh Kondabattini8f6e3b32014-08-25 16:07:54 +05303719void sme_SetMiracastMode (tHalHandle hHal,tANI_U8 mode);
c_hpothuef45bc32014-09-11 10:10:18 +05303720
3721void sme_resetCoexEevent(tHalHandle hHal);
3722
Peng Xu117eab42014-09-25 13:33:27 +05303723tANI_U32 sme_GetChannelBondingMode5G(tHalHandle hHal);
3724tANI_U32 sme_GetChannelBondingMode24G(tHalHandle hHal);
Hardik Kantilal Pateldd107952014-11-20 15:24:52 +05303725#ifdef WLAN_FEATURE_AP_HT40_24G
3726void sme_UpdateChannelBondingMode24G(tHalHandle hHal,
3727 tANI_U8 cbMode);
Hardik Kantilal Patel62a3a762014-11-21 12:55:57 +05303728eHalStatus sme_SetHT2040Mode(tHalHandle hHal,
3729 tANI_U8 sessionId, tANI_U8 cbMode);
Hardik Kantilal Pateldd107952014-11-20 15:24:52 +05303730#endif
Peng Xu117eab42014-09-25 13:33:27 +05303731
Gupta, Kapil7c34b322015-09-30 13:12:35 +05303732eHalStatus sme_set_rssi_threshold_breached_cb(tHalHandle hal,
3733 void (*cb)(void *, struct rssi_breach_event *));
3734
Agarwal Ashish738843c2014-09-25 12:27:56 +05303735void sme_disable_dfs_channel(tHalHandle hHal, bool disable_dfs);
3736
Srinivas Dasarib8fdd422014-11-27 10:44:20 +05303737/* HDD Callback function */
3738typedef void(*pEncryptMsgRSPCb)(void *pUserData, void *infoParam);
3739
3740eHalStatus sme_Encryptmsgsend (tHalHandle hHal,
3741 u8 *pCmd,
3742 int length,
3743 pEncryptMsgRSPCb encCB);
3744
Pradeep Reddy POTTETIf0569d72014-12-13 16:54:03 +05303745/* ---------------------------------------------------------------------------
3746 \fn sme_RegisterBtCoexTDLSCallback
3747 \brief Used to plug in callback function
3748 Which notify btcoex on or off.
3749 Notification come from FW.
3750 \param hHal
3751 \param pCallbackfn : callback function pointer should be plugged in
3752 \- return eHalStatus
3753 -------------------------------------------------------------------------*/
3754eHalStatus sme_RegisterBtCoexTDLSCallback
3755(
3756 tHalHandle hHal,
3757 void (*pCallbackfn)(void *pAdapter, int)
3758);
Srinivas Dasarib8fdd422014-11-27 10:44:20 +05303759
Padma, Santhosh Kumar98f271d2014-12-31 17:23:31 +05303760/* ---------------------------------------------------------------------------
Padma, Santhosh Kumar3b9657d2015-02-04 19:37:32 +05303761 \fn smeNeighborMiddleOfRoaming
Padma, Santhosh Kumar98f271d2014-12-31 17:23:31 +05303762
Padma, Santhosh Kumar3b9657d2015-02-04 19:37:32 +05303763 \brief This function is a wrapper to call csrNeighborMiddleOfRoaming
Padma, Santhosh Kumar98f271d2014-12-31 17:23:31 +05303764
3765 \param hHal - The handle returned by macOpen.
3766
3767 \return eANI_BOOLEAN_TRUE if reassoc in progress,
3768 eANI_BOOLEAN_FALSE otherwise
3769---------------------------------------------------------------------------*/
Padma, Santhosh Kumar3b9657d2015-02-04 19:37:32 +05303770tANI_BOOLEAN smeNeighborMiddleOfRoaming(tHalHandle hHal);
Padma, Santhosh Kumar98f271d2014-12-31 17:23:31 +05303771
Pradeep Reddy POTTETIe8bd41a2015-01-29 14:52:43 +05303772/* ---------------------------------------------------------------------------
3773
3774 \fn sme_IsTdlsOffChannelValid
3775 \brief To check if the channel is valid for currently established domain
3776 This is a synchronous API.
3777
3778 \param hHal - The handle returned by macOpen.
3779 \param channel - channel to verify
3780
3781 \return TRUE/FALSE, TRUE if channel is valid
3782
3783 -------------------------------------------------------------------------------*/
3784tANI_BOOLEAN sme_IsTdlsOffChannelValid(tHalHandle hHal, tANI_U8 channel);
3785
Mukul Sharma4be88422015-03-09 20:29:07 +05303786/* --------------------------------------------------------------------------
3787
3788 \fn sme_IsCoexScoIndicationSet
3789 \brief To check if the BTC module in fwr has sent the SCO
3790 indication to host or not
3791
3792 \param hHal - The handle returned by macOpen.
3793 \return TRUE - Sco call in progress FALSE- No SCO call in progress
3794
3795 --------------------------------------------------------------------------*/
3796tANI_BOOLEAN sme_IsCoexScoIndicationSet(tHalHandle hHal);
3797
Abhishek Singh01c73d12015-03-12 15:13:44 +05303798eHalStatus sme_SetMiracastVendorConfig(tHalHandle hHal,
3799 tANI_U32 iniNumBuffAdvert,
3800 tANI_U32 set_value);
3801
Mukul Sharma45063942015-04-01 20:07:59 +05303802void sme_SetDefDot11Mode(tHalHandle hHal);
Pradeep Reddy POTTETI31505892015-04-16 16:47:54 +05303803
3804/* ---------------------------------------------------------------------------
3805 \fn sme_SetTdls2040BSSCoexistence
3806 \brief API to enable or disable 20_40 BSS Coexistence IE in TDLS frames.
3807
3808 \param isEnabled - Enable or Disable.
3809 \- return VOS_STATUS_SUCCES
3810 -------------------------------------------------------------------------*/
3811eHalStatus sme_SetTdls2040BSSCoexistence(tHalHandle hHal, tANI_S32 isEnabled);
3812
Abhishek Singh41988ba2015-05-25 19:42:29 +05303813/* ---------------------------------------------------------------------------
3814 \fn sme_SetRtsCtsHtVht
3815 \brief API to to enable/disable RTS/CTS for different modes.
3816
3817 \param set_value - Bit mask value to enable RTS/CTS for different modes.
3818 \- return VOS_STATUS_SUCCES if INdication is posted to
3819 WDA else return eHAL_STATUS_FAILURE
3820 -------------------------------------------------------------------------*/
3821eHalStatus sme_SetRtsCtsHtVht(tHalHandle hHal, tANI_U32 set_value);
3822
Agarwal Ashish8bd53ae2015-06-12 18:03:45 +05303823tANI_BOOLEAN sme_handleSetFccChannel(tHalHandle hHal,
3824 tANI_U8 fcc_constraint);
3825
Masti, Narayanraddi1fb32a92015-06-29 13:14:06 +05303826eHalStatus sme_DeleteAllTDLSPeers(tHalHandle hHal, uint8_t sessionId);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05303827eHalStatus sme_fatal_event_logs_req(tHalHandle hHal, tANI_U32 is_fatal,
Abhishek Singh837adf22015-10-01 17:37:37 +05303828 tANI_U32 indicator, tANI_U32 reason_code,
3829 tANI_BOOLEAN dump_vos_trace);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05303830
Mahesh A Saptasagarbeca12c2015-09-07 16:21:06 +05303831eHalStatus sme_enableDisableChanAvoidIndEvent(tHalHandle hHal,
3832 tANI_U8 set_value);
3833
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05303834/* ---------------------------------------------------------------------------
3835 \fn sme_set_wificonfig_params
3836 \brief API to set WifiConfiguration Parameters.
3837
3838 \param wifi_config_param - Wificonfig parameter 1.Averaging factor 2. Guard time
3839 \- return VOS_STATUS_SUCCES if INdication is posted to
3840 WDA else return eHAL_STATUS_FAILURE
3841 -------------------------------------------------------------------------*/
3842
3843eHalStatus sme_set_wificonfig_params(tHalHandle hHal, tSetWifiConfigParams *req);
Padma, Santhosh Kumar2762e9d2015-10-20 15:02:57 +05303844eHalStatus sme_getRegInfo(tHalHandle hHal, tANI_U8 chanId,
3845 tANI_U32 *regInfo1, tANI_U32 *regInfo2);
Mahesh A Saptasagarcfc65ae2015-12-22 15:06:10 +05303846eHalStatus sme_GetCurrentAntennaIndex(tHalHandle hHal,
3847 tCsrAntennaIndexCallback callback,
3848 void *pContext, tANI_U8 sessionId);
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05303849
Mahesh A Saptasagar7d432952016-02-09 14:01:03 +05303850eHalStatus sme_setBcnMissPenaltyCount(tHalHandle hHal,
3851 tModifyRoamParamsReqParams *params);
Agrawal Ashish0552be02016-03-02 18:03:43 +05303852void sme_set_mgmt_frm_via_wq5(tHalHandle hHal,
3853 tANI_BOOLEAN sendMgmtPktViaWQ5);
Jeff Johnson295189b2012-06-20 16:38:30 -07003854#endif //#if !defined( __SME_API_H )