blob: d12da513649c264cb69d3c29803f1fa607d08cab [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
42#if !defined( __SME_API_H )
43#define __SME_API_H
44
45
46/**=========================================================================
47
48 \file smeApi.h
49
50 \brief prototype for SME APIs
51
52 Copyright 2008 (c) Qualcomm, Incorporated. All Rights Reserved.
53
54 Qualcomm Confidential and Proprietary.
55
56 ========================================================================*/
57
58/* $Header$ */
59
60/*--------------------------------------------------------------------------
61 Include Files
62 ------------------------------------------------------------------------*/
63#include "ccmApi.h"
64#include "csrApi.h"
65#include "pmcApi.h"
66#include "vos_mq.h"
67#include "vos_lock.h"
68#include "halTypes.h"
69#include "sirApi.h"
70#include "btcApi.h"
71#include "vos_nvitem.h"
72#include "p2p_Api.h"
Jeff Johnson295189b2012-06-20 16:38:30 -070073
Jeff Johnsone7245742012-09-05 17:12:55 -070074#ifdef FEATURE_OEM_DATA_SUPPORT
75#include "oemDataApi.h"
76#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070077
78#if defined WLAN_FEATURE_VOWIFI
79#include "smeRrmInternal.h"
80#endif
81
82/*--------------------------------------------------------------------------
83 Preprocessor definitions and constants
84 ------------------------------------------------------------------------*/
85
86#define SME_SUMMARY_STATS 1
87#define SME_GLOBAL_CLASSA_STATS 2
88#define SME_GLOBAL_CLASSB_STATS 4
89#define SME_GLOBAL_CLASSC_STATS 8
90#define SME_GLOBAL_CLASSD_STATS 16
91#define SME_PER_STA_STATS 32
92
93#define SME_INVALID_COUNTRY_CODE "XX"
94
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -070095//Macro to disable split scan
96#define SME_DISABLE_SPLIT_SCAN 255
Jeff Johnson295189b2012-06-20 16:38:30 -070097/*--------------------------------------------------------------------------
98 Type declarations
99 ------------------------------------------------------------------------*/
100typedef struct _smeConfigParams
101{
102 tCsrConfigParam csrConfig;
103#if defined WLAN_FEATURE_VOWIFI
104 tRrmConfigParam rrmConfig;
105#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -0700106#if defined FEATURE_WLAN_LFR
107 tANI_U8 isFastRoamIniFeatureEnabled;
108#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700109#if defined FEATURE_WLAN_CCX
110 tANI_U8 isCcxIniFeatureEnabled;
111#endif
112#if defined WLAN_FEATURE_P2P_INTERNAL
113 tP2PConfigParam p2pConfig;
114#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -0700115#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Srinivas Girigowda100eb322013-03-15 16:48:20 -0700116 tANI_U8 isFastTransitionEnabled;
117 tANI_U8 RoamRssiDiff;
Jeff Johnson295189b2012-06-20 16:38:30 -0700118#endif
Gopichand Nakkala86e42662013-06-11 17:44:11 +0530119 tANI_BOOLEAN fScanOffload;
Jeff Johnson295189b2012-06-20 16:38:30 -0700120} tSmeConfigParams, *tpSmeConfigParams;
121
Madan Mohan Koyyalamudi48101412013-09-11 23:09:37 +0530122typedef enum
123{
124 eSME_ROAM_TRIGGER_NONE = 0,
125 eSME_ROAM_TRIGGER_SCAN = 1,
126 eSME_ROAM_TRIGGER_FAST_ROAM = 2,
127 eSME_ROAM_TRIGGER_MAX
128} tSmeFastRoamTrigger;
Jeff Johnson295189b2012-06-20 16:38:30 -0700129
130/*-------------------------------------------------------------------------
131 Function declarations and documenation
132 ------------------------------------------------------------------------*/
133
134/*--------------------------------------------------------------------------
135
136 \brief sme_Open() - Initialze all SME modules and put them at idle state
137
138 The function initializes each module inside SME, PMC, CCM, CSR, etc. . Upon
139 successfully return, all modules are at idle state ready to start.
140
141 smeOpen must be called before any other SME APIs can be involved.
142 smeOpen must be called after macOpen.
143
144 \param hHal - The handle returned by macOpen.
145
146 \return eHAL_STATUS_SUCCESS - SME is successfully initialized.
147
148 Other status means SME is failed to be initialized
149 \sa
150
151 --------------------------------------------------------------------------*/
152eHalStatus sme_Open(tHalHandle hHal);
153
154/*--------------------------------------------------------------------------
155
156 \brief sme_Close() - Release all SME modules and their resources.
157
158 The function release each module in SME, PMC, CCM, CSR, etc. . Upon
159 return, all modules are at closed state.
160
161 No SME APIs can be involved after sme_Close except sme_Open.
162 sme_Close must be called before macClose.
163
164 \param hHal - The handle returned by macOpen.
165
166 \return eHAL_STATUS_SUCCESS - SME is successfully close.
167
168 Other status means SME is failed to be closed but caller still cannot
169 call any other SME functions except smeOpen.
170 \sa
171
172 --------------------------------------------------------------------------*/
173eHalStatus sme_Close(tHalHandle hHal);
174
175/*--------------------------------------------------------------------------
176
177 \brief sme_Start() - Put all SME modules at ready state.
178
179 The function starts each module in SME, PMC, CCM, CSR, etc. . Upon
180 successfully return, all modules are ready to run.
181
182 \param hHal - The handle returned by macOpen.
183
184 \return eHAL_STATUS_SUCCESS - SME is ready.
185
186 Other status means SME is failed to start.
187 \sa
188
189 --------------------------------------------------------------------------*/
190eHalStatus sme_Start(tHalHandle hHal);
191
192/*--------------------------------------------------------------------------
193
194 \brief sme_Stop() - Stop all SME modules and put them at idle state
195
196 The function stops each module in SME, PMC, CCM, CSR, etc. . Upon
197 return, all modules are at idle state ready to start.
198
199
200 \param hHal - The handle returned by macOpen.
201
202 \param pmcFlag - The flag tells SME if we want to stop PMC or not
203
204 \return eHAL_STATUS_SUCCESS - SME is stopped.
205
206 Other status means SME is failed to stop but caller should still consider
207 SME is stopped.
208 \sa
209
210 --------------------------------------------------------------------------*/
211eHalStatus sme_Stop(tHalHandle hHal, tANI_BOOLEAN pmcFlag);
212
213
214/*--------------------------------------------------------------------------
215
216 \brief sme_OpenSession() - Open a session for scan/roam operation.
217
218 This is a synchronous API.
219
220
221 \param hHal - The handle returned by macOpen.
222 \param callback - A pointer to the function caller specifies for roam/connect status indication
223 \param pContext - The context passed with callback
224 \param pSelfMacAddr - Caller allocated memory filled with self MAC address (6 bytes)
225 \param pbSessionId - pointer to a caller allocated buffer for returned session ID
226
227 \return eHAL_STATUS_SUCCESS - session is opened. sessionId returned.
228
229 Other status means SME is failed to open the session.
230 eHAL_STATUS_RESOURCES - no more session available.
231 \sa
232
233 --------------------------------------------------------------------------*/
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -0700234eHalStatus sme_OpenSession(tHalHandle hHal, csrRoamCompleteCallback callback,
235 void *pContext, tANI_U8 *pSelfMacAddr,
236 tANI_U8 *pbSessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -0700237
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -0700238/*--------------------------------------------------------------------------
239
240 \brief sme_SetCurrDeviceMode() - Sets the current operating device mode.
241 \param hHal - The handle returned by macOpen.
242 \param currDeviceMode - Current operating device mode.
243 --------------------------------------------------------------------------*/
244
245void sme_SetCurrDeviceMode (tHalHandle hHal, tVOS_CON_MODE currDeviceMode);
Jeff Johnson295189b2012-06-20 16:38:30 -0700246
247/*--------------------------------------------------------------------------
248
249 \brief sme_CloseSession() - Open a session for scan/roam operation.
250
251 This is a synchronous API.
252
253
254 \param hHal - The handle returned by macOpen.
255
256 \param sessionId - A previous opened session's ID.
257
258 \return eHAL_STATUS_SUCCESS - session is closed.
259
260 Other status means SME is failed to open the session.
261 eHAL_STATUS_INVALID_PARAMETER - session is not opened.
262 \sa
263
264 --------------------------------------------------------------------------*/
265eHalStatus sme_CloseSession(tHalHandle hHal, tANI_U8 sessionId,
266 csrRoamSessionCloseCallback callback, void *pContext);
267
268
269
270/*--------------------------------------------------------------------------
271
272 \brief sme_UpdateConfig() - Change configurations for all SME moduels
273
274 The function updates some configuration for modules in SME, CCM, CSR, etc
275 during SMEs close -> open sequence.
276
277 Modules inside SME apply the new configuration at the next transaction.
278
279
280 \param hHal - The handle returned by macOpen.
281 \Param pSmeConfigParams - a pointer to a caller allocated object of
282 typedef struct _smeConfigParams.
283
284 \return eHAL_STATUS_SUCCESS - SME update the config parameters successfully.
285
286 Other status means SME is failed to update the config parameters.
287 \sa
288
289 --------------------------------------------------------------------------*/
290eHalStatus sme_UpdateConfig(tHalHandle hHal, tpSmeConfigParams pSmeConfigParams);
291
292#ifdef FEATURE_WLAN_SCAN_PNO
293/*--------------------------------------------------------------------------
294
295 \brief sme_UpdateChannelConfig() - Update channel configuration in RIVA.
296
297 It is used at driver start up to inform RIVA of the default channel
298 configuration.
299
300 This is a synchronuous call
301
302 \param hHal - The handle returned by macOpen.
303
304 \return eHAL_STATUS_SUCCESS - SME update the channel config successfully.
305
306 Other status means SME is failed to update the channel config.
307 \sa
308
309 --------------------------------------------------------------------------*/
310eHalStatus sme_UpdateChannelConfig(tHalHandle hHal);
311
312#endif // FEATURE_WLAN_SCAN_PNLO
Jeff Johnson295189b2012-06-20 16:38:30 -0700313/*--------------------------------------------------------------------------
314
315 \brief sme_set11dinfo() - Set the 11d information about valid channels
316 and there power using information from nvRAM
317 This function is called only for AP.
318
319 This is a synchronuous call
320
321 \param hHal - The handle returned by macOpen.
322 \Param pSmeConfigParams - a pointer to a caller allocated object of
323 typedef struct _smeConfigParams.
324
325 \return eHAL_STATUS_SUCCESS - SME update the config parameters successfully.
326
327 Other status means SME is failed to update the config parameters.
328 \sa
329--------------------------------------------------------------------------*/
330
331eHalStatus sme_set11dinfo(tHalHandle hHal, tpSmeConfigParams pSmeConfigParams);
332
333/*--------------------------------------------------------------------------
334
335 \brief sme_getSoftApDomain() - Get the current regulatory domain of softAp.
336
337 This is a synchronuous call
338
339 \param hHal - The handle returned by HostapdAdapter.
340 \Param v_REGDOMAIN_t - The current Regulatory Domain requested for SoftAp.
341
342 \return eHAL_STATUS_SUCCESS - SME successfully completed the request.
343
344 Other status means, failed to get the current regulatory domain.
345 \sa
346--------------------------------------------------------------------------*/
347
348eHalStatus sme_getSoftApDomain(tHalHandle hHal, v_REGDOMAIN_t *domainIdSoftAp);
349
350eHalStatus sme_setRegInfo(tHalHandle hHal, tANI_U8 *apCntryCode);
351
Jeff Johnson295189b2012-06-20 16:38:30 -0700352
353/* ---------------------------------------------------------------------------
354 \fn sme_ChangeConfigParams
355 \brief The SME API exposed for HDD to provide config params to SME during
356 SMEs stop -> start sequence.
357
358 If HDD changed the domain that will cause a reset. This function will
359 provide the new set of 11d information for the new domain. Currrently this
360 API provides info regarding 11d only at reset but we can extend this for
361 other params (PMC, QoS) which needs to be initialized again at reset.
362
363 This is a synchronuous call
364
365 \param hHal - The handle returned by macOpen.
366
367 \Param
368 pUpdateConfigParam - a pointer to a structure (tCsrUpdateConfigParam) that
369 currently provides 11d related information like Country code,
370 Regulatory domain, valid channel list, Tx power per channel, a
371 list with active/passive scan allowed per valid channel.
372
373 \return eHalStatus
374 ---------------------------------------------------------------------------*/
375eHalStatus sme_ChangeConfigParams(tHalHandle hHal,
376 tCsrUpdateConfigParam *pUpdateConfigParam);
377
378/*--------------------------------------------------------------------------
379
380 \brief sme_HDDReadyInd() - SME sends eWNI_SME_SYS_READY_IND to PE to inform that the NIC
381 is ready tio run.
382
383 The function is called by HDD at the end of initialization stage so PE/HAL can enable the NIC
384 to running state.
385
386
387 \param hHal - The handle returned by macOpen.
388
389 \return eHAL_STATUS_SUCCESS - eWNI_SME_SYS_READY_IND is sent to PE successfully.
390
391 Other status means SME failed to send the message to PE.
392 \sa
393
394 --------------------------------------------------------------------------*/
395eHalStatus sme_HDDReadyInd(tHalHandle hHal);
396
397
398/*--------------------------------------------------------------------------
399
400 \brief sme_ProcessMsg() - The main message processor for SME.
401
402 The function is called by a message dispatcher when to process a message
403 targeted for SME.
404
405
406 \param hHal - The handle returned by macOpen.
407 \param pMsg - A pointer to a caller allocated object of tSirMsgQ.
408
409 \return eHAL_STATUS_SUCCESS - SME successfully process the message.
410
411 Other status means SME failed to process the message.
412 \sa
413
414 --------------------------------------------------------------------------*/
415eHalStatus sme_ProcessMsg(tHalHandle hHal, vos_msg_t* pMsg);
416
417v_VOID_t sme_FreeMsg( tHalHandle hHal, vos_msg_t* pMsg );
418
419/* ---------------------------------------------------------------------------
420 \fn sme_ScanRequest
421 \brief a wrapper function to Request a 11d or full scan from CSR.
422 \param pScanRequestID - pointer to an object to get back the request ID
423 \param callback - a callback function that scan calls upon finish, will not
424 be called if csrScanRequest returns error
425 \param pContext - a pointer passed in for the callback
426 \return eHalStatus
427 ---------------------------------------------------------------------------*/
428eHalStatus sme_ScanRequest(tHalHandle hHal, tANI_U8 sessionId, tCsrScanRequest *,
429 tANI_U32 *pScanRequestID,
430 csrScanCompleteCallback callback, void *pContext);
431
432
433/* ---------------------------------------------------------------------------
434 \fn sme_ScanSetBGScanparams
435 \brief a wrapper function to request CSR to set BG scan params in PE
436 \param pScanReq - BG scan request structure
437 \return eHalStatus
438 ---------------------------------------------------------------------------*/
439eHalStatus sme_ScanSetBGScanparams(tHalHandle hHal, tANI_U8 sessionId, tCsrBGScanRequest *pScanReq);
440
441
442/* ---------------------------------------------------------------------------
443 \fn sme_ScanGetResult
444 \brief a wrapper function to request scan results from CSR.
445 \param pFilter - If pFilter is NULL, all cached results are returned
446 \param phResult - an object for the result.
447 \return eHalStatus
448 ---------------------------------------------------------------------------*/
449eHalStatus sme_ScanGetResult(tHalHandle hHal, tANI_U8 sessionId, tCsrScanResultFilter *pFilter,
450 tScanResultHandle *phResult);
451
452
453/* ---------------------------------------------------------------------------
454 \fn sme_ScanFlushResult
455 \brief a wrapper function to request CSR to clear scan results.
456 \return eHalStatus
457 ---------------------------------------------------------------------------*/
458eHalStatus sme_ScanFlushResult(tHalHandle hHal, tANI_U8 sessionId);
Madan Mohan Koyyalamudia3fcf142012-10-18 15:01:20 -0700459eHalStatus sme_ScanFlushP2PResult(tHalHandle hHal, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -0700460
461/* ---------------------------------------------------------------------------
462 \fn sme_ScanResultGetFirst
463 \brief a wrapper function to request CSR to returns the first element of
464 scan result.
465 \param hScanResult - returned from csrScanGetResult
466 \return tCsrScanResultInfo * - NULL if no result
467 ---------------------------------------------------------------------------*/
468tCsrScanResultInfo *sme_ScanResultGetFirst(tHalHandle,
469 tScanResultHandle hScanResult);
470
471/* ---------------------------------------------------------------------------
472 \fn sme_ScanResultGetNext
473 \brief a wrapper function to request CSR to returns the next element of
474 scan result. It can be called without calling csrScanResultGetFirst
475 first
476 \param hScanResult - returned from csrScanGetResult
477 \return Null if no result or reach the end
478 ---------------------------------------------------------------------------*/
479tCsrScanResultInfo *sme_ScanResultGetNext(tHalHandle,
480 tScanResultHandle hScanResult);
481
482/* ---------------------------------------------------------------------------
483 \fn sme_ScanResultPurge
484 \brief a wrapper function to request CSR to remove all items(tCsrScanResult)
485 in the list and free memory for each item
486 \param hScanResult - returned from csrScanGetResult. hScanResult is
487 considered gone by
488 calling this function and even before this function reutrns.
489 \return eHalStatus
490 ---------------------------------------------------------------------------*/
491eHalStatus sme_ScanResultPurge(tHalHandle hHal, tScanResultHandle hScanResult);
492
493/* ---------------------------------------------------------------------------
494 \fn sme_ScanGetPMKIDCandidateList
495 \brief a wrapper function to return the PMKID candidate list
496 \param pPmkidList - caller allocated buffer point to an array of
497 tPmkidCandidateInfo
498 \param pNumItems - pointer to a variable that has the number of
499 tPmkidCandidateInfo allocated when retruning, this is
500 either the number needed or number of items put into
501 pPmkidList
502 \return eHalStatus - when fail, it usually means the buffer allocated is not
503 big enough and pNumItems
504 has the number of tPmkidCandidateInfo.
505 \Note: pNumItems is a number of tPmkidCandidateInfo,
506 not sizeof(tPmkidCandidateInfo) * something
507 ---------------------------------------------------------------------------*/
508eHalStatus sme_ScanGetPMKIDCandidateList(tHalHandle hHal, tANI_U8 sessionId,
509 tPmkidCandidateInfo *pPmkidList,
510 tANI_U32 *pNumItems );
511
512
513/*----------------------------------------------------------------------------
514 \fn sme_RoamRegisterLinkQualityIndCallback
515
516 \brief
517 a wrapper function to allow HDD to register a callback handler with CSR for
518 link quality indications.
519
520 Only one callback may be registered at any time.
521 In order to deregister the callback, a NULL cback may be provided.
522
523 Registration happens in the task context of the caller.
524
525 \param callback - Call back being registered
526 \param pContext - user data
527
528 DEPENDENCIES: After CSR open
529
530 \return eHalStatus
531-----------------------------------------------------------------------------*/
532eHalStatus sme_RoamRegisterLinkQualityIndCallback(tHalHandle hHal, tANI_U8 sessionId,
533 csrRoamLinkQualityIndCallback callback,
534 void *pContext);
535
536
537/* ---------------------------------------------------------------------------
538 \fn sme_RoamConnect
539 \brief a wrapper function to request CSR to inititiate an association
540 \param sessionId - the sessionId returned by sme_OpenSession.
541 \param pProfile - can be NULL to join to any open ones
542 \param pRoamId - to get back the request ID
543 \return eHalStatus
544 ---------------------------------------------------------------------------*/
545eHalStatus sme_RoamConnect(tHalHandle hHal, tANI_U8 sessionId, tCsrRoamProfile *pProfile,
546 tANI_U32 *pRoamId);
547
548/* ---------------------------------------------------------------------------
549 \fn sme_RoamReassoc
550 \brief a wrapper function to request CSR to inititiate a re-association
551 \param pProfile - can be NULL to join the currently connected AP. In that
552 case modProfileFields should carry the modified field(s) which could trigger
553 reassoc
554 \param modProfileFields - fields which are part of tCsrRoamConnectedProfile
555 that might need modification dynamically once STA is up & running and this
556 could trigger a reassoc
557 \param pRoamId - to get back the request ID
558 \return eHalStatus
559 -------------------------------------------------------------------------------*/
560eHalStatus sme_RoamReassoc(tHalHandle hHal, tANI_U8 sessionId, tCsrRoamProfile *pProfile,
561 tCsrRoamModifyProfileFields modProfileFields,
Madan Mohan Koyyalamudiea22cdc2012-10-18 21:02:23 -0700562 tANI_U32 *pRoamId, v_BOOL_t fForce);
Jeff Johnson295189b2012-06-20 16:38:30 -0700563
564/* ---------------------------------------------------------------------------
565 \fn sme_RoamConnectToLastProfile
566 \brief a wrapper function to request CSR to disconnect and reconnect with
567 the same profile
568 \return eHalStatus. It returns fail if currently connected
569 ---------------------------------------------------------------------------*/
570eHalStatus sme_RoamConnectToLastProfile(tHalHandle hHal, tANI_U8 sessionId);
571
572/* ---------------------------------------------------------------------------
573 \fn sme_RoamDisconnect
574 \brief a wrapper function to request CSR to disconnect from a network
575 \param reason -- To indicate the reason for disconnecting. Currently, only
576 eCSR_DISCONNECT_REASON_MIC_ERROR is meanful.
577 \return eHalStatus
578 ---------------------------------------------------------------------------*/
579eHalStatus sme_RoamDisconnect(tHalHandle hHal, tANI_U8 sessionId, eCsrRoamDisconnectReason reason);
580
Jeff Johnson295189b2012-06-20 16:38:30 -0700581/* ---------------------------------------------------------------------------
582 \fn sme_RoamStopBss
583 \brief a wrapper function to request CSR to stop bss
584 \param sessionId - sessionId of SoftAP
585 \return eHalStatus
586 ---------------------------------------------------------------------------*/
587eHalStatus sme_RoamStopBss(tHalHandle hHal, tANI_U8 sessionId);
588
589/* ---------------------------------------------------------------------------
590 \fn sme_RoamGetAssociatedStas
591 \brief To probe the list of associated stations from various modules of CORE stack.
592 \This is an asynchronous API.
593 \param sessionId - sessionId of SoftAP
594 \param modId - Module from whom list of associtated stations is to be probed.
595 If an invalid module is passed then by default VOS_MODULE_ID_PE will be probed
596 \param pUsrContext - Opaque HDD context
597 \param pfnSapEventCallback - Sap event callback in HDD
598 \param pAssocBuf - Caller allocated memory to be filled with associatd stations info
599 \return eHalStatus
600 -------------------------------------------------------------------------------*/
601eHalStatus sme_RoamGetAssociatedStas(tHalHandle hHal, tANI_U8 sessionId,
602 VOS_MODULE_ID modId, void *pUsrContext,
603 void *pfnSapEventCallback, tANI_U8 *pAssocStasBuf);
604
605/* ---------------------------------------------------------------------------
606 \fn sme_RoamDisconnectSta
607 \brief To disassociate a station. This is an asynchronous API.
608 \param pPeerMacAddr - Caller allocated memory filled with peer MAC address (6 bytes)
609 \return eHalStatus SUCCESS Roam callback will be called to indicate actual results
610 -------------------------------------------------------------------------------*/
611eHalStatus sme_RoamDisconnectSta(tHalHandle hHal, tANI_U8 sessionId, tANI_U8 *pPeerMacAddr);
612
613/* ---------------------------------------------------------------------------
614 \fn sme_RoamDeauthSta
615 \brief To disassociate a station. This is an asynchronous API.
616 \param hHal - Global structure
617 \param sessionId - sessionId of SoftAP
618 \param pPeerMacAddr - Caller allocated memory filled with peer MAC address (6 bytes)
619 \return eHalStatus SUCCESS Roam callback will be called to indicate actual results
620 -------------------------------------------------------------------------------*/
621eHalStatus sme_RoamDeauthSta(tHalHandle hHal, tANI_U8 sessionId,
622 tANI_U8 *pPeerMacAddr);
623
624/* ---------------------------------------------------------------------------
625 \fn sme_RoamTKIPCounterMeasures
626 \brief To start or stop TKIP counter measures. This is an asynchronous API.
627 \param sessionId - sessionId of SoftAP
628 \param bEnable - Flag to start/stop TKIP countermeasures
629 \return eHalStatus SUCCESS Roam callback will be called to indicate actual results
630 -------------------------------------------------------------------------------*/
631eHalStatus sme_RoamTKIPCounterMeasures(tHalHandle hHal, tANI_U8 sessionId, tANI_BOOLEAN bEnable);
632
633/* ---------------------------------------------------------------------------
634 \fn sme_RoamGetWpsSessionOverlap
635 \brief To get the WPS PBC session overlap information.
636 \This is an asynchronous API.
637 \param sessionId - sessionId of SoftAP
638 \param pUsrContext - Opaque HDD context
639 \param pfnSapEventCallback - Sap event callback in HDD
640 \return eHalStatus
641 -------------------------------------------------------------------------------*/
642eHalStatus sme_RoamGetWpsSessionOverlap(tHalHandle hHal, tANI_U8 sessionId,
643 void *pUsrContext, void *pfnSapEventCallback,
644 v_MACADDR_t pRemoveMac);
Jeff Johnson295189b2012-06-20 16:38:30 -0700645
646/* ---------------------------------------------------------------------------
647 \fn sme_RoamGetConnectState
648 \brief a wrapper function to request CSR to return the current connect state
649 of Roaming
650 \return eHalStatus
651 ---------------------------------------------------------------------------*/
652eHalStatus sme_RoamGetConnectState(tHalHandle hHal, tANI_U8 sessionId, eCsrConnectState *pState);
653
654/* ---------------------------------------------------------------------------
655 \fn sme_RoamGetConnectProfile
656 \brief a wrapper function to request CSR to return the current connect
657 profile. Caller must call csrRoamFreeConnectProfile after it is done
658 and before reuse for another csrRoamGetConnectProfile call.
659 \param pProfile - pointer to a caller allocated structure
660 tCsrRoamConnectedProfile
661 \return eHalStatus. Failure if not connected
662 ---------------------------------------------------------------------------*/
663eHalStatus sme_RoamGetConnectProfile(tHalHandle hHal, tANI_U8 sessionId,
664 tCsrRoamConnectedProfile *pProfile);
665
666/* ---------------------------------------------------------------------------
667 \fn sme_RoamFreeConnectProfile
668 \brief a wrapper function to request CSR to free and reinitialize the
669 profile returned previously by csrRoamGetConnectProfile.
670 \param pProfile - pointer to a caller allocated structure
671 tCsrRoamConnectedProfile
672 \return eHalStatus.
673 ---------------------------------------------------------------------------*/
674eHalStatus sme_RoamFreeConnectProfile(tHalHandle hHal,
675 tCsrRoamConnectedProfile *pProfile);
676
677/* ---------------------------------------------------------------------------
678 \fn sme_RoamSetPMKIDCache
679 \brief a wrapper function to request CSR to return the PMKID candidate list
680 \param pPMKIDCache - caller allocated buffer point to an array of
681 tPmkidCacheInfo
682 \param numItems - a variable that has the number of tPmkidCacheInfo
683 allocated when retruning, this is either the number needed
684 or number of items put into pPMKIDCache
685 \return eHalStatus - when fail, it usually means the buffer allocated is not
686 big enough and pNumItems has the number of
687 tPmkidCacheInfo.
688 \Note: pNumItems is a number of tPmkidCacheInfo,
689 not sizeof(tPmkidCacheInfo) * something
690 ---------------------------------------------------------------------------*/
691eHalStatus sme_RoamSetPMKIDCache( tHalHandle hHal, tANI_U8 sessionId, tPmkidCacheInfo *pPMKIDCache,
692 tANI_U32 numItems );
693
694/* ---------------------------------------------------------------------------
695 \fn sme_RoamGetSecurityReqIE
696 \brief a wrapper function to request CSR to return the WPA or RSN or WAPI IE CSR
697 passes to PE to JOIN request or START_BSS request
698 This is a synchronuous call.
699 \param sessionId - returned by sme_OpenSession.
700 \param pLen - caller allocated memory that has the length of pBuf as input.
701 Upon returned, *pLen has the needed or IE length in pBuf.
702 \param pBuf - Caller allocated memory that contain the IE field, if any,
703 upon return
704 \param secType - Specifies whether looking for WPA/WPA2/WAPI IE
705 \return eHalStatus - when fail, it usually means the buffer allocated is not
706 big enough
707 ---------------------------------------------------------------------------*/
708eHalStatus sme_RoamGetSecurityReqIE(tHalHandle hHal, tANI_U8 sessionId, tANI_U32 *pLen,
709 tANI_U8 *pBuf, eCsrSecurityType secType);
710
711/* ---------------------------------------------------------------------------
712 \fn sme_RoamGetSecurityRspIE
713 \brief a wrapper function to request CSR to return the WPA or RSN or WAPI IE from
714 the beacon or probe rsp if connected
715 \param sessionId - returned by sme_OpenSession.
716 \param pLen - caller allocated memory that has the length of pBuf as input.
717 Upon returned, *pLen has the needed or IE length in pBuf.
718 \param pBuf - Caller allocated memory that contain the IE field, if any,
719 upon return
720 \param secType - Specifies whether looking for WPA/WPA2/WAPI IE
721 \return eHalStatus - when fail, it usually means the buffer allocated is not
722 big enough
723 ---------------------------------------------------------------------------*/
724eHalStatus sme_RoamGetSecurityRspIE(tHalHandle hHal, tANI_U8 sessionId, tANI_U32 *pLen,
725 tANI_U8 *pBuf, eCsrSecurityType secType);
726
727
728/* ---------------------------------------------------------------------------
729 \fn sme_RoamGetNumPMKIDCache
730 \brief a wrapper function to request CSR to return number of PMKID cache
731 entries
732 \return tANI_U32 - the number of PMKID cache entries
733 ---------------------------------------------------------------------------*/
734tANI_U32 sme_RoamGetNumPMKIDCache(tHalHandle hHal, tANI_U8 sessionId);
735
736/* ---------------------------------------------------------------------------
737 \fn sme_RoamGetPMKIDCache
738 \brief a wrapper function to request CSR to return PMKID cache from CSR
739 \param pNum - caller allocated memory that has the space of the number of
740 pBuf tPmkidCacheInfo as input. Upon returned, *pNum has the
741 needed or actually number in tPmkidCacheInfo.
742 \param pPmkidCache - Caller allocated memory that contains PMKID cache, if
743 any, upon return
744 \return eHalStatus - when fail, it usually means the buffer allocated is not
745 big enough
746 ---------------------------------------------------------------------------*/
747eHalStatus sme_RoamGetPMKIDCache(tHalHandle hHal, tANI_U8 sessionId, tANI_U32 *pNum,
748 tPmkidCacheInfo *pPmkidCache);
749
750/* ---------------------------------------------------------------------------
751 \fn sme_GetConfigParam
752 \brief a wrapper function that HDD calls to get the global settings
753 currently maintained by CSR.
754 \param pParam - caller allocated memory
755 \return eHalStatus
756 ---------------------------------------------------------------------------*/
757eHalStatus sme_GetConfigParam(tHalHandle hHal, tSmeConfigParams *pParam);
758
759/* ---------------------------------------------------------------------------
760 \fn sme_GetStatistics
761 \brief a wrapper function that client calls to register a callback to get
762 different PHY level statistics from CSR.
763
764 \param requesterId - different client requesting for statistics, HDD, UMA/GAN etc
765 \param statsMask - The different category/categories of stats requester is looking for
766 The order in which you set the bits in the statsMask for requesting
767 different type of stats is:
768
769 eCsrSummaryStats = bit 0
770 eCsrGlobalClassAStats = bit 1
771 eCsrGlobalClassBStats = bit 2
772 eCsrGlobalClassCStats = bit 3
773 eCsrGlobalClassDStats = bit 4
774 eCsrPerStaStats = bit 5
775
776 \param callback - SME sends back the requested stats using the callback
777 \param periodicity - If requester needs periodic update, 0 means it's an one
778 time request
779 \param cache - If requester is happy with cached stats
780 \param staId - The station ID for which the stats is requested for
781 \param pContext - user context to be passed back along with the callback
782 \return eHalStatus
783 ---------------------------------------------------------------------------*/
784eHalStatus sme_GetStatistics(tHalHandle hHal, eCsrStatsRequesterType requesterId,
785 tANI_U32 statsMask,
786 tCsrStatsCallback callback,
787 tANI_U32 periodicity, tANI_BOOLEAN cache,
788 tANI_U8 staId, void *pContext);
789
Madan Mohan Koyyalamudi8af9b402013-07-11 14:59:10 +0530790/* ---------------------------------------------------------------------------
791 \fn smeGetTLSTAState
792 \helper function to get teh TL STA State whenever the function is called.
793
794 \param staId - The staID to be passed to the TL
795 to get the relevant TL STA State
796 \return the state as tANI_U16
797 ---------------------------------------------------------------------------*/
798tANI_U16 smeGetTLSTAState(tHalHandle hHal, tANI_U8 staId);
799
Jeff Johnson295189b2012-06-20 16:38:30 -0700800eHalStatus sme_GetRssi(tHalHandle hHal,
801 tCsrRssiCallback callback,
802 tANI_U8 staId, tCsrBssid bssId, void *pContext, void* pVosContext);
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +0530803
804/* ---------------------------------------------------------------------------
805 \fn sme_GetSnr
806 \brief a wrapper function that client calls to register a callback to get
807 SNR from FW
808
809 \param callback - SME sends back the requested stats using the callback
810 \param staId - The station ID for which the stats is requested for
811 \param bssid - The bssid of the connected session
812 \param pContext - user context to be passed back along with the callback
813 ---------------------------------------------------------------------------*/
814eHalStatus sme_GetSnr(tHalHandle hHal,
815 tCsrSnrCallback callback,
816 tANI_U8 staId, tCsrBssid bssId,
817 void *pContext);
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -0800818#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
819eHalStatus sme_GetRoamRssi(tHalHandle hHal,
820 tCsrRssiCallback callback,
821 tANI_U8 staId,
822 tCsrBssid bssId,
823 void *pContext,
824 void* pVosContext);
825#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700826/* ---------------------------------------------------------------------------
827 \fn sme_CfgSetInt
828 \brief a wrapper function that HDD calls to set parameters in CFG.
829 \param cfgId - Configuration Parameter ID (type) for STA.
830 \param ccmValue - The information related to Configuration Parameter ID
831 which needs to be saved in CFG
832 \param callback - To be registered by CSR with CCM. Once the CFG done with
833 saving the information in the database, it notifies CCM &
834 then the callback will be invoked to notify.
835 \param toBeSaved - To save the request for future reference
836 \return eHalStatus
837 ---------------------------------------------------------------------------*/
838eHalStatus sme_CfgSetInt(tHalHandle hHal, tANI_U32 cfgId, tANI_U32 ccmValue,
839 tCcmCfgSetCallback callback, eAniBoolean toBeSaved) ;
840
841/* ---------------------------------------------------------------------------
842 \fn sme_CfgSetStr
843 \brief a wrapper function that HDD calls to set parameters in CFG.
844 \param cfgId - Configuration Parameter ID (type) for STA.
845 \param pStr - Pointer to the byte array which carries the information needs
846 to be saved in CFG
847 \param length - Length of the data to be saved
848 \param callback - To be registered by CSR with CCM. Once the CFG done with
849 saving the information in the database, it notifies CCM &
850 then the callback will be invoked to notify.
851 \param toBeSaved - To save the request for future reference
852 \return eHalStatus
853 ---------------------------------------------------------------------------*/
854eHalStatus sme_CfgSetStr(tHalHandle hHal, tANI_U32 cfgId, tANI_U8 *pStr,
855 tANI_U32 length, tCcmCfgSetCallback callback,
856 eAniBoolean toBeSaved) ;
857
858
859/* ---------------------------------------------------------------------------
860 \fn sme_GetModifyProfileFields
861 \brief HDD or SME - QOS calls this function to get the current values of
862 connected profile fields, changing which can cause reassoc.
863 This function must be called after CFG is downloaded and STA is in connected
864 state. Also, make sure to call this function to get the current profile
865 fields before calling the reassoc. So that pModifyProfileFields will have
866 all the latest values plus the one(s) has been updated as part of reassoc
867 request.
868 \param pModifyProfileFields - pointer to the connected profile fields
869 changing which can cause reassoc
870
871 \return eHalStatus
872 -------------------------------------------------------------------------------*/
873eHalStatus sme_GetModifyProfileFields(tHalHandle hHal, tANI_U8 sessionId,
874 tCsrRoamModifyProfileFields * pModifyProfileFields);
875
876
877/*--------------------------------------------------------------------------
878 \fn sme_SetConfigPowerSave
879 \brief Wrapper fn to change power save configuration in SME (PMC) module.
880 For BMPS related configuration, this function also updates the CFG
881 and sends a message to FW to pick up the new values. Note: Calling
882 this function only updates the configuration and does not enable
883 the specified power save mode.
884 \param hHal - The handle returned by macOpen.
885 \param psMode - Power Saving mode being modified
886 \param pConfigParams - a pointer to a caller allocated object of type
887 tPmcSmpsConfigParams or tPmcBmpsConfigParams or tPmcImpsConfigParams
888 \return eHalStatus
889 --------------------------------------------------------------------------*/
890eHalStatus sme_SetConfigPowerSave(tHalHandle hHal, tPmcPowerSavingMode psMode,
891 void *pConfigParams);
892
893/*--------------------------------------------------------------------------
894 \fn sme_GetConfigPowerSave
895 \brief Wrapper fn to retireve power save configuration in SME (PMC) module
896 \param hHal - The handle returned by macOpen.
897 \param psMode - Power Saving mode
898 \param pConfigParams - a pointer to a caller allocated object of type
899 tPmcSmpsConfigParams or tPmcBmpsConfigParams or tPmcImpsConfigParams
900 \return eHalStatus
901 --------------------------------------------------------------------------*/
902eHalStatus sme_GetConfigPowerSave(tHalHandle hHal, tPmcPowerSavingMode psMode,
903 void *pConfigParams);
904
905/* ---------------------------------------------------------------------------
906 \fn sme_SignalPowerEvent
907 \brief Signals to PMC that a power event has occurred. Used for putting
908 the chip into deep sleep mode.
909 \param hHal - The handle returned by macOpen.
910 \param event - the event that has occurred
911 \return eHalStatus
912 ---------------------------------------------------------------------------*/
913extern eHalStatus sme_SignalPowerEvent (
914 tHalHandle hHal,
915 tPmcPowerEvent event);
916
917/* ---------------------------------------------------------------------------
918 \fn sme_EnablePowerSave
919 \brief Enables one of the power saving modes. This API does not cause a
920 device state change. This is purely a configuration API.
921 \param hHal - The handle returned by macOpen.
922 \param psMode - The power saving mode to enable.
923 \return eHalStatus
924 ---------------------------------------------------------------------------*/
925extern eHalStatus sme_EnablePowerSave (
926 tHalHandle hHal,
927 tPmcPowerSavingMode psMode);
928
929/* ---------------------------------------------------------------------------
930 \fn sme_DisablePowerSave
931 \brief Disables one of the power saving modes.Disabling does not imply
932 that device will be brought out of the current PS mode. This is
933 purely a configuration API.
934 \param hHal - The handle returned by macOpen.
935 \param psMode - The power saving mode to disable.
936 \return eHalStatus
937 ---------------------------------------------------------------------------*/
938extern eHalStatus sme_DisablePowerSave (
939 tHalHandle hHal,
940 tPmcPowerSavingMode psMode);
941
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +0530942 /* ---------------------------------------------------------------------------
943 \fn sme_SetHostPowerSave
944 \brief The BMPS logic is controlled by the User level Apps
945 \param hHal - The handle returned by macOpen.
946 \param psMode - The power saving mode to enable.
947 \return eHalStatus
948 ---------------------------------------------------------------------------*/
949extern eHalStatus sme_SetHostPowerSave (
950 tHalHandle hHal,
951 v_BOOL_t psMode);
952
Jeff Johnson295189b2012-06-20 16:38:30 -0700953/* ---------------------------------------------------------------------------
954 \fn sme_StartAutoBmpsTimer
955 \brief Starts a timer that periodically polls all the registered
956 module for entry into Bmps mode. This timer is started only if BMPS is
957 enabled and whenever the device is in full power.
958 \param hHal - The handle returned by macOpen.
959 \return eHalStatus
960 ---------------------------------------------------------------------------*/
961extern eHalStatus sme_StartAutoBmpsTimer ( tHalHandle hHal);
962
963/* ---------------------------------------------------------------------------
964 \fn sme_StopAutoBmpsTimer
965 \brief Stops the Auto BMPS Timer that was started using sme_startAutoBmpsTimer
966 Stopping the timer does not cause a device state change. Only the timer
967 is stopped. If "Full Power" is desired, use the sme_RequestFullPower API
968 \param hHal - The handle returned by macOpen.
969 \return eHalStatus
970 ---------------------------------------------------------------------------*/
971extern eHalStatus sme_StopAutoBmpsTimer ( tHalHandle hHal);
972
973/* ---------------------------------------------------------------------------
974 \fn sme_QueryPowerState
975 \brief Returns the current power state of the device.
976 \param hHal - The handle returned by macOpen.
977 \param pPowerState - pointer to location to return power state
978 \param pSwWlanSwitchState - ptr to location to return SW WLAN Switch state
979 \return eHalStatus
980 ---------------------------------------------------------------------------*/
981extern eHalStatus sme_QueryPowerState (
982 tHalHandle hHal,
983 tPmcPowerState *pPowerState,
984 tPmcSwitchState *pSwWlanSwitchState);
985
986/* ---------------------------------------------------------------------------
987 \fn sme_IsPowerSaveEnabled
988 \brief Checks if the device is able to enter a particular power save mode
989 This does not imply that the device is in a particular PS mode
990 \param hHal - The handle returned by macOpen.
991 \param psMode - the power saving mode
992 \return eHalStatus
993 ---------------------------------------------------------------------------*/
994extern tANI_BOOLEAN sme_IsPowerSaveEnabled(
995 tHalHandle hHal,
996 tPmcPowerSavingMode psMode);
997
998/* ---------------------------------------------------------------------------
999 \fn sme_RequestFullPower
1000 \brief Request that the device be brought to full power state.
1001 Note 1: If "fullPowerReason" specificied in this API is set to
1002 eSME_FULL_PWR_NEEDED_BY_HDD, PMC will clear any "buffered wowl" requests
1003 and also clear any "buffered BMPS requests by HDD". Assumption is that since
1004 HDD is requesting full power, we need to undo any previous HDD requests for
1005 BMPS (using sme_RequestBmps) or WoWL (using sme_EnterWoWL). If the reason is
1006 specified anything other than above, the buffered requests for BMPS and WoWL
1007 will not be cleared.
1008 Note 2: Requesting full power (no matter what the fullPowerReason is) doesn't
1009 disable the "auto bmps timer" (if it is enabled) or clear any "buffered uapsd
1010 request".
1011 Note 3: When the device finally enters Full Power PMC will start a timer
1012 if any of the following holds true:
1013 - Auto BMPS mode is enabled
1014 - Uapsd request is pending
1015 - HDD's request for BMPS is pending
1016 - HDD's request for WoWL is pending
1017 On timer expiry PMC will attempt to put the device in BMPS mode if following
1018 (in addition to those listed above) holds true:
1019 - Polling of all modules through the Power Save Check routine passes
1020 - STA is associated to an access point
1021 \param hHal - The handle returned by macOpen.
1022 \param - callbackRoutine Callback routine invoked in case of success/failure
1023 \param - callbackContext - Cookie to be passed back during callback
1024 \param - fullPowerReason - Reason why this API is being invoked. SME needs to
1025 distinguish between BAP and HDD requests
1026 \return eHalStatus - status
1027 eHAL_STATUS_SUCCESS - device brought to full power state
1028 eHAL_STATUS_FAILURE - device cannot be brought to full power state
1029 eHAL_STATUS_PMC_PENDING - device is being brought to full power state,
1030 ---------------------------------------------------------------------------*/
1031extern eHalStatus sme_RequestFullPower (
1032 tHalHandle hHal,
1033 void (*callbackRoutine) (void *callbackContext, eHalStatus status),
1034 void *callbackContext,
1035 tRequestFullPowerReason fullPowerReason);
1036
1037/* ---------------------------------------------------------------------------
1038 \fn sme_RequestBmps
1039 \brief Request that the device be put in BMPS state. Request will be
1040 accepted only if BMPS mode is enabled and power save check routine
1041 passes. Only HDD should invoke this API.
1042 \param hHal - The handle returned by macOpen.
1043 \param - callbackRoutine Callback routine invoked in case of success/failure
1044 \param - callbackContext - Cookie to be passed back during callback
1045 \return eHalStatus
1046 eHAL_STATUS_SUCCESS - device is in BMPS state
1047 eHAL_STATUS_FAILURE - device cannot be brought to BMPS state
1048 eHAL_STATUS_PMC_PENDING - device is being brought to BMPS state
1049 ---------------------------------------------------------------------------*/
1050extern eHalStatus sme_RequestBmps (
1051 tHalHandle hHal,
1052 void (*callbackRoutine) (void *callbackContext, eHalStatus status),
1053 void *callbackContext);
1054
1055/* ---------------------------------------------------------------------------
1056 \fn sme_SetDHCPTillPowerActiveFlag
1057 \brief Sets/Clears DHCP related flag in PMC to disable/enable auto BMPS
1058 entry by PMC
1059 \param hHal - The handle returned by macOpen.
1060 ---------------------------------------------------------------------------*/
1061void sme_SetDHCPTillPowerActiveFlag(tHalHandle hHal, tANI_U8 flag);
1062
1063
1064/* ---------------------------------------------------------------------------
1065 \fn sme_StartUapsd
1066 \brief Request that the device be put in UAPSD state. If the device is in
1067 Full Power it will be put in BMPS mode first and then into UAPSD
1068 mode.
1069 \param hHal - The handle returned by macOpen.
1070 \param - callbackRoutine Callback routine invoked in case of success/failure
1071 \param - callbackContext - Cookie to be passed back during callback
1072 eHAL_STATUS_SUCCESS - device is in UAPSD state
1073 eHAL_STATUS_FAILURE - device cannot be brought to UAPSD state
1074 eHAL_STATUS_PMC_PENDING - device is being brought to UAPSD state
1075 eHAL_STATUS_PMC_DISABLED - UAPSD is disabled or BMPS mode is disabled
1076 \return eHalStatus
1077 ---------------------------------------------------------------------------*/
1078extern eHalStatus sme_StartUapsd (
1079 tHalHandle hHal,
1080 void (*callbackRoutine) (void *callbackContext, eHalStatus status),
1081 void *callbackContext);
1082
1083/* ---------------------------------------------------------------------------
1084 \fn sme_StopUapsd
1085 \brief Request that the device be put out of UAPSD state. Device will be
1086 put in in BMPS state after stop UAPSD completes. Buffered requests for
1087 UAPSD will be cleared after this.
1088 \param hHal - The handle returned by macOpen.
1089 \return eHalStatus
1090 eHAL_STATUS_SUCCESS - device is put out of UAPSD and back in BMPS state
1091 eHAL_STATUS_FAILURE - device cannot be brought out of UAPSD state
1092 ---------------------------------------------------------------------------*/
1093extern eHalStatus sme_StopUapsd (tHalHandle hHal);
1094
1095/* ---------------------------------------------------------------------------
1096 \fn sme_RequestStandby
1097 \brief Request that the device be put in standby. It is HDD's responsibility
1098 to bring the chip to full power and do a discconnect before calling
1099 this API. Request for standby will be rejected if STA is associated
1100 to an AP.
1101 \param hHal - The handle returned by macOpen.
1102 \param - callbackRoutine Callback routine invoked in case of success/failure
1103 \param - callbackContext - Cookie to be passed back during callback
1104 \return eHalStatus
1105 eHAL_STATUS_SUCCESS - device is in Standby mode
1106 eHAL_STATUS_FAILURE - device cannot be put in standby mode
1107 eHAL_STATUS_PMC_PENDING - device is being put in standby mode
1108 ---------------------------------------------------------------------------*/
1109extern eHalStatus sme_RequestStandby (
1110 tHalHandle hHal,
1111 void (*callbackRoutine) (void *callbackContext, eHalStatus status),
1112 void *callbackContext);
1113
1114/* ---------------------------------------------------------------------------
1115 \fn sme_RegisterPowerSaveCheck
1116 \brief Register a power save check routine that is called whenever
1117 the device is about to enter one of the power save modes.
1118 \param hHal - The handle returned by macOpen.
1119 \param checkRoutine - Power save check routine to be registered
1120 \param callbackContext - Cookie to be passed back during callback
1121 \return eHalStatus
1122 eHAL_STATUS_SUCCESS - successfully registered
1123 eHAL_STATUS_FAILURE - not successfully registered
1124 ---------------------------------------------------------------------------*/
1125extern eHalStatus sme_RegisterPowerSaveCheck (
1126 tHalHandle hHal,
1127 tANI_BOOLEAN (*checkRoutine) (void *checkContext), void *checkContext);
1128
1129/* ---------------------------------------------------------------------------
1130 \fn sme_DeregisterPowerSaveCheck
1131 \brief Deregister a power save check routine
1132 \param hHal - The handle returned by macOpen.
1133 \param checkRoutine - Power save check routine to be deregistered
1134 \return eHalStatus
1135 eHAL_STATUS_SUCCESS - successfully deregistered
1136 eHAL_STATUS_FAILURE - not successfully deregistered
1137 ---------------------------------------------------------------------------*/
1138extern eHalStatus sme_DeregisterPowerSaveCheck (
1139 tHalHandle hHal,
1140 tANI_BOOLEAN (*checkRoutine) (void *checkContext));
1141
1142/* ---------------------------------------------------------------------------
1143 \fn sme_RegisterDeviceStateUpdateInd
1144 \brief Register a callback routine that is called whenever
1145 the device enters a new device state (Full Power, BMPS, UAPSD)
1146 \param hHal - The handle returned by macOpen.
1147 \param callbackRoutine - Callback routine to be registered
1148 \param callbackContext - Cookie to be passed back during callback
1149 \return eHalStatus
1150 eHAL_STATUS_SUCCESS - successfully registered
1151 eHAL_STATUS_FAILURE - not successfully registered
1152 ---------------------------------------------------------------------------*/
1153extern eHalStatus sme_RegisterDeviceStateUpdateInd (
1154 tHalHandle hHal,
1155 void (*callbackRoutine) (void *callbackContext, tPmcState pmcState),
1156 void *callbackContext);
1157
1158/* ---------------------------------------------------------------------------
1159 \fn sme_DeregisterDeviceStateUpdateInd
1160 \brief Deregister a routine that was registered for device state changes
1161 \param hHal - The handle returned by macOpen.
1162 \param callbackRoutine - Callback routine to be deregistered
1163 \return eHalStatus
1164 eHAL_STATUS_SUCCESS - successfully deregistered
1165 eHAL_STATUS_FAILURE - not successfully deregistered
1166 ---------------------------------------------------------------------------*/
1167extern eHalStatus sme_DeregisterDeviceStateUpdateInd (
1168 tHalHandle hHal,
1169 void (*callbackRoutine) (void *callbackContext, tPmcState pmcState));
1170
1171/* ---------------------------------------------------------------------------
1172 \fn sme_WowlAddBcastPattern
1173 \brief Add a pattern for Pattern Byte Matching in Wowl mode. Firmware will
1174 do a pattern match on these patterns when Wowl is enabled during BMPS
1175 mode.
1176 \param hHal - The handle returned by macOpen.
1177 \param pattern - Pattern to be added
1178 \return eHalStatus
1179 eHAL_STATUS_FAILURE Cannot add pattern
1180 eHAL_STATUS_SUCCESS Request accepted.
1181 ---------------------------------------------------------------------------*/
1182extern eHalStatus sme_WowlAddBcastPattern (
1183 tHalHandle hHal,
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07001184 tpSirWowlAddBcastPtrn pattern,
1185 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07001186
1187/* ---------------------------------------------------------------------------
1188 \fn sme_WowlDelBcastPattern
1189 \brief Delete a pattern that was added for Pattern Byte Matching.
1190 \param hHal - The handle returned by macOpen.
1191 \param pattern - Pattern to be deleted
1192 \return eHalStatus
1193 eHAL_STATUS_FAILURE Cannot delete pattern
1194 eHAL_STATUS_SUCCESS Request accepted.
1195 ---------------------------------------------------------------------------*/
1196extern eHalStatus sme_WowlDelBcastPattern (
1197 tHalHandle hHal,
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07001198 tpSirWowlDelBcastPtrn pattern,
1199 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07001200
1201/* ---------------------------------------------------------------------------
1202 \fn sme_EnterWowl
1203 \brief This is the API to request entry into WOWL mode.
1204 WoWLAN works on top of BMPS mode. If the device is not in BMPS mode,
1205 SME will will cache the information that WOWL has been requested and
1206 attempt to put the device in BMPS first. On entry into BMPS, SME will
1207 enter the WOWL mode.
1208 Note 1: After WoWL request is accepted, If module other than HDD requests
1209 full power BEFORE WoWL request is completed, PMC will buffer the WoWL request
1210 and attempt to put the chip into BMPS+WOWL based on a timer.
1211 Note 2: Buffered request for WoWL will be cleared immedisately AFTER "enter Wowl"
1212 completes or if HDD requests full power or if sme_ExitWoWL API is invoked.
1213 Note 3: Both UAPSD and WOWL work on top of BMPS. On entry into BMPS, SME
1214 will give priority to UAPSD and enable only UAPSD if both UAPSD and WOWL
1215 are required. Currently there is no requirement or use case to support UAPSD
1216 and WOWL at the same time.
1217 Note 4. Request for WoWL is rejected if there is a pending UAPSD request.
1218 Note 5. Request for WoWL is rejected if BMPS is disabled.
1219
1220 \param hHal - The handle returned by macOpen.
1221 \param enterWowlCallbackRoutine - Callback routine provided by HDD.
1222 Used for success/failure notification by SME
1223 \param enterWowlCallbackContext - A cookie passed by HDD, that is passed back to HDD
1224 at the time of callback.
1225 \param wakeReasonIndCB - Callback routine provided by HDD.
1226 Used for Wake Reason Indication by SME
1227 \param wakeReasonIndCBContext - A cookie passed by HDD, that is passed back to HDD
1228 at the time of callback.
1229 \return eHalStatus
1230 eHAL_STATUS_SUCCESS Device is already in WoWLAN mode
1231 eHAL_STATUS_FAILURE Device cannot enter WoWLAN mode.
1232 eHAL_STATUS_PMC_PENDING Request accepted. SME will enable WOWL when BMPS
1233 mode is entered.
1234 ---------------------------------------------------------------------------*/
1235extern eHalStatus sme_EnterWowl (
1236 tHalHandle hHal,
1237 void (*enterWowlCallbackRoutine) (void *callbackContext, eHalStatus status),
1238 void *enterWowlCallbackContext,
1239#ifdef WLAN_WAKEUP_EVENTS
1240 void (*wakeReasonIndCB) (void *callbackContext, tpSirWakeReasonInd pWakeReasonInd),
1241 void *wakeReasonIndCBContext,
1242#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07001243 tpSirSmeWowlEnterParams wowlEnterParams, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07001244
1245/* ---------------------------------------------------------------------------
1246 \fn sme_ExitWowl
1247 \brief This is the SME API exposed to HDD to request exit from WoWLAN mode.
1248 SME will initiate exit from WoWLAN mode and device will be put in BMPS
1249 mode. Any Buffered request for WoWL will be cleared after this API.
1250 \param hHal - The handle returned by macOpen.
1251 \return eHalStatus
1252 eHAL_STATUS_FAILURE Device cannot exit WoWLAN mode. This can happen
1253 only if the previous "Enter WOWL" transaction has
1254 not even completed.
1255 eHAL_STATUS_SUCCESS Request accepted to exit WoWLAN mode.
1256 ---------------------------------------------------------------------------*/
1257extern eHalStatus sme_ExitWowl (tHalHandle hHal);
1258
1259/* ---------------------------------------------------------------------------
1260
1261 \fn sme_RoamSetKey
1262
1263 \brief To set encryption key. This function should be called only when connected
1264 This is an asynchronous API.
1265
1266 \param pSetKeyInfo - pointer to a caller allocated object of tCsrSetContextInfo
1267
1268 \param pRoamId Upon success return, this is the id caller can use to identify the request in roamcallback
1269
1270 \return eHalStatus SUCCESS Roam callback will be called indicate actually results
1271
1272 FAILURE or RESOURCES The API finished and failed.
1273
1274 -------------------------------------------------------------------------------*/
1275eHalStatus sme_RoamSetKey(tHalHandle, tANI_U8 sessionId, tCsrRoamSetKey *pSetKey, tANI_U32 *pRoamId);
1276
1277/* ---------------------------------------------------------------------------
1278
1279 \fn sme_RoamRemoveKey
1280
1281 \brief To set encryption key. This is an asynchronous API.
1282
1283 \param pRemoveKey - pointer to a caller allocated object of tCsrRoamRemoveKey
1284
1285 \param pRoamId Upon success return, this is the id caller can use to identify the request in roamcallback
1286
1287 \return eHalStatus SUCCESS Roam callback will be called indicate actually results
1288
1289 FAILURE or RESOURCES The API finished and failed.
1290
1291 -------------------------------------------------------------------------------*/
1292eHalStatus sme_RoamRemoveKey(tHalHandle, tANI_U8 sessionId, tCsrRoamRemoveKey *pRemoveKey, tANI_U32 *pRoamId);
1293
1294
1295/* ---------------------------------------------------------------------------
1296
1297 \fn sme_GetCountryCode
1298
1299 \brief To return the current country code. If no country code is applied, default country code is
1300 used to fill the buffer.
1301 If 11d supported is turned off, an error is return and the last applied/default country code is used.
1302 This is a synchronous API.
1303
1304 \param pBuf - pointer to a caller allocated buffer for returned country code.
1305
1306 \param pbLen For input, this parameter indicates how big is the buffer.
1307 Upon return, this parameter has the number of bytes for country. If pBuf
1308 doesn't have enough space, this function returns
1309 fail status and this parameter contains the number that is needed.
1310
1311 \return eHalStatus SUCCESS.
1312
1313 FAILURE or RESOURCES The API finished and failed.
1314
1315 -------------------------------------------------------------------------------*/
1316eHalStatus sme_GetCountryCode(tHalHandle hHal, tANI_U8 *pBuf, tANI_U8 *pbLen);
1317
1318/* ---------------------------------------------------------------------------
1319
1320 \fn sme_SetCountryCode
1321
1322 \brief To change the current/default country code.
1323 If 11d supported is turned off, an error is return.
1324 This is a synchronous API.
1325
1326 \param pCountry - pointer to a caller allocated buffer for the country code.
1327
1328 \param pfRestartNeeded A pointer to caller allocated memory, upon successful return, it indicates
1329 whether a reset is required.
1330
1331 \return eHalStatus SUCCESS.
1332
1333 FAILURE or RESOURCES The API finished and failed.
1334
1335 -------------------------------------------------------------------------------*/
1336eHalStatus sme_SetCountryCode(tHalHandle hHal, tANI_U8 *pCountry, tANI_BOOLEAN *pfRestartNeeded);
1337
1338/* ---------------------------------------------------------------------------
1339 \fn sme_ResetCountryCodeInformation
1340 \brief this function is to reset the country code current being used back to EEPROM default
1341 this includes channel list and power setting. This is a synchronous API.
1342 \param pfRestartNeeded - pointer to a caller allocated space. Upon successful return, it indicates whether
1343 a restart is needed to apply the change
1344 \return eHalStatus
1345 -------------------------------------------------------------------------------*/
1346eHalStatus sme_ResetCountryCodeInformation(tHalHandle hHal, tANI_BOOLEAN *pfRestartNeeded);
1347
1348/* ---------------------------------------------------------------------------
1349 \fn sme_GetSupportedCountryCode
1350 \brief this function is to get a list of the country code current being supported
1351 \param pBuf - Caller allocated buffer with at least 3 bytes, upon success return,
1352 this has the country code list. 3 bytes for each country code. This may be NULL if
1353 caller wants to know the needed byte count.
1354 \param pbLen - Caller allocated, as input, it indicates the length of pBuf. Upon success return,
1355 this contains the length of the data in pBuf. If pbuf is NULL, as input, *pbLen should be 0.
1356 \return eHalStatus
1357 -------------------------------------------------------------------------------*/
1358eHalStatus sme_GetSupportedCountryCode(tHalHandle hHal, tANI_U8 *pBuf, tANI_U32 *pbLen);
1359
1360/* ---------------------------------------------------------------------------
1361 \fn sme_GetCurrentRegulatoryDomain
1362 \brief this function is to get the current regulatory domain. This is a synchronous API.
1363 This function must be called after CFG is downloaded and all the band/mode setting already passed into
1364 SME. The function fails if 11d support is turned off.
1365 \param pDomain - Caller allocated buffer to return the current domain.
1366 \return eHalStatus SUCCESS.
1367
1368 FAILURE or RESOURCES The API finished and failed.
1369 -------------------------------------------------------------------------------*/
1370eHalStatus sme_GetCurrentRegulatoryDomain(tHalHandle hHal, v_REGDOMAIN_t *pDomain);
1371
1372/* ---------------------------------------------------------------------------
1373 \fn sme_SetRegulatoryDomain
1374 \brief this function is to set the current regulatory domain.
1375 This function must be called after CFG is downloaded and all the band/mode setting already passed into
1376 SME. This is a synchronous API.
1377 \param domainId - indicate the domain (defined in the driver) needs to set to.
1378 See v_REGDOMAIN_t for definition
1379 \param pfRestartNeeded - pointer to a caller allocated space. Upon successful return, it indicates whether
1380 a restart is needed to apply the change
1381 \return eHalStatus
1382 -------------------------------------------------------------------------------*/
1383eHalStatus sme_SetRegulatoryDomain(tHalHandle hHal, v_REGDOMAIN_t domainId, tANI_BOOLEAN *pfRestartNeeded);
1384
1385/* ---------------------------------------------------------------------------
1386
1387 \fn sme_GetRegulatoryDomainForCountry
1388
1389 \brief To return a regulatory domain base on a country code. This is a synchronous API.
1390
1391 \param pCountry - pointer to a caller allocated buffer for input country code.
1392
1393 \param pDomainId Upon successful return, it is the domain that country belongs to.
1394 If it is NULL, returning success means that the country code is known.
1395
1396 \return eHalStatus SUCCESS.
1397
1398 FAILURE or RESOURCES The API finished and failed.
1399
1400 -------------------------------------------------------------------------------*/
1401eHalStatus sme_GetRegulatoryDomainForCountry(tHalHandle hHal, tANI_U8 *pCountry, v_REGDOMAIN_t *pDomainId);
1402
1403
1404
1405/* ---------------------------------------------------------------------------
1406
1407 \fn sme_GetSupportedRegulatoryDomains
1408
1409 \brief To return a list of supported regulatory domains. This is a synchronous API.
1410
1411 \param pDomains - pointer to a caller allocated buffer for returned regulatory domains.
1412
1413 \param pNumDomains For input, this parameter indicates howm many domains pDomains can hold.
1414 Upon return, this parameter has the number for supported domains. If pDomains
1415 doesn't have enough space for all the supported domains, this function returns
1416 fail status and this parameter contains the number that is needed.
1417
1418 \return eHalStatus SUCCESS.
1419
1420 FAILURE or RESOURCES The API finished and failed.
1421
1422 -------------------------------------------------------------------------------*/
1423eHalStatus sme_GetSupportedRegulatoryDomains(tHalHandle hHal, v_REGDOMAIN_t *pDomains, tANI_U32 *pNumDomains);
1424
1425//some support functions
1426tANI_BOOLEAN sme_Is11dSupported(tHalHandle hHal);
1427tANI_BOOLEAN sme_Is11hSupported(tHalHandle hHal);
1428tANI_BOOLEAN sme_IsWmmSupported(tHalHandle hHal);
1429//Upper layer to get the list of the base channels to scan for passively 11d info from csr
1430eHalStatus sme_ScanGetBaseChannels( tHalHandle hHal, tCsrChannelInfo * pChannelInfo );
1431
1432typedef void ( *tSmeChangeCountryCallback)(void *pContext);
1433/* ---------------------------------------------------------------------------
1434
1435 \fn sme_ChangeCountryCode
1436
1437 \brief Change Country code from upperlayer during WLAN driver operation.
1438 This is a synchronous API.
1439
1440 \param hHal - The handle returned by macOpen.
1441
1442 \param pCountry New Country Code String
1443
1444 \return eHalStatus SUCCESS.
1445
1446 FAILURE or RESOURCES The API finished and failed.
1447
1448 -------------------------------------------------------------------------------*/
1449eHalStatus sme_ChangeCountryCode( tHalHandle hHal,
1450 tSmeChangeCountryCallback callback,
1451 tANI_U8 *pCountry,
1452 void *pContext,
Gopichand Nakkalaacd94112013-05-29 21:37:47 +05301453 void* pVosContext,
1454 tAniBool countryFromUserSpace );
Jeff Johnson295189b2012-06-20 16:38:30 -07001455
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301456/* ---------------------------------------------------------------------------
1457
1458 \fn sme_DHCPStartInd
1459
1460 \brief Indicate FW about DHCP start event.
1461
1462 \param hHal - The handle returned by macOpen.
1463
1464 \param device_mode the mode of the device
1465
1466 \param macAddr the macAddress of the devices
1467
1468 \return eHalStatus SUCCESS.
1469
1470 FAILURE or RESOURCES The API finished and failed.
1471
1472 -------------------------------------------------------------------------------*/
1473
1474eHalStatus sme_DHCPStartInd( tHalHandle hHal,
1475 tANI_U8 device_mode,
1476 tANI_U8 *macAddr );
1477
1478/* ---------------------------------------------------------------------------
1479
1480 \fn sme_DHCPStopInd
1481
1482 \brief Indicate FW about DHCP stop event.
1483
1484 \param hHal - The handle returned by macOpen.
1485
1486 \param device_mode the mode of the device
1487
1488 \param macAddr the macAddress of the devices
1489
1490 \return eHalStatus SUCCESS.
1491
1492 FAILURE or RESOURCES The API finished and failed.
1493
1494 -------------------------------------------------------------------------------*/
1495eHalStatus sme_DHCPStopInd( tHalHandle hHal,
1496 tANI_U8 device_mode,
1497 tANI_U8 *macAddr );
1498
Jeff Johnson295189b2012-06-20 16:38:30 -07001499
1500/* ---------------------------------------------------------------------------
1501 \fn sme_BtcSignalBtEvent
1502 \brief API to signal Bluetooth (BT) event to the WLAN driver. Based on the
1503 BT event type and the current operating mode of Libra (full power,
1504 BMPS, UAPSD etc), appropriate Bluetooth Coexistence (BTC) strategy
1505 would be employed.
1506 \param hHal - The handle returned by macOpen.
1507 \param pBtcBtEvent - Pointer to a caller allocated object of type tSmeBtEvent
1508 Caller owns the memory and is responsible for freeing it.
1509 \return VOS_STATUS
1510 VOS_STATUS_E_FAILURE BT Event not passed to HAL. This can happen
1511 if driver has not yet been initialized or if BTC
1512 Events Layer has been disabled.
1513 VOS_STATUS_SUCCESS BT Event passed to HAL
1514 ---------------------------------------------------------------------------*/
1515VOS_STATUS sme_BtcSignalBtEvent (tHalHandle hHal, tpSmeBtEvent pBtcBtEvent);
1516
1517/* ---------------------------------------------------------------------------
1518 \fn sme_BtcSetConfig
1519 \brief API to change the current Bluetooth Coexistence (BTC) configuration
1520 This function should be invoked only after CFG download has completed.
1521 Calling it after sme_HDDReadyInd is recommended.
1522 \param hHal - The handle returned by macOpen.
1523 \param pSmeBtcConfig - Pointer to a caller allocated object of type
1524 tSmeBtcConfig. Caller owns the memory and is responsible
1525 for freeing it.
1526 \return VOS_STATUS
1527 VOS_STATUS_E_FAILURE Config not passed to HAL.
1528 VOS_STATUS_SUCCESS Config passed to HAL
1529 ---------------------------------------------------------------------------*/
1530VOS_STATUS sme_BtcSetConfig (tHalHandle hHal, tpSmeBtcConfig pSmeBtcConfig);
1531
1532/* ---------------------------------------------------------------------------
1533 \fn sme_BtcGetConfig
1534 \brief API to retrieve the current Bluetooth Coexistence (BTC) configuration
1535 \param hHal - The handle returned by macOpen.
1536 \param pSmeBtcConfig - Pointer to a caller allocated object of type tSmeBtcConfig.
1537 Caller owns the memory and is responsible for freeing it.
1538 \return VOS_STATUS
1539 VOS_STATUS_E_FAILURE - failure
1540 VOS_STATUS_SUCCESS success
1541 ---------------------------------------------------------------------------*/
1542VOS_STATUS sme_BtcGetConfig (tHalHandle hHal, tpSmeBtcConfig pSmeBtcConfig);
1543
1544/* ---------------------------------------------------------------------------
1545 \fn sme_SetCfgPrivacy
1546 \brief API to set configure privacy parameters
1547 \param hHal - The handle returned by macOpen.
1548 \param pProfile - Pointer CSR Roam profile.
1549 \param fPrivacy - This parameter indicates status of privacy
1550
1551 \return void
1552 ---------------------------------------------------------------------------*/
1553void sme_SetCfgPrivacy(tHalHandle hHal, tCsrRoamProfile *pProfile, tANI_BOOLEAN fPrivacy);
1554
1555#if defined WLAN_FEATURE_VOWIFI
1556/* ---------------------------------------------------------------------------
1557 \fn sme_NeighborReportRequest
1558 \brief API to request neighbor report.
1559 \param hHal - The handle returned by macOpen.
1560 \param pRrmNeighborReq - Pointer to a caller allocated object of type
1561 tRrmNeighborReq. Caller owns the memory and is responsible
1562 for freeing it.
1563 \return VOS_STATUS
1564 VOS_STATUS_E_FAILURE - failure
1565 VOS_STATUS_SUCCESS success
1566 ---------------------------------------------------------------------------*/
1567VOS_STATUS sme_NeighborReportRequest (tHalHandle hHal, tANI_U8 sessionId,
1568 tpRrmNeighborReq pRrmNeighborReq, tpRrmNeighborRspCallbackInfo callbackInfo);
1569#endif
1570
1571//The following are debug APIs to support direct read/write register/memory
1572//They are placed in SME because HW cannot be access when in LOW_POWER state
1573//AND not connected. The knowledge and synchronization is done in SME
1574
1575//sme_DbgReadRegister
1576//Caller needs to validate the input values
1577VOS_STATUS sme_DbgReadRegister(tHalHandle hHal, v_U32_t regAddr, v_U32_t *pRegValue);
1578
1579//sme_DbgWriteRegister
1580//Caller needs to validate the input values
1581VOS_STATUS sme_DbgWriteRegister(tHalHandle hHal, v_U32_t regAddr, v_U32_t regValue);
1582
1583//sme_DbgReadMemory
1584//Caller needs to validate the input values
1585//pBuf caller allocated buffer has the length of nLen
1586VOS_STATUS sme_DbgReadMemory(tHalHandle hHal, v_U32_t memAddr, v_U8_t *pBuf, v_U32_t nLen);
1587
1588//sme_DbgWriteMemory
1589//Caller needs to validate the input values
1590VOS_STATUS sme_DbgWriteMemory(tHalHandle hHal, v_U32_t memAddr, v_U8_t *pBuf, v_U32_t nLen);
1591
Jeff Johnson295189b2012-06-20 16:38:30 -07001592VOS_STATUS sme_GetWcnssWlanCompiledVersion(tHalHandle hHal,
1593 tSirVersionType *pVersion);
1594VOS_STATUS sme_GetWcnssWlanReportedVersion(tHalHandle hHal,
1595 tSirVersionType *pVersion);
1596VOS_STATUS sme_GetWcnssSoftwareVersion(tHalHandle hHal,
1597 tANI_U8 *pVersion,
1598 tANI_U32 versionBufferSize);
1599VOS_STATUS sme_GetWcnssHardwareVersion(tHalHandle hHal,
1600 tANI_U8 *pVersion,
1601 tANI_U32 versionBufferSize);
Jeff Johnson295189b2012-06-20 16:38:30 -07001602eHalStatus sme_RoamRegisterCallback(tHalHandle hHal,
1603 csrRoamCompleteCallback callback,
1604 void *pContext);
1605
1606#ifdef FEATURE_WLAN_WAPI
1607/* ---------------------------------------------------------------------------
1608 \fn sme_RoamSetBKIDCache
1609 \brief The SME API exposed to HDD to allow HDD to provde SME the BKID
1610 candidate list.
1611 \param hHal - Handle to the HAL. The HAL handle is returned by the HAL after
1612 it is opened (by calling halOpen).
1613 \param pBKIDCache - caller allocated buffer point to an array of tBkidCacheInfo
1614 \param numItems - a variable that has the number of tBkidCacheInfo allocated
1615 when retruning, this is the number of items put into pBKIDCache
1616 \return eHalStatus - when fail, it usually means the buffer allocated is not
1617 big enough and pNumItems has the number of tBkidCacheInfo.
1618 ---------------------------------------------------------------------------*/
1619eHalStatus sme_RoamSetBKIDCache( tHalHandle hHal, tANI_U32 sessionId, tBkidCacheInfo *pBKIDCache,
1620 tANI_U32 numItems );
1621
1622/* ---------------------------------------------------------------------------
1623 \fn sme_RoamGetBKIDCache
1624 \brief The SME API exposed to HDD to allow HDD to request SME to return its
1625 BKID cache.
1626 \param hHal - Handle to the HAL. The HAL handle is returned by the HAL after
1627 it is opened (by calling halOpen).
1628 \param pNum - caller allocated memory that has the space of the number of
1629 tBkidCacheInfo as input. Upon returned, *pNum has the needed number of entries
1630 in SME cache.
1631 \param pBkidCache - Caller allocated memory that contains BKID cache, if any,
1632 upon return
1633 \return eHalStatus - when fail, it usually means the buffer allocated is not
1634 big enough.
1635 ---------------------------------------------------------------------------*/
1636eHalStatus sme_RoamGetBKIDCache(tHalHandle hHal, tANI_U32 *pNum,
1637 tBkidCacheInfo *pBkidCache);
1638
1639/* ---------------------------------------------------------------------------
1640 \fn sme_RoamGetNumBKIDCache
1641 \brief The SME API exposed to HDD to allow HDD to request SME to return the
1642 number of BKID cache entries.
1643 \param hHal - Handle to the HAL. The HAL handle is returned by the HAL after
1644 it is opened (by calling halOpen).
1645 \return tANI_U32 - the number of BKID cache entries.
1646 ---------------------------------------------------------------------------*/
1647tANI_U32 sme_RoamGetNumBKIDCache(tHalHandle hHal, tANI_U32 sessionId);
1648
1649/* ---------------------------------------------------------------------------
1650 \fn sme_ScanGetBKIDCandidateList
1651 \brief a wrapper function to return the BKID candidate list
1652 \param pBkidList - caller allocated buffer point to an array of
1653 tBkidCandidateInfo
1654 \param pNumItems - pointer to a variable that has the number of
1655 tBkidCandidateInfo allocated when retruning, this is
1656 either the number needed or number of items put into
1657 pPmkidList
1658 \return eHalStatus - when fail, it usually means the buffer allocated is not
1659 big enough and pNumItems
1660 has the number of tBkidCandidateInfo.
1661 \Note: pNumItems is a number of tBkidCandidateInfo,
1662 not sizeof(tBkidCandidateInfo) * something
1663 ---------------------------------------------------------------------------*/
1664eHalStatus sme_ScanGetBKIDCandidateList(tHalHandle hHal, tANI_U32 sessionId,
1665 tBkidCandidateInfo *pBkidList,
1666 tANI_U32 *pNumItems );
1667#endif /* FEATURE_WLAN_WAPI */
1668
Jeff Johnsone7245742012-09-05 17:12:55 -07001669#ifdef FEATURE_OEM_DATA_SUPPORT
1670/********************************************************************************************
1671 Oem data related modifications
1672*********************************************************************************************/
1673/* ---------------------------------------------------------------------------
1674 \fn sme_OemDataReq
1675 \param sessionId - session id of session to be used for oem data req.
1676 \param pOemDataReqID - pointer to an object to get back the request ID
1677 \param callback - a callback function that is called upon finish
1678 \param pContext - a pointer passed in for the callback
1679 \return eHalStatus
1680 ---------------------------------------------------------------------------*/
1681eHalStatus sme_OemDataReq(tHalHandle hHal,
1682 tANI_U8 sessionId,
1683 tOemDataReqConfig *,
1684 tANI_U32 *pOemDataReqID,
1685 oemData_OemDataReqCompleteCallback callback,
1686 void *pContext);
1687
1688/* ---------------------------------------------------------------------------
1689 \fn sme_getOemDataRsp
1690 \param pOemDataRsp - A pointer to the response object
1691 \param pOemDataReqID - pointer to an object to get back the request ID
1692 \return eHalStatus
1693 ---------------------------------------------------------------------------*/
1694eHalStatus sme_getOemDataRsp(tHalHandle hHal,
1695 tOemDataRsp **pOemDataRsp);
1696
1697#endif /*FEATURE_OEM_DATA_SUPPORT*/
Jeff Johnson295189b2012-06-20 16:38:30 -07001698
1699
Jeff Johnson295189b2012-06-20 16:38:30 -07001700
1701/* ---------------------------------------------------------------------------
1702
1703 \fn sme_RoamUpdateAPWPSIE
1704
1705 \brief To update AP's WPS IE. This function should be called after SME AP session is created
1706 This is an asynchronous API.
1707
1708 \param pAPWPSIES - pointer to a caller allocated object of tCsrRoamAPWPSIES
1709
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001710 \return eHalStatus SUCCESS Roam callback will be called indicate actually results
Jeff Johnson295189b2012-06-20 16:38:30 -07001711
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001712 FAILURE or RESOURCES The API finished and failed.
Jeff Johnson295189b2012-06-20 16:38:30 -07001713
1714 -------------------------------------------------------------------------------*/
1715
1716eHalStatus sme_RoamUpdateAPWPSIE(tHalHandle, tANI_U8 sessionId, tSirAPWPSIEs *pAPWPSIES);
1717/* ---------------------------------------------------------------------------
1718
1719 \fn sme_RoamUpdateAPWPARSNIEs
1720
1721 \brief To update AP's WPA/RSN IEs. This function should be called after SME AP session is created
1722 This is an asynchronous API.
1723
1724 \param pAPSirRSNie - pointer to a caller allocated object of tSirRSNie with WPS/RSN IEs
1725
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001726 \return eHalStatus SUCCESS
Jeff Johnson295189b2012-06-20 16:38:30 -07001727
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001728 FAILURE or RESOURCES The API finished and failed.
Jeff Johnson295189b2012-06-20 16:38:30 -07001729
1730 -------------------------------------------------------------------------------*/
1731eHalStatus sme_RoamUpdateAPWPARSNIEs(tHalHandle hHal, tANI_U8 sessionId, tSirRSNie * pAPSirRSNie);
1732
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -08001733/* ---------------------------------------------------------------------------
1734
1735 sme_ChangeMCCBeaconInterval
1736
1737 \brief To update P2P-GO's beacon Interval.
1738
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001739 \return eHalStatus SUCCESS
1740 FAILURE or RESOURCES
1741 The API finished and failed.
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -08001742 -------------------------------------------------------------------------------*/
1743eHalStatus sme_ChangeMCCBeaconInterval(tHalHandle hHal, tANI_U8 sessionId);
1744
1745
Jeff Johnson295189b2012-06-20 16:38:30 -07001746
1747/* ---------------------------------------------------------------------------
1748 \fn sme_sendBTAmpEvent
1749 \brief API to send the btAMPstate to FW
1750 \param hHal - The handle returned by macOpen.
1751 \param btAmpEvent -- btAMP event
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001752 \return eHalStatus SUCCESS
1753 FAILURE or RESOURCES The API finished and failed.
Jeff Johnson295189b2012-06-20 16:38:30 -07001754
1755--------------------------------------------------------------------------- */
1756
1757eHalStatus sme_sendBTAmpEvent(tHalHandle hHal, tSmeBtAmpEvent btAmpEvent);
1758
1759
1760
1761/* ---------------------------------------------------------------------------
1762 \fn sme_SetHostOffload
1763 \brief API to set the host offload feature.
1764 \param hHal - The handle returned by macOpen.
1765 \param pRequest - Pointer to the offload request.
1766 \return eHalStatus
1767 ---------------------------------------------------------------------------*/
Jeff Johnsone7245742012-09-05 17:12:55 -07001768eHalStatus sme_SetHostOffload (tHalHandle hHal, tANI_U8 sessionId,
1769 tpSirHostOffloadReq pRequest);
Jeff Johnson295189b2012-06-20 16:38:30 -07001770
1771/* ---------------------------------------------------------------------------
1772 \fn sme_SetKeepAlive
1773 \brief API to set the Keep Alive feature.
1774 \param hHal - The handle returned by macOpen.
1775 \param pRequest - Pointer to the Keep Alive request.
1776 \return eHalStatus
1777 ---------------------------------------------------------------------------*/
Jeff Johnsone7245742012-09-05 17:12:55 -07001778eHalStatus sme_SetKeepAlive (tHalHandle hHal, tANI_U8 sessionId,
1779 tpSirKeepAliveReq pRequest);
Jeff Johnson295189b2012-06-20 16:38:30 -07001780
Jeff Johnson295189b2012-06-20 16:38:30 -07001781/* ----------------------------------------------------------------------------
1782 \fn sme_GetOperationChannel
1783 \brief API to get current channel on which STA is parked
1784 this function gives channel information only of infra station or IBSS station.
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001785 \param hHal, pointer to memory location and sessionId
Jeff Johnson295189b2012-06-20 16:38:30 -07001786 \returns eHAL_STATUS_SUCCESS
1787 eHAL_STATUS_FAILURE
1788-------------------------------------------------------------------------------*/
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001789eHalStatus sme_GetOperationChannel(tHalHandle hHal, tANI_U32 *pChannel, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07001790
Jeff Johnson295189b2012-06-20 16:38:30 -07001791/* ---------------------------------------------------------------------------
1792
1793 \fn sme_RegisterMgtFrame
1794
1795 \brief To register managment frame of specified type and subtype.
1796 \param frameType - type of the frame that needs to be passed to HDD.
1797 \param matchData - data which needs to be matched before passing frame
1798 to HDD.
1799 \param matchDataLen - Length of matched data.
1800 \return eHalStatus
1801 -------------------------------------------------------------------------------*/
1802eHalStatus sme_RegisterMgmtFrame(tHalHandle hHal, tANI_U8 sessionId,
1803 tANI_U16 frameType, tANI_U8* matchData, tANI_U16 matchLen);
1804
1805/* ---------------------------------------------------------------------------
1806
1807 \fn sme_DeregisterMgtFrame
1808
1809 \brief To De-register managment frame of specified type and subtype.
1810 \param frameType - type of the frame that needs to be passed to HDD.
1811 \param matchData - data which needs to be matched before passing frame
1812 to HDD.
1813 \param matchDataLen - Length of matched data.
1814 \return eHalStatus
1815 -------------------------------------------------------------------------------*/
1816eHalStatus sme_DeregisterMgmtFrame(tHalHandle hHal, tANI_U8 sessionId,
1817 tANI_U16 frameType, tANI_U8* matchData, tANI_U16 matchLen);
Jeff Johnson295189b2012-06-20 16:38:30 -07001818
1819/* ---------------------------------------------------------------------------
1820
1821 \fn sme_ConfigureRxpFilter
1822
1823 \brief
1824 SME will pass this request to lower mac to set/reset the filter on RXP for
1825 multicast & broadcast traffic.
1826
1827 \param
1828
1829 hHal - The handle returned by macOpen.
1830
1831 filterMask- Currently the API takes a 1 or 0 (set or reset) as filter.
1832 Basically to enable/disable the filter (to filter "all" mcbc traffic) based
1833 on this param. In future we can use this as a mask to set various types of
1834 filters as suggested below:
1835 FILTER_ALL_MULTICAST:
1836 FILTER_ALL_BROADCAST:
1837 FILTER_ALL_MULTICAST_BROADCAST:
1838
1839
1840 \return eHalStatus
1841
1842
1843--------------------------------------------------------------------------- */
1844eHalStatus sme_ConfigureRxpFilter( tHalHandle hHal,
1845 tpSirWlanSetRxpFilters wlanRxpFilterParam);
1846
1847/* ---------------------------------------------------------------------------
1848
1849 \fn sme_ConfigureAppsCpuWakeupState
1850
1851 \brief
1852 SME will pass this request to lower mac to dynamically adjusts the listen
1853 interval based on the WLAN/MSM activity. This feature is named as
1854 Telescopic Beacon wakeup feature.
1855
1856 \param
1857
1858 hHal - The handle returned by macOpen.
1859
1860 isAppsAwake- Depicts the state of the Apps CPU
1861
1862
1863 \return eHalStatus
1864
1865
1866--------------------------------------------------------------------------- */
1867eHalStatus sme_ConfigureAppsCpuWakeupState( tHalHandle hHal, tANI_BOOLEAN isAppsAwake);
1868
Jeff Johnson295189b2012-06-20 16:38:30 -07001869/* ---------------------------------------------------------------------------
1870
1871 \fn sme_ConfigureSuspendInd
1872
1873 \brief
1874 SME will pass this request to lower mac to Indicate that the wlan needs to
1875 be suspended
1876
1877 \param
1878
1879 hHal - The handle returned by macOpen.
1880
1881 wlanSuspendParam- Depicts the wlan suspend params
1882
1883
1884 \return eHalStatus
1885
1886
1887--------------------------------------------------------------------------- */
1888eHalStatus sme_ConfigureSuspendInd( tHalHandle hHal,
1889 tpSirWlanSuspendParam wlanSuspendParam);
1890
1891/* ---------------------------------------------------------------------------
1892
1893 \fn sme_ConfigureResumeReq
1894
1895 \brief
1896 SME will pass this request to lower mac to Indicate that the wlan needs to
1897 be Resumed
1898
1899 \param
1900
1901 hHal - The handle returned by macOpen.
1902
1903 wlanResumeParam- Depicts the wlan resume params
1904
1905
1906 \return eHalStatus
1907
1908
1909--------------------------------------------------------------------------- */
1910eHalStatus sme_ConfigureResumeReq( tHalHandle hHal,
1911 tpSirWlanResumeParam wlanResumeParam);
1912
Jeff Johnson295189b2012-06-20 16:38:30 -07001913
1914/* ---------------------------------------------------------------------------
1915
1916 \fn sme_GetInfraSessionId
1917
1918 \brief To get the session ID for infra session, if connected
1919 This is a synchronous API.
1920
1921 \param hHal - The handle returned by macOpen.
1922
1923 \return sessionid, -1 if infra session is not connected
1924
1925 -------------------------------------------------------------------------------*/
1926tANI_S8 sme_GetInfraSessionId(tHalHandle hHal);
1927
1928/* ---------------------------------------------------------------------------
1929
1930 \fn sme_GetInfraOperationChannel
1931
1932 \brief To get the operating channel for infra session, if connected
1933 This is a synchronous API.
1934
1935 \param hHal - The handle returned by macOpen.
1936 \param sessionId - the sessionId returned by sme_OpenSession.
1937
1938 \return operating channel, 0 if infra session is not connected
1939
1940 -------------------------------------------------------------------------------*/
1941tANI_U8 sme_GetInfraOperationChannel( tHalHandle hHal, tANI_U8 sessionId);
1942/* ---------------------------------------------------------------------------
1943
1944 \fn sme_GetConcurrentOperationChannel
1945
1946 \brief To get the operating channel for other concurrent sessions, if connected
1947 This is a synchronous API.
1948
1949 \param hHal - The handle returned by macOpen.
1950 \param currentPersona - persona that is trying to come up.
1951
1952 \return operating channel, 0 if infra session is not connected
1953
1954 -------------------------------------------------------------------------------*/
1955tANI_U8 sme_GetConcurrentOperationChannel( tHalHandle hHal );
1956
1957/* ---------------------------------------------------------------------------
1958 \fn sme_AbortMacScan
1959 \brief API to cancel MAC scan.
1960 \param hHal - The handle returned by macOpen.
Madan Mohan Koyyalamudiff3a7152013-06-13 14:47:55 +05301961 \param sessionId - sessionId for interface
Jeff Johnson295189b2012-06-20 16:38:30 -07001962 \return VOS_STATUS
1963 VOS_STATUS_E_FAILURE - failure
1964 VOS_STATUS_SUCCESS success
1965 ---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudiff3a7152013-06-13 14:47:55 +05301966eHalStatus sme_AbortMacScan(tHalHandle hHal, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07001967
1968/* ---------------------------------------------------------------------------
1969 \fn sme_GetCfgValidChannels
1970 \brief API to get valid channel list
1971 \param hHal - The handle returned by macOpen.
1972 \param aValidChannels - Pointer to the valid channel list
1973 \param len - valid channel list length
1974 \return eHalStatus
1975 ---------------------------------------------------------------------------*/
1976eHalStatus sme_GetCfgValidChannels(tHalHandle hHal, tANI_U8 *aValidChannels, tANI_U32 *len);
1977
1978#ifdef FEATURE_WLAN_SCAN_PNO
1979
1980/* ---------------------------------------------------------------------------
1981 \fn sme_SetPreferredNetworkList
1982 \brief API to set the Preferred Network List Offload feature.
1983 \param hHal - The handle returned by macOpen.
1984 \param pRequest - Pointer to the offload request.
1985 \return eHalStatus
1986 ---------------------------------------------------------------------------*/
1987eHalStatus sme_SetPreferredNetworkList (tHalHandle hHal, tpSirPNOScanReq pRequest, tANI_U8 sessionId, preferredNetworkFoundIndCallback callbackRoutine, void *callbackContext );
1988
1989/* ---------------------------------------------------------------------------
1990 \fn sme_SetRSSIFilter
1991 \brief API to set RSSI Filter feature.
1992 \param hHal - The handle returned by macOpen.
1993 \param pRequest - Pointer to the offload request.
1994 \return eHalStatus
1995 ---------------------------------------------------------------------------*/
1996eHalStatus sme_SetRSSIFilter(tHalHandle hHal, v_U8_t rssiThreshold);
1997
1998/******************************************************************************
1999*
2000* Name: sme_PreferredNetworkFoundInd
2001*
2002* Description:
2003* Invoke Preferred Network Found Indication
2004*
2005* Parameters:
2006* hHal - HAL handle for device
2007* pMsg - found network description
2008*
2009* Returns: eHalStatus
2010*
2011******************************************************************************/
2012eHalStatus sme_PreferredNetworkFoundInd (tHalHandle hHal, void* pMsg);
2013#endif // FEATURE_WLAN_SCAN_PNO
2014
2015/* ---------------------------------------------------------------------------
2016 \fn sme_SetPowerParams
2017 \brief API to set Power Parameters
2018 \param hHal - The handle returned by macOpen.
2019 \param pwParams - Pointer to the power parameters requested.
Tushnim Bhattacharyya3a37def2013-02-24 11:11:15 -08002020 \param forced - if true, not to be dropped silently in host, it must reach
2021 FW; It is added to avoid a race condition scenario where LIM hasn't deleted
2022 the session yet before power params gets sent to PMC
Jeff Johnson295189b2012-06-20 16:38:30 -07002023 \return eHalStatus
2024 ---------------------------------------------------------------------------*/
Tushnim Bhattacharyya3a37def2013-02-24 11:11:15 -08002025eHalStatus sme_SetPowerParams(tHalHandle hHal, tSirSetPowerParamsReq* pwParams, tANI_BOOLEAN forced);
Jeff Johnson295189b2012-06-20 16:38:30 -07002026
2027/* ---------------------------------------------------------------------------
2028 \fn sme_SetTxPerTracking
2029 \brief Set Tx PER tracking configuration parameters
2030 \param hHal - The handle returned by macOpen.
2031 \param pTxPerTrackingParam - Tx PER configuration parameters
2032 \return eHalStatus
2033 ---------------------------------------------------------------------------*/
2034eHalStatus sme_SetTxPerTracking (
2035 tHalHandle hHal,
2036 void (*pCallbackfn) (void *pCallbackContext),
2037 void *pCallbackContext,
2038 tpSirTxPerTrackingParam pTxPerTrackingParam);
2039
2040#ifdef WLAN_FEATURE_PACKET_FILTERING
2041/* ---------------------------------------------------------------------------
2042 \fn sme_ReceiveFilterSetFilter
2043 \brief API to set 8023 Multicast Address List
2044 \param hHal - The handle returned by macOpen.
2045 \param pMulticastAddrs - Pointer to the Multicast Address List
2046 \return eHalStatus
2047 ---------------------------------------------------------------------------*/
Amar Singhalf3a6e762013-02-19 15:06:50 -08002048eHalStatus sme_8023MulticastList(tHalHandle hHal, tANI_U8 sessionId, tpSirRcvFltMcAddrList pMulticastAddrs);
Jeff Johnson295189b2012-06-20 16:38:30 -07002049
2050/* ---------------------------------------------------------------------------
2051 \fn sme_ReceiveFilterSetFilter
2052 \brief API to set Receive Packet Filter
2053 \param hHal - The handle returned by macOpen.
2054 \param pRcvPktFilterCfg - Receive Packet Filter parameter
2055 \return eHalStatus
2056 ---------------------------------------------------------------------------*/
Jeff Johnsone7245742012-09-05 17:12:55 -07002057eHalStatus sme_ReceiveFilterSetFilter(tHalHandle hHal, tpSirRcvPktFilterCfgType pRcvPktFilterCfg,
2058 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002059
2060/* ---------------------------------------------------------------------------
2061 \fn sme_GetFilterMatchCount
2062 \brief API to get D0 PC Filter Match Count
2063 \param hHal - The handle returned by macOpen
2064 \param callbackRoutine - Callback routine invoked to receive Packet Coalescing Filter Match Count
2065 \param callbackContext - Cookie to be passed back during callback
2066 \return eHalStatus
2067 ---------------------------------------------------------------------------*/
2068eHalStatus sme_GetFilterMatchCount(tHalHandle hHal,
2069 FilterMatchCountCallback callbackRoutine,
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07002070 void *callbackContext,
2071 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002072
2073/* ---------------------------------------------------------------------------
2074 \fn sme_ReceiveFilterClearFilter
2075 \brief API to clear Receive Packet Filter
2076 \param hHal - The handle returned by macOpen.
2077 \param pRcvFltPktClearParam - Receive Packet Filter Clear parameter
2078 \return eHalStatus
2079 ---------------------------------------------------------------------------*/
2080eHalStatus sme_ReceiveFilterClearFilter(tHalHandle hHal,
Jeff Johnsone7245742012-09-05 17:12:55 -07002081 tpSirRcvFltPktClearParam pRcvFltPktClearParam,
2082 tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002083#endif // WLAN_FEATURE_PACKET_FILTERING
2084/* ---------------------------------------------------------------------------
2085
2086 \fn sme_IsChannelValid
2087 \brief To check if the channel is valid for currently established domain
2088 This is a synchronous API.
2089
2090 \param hHal - The handle returned by macOpen.
2091 \param channel - channel to verify
2092
2093 \return TRUE/FALSE, TRUE if channel is valid
2094
2095 -------------------------------------------------------------------------------*/
2096tANI_BOOLEAN sme_IsChannelValid(tHalHandle hHal, tANI_U8 channel);
2097
2098/* ---------------------------------------------------------------------------
2099 \fn sme_SetFreqBand
2100 \brief Used to set frequency band.
2101 \param hHal
2102 \eBand band value to be configured
2103 \- return eHalStatus
2104 -------------------------------------------------------------------------*/
2105eHalStatus sme_SetFreqBand(tHalHandle hHal, eCsrBand eBand);
2106
2107/* ---------------------------------------------------------------------------
2108 \fn sme_GetFreqBand
2109 \brief Used to get the current band settings.
2110 \param hHal
2111 \pBand pointer to hold the current band value
2112 \- return eHalStatus
2113 -------------------------------------------------------------------------*/
2114eHalStatus sme_GetFreqBand(tHalHandle hHal, eCsrBand *pBand);
2115
2116/* ---------------------------------------------------------------------------
2117
2118 \fn sme_SetTxPerTracking
2119 \brief Set Tx PER tracking configuration parameters
2120 \param hHal - The handle returned by macOpen.
2121 \param pTxPerTrackingParam - Tx PER configuration parameters
2122 \return eHalStatus
2123 ---------------------------------------------------------------------------*/
2124eHalStatus sme_SetTxPerTracking (
2125 tHalHandle hHal,
2126 void (*pCallbackfn) (void *pCallbackContext),
2127 void *pCallbackContext,
2128 tpSirTxPerTrackingParam pTxPerTrackingParam);
2129
2130#ifdef WLAN_FEATURE_GTK_OFFLOAD
2131/* ---------------------------------------------------------------------------
2132 \fn sme_SetGTKOffload
2133 \brief API to set GTK offload feature.
2134 \param hHal - The handle returned by macOpen.
2135 \param pRequest - Pointer to the GTK offload request.
2136 \return eHalStatus
2137 ---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07002138eHalStatus sme_SetGTKOffload (tHalHandle hHal, tpSirGtkOffloadParams pRequest, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002139
2140/* ---------------------------------------------------------------------------
2141 \fn sme_GetGTKOffload
2142 \brief API to get GTK offload information.
2143 \param hHal - The handle returned by macOpen.
2144 \param pRequest - Pointer to the GTK offload response.
2145 \return eHalStatus
2146 ---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07002147eHalStatus sme_GetGTKOffload (tHalHandle hHal, GTKOffloadGetInfoCallback callbackRoutine,
2148 void *callbackContext, tANI_U8 sessionId);
Jeff Johnson295189b2012-06-20 16:38:30 -07002149#endif // WLAN_FEATURE_GTK_OFFLOAD
2150
2151#ifdef WLAN_WAKEUP_EVENTS
2152eHalStatus sme_WakeReasonIndCallback (tHalHandle hHal, void* pMsg);
2153#endif // WLAN_WAKEUP_EVENTS
2154
2155/* ---------------------------------------------------------------------------
2156 \fn sme_SetTxPerTracking
2157 \brief Set Tx PER tracking configuration parameters
2158 \param hHal - The handle returned by macOpen.
2159 \param pTxPerTrackingParam - Tx PER configuration parameters
2160 \return eHalStatus
2161 ---------------------------------------------------------------------------*/
2162eHalStatus sme_SetTxPerTracking (
2163 tHalHandle hHal,
2164 void (*pCallbackfn) (void *pCallbackContext),
2165 void *pCallbackContext,
2166 tpSirTxPerTrackingParam pTxPerTrackingParam);
2167
2168
2169//return frequency for a particular channel
2170tANI_U16 sme_ChnToFreq(tANI_U8 chanNum);
2171
2172tANI_BOOLEAN sme_IsChannelValid(tHalHandle hHal, tANI_U8 channel);
2173
2174#if defined WLAN_FEATURE_P2P_INTERNAL
2175
2176eHalStatus sme_p2pResetSession(tHalHandle hHal, tANI_U8 HDDSessionId);
2177
2178/* ---------------------------------------------------------------------------
2179 \fn sme_p2pFlushDeviceList
2180 \brief Remove cached P2P result from scan results
2181 \param hHal - The handle returned by macOpen.
2182 \param HDDSessionId - HDD's sessionId. Currently unused.
2183 \return eHalStatus
2184 ---------------------------------------------------------------------------*/
2185eHalStatus sme_p2pFlushDeviceList(tHalHandle hHal, tANI_U8 HDDSessionId);
2186
2187eHalStatus sme_p2pGetResultFilter(tHalHandle hHal, tANI_U8 HDDSessionId,
2188 tCsrScanResultFilter *pFilter);
2189
2190#endif //#if defined WLAN_FEATURE_P2P_INTERNAL
2191
2192/* ---------------------------------------------------------------------------
2193 \fn sme_SetMaxTxPower
2194 \brief Used to set the Maximum Transmit Power dynamically. Note: this
2195 setting will not persist over reboots
2196 \param hHal
2197 \param pBssid BSSID to set the power cap for
2198 \param pBssid pSelfMacAddress self MAC Address
2199 \param pBssid power to set in dB
2200 \- return eHalStatus
2201 -------------------------------------------------------------------------*/
2202eHalStatus sme_SetMaxTxPower(tHalHandle hHal, tSirMacAddr pBssid,
2203 tSirMacAddr pSelfMacAddress, v_S7_t dB);
2204
Jeff Johnson295189b2012-06-20 16:38:30 -07002205/* ---------------------------------------------------------------------------
2206
schang86c22c42013-03-13 18:41:24 -07002207 \fn sme_SetTxPower
2208
2209 \brief Set Transmit Power dynamically. Note: this setting will
2210 not persist over reboots.
2211
2212 \param hHal
2213 \param sessionId Target Session ID
2214 \param mW power to set in mW
2215 \- return eHalStatus
2216
2217 -------------------------------------------------------------------------------*/
2218eHalStatus sme_SetTxPower(tHalHandle hHal, v_U8_t sessionId, v_U8_t mW);
2219
2220/* ---------------------------------------------------------------------------
2221
Jeff Johnson295189b2012-06-20 16:38:30 -07002222 \fn sme_HideSSID
2223
2224 \brief Enable/Disables hidden SSID dynamically. Note: this setting will
2225 not persist over reboots.
2226
2227 \param hHal
2228 \param sessionId
2229 \param ssidHidden 0 - Broadcast SSID, 1 - Disable broadcast SSID
2230 \- return eHalStatus
2231
2232 -------------------------------------------------------------------------------*/
2233eHalStatus sme_HideSSID(tHalHandle hHal, v_U8_t sessionId, v_U8_t ssidHidden);
Jeff Johnson295189b2012-06-20 16:38:30 -07002234
2235/* ---------------------------------------------------------------------------
2236
2237 \fn sme_SetTmLevel
2238 \brief Set Thermal Mitigation Level to RIVA
2239 \param hHal - The handle returned by macOpen.
2240 \param newTMLevel - new Thermal Mitigation Level
2241 \param tmMode - Thermal Mitigation handle mode, default 0
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -07002242 \return eHalStatus
Jeff Johnson295189b2012-06-20 16:38:30 -07002243 ---------------------------------------------------------------------------*/
2244eHalStatus sme_SetTmLevel(tHalHandle hHal, v_U16_t newTMLevel, v_U16_t tmMode);
2245
2246/*---------------------------------------------------------------------------
2247
2248 \brief sme_featureCapsExchange() - SME interface to exchange capabilities between
2249 Host and FW.
2250
2251 \param hHal - HAL handle for device
2252
2253 \return NONE
2254
2255---------------------------------------------------------------------------*/
2256void sme_featureCapsExchange(tHalHandle hHal);
2257
Jeff Johnsond13512a2012-07-17 11:42:19 -07002258/*---------------------------------------------------------------------------
2259
Yathish9f22e662012-12-10 14:21:35 -08002260 \brief sme_disableActiveModeOffload() - SME interface to disable Active mode Offload capabilitu
2261 between in Host.
2262
2263 \param hHal - HAL handle for device
2264
2265 \return NONE
2266
2267---------------------------------------------------------------------------*/
2268void sme_disableFeatureCapablity(tANI_U8 feature_index);
2269
2270/*---------------------------------------------------------------------------
2271
Jeff Johnsond13512a2012-07-17 11:42:19 -07002272 \brief sme_GetDefaultCountryCodeFrmNv() - SME interface to get the default
2273 country code
2274 Host and FW.
2275
2276 \param hHal - HAL handle for device
2277 \param pCountry - pointer to country code
2278
Jeff Johnsonfeddb2d2012-12-10 14:41:22 -08002279 \return Success or failure
Jeff Johnsond13512a2012-07-17 11:42:19 -07002280
2281 ---------------------------------------------------------------------------*/
2282eHalStatus sme_GetDefaultCountryCodeFrmNv(tHalHandle hHal, tANI_U8 *pCountry);
2283
2284/*---------------------------------------------------------------------------
2285
2286 \brief sme_GetCurrentCountryCode() - SME interface to get the current operating
2287 country code.
2288
2289 \param hHal - HAL handle for device
2290 \param pCountry - pointer to country code
2291
2292 \return Success or failure
2293
2294 ---------------------------------------------------------------------------*/
2295eHalStatus sme_GetCurrentCountryCode(tHalHandle hHal, tANI_U8 *pCountry);
2296
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07002297/* ---------------------------------------------------------------------------
2298 \fn sme_transportDebug
2299 \brief Dynamically monitoring Transport channels
2300 Private IOCTL will querry transport channel status if driver loaded
schang6295e542013-03-12 15:31:23 -07002301 \param hHal Upper MAC context
Jeff Johnsonb88db982012-12-10 13:34:59 -08002302 \param displaySnapshot Display transport channel snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07002303 \param toggleStallDetect Enable stall detect feature
2304 This feature will take effect to data performance
2305 Not integrate till fully verification
2306 \- return NONE
2307 -------------------------------------------------------------------------*/
schang6295e542013-03-12 15:31:23 -07002308void sme_transportDebug(tHalHandle hHal, v_BOOL_t displaySnapshot, v_BOOL_t toggleStallDetect);
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002309
Kiran4a17ebe2013-01-31 10:43:43 -08002310/* ---------------------------------------------------------------------------
2311 \fn sme_ResetPowerValuesFor5G
2312 \brief Reset the power values for 5G band with NV power values.
2313 \param hHal - HAL handle for device
2314 \- return NONE
2315 -------------------------------------------------------------------------*/
2316void sme_ResetPowerValuesFor5G (tHalHandle hHal);
2317
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002318#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
2319/* ---------------------------------------------------------------------------
2320 \fn sme_UpdateRoamPrefer5GHz
2321 \brief enable/disable Roam prefer 5G runtime option
2322 This function is called through dynamic setConfig callback function
2323 to configure the Roam prefer 5G runtime option
2324 \param hHal - HAL handle for device
2325 \param nRoamPrefer5GHz Enable/Disable Roam prefer 5G runtime option
2326 \- return Success or failure
2327 -------------------------------------------------------------------------*/
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002328eHalStatus sme_UpdateRoamPrefer5GHz(tHalHandle hHal, v_BOOL_t nRoamPrefer5GHz);
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08002329
2330/* ---------------------------------------------------------------------------
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002331 \fn sme_setRoamIntraBand
2332 \brief enable/disable Intra band roaming
2333 This function is called through dynamic setConfig callback function
2334 to configure the intra band roaming
2335 \param hHal - HAL handle for device
2336 \param nRoamIntraBand Enable/Disable Intra band roaming
2337 \- return Success or failure
2338 -------------------------------------------------------------------------*/
2339eHalStatus sme_setRoamIntraBand(tHalHandle hHal, const v_BOOL_t nRoamIntraBand);
2340
2341/* ---------------------------------------------------------------------------
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002342 \fn sme_UpdateRoamScanNProbes
2343 \brief function to update roam scan N probes
2344 This function is called through dynamic setConfig callback function
2345 to update roam scan N probes
2346 \param hHal - HAL handle for device
2347 \param nProbes number of probe requests to be sent out
2348 \- return Success or failure
2349 -------------------------------------------------------------------------*/
2350eHalStatus sme_UpdateRoamScanNProbes(tHalHandle hHal, const v_U8_t nProbes);
2351
2352/* ---------------------------------------------------------------------------
2353 \fn sme_UpdateRoamScanHomeAwayTime
2354 \brief function to update roam scan Home away time
2355 This function is called through dynamic setConfig callback function
2356 to update roam scan home away time
2357 \param hHal - HAL handle for device
2358 \param nRoamScanAwayTime Scan home away time
2359 \- return Success or failure
2360 -------------------------------------------------------------------------*/
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -07002361eHalStatus sme_UpdateRoamScanHomeAwayTime(tHalHandle hHal,
2362 const v_U16_t nRoamScanHomeAwayTime,
2363 const eAniBoolean bSendOffloadCmd);
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002364
2365/* ---------------------------------------------------------------------------
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002366 \fn sme_getRoamIntraBand
2367 \brief get Intra band roaming
2368 \param hHal - HAL handle for device
2369 \- return Success or failure
2370 -------------------------------------------------------------------------*/
2371v_BOOL_t sme_getRoamIntraBand(tHalHandle hHal);
2372
2373/* ---------------------------------------------------------------------------
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002374 \fn sme_getRoamScanNProbes
2375 \brief get N Probes
2376 \param hHal - HAL handle for device
2377 \- return Success or failure
2378 -------------------------------------------------------------------------*/
2379v_U8_t sme_getRoamScanNProbes(tHalHandle hHal);
2380
2381/* ---------------------------------------------------------------------------
2382 \fn sme_getRoamScanHomeAwayTime
2383 \brief get Roam scan home away time
2384 \param hHal - HAL handle for device
2385 \- return Success or failure
2386 -------------------------------------------------------------------------*/
2387v_U16_t sme_getRoamScanHomeAwayTime(tHalHandle hHal);
2388
2389/* ---------------------------------------------------------------------------
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08002390 \fn sme_UpdateImmediateRoamRssiDiff
2391 \brief Update nImmediateRoamRssiDiff
2392 This function is called through dynamic setConfig callback function
2393 to configure nImmediateRoamRssiDiff
2394 Usage: adb shell iwpriv wlan0 setConfig gImmediateRoamRssiDiff=[0 .. 125]
2395 \param hHal - HAL handle for device
2396 \param nImmediateRoamRssiDiff - minimum rssi difference between potential
2397 candidate and current AP.
2398 \- return Success or failure
2399 -------------------------------------------------------------------------*/
2400
2401eHalStatus sme_UpdateImmediateRoamRssiDiff(tHalHandle hHal, v_U8_t nImmediateRoamRssiDiff);
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002402
Srinivas Girigowdade697412013-02-14 16:31:48 -08002403/* ---------------------------------------------------------------------------
2404 \fn sme_UpdateRoamRssiDiff
2405 \brief Update RoamRssiDiff
2406 This function is called through dynamic setConfig callback function
2407 to configure RoamRssiDiff
2408 Usage: adb shell iwpriv wlan0 setConfig RoamRssiDiff=[0 .. 125]
2409 \param hHal - HAL handle for device
2410 \param RoamRssiDiff - minimum rssi difference between potential
2411 candidate and current AP.
2412 \- return Success or failure
2413 -------------------------------------------------------------------------*/
2414
2415eHalStatus sme_UpdateRoamRssiDiff(tHalHandle hHal, v_U8_t RoamRssiDiff);
2416
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002417/*--------------------------------------------------------------------------
2418 \brief sme_UpdateFastTransitionEnabled() - enable/disable Fast Transition support at runtime
2419 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
2420 isFastTransitionEnabled.
2421 This is a synchronuous call
2422 \param hHal - The handle returned by macOpen.
2423 \return eHAL_STATUS_SUCCESS - SME update isFastTransitionEnabled config successfully.
2424 Other status means SME is failed to update isFastTransitionEnabled.
2425 \sa
2426 --------------------------------------------------------------------------*/
2427
2428eHalStatus sme_UpdateFastTransitionEnabled(tHalHandle hHal,
2429 v_BOOL_t isFastTransitionEnabled);
Srinivas Girigowda100eb322013-03-15 16:48:20 -07002430
2431/* ---------------------------------------------------------------------------
Srinivas Girigowda100eb322013-03-15 16:48:20 -07002432 \fn sme_SetRoamScanControl
2433 \brief Set roam scan control
2434 This function is called to set roam scan control
2435 if roam scan control is set to 0, roaming scan cache is cleared
2436 any value other than 0 is treated as invalid value
2437 \param hHal - HAL handle for device
2438 \return eHAL_STATUS_SUCCESS - SME update config successfully.
2439 Other status means SME failure to update
2440 -------------------------------------------------------------------------*/
2441eHalStatus sme_SetRoamScanControl(tHalHandle hHal, v_BOOL_t roamScanControl);
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002442#endif /* (WLAN_FEATURE_VOWIFI_11R) || (FEATURE_WLAN_CCX) || (FEATURE_WLAN_LFR) */
2443
2444#ifdef FEATURE_WLAN_LFR
2445/*--------------------------------------------------------------------------
2446 \brief sme_UpdateIsFastRoamIniFeatureEnabled() - enable/disable LFR support at runtime
Srinivas Girigowdade697412013-02-14 16:31:48 -08002447 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002448 isFastRoamIniFeatureEnabled.
2449 This is a synchronuous call
2450 \param hHal - The handle returned by macOpen.
2451 \return eHAL_STATUS_SUCCESS - SME update isFastRoamIniFeatureEnabled config successfully.
2452 Other status means SME is failed to update isFastRoamIniFeatureEnabled.
2453 \sa
2454 --------------------------------------------------------------------------*/
2455
Srinivas Girigowdade697412013-02-14 16:31:48 -08002456eHalStatus sme_UpdateIsFastRoamIniFeatureEnabled(tHalHandle hHal,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002457 const v_BOOL_t isFastRoamIniFeatureEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002458
2459
2460#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2461/*--------------------------------------------------------------------------
2462 \brief sme_UpdateEnableFastRoamInConcurrency() - enable/disable LFR if Concurrent session exists
2463 This is a synchronuous call
2464 \param hHal - The handle returned by macOpen.
2465 \return eHAL_STATUS_SUCCESS
2466 Other status means SME is failed
2467 \sa
2468 --------------------------------------------------------------------------*/
2469
2470eHalStatus sme_UpdateEnableFastRoamInConcurrency(tHalHandle hHal,
2471 v_BOOL_t bFastRoamInConIniFeatureEnabled);
2472#endif
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002473#endif /* FEATURE_WLAN_LFR */
2474
2475#ifdef FEATURE_WLAN_CCX
2476/*--------------------------------------------------------------------------
2477 \brief sme_UpdateIsCcxFeatureEnabled() - enable/disable CCX support at runtime
2478 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
2479 isCcxIniFeatureEnabled.
2480 This is a synchronuous call
2481 \param hHal - The handle returned by macOpen.
2482 \return eHAL_STATUS_SUCCESS - SME update isCcxIniFeatureEnabled config successfully.
2483 Other status means SME is failed to update isCcxIniFeatureEnabled.
2484 \sa
2485 --------------------------------------------------------------------------*/
2486
2487eHalStatus sme_UpdateIsCcxFeatureEnabled(tHalHandle hHal,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002488 const v_BOOL_t isCcxIniFeatureEnabled);
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08002489
2490#endif /* FEATURE_WLAN_CCX */
2491
2492/*--------------------------------------------------------------------------
2493 \brief sme_UpdateConfigFwRssiMonitoring() - enable/disable firmware RSSI Monitornig at runtime
2494 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
2495 fEnableFwRssiMonitoring.
2496 This is a synchronuous call
2497 \param hHal - The handle returned by macOpen.
2498 \return eHAL_STATUS_SUCCESS - SME update fEnableFwRssiMonitoring config successfully.
2499 Other status means SME is failed to update
2500 \sa
2501 --------------------------------------------------------------------------*/
2502
2503eHalStatus sme_UpdateConfigFwRssiMonitoring(tHalHandle hHal,
2504 v_BOOL_t fEnableFwRssiMonitoring);
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002505
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002506#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdade697412013-02-14 16:31:48 -08002507/*--------------------------------------------------------------------------
2508 \brief sme_setNeighborLookupRssiThreshold() - update neighbor lookup rssi threshold
2509 This is a synchronuous call
2510 \param hHal - The handle returned by macOpen.
2511 \return eHAL_STATUS_SUCCESS - SME update config successful.
2512 Other status means SME is failed to update
2513 \sa
2514 --------------------------------------------------------------------------*/
2515eHalStatus sme_setNeighborLookupRssiThreshold(tHalHandle hHal,
2516 v_U8_t neighborLookupRssiThreshold);
2517
2518/*--------------------------------------------------------------------------
2519 \brief sme_setNeighborReassocRssiThreshold() - update neighbor reassoc rssi threshold
2520 This is a synchronuous call
2521 \param hHal - The handle returned by macOpen.
2522 \return eHAL_STATUS_SUCCESS - SME update config successful.
2523 Other status means SME is failed to update
2524 \sa
2525 --------------------------------------------------------------------------*/
2526eHalStatus sme_setNeighborReassocRssiThreshold(tHalHandle hHal,
2527 v_U8_t neighborReassocRssiThreshold);
2528
2529/*--------------------------------------------------------------------------
2530 \brief sme_getNeighborLookupRssiThreshold() - get neighbor lookup rssi threshold
2531 This is a synchronuous call
2532 \param hHal - The handle returned by macOpen.
2533 \return eHAL_STATUS_SUCCESS - SME update config successful.
2534 Other status means SME is failed to update
2535 \sa
2536 --------------------------------------------------------------------------*/
2537v_U8_t sme_getNeighborLookupRssiThreshold(tHalHandle hHal);
2538
2539/*--------------------------------------------------------------------------
2540 \brief sme_setNeighborScanRefreshPeriod() - set neighbor scan results refresh period
2541 This is a synchronuous call
2542 \param hHal - The handle returned by macOpen.
2543 \return eHAL_STATUS_SUCCESS - SME update config successful.
2544 Other status means SME is failed to update
2545 \sa
2546 --------------------------------------------------------------------------*/
2547eHalStatus sme_setNeighborScanRefreshPeriod(tHalHandle hHal,
2548 v_U16_t neighborScanResultsRefreshPeriod);
2549
2550/*--------------------------------------------------------------------------
2551 \brief sme_getNeighborScanRefreshPeriod() - get neighbor scan results refresh period
2552 This is a synchronuous call
2553 \param hHal - The handle returned by macOpen.
2554 \return eHAL_STATUS_SUCCESS - SME update config successful.
2555 Other status means SME is failed to update
2556 \sa
2557 --------------------------------------------------------------------------*/
2558v_U16_t sme_getNeighborScanRefreshPeriod(tHalHandle hHal);
2559
2560/*--------------------------------------------------------------------------
2561 \brief sme_getEmptyScanRefreshPeriod() - get empty scan refresh period
2562 This is a synchronuous call
2563 \param hHal - The handle returned by macOpen.
2564 \return eHAL_STATUS_SUCCESS - SME update config successful.
2565 Other status means SME is failed to update
2566 \sa
2567 --------------------------------------------------------------------------*/
2568v_U16_t sme_getEmptyScanRefreshPeriod(tHalHandle hHal);
2569
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002570/* ---------------------------------------------------------------------------
2571 \fn sme_UpdateEmptyScanRefreshPeriod
2572 \brief Update nEmptyScanRefreshPeriod
2573 This function is called through dynamic setConfig callback function
2574 to configure nEmptyScanRefreshPeriod
2575 Usage: adb shell iwpriv wlan0 setConfig nEmptyScanRefreshPeriod=[0 .. 60]
2576 \param hHal - HAL handle for device
2577 \param nEmptyScanRefreshPeriod - scan period following empty scan results.
2578 \- return Success or failure
2579 -------------------------------------------------------------------------*/
2580eHalStatus sme_UpdateEmptyScanRefreshPeriod(tHalHandle hHal, v_U16_t nEmptyScanRefreshPeriod);
2581
2582/* ---------------------------------------------------------------------------
2583 \fn sme_setNeighborScanMinChanTime
2584 \brief Update nNeighborScanMinChanTime
2585 This function is called through dynamic setConfig callback function
2586 to configure gNeighborScanChannelMinTime
2587 Usage: adb shell iwpriv wlan0 setConfig gNeighborScanChannelMinTime=[0 .. 60]
2588 \param hHal - HAL handle for device
2589 \param nNeighborScanMinChanTime - Channel minimum dwell time
2590 \- return Success or failure
2591 -------------------------------------------------------------------------*/
2592eHalStatus sme_setNeighborScanMinChanTime(tHalHandle hHal, const v_U16_t nNeighborScanMinChanTime);
2593
2594/* ---------------------------------------------------------------------------
2595 \fn sme_setNeighborScanMaxChanTime
2596 \brief Update nNeighborScanMaxChanTime
2597 This function is called through dynamic setConfig callback function
2598 to configure gNeighborScanChannelMaxTime
2599 Usage: adb shell iwpriv wlan0 setConfig gNeighborScanChannelMaxTime=[0 .. 60]
2600 \param hHal - HAL handle for device
2601 \param nNeighborScanMinChanTime - Channel maximum dwell time
2602 \- return Success or failure
2603 -------------------------------------------------------------------------*/
2604eHalStatus sme_setNeighborScanMaxChanTime(tHalHandle hHal, const v_U16_t nNeighborScanMaxChanTime);
2605
2606/* ---------------------------------------------------------------------------
2607 \fn sme_getNeighborScanMinChanTime
2608 \brief get neighbor scan min channel time
2609 \param hHal - The handle returned by macOpen.
2610 \return v_U16_t - channel min time value
2611 -------------------------------------------------------------------------*/
2612v_U16_t sme_getNeighborScanMinChanTime(tHalHandle hHal);
2613
2614/* ---------------------------------------------------------------------------
2615 \fn sme_getNeighborScanMaxChanTime
2616 \brief get neighbor scan max channel time
2617 \param hHal - The handle returned by macOpen.
2618 \return v_U16_t - channel max time value
2619 -------------------------------------------------------------------------*/
2620v_U16_t sme_getNeighborScanMaxChanTime(tHalHandle hHal);
2621
2622/* ---------------------------------------------------------------------------
2623 \fn sme_setNeighborScanPeriod
2624 \brief Update nNeighborScanPeriod
2625 This function is called through dynamic setConfig callback function
2626 to configure nNeighborScanPeriod
2627 Usage: adb shell iwpriv wlan0 setConfig nNeighborScanPeriod=[0 .. 60]
2628 \param hHal - HAL handle for device
2629 \param nNeighborScanPeriod - neighbor scan period
2630 \- return Success or failure
2631 -------------------------------------------------------------------------*/
2632eHalStatus sme_setNeighborScanPeriod(tHalHandle hHal, const v_U16_t nNeighborScanPeriod);
2633
2634/* ---------------------------------------------------------------------------
2635 \fn sme_getNeighborScanPeriod
2636 \brief get neighbor scan period
2637 \param hHal - The handle returned by macOpen.
2638 \return v_U16_t - neighbor scan period
2639 -------------------------------------------------------------------------*/
2640v_U16_t sme_getNeighborScanPeriod(tHalHandle hHal);
2641
2642#endif
Srinivas Girigowdade697412013-02-14 16:31:48 -08002643
2644#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
2645/*--------------------------------------------------------------------------
2646 \brief sme_getRoamRssiDiff() - get Roam rssi diff
2647 This is a synchronuous call
2648 \param hHal - The handle returned by macOpen.
2649 \return eHAL_STATUS_SUCCESS - SME update config successful.
2650 Other status means SME is failed to update
2651 \sa
2652 --------------------------------------------------------------------------*/
2653v_U8_t sme_getRoamRssiDiff(tHalHandle hHal);
2654
2655/*--------------------------------------------------------------------------
2656 \brief sme_ChangeRoamScanChannelList() - Change roam scan channel list
2657 This is a synchronuous call
2658 \param hHal - The handle returned by macOpen.
2659 \return eHAL_STATUS_SUCCESS - SME update config successful.
2660 Other status means SME is failed to update
2661 \sa
2662 --------------------------------------------------------------------------*/
2663eHalStatus sme_ChangeRoamScanChannelList(tHalHandle hHal, tANI_U8 *pChannelList,
2664 tANI_U8 numChannels);
2665
2666/*--------------------------------------------------------------------------
Srinivas Girigowdade697412013-02-14 16:31:48 -08002667 \brief csrUpdateBgScanConfigIniChannelList() - Update bgscan roam cache
2668 This is a synchronuous call
2669 \param hHal - The handle returned by macOpen.
2670 \return eHAL_STATUS_SUCCESS - SME update config successful.
2671 Other status means SME is failed to update
2672 \sa
2673 --------------------------------------------------------------------------*/
2674eHalStatus sme_UpdateBgScanConfigIniChannelList(tHalHandle hHal,
2675 eCsrBand eBand);
2676
2677
2678/*--------------------------------------------------------------------------
2679 \brief sme_getRoamScanChannelList() - get roam scan channel list
2680 This is a synchronuous call
2681 \param hHal - The handle returned by macOpen.
2682 \return eHAL_STATUS_SUCCESS - SME update config successful.
2683 Other status means SME is failed to update
2684 \sa
2685 --------------------------------------------------------------------------*/
2686eHalStatus sme_getRoamScanChannelList(tHalHandle hHal, tANI_U8 *pChannelList,
2687 tANI_U8 *pNumChannels);
2688
2689/*--------------------------------------------------------------------------
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002690 \brief sme_getIsCcxFeatureEnabled() - get CCX feature enabled or not
2691 This is a synchronuous call
2692 \param hHal - The handle returned by macOpen.
2693 \return TRUE (1) - if the CCX feature is enabled
2694 FALSE (0) - if feature is disabled (compile or runtime)
2695 \sa
2696 --------------------------------------------------------------------------*/
2697tANI_BOOLEAN sme_getIsCcxFeatureEnabled(tHalHandle hHal);
2698
2699/*--------------------------------------------------------------------------
Srinivas Girigowda100eb322013-03-15 16:48:20 -07002700 \brief sme_GetRoamScanControl() - get scan control
2701 This is a synchronous call
2702 \param hHal - The handle returned by macOpen.
2703 \return v_BOOL_t - Enabled(1)/Disabled(0)
2704 \sa
2705 --------------------------------------------------------------------------*/
2706v_BOOL_t sme_GetRoamScanControl(tHalHandle hHal);
2707
2708/* ---------------------------------------------------------------------------
2709 \fn sme_UpdateEmptyScanRefreshPeriod
2710 \brief Update nnEmptyScanRefreshPeriod
2711 This function is called through dynamic setConfig callback function
2712 to configure nnEmptyScanRefreshPeriod
2713 Usage: adb shell iwpriv wlan0 setConfig nEmptyScanRefreshPeriod=[0 .. 60]
2714 \param hHal - HAL handle for device
2715 \param nEmptyScanRefreshPeriod - scan period following empty scan results.
2716 \- return Success or failure
2717 -------------------------------------------------------------------------*/
2718
2719/*--------------------------------------------------------------------------
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002720 \brief sme_getIsLfrFeatureEnabled() - get LFR feature enabled or not
2721 This is a synchronuous call
2722 \param hHal - The handle returned by macOpen.
2723 \return TRUE (1) - if the feature is enabled
2724 FALSE (0) - if feature is disabled (compile or runtime)
2725 \sa
2726 --------------------------------------------------------------------------*/
2727tANI_BOOLEAN sme_getIsLfrFeatureEnabled(tHalHandle hHal);
2728
2729/*--------------------------------------------------------------------------
2730 \brief sme_getIsFtFeatureEnabled() - get FT feature enabled or not
2731 This is a synchronuous call
2732 \param hHal - The handle returned by macOpen.
2733 \return TRUE (1) - if the feature is enabled
2734 FALSE (0) - if feature is disabled (compile or runtime)
2735 \sa
2736 --------------------------------------------------------------------------*/
2737tANI_BOOLEAN sme_getIsFtFeatureEnabled(tHalHandle hHal);
2738
Srinivas Girigowdade697412013-02-14 16:31:48 -08002739#endif
2740
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07002741#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2742/*--------------------------------------------------------------------------
2743 \brief sme_UpdateRoamScanOffloadEnabled() - enable/disable roam scan offload feaure
2744 It is used at in the REG_DYNAMIC_VARIABLE macro definition of
2745 gRoamScanOffloadEnabled.
2746 This is a synchronous call
2747 \param hHal - The handle returned by macOpen.
2748 \return eHAL_STATUS_SUCCESS - SME update config successfully.
2749 Other status means SME is failed to update.
2750 \sa
2751 --------------------------------------------------------------------------*/
2752
2753eHalStatus sme_UpdateRoamScanOffloadEnabled(tHalHandle hHal, v_BOOL_t nRoamScanOffloadEnabled);
2754#endif
2755
2756
Srinivas Girigowdade697412013-02-14 16:31:48 -08002757/* ---------------------------------------------------------------------------
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002758 \fn sme_IsFeatureSupportedByFW
2759 \brief Check if an feature is enabled by FW
2760
2761 \param feattEnumValue - Enumeration value of the feature to be checked.
2762 A value from enum placeHolderInCapBitmap
2763
2764 \- return 1/0 (TRUE/FALSE)
2765 -------------------------------------------------------------------------*/
2766tANI_U8 sme_IsFeatureSupportedByFW(tANI_U8 featEnumValue);
2767#ifdef FEATURE_WLAN_TDLS
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302768
2769/* ---------------------------------------------------------------------------
2770 \fn sme_SendTdlsLinkEstablishParams
2771 \brief API to send TDLS Link Establishment Parameters.
2772
2773 \param peerMac - peer's Mac Adress.
2774 \param tdlsLinkEstablishParams - TDLS Peer Link Establishment Parameters
2775 \- return VOS_STATUS_SUCCES
2776 -------------------------------------------------------------------------*/
2777
2778VOS_STATUS sme_SendTdlsLinkEstablishParams(tHalHandle hHal,
2779 tANI_U8 sessionId,
2780 tSirMacAddr peerMac,
2781 tCsrTdlsLinkEstablishParams *tdlsLinkEstablishParams);
2782
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002783/* ---------------------------------------------------------------------------
2784 \fn sme_SendTdlsMgmtFrame
2785 \brief API to send TDLS management frames.
2786
2787 \param peerMac - peer's Mac Adress.
2788 \param frame_type - Type of TDLS mgmt frame to be sent.
2789 \param dialog - dialog token used in the frame.
2790 \param status - status to be incuded in the frame.
2791 \param buf - additional IEs to be included
2792 \param len - lenght of additional Ies
Hoonki Leea34dd892013-02-05 22:56:02 -08002793 \param responder - Tdls request type
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002794 \- return VOS_STATUS_SUCCES
2795 -------------------------------------------------------------------------*/
2796VOS_STATUS sme_SendTdlsMgmtFrame(tHalHandle hHal, tANI_U8 sessionId, tSirMacAddr peerMac,
Hoonki Leea34dd892013-02-05 22:56:02 -08002797 tANI_U8 frame_type, tANI_U8 dialog, tANI_U16 status, tANI_U8 *buf, tANI_U8 len, tANI_U8 responder);
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002798/* ---------------------------------------------------------------------------
Gopichand Nakkala681989c2013-03-06 22:27:48 -08002799 \fn sme_ChangeTdlsPeerSta
2800 \brief API to Update TDLS peer sta parameters.
2801
2802 \param peerMac - peer's Mac Adress.
2803 \param staParams - Peer Station Parameters.
2804 \- return VOS_STATUS_SUCCES
2805 -------------------------------------------------------------------------*/
2806VOS_STATUS sme_ChangeTdlsPeerSta(tHalHandle hHal, tANI_U8 sessionId, tSirMacAddr peerMac,
2807 tCsrStaParams *pstaParams);
2808/* ---------------------------------------------------------------------------
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002809 \fn sme_AddTdlsPeerSta
2810 \brief API to Add TDLS peer sta entry.
2811
2812 \param peerMac - peer's Mac Adress.
2813 \- return VOS_STATUS_SUCCES
2814 -------------------------------------------------------------------------*/
2815VOS_STATUS sme_AddTdlsPeerSta(tHalHandle hHal, tANI_U8 sessionId, tSirMacAddr peerMac);
2816/* ---------------------------------------------------------------------------
2817 \fn sme_DeleteTdlsPeerSta
2818 \brief API to Delete TDLS peer sta entry.
2819
2820 \param peerMac - peer's Mac Adress.
2821 \- return VOS_STATUS_SUCCES
2822 -------------------------------------------------------------------------*/
2823VOS_STATUS sme_DeleteTdlsPeerSta(tHalHandle hHal, tANI_U8 sessionId, tSirMacAddr peerMac);
Gopichand Nakkala75e7b282013-03-15 18:37:13 -07002824/* ---------------------------------------------------------------------------
Gopichand Nakkalaccd3a382013-03-19 13:56:10 -07002825 \fn sme_SetTdlsPowerSaveProhibited
2826 \API to set/reset the isTdlsPowerSaveProhibited.
2827
2828 \- return void
2829 -------------------------------------------------------------------------*/
2830void sme_SetTdlsPowerSaveProhibited(tHalHandle hHal, v_BOOL_t val);
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002831#endif
Gopichand Nakkalafe7246d2013-06-10 17:43:37 +05302832/* ---------------------------------------------------------------------------
2833 \fn sme_IsPmcBmps
2834 \brief API to Check if PMC state is BMPS.
2835
2836 \- return v_BOOL_t
2837 -------------------------------------------------------------------------*/
2838v_BOOL_t sme_IsPmcBmps(tHalHandle hHal);
2839
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002840#ifdef FEATURE_WLAN_TDLS_INTERNAL
2841typedef struct smeTdlsDisResult
2842{
2843 tSirMacAddr tdlsPeerMac;
2844 v_S7_t tdlsPeerRssi;
2845} tSmeTdlsDisResult;
2846
2847VOS_STATUS sme_StartTdlsDiscoveryReq(tHalHandle hHal, tANI_U8 sessionId, tSirMacAddr peerMac);
2848v_U8_t sme_GetTdlsDiscoveryResult(tHalHandle hHal,
2849 tSmeTdlsDisResult *disResult, v_U8_t listType);
2850VOS_STATUS sme_StartTdlsLinkSetupReq(tHalHandle hHal, tANI_U8 sessionId, tSirMacAddr peerMac);
2851VOS_STATUS sme_StartTdlsLinkTeardownReq(tHalHandle hHal, tANI_U8 sessionId, tSirMacAddr peerMac);
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002852#endif /* FEATURE_WLAN_TDLS */
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002853eHalStatus sme_UpdateDfsSetting(tHalHandle hHal, tANI_U8 fUpdateEnableDFSChnlScan);
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002854
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002855/*
2856 * SME API to enable/disable WLAN driver initiated SSR
2857 */
2858void sme_UpdateEnableSSR(tHalHandle hHal, tANI_BOOLEAN enableSSR);
2859
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302860/* ---------------------------------------------------------------------------
2861
2862 \fn sme_SetPhyMode
2863
2864 \brief Changes the PhyMode.
2865
2866 \param hHal - The handle returned by macOpen.
2867
2868 \param phyMode new phyMode which is to set
2869
2870 \return eHalStatus SUCCESS.
2871
2872 -------------------------------------------------------------------------------*/
2873eHalStatus sme_SetPhyMode(tHalHandle hHal, eCsrPhyMode phyMode);
2874
2875/* ---------------------------------------------------------------------------
2876
2877 \fn sme_GetPhyMode
2878
2879 \brief gets current PhyMode.
2880
2881 \param hHal - The handle returned by macOpen.
2882
2883 \return eHalStatus PhyMode
2884
2885 -------------------------------------------------------------------------------*/
2886eCsrPhyMode sme_GetPhyMode(tHalHandle hHal);
2887
Ravi Joshiaeb7d9e2013-05-02 12:28:14 -07002888/*
2889 * SME API to determine the channel bonding mode
2890 */
2891VOS_STATUS sme_SelectCBMode(tHalHandle hHal, eCsrPhyMode eCsrPhyMode, tANI_U8 channel);
2892
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -07002893#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2894/*--------------------------------------------------------------------------
2895 \brief sme_HandoffRequest() - a wrapper function to Request a handoff
2896 from CSR.
2897 This is a synchronous call
2898 \param hHal - The handle returned by macOpen
2899 \param pHandoffInfo - info provided by HDD with the handoff request (namely:
2900 BSSID, channel etc.)
2901 \return eHAL_STATUS_SUCCESS - SME passed the request to CSR successfully.
2902 Other status means SME is failed to send the request.
2903 \sa
2904 --------------------------------------------------------------------------*/
2905
2906eHalStatus sme_HandoffRequest(tHalHandle hHal, tCsrHandoffRequest *pHandoffInfo);
2907#endif
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07002908/*--------------------------------------------------------------------------
2909 \brief sme_isSta_p2p_clientConnected() - a wrapper function to check if there
2910 is any connected session .
2911 This is a synchronous call
2912 \param hHal - The handle returned by macOpen
2913 \return VOS_STATUS - SME passed the request to CSR successfully.
2914 Other status means SME is failed to send the request.
2915 \sa
2916 --------------------------------------------------------------------------*/
Sudhir Sattayappa Kohallib1d8c3a2013-06-18 14:47:20 -07002917VOS_STATUS sme_isSta_p2p_clientConnected(tHalHandle hHal);
Leo Chang9056f462013-08-01 19:21:11 -07002918
2919#ifdef FEATURE_WLAN_LPHB
2920/* ---------------------------------------------------------------------------
2921 \fn sme_LPHBConfigReq
2922 \API to make configuration LPHB within FW.
2923 \param hHal - The handle returned by macOpen
2924 \param lphdReq - LPHB request argument by client
2925 \param pCallbackfn - LPHB timeout notification callback function pointer
2926 \- return Configuration message posting status, SUCCESS or Fail
2927 -------------------------------------------------------------------------*/
2928eHalStatus sme_LPHBConfigReq(
2929 tHalHandle hHal,
2930 tSirLPHBReq *lphdReq,
2931 void (*pCallbackfn)(void *pAdapter, void *indParam));
2932#endif /* FEATURE_WLAN_LPHB */
Yue Mab9c86f42013-08-14 15:59:08 -07002933
2934/* ---------------------------------------------------------------------------
2935 \fn sme_AddPeriodicTxPtrn
2936 \brief API to Periodic TX Pattern Offload feature
2937 \param hHal - The handle returned by macOpen
2938 \param addPeriodicTxPtrnParams - Pointer to the add pattern structure
2939 \return eHalStatus
2940 ---------------------------------------------------------------------------*/
2941eHalStatus sme_AddPeriodicTxPtrn(tHalHandle hHal, tSirAddPeriodicTxPtrn
2942 *addPeriodicTxPtrnParams);
2943
2944/* ---------------------------------------------------------------------------
2945 \fn sme_DelPeriodicTxPtrn
2946 \brief API to Periodic TX Pattern Offload feature
2947 \param hHal - The handle returned by macOpen
2948 \param delPeriodicTxPtrnParams - Pointer to the deleting pattern structure
2949 \return eHalStatus
2950 ---------------------------------------------------------------------------*/
2951eHalStatus sme_DelPeriodicTxPtrn(tHalHandle hHal, tSirDelPeriodicTxPtrn
2952 *delPeriodicTxPtrnParams);
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07002953/*--------------------------------------------------------------------------
2954 \brief sme_enable_disable_split_scan() - a wrapper function to set the split
2955 scan parameter.
2956 This is a synchronous call
2957 \param hHal - The handle returned by macOpen
2958 \return None.
2959 \sa
2960 --------------------------------------------------------------------------*/
2961void sme_enable_disable_split_scan (tHalHandle hHal, tANI_U8 nNumStaChan,
2962 tANI_U8 nNumP2PChan);
Madan Mohan Koyyalamudi48101412013-09-11 23:09:37 +05302963
2964/*
2965 * sme API to trigger fast BSS roam to a given BSSID independent of RSSI
2966 * triggers
2967 * return status
2968*/
2969eHalStatus smeIssueFastRoamNeighborAPEvent (tHalHandle hHal,
2970 tANI_U8 *bssid,
2971 tSmeFastRoamTrigger fastRoamTrig);
Jeff Johnson295189b2012-06-20 16:38:30 -07002972#endif //#if !defined( __SME_API_H )