| /* |
| ************************************************************************* |
| * Ralink Tech Inc. |
| * 5F., No.36, Taiyuan St., Jhubei City, |
| * Hsinchu County 302, |
| * Taiwan, R.O.C. |
| * |
| * (c) Copyright 2002-2007, Ralink Technology, Inc. |
| * |
| * This program is free software; you can redistribute it and/or modify * |
| * it under the terms of the GNU General Public License as published by * |
| * the Free Software Foundation; either version 2 of the License, or * |
| * (at your option) any later version. * |
| * * |
| * This program is distributed in the hope that it will be useful, * |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of * |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
| * GNU General Public License for more details. * |
| * * |
| * You should have received a copy of the GNU General Public License * |
| * along with this program; if not, write to the * |
| * Free Software Foundation, Inc., * |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
| * * |
| ************************************************************************* |
| */ |
| |
| #ifndef __SPECTRUM_H__ |
| #define __SPECTRUM_H__ |
| |
| #include "rtmp_type.h" |
| #include "spectrum_def.h" |
| |
| char RTMP_GetTxPwr(struct rt_rtmp_adapter *pAd, IN HTTRANSMIT_SETTING HTTxMode); |
| |
| /* |
| ========================================================================== |
| Description: |
| Prepare Measurement request action frame and enqueue it into |
| management queue waiting for transmition. |
| |
| Parametrs: |
| 1. the destination mac address of the frame. |
| |
| Return : None. |
| ========================================================================== |
| */ |
| void MakeMeasurementReqFrame(struct rt_rtmp_adapter *pAd, |
| u8 *pOutBuffer, |
| unsigned long *pFrameLen, |
| u8 TotalLen, |
| u8 Category, |
| u8 Action, |
| u8 MeasureToken, |
| u8 MeasureReqMode, |
| u8 MeasureReqType, |
| u8 NumOfRepetitions); |
| |
| /* |
| ========================================================================== |
| Description: |
| Prepare Measurement report action frame and enqueue it into |
| management queue waiting for transmition. |
| |
| Parametrs: |
| 1. the destination mac address of the frame. |
| |
| Return : None. |
| ========================================================================== |
| */ |
| void EnqueueMeasurementRep(struct rt_rtmp_adapter *pAd, |
| u8 *pDA, |
| u8 DialogToken, |
| u8 MeasureToken, |
| u8 MeasureReqMode, |
| u8 MeasureReqType, |
| u8 ReportInfoLen, u8 *pReportInfo); |
| |
| /* |
| ========================================================================== |
| Description: |
| Prepare TPC Request action frame and enqueue it into |
| management queue waiting for transmition. |
| |
| Parametrs: |
| 1. the destination mac address of the frame. |
| |
| Return : None. |
| ========================================================================== |
| */ |
| void EnqueueTPCReq(struct rt_rtmp_adapter *pAd, u8 *pDA, u8 DialogToken); |
| |
| /* |
| ========================================================================== |
| Description: |
| Prepare TPC Report action frame and enqueue it into |
| management queue waiting for transmition. |
| |
| Parametrs: |
| 1. the destination mac address of the frame. |
| |
| Return : None. |
| ========================================================================== |
| */ |
| void EnqueueTPCRep(struct rt_rtmp_adapter *pAd, |
| u8 *pDA, |
| u8 DialogToken, u8 TxPwr, u8 LinkMargin); |
| |
| /* |
| ========================================================================== |
| Description: |
| Prepare Channel Switch Announcement action frame and enqueue it into |
| management queue waiting for transmition. |
| |
| Parametrs: |
| 1. the destination mac address of the frame. |
| 2. Channel switch announcement mode. |
| 2. a New selected channel. |
| |
| Return : None. |
| ========================================================================== |
| */ |
| void EnqueueChSwAnn(struct rt_rtmp_adapter *pAd, |
| u8 *pDA, u8 ChSwMode, u8 NewCh); |
| |
| /* |
| ========================================================================== |
| Description: |
| Spectrun action frames Handler such as channel switch annoucement, |
| measurement report, measurement request actions frames. |
| |
| Parametrs: |
| Elme - MLME message containing the received frame |
| |
| Return : None. |
| ========================================================================== |
| */ |
| void PeerSpectrumAction(struct rt_rtmp_adapter *pAd, struct rt_mlme_queue_elem *Elem); |
| |
| /* |
| ========================================================================== |
| Description: |
| |
| Parametrs: |
| |
| Return : None. |
| ========================================================================== |
| */ |
| int Set_MeasureReq_Proc(struct rt_rtmp_adapter *pAd, char *arg); |
| |
| int Set_TpcReq_Proc(struct rt_rtmp_adapter *pAd, char *arg); |
| |
| int Set_PwrConstraint(struct rt_rtmp_adapter *pAd, char *arg); |
| |
| void MeasureReqTabInit(struct rt_rtmp_adapter *pAd); |
| |
| void MeasureReqTabExit(struct rt_rtmp_adapter *pAd); |
| |
| struct rt_measure_req_entry *MeasureReqLookUp(struct rt_rtmp_adapter *pAd, u8 DialogToken); |
| |
| struct rt_measure_req_entry *MeasureReqInsert(struct rt_rtmp_adapter *pAd, u8 DialogToken); |
| |
| void MeasureReqDelete(struct rt_rtmp_adapter *pAd, u8 DialogToken); |
| |
| void InsertChannelRepIE(struct rt_rtmp_adapter *pAd, |
| u8 *pFrameBuf, |
| unsigned long *pFrameLen, |
| char *pCountry, u8 RegulatoryClass); |
| |
| void InsertTpcReportIE(struct rt_rtmp_adapter *pAd, |
| u8 *pFrameBuf, |
| unsigned long *pFrameLen, |
| u8 TxPwr, u8 LinkMargin); |
| |
| void InsertDialogToken(struct rt_rtmp_adapter *pAd, |
| u8 *pFrameBuf, |
| unsigned long *pFrameLen, u8 DialogToken); |
| |
| void TpcReqTabInit(struct rt_rtmp_adapter *pAd); |
| |
| void TpcReqTabExit(struct rt_rtmp_adapter *pAd); |
| |
| void NotifyChSwAnnToPeerAPs(struct rt_rtmp_adapter *pAd, |
| u8 *pRA, |
| u8 *pTA, u8 ChSwMode, u8 Channel); |
| |
| void RguClass_BuildBcnChList(struct rt_rtmp_adapter *pAd, |
| u8 *pBuf, unsigned long *pBufLen); |
| #endif /* __SPECTRUM_H__ // */ |