blob: fbec5de5f2270ce59aa39117525abbface7bdbf9 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Siddharth Bhald8a95e82015-02-12 20:14:52 +05302 * Copyright (c) 2012-2015 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 */
Siddharth Bhald8a95e82015-02-12 20:14:52 +0530296/* ---------------------------------------------------------------------------
297 \fn sme_SpoofMacAddrReq
298 \brief SME API to send Spoof Mac Addr req to HAL
299 \param macaddr: mac address to be sent
300 \- return eHalStatus
301 -------------------------------------------------------------------------*/
302eHalStatus sme_SpoofMacAddrReq(tHalHandle hHal, v_MACADDR_t *macaddr);
Dino Mycle2c198072014-06-10 10:15:52 +0530303
Madan Mohan Koyyalamudi48101412013-09-11 23:09:37 +0530304typedef enum
305{
306 eSME_ROAM_TRIGGER_NONE = 0,
307 eSME_ROAM_TRIGGER_SCAN = 1,
308 eSME_ROAM_TRIGGER_FAST_ROAM = 2,
309 eSME_ROAM_TRIGGER_MAX
310} tSmeFastRoamTrigger;
Jeff Johnson295189b2012-06-20 16:38:30 -0700311
312/*-------------------------------------------------------------------------
Sushant Kaushike0d2cce2014-04-10 14:36:07 +0530313 Function declarations and documentation.
Jeff Johnson295189b2012-06-20 16:38:30 -0700314 ------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700315/*--------------------------------------------------------------------------
316
317 \brief sme_Open() - Initialze all SME modules and put them at idle state
318
319 The function initializes each module inside SME, PMC, CCM, CSR, etc. . Upon
320 successfully return, all modules are at idle state ready to start.
321
322 smeOpen must be called before any other SME APIs can be involved.
323 smeOpen must be called after macOpen.
324
325 \param hHal - The handle returned by macOpen.
326
327 \return eHAL_STATUS_SUCCESS - SME is successfully initialized.
328
329 Other status means SME is failed to be initialized
330 \sa
331
332 --------------------------------------------------------------------------*/
333eHalStatus sme_Open(tHalHandle hHal);
334
335/*--------------------------------------------------------------------------
336
337 \brief sme_Close() - Release all SME modules and their resources.
338
339 The function release each module in SME, PMC, CCM, CSR, etc. . Upon
340 return, all modules are at closed state.
341
342 No SME APIs can be involved after sme_Close except sme_Open.
343 sme_Close must be called before macClose.
344
345 \param hHal - The handle returned by macOpen.
346
347 \return eHAL_STATUS_SUCCESS - SME is successfully close.
348
349 Other status means SME is failed to be closed but caller still cannot
350 call any other SME functions except smeOpen.
351 \sa
352
353 --------------------------------------------------------------------------*/
354eHalStatus sme_Close(tHalHandle hHal);
355
356/*--------------------------------------------------------------------------
Hema Aparna Medicharlaa6cf65e2015-06-01 16:23:28 +0530357
358 \brief sme_PreClose() - Stop SME resources prior to final sme_Stop.
359
360 The function stops resources in SME, PMC, CCM, CSR, etc. as needed
361 to handle fast closure during SSR/unload-load cases.
362
363 \param hHal - The handle returned by macOpen.
364 \return v_VOID_t
365
366 \sa
367
368 --------------------------------------------------------------------------*/
369v_VOID_t sme_PreClose(tHalHandle hHal);
370
371/*--------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700372
373 \brief sme_Start() - Put all SME modules at ready state.
374
375 The function starts each module in SME, PMC, CCM, CSR, etc. . Upon
376 successfully return, all modules are ready to run.
377
378 \param hHal - The handle returned by macOpen.
379
380 \return eHAL_STATUS_SUCCESS - SME is ready.
381
382 Other status means SME is failed to start.
383 \sa
384
385 --------------------------------------------------------------------------*/
386eHalStatus sme_Start(tHalHandle hHal);
387
388/*--------------------------------------------------------------------------
389
390 \brief sme_Stop() - Stop all SME modules and put them at idle state
391
392 The function stops each module in SME, PMC, CCM, CSR, etc. . Upon
393 return, all modules are at idle state ready to start.
394
395
396 \param hHal - The handle returned by macOpen.
397
Kiet Lama72a2322013-11-15 11:18:11 +0530398 \param tHalStopType - reason for stopping
Jeff Johnson295189b2012-06-20 16:38:30 -0700399
400 \return eHAL_STATUS_SUCCESS - SME is stopped.
401
402 Other status means SME is failed to stop but caller should still consider
403 SME is stopped.
404 \sa
405
406 --------------------------------------------------------------------------*/
Kiet Lama72a2322013-11-15 11:18:11 +0530407eHalStatus sme_Stop(tHalHandle hHal, tHalStopType stopType);
Jeff Johnson295189b2012-06-20 16:38:30 -0700408
409
410/*--------------------------------------------------------------------------
411
412 \brief sme_OpenSession() - Open a session for scan/roam operation.
413
414 This is a synchronous API.
415
416
417 \param hHal - The handle returned by macOpen.
418 \param callback - A pointer to the function caller specifies for roam/connect status indication
419 \param pContext - The context passed with callback
420 \param pSelfMacAddr - Caller allocated memory filled with self MAC address (6 bytes)
421 \param pbSessionId - pointer to a caller allocated buffer for returned session ID
422
423 \return eHAL_STATUS_SUCCESS - session is opened. sessionId returned.
424
425 Other status means SME is failed to open the session.
426 eHAL_STATUS_RESOURCES - no more session available.
427 \sa
428
429 --------------------------------------------------------------------------*/
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -0700430eHalStatus sme_OpenSession(tHalHandle hHal, csrRoamCompleteCallback callback,
431 void *pContext, tANI_U8 *pSelfMacAddr,
432 tANI_U8 *pbSessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -0700433
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -0700434/*--------------------------------------------------------------------------
435
436 \brief sme_SetCurrDeviceMode() - Sets the current operating device mode.
437 \param hHal - The handle returned by macOpen.
438 \param currDeviceMode - Current operating device mode.
439 --------------------------------------------------------------------------*/
440
441void sme_SetCurrDeviceMode (tHalHandle hHal, tVOS_CON_MODE currDeviceMode);
Jeff Johnson295189b2012-06-20 16:38:30 -0700442
443/*--------------------------------------------------------------------------
444
445 \brief sme_CloseSession() - Open a session for scan/roam operation.
446
447 This is a synchronous API.
448
Jeff Johnson295189b2012-06-20 16:38:30 -0700449 \param hHal - The handle returned by macOpen.
450
451 \param sessionId - A previous opened session's ID.
mukul sharmabab477d2015-06-11 17:14:55 +0530452
453 \param bPurgeSmeCmdList - Whether sme cmd list purging is required or not.
454 TRUE -Purging require FALSE - Purging not require
455
Jeff Johnson295189b2012-06-20 16:38:30 -0700456 \return eHAL_STATUS_SUCCESS - session is closed.
457
458 Other status means SME is failed to open the session.
459 eHAL_STATUS_INVALID_PARAMETER - session is not opened.
460 \sa
mukul sharmabab477d2015-06-11 17:14:55 +0530461
462
Jeff Johnson295189b2012-06-20 16:38:30 -0700463 --------------------------------------------------------------------------*/
464eHalStatus sme_CloseSession(tHalHandle hHal, tANI_U8 sessionId,
mukul sharmabab477d2015-06-11 17:14:55 +0530465 tANI_U8 bPurgeSmeCmdList,
466 csrRoamSessionCloseCallback callback,
467 void *pContext);
468/*--------------------------------------------------------------------------
469
470 \brief sme_PurgeCmdList() - Purge all the sme cmd list
471
472 This is a synchronous API.
Jeff Johnson295189b2012-06-20 16:38:30 -0700473
474
mukul sharmabab477d2015-06-11 17:14:55 +0530475 \param hHal - The handle returned by macOpen.
476
477 \param sessionId - A previous opened session's ID.
478
479--------------------------------------------------------------------------*/
480
481eHalStatus sme_PurgeCmdList(tHalHandle hHal, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -0700482
483/*--------------------------------------------------------------------------
484
485 \brief sme_UpdateConfig() - Change configurations for all SME moduels
486
487 The function updates some configuration for modules in SME, CCM, CSR, etc
488 during SMEs close -> open sequence.
489
490 Modules inside SME apply the new configuration at the next transaction.
491
492
493 \param hHal - The handle returned by macOpen.
494 \Param pSmeConfigParams - a pointer to a caller allocated object of
495 typedef struct _smeConfigParams.
496
497 \return eHAL_STATUS_SUCCESS - SME update the config parameters successfully.
498
499 Other status means SME is failed to update the config parameters.
500 \sa
501
502 --------------------------------------------------------------------------*/
503eHalStatus sme_UpdateConfig(tHalHandle hHal, tpSmeConfigParams pSmeConfigParams);
504
505#ifdef FEATURE_WLAN_SCAN_PNO
506/*--------------------------------------------------------------------------
507
508 \brief sme_UpdateChannelConfig() - Update channel configuration in RIVA.
509
510 It is used at driver start up to inform RIVA of the default channel
511 configuration.
512
513 This is a synchronuous call
514
515 \param hHal - The handle returned by macOpen.
516
517 \return eHAL_STATUS_SUCCESS - SME update the channel config successfully.
518
519 Other status means SME is failed to update the channel config.
520 \sa
521
522 --------------------------------------------------------------------------*/
523eHalStatus sme_UpdateChannelConfig(tHalHandle hHal);
524
525#endif // FEATURE_WLAN_SCAN_PNLO
Jeff Johnson295189b2012-06-20 16:38:30 -0700526/*--------------------------------------------------------------------------
Abhishek Singhf644b272014-08-21 02:59:39 +0530527
528 \brief sme_UpdateChannelList() - Update channel List in FW.
529
530
531 \param hHal - The handle returned by macOpen.
532
533 \return eHAL_STATUS_SUCCESS - SME update the channel config successfully.
534
535 Other status means SME is failed to update the channel config.
536 \sa
537
538 --------------------------------------------------------------------------*/
539eHalStatus sme_UpdateChannelList(tHalHandle hHal);
540
541/*--------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700542
543 \brief sme_set11dinfo() - Set the 11d information about valid channels
544 and there power using information from nvRAM
545 This function is called only for AP.
546
547 This is a synchronuous call
548
549 \param hHal - The handle returned by macOpen.
550 \Param pSmeConfigParams - a pointer to a caller allocated object of
551 typedef struct _smeConfigParams.
552
553 \return eHAL_STATUS_SUCCESS - SME update the config parameters successfully.
554
555 Other status means SME is failed to update the config parameters.
556 \sa
557--------------------------------------------------------------------------*/
558
559eHalStatus sme_set11dinfo(tHalHandle hHal, tpSmeConfigParams pSmeConfigParams);
560
561/*--------------------------------------------------------------------------
562
563 \brief sme_getSoftApDomain() - Get the current regulatory domain of softAp.
564
565 This is a synchronuous call
566
567 \param hHal - The handle returned by HostapdAdapter.
568 \Param v_REGDOMAIN_t - The current Regulatory Domain requested for SoftAp.
569
570 \return eHAL_STATUS_SUCCESS - SME successfully completed the request.
571
572 Other status means, failed to get the current regulatory domain.
573 \sa
574--------------------------------------------------------------------------*/
575
576eHalStatus sme_getSoftApDomain(tHalHandle hHal, v_REGDOMAIN_t *domainIdSoftAp);
577
578eHalStatus sme_setRegInfo(tHalHandle hHal, tANI_U8 *apCntryCode);
579
Jeff Johnson295189b2012-06-20 16:38:30 -0700580
581/* ---------------------------------------------------------------------------
582 \fn sme_ChangeConfigParams
583 \brief The SME API exposed for HDD to provide config params to SME during
584 SMEs stop -> start sequence.
585
586 If HDD changed the domain that will cause a reset. This function will
587 provide the new set of 11d information for the new domain. Currrently this
588 API provides info regarding 11d only at reset but we can extend this for
589 other params (PMC, QoS) which needs to be initialized again at reset.
590
591 This is a synchronuous call
592
593 \param hHal - The handle returned by macOpen.
594
595 \Param
596 pUpdateConfigParam - a pointer to a structure (tCsrUpdateConfigParam) that
597 currently provides 11d related information like Country code,
598 Regulatory domain, valid channel list, Tx power per channel, a
599 list with active/passive scan allowed per valid channel.
600
601 \return eHalStatus
602 ---------------------------------------------------------------------------*/
603eHalStatus sme_ChangeConfigParams(tHalHandle hHal,
604 tCsrUpdateConfigParam *pUpdateConfigParam);
605
606/*--------------------------------------------------------------------------
607
608 \brief sme_HDDReadyInd() - SME sends eWNI_SME_SYS_READY_IND to PE to inform that the NIC
609 is ready tio run.
610
611 The function is called by HDD at the end of initialization stage so PE/HAL can enable the NIC
612 to running state.
613
614
615 \param hHal - The handle returned by macOpen.
616
617 \return eHAL_STATUS_SUCCESS - eWNI_SME_SYS_READY_IND is sent to PE successfully.
618
619 Other status means SME failed to send the message to PE.
620 \sa
621
622 --------------------------------------------------------------------------*/
623eHalStatus sme_HDDReadyInd(tHalHandle hHal);
624
625
626/*--------------------------------------------------------------------------
627
628 \brief sme_ProcessMsg() - The main message processor for SME.
629
630 The function is called by a message dispatcher when to process a message
631 targeted for SME.
632
633
634 \param hHal - The handle returned by macOpen.
635 \param pMsg - A pointer to a caller allocated object of tSirMsgQ.
636
637 \return eHAL_STATUS_SUCCESS - SME successfully process the message.
638
639 Other status means SME failed to process the message.
640 \sa
641
642 --------------------------------------------------------------------------*/
643eHalStatus sme_ProcessMsg(tHalHandle hHal, vos_msg_t* pMsg);
644
645v_VOID_t sme_FreeMsg( tHalHandle hHal, vos_msg_t* pMsg );
646
647/* ---------------------------------------------------------------------------
648 \fn sme_ScanRequest
649 \brief a wrapper function to Request a 11d or full scan from CSR.
650 \param pScanRequestID - pointer to an object to get back the request ID
651 \param callback - a callback function that scan calls upon finish, will not
652 be called if csrScanRequest returns error
653 \param pContext - a pointer passed in for the callback
654 \return eHalStatus
655 ---------------------------------------------------------------------------*/
656eHalStatus sme_ScanRequest(tHalHandle hHal, tANI_U8 sessionId, tCsrScanRequest *,
657 tANI_U32 *pScanRequestID,
658 csrScanCompleteCallback callback, void *pContext);
659
660
661/* ---------------------------------------------------------------------------
662 \fn sme_ScanSetBGScanparams
663 \brief a wrapper function to request CSR to set BG scan params in PE
664 \param pScanReq - BG scan request structure
665 \return eHalStatus
666 ---------------------------------------------------------------------------*/
667eHalStatus sme_ScanSetBGScanparams(tHalHandle hHal, tANI_U8 sessionId, tCsrBGScanRequest *pScanReq);
668
669
670/* ---------------------------------------------------------------------------
671 \fn sme_ScanGetResult
672 \brief a wrapper function to request scan results from CSR.
673 \param pFilter - If pFilter is NULL, all cached results are returned
674 \param phResult - an object for the result.
675 \return eHalStatus
676 ---------------------------------------------------------------------------*/
677eHalStatus sme_ScanGetResult(tHalHandle hHal, tANI_U8 sessionId, tCsrScanResultFilter *pFilter,
678 tScanResultHandle *phResult);
679
680
681/* ---------------------------------------------------------------------------
682 \fn sme_ScanFlushResult
683 \brief a wrapper function to request CSR to clear scan results.
684 \return eHalStatus
685 ---------------------------------------------------------------------------*/
686eHalStatus sme_ScanFlushResult(tHalHandle hHal, tANI_U8 sessionId);
Srinivas, Dasari42bf7702014-02-07 11:29:53 +0530687
688/*
689 * ---------------------------------------------------------------------------
690 * \fn sme_FilterScanResults
691 * \brief a wrapper function to request CSR to filter the scan results based
692 * on valid chennel list.
693 * \return eHalStatus
694 *---------------------------------------------------------------------------
695 */
696eHalStatus sme_FilterScanResults(tHalHandle hHal, tANI_U8 sessionId);
697
Padma, Santhosh Kumar778d8382015-03-04 17:41:22 +0530698/*
699 * ---------------------------------------------------------------------------
700 * \fn sme_FilterScanDFSResults
701 * \brief a wrapper function to request CSR to filter BSSIDs on DFS channels
702 * from the scan results.
703 * \return eHalStatus
704 *---------------------------------------------------------------------------
705 */
706eHalStatus sme_FilterScanDFSResults(tHalHandle hHal);
707
Madan Mohan Koyyalamudia3fcf142012-10-18 15:01:20 -0700708eHalStatus sme_ScanFlushP2PResult(tHalHandle hHal, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -0700709
710/* ---------------------------------------------------------------------------
711 \fn sme_ScanResultGetFirst
712 \brief a wrapper function to request CSR to returns the first element of
713 scan result.
714 \param hScanResult - returned from csrScanGetResult
715 \return tCsrScanResultInfo * - NULL if no result
716 ---------------------------------------------------------------------------*/
717tCsrScanResultInfo *sme_ScanResultGetFirst(tHalHandle,
718 tScanResultHandle hScanResult);
719
720/* ---------------------------------------------------------------------------
721 \fn sme_ScanResultGetNext
722 \brief a wrapper function to request CSR to returns the next element of
723 scan result. It can be called without calling csrScanResultGetFirst
724 first
725 \param hScanResult - returned from csrScanGetResult
726 \return Null if no result or reach the end
727 ---------------------------------------------------------------------------*/
728tCsrScanResultInfo *sme_ScanResultGetNext(tHalHandle,
729 tScanResultHandle hScanResult);
730
731/* ---------------------------------------------------------------------------
732 \fn sme_ScanResultPurge
733 \brief a wrapper function to request CSR to remove all items(tCsrScanResult)
734 in the list and free memory for each item
735 \param hScanResult - returned from csrScanGetResult. hScanResult is
736 considered gone by
737 calling this function and even before this function reutrns.
738 \return eHalStatus
739 ---------------------------------------------------------------------------*/
740eHalStatus sme_ScanResultPurge(tHalHandle hHal, tScanResultHandle hScanResult);
741
742/* ---------------------------------------------------------------------------
743 \fn sme_ScanGetPMKIDCandidateList
744 \brief a wrapper function to return the PMKID candidate list
745 \param pPmkidList - caller allocated buffer point to an array of
746 tPmkidCandidateInfo
747 \param pNumItems - pointer to a variable that has the number of
748 tPmkidCandidateInfo allocated when retruning, this is
749 either the number needed or number of items put into
750 pPmkidList
751 \return eHalStatus - when fail, it usually means the buffer allocated is not
752 big enough and pNumItems
753 has the number of tPmkidCandidateInfo.
754 \Note: pNumItems is a number of tPmkidCandidateInfo,
755 not sizeof(tPmkidCandidateInfo) * something
756 ---------------------------------------------------------------------------*/
757eHalStatus sme_ScanGetPMKIDCandidateList(tHalHandle hHal, tANI_U8 sessionId,
758 tPmkidCandidateInfo *pPmkidList,
759 tANI_U32 *pNumItems );
760
761
762/*----------------------------------------------------------------------------
763 \fn sme_RoamRegisterLinkQualityIndCallback
764
765 \brief
766 a wrapper function to allow HDD to register a callback handler with CSR for
767 link quality indications.
768
769 Only one callback may be registered at any time.
770 In order to deregister the callback, a NULL cback may be provided.
771
772 Registration happens in the task context of the caller.
773
774 \param callback - Call back being registered
775 \param pContext - user data
776
777 DEPENDENCIES: After CSR open
778
779 \return eHalStatus
780-----------------------------------------------------------------------------*/
781eHalStatus sme_RoamRegisterLinkQualityIndCallback(tHalHandle hHal, tANI_U8 sessionId,
782 csrRoamLinkQualityIndCallback callback,
783 void *pContext);
784
785
786/* ---------------------------------------------------------------------------
787 \fn sme_RoamConnect
788 \brief a wrapper function to request CSR to inititiate an association
789 \param sessionId - the sessionId returned by sme_OpenSession.
790 \param pProfile - can be NULL to join to any open ones
791 \param pRoamId - to get back the request ID
792 \return eHalStatus
793 ---------------------------------------------------------------------------*/
794eHalStatus sme_RoamConnect(tHalHandle hHal, tANI_U8 sessionId, tCsrRoamProfile *pProfile,
795 tANI_U32 *pRoamId);
796
797/* ---------------------------------------------------------------------------
798 \fn sme_RoamReassoc
799 \brief a wrapper function to request CSR to inititiate a re-association
800 \param pProfile - can be NULL to join the currently connected AP. In that
801 case modProfileFields should carry the modified field(s) which could trigger
802 reassoc
803 \param modProfileFields - fields which are part of tCsrRoamConnectedProfile
804 that might need modification dynamically once STA is up & running and this
805 could trigger a reassoc
806 \param pRoamId - to get back the request ID
807 \return eHalStatus
808 -------------------------------------------------------------------------------*/
809eHalStatus sme_RoamReassoc(tHalHandle hHal, tANI_U8 sessionId, tCsrRoamProfile *pProfile,
810 tCsrRoamModifyProfileFields modProfileFields,
Madan Mohan Koyyalamudiea22cdc2012-10-18 21:02:23 -0700811 tANI_U32 *pRoamId, v_BOOL_t fForce);
Jeff Johnson295189b2012-06-20 16:38:30 -0700812
813/* ---------------------------------------------------------------------------
814 \fn sme_RoamConnectToLastProfile
815 \brief a wrapper function to request CSR to disconnect and reconnect with
816 the same profile
817 \return eHalStatus. It returns fail if currently connected
818 ---------------------------------------------------------------------------*/
819eHalStatus sme_RoamConnectToLastProfile(tHalHandle hHal, tANI_U8 sessionId);
820
821/* ---------------------------------------------------------------------------
822 \fn sme_RoamDisconnect
823 \brief a wrapper function to request CSR to disconnect from a network
824 \param reason -- To indicate the reason for disconnecting. Currently, only
825 eCSR_DISCONNECT_REASON_MIC_ERROR is meanful.
826 \return eHalStatus
827 ---------------------------------------------------------------------------*/
828eHalStatus sme_RoamDisconnect(tHalHandle hHal, tANI_U8 sessionId, eCsrRoamDisconnectReason reason);
829
Jeff Johnson295189b2012-06-20 16:38:30 -0700830/* ---------------------------------------------------------------------------
Sushant Kaushikb4834d22015-07-15 15:29:05 +0530831 \fn.sme_abortConnection
832 \brief a wrapper function to request CSR to stop from connecting a network
833 \retun void.
834---------------------------------------------------------------------------*/
835
836void sme_abortConnection(tHalHandle hHal, tANI_U8 sessionId);
837
838/* ---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700839 \fn sme_RoamStopBss
840 \brief a wrapper function to request CSR to stop bss
841 \param sessionId - sessionId of SoftAP
842 \return eHalStatus
843 ---------------------------------------------------------------------------*/
844eHalStatus sme_RoamStopBss(tHalHandle hHal, tANI_U8 sessionId);
845
846/* ---------------------------------------------------------------------------
847 \fn sme_RoamGetAssociatedStas
848 \brief To probe the list of associated stations from various modules of CORE stack.
849 \This is an asynchronous API.
850 \param sessionId - sessionId of SoftAP
851 \param modId - Module from whom list of associtated stations is to be probed.
852 If an invalid module is passed then by default VOS_MODULE_ID_PE will be probed
853 \param pUsrContext - Opaque HDD context
854 \param pfnSapEventCallback - Sap event callback in HDD
855 \param pAssocBuf - Caller allocated memory to be filled with associatd stations info
856 \return eHalStatus
857 -------------------------------------------------------------------------------*/
858eHalStatus sme_RoamGetAssociatedStas(tHalHandle hHal, tANI_U8 sessionId,
859 VOS_MODULE_ID modId, void *pUsrContext,
860 void *pfnSapEventCallback, tANI_U8 *pAssocStasBuf);
861
862/* ---------------------------------------------------------------------------
863 \fn sme_RoamDisconnectSta
864 \brief To disassociate a station. This is an asynchronous API.
865 \param pPeerMacAddr - Caller allocated memory filled with peer MAC address (6 bytes)
866 \return eHalStatus SUCCESS Roam callback will be called to indicate actual results
867 -------------------------------------------------------------------------------*/
Anand N Sunkadc205d952015-07-30 15:36:03 +0530868eHalStatus sme_RoamDisconnectSta(tHalHandle hHal, tANI_U8 sessionId,
869#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
870 const tANI_U8 *pPeerMacAddr
871#else
872 tANI_U8 *pPeerMacAddr
873#endif
874 );
Jeff Johnson295189b2012-06-20 16:38:30 -0700875
876/* ---------------------------------------------------------------------------
877 \fn sme_RoamDeauthSta
878 \brief To disassociate a station. This is an asynchronous API.
879 \param hHal - Global structure
880 \param sessionId - sessionId of SoftAP
Hanumantha Reddy Pothulaf57da152014-10-31 13:02:08 +0530881 \param pDelStaParams- Pointer to parameters of the station to deauthenticate
Jeff Johnson295189b2012-06-20 16:38:30 -0700882 \return eHalStatus SUCCESS Roam callback will be called to indicate actual results
883 -------------------------------------------------------------------------------*/
884eHalStatus sme_RoamDeauthSta(tHalHandle hHal, tANI_U8 sessionId,
Hanumantha Reddy Pothulaf57da152014-10-31 13:02:08 +0530885 struct tagCsrDelStaParams *pDelStaParams);
Jeff Johnson295189b2012-06-20 16:38:30 -0700886
887/* ---------------------------------------------------------------------------
888 \fn sme_RoamTKIPCounterMeasures
889 \brief To start or stop TKIP counter measures. This is an asynchronous API.
890 \param sessionId - sessionId of SoftAP
891 \param bEnable - Flag to start/stop TKIP countermeasures
892 \return eHalStatus SUCCESS Roam callback will be called to indicate actual results
893 -------------------------------------------------------------------------------*/
894eHalStatus sme_RoamTKIPCounterMeasures(tHalHandle hHal, tANI_U8 sessionId, tANI_BOOLEAN bEnable);
895
896/* ---------------------------------------------------------------------------
897 \fn sme_RoamGetWpsSessionOverlap
898 \brief To get the WPS PBC session overlap information.
899 \This is an asynchronous API.
900 \param sessionId - sessionId of SoftAP
901 \param pUsrContext - Opaque HDD context
902 \param pfnSapEventCallback - Sap event callback in HDD
903 \return eHalStatus
904 -------------------------------------------------------------------------------*/
905eHalStatus sme_RoamGetWpsSessionOverlap(tHalHandle hHal, tANI_U8 sessionId,
906 void *pUsrContext, void *pfnSapEventCallback,
907 v_MACADDR_t pRemoveMac);
Jeff Johnson295189b2012-06-20 16:38:30 -0700908
909/* ---------------------------------------------------------------------------
910 \fn sme_RoamGetConnectState
911 \brief a wrapper function to request CSR to return the current connect state
912 of Roaming
913 \return eHalStatus
914 ---------------------------------------------------------------------------*/
915eHalStatus sme_RoamGetConnectState(tHalHandle hHal, tANI_U8 sessionId, eCsrConnectState *pState);
916
917/* ---------------------------------------------------------------------------
918 \fn sme_RoamGetConnectProfile
919 \brief a wrapper function to request CSR to return the current connect
920 profile. Caller must call csrRoamFreeConnectProfile after it is done
921 and before reuse for another csrRoamGetConnectProfile call.
922 \param pProfile - pointer to a caller allocated structure
923 tCsrRoamConnectedProfile
924 \return eHalStatus. Failure if not connected
925 ---------------------------------------------------------------------------*/
926eHalStatus sme_RoamGetConnectProfile(tHalHandle hHal, tANI_U8 sessionId,
927 tCsrRoamConnectedProfile *pProfile);
928
929/* ---------------------------------------------------------------------------
930 \fn sme_RoamFreeConnectProfile
931 \brief a wrapper function to request CSR to free and reinitialize the
932 profile returned previously by csrRoamGetConnectProfile.
933 \param pProfile - pointer to a caller allocated structure
934 tCsrRoamConnectedProfile
935 \return eHalStatus.
936 ---------------------------------------------------------------------------*/
937eHalStatus sme_RoamFreeConnectProfile(tHalHandle hHal,
938 tCsrRoamConnectedProfile *pProfile);
939
940/* ---------------------------------------------------------------------------
941 \fn sme_RoamSetPMKIDCache
942 \brief a wrapper function to request CSR to return the PMKID candidate list
943 \param pPMKIDCache - caller allocated buffer point to an array of
944 tPmkidCacheInfo
945 \param numItems - a variable that has the number of tPmkidCacheInfo
946 allocated when retruning, this is either the number needed
947 or number of items put into pPMKIDCache
Kanchanapally, Vidyullatha2633ace2014-09-25 15:16:50 +0530948 \param update_entire_cache - if TRUE, then it overwrites the entire cache
949 with pPMKIDCache, else it updates entry by
950 entry without deleting the old entries.
Jeff Johnson295189b2012-06-20 16:38:30 -0700951 \return eHalStatus - when fail, it usually means the buffer allocated is not
952 big enough and pNumItems has the number of
953 tPmkidCacheInfo.
954 \Note: pNumItems is a number of tPmkidCacheInfo,
955 not sizeof(tPmkidCacheInfo) * something
956 ---------------------------------------------------------------------------*/
Kanchanapally, Vidyullatha2633ace2014-09-25 15:16:50 +0530957eHalStatus sme_RoamSetPMKIDCache( tHalHandle hHal, tANI_U8 sessionId,
958 tPmkidCacheInfo *pPMKIDCache,
959 tANI_U32 numItems,
960 tANI_BOOLEAN update_entire_cache );
Jeff Johnson295189b2012-06-20 16:38:30 -0700961
962/* ---------------------------------------------------------------------------
963 \fn sme_RoamGetSecurityReqIE
964 \brief a wrapper function to request CSR to return the WPA or RSN or WAPI IE CSR
965 passes to PE to JOIN request or START_BSS request
966 This is a synchronuous call.
967 \param sessionId - returned by sme_OpenSession.
968 \param pLen - caller allocated memory that has the length of pBuf as input.
969 Upon returned, *pLen has the needed or IE length in pBuf.
970 \param pBuf - Caller allocated memory that contain the IE field, if any,
971 upon return
972 \param secType - Specifies whether looking for WPA/WPA2/WAPI IE
973 \return eHalStatus - when fail, it usually means the buffer allocated is not
974 big enough
975 ---------------------------------------------------------------------------*/
976eHalStatus sme_RoamGetSecurityReqIE(tHalHandle hHal, tANI_U8 sessionId, tANI_U32 *pLen,
977 tANI_U8 *pBuf, eCsrSecurityType secType);
978
979/* ---------------------------------------------------------------------------
980 \fn sme_RoamGetSecurityRspIE
981 \brief a wrapper function to request CSR to return the WPA or RSN or WAPI IE from
982 the beacon or probe rsp if connected
983 \param sessionId - returned by sme_OpenSession.
984 \param pLen - caller allocated memory that has the length of pBuf as input.
985 Upon returned, *pLen has the needed or IE length in pBuf.
986 \param pBuf - Caller allocated memory that contain the IE field, if any,
987 upon return
988 \param secType - Specifies whether looking for WPA/WPA2/WAPI IE
989 \return eHalStatus - when fail, it usually means the buffer allocated is not
990 big enough
991 ---------------------------------------------------------------------------*/
992eHalStatus sme_RoamGetSecurityRspIE(tHalHandle hHal, tANI_U8 sessionId, tANI_U32 *pLen,
993 tANI_U8 *pBuf, eCsrSecurityType secType);
994
995
996/* ---------------------------------------------------------------------------
997 \fn sme_RoamGetNumPMKIDCache
998 \brief a wrapper function to request CSR to return number of PMKID cache
999 entries
1000 \return tANI_U32 - the number of PMKID cache entries
1001 ---------------------------------------------------------------------------*/
1002tANI_U32 sme_RoamGetNumPMKIDCache(tHalHandle hHal, tANI_U8 sessionId);
1003
1004/* ---------------------------------------------------------------------------
1005 \fn sme_RoamGetPMKIDCache
1006 \brief a wrapper function to request CSR to return PMKID cache from CSR
1007 \param pNum - caller allocated memory that has the space of the number of
1008 pBuf tPmkidCacheInfo as input. Upon returned, *pNum has the
1009 needed or actually number in tPmkidCacheInfo.
1010 \param pPmkidCache - Caller allocated memory that contains PMKID cache, if
1011 any, upon return
1012 \return eHalStatus - when fail, it usually means the buffer allocated is not
1013 big enough
1014 ---------------------------------------------------------------------------*/
1015eHalStatus sme_RoamGetPMKIDCache(tHalHandle hHal, tANI_U8 sessionId, tANI_U32 *pNum,
1016 tPmkidCacheInfo *pPmkidCache);
1017
1018/* ---------------------------------------------------------------------------
1019 \fn sme_GetConfigParam
1020 \brief a wrapper function that HDD calls to get the global settings
1021 currently maintained by CSR.
1022 \param pParam - caller allocated memory
1023 \return eHalStatus
1024 ---------------------------------------------------------------------------*/
1025eHalStatus sme_GetConfigParam(tHalHandle hHal, tSmeConfigParams *pParam);
1026
1027/* ---------------------------------------------------------------------------
1028 \fn sme_GetStatistics
1029 \brief a wrapper function that client calls to register a callback to get
1030 different PHY level statistics from CSR.
1031
1032 \param requesterId - different client requesting for statistics, HDD, UMA/GAN etc
1033 \param statsMask - The different category/categories of stats requester is looking for
1034 The order in which you set the bits in the statsMask for requesting
1035 different type of stats is:
1036
1037 eCsrSummaryStats = bit 0
1038 eCsrGlobalClassAStats = bit 1
1039 eCsrGlobalClassBStats = bit 2
1040 eCsrGlobalClassCStats = bit 3
1041 eCsrGlobalClassDStats = bit 4
1042 eCsrPerStaStats = bit 5
1043
1044 \param callback - SME sends back the requested stats using the callback
1045 \param periodicity - If requester needs periodic update, 0 means it's an one
1046 time request
1047 \param cache - If requester is happy with cached stats
1048 \param staId - The station ID for which the stats is requested for
1049 \param pContext - user context to be passed back along with the callback
1050 \return eHalStatus
1051 ---------------------------------------------------------------------------*/
1052eHalStatus sme_GetStatistics(tHalHandle hHal, eCsrStatsRequesterType requesterId,
1053 tANI_U32 statsMask,
1054 tCsrStatsCallback callback,
1055 tANI_U32 periodicity, tANI_BOOLEAN cache,
1056 tANI_U8 staId, void *pContext);
1057
Madan Mohan Koyyalamudi8af9b402013-07-11 14:59:10 +05301058/* ---------------------------------------------------------------------------
1059 \fn smeGetTLSTAState
1060 \helper function to get teh TL STA State whenever the function is called.
1061
1062 \param staId - The staID to be passed to the TL
1063 to get the relevant TL STA State
1064 \return the state as tANI_U16
1065 ---------------------------------------------------------------------------*/
1066tANI_U16 smeGetTLSTAState(tHalHandle hHal, tANI_U8 staId);
1067
Jeff Johnson295189b2012-06-20 16:38:30 -07001068eHalStatus sme_GetRssi(tHalHandle hHal,
1069 tCsrRssiCallback callback,
1070 tANI_U8 staId, tCsrBssid bssId, void *pContext, void* pVosContext);
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05301071
1072/* ---------------------------------------------------------------------------
1073 \fn sme_GetSnr
1074 \brief a wrapper function that client calls to register a callback to get
1075 SNR from FW
1076
1077 \param callback - SME sends back the requested stats using the callback
1078 \param staId - The station ID for which the stats is requested for
1079 \param bssid - The bssid of the connected session
1080 \param pContext - user context to be passed back along with the callback
1081 ---------------------------------------------------------------------------*/
1082eHalStatus sme_GetSnr(tHalHandle hHal,
1083 tCsrSnrCallback callback,
1084 tANI_U8 staId, tCsrBssid bssId,
1085 void *pContext);
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001086#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08001087eHalStatus sme_GetRoamRssi(tHalHandle hHal,
1088 tCsrRssiCallback callback,
1089 tANI_U8 staId,
1090 tCsrBssid bssId,
1091 void *pContext,
1092 void* pVosContext);
1093#endif
Srinivas Girigowda5cecb202013-10-08 09:13:25 -07001094
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001095#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
Srinivas Girigowda5cecb202013-10-08 09:13:25 -07001096/* ---------------------------------------------------------------------------
1097 \fn sme_GetTsmStats
1098 \brief a wrapper function that client calls to register a callback to get TSM Stats
1099
1100 \param callback - SME sends back the requested stats using the callback
1101 \param staId - The station ID for which the stats is requested for
1102 \param pContext - user context to be passed back along with the callback
1103 \param pVosContext - vos context
1104 \return eHalStatus
1105 ---------------------------------------------------------------------------*/
1106eHalStatus sme_GetTsmStats(tHalHandle hHal,
1107 tCsrTsmStatsCallback callback,
1108 tANI_U8 staId, tCsrBssid bssId,
1109 void *pContext, void* pVosContext, tANI_U8 tid);
1110
1111/* ---------------------------------------------------------------------------
1112 \fn sme_SetCCKMIe
1113 \brief function to store the CCKM IE passed from supplicant and use it while packing
1114 reassociation request
1115 \param hHal - HAL handle for device
1116 \param pCckmIe - pointer to CCKM IE data
1117 \param pCckmIeLen - length of the CCKM IE
1118 \- return Success or failure
1119 -------------------------------------------------------------------------*/
1120eHalStatus sme_SetCCKMIe(tHalHandle hHal, tANI_U8 sessionId, tANI_U8 *pCckmIe, tANI_U8 cckmIeLen);
1121
1122
Srinivas Girigowda91ccbe82013-11-10 16:37:38 -08001123/* ---------------------------------------------------------------------------
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001124 \fn sme_SetEseBeaconRequest
1125 \brief function to set ESE beacon request parameters
Srinivas Girigowda91ccbe82013-11-10 16:37:38 -08001126 \param hHal - HAL handle for device
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001127 \param pESEBcnReq - pointer to ESE beacon request
Srinivas Girigowda91ccbe82013-11-10 16:37:38 -08001128 \- return Success or failure
1129 -------------------------------------------------------------------------*/
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001130eHalStatus sme_SetEseBeaconRequest(tHalHandle hHal, const tANI_U8 sessionId,
1131 const tCsrEseBeaconReq* pEseBcnReq);
Srinivas Girigowda91ccbe82013-11-10 16:37:38 -08001132
1133
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001134#endif /*FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */
Jeff Johnson295189b2012-06-20 16:38:30 -07001135/* ---------------------------------------------------------------------------
1136 \fn sme_CfgSetInt
1137 \brief a wrapper function that HDD calls to set parameters in CFG.
1138 \param cfgId - Configuration Parameter ID (type) for STA.
1139 \param ccmValue - The information related to Configuration Parameter ID
1140 which needs to be saved in CFG
1141 \param callback - To be registered by CSR with CCM. Once the CFG done with
1142 saving the information in the database, it notifies CCM &
1143 then the callback will be invoked to notify.
1144 \param toBeSaved - To save the request for future reference
1145 \return eHalStatus
1146 ---------------------------------------------------------------------------*/
1147eHalStatus sme_CfgSetInt(tHalHandle hHal, tANI_U32 cfgId, tANI_U32 ccmValue,
1148 tCcmCfgSetCallback callback, eAniBoolean toBeSaved) ;
1149
1150/* ---------------------------------------------------------------------------
1151 \fn sme_CfgSetStr
1152 \brief a wrapper function that HDD calls to set parameters in CFG.
1153 \param cfgId - Configuration Parameter ID (type) for STA.
1154 \param pStr - Pointer to the byte array which carries the information needs
1155 to be saved in CFG
1156 \param length - Length of the data to be saved
1157 \param callback - To be registered by CSR with CCM. Once the CFG done with
1158 saving the information in the database, it notifies CCM &
1159 then the callback will be invoked to notify.
1160 \param toBeSaved - To save the request for future reference
1161 \return eHalStatus
1162 ---------------------------------------------------------------------------*/
1163eHalStatus sme_CfgSetStr(tHalHandle hHal, tANI_U32 cfgId, tANI_U8 *pStr,
1164 tANI_U32 length, tCcmCfgSetCallback callback,
1165 eAniBoolean toBeSaved) ;
Sandeep Puligillaa3e76952014-06-23 15:53:11 +05301166/* ---------------------------------------------------------------------------
1167 \fn sme_GetModifyProfileFields
1168 \brief HDD or SME - QOS calls this function to get the current values of
1169 connected profile fields, changing which can cause reassoc.
1170 This function must be called after CFG is downloaded and STA is in connected
1171 state. Also, make sure to call this function to get the current profile
1172 fields before calling the reassoc. So that pModifyProfileFields will have
1173 all the latest values plus the one(s) has been updated as part of reassoc
1174 request.
1175 \param pModifyProfileFields - pointer to the connected profile fields
1176 changing which can cause reassoc
Jeff Johnson295189b2012-06-20 16:38:30 -07001177
Sandeep Puligillaa3e76952014-06-23 15:53:11 +05301178 \return eHalStatus
1179 -------------------------------------------------------------------------------*/
1180eHalStatus sme_GetModifyProfileFields(tHalHandle hHal, tANI_U8 sessionId,
1181 tCsrRoamModifyProfileFields * pModifyProfileFields);
Sandeep Puligilla332ea912014-02-04 00:16:24 +05301182/* ---------------------------------------------------------------------------
1183 \fn sme_HT40StopOBSSScan
1184 \brief HDD or SME - Command to stop the OBSS scan
1185 THis is implemented only for debugging purpose.
1186 As per spec while operating in 2.4GHz OBSS scan shouldnt be stopped.
1187 \param sessionId - sessionId
1188 changing which can cause reassoc
1189
1190 \return eHalStatus
1191 -------------------------------------------------------------------------------*/
1192eHalStatus sme_HT40StopOBSSScan(tHalHandle hHal, tANI_U8 sessionId );
Jeff Johnson295189b2012-06-20 16:38:30 -07001193
1194/*--------------------------------------------------------------------------
1195 \fn sme_SetConfigPowerSave
1196 \brief Wrapper fn to change power save configuration in SME (PMC) module.
1197 For BMPS related configuration, this function also updates the CFG
1198 and sends a message to FW to pick up the new values. Note: Calling
1199 this function only updates the configuration and does not enable
1200 the specified power save mode.
1201 \param hHal - The handle returned by macOpen.
1202 \param psMode - Power Saving mode being modified
1203 \param pConfigParams - a pointer to a caller allocated object of type
1204 tPmcSmpsConfigParams or tPmcBmpsConfigParams or tPmcImpsConfigParams
1205 \return eHalStatus
1206 --------------------------------------------------------------------------*/
1207eHalStatus sme_SetConfigPowerSave(tHalHandle hHal, tPmcPowerSavingMode psMode,
1208 void *pConfigParams);
1209
1210/*--------------------------------------------------------------------------
1211 \fn sme_GetConfigPowerSave
1212 \brief Wrapper fn to retireve power save configuration in SME (PMC) module
1213 \param hHal - The handle returned by macOpen.
1214 \param psMode - Power Saving mode
1215 \param pConfigParams - a pointer to a caller allocated object of type
1216 tPmcSmpsConfigParams or tPmcBmpsConfigParams or tPmcImpsConfigParams
1217 \return eHalStatus
1218 --------------------------------------------------------------------------*/
1219eHalStatus sme_GetConfigPowerSave(tHalHandle hHal, tPmcPowerSavingMode psMode,
1220 void *pConfigParams);
1221
1222/* ---------------------------------------------------------------------------
1223 \fn sme_SignalPowerEvent
1224 \brief Signals to PMC that a power event has occurred. Used for putting
1225 the chip into deep sleep mode.
1226 \param hHal - The handle returned by macOpen.
1227 \param event - the event that has occurred
1228 \return eHalStatus
1229 ---------------------------------------------------------------------------*/
1230extern eHalStatus sme_SignalPowerEvent (
1231 tHalHandle hHal,
1232 tPmcPowerEvent event);
1233
1234/* ---------------------------------------------------------------------------
1235 \fn sme_EnablePowerSave
1236 \brief Enables one of the power saving modes. This API does not cause a
1237 device state change. This is purely a configuration API.
1238 \param hHal - The handle returned by macOpen.
1239 \param psMode - The power saving mode to enable.
1240 \return eHalStatus
1241 ---------------------------------------------------------------------------*/
1242extern eHalStatus sme_EnablePowerSave (
1243 tHalHandle hHal,
1244 tPmcPowerSavingMode psMode);
1245
1246/* ---------------------------------------------------------------------------
1247 \fn sme_DisablePowerSave
1248 \brief Disables one of the power saving modes.Disabling does not imply
1249 that device will be brought out of the current PS mode. This is
1250 purely a configuration API.
1251 \param hHal - The handle returned by macOpen.
1252 \param psMode - The power saving mode to disable.
1253 \return eHalStatus
1254 ---------------------------------------------------------------------------*/
1255extern eHalStatus sme_DisablePowerSave (
1256 tHalHandle hHal,
1257 tPmcPowerSavingMode psMode);
1258
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05301259 /* ---------------------------------------------------------------------------
1260 \fn sme_SetHostPowerSave
1261 \brief The BMPS logic is controlled by the User level Apps
1262 \param hHal - The handle returned by macOpen.
1263 \param psMode - The power saving mode to enable.
1264 \return eHalStatus
1265 ---------------------------------------------------------------------------*/
1266extern eHalStatus sme_SetHostPowerSave (
1267 tHalHandle hHal,
1268 v_BOOL_t psMode);
1269
Jeff Johnson295189b2012-06-20 16:38:30 -07001270/* ---------------------------------------------------------------------------
1271 \fn sme_StartAutoBmpsTimer
1272 \brief Starts a timer that periodically polls all the registered
1273 module for entry into Bmps mode. This timer is started only if BMPS is
1274 enabled and whenever the device is in full power.
1275 \param hHal - The handle returned by macOpen.
1276 \return eHalStatus
1277 ---------------------------------------------------------------------------*/
1278extern eHalStatus sme_StartAutoBmpsTimer ( tHalHandle hHal);
1279
1280/* ---------------------------------------------------------------------------
1281 \fn sme_StopAutoBmpsTimer
1282 \brief Stops the Auto BMPS Timer that was started using sme_startAutoBmpsTimer
1283 Stopping the timer does not cause a device state change. Only the timer
1284 is stopped. If "Full Power" is desired, use the sme_RequestFullPower API
1285 \param hHal - The handle returned by macOpen.
1286 \return eHalStatus
1287 ---------------------------------------------------------------------------*/
1288extern eHalStatus sme_StopAutoBmpsTimer ( tHalHandle hHal);
1289
1290/* ---------------------------------------------------------------------------
1291 \fn sme_QueryPowerState
1292 \brief Returns the current power state of the device.
1293 \param hHal - The handle returned by macOpen.
1294 \param pPowerState - pointer to location to return power state
1295 \param pSwWlanSwitchState - ptr to location to return SW WLAN Switch state
1296 \return eHalStatus
1297 ---------------------------------------------------------------------------*/
1298extern eHalStatus sme_QueryPowerState (
1299 tHalHandle hHal,
1300 tPmcPowerState *pPowerState,
1301 tPmcSwitchState *pSwWlanSwitchState);
1302
1303/* ---------------------------------------------------------------------------
1304 \fn sme_IsPowerSaveEnabled
1305 \brief Checks if the device is able to enter a particular power save mode
1306 This does not imply that the device is in a particular PS mode
1307 \param hHal - The handle returned by macOpen.
1308 \param psMode - the power saving mode
1309 \return eHalStatus
1310 ---------------------------------------------------------------------------*/
1311extern tANI_BOOLEAN sme_IsPowerSaveEnabled(
1312 tHalHandle hHal,
1313 tPmcPowerSavingMode psMode);
1314
1315/* ---------------------------------------------------------------------------
1316 \fn sme_RequestFullPower
1317 \brief Request that the device be brought to full power state.
1318 Note 1: If "fullPowerReason" specificied in this API is set to
1319 eSME_FULL_PWR_NEEDED_BY_HDD, PMC will clear any "buffered wowl" requests
1320 and also clear any "buffered BMPS requests by HDD". Assumption is that since
1321 HDD is requesting full power, we need to undo any previous HDD requests for
1322 BMPS (using sme_RequestBmps) or WoWL (using sme_EnterWoWL). If the reason is
1323 specified anything other than above, the buffered requests for BMPS and WoWL
1324 will not be cleared.
1325 Note 2: Requesting full power (no matter what the fullPowerReason is) doesn't
1326 disable the "auto bmps timer" (if it is enabled) or clear any "buffered uapsd
1327 request".
1328 Note 3: When the device finally enters Full Power PMC will start a timer
1329 if any of the following holds true:
1330 - Auto BMPS mode is enabled
1331 - Uapsd request is pending
1332 - HDD's request for BMPS is pending
1333 - HDD's request for WoWL is pending
1334 On timer expiry PMC will attempt to put the device in BMPS mode if following
1335 (in addition to those listed above) holds true:
1336 - Polling of all modules through the Power Save Check routine passes
1337 - STA is associated to an access point
1338 \param hHal - The handle returned by macOpen.
1339 \param - callbackRoutine Callback routine invoked in case of success/failure
1340 \param - callbackContext - Cookie to be passed back during callback
1341 \param - fullPowerReason - Reason why this API is being invoked. SME needs to
1342 distinguish between BAP and HDD requests
1343 \return eHalStatus - status
1344 eHAL_STATUS_SUCCESS - device brought to full power state
1345 eHAL_STATUS_FAILURE - device cannot be brought to full power state
1346 eHAL_STATUS_PMC_PENDING - device is being brought to full power state,
1347 ---------------------------------------------------------------------------*/
1348extern eHalStatus sme_RequestFullPower (
1349 tHalHandle hHal,
1350 void (*callbackRoutine) (void *callbackContext, eHalStatus status),
1351 void *callbackContext,
1352 tRequestFullPowerReason fullPowerReason);
1353
1354/* ---------------------------------------------------------------------------
1355 \fn sme_RequestBmps
1356 \brief Request that the device be put in BMPS state. Request will be
1357 accepted only if BMPS mode is enabled and power save check routine
1358 passes. Only HDD should invoke this API.
1359 \param hHal - The handle returned by macOpen.
1360 \param - callbackRoutine Callback routine invoked in case of success/failure
1361 \param - callbackContext - Cookie to be passed back during callback
1362 \return eHalStatus
1363 eHAL_STATUS_SUCCESS - device is in BMPS state
1364 eHAL_STATUS_FAILURE - device cannot be brought to BMPS state
1365 eHAL_STATUS_PMC_PENDING - device is being brought to BMPS state
1366 ---------------------------------------------------------------------------*/
1367extern eHalStatus sme_RequestBmps (
1368 tHalHandle hHal,
1369 void (*callbackRoutine) (void *callbackContext, eHalStatus status),
1370 void *callbackContext);
1371
1372/* ---------------------------------------------------------------------------
1373 \fn sme_SetDHCPTillPowerActiveFlag
1374 \brief Sets/Clears DHCP related flag in PMC to disable/enable auto BMPS
1375 entry by PMC
1376 \param hHal - The handle returned by macOpen.
1377 ---------------------------------------------------------------------------*/
1378void sme_SetDHCPTillPowerActiveFlag(tHalHandle hHal, tANI_U8 flag);
1379
1380
1381/* ---------------------------------------------------------------------------
1382 \fn sme_StartUapsd
1383 \brief Request that the device be put in UAPSD state. If the device is in
1384 Full Power it will be put in BMPS mode first and then into UAPSD
1385 mode.
1386 \param hHal - The handle returned by macOpen.
1387 \param - callbackRoutine Callback routine invoked in case of success/failure
1388 \param - callbackContext - Cookie to be passed back during callback
1389 eHAL_STATUS_SUCCESS - device is in UAPSD state
1390 eHAL_STATUS_FAILURE - device cannot be brought to UAPSD state
1391 eHAL_STATUS_PMC_PENDING - device is being brought to UAPSD state
1392 eHAL_STATUS_PMC_DISABLED - UAPSD is disabled or BMPS mode is disabled
1393 \return eHalStatus
1394 ---------------------------------------------------------------------------*/
1395extern eHalStatus sme_StartUapsd (
1396 tHalHandle hHal,
1397 void (*callbackRoutine) (void *callbackContext, eHalStatus status),
1398 void *callbackContext);
1399
1400/* ---------------------------------------------------------------------------
1401 \fn sme_StopUapsd
1402 \brief Request that the device be put out of UAPSD state. Device will be
1403 put in in BMPS state after stop UAPSD completes. Buffered requests for
1404 UAPSD will be cleared after this.
1405 \param hHal - The handle returned by macOpen.
1406 \return eHalStatus
1407 eHAL_STATUS_SUCCESS - device is put out of UAPSD and back in BMPS state
1408 eHAL_STATUS_FAILURE - device cannot be brought out of UAPSD state
1409 ---------------------------------------------------------------------------*/
1410extern eHalStatus sme_StopUapsd (tHalHandle hHal);
1411
1412/* ---------------------------------------------------------------------------
1413 \fn sme_RequestStandby
1414 \brief Request that the device be put in standby. It is HDD's responsibility
1415 to bring the chip to full power and do a discconnect before calling
1416 this API. Request for standby will be rejected if STA is associated
1417 to an AP.
1418 \param hHal - The handle returned by macOpen.
1419 \param - callbackRoutine Callback routine invoked in case of success/failure
1420 \param - callbackContext - Cookie to be passed back during callback
1421 \return eHalStatus
1422 eHAL_STATUS_SUCCESS - device is in Standby mode
1423 eHAL_STATUS_FAILURE - device cannot be put in standby mode
1424 eHAL_STATUS_PMC_PENDING - device is being put in standby mode
1425 ---------------------------------------------------------------------------*/
1426extern eHalStatus sme_RequestStandby (
1427 tHalHandle hHal,
1428 void (*callbackRoutine) (void *callbackContext, eHalStatus status),
1429 void *callbackContext);
1430
1431/* ---------------------------------------------------------------------------
1432 \fn sme_RegisterPowerSaveCheck
1433 \brief Register a power save check routine that is called whenever
1434 the device is about to enter one of the power save modes.
1435 \param hHal - The handle returned by macOpen.
1436 \param checkRoutine - Power save check routine to be registered
1437 \param callbackContext - Cookie to be passed back during callback
1438 \return eHalStatus
1439 eHAL_STATUS_SUCCESS - successfully registered
1440 eHAL_STATUS_FAILURE - not successfully registered
1441 ---------------------------------------------------------------------------*/
1442extern eHalStatus sme_RegisterPowerSaveCheck (
1443 tHalHandle hHal,
1444 tANI_BOOLEAN (*checkRoutine) (void *checkContext), void *checkContext);
1445
1446/* ---------------------------------------------------------------------------
Mihir Shetefc7ff5b2014-01-27 11:30:05 +05301447 \fn sme_Register11dScanDoneCallback
1448 \brief Register a routine of type csrScanCompleteCallback which is
1449 called whenever an 11d scan is done
1450 \param hHal - The handle returned by macOpen.
1451 \param callback - 11d scan complete routine to be registered
1452 \return eHalStatus
1453 ---------------------------------------------------------------------------*/
1454extern eHalStatus sme_Register11dScanDoneCallback (
1455 tHalHandle hHal,
1456 csrScanCompleteCallback);
1457
1458/* ---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07001459 \fn sme_DeregisterPowerSaveCheck
1460 \brief Deregister a power save check routine
1461 \param hHal - The handle returned by macOpen.
1462 \param checkRoutine - Power save check routine to be deregistered
1463 \return eHalStatus
1464 eHAL_STATUS_SUCCESS - successfully deregistered
1465 eHAL_STATUS_FAILURE - not successfully deregistered
1466 ---------------------------------------------------------------------------*/
1467extern eHalStatus sme_DeregisterPowerSaveCheck (
1468 tHalHandle hHal,
1469 tANI_BOOLEAN (*checkRoutine) (void *checkContext));
1470
1471/* ---------------------------------------------------------------------------
1472 \fn sme_RegisterDeviceStateUpdateInd
1473 \brief Register a callback routine that is called whenever
1474 the device enters a new device state (Full Power, BMPS, UAPSD)
1475 \param hHal - The handle returned by macOpen.
1476 \param callbackRoutine - Callback routine to be registered
1477 \param callbackContext - Cookie to be passed back during callback
1478 \return eHalStatus
1479 eHAL_STATUS_SUCCESS - successfully registered
1480 eHAL_STATUS_FAILURE - not successfully registered
1481 ---------------------------------------------------------------------------*/
1482extern eHalStatus sme_RegisterDeviceStateUpdateInd (
1483 tHalHandle hHal,
1484 void (*callbackRoutine) (void *callbackContext, tPmcState pmcState),
1485 void *callbackContext);
1486
1487/* ---------------------------------------------------------------------------
1488 \fn sme_DeregisterDeviceStateUpdateInd
1489 \brief Deregister a routine that was registered for device state changes
1490 \param hHal - The handle returned by macOpen.
1491 \param callbackRoutine - Callback routine to be deregistered
1492 \return eHalStatus
1493 eHAL_STATUS_SUCCESS - successfully deregistered
1494 eHAL_STATUS_FAILURE - not successfully deregistered
1495 ---------------------------------------------------------------------------*/
1496extern eHalStatus sme_DeregisterDeviceStateUpdateInd (
1497 tHalHandle hHal,
1498 void (*callbackRoutine) (void *callbackContext, tPmcState pmcState));
1499
1500/* ---------------------------------------------------------------------------
1501 \fn sme_WowlAddBcastPattern
1502 \brief Add a pattern for Pattern Byte Matching in Wowl mode. Firmware will
1503 do a pattern match on these patterns when Wowl is enabled during BMPS
1504 mode.
1505 \param hHal - The handle returned by macOpen.
1506 \param pattern - Pattern to be added
1507 \return eHalStatus
1508 eHAL_STATUS_FAILURE Cannot add pattern
1509 eHAL_STATUS_SUCCESS Request accepted.
1510 ---------------------------------------------------------------------------*/
1511extern eHalStatus sme_WowlAddBcastPattern (
1512 tHalHandle hHal,
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07001513 tpSirWowlAddBcastPtrn pattern,
1514 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07001515
1516/* ---------------------------------------------------------------------------
1517 \fn sme_WowlDelBcastPattern
1518 \brief Delete a pattern that was added for Pattern Byte Matching.
1519 \param hHal - The handle returned by macOpen.
1520 \param pattern - Pattern to be deleted
1521 \return eHalStatus
1522 eHAL_STATUS_FAILURE Cannot delete pattern
1523 eHAL_STATUS_SUCCESS Request accepted.
1524 ---------------------------------------------------------------------------*/
1525extern eHalStatus sme_WowlDelBcastPattern (
1526 tHalHandle hHal,
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07001527 tpSirWowlDelBcastPtrn pattern,
1528 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07001529
1530/* ---------------------------------------------------------------------------
1531 \fn sme_EnterWowl
1532 \brief This is the API to request entry into WOWL mode.
1533 WoWLAN works on top of BMPS mode. If the device is not in BMPS mode,
1534 SME will will cache the information that WOWL has been requested and
1535 attempt to put the device in BMPS first. On entry into BMPS, SME will
1536 enter the WOWL mode.
1537 Note 1: After WoWL request is accepted, If module other than HDD requests
1538 full power BEFORE WoWL request is completed, PMC will buffer the WoWL request
1539 and attempt to put the chip into BMPS+WOWL based on a timer.
1540 Note 2: Buffered request for WoWL will be cleared immedisately AFTER "enter Wowl"
1541 completes or if HDD requests full power or if sme_ExitWoWL API is invoked.
1542 Note 3: Both UAPSD and WOWL work on top of BMPS. On entry into BMPS, SME
1543 will give priority to UAPSD and enable only UAPSD if both UAPSD and WOWL
1544 are required. Currently there is no requirement or use case to support UAPSD
1545 and WOWL at the same time.
1546 Note 4. Request for WoWL is rejected if there is a pending UAPSD request.
1547 Note 5. Request for WoWL is rejected if BMPS is disabled.
1548
1549 \param hHal - The handle returned by macOpen.
1550 \param enterWowlCallbackRoutine - Callback routine provided by HDD.
1551 Used for success/failure notification by SME
1552 \param enterWowlCallbackContext - A cookie passed by HDD, that is passed back to HDD
1553 at the time of callback.
1554 \param wakeReasonIndCB - Callback routine provided by HDD.
1555 Used for Wake Reason Indication by SME
1556 \param wakeReasonIndCBContext - A cookie passed by HDD, that is passed back to HDD
1557 at the time of callback.
1558 \return eHalStatus
1559 eHAL_STATUS_SUCCESS Device is already in WoWLAN mode
1560 eHAL_STATUS_FAILURE Device cannot enter WoWLAN mode.
1561 eHAL_STATUS_PMC_PENDING Request accepted. SME will enable WOWL when BMPS
1562 mode is entered.
1563 ---------------------------------------------------------------------------*/
1564extern eHalStatus sme_EnterWowl (
1565 tHalHandle hHal,
1566 void (*enterWowlCallbackRoutine) (void *callbackContext, eHalStatus status),
1567 void *enterWowlCallbackContext,
1568#ifdef WLAN_WAKEUP_EVENTS
1569 void (*wakeReasonIndCB) (void *callbackContext, tpSirWakeReasonInd pWakeReasonInd),
1570 void *wakeReasonIndCBContext,
1571#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07001572 tpSirSmeWowlEnterParams wowlEnterParams, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07001573
1574/* ---------------------------------------------------------------------------
1575 \fn sme_ExitWowl
1576 \brief This is the SME API exposed to HDD to request exit from WoWLAN mode.
1577 SME will initiate exit from WoWLAN mode and device will be put in BMPS
1578 mode. Any Buffered request for WoWL will be cleared after this API.
1579 \param hHal - The handle returned by macOpen.
1580 \return eHalStatus
1581 eHAL_STATUS_FAILURE Device cannot exit WoWLAN mode. This can happen
1582 only if the previous "Enter WOWL" transaction has
1583 not even completed.
1584 eHAL_STATUS_SUCCESS Request accepted to exit WoWLAN mode.
1585 ---------------------------------------------------------------------------*/
c_hpothu01484c02014-05-16 14:05:15 +05301586extern eHalStatus sme_ExitWowl (tHalHandle hHal, tWowlExitSource wowlExitSrc);
Jeff Johnson295189b2012-06-20 16:38:30 -07001587
1588/* ---------------------------------------------------------------------------
1589
1590 \fn sme_RoamSetKey
1591
1592 \brief To set encryption key. This function should be called only when connected
1593 This is an asynchronous API.
1594
1595 \param pSetKeyInfo - pointer to a caller allocated object of tCsrSetContextInfo
1596
1597 \param pRoamId Upon success return, this is the id caller can use to identify the request in roamcallback
1598
1599 \return eHalStatus SUCCESS Roam callback will be called indicate actually results
1600
1601 FAILURE or RESOURCES The API finished and failed.
1602
1603 -------------------------------------------------------------------------------*/
1604eHalStatus sme_RoamSetKey(tHalHandle, tANI_U8 sessionId, tCsrRoamSetKey *pSetKey, tANI_U32 *pRoamId);
1605
1606/* ---------------------------------------------------------------------------
1607
1608 \fn sme_RoamRemoveKey
1609
1610 \brief To set encryption key. This is an asynchronous API.
1611
1612 \param pRemoveKey - pointer to a caller allocated object of tCsrRoamRemoveKey
1613
1614 \param pRoamId Upon success return, this is the id caller can use to identify the request in roamcallback
1615
1616 \return eHalStatus SUCCESS Roam callback will be called indicate actually results
1617
1618 FAILURE or RESOURCES The API finished and failed.
1619
1620 -------------------------------------------------------------------------------*/
1621eHalStatus sme_RoamRemoveKey(tHalHandle, tANI_U8 sessionId, tCsrRoamRemoveKey *pRemoveKey, tANI_U32 *pRoamId);
1622
1623
1624/* ---------------------------------------------------------------------------
1625
1626 \fn sme_GetCountryCode
1627
1628 \brief To return the current country code. If no country code is applied, default country code is
1629 used to fill the buffer.
1630 If 11d supported is turned off, an error is return and the last applied/default country code is used.
1631 This is a synchronous API.
1632
1633 \param pBuf - pointer to a caller allocated buffer for returned country code.
1634
1635 \param pbLen For input, this parameter indicates how big is the buffer.
1636 Upon return, this parameter has the number of bytes for country. If pBuf
1637 doesn't have enough space, this function returns
1638 fail status and this parameter contains the number that is needed.
1639
1640 \return eHalStatus SUCCESS.
1641
1642 FAILURE or RESOURCES The API finished and failed.
1643
1644 -------------------------------------------------------------------------------*/
1645eHalStatus sme_GetCountryCode(tHalHandle hHal, tANI_U8 *pBuf, tANI_U8 *pbLen);
1646
1647/* ---------------------------------------------------------------------------
1648
1649 \fn sme_SetCountryCode
1650
1651 \brief To change the current/default country code.
1652 If 11d supported is turned off, an error is return.
1653 This is a synchronous API.
1654
1655 \param pCountry - pointer to a caller allocated buffer for the country code.
1656
1657 \param pfRestartNeeded A pointer to caller allocated memory, upon successful return, it indicates
1658 whether a reset is required.
1659
1660 \return eHalStatus SUCCESS.
1661
1662 FAILURE or RESOURCES The API finished and failed.
1663
1664 -------------------------------------------------------------------------------*/
1665eHalStatus sme_SetCountryCode(tHalHandle hHal, tANI_U8 *pCountry, tANI_BOOLEAN *pfRestartNeeded);
1666
1667/* ---------------------------------------------------------------------------
Mihir Shetee1093ba2014-01-21 20:13:32 +05301668
1669 \fn sme_InitChannels
1670
1671 \brief Used to initialize CSR channel lists while driver loading
1672
1673 \param hHal - global pMac structure
1674
1675 \return eHalStatus SUCCESS.
1676
1677 FAILURE or RESOURCES The API finished and failed.
1678
1679 -------------------------------------------------------------------------------*/
1680eHalStatus sme_InitChannels(tHalHandle hHal);
1681
Mahesh A Saptasagar74289d22014-05-14 12:43:37 +05301682
Mihir Shete04206452014-11-20 17:50:58 +05301683#ifdef CONFIG_ENABLE_LINUX_REG
Mahesh A Saptasagar74289d22014-05-14 12:43:37 +05301684/* ---------------------------------------------------------------------------
1685 \fn sme_InitChannelsForCC
1686
1687 \brief Used to issue regulatory hint to user
1688
1689 \param hHal - global pMac structure
Agarwal Ashish6db9d532014-09-30 18:19:10 +05301690 init - param to initiate channel list on basis of init/Reinit
Mahesh A Saptasagar74289d22014-05-14 12:43:37 +05301691
1692 \return eHalStatus SUCCESS.
1693
1694 FAILURE or RESOURCES The API finished and failed.
1695
1696 -------------------------------------------------------------------------------*/
Agarwal Ashish6db9d532014-09-30 18:19:10 +05301697eHalStatus sme_InitChannelsForCC(tHalHandle hHal, driver_load_type init);
Mihir Shete04206452014-11-20 17:50:58 +05301698#endif
Mahesh A Saptasagar74289d22014-05-14 12:43:37 +05301699
Mihir Shetee1093ba2014-01-21 20:13:32 +05301700/* ---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07001701 \fn sme_ResetCountryCodeInformation
1702 \brief this function is to reset the country code current being used back to EEPROM default
1703 this includes channel list and power setting. This is a synchronous API.
1704 \param pfRestartNeeded - pointer to a caller allocated space. Upon successful return, it indicates whether
1705 a restart is needed to apply the change
1706 \return eHalStatus
1707 -------------------------------------------------------------------------------*/
1708eHalStatus sme_ResetCountryCodeInformation(tHalHandle hHal, tANI_BOOLEAN *pfRestartNeeded);
1709
1710/* ---------------------------------------------------------------------------
1711 \fn sme_GetSupportedCountryCode
1712 \brief this function is to get a list of the country code current being supported
1713 \param pBuf - Caller allocated buffer with at least 3 bytes, upon success return,
1714 this has the country code list. 3 bytes for each country code. This may be NULL if
1715 caller wants to know the needed byte count.
1716 \param pbLen - Caller allocated, as input, it indicates the length of pBuf. Upon success return,
1717 this contains the length of the data in pBuf. If pbuf is NULL, as input, *pbLen should be 0.
1718 \return eHalStatus
1719 -------------------------------------------------------------------------------*/
1720eHalStatus sme_GetSupportedCountryCode(tHalHandle hHal, tANI_U8 *pBuf, tANI_U32 *pbLen);
1721
1722/* ---------------------------------------------------------------------------
1723 \fn sme_GetCurrentRegulatoryDomain
1724 \brief this function is to get the current regulatory domain. This is a synchronous API.
1725 This function must be called after CFG is downloaded and all the band/mode setting already passed into
1726 SME. The function fails if 11d support is turned off.
1727 \param pDomain - Caller allocated buffer to return the current domain.
1728 \return eHalStatus SUCCESS.
1729
1730 FAILURE or RESOURCES The API finished and failed.
1731 -------------------------------------------------------------------------------*/
1732eHalStatus sme_GetCurrentRegulatoryDomain(tHalHandle hHal, v_REGDOMAIN_t *pDomain);
1733
1734/* ---------------------------------------------------------------------------
1735 \fn sme_SetRegulatoryDomain
1736 \brief this function is to set the current regulatory domain.
1737 This function must be called after CFG is downloaded and all the band/mode setting already passed into
1738 SME. This is a synchronous API.
1739 \param domainId - indicate the domain (defined in the driver) needs to set to.
1740 See v_REGDOMAIN_t for definition
1741 \param pfRestartNeeded - pointer to a caller allocated space. Upon successful return, it indicates whether
1742 a restart is needed to apply the change
1743 \return eHalStatus
1744 -------------------------------------------------------------------------------*/
1745eHalStatus sme_SetRegulatoryDomain(tHalHandle hHal, v_REGDOMAIN_t domainId, tANI_BOOLEAN *pfRestartNeeded);
1746
1747/* ---------------------------------------------------------------------------
1748
1749 \fn sme_GetRegulatoryDomainForCountry
1750
1751 \brief To return a regulatory domain base on a country code. This is a synchronous API.
1752
1753 \param pCountry - pointer to a caller allocated buffer for input country code.
1754
1755 \param pDomainId Upon successful return, it is the domain that country belongs to.
1756 If it is NULL, returning success means that the country code is known.
1757
1758 \return eHalStatus SUCCESS.
1759
1760 FAILURE or RESOURCES The API finished and failed.
1761
1762 -------------------------------------------------------------------------------*/
1763eHalStatus sme_GetRegulatoryDomainForCountry(tHalHandle hHal, tANI_U8 *pCountry, v_REGDOMAIN_t *pDomainId);
1764
1765
1766
1767/* ---------------------------------------------------------------------------
1768
1769 \fn sme_GetSupportedRegulatoryDomains
1770
1771 \brief To return a list of supported regulatory domains. This is a synchronous API.
1772
1773 \param pDomains - pointer to a caller allocated buffer for returned regulatory domains.
1774
1775 \param pNumDomains For input, this parameter indicates howm many domains pDomains can hold.
1776 Upon return, this parameter has the number for supported domains. If pDomains
1777 doesn't have enough space for all the supported domains, this function returns
1778 fail status and this parameter contains the number that is needed.
1779
1780 \return eHalStatus SUCCESS.
1781
1782 FAILURE or RESOURCES The API finished and failed.
1783
1784 -------------------------------------------------------------------------------*/
1785eHalStatus sme_GetSupportedRegulatoryDomains(tHalHandle hHal, v_REGDOMAIN_t *pDomains, tANI_U32 *pNumDomains);
1786
1787//some support functions
1788tANI_BOOLEAN sme_Is11dSupported(tHalHandle hHal);
1789tANI_BOOLEAN sme_Is11hSupported(tHalHandle hHal);
1790tANI_BOOLEAN sme_IsWmmSupported(tHalHandle hHal);
1791//Upper layer to get the list of the base channels to scan for passively 11d info from csr
1792eHalStatus sme_ScanGetBaseChannels( tHalHandle hHal, tCsrChannelInfo * pChannelInfo );
1793
1794typedef void ( *tSmeChangeCountryCallback)(void *pContext);
1795/* ---------------------------------------------------------------------------
1796
1797 \fn sme_ChangeCountryCode
1798
1799 \brief Change Country code from upperlayer during WLAN driver operation.
1800 This is a synchronous API.
1801
1802 \param hHal - The handle returned by macOpen.
1803
1804 \param pCountry New Country Code String
1805
Abhishek Singha306a442013-11-07 18:39:01 +05301806 \param sendRegHint If we want to send reg hint to nl80211
1807
Jeff Johnson295189b2012-06-20 16:38:30 -07001808 \return eHalStatus SUCCESS.
1809
1810 FAILURE or RESOURCES The API finished and failed.
1811
1812 -------------------------------------------------------------------------------*/
1813eHalStatus sme_ChangeCountryCode( tHalHandle hHal,
1814 tSmeChangeCountryCallback callback,
1815 tANI_U8 *pCountry,
1816 void *pContext,
Gopichand Nakkalaacd94112013-05-29 21:37:47 +05301817 void* pVosContext,
Abhishek Singha306a442013-11-07 18:39:01 +05301818 tAniBool countryFromUserSpace,
1819 tAniBool sendRegHint);
Jeff Johnson295189b2012-06-20 16:38:30 -07001820
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301821/* ---------------------------------------------------------------------------
1822
Amar Singhal0d15bd52013-10-12 23:13:13 -07001823 \fn sme_GenericChangeCountryCode
1824
1825 \brief Generic API to change country code
1826
1827 \param hHal - The handle returned by macOpen.
1828
1829 \param pCountry New Country Code String
1830
1831 \param reg_domain Regulatory domain for the new country code
1832
1833 \return eHalStatus SUCCESS.
1834
1835 FAILURE or RESOURCES The API finished and failed.
1836
1837 -------------------------------------------------------------------------------*/
1838eHalStatus sme_GenericChangeCountryCode( tHalHandle hHal,
1839 tANI_U8 *pCountry,
1840 v_REGDOMAIN_t reg_domain);
1841
1842/* ---------------------------------------------------------------------------
1843
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301844 \fn sme_DHCPStartInd
1845
1846 \brief Indicate FW about DHCP start event.
1847
1848 \param hHal - The handle returned by macOpen.
1849
1850 \param device_mode the mode of the device
1851
c_hpothu0b0cab72014-02-13 21:52:40 +05301852 \param sessionId session ID
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301853
1854 \return eHalStatus SUCCESS.
1855
1856 FAILURE or RESOURCES The API finished and failed.
1857
1858 -------------------------------------------------------------------------------*/
1859
1860eHalStatus sme_DHCPStartInd( tHalHandle hHal,
1861 tANI_U8 device_mode,
c_hpothu0b0cab72014-02-13 21:52:40 +05301862 tANI_U8 sessionId );
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301863
1864/* ---------------------------------------------------------------------------
1865
1866 \fn sme_DHCPStopInd
1867
1868 \brief Indicate FW about DHCP stop event.
1869
1870 \param hHal - The handle returned by macOpen.
1871
1872 \param device_mode the mode of the device
1873
c_hpothu0b0cab72014-02-13 21:52:40 +05301874 \param sessionId session ID
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301875
1876 \return eHalStatus SUCCESS.
1877
1878 FAILURE or RESOURCES The API finished and failed.
1879
1880 -------------------------------------------------------------------------------*/
1881eHalStatus sme_DHCPStopInd( tHalHandle hHal,
1882 tANI_U8 device_mode,
c_hpothu0b0cab72014-02-13 21:52:40 +05301883 tANI_U8 sessionId );
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301884
Jeff Johnson295189b2012-06-20 16:38:30 -07001885
1886/* ---------------------------------------------------------------------------
1887 \fn sme_BtcSignalBtEvent
1888 \brief API to signal Bluetooth (BT) event to the WLAN driver. Based on the
1889 BT event type and the current operating mode of Libra (full power,
1890 BMPS, UAPSD etc), appropriate Bluetooth Coexistence (BTC) strategy
1891 would be employed.
1892 \param hHal - The handle returned by macOpen.
1893 \param pBtcBtEvent - Pointer to a caller allocated object of type tSmeBtEvent
1894 Caller owns the memory and is responsible for freeing it.
1895 \return VOS_STATUS
1896 VOS_STATUS_E_FAILURE BT Event not passed to HAL. This can happen
1897 if driver has not yet been initialized or if BTC
1898 Events Layer has been disabled.
1899 VOS_STATUS_SUCCESS BT Event passed to HAL
1900 ---------------------------------------------------------------------------*/
1901VOS_STATUS sme_BtcSignalBtEvent (tHalHandle hHal, tpSmeBtEvent pBtcBtEvent);
1902
1903/* ---------------------------------------------------------------------------
1904 \fn sme_BtcSetConfig
1905 \brief API to change the current Bluetooth Coexistence (BTC) configuration
1906 This function should be invoked only after CFG download has completed.
1907 Calling it after sme_HDDReadyInd is recommended.
1908 \param hHal - The handle returned by macOpen.
1909 \param pSmeBtcConfig - Pointer to a caller allocated object of type
1910 tSmeBtcConfig. Caller owns the memory and is responsible
1911 for freeing it.
1912 \return VOS_STATUS
1913 VOS_STATUS_E_FAILURE Config not passed to HAL.
1914 VOS_STATUS_SUCCESS Config passed to HAL
1915 ---------------------------------------------------------------------------*/
1916VOS_STATUS sme_BtcSetConfig (tHalHandle hHal, tpSmeBtcConfig pSmeBtcConfig);
1917
1918/* ---------------------------------------------------------------------------
1919 \fn sme_BtcGetConfig
1920 \brief API to retrieve the current Bluetooth Coexistence (BTC) configuration
1921 \param hHal - The handle returned by macOpen.
1922 \param pSmeBtcConfig - Pointer to a caller allocated object of type tSmeBtcConfig.
1923 Caller owns the memory and is responsible for freeing it.
1924 \return VOS_STATUS
1925 VOS_STATUS_E_FAILURE - failure
1926 VOS_STATUS_SUCCESS success
1927 ---------------------------------------------------------------------------*/
1928VOS_STATUS sme_BtcGetConfig (tHalHandle hHal, tpSmeBtcConfig pSmeBtcConfig);
1929
1930/* ---------------------------------------------------------------------------
1931 \fn sme_SetCfgPrivacy
1932 \brief API to set configure privacy parameters
1933 \param hHal - The handle returned by macOpen.
1934 \param pProfile - Pointer CSR Roam profile.
1935 \param fPrivacy - This parameter indicates status of privacy
1936
1937 \return void
1938 ---------------------------------------------------------------------------*/
1939void sme_SetCfgPrivacy(tHalHandle hHal, tCsrRoamProfile *pProfile, tANI_BOOLEAN fPrivacy);
1940
1941#if defined WLAN_FEATURE_VOWIFI
1942/* ---------------------------------------------------------------------------
1943 \fn sme_NeighborReportRequest
1944 \brief API to request neighbor report.
1945 \param hHal - The handle returned by macOpen.
1946 \param pRrmNeighborReq - Pointer to a caller allocated object of type
1947 tRrmNeighborReq. Caller owns the memory and is responsible
1948 for freeing it.
1949 \return VOS_STATUS
1950 VOS_STATUS_E_FAILURE - failure
1951 VOS_STATUS_SUCCESS success
1952 ---------------------------------------------------------------------------*/
1953VOS_STATUS sme_NeighborReportRequest (tHalHandle hHal, tANI_U8 sessionId,
1954 tpRrmNeighborReq pRrmNeighborReq, tpRrmNeighborRspCallbackInfo callbackInfo);
1955#endif
1956
1957//The following are debug APIs to support direct read/write register/memory
1958//They are placed in SME because HW cannot be access when in LOW_POWER state
1959//AND not connected. The knowledge and synchronization is done in SME
1960
1961//sme_DbgReadRegister
1962//Caller needs to validate the input values
1963VOS_STATUS sme_DbgReadRegister(tHalHandle hHal, v_U32_t regAddr, v_U32_t *pRegValue);
1964
1965//sme_DbgWriteRegister
1966//Caller needs to validate the input values
1967VOS_STATUS sme_DbgWriteRegister(tHalHandle hHal, v_U32_t regAddr, v_U32_t regValue);
1968
1969//sme_DbgReadMemory
1970//Caller needs to validate the input values
1971//pBuf caller allocated buffer has the length of nLen
1972VOS_STATUS sme_DbgReadMemory(tHalHandle hHal, v_U32_t memAddr, v_U8_t *pBuf, v_U32_t nLen);
1973
1974//sme_DbgWriteMemory
1975//Caller needs to validate the input values
1976VOS_STATUS sme_DbgWriteMemory(tHalHandle hHal, v_U32_t memAddr, v_U8_t *pBuf, v_U32_t nLen);
1977
Jeff Johnson295189b2012-06-20 16:38:30 -07001978VOS_STATUS sme_GetWcnssWlanCompiledVersion(tHalHandle hHal,
1979 tSirVersionType *pVersion);
1980VOS_STATUS sme_GetWcnssWlanReportedVersion(tHalHandle hHal,
1981 tSirVersionType *pVersion);
1982VOS_STATUS sme_GetWcnssSoftwareVersion(tHalHandle hHal,
1983 tANI_U8 *pVersion,
1984 tANI_U32 versionBufferSize);
1985VOS_STATUS sme_GetWcnssHardwareVersion(tHalHandle hHal,
1986 tANI_U8 *pVersion,
1987 tANI_U32 versionBufferSize);
Jeff Johnson295189b2012-06-20 16:38:30 -07001988eHalStatus sme_RoamRegisterCallback(tHalHandle hHal,
1989 csrRoamCompleteCallback callback,
1990 void *pContext);
1991
1992#ifdef FEATURE_WLAN_WAPI
1993/* ---------------------------------------------------------------------------
1994 \fn sme_RoamSetBKIDCache
1995 \brief The SME API exposed to HDD to allow HDD to provde SME the BKID
1996 candidate list.
1997 \param hHal - Handle to the HAL. The HAL handle is returned by the HAL after
1998 it is opened (by calling halOpen).
1999 \param pBKIDCache - caller allocated buffer point to an array of tBkidCacheInfo
2000 \param numItems - a variable that has the number of tBkidCacheInfo allocated
2001 when retruning, this is the number of items put into pBKIDCache
2002 \return eHalStatus - when fail, it usually means the buffer allocated is not
2003 big enough and pNumItems has the number of tBkidCacheInfo.
2004 ---------------------------------------------------------------------------*/
2005eHalStatus sme_RoamSetBKIDCache( tHalHandle hHal, tANI_U32 sessionId, tBkidCacheInfo *pBKIDCache,
2006 tANI_U32 numItems );
2007
2008/* ---------------------------------------------------------------------------
2009 \fn sme_RoamGetBKIDCache
2010 \brief The SME API exposed to HDD to allow HDD to request SME to return its
2011 BKID cache.
2012 \param hHal - Handle to the HAL. The HAL handle is returned by the HAL after
2013 it is opened (by calling halOpen).
2014 \param pNum - caller allocated memory that has the space of the number of
2015 tBkidCacheInfo as input. Upon returned, *pNum has the needed number of entries
2016 in SME cache.
2017 \param pBkidCache - Caller allocated memory that contains BKID cache, if any,
2018 upon return
2019 \return eHalStatus - when fail, it usually means the buffer allocated is not
2020 big enough.
2021 ---------------------------------------------------------------------------*/
2022eHalStatus sme_RoamGetBKIDCache(tHalHandle hHal, tANI_U32 *pNum,
2023 tBkidCacheInfo *pBkidCache);
2024
2025/* ---------------------------------------------------------------------------
2026 \fn sme_RoamGetNumBKIDCache
2027 \brief The SME API exposed to HDD to allow HDD to request SME to return the
2028 number of BKID cache entries.
2029 \param hHal - Handle to the HAL. The HAL handle is returned by the HAL after
2030 it is opened (by calling halOpen).
2031 \return tANI_U32 - the number of BKID cache entries.
2032 ---------------------------------------------------------------------------*/
2033tANI_U32 sme_RoamGetNumBKIDCache(tHalHandle hHal, tANI_U32 sessionId);
2034
2035/* ---------------------------------------------------------------------------
2036 \fn sme_ScanGetBKIDCandidateList
2037 \brief a wrapper function to return the BKID candidate list
2038 \param pBkidList - caller allocated buffer point to an array of
2039 tBkidCandidateInfo
2040 \param pNumItems - pointer to a variable that has the number of
2041 tBkidCandidateInfo allocated when retruning, this is
2042 either the number needed or number of items put into
2043 pPmkidList
2044 \return eHalStatus - when fail, it usually means the buffer allocated is not
2045 big enough and pNumItems
2046 has the number of tBkidCandidateInfo.
2047 \Note: pNumItems is a number of tBkidCandidateInfo,
2048 not sizeof(tBkidCandidateInfo) * something
2049 ---------------------------------------------------------------------------*/
2050eHalStatus sme_ScanGetBKIDCandidateList(tHalHandle hHal, tANI_U32 sessionId,
2051 tBkidCandidateInfo *pBkidList,
2052 tANI_U32 *pNumItems );
2053#endif /* FEATURE_WLAN_WAPI */
2054
Jeff Johnsone7245742012-09-05 17:12:55 -07002055#ifdef FEATURE_OEM_DATA_SUPPORT
2056/********************************************************************************************
2057 Oem data related modifications
2058*********************************************************************************************/
2059/* ---------------------------------------------------------------------------
2060 \fn sme_OemDataReq
2061 \param sessionId - session id of session to be used for oem data req.
2062 \param pOemDataReqID - pointer to an object to get back the request ID
2063 \param callback - a callback function that is called upon finish
2064 \param pContext - a pointer passed in for the callback
2065 \return eHalStatus
2066 ---------------------------------------------------------------------------*/
2067eHalStatus sme_OemDataReq(tHalHandle hHal,
2068 tANI_U8 sessionId,
2069 tOemDataReqConfig *,
2070 tANI_U32 *pOemDataReqID,
2071 oemData_OemDataReqCompleteCallback callback,
2072 void *pContext);
2073
2074/* ---------------------------------------------------------------------------
2075 \fn sme_getOemDataRsp
2076 \param pOemDataRsp - A pointer to the response object
2077 \param pOemDataReqID - pointer to an object to get back the request ID
2078 \return eHalStatus
2079 ---------------------------------------------------------------------------*/
2080eHalStatus sme_getOemDataRsp(tHalHandle hHal,
2081 tOemDataRsp **pOemDataRsp);
2082
2083#endif /*FEATURE_OEM_DATA_SUPPORT*/
Jeff Johnson295189b2012-06-20 16:38:30 -07002084
2085
Jeff Johnson295189b2012-06-20 16:38:30 -07002086
2087/* ---------------------------------------------------------------------------
2088
2089 \fn sme_RoamUpdateAPWPSIE
2090
2091 \brief To update AP's WPS IE. This function should be called after SME AP session is created
2092 This is an asynchronous API.
2093
2094 \param pAPWPSIES - pointer to a caller allocated object of tCsrRoamAPWPSIES
2095
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002096 \return eHalStatus SUCCESS Roam callback will be called indicate actually results
Jeff Johnson295189b2012-06-20 16:38:30 -07002097
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002098 FAILURE or RESOURCES The API finished and failed.
Jeff Johnson295189b2012-06-20 16:38:30 -07002099
2100 -------------------------------------------------------------------------------*/
2101
2102eHalStatus sme_RoamUpdateAPWPSIE(tHalHandle, tANI_U8 sessionId, tSirAPWPSIEs *pAPWPSIES);
2103/* ---------------------------------------------------------------------------
2104
2105 \fn sme_RoamUpdateAPWPARSNIEs
2106
2107 \brief To update AP's WPA/RSN IEs. This function should be called after SME AP session is created
2108 This is an asynchronous API.
2109
2110 \param pAPSirRSNie - pointer to a caller allocated object of tSirRSNie with WPS/RSN IEs
2111
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002112 \return eHalStatus SUCCESS
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 -------------------------------------------------------------------------------*/
2117eHalStatus sme_RoamUpdateAPWPARSNIEs(tHalHandle hHal, tANI_U8 sessionId, tSirRSNie * pAPSirRSNie);
2118
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -08002119/* ---------------------------------------------------------------------------
2120
2121 sme_ChangeMCCBeaconInterval
2122
2123 \brief To update P2P-GO's beacon Interval.
2124
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002125 \return eHalStatus SUCCESS
2126 FAILURE or RESOURCES
2127 The API finished and failed.
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -08002128 -------------------------------------------------------------------------------*/
2129eHalStatus sme_ChangeMCCBeaconInterval(tHalHandle hHal, tANI_U8 sessionId);
2130
2131
Jeff Johnson295189b2012-06-20 16:38:30 -07002132
2133/* ---------------------------------------------------------------------------
2134 \fn sme_sendBTAmpEvent
2135 \brief API to send the btAMPstate to FW
2136 \param hHal - The handle returned by macOpen.
2137 \param btAmpEvent -- btAMP event
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002138 \return eHalStatus SUCCESS
2139 FAILURE or RESOURCES The API finished and failed.
Jeff Johnson295189b2012-06-20 16:38:30 -07002140
2141--------------------------------------------------------------------------- */
2142
2143eHalStatus sme_sendBTAmpEvent(tHalHandle hHal, tSmeBtAmpEvent btAmpEvent);
2144
2145
2146
2147/* ---------------------------------------------------------------------------
2148 \fn sme_SetHostOffload
2149 \brief API to set the host offload feature.
2150 \param hHal - The handle returned by macOpen.
2151 \param pRequest - Pointer to the offload request.
2152 \return eHalStatus
2153 ---------------------------------------------------------------------------*/
Jeff Johnsone7245742012-09-05 17:12:55 -07002154eHalStatus sme_SetHostOffload (tHalHandle hHal, tANI_U8 sessionId,
2155 tpSirHostOffloadReq pRequest);
Jeff Johnson295189b2012-06-20 16:38:30 -07002156
2157/* ---------------------------------------------------------------------------
2158 \fn sme_SetKeepAlive
2159 \brief API to set the Keep Alive feature.
2160 \param hHal - The handle returned by macOpen.
2161 \param pRequest - Pointer to the Keep Alive request.
2162 \return eHalStatus
2163 ---------------------------------------------------------------------------*/
Jeff Johnsone7245742012-09-05 17:12:55 -07002164eHalStatus sme_SetKeepAlive (tHalHandle hHal, tANI_U8 sessionId,
2165 tpSirKeepAliveReq pRequest);
Jeff Johnson295189b2012-06-20 16:38:30 -07002166
Jeff Johnson295189b2012-06-20 16:38:30 -07002167/* ----------------------------------------------------------------------------
2168 \fn sme_GetOperationChannel
2169 \brief API to get current channel on which STA is parked
2170 this function gives channel information only of infra station or IBSS station.
Jeff Johnson04dd8a82012-06-29 20:41:40 -07002171 \param hHal, pointer to memory location and sessionId
Jeff Johnson295189b2012-06-20 16:38:30 -07002172 \returns eHAL_STATUS_SUCCESS
2173 eHAL_STATUS_FAILURE
2174-------------------------------------------------------------------------------*/
Jeff Johnson04dd8a82012-06-29 20:41:40 -07002175eHalStatus sme_GetOperationChannel(tHalHandle hHal, tANI_U32 *pChannel, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002176
Jeff Johnson295189b2012-06-20 16:38:30 -07002177/* ---------------------------------------------------------------------------
2178
2179 \fn sme_RegisterMgtFrame
2180
2181 \brief To register managment frame of specified type and subtype.
2182 \param frameType - type of the frame that needs to be passed to HDD.
2183 \param matchData - data which needs to be matched before passing frame
2184 to HDD.
2185 \param matchDataLen - Length of matched data.
2186 \return eHalStatus
2187 -------------------------------------------------------------------------------*/
2188eHalStatus sme_RegisterMgmtFrame(tHalHandle hHal, tANI_U8 sessionId,
2189 tANI_U16 frameType, tANI_U8* matchData, tANI_U16 matchLen);
2190
2191/* ---------------------------------------------------------------------------
2192
2193 \fn sme_DeregisterMgtFrame
2194
2195 \brief To De-register managment frame of specified type and subtype.
2196 \param frameType - type of the frame that needs to be passed to HDD.
2197 \param matchData - data which needs to be matched before passing frame
2198 to HDD.
2199 \param matchDataLen - Length of matched data.
2200 \return eHalStatus
2201 -------------------------------------------------------------------------------*/
2202eHalStatus sme_DeregisterMgmtFrame(tHalHandle hHal, tANI_U8 sessionId,
2203 tANI_U16 frameType, tANI_U8* matchData, tANI_U16 matchLen);
Siddharth Bhal64246172015-02-27 01:04:37 +05302204/* ---------------------------------------------------------------------------
2205 \fn sme_GetFramesLog
2206 \brief a wrapper function that client calls to register a callback to get
2207 mgmt frames logged
Siddharth Bhal64246172015-02-27 01:04:37 +05302208 \param flag - flag tells to clear OR send the frame log buffer
Siddharth Bhal64246172015-02-27 01:04:37 +05302209 \return eHalStatus
2210 ---------------------------------------------------------------------------*/
Abhishek Singh611295e2015-07-09 11:11:54 +05302211eHalStatus sme_GetFramesLog(tHalHandle hHal, tANI_U8 flag);
Jeff Johnson295189b2012-06-20 16:38:30 -07002212/* ---------------------------------------------------------------------------
2213
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302214 \fn sme_InitMgmtFrameLogging
2215
2216 \brief
2217 SME will pass this request to lower mac to initialize Frame Logging.
2218
2219 \param
2220
2221 hHal - The handle returned by macOpen.
2222
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302223 wlanFWLoggingInitParam - Params to initialize frame logging
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302224
2225 \return eHalStatus
2226--------------------------------------------------------------------------- */
2227eHalStatus sme_InitMgmtFrameLogging( tHalHandle hHal,
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302228 tpSirFWLoggingInitParam wlanFWLoggingInitParam);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302229
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302230
2231/* ---------------------------------------------------------------------------
2232
2233 \fn sme_StopRssiMonitoring
2234
2235 \brief
2236 SME will pass this request to lower mac to stop monitoring rssi range on
2237 a bssid.
2238
2239 \param
2240
2241 hHal - The handle returned by macOpen.
2242
2243 tSirRssiMonitorReq req- depict the monitor req params.
2244
2245 \return eHalStatus
2246
2247--------------------------------------------------------------------------- */
2248eHalStatus sme_StopRssiMonitoring(tHalHandle hHal,
2249 tSirRssiMonitorReq *req);
2250
2251/* ---------------------------------------------------------------------------
2252
2253 \fn sme_StartRssiMonitoring
2254
2255 \brief
2256 SME will pass this request to lower mac to start monitoring rssi range on
2257 a bssid.
2258
2259 \param
2260
2261 hHal - The handle returned by macOpen.
2262
2263 tSirRssiMonitorReq req- depict the monitor req params.
2264
2265 \return eHalStatus
2266
2267--------------------------------------------------------------------------- */
2268eHalStatus sme_StartRssiMonitoring(tHalHandle hHal,
2269 tSirRssiMonitorReq *req);
2270
2271
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302272/* ---------------------------------------------------------------------------
2273
Jeff Johnson295189b2012-06-20 16:38:30 -07002274 \fn sme_ConfigureRxpFilter
2275
2276 \brief
2277 SME will pass this request to lower mac to set/reset the filter on RXP for
2278 multicast & broadcast traffic.
2279
2280 \param
2281
2282 hHal - The handle returned by macOpen.
2283
2284 filterMask- Currently the API takes a 1 or 0 (set or reset) as filter.
2285 Basically to enable/disable the filter (to filter "all" mcbc traffic) based
2286 on this param. In future we can use this as a mask to set various types of
2287 filters as suggested below:
2288 FILTER_ALL_MULTICAST:
2289 FILTER_ALL_BROADCAST:
2290 FILTER_ALL_MULTICAST_BROADCAST:
2291
2292
2293 \return eHalStatus
2294
2295
2296--------------------------------------------------------------------------- */
2297eHalStatus sme_ConfigureRxpFilter( tHalHandle hHal,
2298 tpSirWlanSetRxpFilters wlanRxpFilterParam);
2299
2300/* ---------------------------------------------------------------------------
2301
2302 \fn sme_ConfigureAppsCpuWakeupState
2303
2304 \brief
2305 SME will pass this request to lower mac to dynamically adjusts the listen
2306 interval based on the WLAN/MSM activity. This feature is named as
2307 Telescopic Beacon wakeup feature.
2308
2309 \param
2310
2311 hHal - The handle returned by macOpen.
2312
2313 isAppsAwake- Depicts the state of the Apps CPU
2314
2315
2316 \return eHalStatus
2317
2318
2319--------------------------------------------------------------------------- */
2320eHalStatus sme_ConfigureAppsCpuWakeupState( tHalHandle hHal, tANI_BOOLEAN isAppsAwake);
2321
Jeff Johnson295189b2012-06-20 16:38:30 -07002322/* ---------------------------------------------------------------------------
2323
2324 \fn sme_ConfigureSuspendInd
2325
2326 \brief
2327 SME will pass this request to lower mac to Indicate that the wlan needs to
2328 be suspended
2329
2330 \param
2331
2332 hHal - The handle returned by macOpen.
2333
2334 wlanSuspendParam- Depicts the wlan suspend params
2335
2336
2337 \return eHalStatus
2338
2339
2340--------------------------------------------------------------------------- */
2341eHalStatus sme_ConfigureSuspendInd( tHalHandle hHal,
2342 tpSirWlanSuspendParam wlanSuspendParam);
2343
2344/* ---------------------------------------------------------------------------
2345
2346 \fn sme_ConfigureResumeReq
2347
2348 \brief
2349 SME will pass this request to lower mac to Indicate that the wlan needs to
2350 be Resumed
2351
2352 \param
2353
2354 hHal - The handle returned by macOpen.
2355
2356 wlanResumeParam- Depicts the wlan resume params
2357
2358
2359 \return eHalStatus
2360
2361
2362--------------------------------------------------------------------------- */
2363eHalStatus sme_ConfigureResumeReq( tHalHandle hHal,
2364 tpSirWlanResumeParam wlanResumeParam);
2365
Jeff Johnson295189b2012-06-20 16:38:30 -07002366
2367/* ---------------------------------------------------------------------------
2368
2369 \fn sme_GetInfraSessionId
2370
2371 \brief To get the session ID for infra session, if connected
2372 This is a synchronous API.
2373
2374 \param hHal - The handle returned by macOpen.
2375
2376 \return sessionid, -1 if infra session is not connected
2377
2378 -------------------------------------------------------------------------------*/
2379tANI_S8 sme_GetInfraSessionId(tHalHandle hHal);
2380
2381/* ---------------------------------------------------------------------------
2382
2383 \fn sme_GetInfraOperationChannel
2384
2385 \brief To get the operating channel for infra session, if connected
2386 This is a synchronous API.
2387
2388 \param hHal - The handle returned by macOpen.
2389 \param sessionId - the sessionId returned by sme_OpenSession.
2390
2391 \return operating channel, 0 if infra session is not connected
2392
2393 -------------------------------------------------------------------------------*/
2394tANI_U8 sme_GetInfraOperationChannel( tHalHandle hHal, tANI_U8 sessionId);
2395/* ---------------------------------------------------------------------------
2396
2397 \fn sme_GetConcurrentOperationChannel
2398
2399 \brief To get the operating channel for other concurrent sessions, if connected
2400 This is a synchronous API.
2401
2402 \param hHal - The handle returned by macOpen.
2403 \param currentPersona - persona that is trying to come up.
2404
2405 \return operating channel, 0 if infra session is not connected
2406
2407 -------------------------------------------------------------------------------*/
2408tANI_U8 sme_GetConcurrentOperationChannel( tHalHandle hHal );
2409
2410/* ---------------------------------------------------------------------------
2411 \fn sme_AbortMacScan
2412 \brief API to cancel MAC scan.
2413 \param hHal - The handle returned by macOpen.
Madan Mohan Koyyalamudiff3a7152013-06-13 14:47:55 +05302414 \param sessionId - sessionId for interface
c_hpothua3d45d52015-01-05 14:11:17 +05302415 \return tSirAbortScanStatus return status abort scan
2416
Jeff Johnson295189b2012-06-20 16:38:30 -07002417 ---------------------------------------------------------------------------*/
c_hpothua3d45d52015-01-05 14:11:17 +05302418tSirAbortScanStatus sme_AbortMacScan(tHalHandle hHal, tANI_U8 sessionId,
2419 eCsrAbortReason reason);
Jeff Johnson295189b2012-06-20 16:38:30 -07002420
2421/* ---------------------------------------------------------------------------
2422 \fn sme_GetCfgValidChannels
2423 \brief API to get valid channel list
2424 \param hHal - The handle returned by macOpen.
2425 \param aValidChannels - Pointer to the valid channel list
2426 \param len - valid channel list length
2427 \return eHalStatus
2428 ---------------------------------------------------------------------------*/
2429eHalStatus sme_GetCfgValidChannels(tHalHandle hHal, tANI_U8 *aValidChannels, tANI_U32 *len);
2430
2431#ifdef FEATURE_WLAN_SCAN_PNO
2432
2433/* ---------------------------------------------------------------------------
2434 \fn sme_SetPreferredNetworkList
2435 \brief API to set the Preferred Network List Offload feature.
2436 \param hHal - The handle returned by macOpen.
2437 \param pRequest - Pointer to the offload request.
2438 \return eHalStatus
2439 ---------------------------------------------------------------------------*/
2440eHalStatus sme_SetPreferredNetworkList (tHalHandle hHal, tpSirPNOScanReq pRequest, tANI_U8 sessionId, preferredNetworkFoundIndCallback callbackRoutine, void *callbackContext );
2441
2442/* ---------------------------------------------------------------------------
2443 \fn sme_SetRSSIFilter
2444 \brief API to set RSSI Filter feature.
2445 \param hHal - The handle returned by macOpen.
2446 \param pRequest - Pointer to the offload request.
2447 \return eHalStatus
2448 ---------------------------------------------------------------------------*/
2449eHalStatus sme_SetRSSIFilter(tHalHandle hHal, v_U8_t rssiThreshold);
2450
2451/******************************************************************************
2452*
2453* Name: sme_PreferredNetworkFoundInd
2454*
2455* Description:
2456* Invoke Preferred Network Found Indication
2457*
2458* Parameters:
2459* hHal - HAL handle for device
2460* pMsg - found network description
2461*
2462* Returns: eHalStatus
2463*
2464******************************************************************************/
2465eHalStatus sme_PreferredNetworkFoundInd (tHalHandle hHal, void* pMsg);
2466#endif // FEATURE_WLAN_SCAN_PNO
2467
2468/* ---------------------------------------------------------------------------
2469 \fn sme_SetPowerParams
2470 \brief API to set Power Parameters
2471 \param hHal - The handle returned by macOpen.
2472 \param pwParams - Pointer to the power parameters requested.
Tushnim Bhattacharyya3a37def2013-02-24 11:11:15 -08002473 \param forced - if true, not to be dropped silently in host, it must reach
2474 FW; It is added to avoid a race condition scenario where LIM hasn't deleted
2475 the session yet before power params gets sent to PMC
Jeff Johnson295189b2012-06-20 16:38:30 -07002476 \return eHalStatus
2477 ---------------------------------------------------------------------------*/
Tushnim Bhattacharyya3a37def2013-02-24 11:11:15 -08002478eHalStatus sme_SetPowerParams(tHalHandle hHal, tSirSetPowerParamsReq* pwParams, tANI_BOOLEAN forced);
Jeff Johnson295189b2012-06-20 16:38:30 -07002479
2480/* ---------------------------------------------------------------------------
2481 \fn sme_SetTxPerTracking
2482 \brief Set Tx PER tracking configuration parameters
2483 \param hHal - The handle returned by macOpen.
2484 \param pTxPerTrackingParam - Tx PER configuration parameters
2485 \return eHalStatus
2486 ---------------------------------------------------------------------------*/
2487eHalStatus sme_SetTxPerTracking (
2488 tHalHandle hHal,
2489 void (*pCallbackfn) (void *pCallbackContext),
2490 void *pCallbackContext,
2491 tpSirTxPerTrackingParam pTxPerTrackingParam);
2492
2493#ifdef WLAN_FEATURE_PACKET_FILTERING
2494/* ---------------------------------------------------------------------------
2495 \fn sme_ReceiveFilterSetFilter
2496 \brief API to set 8023 Multicast Address List
2497 \param hHal - The handle returned by macOpen.
2498 \param pMulticastAddrs - Pointer to the Multicast Address List
2499 \return eHalStatus
2500 ---------------------------------------------------------------------------*/
Amar Singhalf3a6e762013-02-19 15:06:50 -08002501eHalStatus sme_8023MulticastList(tHalHandle hHal, tANI_U8 sessionId, tpSirRcvFltMcAddrList pMulticastAddrs);
Jeff Johnson295189b2012-06-20 16:38:30 -07002502
2503/* ---------------------------------------------------------------------------
2504 \fn sme_ReceiveFilterSetFilter
2505 \brief API to set Receive Packet Filter
2506 \param hHal - The handle returned by macOpen.
2507 \param pRcvPktFilterCfg - Receive Packet Filter parameter
2508 \return eHalStatus
2509 ---------------------------------------------------------------------------*/
Jeff Johnsone7245742012-09-05 17:12:55 -07002510eHalStatus sme_ReceiveFilterSetFilter(tHalHandle hHal, tpSirRcvPktFilterCfgType pRcvPktFilterCfg,
2511 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002512
2513/* ---------------------------------------------------------------------------
2514 \fn sme_GetFilterMatchCount
2515 \brief API to get D0 PC Filter Match Count
2516 \param hHal - The handle returned by macOpen
2517 \param callbackRoutine - Callback routine invoked to receive Packet Coalescing Filter Match Count
2518 \param callbackContext - Cookie to be passed back during callback
2519 \return eHalStatus
2520 ---------------------------------------------------------------------------*/
2521eHalStatus sme_GetFilterMatchCount(tHalHandle hHal,
2522 FilterMatchCountCallback callbackRoutine,
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07002523 void *callbackContext,
2524 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002525
2526/* ---------------------------------------------------------------------------
2527 \fn sme_ReceiveFilterClearFilter
2528 \brief API to clear Receive Packet Filter
2529 \param hHal - The handle returned by macOpen.
2530 \param pRcvFltPktClearParam - Receive Packet Filter Clear parameter
2531 \return eHalStatus
2532 ---------------------------------------------------------------------------*/
2533eHalStatus sme_ReceiveFilterClearFilter(tHalHandle hHal,
Jeff Johnsone7245742012-09-05 17:12:55 -07002534 tpSirRcvFltPktClearParam pRcvFltPktClearParam,
2535 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002536#endif // WLAN_FEATURE_PACKET_FILTERING
2537/* ---------------------------------------------------------------------------
2538
2539 \fn sme_IsChannelValid
2540 \brief To check if the channel is valid for currently established domain
2541 This is a synchronous API.
2542
2543 \param hHal - The handle returned by macOpen.
2544 \param channel - channel to verify
2545
2546 \return TRUE/FALSE, TRUE if channel is valid
2547
2548 -------------------------------------------------------------------------------*/
2549tANI_BOOLEAN sme_IsChannelValid(tHalHandle hHal, tANI_U8 channel);
2550
2551/* ---------------------------------------------------------------------------
2552 \fn sme_SetFreqBand
2553 \brief Used to set frequency band.
2554 \param hHal
2555 \eBand band value to be configured
2556 \- return eHalStatus
2557 -------------------------------------------------------------------------*/
2558eHalStatus sme_SetFreqBand(tHalHandle hHal, eCsrBand eBand);
2559
2560/* ---------------------------------------------------------------------------
2561 \fn sme_GetFreqBand
2562 \brief Used to get the current band settings.
2563 \param hHal
2564 \pBand pointer to hold the current band value
2565 \- return eHalStatus
2566 -------------------------------------------------------------------------*/
2567eHalStatus sme_GetFreqBand(tHalHandle hHal, eCsrBand *pBand);
2568
2569/* ---------------------------------------------------------------------------
2570
2571 \fn sme_SetTxPerTracking
2572 \brief Set Tx PER tracking configuration parameters
2573 \param hHal - The handle returned by macOpen.
2574 \param pTxPerTrackingParam - Tx PER configuration parameters
2575 \return eHalStatus
2576 ---------------------------------------------------------------------------*/
2577eHalStatus sme_SetTxPerTracking (
2578 tHalHandle hHal,
2579 void (*pCallbackfn) (void *pCallbackContext),
2580 void *pCallbackContext,
2581 tpSirTxPerTrackingParam pTxPerTrackingParam);
2582
2583#ifdef WLAN_FEATURE_GTK_OFFLOAD
2584/* ---------------------------------------------------------------------------
2585 \fn sme_SetGTKOffload
2586 \brief API to set GTK offload feature.
2587 \param hHal - The handle returned by macOpen.
2588 \param pRequest - Pointer to the GTK offload request.
2589 \return eHalStatus
2590 ---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07002591eHalStatus sme_SetGTKOffload (tHalHandle hHal, tpSirGtkOffloadParams pRequest, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002592
2593/* ---------------------------------------------------------------------------
2594 \fn sme_GetGTKOffload
2595 \brief API to get GTK offload information.
2596 \param hHal - The handle returned by macOpen.
2597 \param pRequest - Pointer to the GTK offload response.
2598 \return eHalStatus
2599 ---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07002600eHalStatus sme_GetGTKOffload (tHalHandle hHal, GTKOffloadGetInfoCallback callbackRoutine,
2601 void *callbackContext, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002602#endif // WLAN_FEATURE_GTK_OFFLOAD
2603
2604#ifdef WLAN_WAKEUP_EVENTS
2605eHalStatus sme_WakeReasonIndCallback (tHalHandle hHal, void* pMsg);
2606#endif // WLAN_WAKEUP_EVENTS
2607
2608/* ---------------------------------------------------------------------------
2609 \fn sme_SetTxPerTracking
2610 \brief Set Tx PER tracking configuration parameters
2611 \param hHal - The handle returned by macOpen.
2612 \param pTxPerTrackingParam - Tx PER configuration parameters
2613 \return eHalStatus
2614 ---------------------------------------------------------------------------*/
2615eHalStatus sme_SetTxPerTracking (
2616 tHalHandle hHal,
2617 void (*pCallbackfn) (void *pCallbackContext),
2618 void *pCallbackContext,
2619 tpSirTxPerTrackingParam pTxPerTrackingParam);
2620
2621
2622//return frequency for a particular channel
2623tANI_U16 sme_ChnToFreq(tANI_U8 chanNum);
2624
2625tANI_BOOLEAN sme_IsChannelValid(tHalHandle hHal, tANI_U8 channel);
2626
2627#if defined WLAN_FEATURE_P2P_INTERNAL
2628
2629eHalStatus sme_p2pResetSession(tHalHandle hHal, tANI_U8 HDDSessionId);
2630
2631/* ---------------------------------------------------------------------------
2632 \fn sme_p2pFlushDeviceList
2633 \brief Remove cached P2P result from scan results
2634 \param hHal - The handle returned by macOpen.
2635 \param HDDSessionId - HDD's sessionId. Currently unused.
2636 \return eHalStatus
2637 ---------------------------------------------------------------------------*/
2638eHalStatus sme_p2pFlushDeviceList(tHalHandle hHal, tANI_U8 HDDSessionId);
2639
2640eHalStatus sme_p2pGetResultFilter(tHalHandle hHal, tANI_U8 HDDSessionId,
2641 tCsrScanResultFilter *pFilter);
2642
2643#endif //#if defined WLAN_FEATURE_P2P_INTERNAL
2644
2645/* ---------------------------------------------------------------------------
2646 \fn sme_SetMaxTxPower
2647 \brief Used to set the Maximum Transmit Power dynamically. Note: this
2648 setting will not persist over reboots
2649 \param hHal
2650 \param pBssid BSSID to set the power cap for
2651 \param pBssid pSelfMacAddress self MAC Address
2652 \param pBssid power to set in dB
2653 \- return eHalStatus
2654 -------------------------------------------------------------------------*/
2655eHalStatus sme_SetMaxTxPower(tHalHandle hHal, tSirMacAddr pBssid,
2656 tSirMacAddr pSelfMacAddress, v_S7_t dB);
2657
Jeff Johnson295189b2012-06-20 16:38:30 -07002658/* ---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07002659 \fn sme_SetMaxTxPowerPerBand
2660 \brief Used to set the Maximum Transmit Power for
2661 specific band dynamically. Note: this setting will not persist over reboots
2662 \param band
2663 \param power to set in dB
2664 \- return eHalStatus
2665 -------------------------------------------------------------------------*/
2666eHalStatus sme_SetMaxTxPowerPerBand(eCsrBand band, v_S7_t db);
2667
2668/* ---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002669
schang86c22c42013-03-13 18:41:24 -07002670 \fn sme_SetTxPower
2671
2672 \brief Set Transmit Power dynamically. Note: this setting will
2673 not persist over reboots.
2674
2675 \param hHal
2676 \param sessionId Target Session ID
2677 \param mW power to set in mW
2678 \- return eHalStatus
2679
2680 -------------------------------------------------------------------------------*/
2681eHalStatus sme_SetTxPower(tHalHandle hHal, v_U8_t sessionId, v_U8_t mW);
2682
2683/* ---------------------------------------------------------------------------
2684
Jeff Johnson295189b2012-06-20 16:38:30 -07002685 \fn sme_HideSSID
2686
2687 \brief Enable/Disables hidden SSID dynamically. Note: this setting will
2688 not persist over reboots.
2689
2690 \param hHal
2691 \param sessionId
2692 \param ssidHidden 0 - Broadcast SSID, 1 - Disable broadcast SSID
2693 \- return eHalStatus
2694
2695 -------------------------------------------------------------------------------*/
2696eHalStatus sme_HideSSID(tHalHandle hHal, v_U8_t sessionId, v_U8_t ssidHidden);
Jeff Johnson295189b2012-06-20 16:38:30 -07002697
2698/* ---------------------------------------------------------------------------
2699
2700 \fn sme_SetTmLevel
2701 \brief Set Thermal Mitigation Level to RIVA
2702 \param hHal - The handle returned by macOpen.
2703 \param newTMLevel - new Thermal Mitigation Level
2704 \param tmMode - Thermal Mitigation handle mode, default 0
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -07002705 \return eHalStatus
Jeff Johnson295189b2012-06-20 16:38:30 -07002706 ---------------------------------------------------------------------------*/
2707eHalStatus sme_SetTmLevel(tHalHandle hHal, v_U16_t newTMLevel, v_U16_t tmMode);
2708
2709/*---------------------------------------------------------------------------
2710
2711 \brief sme_featureCapsExchange() - SME interface to exchange capabilities between
2712 Host and FW.
2713
2714 \param hHal - HAL handle for device
2715
2716 \return NONE
2717
2718---------------------------------------------------------------------------*/
2719void sme_featureCapsExchange(tHalHandle hHal);
2720
Jeff Johnsond13512a2012-07-17 11:42:19 -07002721/*---------------------------------------------------------------------------
2722
Yathish9f22e662012-12-10 14:21:35 -08002723 \brief sme_disableActiveModeOffload() - SME interface to disable Active mode Offload capabilitu
2724 between in Host.
2725
2726 \param hHal - HAL handle for device
2727
2728 \return NONE
2729
2730---------------------------------------------------------------------------*/
2731void sme_disableFeatureCapablity(tANI_U8 feature_index);
2732
2733/*---------------------------------------------------------------------------
2734
Jeff Johnsond13512a2012-07-17 11:42:19 -07002735 \brief sme_GetDefaultCountryCodeFrmNv() - SME interface to get the default
2736 country code
2737 Host and FW.
2738
2739 \param hHal - HAL handle for device
2740 \param pCountry - pointer to country code
2741
Jeff Johnsonfeddb2d2012-12-10 14:41:22 -08002742 \return Success or failure
Jeff Johnsond13512a2012-07-17 11:42:19 -07002743
2744 ---------------------------------------------------------------------------*/
2745eHalStatus sme_GetDefaultCountryCodeFrmNv(tHalHandle hHal, tANI_U8 *pCountry);
2746
2747/*---------------------------------------------------------------------------
2748
2749 \brief sme_GetCurrentCountryCode() - SME interface to get the current operating
2750 country code.
2751
2752 \param hHal - HAL handle for device
2753 \param pCountry - pointer to country code
2754
2755 \return Success or failure
2756
2757 ---------------------------------------------------------------------------*/
2758eHalStatus sme_GetCurrentCountryCode(tHalHandle hHal, tANI_U8 *pCountry);
2759
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07002760/* ---------------------------------------------------------------------------
2761 \fn sme_transportDebug
2762 \brief Dynamically monitoring Transport channels
2763 Private IOCTL will querry transport channel status if driver loaded
schang6295e542013-03-12 15:31:23 -07002764 \param hHal Upper MAC context
Jeff Johnsonb88db982012-12-10 13:34:59 -08002765 \param displaySnapshot Display transport channel snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07002766 \param toggleStallDetect Enable stall detect feature
2767 This feature will take effect to data performance
2768 Not integrate till fully verification
2769 \- return NONE
2770 -------------------------------------------------------------------------*/
schang6295e542013-03-12 15:31:23 -07002771void sme_transportDebug(tHalHandle hHal, v_BOOL_t displaySnapshot, v_BOOL_t toggleStallDetect);
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002772
Kiran4a17ebe2013-01-31 10:43:43 -08002773/* ---------------------------------------------------------------------------
2774 \fn sme_ResetPowerValuesFor5G
2775 \brief Reset the power values for 5G band with NV power values.
2776 \param hHal - HAL handle for device
2777 \- return NONE
2778 -------------------------------------------------------------------------*/
2779void sme_ResetPowerValuesFor5G (tHalHandle hHal);
2780
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002781#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002782/* ---------------------------------------------------------------------------
2783 \fn sme_UpdateRoamPrefer5GHz
2784 \brief enable/disable Roam prefer 5G runtime option
2785 This function is called through dynamic setConfig callback function
2786 to configure the Roam prefer 5G runtime option
2787 \param hHal - HAL handle for device
2788 \param nRoamPrefer5GHz Enable/Disable Roam prefer 5G runtime option
2789 \- return Success or failure
2790 -------------------------------------------------------------------------*/
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002791eHalStatus sme_UpdateRoamPrefer5GHz(tHalHandle hHal, v_BOOL_t nRoamPrefer5GHz);
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08002792
2793/* ---------------------------------------------------------------------------
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002794 \fn sme_setRoamIntraBand
2795 \brief enable/disable Intra band roaming
2796 This function is called through dynamic setConfig callback function
2797 to configure the intra band roaming
2798 \param hHal - HAL handle for device
2799 \param nRoamIntraBand Enable/Disable Intra band roaming
2800 \- return Success or failure
2801 -------------------------------------------------------------------------*/
2802eHalStatus sme_setRoamIntraBand(tHalHandle hHal, const v_BOOL_t nRoamIntraBand);
2803
2804/* ---------------------------------------------------------------------------
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002805 \fn sme_UpdateRoamScanNProbes
2806 \brief function to update roam scan N probes
2807 This function is called through dynamic setConfig callback function
2808 to update roam scan N probes
2809 \param hHal - HAL handle for device
2810 \param nProbes number of probe requests to be sent out
2811 \- return Success or failure
2812 -------------------------------------------------------------------------*/
2813eHalStatus sme_UpdateRoamScanNProbes(tHalHandle hHal, const v_U8_t nProbes);
2814
2815/* ---------------------------------------------------------------------------
2816 \fn sme_UpdateRoamScanHomeAwayTime
2817 \brief function to update roam scan Home away time
2818 This function is called through dynamic setConfig callback function
2819 to update roam scan home away time
2820 \param hHal - HAL handle for device
2821 \param nRoamScanAwayTime Scan home away time
2822 \- return Success or failure
2823 -------------------------------------------------------------------------*/
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -07002824eHalStatus sme_UpdateRoamScanHomeAwayTime(tHalHandle hHal,
2825 const v_U16_t nRoamScanHomeAwayTime,
2826 const eAniBoolean bSendOffloadCmd);
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002827
2828/* ---------------------------------------------------------------------------
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002829 \fn sme_getRoamIntraBand
2830 \brief get Intra band roaming
2831 \param hHal - HAL handle for device
2832 \- return Success or failure
2833 -------------------------------------------------------------------------*/
2834v_BOOL_t sme_getRoamIntraBand(tHalHandle hHal);
2835
2836/* ---------------------------------------------------------------------------
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002837 \fn sme_getRoamScanNProbes
2838 \brief get N Probes
2839 \param hHal - HAL handle for device
2840 \- return Success or failure
2841 -------------------------------------------------------------------------*/
2842v_U8_t sme_getRoamScanNProbes(tHalHandle hHal);
2843
2844/* ---------------------------------------------------------------------------
2845 \fn sme_getRoamScanHomeAwayTime
2846 \brief get Roam scan home away time
2847 \param hHal - HAL handle for device
2848 \- return Success or failure
2849 -------------------------------------------------------------------------*/
2850v_U16_t sme_getRoamScanHomeAwayTime(tHalHandle hHal);
2851
2852/* ---------------------------------------------------------------------------
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08002853 \fn sme_UpdateImmediateRoamRssiDiff
2854 \brief Update nImmediateRoamRssiDiff
2855 This function is called through dynamic setConfig callback function
2856 to configure nImmediateRoamRssiDiff
2857 Usage: adb shell iwpriv wlan0 setConfig gImmediateRoamRssiDiff=[0 .. 125]
2858 \param hHal - HAL handle for device
2859 \param nImmediateRoamRssiDiff - minimum rssi difference between potential
2860 candidate and current AP.
2861 \- return Success or failure
2862 -------------------------------------------------------------------------*/
2863
2864eHalStatus sme_UpdateImmediateRoamRssiDiff(tHalHandle hHal, v_U8_t nImmediateRoamRssiDiff);
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002865
Srinivas Girigowdade697412013-02-14 16:31:48 -08002866/* ---------------------------------------------------------------------------
2867 \fn sme_UpdateRoamRssiDiff
2868 \brief Update RoamRssiDiff
2869 This function is called through dynamic setConfig callback function
2870 to configure RoamRssiDiff
2871 Usage: adb shell iwpriv wlan0 setConfig RoamRssiDiff=[0 .. 125]
2872 \param hHal - HAL handle for device
2873 \param RoamRssiDiff - minimum rssi difference between potential
2874 candidate and current AP.
2875 \- return Success or failure
2876 -------------------------------------------------------------------------*/
2877
2878eHalStatus sme_UpdateRoamRssiDiff(tHalHandle hHal, v_U8_t RoamRssiDiff);
2879
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002880/*--------------------------------------------------------------------------
2881 \brief sme_UpdateFastTransitionEnabled() - enable/disable Fast Transition support at runtime
2882 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
2883 isFastTransitionEnabled.
2884 This is a synchronuous call
2885 \param hHal - The handle returned by macOpen.
2886 \return eHAL_STATUS_SUCCESS - SME update isFastTransitionEnabled config successfully.
2887 Other status means SME is failed to update isFastTransitionEnabled.
2888 \sa
2889 --------------------------------------------------------------------------*/
2890
2891eHalStatus sme_UpdateFastTransitionEnabled(tHalHandle hHal,
2892 v_BOOL_t isFastTransitionEnabled);
Srinivas Girigowda100eb322013-03-15 16:48:20 -07002893
2894/* ---------------------------------------------------------------------------
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07002895 \fn sme_UpdateWESMode
2896 \brief Update WESMode
2897 This function is called through dynamic setConfig callback function
2898 to configure isWESModeEnabled
2899 \param hHal - HAL handle for device
2900 \param isWESModeEnabled - Enable/Disable WES Mode
2901 \- return Success or failure
2902 -------------------------------------------------------------------------*/
2903eHalStatus sme_UpdateWESMode(tHalHandle hHal, v_BOOL_t isWESModeEnabled);
2904
2905/* ---------------------------------------------------------------------------
Srinivas Girigowda100eb322013-03-15 16:48:20 -07002906 \fn sme_SetRoamScanControl
2907 \brief Set roam scan control
2908 This function is called to set roam scan control
2909 if roam scan control is set to 0, roaming scan cache is cleared
2910 any value other than 0 is treated as invalid value
2911 \param hHal - HAL handle for device
2912 \return eHAL_STATUS_SUCCESS - SME update config successfully.
2913 Other status means SME failure to update
2914 -------------------------------------------------------------------------*/
2915eHalStatus sme_SetRoamScanControl(tHalHandle hHal, v_BOOL_t roamScanControl);
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002916#endif /* (WLAN_FEATURE_VOWIFI_11R) || (FEATURE_WLAN_ESE) || (FEATURE_WLAN_LFR) */
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002917
2918#ifdef FEATURE_WLAN_LFR
2919/*--------------------------------------------------------------------------
2920 \brief sme_UpdateIsFastRoamIniFeatureEnabled() - enable/disable LFR support at runtime
Srinivas Girigowdade697412013-02-14 16:31:48 -08002921 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002922 isFastRoamIniFeatureEnabled.
2923 This is a synchronuous call
2924 \param hHal - The handle returned by macOpen.
2925 \return eHAL_STATUS_SUCCESS - SME update isFastRoamIniFeatureEnabled config successfully.
2926 Other status means SME is failed to update isFastRoamIniFeatureEnabled.
2927 \sa
2928 --------------------------------------------------------------------------*/
2929
Srinivas Girigowdade697412013-02-14 16:31:48 -08002930eHalStatus sme_UpdateIsFastRoamIniFeatureEnabled(tHalHandle hHal,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002931 const v_BOOL_t isFastRoamIniFeatureEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002932
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08002933/*--------------------------------------------------------------------------
Mukul Sharma2a271632014-10-13 14:59:01 +05302934 \brief sme_ConfigFwrRoaming() - enable/disable LFR support at runtime
2935 When Supplicant issue enabled / disable fwr based roaming on the basis
2936 of the Bssid modification in network block ( e.g. AutoJoin mody N/W block)
2937
2938 This is a synchronous call
2939 \param hHal - The handle returned by macOpen.
2940 \return eHAL_STATUS_SUCCESS - SME (enabled/disabled) offload scan successfully.
2941 Other status means SME is failed to (enabled/disabled) offload scan.
2942 \sa
2943 --------------------------------------------------------------------------*/
2944
2945eHalStatus sme_ConfigFwrRoaming(tHalHandle hHal,
2946 const v_BOOL_t isFastRoamEnabled);
2947
2948/*--------------------------------------------------------------------------
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08002949 \brief sme_UpdateIsMAWCIniFeatureEnabled() -
2950 Enable/disable LFR MAWC support at runtime
2951 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
2952 isMAWCIniFeatureEnabled.
2953 This is a synchronous call
2954 \param hHal - The handle returned by macOpen.
2955 \return eHAL_STATUS_SUCCESS - SME update MAWCEnabled config successfully.
2956 Other status means SME is failed to update MAWCEnabled.
2957 \sa
2958 --------------------------------------------------------------------------*/
2959eHalStatus sme_UpdateIsMAWCIniFeatureEnabled(tHalHandle hHal,
2960 const v_BOOL_t MAWCEnabled);
2961
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002962
2963#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2964/*--------------------------------------------------------------------------
2965 \brief sme_UpdateEnableFastRoamInConcurrency() - enable/disable LFR if Concurrent session exists
2966 This is a synchronuous call
2967 \param hHal - The handle returned by macOpen.
2968 \return eHAL_STATUS_SUCCESS
2969 Other status means SME is failed
2970 \sa
2971 --------------------------------------------------------------------------*/
2972
2973eHalStatus sme_UpdateEnableFastRoamInConcurrency(tHalHandle hHal,
2974 v_BOOL_t bFastRoamInConIniFeatureEnabled);
2975#endif
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002976#endif /* FEATURE_WLAN_LFR */
2977
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002978#ifdef FEATURE_WLAN_ESE
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002979/*--------------------------------------------------------------------------
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002980 \brief sme_UpdateIsEseFeatureEnabled() - enable/disable ESE support at runtime
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002981 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002982 isEseIniFeatureEnabled.
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002983 This is a synchronuous call
2984 \param hHal - The handle returned by macOpen.
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002985 \return eHAL_STATUS_SUCCESS - SME update isEseIniFeatureEnabled config successfully.
2986 Other status means SME is failed to update isEseIniFeatureEnabled.
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002987 \sa
2988 --------------------------------------------------------------------------*/
2989
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002990eHalStatus sme_UpdateIsEseFeatureEnabled(tHalHandle hHal,
2991 const v_BOOL_t isEseIniFeatureEnabled);
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002992
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002993#endif /* FEATURE_WLAN_ESE */
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002994
2995/*--------------------------------------------------------------------------
2996 \brief sme_UpdateConfigFwRssiMonitoring() - enable/disable firmware RSSI Monitornig at runtime
2997 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
2998 fEnableFwRssiMonitoring.
2999 This is a synchronuous call
3000 \param hHal - The handle returned by macOpen.
3001 \return eHAL_STATUS_SUCCESS - SME update fEnableFwRssiMonitoring config successfully.
3002 Other status means SME is failed to update
3003 \sa
3004 --------------------------------------------------------------------------*/
3005
3006eHalStatus sme_UpdateConfigFwRssiMonitoring(tHalHandle hHal,
3007 v_BOOL_t fEnableFwRssiMonitoring);
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003008
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003009#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdade697412013-02-14 16:31:48 -08003010/*--------------------------------------------------------------------------
3011 \brief sme_setNeighborLookupRssiThreshold() - update neighbor lookup rssi threshold
3012 This is a synchronuous call
3013 \param hHal - The handle returned by macOpen.
3014 \return eHAL_STATUS_SUCCESS - SME update config successful.
3015 Other status means SME is failed to update
3016 \sa
3017 --------------------------------------------------------------------------*/
3018eHalStatus sme_setNeighborLookupRssiThreshold(tHalHandle hHal,
3019 v_U8_t neighborLookupRssiThreshold);
3020
3021/*--------------------------------------------------------------------------
3022 \brief sme_setNeighborReassocRssiThreshold() - update neighbor reassoc rssi threshold
3023 This is a synchronuous call
3024 \param hHal - The handle returned by macOpen.
3025 \return eHAL_STATUS_SUCCESS - SME update config successful.
3026 Other status means SME is failed to update
3027 \sa
3028 --------------------------------------------------------------------------*/
3029eHalStatus sme_setNeighborReassocRssiThreshold(tHalHandle hHal,
3030 v_U8_t neighborReassocRssiThreshold);
3031
3032/*--------------------------------------------------------------------------
3033 \brief sme_getNeighborLookupRssiThreshold() - get neighbor lookup rssi threshold
3034 This is a synchronuous call
3035 \param hHal - The handle returned by macOpen.
3036 \return eHAL_STATUS_SUCCESS - SME update config successful.
3037 Other status means SME is failed to update
3038 \sa
3039 --------------------------------------------------------------------------*/
3040v_U8_t sme_getNeighborLookupRssiThreshold(tHalHandle hHal);
3041
3042/*--------------------------------------------------------------------------
3043 \brief sme_setNeighborScanRefreshPeriod() - set neighbor scan results refresh period
3044 This is a synchronuous call
3045 \param hHal - The handle returned by macOpen.
3046 \return eHAL_STATUS_SUCCESS - SME update config successful.
3047 Other status means SME is failed to update
3048 \sa
3049 --------------------------------------------------------------------------*/
3050eHalStatus sme_setNeighborScanRefreshPeriod(tHalHandle hHal,
3051 v_U16_t neighborScanResultsRefreshPeriod);
3052
3053/*--------------------------------------------------------------------------
3054 \brief sme_getNeighborScanRefreshPeriod() - get neighbor scan results refresh period
3055 This is a synchronuous call
3056 \param hHal - The handle returned by macOpen.
3057 \return eHAL_STATUS_SUCCESS - SME update config successful.
3058 Other status means SME is failed to update
3059 \sa
3060 --------------------------------------------------------------------------*/
3061v_U16_t sme_getNeighborScanRefreshPeriod(tHalHandle hHal);
3062
3063/*--------------------------------------------------------------------------
3064 \brief sme_getEmptyScanRefreshPeriod() - get empty scan refresh period
3065 This is a synchronuous call
3066 \param hHal - The handle returned by macOpen.
3067 \return eHAL_STATUS_SUCCESS - SME update config successful.
3068 Other status means SME is failed to update
3069 \sa
3070 --------------------------------------------------------------------------*/
3071v_U16_t sme_getEmptyScanRefreshPeriod(tHalHandle hHal);
3072
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003073/* ---------------------------------------------------------------------------
3074 \fn sme_UpdateEmptyScanRefreshPeriod
3075 \brief Update nEmptyScanRefreshPeriod
3076 This function is called through dynamic setConfig callback function
3077 to configure nEmptyScanRefreshPeriod
3078 Usage: adb shell iwpriv wlan0 setConfig nEmptyScanRefreshPeriod=[0 .. 60]
3079 \param hHal - HAL handle for device
3080 \param nEmptyScanRefreshPeriod - scan period following empty scan results.
3081 \- return Success or failure
3082 -------------------------------------------------------------------------*/
3083eHalStatus sme_UpdateEmptyScanRefreshPeriod(tHalHandle hHal, v_U16_t nEmptyScanRefreshPeriod);
3084
3085/* ---------------------------------------------------------------------------
3086 \fn sme_setNeighborScanMinChanTime
3087 \brief Update nNeighborScanMinChanTime
3088 This function is called through dynamic setConfig callback function
3089 to configure gNeighborScanChannelMinTime
3090 Usage: adb shell iwpriv wlan0 setConfig gNeighborScanChannelMinTime=[0 .. 60]
3091 \param hHal - HAL handle for device
3092 \param nNeighborScanMinChanTime - Channel minimum dwell time
3093 \- return Success or failure
3094 -------------------------------------------------------------------------*/
3095eHalStatus sme_setNeighborScanMinChanTime(tHalHandle hHal, const v_U16_t nNeighborScanMinChanTime);
3096
3097/* ---------------------------------------------------------------------------
3098 \fn sme_setNeighborScanMaxChanTime
3099 \brief Update nNeighborScanMaxChanTime
3100 This function is called through dynamic setConfig callback function
3101 to configure gNeighborScanChannelMaxTime
3102 Usage: adb shell iwpriv wlan0 setConfig gNeighborScanChannelMaxTime=[0 .. 60]
3103 \param hHal - HAL handle for device
3104 \param nNeighborScanMinChanTime - Channel maximum dwell time
3105 \- return Success or failure
3106 -------------------------------------------------------------------------*/
3107eHalStatus sme_setNeighborScanMaxChanTime(tHalHandle hHal, const v_U16_t nNeighborScanMaxChanTime);
3108
3109/* ---------------------------------------------------------------------------
3110 \fn sme_getNeighborScanMinChanTime
3111 \brief get neighbor scan min channel time
3112 \param hHal - The handle returned by macOpen.
3113 \return v_U16_t - channel min time value
3114 -------------------------------------------------------------------------*/
3115v_U16_t sme_getNeighborScanMinChanTime(tHalHandle hHal);
3116
3117/* ---------------------------------------------------------------------------
3118 \fn sme_getNeighborScanMaxChanTime
3119 \brief get neighbor scan max channel time
3120 \param hHal - The handle returned by macOpen.
3121 \return v_U16_t - channel max time value
3122 -------------------------------------------------------------------------*/
3123v_U16_t sme_getNeighborScanMaxChanTime(tHalHandle hHal);
3124
3125/* ---------------------------------------------------------------------------
3126 \fn sme_setNeighborScanPeriod
3127 \brief Update nNeighborScanPeriod
3128 This function is called through dynamic setConfig callback function
3129 to configure nNeighborScanPeriod
3130 Usage: adb shell iwpriv wlan0 setConfig nNeighborScanPeriod=[0 .. 60]
3131 \param hHal - HAL handle for device
3132 \param nNeighborScanPeriod - neighbor scan period
3133 \- return Success or failure
3134 -------------------------------------------------------------------------*/
3135eHalStatus sme_setNeighborScanPeriod(tHalHandle hHal, const v_U16_t nNeighborScanPeriod);
3136
3137/* ---------------------------------------------------------------------------
3138 \fn sme_getNeighborScanPeriod
3139 \brief get neighbor scan period
3140 \param hHal - The handle returned by macOpen.
3141 \return v_U16_t - neighbor scan period
3142 -------------------------------------------------------------------------*/
3143v_U16_t sme_getNeighborScanPeriod(tHalHandle hHal);
3144
3145#endif
Srinivas Girigowdade697412013-02-14 16:31:48 -08003146
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003147#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdade697412013-02-14 16:31:48 -08003148/*--------------------------------------------------------------------------
3149 \brief sme_getRoamRssiDiff() - get Roam rssi diff
3150 This is a synchronuous call
3151 \param hHal - The handle returned by macOpen.
3152 \return eHAL_STATUS_SUCCESS - SME update config successful.
3153 Other status means SME is failed to update
3154 \sa
3155 --------------------------------------------------------------------------*/
3156v_U8_t sme_getRoamRssiDiff(tHalHandle hHal);
3157
3158/*--------------------------------------------------------------------------
3159 \brief sme_ChangeRoamScanChannelList() - Change roam scan channel list
3160 This is a synchronuous call
3161 \param hHal - The handle returned by macOpen.
3162 \return eHAL_STATUS_SUCCESS - SME update config successful.
3163 Other status means SME is failed to update
3164 \sa
3165 --------------------------------------------------------------------------*/
3166eHalStatus sme_ChangeRoamScanChannelList(tHalHandle hHal, tANI_U8 *pChannelList,
3167 tANI_U8 numChannels);
3168
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003169#ifdef FEATURE_WLAN_ESE_UPLOAD
Srinivas Girigowda5cecb202013-10-08 09:13:25 -07003170/*--------------------------------------------------------------------------
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003171 \brief sme_SetEseRoamScanChannelList() - set ese roam scan channel list
Srinivas Girigowda5cecb202013-10-08 09:13:25 -07003172 This is a synchronuous call
3173 \param hHal - The handle returned by macOpen.
3174 \return eHAL_STATUS_SUCCESS - SME update config successful.
3175 Other status means SME is failed to update
3176 \sa
3177 --------------------------------------------------------------------------*/
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003178eHalStatus sme_SetEseRoamScanChannelList(tHalHandle hHal,
Srinivas Girigowda5cecb202013-10-08 09:13:25 -07003179 tANI_U8 *pChannelList,
3180 tANI_U8 numChannels);
3181#endif
3182
Srinivas Girigowdade697412013-02-14 16:31:48 -08003183/*--------------------------------------------------------------------------
Srinivas Girigowdade697412013-02-14 16:31:48 -08003184 \brief sme_getRoamScanChannelList() - get roam scan channel list
3185 This is a synchronuous call
3186 \param hHal - The handle returned by macOpen.
3187 \return eHAL_STATUS_SUCCESS - SME update config successful.
3188 Other status means SME is failed to update
3189 \sa
3190 --------------------------------------------------------------------------*/
3191eHalStatus sme_getRoamScanChannelList(tHalHandle hHal, tANI_U8 *pChannelList,
3192 tANI_U8 *pNumChannels);
3193
3194/*--------------------------------------------------------------------------
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003195 \brief sme_getIsEseFeatureEnabled() - get ESE feature enabled or not
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003196 This is a synchronuous call
3197 \param hHal - The handle returned by macOpen.
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003198 \return TRUE (1) - if the ESE feature is enabled
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003199 FALSE (0) - if feature is disabled (compile or runtime)
3200 \sa
3201 --------------------------------------------------------------------------*/
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003202tANI_BOOLEAN sme_getIsEseFeatureEnabled(tHalHandle hHal);
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003203
3204/*--------------------------------------------------------------------------
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07003205 \brief sme_getWESMode() - getWES Mode
3206 This is a synchronous call
3207 \param hHal - The handle returned by macOpen.
3208 \return v_U8_t - WES Mode Enabled(1)/Disabled(0)
3209 \sa
3210 --------------------------------------------------------------------------*/
3211v_BOOL_t sme_GetWESMode(tHalHandle hHal);
3212
3213/*--------------------------------------------------------------------------
Srinivas Girigowda100eb322013-03-15 16:48:20 -07003214 \brief sme_GetRoamScanControl() - get scan control
3215 This is a synchronous call
3216 \param hHal - The handle returned by macOpen.
3217 \return v_BOOL_t - Enabled(1)/Disabled(0)
3218 \sa
3219 --------------------------------------------------------------------------*/
3220v_BOOL_t sme_GetRoamScanControl(tHalHandle hHal);
3221
3222/* ---------------------------------------------------------------------------
3223 \fn sme_UpdateEmptyScanRefreshPeriod
3224 \brief Update nnEmptyScanRefreshPeriod
3225 This function is called through dynamic setConfig callback function
3226 to configure nnEmptyScanRefreshPeriod
3227 Usage: adb shell iwpriv wlan0 setConfig nEmptyScanRefreshPeriod=[0 .. 60]
3228 \param hHal - HAL handle for device
3229 \param nEmptyScanRefreshPeriod - scan period following empty scan results.
3230 \- return Success or failure
3231 -------------------------------------------------------------------------*/
3232
3233/*--------------------------------------------------------------------------
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003234 \brief sme_getIsLfrFeatureEnabled() - get LFR feature enabled or not
3235 This is a synchronuous call
3236 \param hHal - The handle returned by macOpen.
3237 \return TRUE (1) - if the feature is enabled
3238 FALSE (0) - if feature is disabled (compile or runtime)
3239 \sa
3240 --------------------------------------------------------------------------*/
3241tANI_BOOLEAN sme_getIsLfrFeatureEnabled(tHalHandle hHal);
3242
3243/*--------------------------------------------------------------------------
3244 \brief sme_getIsFtFeatureEnabled() - get FT feature enabled or not
3245 This is a synchronuous call
3246 \param hHal - The handle returned by macOpen.
3247 \return TRUE (1) - if the feature is enabled
3248 FALSE (0) - if feature is disabled (compile or runtime)
3249 \sa
3250 --------------------------------------------------------------------------*/
3251tANI_BOOLEAN sme_getIsFtFeatureEnabled(tHalHandle hHal);
3252
Srinivas Girigowdade697412013-02-14 16:31:48 -08003253#endif
3254
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07003255#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
3256/*--------------------------------------------------------------------------
3257 \brief sme_UpdateRoamScanOffloadEnabled() - enable/disable roam scan offload feaure
3258 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
3259 gRoamScanOffloadEnabled.
3260 This is a synchronous call
3261 \param hHal - The handle returned by macOpen.
3262 \return eHAL_STATUS_SUCCESS - SME update config successfully.
3263 Other status means SME is failed to update.
3264 \sa
3265 --------------------------------------------------------------------------*/
3266
3267eHalStatus sme_UpdateRoamScanOffloadEnabled(tHalHandle hHal, v_BOOL_t nRoamScanOffloadEnabled);
3268#endif
3269
c_manjeecfd1efb2015-09-25 19:32:34 +05303270eHalStatus sme_FwMemDumpReq(tHalHandle hHal, tAniFwrDumpReq *recv_req);
3271
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07003272
Srinivas Girigowdade697412013-02-14 16:31:48 -08003273/* ---------------------------------------------------------------------------
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003274 \fn sme_IsFeatureSupportedByFW
Kiet Lam0f320422013-11-21 19:29:17 +05303275 \brief Check if a feature is enabled by FW
3276
3277 \param featEnumValue - Enumeration value of the feature to be checked.
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003278 A value from enum placeHolderInCapBitmap
3279
3280 \- return 1/0 (TRUE/FALSE)
3281 -------------------------------------------------------------------------*/
3282tANI_U8 sme_IsFeatureSupportedByFW(tANI_U8 featEnumValue);
Kiet Lam0f320422013-11-21 19:29:17 +05303283
3284/* ---------------------------------------------------------------------------
3285 \fn sme_IsFeatureSupportedByDriver
3286 \brief Check if a feature is enabled by driver
3287
3288 \param featEnumValue - Enumeration value of the feature to be checked.
3289 A value from enum placeHolderInCapBitmap
3290
3291 \- return 1/0 (TRUE/FALSE)
3292 -------------------------------------------------------------------------*/
3293tANI_U8 sme_IsFeatureSupportedByDriver(tANI_U8 featEnumValue);
3294
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003295#ifdef FEATURE_WLAN_TDLS
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303296
3297/* ---------------------------------------------------------------------------
3298 \fn sme_SendTdlsLinkEstablishParams
3299 \brief API to send TDLS Link Establishment Parameters.
3300
3301 \param peerMac - peer's Mac Adress.
3302 \param tdlsLinkEstablishParams - TDLS Peer Link Establishment Parameters
3303 \- return VOS_STATUS_SUCCES
3304 -------------------------------------------------------------------------*/
3305
3306VOS_STATUS sme_SendTdlsLinkEstablishParams(tHalHandle hHal,
Anand N Sunkadc205d952015-07-30 15:36:03 +05303307 tANI_U8 sessionId,
3308#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
3309 const tSirMacAddr peerMac,
3310#else
3311 tSirMacAddr peerMac,
3312#endif
3313 tCsrTdlsLinkEstablishParams *tdlsLinkEstablishParams);
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303314
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003315/* ---------------------------------------------------------------------------
3316 \fn sme_SendTdlsMgmtFrame
3317 \brief API to send TDLS management frames.
3318
3319 \param peerMac - peer's Mac Adress.
3320 \param frame_type - Type of TDLS mgmt frame to be sent.
3321 \param dialog - dialog token used in the frame.
3322 \param status - status to be incuded in the frame.
Pradeep Reddy POTTETIca171f82014-03-21 14:17:35 +05303323 \param peerCapability - peerCapability to be incuded in the frame.
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003324 \param buf - additional IEs to be included
3325 \param len - lenght of additional Ies
Hoonki Leea34dd892013-02-05 22:56:02 -08003326 \param responder - Tdls request type
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003327 \- return VOS_STATUS_SUCCES
3328 -------------------------------------------------------------------------*/
Anand N Sunkadc205d952015-07-30 15:36:03 +05303329VOS_STATUS sme_SendTdlsMgmtFrame(tHalHandle hHal, tANI_U8 sessionId,
3330#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
3331 const tSirMacAddr peerMac,
3332#else
3333 tSirMacAddr peerMac,
3334#endif
3335 tANI_U8 frame_type, tANI_U8 dialog,
3336 tANI_U16 status, tANI_U32 peerCapability,
3337 tANI_U8 *buf, tANI_U8 len, tANI_U8 responder);
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003338/* ---------------------------------------------------------------------------
Gopichand Nakkala681989c2013-03-06 22:27:48 -08003339 \fn sme_ChangeTdlsPeerSta
3340 \brief API to Update TDLS peer sta parameters.
3341
3342 \param peerMac - peer's Mac Adress.
3343 \param staParams - Peer Station Parameters.
3344 \- return VOS_STATUS_SUCCES
3345 -------------------------------------------------------------------------*/
Anand N Sunkadb3ab97d2015-07-29 09:58:13 +05303346VOS_STATUS sme_ChangeTdlsPeerSta(tHalHandle hHal, tANI_U8 sessionId,
3347#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
3348 const tSirMacAddr peerMac,
3349#else
3350 tSirMacAddr peerMac,
3351#endif
Gopichand Nakkala681989c2013-03-06 22:27:48 -08003352 tCsrStaParams *pstaParams);
3353/* ---------------------------------------------------------------------------
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003354 \fn sme_AddTdlsPeerSta
3355 \brief API to Add TDLS peer sta entry.
3356
3357 \param peerMac - peer's Mac Adress.
3358 \- return VOS_STATUS_SUCCES
3359 -------------------------------------------------------------------------*/
Anand N Sunkadb3ab97d2015-07-29 09:58:13 +05303360VOS_STATUS sme_AddTdlsPeerSta(tHalHandle hHal, tANI_U8 sessionId,
3361#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
3362 const tSirMacAddr peerMac
3363#else
3364 tSirMacAddr peerMac
3365#endif
3366 );
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003367/* ---------------------------------------------------------------------------
3368 \fn sme_DeleteTdlsPeerSta
3369 \brief API to Delete TDLS peer sta entry.
3370
3371 \param peerMac - peer's Mac Adress.
3372 \- return VOS_STATUS_SUCCES
3373 -------------------------------------------------------------------------*/
Anand N Sunkadc205d952015-07-30 15:36:03 +05303374VOS_STATUS sme_DeleteTdlsPeerSta(tHalHandle hHal, tANI_U8 sessionId,
3375#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
3376 const tSirMacAddr peerMac
3377#else
3378 tSirMacAddr peerMac
3379#endif
3380 );
Gopichand Nakkala75e7b282013-03-15 18:37:13 -07003381/* ---------------------------------------------------------------------------
Gopichand Nakkalaccd3a382013-03-19 13:56:10 -07003382 \fn sme_SetTdlsPowerSaveProhibited
3383 \API to set/reset the isTdlsPowerSaveProhibited.
3384
3385 \- return void
3386 -------------------------------------------------------------------------*/
3387void sme_SetTdlsPowerSaveProhibited(tHalHandle hHal, v_BOOL_t val);
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003388#endif
Gopichand Nakkalafe7246d2013-06-10 17:43:37 +05303389/* ---------------------------------------------------------------------------
3390 \fn sme_IsPmcBmps
3391 \brief API to Check if PMC state is BMPS.
3392
3393 \- return v_BOOL_t
3394 -------------------------------------------------------------------------*/
3395v_BOOL_t sme_IsPmcBmps(tHalHandle hHal);
3396
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07003397eHalStatus sme_UpdateDfsSetting(tHalHandle hHal, tANI_U8 fUpdateEnableDFSChnlScan);
Mohit Khanna698ba2a2012-12-04 15:08:18 -08003398
Padma, Santhosh Kumar778d8382015-03-04 17:41:22 +05303399/* ---------------------------------------------------------------------------
3400 \fn sme_UpdateDFSRoamMode
3401 \brief Update DFS roam scan mode
3402 This function is called to configure allowDFSChannelRoam
3403 dynamically
3404 \param hHal - HAL handle for device
3405 \param allowDFSChannelRoam - DFS roaming scan mode
3406 mode 0 disable roam scan on DFS channels
3407 mode 1 enables roam scan (passive/active) on DFS channels
3408 \return eHAL_STATUS_SUCCESS - SME update DFS roaming scan config
3409 successfully.
3410 Other status means SME failed to update DFS roaming scan config.
3411 \sa
3412 -------------------------------------------------------------------------*/
3413eHalStatus sme_UpdateDFSRoamMode(tHalHandle hHal, tANI_U8 allowDFSChannelRoam);
3414
3415/* ---------------------------------------------------------------------------
3416 \fn sme_UpdateDFSScanMode
3417 \brief Update DFS scan mode
3418 This function is called to configure fEnableDFSChnlScan.
3419 \param hHal - HAL handle for device
3420 \param dfsScanMode - DFS scan mode
3421 mode 0 disable scan on DFS channels
3422 mode 1 enables passive scan on DFS channels
3423 mode 2 enables active scan on DFS channels for static list
3424 \return eHAL_STATUS_SUCCESS - SME update DFS roaming scan config
3425 successfully.
3426 Other status means SME failed to update DFS scan config.
3427 \sa
3428 -------------------------------------------------------------------------*/
3429eHalStatus sme_UpdateDFSScanMode(tHalHandle hHal, tANI_U8 dfsScanMode);
3430
3431/*--------------------------------------------------------------------------
3432 \brief sme_GetDFSScanMode() - get DFS scan mode
3433 \param hHal - The handle returned by macOpen.
3434 \return DFS scan mode
3435 mode 0 disable scan on DFS channels
3436 mode 1 enables passive scan on DFS channels
3437 mode 2 enables active scan on DFS channels for static list
3438 \sa
3439 --------------------------------------------------------------------------*/
3440v_U8_t sme_GetDFSScanMode(tHalHandle hHal);
3441
3442/* ---------------------------------------------------------------------------
3443 \fn sme_HandleDFSChanScan
3444 \brief Gets Valid channel list and updates scan control list according to
3445 dfsScanMode
3446 \param hHal - HAL handle for device
3447 \return eHAL_STATUS_FAILURE when failed to get valid channel list
3448 Otherwise eHAL_STATUS_SUCCESS -
3449 \sa
3450 -------------------------------------------------------------------------*/
3451eHalStatus sme_HandleDFSChanScan(tHalHandle hHal);
3452
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003453/*
3454 * SME API to enable/disable WLAN driver initiated SSR
3455 */
3456void sme_UpdateEnableSSR(tHalHandle hHal, tANI_BOOLEAN enableSSR);
3457
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05303458/* ---------------------------------------------------------------------------
3459
3460 \fn sme_SetPhyMode
3461
3462 \brief Changes the PhyMode.
3463
3464 \param hHal - The handle returned by macOpen.
3465
3466 \param phyMode new phyMode which is to set
3467
3468 \return eHalStatus SUCCESS.
3469
3470 -------------------------------------------------------------------------------*/
3471eHalStatus sme_SetPhyMode(tHalHandle hHal, eCsrPhyMode phyMode);
3472
3473/* ---------------------------------------------------------------------------
3474
3475 \fn sme_GetPhyMode
3476
3477 \brief gets current PhyMode.
3478
3479 \param hHal - The handle returned by macOpen.
3480
3481 \return eHalStatus PhyMode
3482
3483 -------------------------------------------------------------------------------*/
3484eCsrPhyMode sme_GetPhyMode(tHalHandle hHal);
3485
Ravi Joshiaeb7d9e2013-05-02 12:28:14 -07003486/*
3487 * SME API to determine the channel bonding mode
3488 */
3489VOS_STATUS sme_SelectCBMode(tHalHandle hHal, eCsrPhyMode eCsrPhyMode, tANI_U8 channel);
3490
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -07003491#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
3492/*--------------------------------------------------------------------------
3493 \brief sme_HandoffRequest() - a wrapper function to Request a handoff
3494 from CSR.
3495 This is a synchronous call
3496 \param hHal - The handle returned by macOpen
3497 \param pHandoffInfo - info provided by HDD with the handoff request (namely:
3498 BSSID, channel etc.)
3499 \return eHAL_STATUS_SUCCESS - SME passed the request to CSR successfully.
3500 Other status means SME is failed to send the request.
3501 \sa
3502 --------------------------------------------------------------------------*/
3503
3504eHalStatus sme_HandoffRequest(tHalHandle hHal, tCsrHandoffRequest *pHandoffInfo);
3505#endif
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07003506/*--------------------------------------------------------------------------
3507 \brief sme_isSta_p2p_clientConnected() - a wrapper function to check if there
3508 is any connected session .
3509 This is a synchronous call
3510 \param hHal - The handle returned by macOpen
3511 \return VOS_STATUS - SME passed the request to CSR successfully.
3512 Other status means SME is failed to send the request.
3513 \sa
3514 --------------------------------------------------------------------------*/
Sudhir Sattayappa Kohallib1d8c3a2013-06-18 14:47:20 -07003515VOS_STATUS sme_isSta_p2p_clientConnected(tHalHandle hHal);
Leo Chang9056f462013-08-01 19:21:11 -07003516
Agarwal Ashish57e84372014-12-05 18:26:53 +05303517/*--------------------------------------------------------------------------
3518 \brief hdd_is_any_session_connected() - a wrapper function to check if there
3519 is any connected session .
3520 This is a synchronous call
3521 \param hHal - The handle returned by macOpen
3522 \return VOS_STATUS - SME passed the request to CSR successfully.
3523 Other status means SME is failed to send the request.
3524 \sa
3525 --------------------------------------------------------------------------*/
3526VOS_STATUS sme_is_any_session_connected(tHalHandle hHal);
3527
Leo Chang9056f462013-08-01 19:21:11 -07003528#ifdef FEATURE_WLAN_LPHB
3529/* ---------------------------------------------------------------------------
3530 \fn sme_LPHBConfigReq
3531 \API to make configuration LPHB within FW.
3532 \param hHal - The handle returned by macOpen
3533 \param lphdReq - LPHB request argument by client
3534 \param pCallbackfn - LPHB timeout notification callback function pointer
3535 \- return Configuration message posting status, SUCCESS or Fail
3536 -------------------------------------------------------------------------*/
3537eHalStatus sme_LPHBConfigReq(
3538 tHalHandle hHal,
3539 tSirLPHBReq *lphdReq,
3540 void (*pCallbackfn)(void *pAdapter, void *indParam));
3541#endif /* FEATURE_WLAN_LPHB */
Yue Mab9c86f42013-08-14 15:59:08 -07003542
3543/* ---------------------------------------------------------------------------
3544 \fn sme_AddPeriodicTxPtrn
3545 \brief API to Periodic TX Pattern Offload feature
3546 \param hHal - The handle returned by macOpen
3547 \param addPeriodicTxPtrnParams - Pointer to the add pattern structure
3548 \return eHalStatus
3549 ---------------------------------------------------------------------------*/
3550eHalStatus sme_AddPeriodicTxPtrn(tHalHandle hHal, tSirAddPeriodicTxPtrn
3551 *addPeriodicTxPtrnParams);
3552
3553/* ---------------------------------------------------------------------------
3554 \fn sme_DelPeriodicTxPtrn
3555 \brief API to Periodic TX Pattern Offload feature
3556 \param hHal - The handle returned by macOpen
3557 \param delPeriodicTxPtrnParams - Pointer to the deleting pattern structure
3558 \return eHalStatus
3559 ---------------------------------------------------------------------------*/
3560eHalStatus sme_DelPeriodicTxPtrn(tHalHandle hHal, tSirDelPeriodicTxPtrn
3561 *delPeriodicTxPtrnParams);
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07003562/*--------------------------------------------------------------------------
3563 \brief sme_enable_disable_split_scan() - a wrapper function to set the split
3564 scan parameter.
3565 This is a synchronous call
3566 \param hHal - The handle returned by macOpen
3567 \return None.
3568 \sa
3569 --------------------------------------------------------------------------*/
3570void sme_enable_disable_split_scan (tHalHandle hHal, tANI_U8 nNumStaChan,
3571 tANI_U8 nNumP2PChan);
Madan Mohan Koyyalamudi48101412013-09-11 23:09:37 +05303572
Chittajit Mitraf5413a42013-10-18 14:20:08 -07003573/* ---------------------------------------------------------------------------
3574 \fn sme_SendRateUpdateInd
3575 \brief API to Update rate
3576 \param hHal - The handle returned by macOpen
3577 \param rateUpdateParams - Pointer to rate update params
3578 \return eHalStatus
3579 ---------------------------------------------------------------------------*/
3580eHalStatus sme_SendRateUpdateInd(tHalHandle hHal, tSirRateUpdateInd *rateUpdateParams);
3581
Madan Mohan Koyyalamudi48101412013-09-11 23:09:37 +05303582/*
3583 * sme API to trigger fast BSS roam to a given BSSID independent of RSSI
3584 * triggers
3585 * return status
3586*/
3587eHalStatus smeIssueFastRoamNeighborAPEvent (tHalHandle hHal,
3588 tANI_U8 *bssid,
Mukul Sharma9e4e0f92015-02-13 18:45:20 +05303589 tSmeFastRoamTrigger fastRoamTrig,
3590 tANI_U8 channel);
Kanchanapally, Vidyullatha2633ace2014-09-25 15:16:50 +05303591
3592eHalStatus sme_RoamDelPMKIDfromCache( tHalHandle hHal, tANI_U8 sessionId,
Anand N Sunkadb3ab97d2015-07-29 09:58:13 +05303593#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
3594 const tANI_U8 *pBSSId,
3595#else
Kanchanapally, Vidyullatha2633ace2014-09-25 15:16:50 +05303596 tANI_U8 *pBSSId,
Anand N Sunkadb3ab97d2015-07-29 09:58:13 +05303597#endif
Kanchanapally, Vidyullatha2633ace2014-09-25 15:16:50 +05303598 tANI_BOOLEAN flush_cache );
Tushnim Bhattacharyyaad37df12013-10-02 12:01:33 -07003599
3600void smeGetCommandQStatus( tHalHandle hHal );
Rajeev79dbe4c2013-10-05 11:03:42 +05303601
3602#ifdef FEATURE_WLAN_BATCH_SCAN
3603/* ---------------------------------------------------------------------------
3604 \fn sme_SetBatchScanReq
3605 \brief API to set batch scan request in FW
3606 \param hHal - The handle returned by macOpen.
3607 \param pRequest - Pointer to the batch request.
3608 \param sessionId - session ID
3609 \param callbackRoutine - HDD callback which needs to be invoked after
3610 getting set batch scan response from FW
3611 \param callbackContext - pAdapter context
3612 \return eHalStatus
3613 ---------------------------------------------------------------------------*/
3614eHalStatus
3615sme_SetBatchScanReq
3616(
3617 tHalHandle hHal, tSirSetBatchScanReq *pRequest, tANI_U8 sessionId,
3618 void (*callbackRoutine) (void *callbackCtx, tSirSetBatchScanRsp *pRsp),
3619 void *callbackContext
3620);
3621
3622/* ---------------------------------------------------------------------------
3623 \fn sme_TriggerBatchScanResultInd
3624 \brief API to trigger batch scan result indications from from FW
3625 \param hHal - The handle returned by macOpen.
3626 \param pRequest - Pointer to get batch request.
3627 \param sessionId - session ID
3628 \param callbackRoutine - HDD callback which needs to be invoked after
3629 getting get batch scan response from FW
3630 \param callbackContext - pAdapter context
3631 \return eHalStatus
3632 ---------------------------------------------------------------------------*/
3633eHalStatus
3634sme_TriggerBatchScanResultInd
3635(
3636 tHalHandle hHal, tSirTriggerBatchScanResultInd *pRequest, tANI_U8 sessionId,
3637 void (*callbackRoutine) (void *callbackCtx, void *pRsp),
3638 void *callbackContext
3639);
3640
3641/* ---------------------------------------------------------------------------
3642 \fn sme_StopBatchScanInd
3643 \brief API to stop batch scan request in FW
3644 \param hHal - The handle returned by macOpen.
3645 \param pRequest - Pointer to stop batch indication
3646 \return eHalStatus
3647 ---------------------------------------------------------------------------*/
3648eHalStatus
3649sme_StopBatchScanInd
3650(
3651 tHalHandle hHal, tSirStopBatchScanInd *pInd, tANI_U8 sessionId
3652);
3653
3654#endif
Leo Chang0b0e45a2013-12-15 15:18:55 -08003655
3656#ifdef FEATURE_WLAN_CH_AVOID
3657/* ---------------------------------------------------------------------------
3658 \fn sme_AddChAvoidCallback
3659 \brief Used to plug in callback function
3660 Which notify channel may not be used with SAP or P2PGO mode.
3661 Notification come from FW.
3662 \param hHal
3663 \param pCallbackfn : callback function pointer should be plugged in
3664 \- return eHalStatus
3665 -------------------------------------------------------------------------*/
3666eHalStatus sme_AddChAvoidCallback
3667(
3668 tHalHandle hHal,
3669 void (*pCallbackfn)(void *pAdapter, void *indParam)
3670);
3671#endif /* FEATURE_WLAN_CH_AVOID */
Tushnim Bhattacharyyaed4d0c22014-01-30 11:56:44 -08003672eHalStatus sme_UpdateConnectDebug(tHalHandle hHal, tANI_U32 set_value);
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +05303673
Sushant Kaushike0d2cce2014-04-10 14:36:07 +05303674/* ---------------------------------------------------------------------------
3675 \fn sme_requestTypetoString
3676 \brief API to convert requestType enum values
3677 to string.
3678 ---------------------------------------------------------------------------*/
3679const char * sme_requestTypetoString(const v_U8_t requestType);
3680/* ---------------------------------------------------------------------------
3681 \fn sme_PmcStatetoString
3682 \brief API to convert PmcState enum values
3683 to string.
3684 ---------------------------------------------------------------------------*/
3685const char * sme_PmcStatetoString(const v_U8_t pmcState);
c_hpothu92367912014-05-01 15:18:17 +05303686
3687eHalStatus sme_getBcnMissRate(tHalHandle, tANI_U8, void *, void *);
3688
Agarwal Ashish5e414792014-06-08 15:25:23 +05303689tANI_BOOLEAN sme_Is11dCountrycode(tHalHandle hHal);
Atul Mittalc0f739f2014-07-31 13:47:47 +05303690
3691// tdlsoffchan
3692VOS_STATUS sme_SendTdlsChanSwitchReq(tHalHandle hHal,
3693 tANI_U8 sessionId,
3694 tSirMacAddr peerMac,
3695 tANI_S32 tdlsOffCh,
3696 tANI_S32 tdlsOffChBwOffset,
3697 tANI_U8 tdlsSwMode);
Abhishek Singh08aa7762014-12-16 13:59:03 +05303698eHalStatus sme_GetFwStats(tHalHandle hHal, tANI_U32 stats,
3699 void *pContext, tSirFWStatsCallback callback);
Ganesh Kondabattini8f6e3b32014-08-25 16:07:54 +05303700void sme_SetMiracastMode (tHalHandle hHal,tANI_U8 mode);
c_hpothuef45bc32014-09-11 10:10:18 +05303701
3702void sme_resetCoexEevent(tHalHandle hHal);
3703
Peng Xu117eab42014-09-25 13:33:27 +05303704tANI_U32 sme_GetChannelBondingMode5G(tHalHandle hHal);
3705tANI_U32 sme_GetChannelBondingMode24G(tHalHandle hHal);
Hardik Kantilal Pateldd107952014-11-20 15:24:52 +05303706#ifdef WLAN_FEATURE_AP_HT40_24G
3707void sme_UpdateChannelBondingMode24G(tHalHandle hHal,
3708 tANI_U8 cbMode);
Hardik Kantilal Patel62a3a762014-11-21 12:55:57 +05303709eHalStatus sme_SetHT2040Mode(tHalHandle hHal,
3710 tANI_U8 sessionId, tANI_U8 cbMode);
Hardik Kantilal Pateldd107952014-11-20 15:24:52 +05303711#endif
Peng Xu117eab42014-09-25 13:33:27 +05303712
Gupta, Kapil7c34b322015-09-30 13:12:35 +05303713eHalStatus sme_set_rssi_threshold_breached_cb(tHalHandle hal,
3714 void (*cb)(void *, struct rssi_breach_event *));
3715
Agarwal Ashish738843c2014-09-25 12:27:56 +05303716void sme_disable_dfs_channel(tHalHandle hHal, bool disable_dfs);
3717
Srinivas Dasarib8fdd422014-11-27 10:44:20 +05303718/* HDD Callback function */
3719typedef void(*pEncryptMsgRSPCb)(void *pUserData, void *infoParam);
3720
3721eHalStatus sme_Encryptmsgsend (tHalHandle hHal,
3722 u8 *pCmd,
3723 int length,
3724 pEncryptMsgRSPCb encCB);
3725
Pradeep Reddy POTTETIf0569d72014-12-13 16:54:03 +05303726/* ---------------------------------------------------------------------------
3727 \fn sme_RegisterBtCoexTDLSCallback
3728 \brief Used to plug in callback function
3729 Which notify btcoex on or off.
3730 Notification come from FW.
3731 \param hHal
3732 \param pCallbackfn : callback function pointer should be plugged in
3733 \- return eHalStatus
3734 -------------------------------------------------------------------------*/
3735eHalStatus sme_RegisterBtCoexTDLSCallback
3736(
3737 tHalHandle hHal,
3738 void (*pCallbackfn)(void *pAdapter, int)
3739);
Srinivas Dasarib8fdd422014-11-27 10:44:20 +05303740
Padma, Santhosh Kumar98f271d2014-12-31 17:23:31 +05303741/* ---------------------------------------------------------------------------
Padma, Santhosh Kumar3b9657d2015-02-04 19:37:32 +05303742 \fn smeNeighborMiddleOfRoaming
Padma, Santhosh Kumar98f271d2014-12-31 17:23:31 +05303743
Padma, Santhosh Kumar3b9657d2015-02-04 19:37:32 +05303744 \brief This function is a wrapper to call csrNeighborMiddleOfRoaming
Padma, Santhosh Kumar98f271d2014-12-31 17:23:31 +05303745
3746 \param hHal - The handle returned by macOpen.
3747
3748 \return eANI_BOOLEAN_TRUE if reassoc in progress,
3749 eANI_BOOLEAN_FALSE otherwise
3750---------------------------------------------------------------------------*/
Padma, Santhosh Kumar3b9657d2015-02-04 19:37:32 +05303751tANI_BOOLEAN smeNeighborMiddleOfRoaming(tHalHandle hHal);
Padma, Santhosh Kumar98f271d2014-12-31 17:23:31 +05303752
Pradeep Reddy POTTETIe8bd41a2015-01-29 14:52:43 +05303753/* ---------------------------------------------------------------------------
3754
3755 \fn sme_IsTdlsOffChannelValid
3756 \brief To check if the channel is valid for currently established domain
3757 This is a synchronous API.
3758
3759 \param hHal - The handle returned by macOpen.
3760 \param channel - channel to verify
3761
3762 \return TRUE/FALSE, TRUE if channel is valid
3763
3764 -------------------------------------------------------------------------------*/
3765tANI_BOOLEAN sme_IsTdlsOffChannelValid(tHalHandle hHal, tANI_U8 channel);
3766
Mukul Sharma4be88422015-03-09 20:29:07 +05303767/* --------------------------------------------------------------------------
3768
3769 \fn sme_IsCoexScoIndicationSet
3770 \brief To check if the BTC module in fwr has sent the SCO
3771 indication to host or not
3772
3773 \param hHal - The handle returned by macOpen.
3774 \return TRUE - Sco call in progress FALSE- No SCO call in progress
3775
3776 --------------------------------------------------------------------------*/
3777tANI_BOOLEAN sme_IsCoexScoIndicationSet(tHalHandle hHal);
3778
Abhishek Singh01c73d12015-03-12 15:13:44 +05303779eHalStatus sme_SetMiracastVendorConfig(tHalHandle hHal,
3780 tANI_U32 iniNumBuffAdvert,
3781 tANI_U32 set_value);
3782
Mukul Sharma45063942015-04-01 20:07:59 +05303783void sme_SetDefDot11Mode(tHalHandle hHal);
Pradeep Reddy POTTETI31505892015-04-16 16:47:54 +05303784
3785/* ---------------------------------------------------------------------------
3786 \fn sme_SetTdls2040BSSCoexistence
3787 \brief API to enable or disable 20_40 BSS Coexistence IE in TDLS frames.
3788
3789 \param isEnabled - Enable or Disable.
3790 \- return VOS_STATUS_SUCCES
3791 -------------------------------------------------------------------------*/
3792eHalStatus sme_SetTdls2040BSSCoexistence(tHalHandle hHal, tANI_S32 isEnabled);
3793
Abhishek Singh41988ba2015-05-25 19:42:29 +05303794/* ---------------------------------------------------------------------------
3795 \fn sme_SetRtsCtsHtVht
3796 \brief API to to enable/disable RTS/CTS for different modes.
3797
3798 \param set_value - Bit mask value to enable RTS/CTS for different modes.
3799 \- return VOS_STATUS_SUCCES if INdication is posted to
3800 WDA else return eHAL_STATUS_FAILURE
3801 -------------------------------------------------------------------------*/
3802eHalStatus sme_SetRtsCtsHtVht(tHalHandle hHal, tANI_U32 set_value);
3803
Agarwal Ashish8bd53ae2015-06-12 18:03:45 +05303804tANI_BOOLEAN sme_handleSetFccChannel(tHalHandle hHal,
3805 tANI_U8 fcc_constraint);
3806
Masti, Narayanraddi1fb32a92015-06-29 13:14:06 +05303807eHalStatus sme_DeleteAllTDLSPeers(tHalHandle hHal, uint8_t sessionId);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05303808eHalStatus sme_fatal_event_logs_req(tHalHandle hHal, tANI_U32 is_fatal,
Abhishek Singh837adf22015-10-01 17:37:37 +05303809 tANI_U32 indicator, tANI_U32 reason_code,
3810 tANI_BOOLEAN dump_vos_trace);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05303811
Mahesh A Saptasagarbeca12c2015-09-07 16:21:06 +05303812eHalStatus sme_enableDisableChanAvoidIndEvent(tHalHandle hHal,
3813 tANI_U8 set_value);
3814
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05303815/* ---------------------------------------------------------------------------
3816 \fn sme_set_wificonfig_params
3817 \brief API to set WifiConfiguration Parameters.
3818
3819 \param wifi_config_param - Wificonfig parameter 1.Averaging factor 2. Guard time
3820 \- return VOS_STATUS_SUCCES if INdication is posted to
3821 WDA else return eHAL_STATUS_FAILURE
3822 -------------------------------------------------------------------------*/
3823
3824eHalStatus sme_set_wificonfig_params(tHalHandle hHal, tSetWifiConfigParams *req);
Padma, Santhosh Kumar2762e9d2015-10-20 15:02:57 +05303825eHalStatus sme_getRegInfo(tHalHandle hHal, tANI_U8 chanId,
3826 tANI_U32 *regInfo1, tANI_U32 *regInfo2);
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05303827
Jeff Johnson295189b2012-06-20 16:38:30 -07003828#endif //#if !defined( __SME_API_H )