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