blob: 3786a923ce1f2a8b73491e595a91695a9ea8d0c4 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Kiet Lam842dad02014-02-18 18:44:02 -08002 * Copyright (c) 2012-2014 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.
Gopichand Nakkala92f07d82013-01-08 21:16:34 -080020 */
Kiet Lam842dad02014-02-18 18:44:02 -080021
Gopichand Nakkala92f07d82013-01-08 21:16:34 -080022/*
Kiet Lam842dad02014-02-18 18:44:02 -080023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
28
Jeff Johnson295189b2012-06-20 16:38:30 -070029/**=========================================================================
30
31 \file rrmApi.h
32
33 \brief RRM APIs
34
Jeff Johnson295189b2012-06-20 16:38:30 -070035 ========================================================================*/
36
37/* $Header$ */
38
39#ifndef __RRM_API_H__
40#define __RRM_API_H__
41
Gopichand Nakkala41b56fd2013-02-28 15:26:52 +053042#define RRM_MIN_TX_PWR_CAP 13
43#define RRM_MAX_TX_PWR_CAP 19
44
Kiet Lam8dec8c82013-11-14 21:44:28 +053045#define RRM_BCN_RPT_NO_BSS_INFO 0
46#define RRM_BCN_RPT_MIN_RPT 1
47
DARAM SUDHA588ae872013-12-08 07:54:56 +053048tANI_U8 rrmGetMinOfMaxTxPower(tpAniSirGlobal pMac, tPowerdBm regMax, tPowerdBm apTxPower);
Jeff Johnson295189b2012-06-20 16:38:30 -070049
50extern tSirRetStatus rrmInitialize(tpAniSirGlobal pMac);
51
52extern tSirRetStatus rrmCleanup(tpAniSirGlobal pMac);
53
54
55extern tSirRetStatus rrmProcessLinkMeasurementRequest( tpAniSirGlobal pMac,
56 tANI_U8 *pRxPacketInfo,
57 tDot11fLinkMeasurementRequest *pLinkReq,
58 tpPESession pSessionEntry );
59
60extern tSirRetStatus rrmProcessRadioMeasurementRequest( tpAniSirGlobal pMac,
61 tSirMacAddr peer,
62 tDot11fRadioMeasurementRequest *pRRMReq,
63 tpPESession pSessionEntry );
64
65extern tSirRetStatus rrmProcessNeighborReportResponse( tpAniSirGlobal pMac,
66 tDot11fNeighborReportResponse *pNeighborRep,
67 tpPESession pSessionEntry );
68
69extern void rrmProcessMessage(tpAniSirGlobal pMac,
70 tpSirMsgQ pMsg);
71
72extern tSirRetStatus rrmSendSetMaxTxPowerReq ( tpAniSirGlobal pMac,
73 tPowerdBm txPower,
74 tpPESession pSessionEntry );
75
76extern tPowerdBm rrmGetMgmtTxPower ( tpAniSirGlobal pMac,
77 tpPESession pSessionEntry );
78
79extern void rrmCacheMgmtTxPower ( tpAniSirGlobal pMac,
80 tPowerdBm txPower,
81 tpPESession pSessionEntry );
82
83extern tpRRMCaps rrmGetCapabilities ( tpAniSirGlobal pMac,
84 tpPESession pSessionEntry );
85
86extern void rrmUpdateConfig ( tpAniSirGlobal pMac,
87 tpPESession pSessionEntry );
88
89extern void rrmGetStartTSF ( tpAniSirGlobal pMac,
90 tANI_U32 *pStartTSF );
91
92extern void rrmUpdateStartTSF ( tpAniSirGlobal pMac,
93 tANI_U32 startTSF[2] );
94
95extern tSirRetStatus rrmSetMaxTxPowerRsp ( tpAniSirGlobal pMac,
96 tpSirMsgQ limMsgQ );
97
98extern tSirRetStatus
99rrmProcessNeighborReportReq( tpAniSirGlobal pMac,
100 tpSirNeighborReportReqInd pNeighborReq );
101extern tSirRetStatus
102rrmProcessBeaconReportXmit( tpAniSirGlobal pMac,
103 tpSirBeaconReportXmitInd pBcnReport);
104#endif