/* ************************************************************************* * 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__ // */