73f57d62c2150e1f04efac7e758d8248742e5aba
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / mt5931_kk / drv_wlan / include / mgmt / rlm_domain.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT662X_593X_WIFI_DRIVER_V2_3/include/mgmt/rlm_domain.h#1 $
3 */
4
5 /*! \file   "rlm_domain.h"
6     \brief
7 */
8
9 /*******************************************************************************
10 * Copyright (c) 2009 MediaTek Inc.
11 *
12 * All rights reserved. Copying, compilation, modification, distribution
13 * or any other use whatsoever of this material is strictly prohibited
14 * except in accordance with a Software License Agreement with
15 * MediaTek Inc.
16 ********************************************************************************
17 */
18
19 /*******************************************************************************
20 * LEGAL DISCLAIMER
21 *
22 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
23 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
24 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
25 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
26 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
27 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
28 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
29 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
30 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
31 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
32 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
33 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
34 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
35 *
36 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
37 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
38 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
39 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
40 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
41 *
42 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
43 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
44 * OF LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
45 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
46 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
47 * (ICC).
48 ********************************************************************************
49 */
50
51 /*
52 ** $Log: rlm_domain.h $
53  *
54  * 09 29 2011 cm.chang
55  * NULL
56  * Change the function prototype of rlmDomainGetChnlList()
57  *
58  * 09 08 2011 cm.chang
59  * [WCXRP00000969] [MT6620 Wi-Fi][Driver][FW] Channel list for 5G band based on country code
60  * Use new fields ucChannelListMap and ucChannelListIndex in NVRAM
61  *
62  * 08 31 2011 cm.chang
63  * [WCXRP00000969] [MT6620 Wi-Fi][Driver][FW] Channel list for 5G band based on country code
64  * .
65  *
66  * 06 01 2011 cm.chang
67  * [WCXRP00000756] [MT6620 Wi-Fi][Driver] 1. AIS follow channel of BOW 2. Provide legal channel function
68  * Provide legal channel function based on domain
69  *
70  * 12 07 2010 cm.chang
71  * [WCXRP00000238] MT6620 Wi-Fi][Driver][FW] Support regulation domain setting from NVRAM and supplicant
72  * 1. Country code is from NVRAM or supplicant
73  * 2. Change band definition in CMD/EVENT.
74  *
75  * 07 08 2010 cp.wu
76  *
77  * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
78  *
79  * 06 28 2010 cm.chang
80  * [WPD00003841][LITE Driver] Migrate RLM/CNM to host driver
81  * 1st draft code for RLM module
82  *
83  * 02 23 2010 kevin.huang
84  * [BORA00000603][WIFISYS] [New Feature] AAA Module Support
85  * Add support scan channel 1~14 and update scan result's frequency infou1rwduu`wvpghlqg|n`slk+mpdkb
86  *
87  * 01 13 2010 cm.chang
88  * [BORA00000018]Integrate WIFI part into BORA for the 1st time
89  * Provide query function about full channle list.
90  *
91  * Dec 1 2009 mtk01104
92  * [BORA00000018] Integrate WIFI part into BORA for the 1st time
93  * Declare public rDomainInfo
94  *
95 **
96 */
97
98 #ifndef _RLM_DOMAIN_H
99 #define _RLM_DOMAIN_H
100
101 /*******************************************************************************
102 *                         C O M P I L E R   F L A G S
103 ********************************************************************************
104 */
105
106 /*******************************************************************************
107 *                    E X T E R N A L   R E F E R E N C E S
108 ********************************************************************************
109 */
110
111 /*******************************************************************************
112 *                              C O N S T A N T S
113 ********************************************************************************
114 */
115 #define MAX_SUBBAND_NUM     6
116
117
118 #define COUNTRY_CODE_NULL               ((UINT_16)0x0)
119
120 /* ISO/IEC 3166-1 two-character country codes */
121 #define COUNTRY_CODE_AG (((UINT_16) 'A' << 8) | (UINT_16) 'G') /* Antigua/Barbuda */
122 #define COUNTRY_CODE_AI (((UINT_16) 'A' << 8) | (UINT_16) 'I') /* Anguilla      */
123 #define COUNTRY_CODE_AR (((UINT_16) 'A' << 8) | (UINT_16) 'T') /* Argentina     */
124 #define COUNTRY_CODE_AT (((UINT_16) 'A' << 8) | (UINT_16) 'T') /* Austria       */
125 #define COUNTRY_CODE_AU (((UINT_16) 'A' << 8) | (UINT_16) 'U') /* Australia     */
126 #define COUNTRY_CODE_AW (((UINT_16) 'A' << 8) | (UINT_16) 'W') /* Aruba         */
127 #define COUNTRY_CODE_BB (((UINT_16) 'B' << 8) | (UINT_16) 'B') /* Barbados      */
128 #define COUNTRY_CODE_BE (((UINT_16) 'B' << 8) | (UINT_16) 'E') /* Belgium       */
129 #define COUNTRY_CODE_BM (((UINT_16) 'B' << 8) | (UINT_16) 'M') /* Bermuda       */
130 #define COUNTRY_CODE_BO (((UINT_16) 'B' << 8) | (UINT_16) 'O') /* Bolivia       */
131 #define COUNTRY_CODE_BR (((UINT_16) 'B' << 8) | (UINT_16) 'R') /* Brazil        */
132 #define COUNTRY_CODE_BS (((UINT_16) 'B' << 8) | (UINT_16) 'S') /* Bahamas       */
133 #define COUNTRY_CODE_BY (((UINT_16) 'B' << 8) | (UINT_16) 'Y') /* Belarus       */
134 #define COUNTRY_CODE_CA (((UINT_16) 'C' << 8) | (UINT_16) 'A') /* Canada        */
135 #define COUNTRY_CODE_CH (((UINT_16) 'C' << 8) | (UINT_16) 'H') /* Switzerland   */
136 #define COUNTRY_CODE_CL (((UINT_16) 'C' << 8) | (UINT_16) 'L') /* Chile         */
137 #define COUNTRY_CODE_CN (((UINT_16) 'C' << 8) | (UINT_16) 'N') /* China         */
138 #define COUNTRY_CODE_CO (((UINT_16) 'C' << 8) | (UINT_16) 'O') /* Colombia      */
139 #define COUNTRY_CODE_CR (((UINT_16) 'C' << 8) | (UINT_16) 'R') /* Costa Rica    */
140 #define COUNTRY_CODE_CU (((UINT_16) 'C' << 8) | (UINT_16) 'U') /* Cuba          */
141 #define COUNTRY_CODE_DE (((UINT_16) 'D' << 8) | (UINT_16) 'E') /* Germany       */
142 #define COUNTRY_CODE_DK (((UINT_16) 'D' << 8) | (UINT_16) 'K') /* Denmark       */
143 #define COUNTRY_CODE_DM (((UINT_16) 'D' << 8) | (UINT_16) 'M') /* Dominica      */
144 #define COUNTRY_CODE_DO (((UINT_16) 'D' << 8) | (UINT_16) 'O') /* Dominican Republic */
145 #define COUNTRY_CODE_EC (((UINT_16) 'E' << 8) | (UINT_16) 'C') /* Ecuador       */
146 #define COUNTRY_CODE_EG (((UINT_16) 'E' << 8) | (UINT_16) 'G') /* Egypt         */
147 #define COUNTRY_CODE_ES (((UINT_16) 'E' << 8) | (UINT_16) 'S') /* Spain         */
148 #define COUNTRY_CODE_EU (((UINT_16) 'E' << 8) | (UINT_16) 'U') /* ETSI (Europe) */
149 #define COUNTRY_CODE_FI (((UINT_16) 'F' << 8) | (UINT_16) 'I') /* Finland       */
150 #define COUNTRY_CODE_FR (((UINT_16) 'F' << 8) | (UINT_16) 'R') /* France        */
151 #define COUNTRY_CODE_GB (((UINT_16) 'G' << 8) | (UINT_16) 'B') /* United Kingdom */
152 #define COUNTRY_CODE_GD (((UINT_16) 'G' << 8) | (UINT_16) 'D') /* Grenada       */
153 #define COUNTRY_CODE_GR (((UINT_16) 'G' << 8) | (UINT_16) 'R') /* Greece        */
154 #define COUNTRY_CODE_GY (((UINT_16) 'G' << 8) | (UINT_16) 'Y') /* Guyana        */
155 #define COUNTRY_CODE_HK (((UINT_16) 'H' << 8) | (UINT_16) 'K') /* Hong Kong     */
156 #define COUNTRY_CODE_HT (((UINT_16) 'H' << 8) | (UINT_16) 'T') /* Haiti         */
157 #define COUNTRY_CODE_HN (((UINT_16) 'H' << 8) | (UINT_16) 'N') /* Honduras      */
158 #define COUNTRY_CODE_ID (((UINT_16) 'I' << 8) | (UINT_16) 'D') /* Indonesia     */
159 #define COUNTRY_CODE_IE (((UINT_16) 'I' << 8) | (UINT_16) 'E') /* Ireland       */
160 #define COUNTRY_CODE_IL (((UINT_16) 'I' << 8) | (UINT_16) 'L') /* Israel        */
161 #define COUNTRY_CODE_IN (((UINT_16) 'I' << 8) | (UINT_16) 'N') /* India         */
162 #define COUNTRY_CODE_IR (((UINT_16) 'I' << 8) | (UINT_16) 'R') /* Iran          */
163 #define COUNTRY_CODE_IS (((UINT_16) 'I' << 8) | (UINT_16) 'S') /* Iceland       */
164 #define COUNTRY_CODE_IT (((UINT_16) 'I' << 8) | (UINT_16) 'T') /* Italy         */
165 #define COUNTRY_CODE_JM (((UINT_16) 'J' << 8) | (UINT_16) 'M') /* Jamaica       */
166 #define COUNTRY_CODE_JO (((UINT_16) 'J' << 8) | (UINT_16) 'O') /* Jordan        */
167 #define COUNTRY_CODE_JP (((UINT_16) 'J' << 8) | (UINT_16) 'P') /* Japan         */
168 #define COUNTRY_CODE_KN (((UINT_16) 'K' << 8) | (UINT_16) 'N') /* Saint Kitts and Nevis */
169 #define COUNTRY_CODE_KR (((UINT_16) 'K' << 8) | (UINT_16) 'R') /* South Korea   */
170 #define COUNTRY_CODE_KW (((UINT_16) 'K' << 8) | (UINT_16) 'W') /* Kuwait        */
171 #define COUNTRY_CODE_LC (((UINT_16) 'L' << 8) | (UINT_16) 'C') /* Saint Lucia   */
172 #define COUNTRY_CODE_LI (((UINT_16) 'L' << 8) | (UINT_16) 'I') /* Liechtenstein */
173 #define COUNTRY_CODE_LK (((UINT_16) 'L' << 8) | (UINT_16) 'K') /* Sri Lanka     */
174 #define COUNTRY_CODE_LU (((UINT_16) 'L' << 8) | (UINT_16) 'U') /* Luxembourg    */
175 #define COUNTRY_CODE_MA (((UINT_16) 'M' << 8) | (UINT_16) 'A') /* Morocco       */
176 #define COUNTRY_CODE_MD (((UINT_16) 'M' << 8) | (UINT_16) 'D') /* Moldova       */
177 #define COUNTRY_CODE_MX (((UINT_16) 'M' << 8) | (UINT_16) 'X') /* Mexico        */
178 #define COUNTRY_CODE_MY (((UINT_16) 'M' << 8) | (UINT_16) 'Y') /* Malaysia      */
179 #define COUNTRY_CODE_NI (((UINT_16) 'N' << 8) | (UINT_16) 'I') /* Nicaragua     */
180 #define COUNTRY_CODE_NL (((UINT_16) 'N' << 8) | (UINT_16) 'L') /* Netherlands   */
181 #define COUNTRY_CODE_NO (((UINT_16) 'N' << 8) | (UINT_16) 'O') /* Norway        */
182 #define COUNTRY_CODE_NZ (((UINT_16) 'N' << 8) | (UINT_16) 'Z') /* New Zealand   */
183 #define COUNTRY_CODE_OM (((UINT_16) 'O' << 8) | (UINT_16) 'M') /* Oman          */
184 #define COUNTRY_CODE_PE (((UINT_16) 'P' << 8) | (UINT_16) 'E') /* Peru          */
185 #define COUNTRY_CODE_PG (((UINT_16) 'P' << 8) | (UINT_16) 'G') /* Papua New Guinea */
186 #define COUNTRY_CODE_PH (((UINT_16) 'P' << 8) | (UINT_16) 'H') /* Philippines   */
187 #define COUNTRY_CODE_PK (((UINT_16) 'P' << 8) | (UINT_16) 'K') /* Pakistan      */
188 #define COUNTRY_CODE_PR (((UINT_16) 'P' << 8) | (UINT_16) 'R') /* Puerto Rico   */
189 #define COUNTRY_CODE_PT (((UINT_16) 'P' << 8) | (UINT_16) 'T') /* Portugal      */
190 #define COUNTRY_CODE_PY (((UINT_16) 'P' << 8) | (UINT_16) 'Y') /* Paraguay      */
191 #define COUNTRY_CODE_PZ (((UINT_16) 'P' << 8) | (UINT_16) 'Z') /* Panama        */
192 #define COUNTRY_CODE_RU (((UINT_16) 'R' << 8) | (UINT_16) 'U') /* Russian       */
193 #define COUNTRY_CODE_SA (((UINT_16) 'S' << 8) | (UINT_16) 'A') /* Saudi Arabia  */
194 #define COUNTRY_CODE_SE (((UINT_16) 'S' << 8) | (UINT_16) 'E') /* Sweden        */
195 #define COUNTRY_CODE_SG (((UINT_16) 'S' << 8) | (UINT_16) 'G') /* Singapore     */
196 #define COUNTRY_CODE_SR (((UINT_16) 'S' << 8) | (UINT_16) 'R') /* Suriname      */
197 #define COUNTRY_CODE_TW (((UINT_16) 'T' << 8) | (UINT_16) 'W') /* Taiwan        */
198 #define COUNTRY_CODE_TH (((UINT_16) 'T' << 8) | (UINT_16) 'H') /* Thailand      */
199 #define COUNTRY_CODE_TR (((UINT_16) 'T' << 8) | (UINT_16) 'R') /* Turkey        */
200 #define COUNTRY_CODE_TT (((UINT_16) 'T' << 8) | (UINT_16) 'T') /* Trinidad      */
201 #define COUNTRY_CODE_UA (((UINT_16) 'U' << 8) | (UINT_16) 'A') /* Ukraine       */
202 #define COUNTRY_CODE_US (((UINT_16) 'U' << 8) | (UINT_16) 'S') /* United States */
203 #define COUNTRY_CODE_UY (((UINT_16) 'U' << 8) | (UINT_16) 'Y') /* Uruguay       */
204 #define COUNTRY_CODE_VC (((UINT_16) 'V' << 8) | (UINT_16) 'C') /* Saint Vincent */
205 #define COUNTRY_CODE_VE (((UINT_16) 'V' << 8) | (UINT_16) 'E') /* Venezuela     */
206 #define COUNTRY_CODE_VN (((UINT_16) 'V' << 8) | (UINT_16) 'N') /* Vietnam       */
207
208 /* dot11RegDomainsSupportValue */
209 #define MIB_REG_DOMAIN_FCC              0x10    /* FCC (US) */
210 #define MIB_REG_DOMAIN_IC               0x20    /* IC or DOC (Canada) */
211 #define MIB_REG_DOMAIN_ETSI             0x30    /* ETSI (Europe) */
212 #define MIB_REG_DOMAIN_SPAIN            0x31    /* Spain */
213 #define MIB_REG_DOMAIN_FRANCE           0x32    /* France */
214 #define MIB_REG_DOMAIN_JAPAN            0x40    /* MPHPT (Japan) */
215 #define MIB_REG_DOMAIN_OTHER            0x00    /* other */
216
217
218 /*******************************************************************************
219 *                             D A T A   T Y P E S
220 ********************************************************************************
221 */
222
223 /* Define channel offset in unit of 5MHz bandwidth */
224 typedef enum _ENUM_CHNL_SPAN_T {
225     CHNL_SPAN_5     = 1,
226     CHNL_SPAN_10    = 2,
227     CHNL_SPAN_20    = 4,
228     CHNL_SPAN_40    = 8
229 } ENUM_CHNL_SPAN_T, *P_ENUM_CHNL_SPAN_T;
230
231 /* Define BSS operating bandwidth */
232 typedef enum _ENUM_CHNL_BW_T {
233     CHNL_BW_20,
234     CHNL_BW_20_40,
235     CHNL_BW_10,
236     CHNL_BW_5
237 } ENUM_CHNL_BW_T, *P_ENUM_CHNL_BW_T;
238
239 #if 0
240 /* If channel width is CHNL_BW_20_40, the first channel will be SCA and
241  * the second channel is SCB, then iteratively.
242  * Note the final channel will not be SCA.
243  */
244 typedef struct _DOMAIN_SUBBAND_INFO {
245     UINT_8              ucRegClass;
246     ENUM_BAND_T         eBand;
247     ENUM_CHNL_SPAN_T    eChannelSpan;
248     UINT_8              ucFirstChannelNum;
249     UINT_8              ucNumChannels;
250     ENUM_CHNL_BW_T      eChannelBw;
251     BOOLEAN             fgDfsNeeded;
252     BOOLEAN             fgIbssProhibited;
253 } DOMAIN_SUBBAND_INFO, *P_DOMAIN_SUBBAND_INFO;
254
255 /* Use it as all available channel list for STA */
256 typedef struct _DOMAIN_INFO_ENTRY {
257     UINT_16             u2CountryCode;
258     UINT_16             u2MibRegDomainValue;
259
260     /* If different attributes, put them into different rSubBands.
261      * For example, DFS shall be used or not.
262      */
263     DOMAIN_SUBBAND_INFO rSubBand[MAX_SUBBAND_NUM];
264 } DOMAIN_INFO_ENTRY, *P_DOMAIN_INFO_ENTRY;
265
266 #else /* New definition 20110830 */
267
268 /* In all bands, the first channel will be SCA and the second channel is SCB,
269  * then iteratively.
270  * Note the final channel will not be SCA.
271  */
272 typedef struct _DOMAIN_SUBBAND_INFO {
273     /* Note1: regulation class depends on operation bandwidth and RF band.
274      *  For example: 2.4GHz, 1~13, 20MHz ==> regulation class = 81
275      *               2.4GHz, 1~13, SCA   ==> regulation class = 83
276      *               2.4GHz, 1~13, SCB   ==> regulation class = 84
277      * Note2: TX power limit is not specified here because path loss is unknown
278      */
279     UINT_8              ucRegClass;         /* Regulation class for 20MHz */
280     UINT_8              ucBand;             /* Type: ENUM_BAND_T */
281     UINT_8              ucChannelSpan;      /* Type: ENUM_CHNL_SPAN_T */
282     UINT_8              ucFirstChannelNum;
283     UINT_8              ucNumChannels;
284     UINT_8              ucReserved;         /* Type: BOOLEAN (fgDfsNeeded) */
285 } DOMAIN_SUBBAND_INFO, *P_DOMAIN_SUBBAND_INFO;
286
287 /* Use it as all available channel list for STA */
288 typedef struct _DOMAIN_INFO_ENTRY {
289     PUINT_16            pu2CountryGroup;
290     UINT_32             u4CountryNum;
291
292     /* If different attributes, put them into different rSubBands.
293      * For example, DFS shall be used or not.
294      */
295     DOMAIN_SUBBAND_INFO rSubBand[MAX_SUBBAND_NUM];
296 } DOMAIN_INFO_ENTRY, *P_DOMAIN_INFO_ENTRY;
297 #endif
298
299 /* The following definitions are not used yet */
300 typedef enum _ENUM_CH_SET_2G4_T {
301     CH_SET_2G4_NA,
302     CH_SET_2G4_1_11,
303     CH_SET_2G4_1_13,
304     CH_SET_2G4_1_14,
305     CH_SET_2G4_NUM
306 } ENUM_CH_SET_2G4_T, *P_ENUM_CH_SET_2G4_T;
307
308 typedef enum _ENUM_CH_SET_UNII_LOW_T {
309     CH_SET_UNII_LOW_NA,
310     CH_SET_UNII_LOW_36_48,
311     CH_SET_UNII_LOW_NUM
312 } ENUM_CH_SET_UNII_LOW_T, *P_ENUM_CH_SET_UNII_LOW_T;
313
314 typedef enum _ENUM_CH_SET_UNII_MID_T {
315     CH_SET_UNII_MID_NA,
316     CH_SET_UNII_MID_52_64,
317     CH_SET_UNII_MID_NUM
318 } ENUM_CH_SET_UNII_MID_T, *P_ENUM_CH_SET_UNII_MID_T;
319
320 typedef enum _ENUM_CH_SET_UNII_WW_T {
321     CH_SET_UNII_WW_NA,
322     CH_SET_UNII_WW_100_128,
323     CH_SET_UNII_WW_100_140,
324     CH_SET_UNII_WW_100_116_132_140,
325     CH_SET_UNII_WW_NUM
326 } ENUM_CH_SET_UNII_WW_T, *P_ENUM_CH_SET_UNII_WW_T;
327
328 typedef enum _ENUM_CH_SET_UNII_UPPER_T {
329     CH_SET_UNII_UPPER_NA,
330     CH_SET_UNII_UPPER_149_161,
331     CH_SET_UNII_UPPER_149_165,
332     CH_SET_UNII_UPPER_149_173,
333     CH_SET_UNII_UPPER_NUM
334 } ENUM_CH_SET_UNII_UPPER_T, *P_ENUM_CH_SET_UNII_UPPER_T;
335
336 typedef struct _COUNTRY_CH_SET_T {
337     ENUM_CH_SET_2G4_T           e2G4;
338     ENUM_CH_SET_UNII_LOW_T      eUniiLow;
339     ENUM_CH_SET_UNII_MID_T      eUniiMid;
340     ENUM_CH_SET_UNII_WW_T       eUniiWw;
341     ENUM_CH_SET_UNII_UPPER_T    eUniiUpper;
342 } COUNTRY_CH_SET_T, *P_COUNTRY_CH_SET_T;
343
344
345 /*******************************************************************************
346 *                            P U B L I C   D A T A
347 ********************************************************************************
348 */
349
350 /*******************************************************************************
351 *                           P R I V A T E   D A T A
352 ********************************************************************************
353 */
354
355 /*******************************************************************************
356 *                                 M A C R O S
357 ********************************************************************************
358 */
359
360 /*******************************************************************************
361 *                   F U N C T I O N   D E C L A R A T I O N S
362 ********************************************************************************
363 */
364 P_DOMAIN_INFO_ENTRY
365 rlmDomainGetDomainInfo (
366     P_ADAPTER_T     prAdapter
367     );
368
369 VOID
370 rlmDomainGetChnlList (
371     P_ADAPTER_T             prAdapter,
372     ENUM_BAND_T             eSpecificBand,
373     UINT_8                  ucMaxChannelNum,
374     PUINT_8                 pucNumOfChannel,
375     P_RF_CHANNEL_INFO_T     paucChannelList
376     );
377
378 VOID
379 rlmDomainSendCmd (
380     P_ADAPTER_T     prAdapter,
381     BOOLEAN         fgIsOid
382     );
383
384 BOOLEAN
385 rlmDomainIsLegalChannel (
386     P_ADAPTER_T     prAdapter,
387     ENUM_BAND_T     eBand,
388     UINT_8          ucChannel
389     );
390
391 /*******************************************************************************
392 *                              F U N C T I O N S
393 ********************************************************************************
394 */
395
396 #endif /* _RLM_DOMAIN_H */
397
398