Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 1 | /* |
| 2 | ************************************************************************* |
| 3 | * Ralink Tech Inc. |
| 4 | * 5F., No.36, Taiyuan St., Jhubei City, |
| 5 | * Hsinchu County 302, |
| 6 | * Taiwan, R.O.C. |
| 7 | * |
| 8 | * (c) Copyright 2002-2007, Ralink Technology, Inc. |
| 9 | * |
| 10 | * This program is free software; you can redistribute it and/or modify * |
| 11 | * it under the terms of the GNU General Public License as published by * |
| 12 | * the Free Software Foundation; either version 2 of the License, or * |
| 13 | * (at your option) any later version. * |
| 14 | * * |
| 15 | * This program is distributed in the hope that it will be useful, * |
| 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * |
| 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
| 18 | * GNU General Public License for more details. * |
| 19 | * * |
| 20 | * You should have received a copy of the GNU General Public License * |
| 21 | * along with this program; if not, write to the * |
| 22 | * Free Software Foundation, Inc., * |
| 23 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
| 24 | * * |
| 25 | ************************************************************************* |
Bartlomiej Zolnierkiewicz | ca97b83 | 2009-09-22 20:44:07 +0200 | [diff] [blame] | 26 | */ |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 27 | |
| 28 | #ifndef __SPECTRUM_H__ |
| 29 | #define __SPECTRUM_H__ |
| 30 | |
| 31 | #include "rtmp_type.h" |
| 32 | #include "spectrum_def.h" |
| 33 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 34 | char RTMP_GetTxPwr(struct rt_rtmp_adapter *pAd, IN HTTRANSMIT_SETTING HTTxMode); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 35 | |
| 36 | /* |
| 37 | ========================================================================== |
| 38 | Description: |
| 39 | Prepare Measurement request action frame and enqueue it into |
| 40 | management queue waiting for transmition. |
| 41 | |
| 42 | Parametrs: |
| 43 | 1. the destination mac address of the frame. |
| 44 | |
| 45 | Return : None. |
| 46 | ========================================================================== |
| 47 | */ |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 48 | void MakeMeasurementReqFrame(struct rt_rtmp_adapter *pAd, |
Bartlomiej Zolnierkiewicz | 51126de | 2009-12-11 12:23:15 -0800 | [diff] [blame] | 49 | u8 *pOutBuffer, |
| 50 | unsigned long *pFrameLen, |
| 51 | u8 TotalLen, |
| 52 | u8 Category, |
| 53 | u8 Action, |
| 54 | u8 MeasureToken, |
| 55 | u8 MeasureReqMode, |
| 56 | u8 MeasureReqType, |
| 57 | u8 NumOfRepetitions); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 58 | |
| 59 | /* |
| 60 | ========================================================================== |
| 61 | Description: |
| 62 | Prepare Measurement report action frame and enqueue it into |
| 63 | management queue waiting for transmition. |
| 64 | |
| 65 | Parametrs: |
| 66 | 1. the destination mac address of the frame. |
| 67 | |
| 68 | Return : None. |
| 69 | ========================================================================== |
| 70 | */ |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 71 | void EnqueueMeasurementRep(struct rt_rtmp_adapter *pAd, |
Bartlomiej Zolnierkiewicz | 51126de | 2009-12-11 12:23:15 -0800 | [diff] [blame] | 72 | u8 *pDA, |
| 73 | u8 DialogToken, |
| 74 | u8 MeasureToken, |
| 75 | u8 MeasureReqMode, |
| 76 | u8 MeasureReqType, |
| 77 | u8 ReportInfoLen, u8 *pReportInfo); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 78 | |
| 79 | /* |
| 80 | ========================================================================== |
| 81 | Description: |
| 82 | Prepare TPC Request action frame and enqueue it into |
| 83 | management queue waiting for transmition. |
| 84 | |
| 85 | Parametrs: |
| 86 | 1. the destination mac address of the frame. |
| 87 | |
| 88 | Return : None. |
| 89 | ========================================================================== |
| 90 | */ |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 91 | void EnqueueTPCReq(struct rt_rtmp_adapter *pAd, u8 *pDA, u8 DialogToken); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 92 | |
| 93 | /* |
| 94 | ========================================================================== |
| 95 | Description: |
| 96 | Prepare TPC Report action frame and enqueue it into |
| 97 | management queue waiting for transmition. |
| 98 | |
| 99 | Parametrs: |
| 100 | 1. the destination mac address of the frame. |
| 101 | |
| 102 | Return : None. |
| 103 | ========================================================================== |
| 104 | */ |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 105 | void EnqueueTPCRep(struct rt_rtmp_adapter *pAd, |
Bartlomiej Zolnierkiewicz | 51126de | 2009-12-11 12:23:15 -0800 | [diff] [blame] | 106 | u8 *pDA, |
| 107 | u8 DialogToken, u8 TxPwr, u8 LinkMargin); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 108 | |
| 109 | /* |
| 110 | ========================================================================== |
| 111 | Description: |
| 112 | Prepare Channel Switch Announcement action frame and enqueue it into |
| 113 | management queue waiting for transmition. |
| 114 | |
| 115 | Parametrs: |
| 116 | 1. the destination mac address of the frame. |
| 117 | 2. Channel switch announcement mode. |
| 118 | 2. a New selected channel. |
| 119 | |
| 120 | Return : None. |
| 121 | ========================================================================== |
| 122 | */ |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 123 | void EnqueueChSwAnn(struct rt_rtmp_adapter *pAd, |
Bartlomiej Zolnierkiewicz | 51126de | 2009-12-11 12:23:15 -0800 | [diff] [blame] | 124 | u8 *pDA, u8 ChSwMode, u8 NewCh); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 125 | |
| 126 | /* |
| 127 | ========================================================================== |
| 128 | Description: |
| 129 | Spectrun action frames Handler such as channel switch annoucement, |
| 130 | measurement report, measurement request actions frames. |
| 131 | |
| 132 | Parametrs: |
| 133 | Elme - MLME message containing the received frame |
| 134 | |
| 135 | Return : None. |
| 136 | ========================================================================== |
| 137 | */ |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 138 | void PeerSpectrumAction(struct rt_rtmp_adapter *pAd, struct rt_mlme_queue_elem *Elem); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 139 | |
| 140 | /* |
| 141 | ========================================================================== |
| 142 | Description: |
| 143 | |
| 144 | Parametrs: |
| 145 | |
| 146 | Return : None. |
| 147 | ========================================================================== |
| 148 | */ |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 149 | int Set_MeasureReq_Proc(struct rt_rtmp_adapter *pAd, char *arg); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 150 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 151 | int Set_TpcReq_Proc(struct rt_rtmp_adapter *pAd, char *arg); |
Bartlomiej Zolnierkiewicz | ca97b83 | 2009-09-22 20:44:07 +0200 | [diff] [blame] | 152 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 153 | int Set_PwrConstraint(struct rt_rtmp_adapter *pAd, char *arg); |
Bartlomiej Zolnierkiewicz | ca97b83 | 2009-09-22 20:44:07 +0200 | [diff] [blame] | 154 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 155 | void MeasureReqTabInit(struct rt_rtmp_adapter *pAd); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 156 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 157 | void MeasureReqTabExit(struct rt_rtmp_adapter *pAd); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 158 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 159 | struct rt_measure_req_entry *MeasureReqLookUp(struct rt_rtmp_adapter *pAd, u8 DialogToken); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 160 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 161 | struct rt_measure_req_entry *MeasureReqInsert(struct rt_rtmp_adapter *pAd, u8 DialogToken); |
Bartlomiej Zolnierkiewicz | ca97b83 | 2009-09-22 20:44:07 +0200 | [diff] [blame] | 162 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 163 | void MeasureReqDelete(struct rt_rtmp_adapter *pAd, u8 DialogToken); |
Bartlomiej Zolnierkiewicz | ca97b83 | 2009-09-22 20:44:07 +0200 | [diff] [blame] | 164 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 165 | void InsertChannelRepIE(struct rt_rtmp_adapter *pAd, |
Bartlomiej Zolnierkiewicz | 51126de | 2009-12-11 12:23:15 -0800 | [diff] [blame] | 166 | u8 *pFrameBuf, |
| 167 | unsigned long *pFrameLen, |
| 168 | char *pCountry, u8 RegulatoryClass); |
Bartlomiej Zolnierkiewicz | ca97b83 | 2009-09-22 20:44:07 +0200 | [diff] [blame] | 169 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 170 | void InsertTpcReportIE(struct rt_rtmp_adapter *pAd, |
Bartlomiej Zolnierkiewicz | 51126de | 2009-12-11 12:23:15 -0800 | [diff] [blame] | 171 | u8 *pFrameBuf, |
| 172 | unsigned long *pFrameLen, |
| 173 | u8 TxPwr, u8 LinkMargin); |
Bartlomiej Zolnierkiewicz | ca97b83 | 2009-09-22 20:44:07 +0200 | [diff] [blame] | 174 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 175 | void InsertDialogToken(struct rt_rtmp_adapter *pAd, |
Bartlomiej Zolnierkiewicz | 51126de | 2009-12-11 12:23:15 -0800 | [diff] [blame] | 176 | u8 *pFrameBuf, |
| 177 | unsigned long *pFrameLen, u8 DialogToken); |
Bartlomiej Zolnierkiewicz | ca97b83 | 2009-09-22 20:44:07 +0200 | [diff] [blame] | 178 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 179 | void TpcReqTabInit(struct rt_rtmp_adapter *pAd); |
Bartlomiej Zolnierkiewicz | ca97b83 | 2009-09-22 20:44:07 +0200 | [diff] [blame] | 180 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 181 | void TpcReqTabExit(struct rt_rtmp_adapter *pAd); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 182 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 183 | void NotifyChSwAnnToPeerAPs(struct rt_rtmp_adapter *pAd, |
Bartlomiej Zolnierkiewicz | 51126de | 2009-12-11 12:23:15 -0800 | [diff] [blame] | 184 | u8 *pRA, |
| 185 | u8 *pTA, u8 ChSwMode, u8 Channel); |
Greg Kroah-Hartman | 9198099 | 2008-10-28 14:48:09 -0700 | [diff] [blame] | 186 | |
Bartlomiej Zolnierkiewicz | 62eb734 | 2009-12-11 12:23:16 -0800 | [diff] [blame] | 187 | void RguClass_BuildBcnChList(struct rt_rtmp_adapter *pAd, |
Bartlomiej Zolnierkiewicz | 51126de | 2009-12-11 12:23:15 -0800 | [diff] [blame] | 188 | u8 *pBuf, unsigned long *pBufLen); |
Bartlomiej Zolnierkiewicz | cc27706 | 2009-12-11 12:23:15 -0800 | [diff] [blame] | 189 | #endif /* __SPECTRUM_H__ // */ |