xref: /wlan-dirver/qca-wifi-host-cmn/umac/regulatory/core/src/reg_db.c (revision 11f5a63a6cbdda84849a730de22f0a71e635d58c)
1 /*
2  * Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
3  *
4  *
5  * Permission to use, copy, modify, and/or distribute this software for
6  * any purpose with or without fee is hereby granted, provided that the
7  * above copyright notice and this permission notice appear in all
8  * copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17  * PERFORMANCE OF THIS SOFTWARE.
18  */
19 
20 /**
21  * DOC: reg_db.c
22  * This file implements QCA regulatory database.
23  * Current implementation conforms to database version 29.
24  */
25 
26 #include <qdf_types.h>
27 #include <qdf_trace.h>
28 #include <wlan_cmn.h>
29 #include <reg_services_public_struct.h>
30 #include "reg_db.h"
31 
32 enum country_code {
33 	CTRY_AFGHANISTAN = 4,
34 	CTRY_ALAND_ISLANDS = 248,
35 	CTRY_ALBANIA = 8,
36 	CTRY_ALGERIA = 12,
37 	CTRY_AMERICAN_SAMOA = 16,
38 	CTRY_ANDORRA = 20,
39 	CTRY_ANGUILLA = 660,
40 	CTRY_ANTIGUA_AND_BARBUDA = 28,
41 	CTRY_ARGENTINA = 32,
42 	CTRY_ARMENIA = 51,
43 	CTRY_MYANMAR = 104,
44 	CTRY_ARUBA = 533,
45 	CTRY_AUSTRALIA = 36,
46 	CTRY_AUSTRIA = 40,
47 	CTRY_AZERBAIJAN = 31,
48 	CTRY_BAHAMAS = 44,
49 	CTRY_BAHRAIN = 48,
50 	CTRY_BANGLADESH = 50,
51 	CTRY_BARBADOS = 52,
52 	CTRY_BELARUS = 112,
53 	CTRY_BELGIUM = 56,
54 	CTRY_BELIZE = 84,
55 	CTRY_BERMUDA = 60,
56 	CTRY_BHUTAN = 64,
57 	CTRY_BOLIVIA = 68,
58 	CTRY_BOSNIA_HERZ = 70,
59 	CTRY_BRAZIL = 76,
60 	CTRY_BRUNEI_DARUSSALAM = 96,
61 	CTRY_BULGARIA = 100,
62 	CTRY_BURKINA_FASO = 854,
63 	CTRY_CAMBODIA = 116,
64 	CTRY_CAMEROON = 120,
65 	CTRY_CANADA = 124,
66 	CTRY_CAYMAN_ISLANDS = 136,
67 	CTRY_CENTRAL_AFRICA_REPUBLIC = 140,
68 	CTRY_CHAD = 148,
69 	CTRY_CHILE = 152,
70 	CTRY_CHINA = 156,
71 	CTRY_CHRISTMAS_ISLAND = 162,
72 	CTRY_COLOMBIA = 170,
73 	CTRY_COOK_ISLANDS = 184,
74 	CTRY_COSTA_RICA = 188,
75 	CTRY_COTE_DIVOIRE = 384,
76 	CTRY_CROATIA = 191,
77 	CTRY_CYPRUS = 196,
78 	CTRY_CZECH = 203,
79 	CTRY_DENMARK = 208,
80 	CTRY_DOMINICA = 212,
81 	CTRY_DOMINICAN_REPUBLIC = 214,
82 	CTRY_ECUADOR = 218,
83 	CTRY_EGYPT = 818,
84 	CTRY_EL_SALVADOR = 222,
85 	CTRY_ESTONIA = 233,
86 	CTRY_ETHIOPIA = 231,
87 	CTRY_FALKLAND_ISLANDS = 238,
88 	CTRY_FAROE_ISLANDS = 234,
89 	CTRY_FINLAND = 246,
90 	CTRY_FRANCE = 250,
91 	CTRY_FRENCH_GUIANA = 254,
92 	CTRY_FRENCH_POLYNESIA = 258,
93 	CTRY_FRENCH_SOUTHERN_TERRITORIES = 260,
94 	CTRY_GEORGIA = 268,
95 	CTRY_GERMANY = 276,
96 	CTRY_GHANA = 288,
97 	CTRY_GIBRALTAR = 292,
98 	CTRY_GREECE = 300,
99 	CTRY_GREENLAND = 304,
100 	CTRY_GRENADA = 308,
101 	CTRY_GUADELOUPE = 312,
102 	CTRY_GUAM = 316,
103 	CTRY_GUATEMALA = 320,
104 	CTRY_GUERNSEY = 831,
105 	CTRY_GUYANA = 328,
106 	CTRY_HAITI = 332,
107 	CTRY_HEARD_ISLAND_AND_MCDONALD_ISLANDS = 334,
108 	CTRY_HOLY_SEE = 336,
109 	CTRY_HONDURAS = 340,
110 	CTRY_HONG_KONG = 344,
111 	CTRY_HUNGARY = 348,
112 	CTRY_ICELAND = 352,
113 	CTRY_INDIA = 356,
114 	CTRY_INDONESIA = 360,
115 	CTRY_IRAQ = 368,
116 	CTRY_IRELAND = 372,
117 	CTRY_ISLE_OF_MAN = 833,
118 	CTRY_ISRAEL = 376,
119 	CTRY_ITALY = 380,
120 	CTRY_JAMAICA = 388,
121 	CTRY_JERSEY = 832,
122 	CTRY_JORDAN = 400,
123 	CTRY_KAZAKHSTAN = 398,
124 	CTRY_KENYA = 404,
125 	CTRY_KOREA_ROC = 410,
126 	CTRY_KUWAIT = 414,
127 	CTRY_LATVIA = 428,
128 	CTRY_LEBANON = 422,
129 	CTRY_LESOTHO = 426,
130 	CTRY_LIECHTENSTEIN = 438,
131 	CTRY_LITHUANIA = 440,
132 	CTRY_LUXEMBOURG = 442,
133 	CTRY_MACAU = 446,
134 	CTRY_MACEDONIA = 807,
135 	CTRY_MALAWI = 454,
136 	CTRY_MALAYSIA = 458,
137 	CTRY_MALDIVES = 462,
138 	CTRY_MALTA = 470,
139 	CTRY_MARSHALL_ISLANDS = 584,
140 	CTRY_MARTINIQUE = 474,
141 	CTRY_MAURITANIA = 478,
142 	CTRY_MAURITIUS = 480,
143 	CTRY_MAYOTTE = 175,
144 	CTRY_MEXICO = 484,
145 	CTRY_MICRONESIA = 583,
146 	CTRY_MOLDOVA = 498,
147 	CTRY_MONACO = 492,
148 	CTRY_MONGOLIA = 496,
149 	CTRY_MONTENEGRO = 499,
150 	CTRY_MONTSERRAT = 500,
151 	CTRY_MOROCCO = 504,
152 	CTRY_NAMIBIA = 516,
153 	CTRY_NEPAL = 524,
154 	CTRY_NETHERLANDS = 528,
155 	CTRY_NETHERLANDS_ANTILLES = 530,
156 	CTRY_NEW_CALEDONIA = 540,
157 	CTRY_NEW_ZEALAND = 554,
158 	CTRY_NIGERIA = 566,
159 	CTRY_NORTHERN_MARIANA_ISLANDS = 580,
160 	CTRY_NICARAGUA = 558,
161 	CTRY_NIUE = 570,
162 	CTRY_NORFOLK_ISLAND = 574,
163 	CTRY_NORWAY = 578,
164 	CTRY_OMAN = 512,
165 	CTRY_PAKISTAN = 586,
166 	CTRY_PALAU = 585,
167 	CTRY_PANAMA = 591,
168 	CTRY_PAPUA_NEW_GUINEA = 598,
169 	CTRY_PARAGUAY = 600,
170 	CTRY_PERU = 604,
171 	CTRY_PHILIPPINES = 608,
172 	CTRY_POLAND = 616,
173 	CTRY_PORTUGAL = 620,
174 	CTRY_PUERTO_RICO = 630,
175 	CTRY_QATAR = 634,
176 	CTRY_REUNION = 638,
177 	CTRY_ROMANIA = 642,
178 	CTRY_RUSSIA = 643,
179 	CTRY_RWANDA = 646,
180 	CTRY_SAINT_BARTHELEMY = 652,
181 	CTRY_SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA = 654,
182 	CTRY_SAINT_KITTS_AND_NEVIS = 659,
183 	CTRY_SAINT_LUCIA = 662,
184 	CTRY_SAINT_MARTIN = 663,
185 	CTRY_SAINT_PIERRE_AND_MIQUELON = 666,
186 	CTRY_SAINT_VINCENT_AND_THE_GRENADIENS = 670,
187 	CTRY_SAMOA = 882,
188 	CTRY_SAN_MARINO = 674,
189 	CTRY_SAO_TOME_AND_PRINCIPE = 678,
190 	CTRY_SAUDI_ARABIA = 682,
191 	CTRY_SENEGAL = 686,
192 	CTRY_SERBIA = 688,
193 	CTRY_SINGAPORE = 702,
194 	CTRY_SINT_MAARTEN = 534,
195 	CTRY_SLOVAKIA = 703,
196 	CTRY_SLOVENIA = 705,
197 	CTRY_SOUTH_AFRICA = 710,
198 	CTRY_SPAIN = 724,
199 	CTRY_SURINAME = 740,
200 	CTRY_SRI_LANKA = 144,
201 	CTRY_SVALBARD_AND_JAN_MAYEN = 744,
202 	CTRY_SWEDEN = 752,
203 	CTRY_SWITZERLAND = 756,
204 	CTRY_TAIWAN = 158,
205 	CTRY_TANZANIA = 834,
206 	CTRY_THAILAND = 764,
207 	CTRY_TOGO = 768,
208 	CTRY_TRINIDAD_Y_TOBAGO = 780,
209 	CTRY_TUNISIA = 788,
210 	CTRY_TURKEY = 792,
211 	CTRY_TURKS_AND_CAICOS = 796,
212 	CTRY_UGANDA = 800,
213 	CTRY_UKRAINE = 804,
214 	CTRY_UAE = 784,
215 	CTRY_UNITED_KINGDOM = 826,
216 	CTRY_UNITED_STATES = 840,
217 	CTRY_UNITED_STATES_MINOR_OUTLYING_ISLANDS = 581,
218 	CTRY_URUGUAY = 858,
219 	CTRY_UZBEKISTAN = 860,
220 	CTRY_VANUATU = 548,
221 	CTRY_VENEZUELA = 862,
222 	CTRY_VIET_NAM = 704,
223 	CTRY_VIRGIN_ISLANDS = 850,
224 	CTRY_VIRGIN_ISLANDS_BRITISH = 92,
225 	CTRY_WALLIS_AND_FUTUNA = 876,
226 	CTRY_YEMEN = 887,
227 	CTRY_ZIMBABWE = 716,
228 	CTRY_JAPAN = 392,
229 	CTRY_JAPAN15 = 4015,
230 	CTRY_XA = 4100,
231 };
232 
233 enum reg_domain {
234 	NULL1_WORLD = 0x03,
235 
236 	FCC1_FCCA = 0x10,
237 	FCC1_WORLD = 0x11,
238 	FCC2_FCCA = 0x20,
239 	FCC2_WORLD = 0x21,
240 	FCC2_ETSIC = 0x22,
241 	FCC3_FCCA = 0x3A,
242 	FCC3_WORLD = 0x3B,
243 	FCC3_ETSIC = 0x3F,
244 	FCC4_FCCA = 0x12,
245 	FCC5_FCCA = 0x13,
246 	FCC6_WORLD = 0x23,
247 	FCC6_FCCA = 0x14,
248 	FCC8_FCCA = 0x16,
249 	FCC9_FCCA = 0x17,
250 	FCC10_FCCA = 0x18,
251 	FCC11_WORLD = 0x19,
252 	FCC13_WORLD = 0xE4,
253 	FCC14_FCCB = 0xE6,
254 
255 	ETSI1_WORLD = 0x37,
256 	ETSI3_WORLD = 0x36,
257 	ETSI4_WORLD = 0x30,
258 	ETSI8_WORLD = 0x3D,
259 	ETSI9_WORLD = 0x3E,
260 	ETSI10_WORLD = 0x24,
261 	ETSI10_FCCA = 0x25,
262 	ETSI11_WORLD = 0x26,
263 	ETSI12_WORLD = 0x28,
264 	ETSI13_WORLD = 0x27,
265 	ETSI14_WORLD = 0x29,
266 	ETSI15_WORLD = 0x31,
267 
268 	APL1_WORLD = 0x52,
269 	APL1_ETSIC = 0x55,
270 	APL2_WORLD = 0x45,
271 	APL2_ETSIC = 0x56,
272 	APL4_WORLD = 0x42,
273 	APL6_WORLD = 0x5B,
274 	APL8_WORLD = 0x5D,
275 	APL9_WORLD = 0x5E,
276 	APL9_MKKC  = 0x48,
277 	APL9_KRRA  = 0x43,
278 	APL10_WORLD = 0x5F,
279 	APL11_FCCA = 0x4F,
280 	APL12_WORLD = 0x51,
281 	APL13_WORLD = 0x5A,
282 	APL14_WORLD = 0x57,
283 	APL15_WORLD = 0x59,
284 	APL16_WORLD = 0x70,
285 	APL17_ETSID = 0xE0,
286 	APL19_ETSIC = 0x71,
287 	APL20_WORLD = 0xE5,
288 	APL23_WORLD = 0xE3,
289 
290 	MKK3_MKKC = 0x82,
291 	MKK5_MKKA = 0x99,
292 	MKK5_MKKC = 0x88,
293 	MKK11_MKKC = 0xD7,
294 	MKK16_MKKC = 0xDF,
295 	MKK17_MKKC = 0xE1,
296 
297 	WORLD_60 = 0x60,
298 	WORLD_61 = 0x61,
299 	WORLD_62 = 0x62,
300 	WORLD_63 = 0x63,
301 	WORLD_65 = 0x65,
302 	WORLD_64 = 0x64,
303 	WORLD_66 = 0x66,
304 	WORLD_69 = 0x69,
305 	WORLD_67 = 0x67,
306 	WORLD_68 = 0x68,
307 	WORLD_6A = 0x6A,
308 	WORLD_6C = 0x6C,
309 };
310 
311 #ifndef CONFIG_REG_CLIENT
312 const struct country_code_to_reg_domain g_all_countries[] = {
313 	{CTRY_AFGHANISTAN, ETSI1_WORLD, "AF", 40, 160, 0},
314 	{CTRY_ALAND_ISLANDS, FCC3_WORLD, "AX", 40, 160, 0},
315 	{CTRY_ALBANIA, ETSI1_WORLD, "AL", 40, 160, 0},
316 	{CTRY_ALGERIA, APL13_WORLD, "DZ", 40, 160, 0},
317 	{CTRY_AMERICAN_SAMOA, FCC3_FCCA, "AS", 40, 160, 0},
318 	{CTRY_ANDORRA, ETSI3_WORLD, "AD", 40, 160, 0},
319 	{CTRY_ANGUILLA, ETSI1_WORLD, "AI", 40, 160, 0},
320 	{CTRY_ANTIGUA_AND_BARBUDA, ETSI1_WORLD, "AG", 40, 160, 0},
321 	{CTRY_ARGENTINA, APL16_WORLD, "AR", 40, 160, 0},
322 	{CTRY_ARMENIA, ETSI4_WORLD, "AM", 40, 20, 0},
323 	{CTRY_ARUBA, ETSI1_WORLD, "AW", 40, 160, 0},
324 	{CTRY_AUSTRALIA, FCC6_WORLD, "AU", 40, 160, 0},
325 	{CTRY_AUSTRIA, ETSI1_WORLD, "AT", 40, 160, 0},
326 	{CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", 40, 160, 0},
327 	{CTRY_BAHAMAS, FCC3_WORLD, "BS", 40, 160, 0},
328 	{CTRY_BAHRAIN, APL15_WORLD, "BH", 40, 20, 0},
329 	{CTRY_BANGLADESH, APL1_WORLD, "BD", 40, 160, 0},
330 	{CTRY_BARBADOS, FCC2_WORLD, "BB", 40, 160, 0},
331 	{CTRY_BELARUS, ETSI1_WORLD, "BY", 40, 160, 0},
332 	{CTRY_BELGIUM, ETSI1_WORLD, "BE", 40, 160, 0},
333 	{CTRY_BELIZE, ETSI8_WORLD, "BZ", 40, 160, 0},
334 	{CTRY_BERMUDA, FCC3_FCCA, "BM", 40, 160, 0},
335 	{CTRY_BHUTAN, ETSI1_WORLD, "BT", 40, 160, 0},
336 	{CTRY_BOLIVIA, APL8_WORLD, "BO", 40, 160, 0},
337 	{CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", 40, 160, 0},
338 	{CTRY_BRAZIL, FCC3_ETSIC, "BR", 40, 160, 0},
339 	{CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN", 40, 160, 0},
340 	{CTRY_BULGARIA, ETSI1_WORLD, "BG", 40, 160, 0},
341 	{CTRY_BURKINA_FASO, FCC3_WORLD, "BF", 40, 160, 0},
342 	{CTRY_CAMBODIA, ETSI1_WORLD, "KH", 40, 160, 0},
343 	{CTRY_CAMEROON, ETSI1_WORLD, "CM", 40, 160, 0},
344 	{CTRY_CANADA, FCC6_FCCA, "CA", 40, 160, 0},
345 	{CTRY_CAYMAN_ISLANDS, FCC3_WORLD, "KY", 40, 160, 0},
346 	{CTRY_CENTRAL_AFRICA_REPUBLIC, FCC3_WORLD, "CF", 40, 40, 0},
347 	{CTRY_CHAD, ETSI1_WORLD, "TD", 40, 160, 0},
348 	{CTRY_CHILE, FCC13_WORLD, "CL", 40, 160, 0},
349 	{CTRY_CHINA, APL14_WORLD, "CN", 40, 160, 0},
350 	{CTRY_CHRISTMAS_ISLAND, FCC3_WORLD, "CX", 40, 160, 0},
351 	{CTRY_COLOMBIA, FCC3_WORLD, "CO", 40, 160, 0},
352 	{CTRY_COOK_ISLANDS, FCC3_WORLD, "CK", 40, 160, 0},
353 	{CTRY_COSTA_RICA, FCC3_WORLD, "CR", 40, 160, 0},
354 	{CTRY_COTE_DIVOIRE, FCC3_WORLD, "CI", 40, 160, 0},
355 	{CTRY_CROATIA, ETSI1_WORLD, "HR", 40, 160, 0},
356 	{CTRY_CYPRUS, ETSI1_WORLD, "CY", 40, 160, 0},
357 	{CTRY_CZECH, ETSI1_WORLD, "CZ", 40, 160, 0},
358 	{CTRY_DENMARK, ETSI1_WORLD, "DK", 40, 160,  0},
359 	{CTRY_DOMINICA, FCC1_FCCA, "DM", 40, 160, 0},
360 	{CTRY_DOMINICAN_REPUBLIC, FCC3_FCCA, "DO", 40, 160, 0},
361 	{CTRY_ECUADOR, FCC3_WORLD, "EC", 40, 20, 0},
362 	{CTRY_EGYPT, ETSI3_WORLD, "EG", 40, 160, 0},
363 	{CTRY_EL_SALVADOR, FCC1_WORLD, "SV", 40, 20, 0},
364 	{CTRY_ESTONIA, ETSI1_WORLD, "EE", 40, 160, 0},
365 	{CTRY_ETHIOPIA, ETSI1_WORLD, "ET", 40, 160, 0},
366 	{CTRY_FALKLAND_ISLANDS, ETSI1_WORLD, "FK", 40, 160, 0},
367 	{CTRY_FAROE_ISLANDS, ETSI1_WORLD, "FO", 40, 160, 0},
368 	{CTRY_FINLAND, ETSI1_WORLD, "FI", 40, 160, 0},
369 	{CTRY_FRANCE, ETSI1_WORLD, "FR", 40, 160, 0},
370 	{CTRY_FRENCH_GUIANA, ETSI1_WORLD, "GF", 40, 160, 0},
371 	{CTRY_FRENCH_POLYNESIA, ETSI1_WORLD, "PF", 40, 160, 0},
372 	{CTRY_FRENCH_SOUTHERN_TERRITORIES, ETSI1_WORLD, "TF", 40, 160, 0},
373 	{CTRY_GEORGIA, ETSI1_WORLD, "GE", 40, 160, 0},
374 	{CTRY_GERMANY, ETSI1_WORLD, "DE", 40, 160, 0},
375 	{CTRY_GHANA, FCC3_WORLD, "GH", 40, 160, 0},
376 	{CTRY_GIBRALTAR, ETSI1_WORLD, "GI", 40, 160, 0},
377 	{CTRY_GREECE, ETSI1_WORLD, "GR", 40, 160, 0},
378 	{CTRY_GREENLAND, ETSI1_WORLD, "GL", 40, 160, 0},
379 	{CTRY_GRENADA, FCC3_FCCA, "GD", 40, 160, 0},
380 	{CTRY_GUADELOUPE, ETSI1_WORLD, "GP", 40, 160, 0},
381 	{CTRY_GUAM, FCC3_FCCA, "GU", 40, 160, 0},
382 	{CTRY_GUATEMALA, ETSI1_WORLD, "GT", 40, 160, 0},
383 	{CTRY_GUERNSEY, ETSI1_WORLD, "GG", 40, 160, 0},
384 	{CTRY_GUYANA, APL1_ETSIC, "GY", 40, 160, 0},
385 	{CTRY_HAITI, FCC3_FCCA, "HT", 40, 160, 0},
386 	{CTRY_HEARD_ISLAND_AND_MCDONALD_ISLANDS, FCC6_WORLD, "HM", 40, 160, 0},
387 	{CTRY_HOLY_SEE, ETSI1_WORLD, "VA", 40, 160, 0},
388 	{CTRY_HONDURAS, FCC3_WORLD, "HN", 40, 160, 0},
389 	{CTRY_HONG_KONG, FCC3_WORLD, "HK", 40, 160, 0},
390 	{CTRY_HUNGARY, ETSI1_WORLD, "HU", 40, 160, 0},
391 	{CTRY_ICELAND, ETSI1_WORLD, "IS", 40, 160, 0},
392 	{CTRY_INDIA, APL19_ETSIC, "IN", 40, 160, 0},
393 	{CTRY_INDONESIA, APL2_ETSIC, "ID", 40, 20, 0},
394 	{CTRY_IRAQ, ETSI1_WORLD, "IQ", 40, 160, 0},
395 	{CTRY_IRELAND, ETSI1_WORLD, "IE", 40, 160, 0},
396 	{CTRY_ISLE_OF_MAN, ETSI1_WORLD, "IM", 40, 160, 0},
397 	{CTRY_ISRAEL, ETSI3_WORLD, "IL", 40, 160, 0},
398 	{CTRY_ITALY, ETSI1_WORLD, "IT", 40, 160,  0},
399 	{CTRY_JAMAICA, FCC13_WORLD, "JM", 40, 160, 0},
400 	{CTRY_JERSEY, ETSI1_WORLD, "JE", 40, 160, 0},
401 	{CTRY_JORDAN, APL4_WORLD, "JO", 40, 160, 0},
402 	{CTRY_KAZAKHSTAN, MKK5_MKKC, "KZ", 40, 160, 0},
403 	{CTRY_KENYA, ETSI13_WORLD, "KE", 40, 160, 0},
404 	{CTRY_KOREA_ROC, APL9_MKKC, "KR", 40, 160, 0},
405 	{CTRY_KUWAIT, ETSI3_WORLD, "KW", 40, 160, 0},
406 	{CTRY_LATVIA, ETSI1_WORLD, "LV", 40, 160, 0},
407 	{CTRY_LEBANON, FCC3_WORLD, "LB", 40, 160, 0},
408 	{CTRY_LESOTHO, ETSI1_WORLD, "LS", 40, 160, 0},
409 	{CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", 40, 160, 0},
410 	{CTRY_LITHUANIA, ETSI1_WORLD, "LT", 40, 160, 0},
411 	{CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", 40, 160, 0},
412 	{CTRY_MACAU, FCC3_WORLD, "MO", 40, 160, 0},
413 	{CTRY_MACEDONIA, ETSI1_WORLD, "MK", 40, 160, 0},
414 	{CTRY_MALAWI, ETSI1_WORLD, "MW", 40, 160, 0},
415 	{CTRY_MALAYSIA, FCC11_WORLD, "MY", 40, 160, 0},
416 	{CTRY_MALDIVES, APL6_WORLD, "MV", 40, 160, 0},
417 	{CTRY_MALTA, ETSI1_WORLD, "MT", 40, 160, 0},
418 	{CTRY_MARSHALL_ISLANDS, FCC3_FCCA, "MH", 40, 160, 0},
419 	{CTRY_MARTINIQUE, ETSI1_WORLD, "MQ", 40, 160, 0},
420 	{CTRY_MAURITANIA, ETSI1_WORLD, "MR", 40, 160, 0},
421 	{CTRY_MAURITIUS, ETSI1_WORLD, "MU", 40, 160, 0},
422 	{CTRY_MAYOTTE, ETSI1_WORLD, "YT", 40, 160, 0},
423 	{CTRY_MEXICO, FCC3_ETSIC, "MX", 40, 160, 0},
424 	{CTRY_MICRONESIA, FCC3_FCCA, "FM", 40, 160, 0},
425 	{CTRY_MOLDOVA, ETSI1_WORLD, "MD", 40, 160, 0},
426 	{CTRY_MONACO, ETSI1_WORLD, "MC", 40, 160, 0},
427 	{CTRY_MONGOLIA, FCC3_WORLD, "MN", 40, 160, 0},
428 	{CTRY_MONTENEGRO, ETSI1_WORLD, "ME", 40, 160, 0},
429 	{CTRY_MONTSERRAT, ETSI1_WORLD, "MS", 40, 160, 0},
430 	{CTRY_MOROCCO, ETSI3_WORLD, "MA", 40, 160, 0},
431 	{CTRY_MYANMAR, APL1_WORLD, "MM", 40, 160, 0},
432 	{CTRY_NAMIBIA, APL20_WORLD, "NA", 40, 160, 0},
433 	{CTRY_NEPAL, APL23_WORLD, "NP", 40, 160, 0},
434 	{CTRY_NETHERLANDS, ETSI1_WORLD, "NL", 40, 160, 0},
435 	{CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN", 40, 160, 0},
436 	{CTRY_NEW_CALEDONIA, ETSI1_WORLD, "NC", 40, 160, 0},
437 	{CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", 40, 160, 0},
438 	{CTRY_NIGERIA, APL8_WORLD, "NG", 40, 160, 0},
439 	{CTRY_NORTHERN_MARIANA_ISLANDS, FCC3_FCCA, "MP", 40, 160, 0},
440 	{CTRY_NICARAGUA, FCC3_FCCA, "NI", 40, 160, 0},
441 	{CTRY_NIUE, ETSI1_WORLD, "NU", 40, 160, 0},
442 	{CTRY_NORFOLK_ISLAND, FCC6_WORLD, "NF", 40, 160, 0},
443 	{CTRY_NORWAY, ETSI1_WORLD, "NO", 40, 160, 0},
444 	{CTRY_OMAN, ETSI1_WORLD, "OM", 40, 160, 0},
445 	{CTRY_PAKISTAN, APL1_ETSIC, "PK", 40, 160, 0},
446 	{CTRY_PALAU, FCC3_FCCA, "PW", 40, 160, 0},
447 	{CTRY_PANAMA, FCC14_FCCB, "PA", 40, 160, 0},
448 	{CTRY_PAPUA_NEW_GUINEA, FCC3_WORLD, "PG", 40, 160, 0},
449 	{CTRY_PARAGUAY, FCC3_WORLD, "PY", 40, 160, 0},
450 	{CTRY_PERU, FCC3_WORLD, "PE", 40, 160, 0},
451 	{CTRY_PHILIPPINES, FCC3_WORLD, "PH", 40, 160, 0},
452 	{CTRY_POLAND, ETSI1_WORLD, "PL", 40, 160, 0},
453 	{CTRY_PORTUGAL, ETSI1_WORLD, "PT", 40, 160, 0},
454 	{CTRY_PUERTO_RICO, FCC3_FCCA, "PR", 40, 160, 0},
455 	{CTRY_QATAR, ETSI14_WORLD, "QA", 40, 160, 0},
456 	{CTRY_REUNION, ETSI1_WORLD, "RE", 40, 160, 0},
457 	{CTRY_ROMANIA, ETSI1_WORLD, "RO", 40, 160, 0},
458 	{CTRY_RUSSIA, ETSI8_WORLD, "RU", 40, 160, 0},
459 	{CTRY_RWANDA, FCC3_WORLD, "RW", 40, 160, 0},
460 	{CTRY_SAINT_BARTHELEMY, ETSI1_WORLD, "BL", 40, 160, 0},
461 	{CTRY_SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, ETSI1_WORLD, "SH",
462 	 40, 160, 0},
463 	{CTRY_SAINT_KITTS_AND_NEVIS, APL10_WORLD, "KN", 40, 160, 0},
464 	{CTRY_SAINT_LUCIA, APL10_WORLD, "LC", 40, 160, 0},
465 	{CTRY_SAINT_MARTIN, ETSI1_WORLD, "MF", 40, 160, 0},
466 	{CTRY_SAINT_PIERRE_AND_MIQUELON, ETSI1_WORLD, "PM", 40, 160, 0},
467 	{CTRY_SAINT_VINCENT_AND_THE_GRENADIENS, ETSI1_WORLD,
468 	 "VC" , 40, 160, 0},
469 	{CTRY_SAMOA, ETSI1_WORLD, "WS", 40, 40, 0},
470 	{CTRY_SAN_MARINO, FCC3_FCCA, "SM", 40, 160, 0},
471 	{CTRY_SAO_TOME_AND_PRINCIPE, FCC3_WORLD, "ST", 40, 160, 0},
472 	{CTRY_SAUDI_ARABIA, ETSI15_WORLD, "SA", 40, 160, 0},
473 	{CTRY_SENEGAL, FCC13_WORLD, "SN", 40, 160, 0},
474 	{CTRY_SERBIA, ETSI1_WORLD, "RS", 40, 160, 0},
475 	{CTRY_SINGAPORE, FCC3_WORLD, "SG", 40, 160, 0},
476 	{CTRY_SINT_MAARTEN, ETSI1_WORLD, "SX", 40, 160, 0},
477 	{CTRY_SLOVAKIA, ETSI1_WORLD, "SK", 40, 160, 0},
478 	{CTRY_SLOVENIA, ETSI1_WORLD, "SI", 40, 160, 0},
479 	{CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", 40, 160, 0},
480 	{CTRY_SPAIN, ETSI1_WORLD, "ES", 40, 160, 0},
481 	{CTRY_SURINAME, ETSI1_WORLD, "SR", 40, 160, 0},
482 	{CTRY_SRI_LANKA, FCC3_WORLD, "LK", 40, 20, 0},
483 	{CTRY_SVALBARD_AND_JAN_MAYEN, FCC6_WORLD, "SJ", 40, 160, 0},
484 	{CTRY_SWEDEN, ETSI1_WORLD, "SE", 40, 160, 0},
485 	{CTRY_SWITZERLAND, ETSI1_WORLD, "CH", 40, 160, 0},
486 	{CTRY_TAIWAN, FCC3_FCCA, "TW", 40, 160, 0},
487 	{CTRY_TANZANIA, APL1_WORLD, "TZ", 40, 160, 0},
488 	{CTRY_THAILAND, FCC3_WORLD, "TH", 40, 160, 0},
489 	{CTRY_TOGO, ETSI1_WORLD, "TG", 40, 40, 0},
490 	{CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", 40, 160, 0},
491 	{CTRY_TUNISIA, ETSI3_WORLD, "TN", 40, 160, 0},
492 	{CTRY_TURKEY, ETSI1_WORLD, "TR", 40, 160, 0},
493 	{CTRY_TURKS_AND_CAICOS, FCC3_WORLD, "TC", 40, 160, 0},
494 	{CTRY_UGANDA, FCC3_WORLD, "UG", 40, 160, 0},
495 	{CTRY_UKRAINE, ETSI9_WORLD, "UA", 40, 160, 0},
496 	{CTRY_UAE, FCC3_WORLD, "AE", 40, 160, 0},
497 	{CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", 40, 160, 0},
498 	{CTRY_UNITED_STATES, FCC8_FCCA, "US", 40, 160, 0},
499 	{CTRY_UNITED_STATES_MINOR_OUTLYING_ISLANDS, FCC8_FCCA, "UM", 40, 160,
500 	 0},
501 	{CTRY_URUGUAY, FCC2_WORLD, "UY", 40, 160, 0},
502 	{CTRY_UZBEKISTAN, ETSI3_WORLD, "UZ", 40, 160, 0},
503 	{CTRY_VANUATU, FCC3_WORLD, "VU", 40, 160, 0},
504 	{CTRY_VENEZUELA, FCC2_ETSIC, "VE", 40, 160, 0},
505 	{CTRY_VIET_NAM, FCC3_WORLD, "VN", 40, 80, 0},
506 	{CTRY_VIRGIN_ISLANDS, FCC3_FCCA, "VI", 40, 160, 0},
507 	{CTRY_VIRGIN_ISLANDS_BRITISH, ETSI1_WORLD, "VG", 40, 160, 0},
508 	{CTRY_WALLIS_AND_FUTUNA, ETSI1_WORLD, "WF", 40, 160, 0},
509 	{CTRY_YEMEN, NULL1_WORLD, "YE", 40, 0, 0},
510 	{CTRY_ZIMBABWE, ETSI1_WORLD, "ZW", 40, 160, 0},
511 	{CTRY_JAPAN, MKK5_MKKC, "JP", 40, 160, 0},
512 	{CTRY_JAPAN15, MKK5_MKKC, "JP", 40, 160, 0},
513 };
514 #else
515 #ifdef WLAN_FEATURE_DSRC
516 const struct country_code_to_reg_domain g_all_countries[] = {
517 	{CTRY_AFGHANISTAN, ETSI1_WORLD, "AF", 40, 160, 0},
518 	{CTRY_ALAND_ISLANDS, FCC3_WORLD, "AX", 40, 160, 0},
519 	{CTRY_ALBANIA, ETSI13_WORLD, "AL", 40, 160, 0},
520 	{CTRY_ALGERIA, APL13_WORLD, "DZ", 40, 160, 0},
521 	{CTRY_AMERICAN_SAMOA, FCC3_FCCA, "AS", 40, 160, 0},
522 	{CTRY_ANDORRA, ETSI3_WORLD, "AD", 40, 160, 0},
523 	{CTRY_ANGUILLA, ETSI1_WORLD, "AI", 40, 160, 0},
524 	{CTRY_ANTIGUA_AND_BARBUDA, ETSI10_WORLD, "AG", 40, 160, 0},
525 	{CTRY_ARGENTINA, APL17_ETSID, "AR", 40, 160, 0},
526 	{CTRY_ARMENIA, ETSI4_WORLD, "AM", 40, 20, 0},
527 	{CTRY_ARUBA, ETSI1_WORLD, "AW", 40, 160, 0},
528 	{CTRY_AUSTRALIA, FCC6_WORLD, "AU", 40, 160, 0},
529 	{CTRY_AUSTRIA, ETSI10_WORLD, "AT", 40, 160, 0},
530 	{CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", 40, 160, 0},
531 	{CTRY_BAHAMAS, FCC3_WORLD, "BS", 40, 160, 0},
532 	{CTRY_BAHRAIN, APL15_WORLD, "BH", 40, 20, 0},
533 	{CTRY_BANGLADESH, APL1_WORLD, "BD", 40, 160, 0},
534 	{CTRY_BARBADOS, FCC2_WORLD, "BB", 40, 160, 0},
535 	{CTRY_BELARUS, ETSI1_WORLD, "BY", 40, 160, 0},
536 	{CTRY_BELGIUM, ETSI10_WORLD, "BE", 40, 160, 0},
537 	{CTRY_BELIZE, ETSI8_WORLD, "BZ", 40, 160, 0},
538 	{CTRY_BERMUDA, FCC3_FCCA, "BM", 40, 160, 0},
539 	{CTRY_BHUTAN, ETSI1_WORLD, "BT", 40, 160, 0},
540 	{CTRY_BOLIVIA, APL8_WORLD, "BO", 40, 160, 0},
541 	{CTRY_BOSNIA_HERZ, ETSI13_WORLD, "BA", 40, 160, 0},
542 	{CTRY_BRAZIL, FCC3_ETSIC, "BR", 40, 160, 0},
543 	{CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN", 40, 160, 0},
544 	{CTRY_BULGARIA, ETSI10_WORLD, "BG", 40, 160, 0},
545 	{CTRY_BURKINA_FASO, FCC3_WORLD, "BF", 40, 160, 0},
546 	{CTRY_CAMBODIA, ETSI1_WORLD, "KH", 40, 160, 0},
547 	{CTRY_CAMEROON, ETSI1_WORLD, "CM", 40, 160, 0},
548 	{CTRY_CANADA, FCC3_FCCA, "CA", 40, 160, 0},
549 	{CTRY_CAYMAN_ISLANDS, FCC3_WORLD, "KY", 40, 160, 0},
550 	{CTRY_CENTRAL_AFRICA_REPUBLIC, FCC3_WORLD, "CF", 40, 40, 0},
551 	{CTRY_CHAD, ETSI1_WORLD, "TD", 40, 160, 0},
552 	{CTRY_CHILE, FCC13_WORLD, "CL", 40, 160, 0},
553 	{CTRY_CHINA, APL14_WORLD, "CN", 40, 160, 0},
554 	{CTRY_CHRISTMAS_ISLAND, FCC3_WORLD, "CX", 40, 160, 0},
555 	{CTRY_COLOMBIA, FCC3_WORLD, "CO", 40, 160, 0},
556 	{CTRY_COOK_ISLANDS, FCC3_WORLD, "CK", 40, 160, 0},
557 	{CTRY_COSTA_RICA, FCC3_WORLD, "CR", 40, 160, 0},
558 	{CTRY_COTE_DIVOIRE, FCC3_WORLD, "CI", 40, 160, 0},
559 	{CTRY_CROATIA, ETSI10_WORLD, "HR", 40, 160, 0},
560 	{CTRY_CYPRUS, ETSI10_WORLD, "CY", 40, 160, 0},
561 	{CTRY_CZECH, ETSI10_WORLD, "CZ", 40, 160, 0},
562 	{CTRY_DENMARK, ETSI10_WORLD, "DK", 40, 160,  0},
563 	{CTRY_DOMINICA, FCC2_FCCA, "DM", 40, 160, 0},
564 	{CTRY_DOMINICAN_REPUBLIC, FCC3_FCCA, "DO", 40, 160, 0},
565 	{CTRY_ECUADOR, FCC3_WORLD, "EC", 40, 20, 0},
566 	{CTRY_EGYPT, ETSI3_WORLD, "EG", 40, 160, 0},
567 	{CTRY_EL_SALVADOR, FCC2_WORLD, "SV", 40, 20, 0},
568 	{CTRY_ESTONIA, ETSI10_WORLD, "EE", 40, 160, 0},
569 	{CTRY_ETHIOPIA, ETSI1_WORLD, "ET", 40, 160, 0},
570 	{CTRY_FALKLAND_ISLANDS, ETSI10_WORLD, "FK", 40, 160, 0},
571 	{CTRY_FAROE_ISLANDS, ETSI10_WORLD, "FO", 40, 160, 0},
572 	{CTRY_FINLAND, ETSI10_WORLD, "FI", 40, 160, 0},
573 	{CTRY_FRANCE, ETSI10_WORLD, "FR", 40, 160, 0},
574 	{CTRY_FRENCH_GUIANA, ETSI10_WORLD, "GF", 40, 160, 0},
575 	{CTRY_FRENCH_POLYNESIA, ETSI10_WORLD, "PF", 40, 160, 0},
576 	{CTRY_FRENCH_SOUTHERN_TERRITORIES, ETSI10_WORLD, "TF", 40, 160, 0},
577 	{CTRY_GEORGIA, ETSI1_WORLD, "GE", 40, 160, 0},
578 	{CTRY_GERMANY, ETSI10_WORLD, "DE", 40, 160, 0},
579 	{CTRY_GHANA, FCC3_WORLD, "GH", 40, 160, 0},
580 	{CTRY_GIBRALTAR, ETSI10_WORLD, "GI", 40, 160, 0},
581 	{CTRY_GREECE, ETSI10_WORLD, "GR", 40, 160, 0},
582 	{CTRY_GREENLAND, ETSI10_WORLD, "GL", 40, 160, 0},
583 	{CTRY_GRENADA, FCC3_FCCA, "GD", 40, 160, 0},
584 	{CTRY_GUADELOUPE, ETSI1_WORLD, "GP", 40, 160, 0},
585 	{CTRY_GUAM, FCC10_FCCA, "GU", 40, 160, 0},
586 	{CTRY_GUATEMALA, ETSI1_WORLD, "GT", 40, 160, 0},
587 	{CTRY_GUERNSEY, ETSI10_WORLD, "GG", 40, 160, 0},
588 	{CTRY_GUYANA, APL1_ETSIC, "GY", 40, 160, 0},
589 	{CTRY_HAITI, FCC3_FCCA, "HT", 40, 160, 0},
590 	{CTRY_HEARD_ISLAND_AND_MCDONALD_ISLANDS, FCC6_WORLD, "HM", 40, 160, 0},
591 	{CTRY_HOLY_SEE, ETSI10_WORLD, "VA", 40, 160, 0},
592 	{CTRY_HONDURAS, FCC13_WORLD, "HN", 40, 160, 0},
593 	{CTRY_HONG_KONG, FCC3_WORLD, "HK", 40, 160, 0},
594 	{CTRY_HUNGARY, ETSI10_WORLD, "HU", 40, 160, 0},
595 	{CTRY_ICELAND, ETSI10_WORLD, "IS", 40, 160, 0},
596 	{CTRY_INDIA, APL15_WORLD, "IN", 40, 160, 0},
597 	{CTRY_INDONESIA, APL2_ETSIC, "ID", 40, 20, 0},
598 	{CTRY_IRAQ, ETSI1_WORLD, "IQ", 40, 160, 0},
599 	{CTRY_IRELAND, ETSI10_WORLD, "IE", 40, 160, 0},
600 	{CTRY_ISLE_OF_MAN, ETSI10_WORLD, "IM", 40, 160, 0},
601 	{CTRY_ISRAEL, ETSI3_WORLD, "IL", 40, 160, 0},
602 	{CTRY_ITALY, ETSI10_WORLD, "IT", 40, 160,  0},
603 	{CTRY_JAMAICA, FCC13_WORLD, "JM", 40, 160, 0},
604 	{CTRY_JERSEY, ETSI10_WORLD, "JE", 40, 160, 0},
605 	{CTRY_JORDAN, APL4_WORLD, "JO", 40, 160, 0},
606 	{CTRY_KAZAKHSTAN, MKK5_MKKC, "KZ", 40, 160, 0},
607 	{CTRY_KENYA, ETSI13_WORLD, "KE", 40, 160, 0},
608 	{CTRY_KOREA_ROC, APL9_MKKC, "KR", 40, 160, 0},
609 	{CTRY_KUWAIT, ETSI3_WORLD, "KW", 40, 160, 0},
610 	{CTRY_LATVIA, ETSI10_WORLD, "LV", 40, 160, 0},
611 	{CTRY_LEBANON, FCC3_WORLD, "LB", 40, 160, 0},
612 	{CTRY_LESOTHO, ETSI1_WORLD, "LS", 40, 160, 0},
613 	{CTRY_LIECHTENSTEIN, ETSI10_WORLD, "LI", 40, 160, 0},
614 	{CTRY_LITHUANIA, ETSI10_WORLD, "LT", 40, 160, 0},
615 	{CTRY_LUXEMBOURG, ETSI10_WORLD, "LU", 40, 160, 0},
616 	{CTRY_MACAU, FCC3_WORLD, "MO", 40, 160, 0},
617 	{CTRY_MACEDONIA, ETSI13_WORLD, "MK", 40, 160, 0},
618 	{CTRY_MALAWI, ETSI1_WORLD, "MW", 40, 160, 0},
619 	{CTRY_MALAYSIA, FCC11_WORLD, "MY", 40, 160, 0},
620 	{CTRY_MALDIVES, APL6_WORLD, "MV", 40, 160, 0},
621 	{CTRY_MALTA, ETSI10_WORLD, "MT", 40, 160, 0},
622 	{CTRY_MARSHALL_ISLANDS, FCC3_FCCA, "MH", 40, 160, 0},
623 	{CTRY_MARTINIQUE, ETSI10_WORLD, "MQ", 40, 160, 0},
624 	{CTRY_MAURITANIA, ETSI1_WORLD, "MR", 40, 160, 0},
625 	{CTRY_MAURITIUS, ETSI13_WORLD, "MU", 40, 160, 0},
626 	{CTRY_MAYOTTE, ETSI1_WORLD, "YT", 40, 160, 0},
627 	{CTRY_MEXICO, FCC3_ETSIC, "MX", 40, 160, 0},
628 	{CTRY_MICRONESIA, FCC3_FCCA, "FM", 40, 160, 0},
629 	{CTRY_MOLDOVA, ETSI13_WORLD, "MD", 40, 160, 0},
630 	{CTRY_MONACO, ETSI10_WORLD, "MC", 40, 160, 0},
631 	{CTRY_MONGOLIA, FCC3_WORLD, "MN", 40, 160, 0},
632 	{CTRY_MONTENEGRO, ETSI10_WORLD, "ME", 40, 160, 0},
633 	{CTRY_MONTSERRAT, ETSI10_WORLD, "MS", 40, 160, 0},
634 	{CTRY_MOROCCO, ETSI3_WORLD, "MA", 40, 160, 0},
635 	{CTRY_MYANMAR, APL1_WORLD, "MM", 40, 160, 0},
636 	{CTRY_NAMIBIA, APL20_WORLD, "NA", 40, 160, 0},
637 	{CTRY_NEPAL, APL23_WORLD, "NP", 40, 160, 0},
638 	{CTRY_NETHERLANDS, ETSI10_WORLD, "NL", 40, 160, 0},
639 	{CTRY_NETHERLANDS_ANTILLES, ETSI10_WORLD, "AN", 40, 160, 0},
640 	{CTRY_NEW_CALEDONIA, ETSI10_WORLD, "NC", 40, 160, 0},
641 	{CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", 40, 160, 0},
642 	{CTRY_NIGERIA, APL8_WORLD, "NG", 40, 160, 0},
643 	{CTRY_NORTHERN_MARIANA_ISLANDS, FCC10_FCCA, "MP", 40, 160, 0},
644 	{CTRY_NICARAGUA, FCC3_FCCA, "NI", 40, 160, 0},
645 	{CTRY_NIUE, ETSI10_WORLD, "NU", 40, 160, 0},
646 	{CTRY_NORFOLK_ISLAND, FCC6_WORLD, "NF", 40, 160, 0},
647 	{CTRY_NORWAY, ETSI10_WORLD, "NO", 40, 160, 0},
648 	{CTRY_OMAN, ETSI1_WORLD, "OM", 40, 160, 0},
649 	{CTRY_PAKISTAN, APL1_ETSIC, "PK", 40, 160, 0},
650 	{CTRY_PALAU, FCC3_FCCA, "PW", 40, 160, 0},
651 	{CTRY_PANAMA, FCC14_FCCB, "PA", 40, 160, 0},
652 	{CTRY_PAPUA_NEW_GUINEA, FCC3_WORLD, "PG", 40, 160, 0},
653 	{CTRY_PARAGUAY, FCC3_WORLD, "PY", 40, 160, 0},
654 	{CTRY_PERU, FCC3_WORLD, "PE", 40, 160, 0},
655 	{CTRY_PHILIPPINES, FCC3_WORLD, "PH", 40, 160, 0},
656 	{CTRY_POLAND, ETSI10_WORLD, "PL", 40, 160, 0},
657 	{CTRY_PORTUGAL, ETSI10_WORLD, "PT", 40, 160, 0},
658 	{CTRY_PUERTO_RICO, FCC10_FCCA, "PR", 40, 160, 0},
659 	{CTRY_QATAR, ETSI14_WORLD, "QA", 40, 160, 0},
660 	{CTRY_REUNION, ETSI1_WORLD, "RE", 40, 160, 0},
661 	{CTRY_ROMANIA, ETSI10_WORLD, "RO", 40, 160, 0},
662 	{CTRY_RUSSIA, ETSI8_WORLD, "RU", 40, 160, 0},
663 	{CTRY_RWANDA, FCC3_WORLD, "RW", 40, 160, 0},
664 	{CTRY_SAINT_BARTHELEMY, ETSI1_WORLD, "BL", 40, 160, 0},
665 	{CTRY_SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, ETSI10_WORLD, "SH",
666 	 40, 160, 0},
667 	{CTRY_SAINT_KITTS_AND_NEVIS, APL10_WORLD, "KN", 40, 160, 0},
668 	{CTRY_SAINT_LUCIA, APL10_WORLD, "LC", 40, 160, 0},
669 	{CTRY_SAINT_MARTIN, ETSI1_WORLD, "MF", 40, 160, 0},
670 	{CTRY_SAINT_PIERRE_AND_MIQUELON, ETSI13_WORLD, "PM", 40, 160, 0},
671 	{CTRY_SAINT_VINCENT_AND_THE_GRENADIENS, ETSI13_WORLD, "VC",
672 	 40, 160, 0},
673 	{CTRY_SAMOA, ETSI1_WORLD, "WS", 40, 40, 0},
674 	{CTRY_SAN_MARINO, FCC3_FCCA, "SM", 40, 160, 0},
675 	{CTRY_SAO_TOME_AND_PRINCIPE, FCC3_WORLD, "ST", 40, 160, 0},
676 	{CTRY_SAUDI_ARABIA, ETSI15_WORLD, "SA", 40, 160, 0},
677 	{CTRY_SENEGAL, FCC13_WORLD, "SN", 40, 160, 0},
678 	{CTRY_SERBIA, ETSI13_WORLD, "RS", 40, 160, 0},
679 	{CTRY_SINGAPORE, FCC3_WORLD, "SG", 40, 160, 0},
680 	{CTRY_SINT_MAARTEN, ETSI10_WORLD, "SX", 40, 160, 0},
681 	{CTRY_SLOVAKIA, ETSI10_WORLD, "SK", 40, 160, 0},
682 	{CTRY_SLOVENIA, ETSI10_WORLD, "SI", 40, 160, 0},
683 	{CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", 40, 160, 0},
684 	{CTRY_SPAIN, ETSI10_WORLD, "ES", 40, 160, 0},
685 	{CTRY_SURINAME, ETSI1_WORLD, "SR", 40, 160, 0},
686 	{CTRY_SRI_LANKA, FCC3_WORLD, "LK", 40, 20, 0},
687 	{CTRY_SVALBARD_AND_JAN_MAYEN, FCC6_WORLD, "SJ", 40, 160, 0},
688 	{CTRY_SWEDEN, ETSI10_WORLD, "SE", 40, 160, 0},
689 	{CTRY_SWITZERLAND, ETSI10_WORLD, "CH", 40, 160, 0},
690 	{CTRY_TAIWAN, FCC3_FCCA, "TW", 40, 160, 0},
691 	{CTRY_TANZANIA, APL1_WORLD, "TZ", 40, 160, 0},
692 	{CTRY_THAILAND, FCC3_WORLD, "TH", 40, 160, 0},
693 	{CTRY_TOGO, ETSI1_WORLD, "TG", 40, 40, 0},
694 	{CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", 40, 160, 0},
695 	{CTRY_TUNISIA, ETSI3_WORLD, "TN", 40, 160, 0},
696 	{CTRY_TURKEY, ETSI13_WORLD, "TR", 40, 160, 0},
697 	{CTRY_TURKS_AND_CAICOS, FCC3_WORLD, "TC", 40, 160, 0},
698 	{CTRY_UGANDA, FCC3_WORLD, "UG", 40, 160, 0},
699 	{CTRY_UKRAINE, ETSI9_WORLD, "UA", 40, 160, 0},
700 	{CTRY_UAE, FCC3_WORLD, "AE", 40, 160, 0},
701 	{CTRY_UNITED_KINGDOM, ETSI10_WORLD, "GB", 40, 160, 0},
702 	{CTRY_UNITED_STATES, FCC10_FCCA, "US", 40, 160, 0},
703 	{CTRY_UNITED_STATES_MINOR_OUTLYING_ISLANDS, FCC10_FCCA, "UM", 40, 160,
704 	 0},
705 	{CTRY_URUGUAY, FCC2_WORLD, "UY", 40, 160, 0},
706 	{CTRY_UZBEKISTAN, ETSI3_WORLD, "UZ", 40, 160, 0},
707 	{CTRY_VANUATU, FCC3_WORLD, "VU", 40, 160, 0},
708 	{CTRY_VENEZUELA, FCC2_ETSIC, "VE", 40, 160, 0},
709 	{CTRY_VIET_NAM, FCC3_WORLD, "VN", 40, 80, 0},
710 	{CTRY_VIRGIN_ISLANDS, FCC10_FCCA, "VI", 40, 160, 0},
711 	{CTRY_VIRGIN_ISLANDS_BRITISH, ETSI10_WORLD, "VG", 40, 160, 0},
712 	{CTRY_WALLIS_AND_FUTUNA, ETSI1_WORLD, "WF", 40, 160, 0},
713 	{CTRY_YEMEN, NULL1_WORLD, "YE", 40, 0, 0},
714 	{CTRY_ZIMBABWE, ETSI1_WORLD, "ZW", 40, 160, 0},
715 	{CTRY_JAPAN, MKK5_MKKC, "JP", 40, 160, 0},
716 	{CTRY_XA, MKK5_MKKA, "XA", 40, 160, 0},
717 };
718 #else
719 const struct country_code_to_reg_domain g_all_countries[] = {
720 	{CTRY_AFGHANISTAN, ETSI1_WORLD, "AF", 40, 160, 0},
721 	{CTRY_ALAND_ISLANDS, FCC3_WORLD, "AX", 40, 160, 0},
722 	{CTRY_ALBANIA, ETSI13_WORLD, "AL", 40, 160, 0},
723 	{CTRY_ALGERIA, APL13_WORLD, "DZ", 40, 160, 0},
724 	{CTRY_AMERICAN_SAMOA, FCC3_FCCA, "AS", 40, 160, 0},
725 	{CTRY_ANDORRA, ETSI3_WORLD, "AD", 40, 160, 0},
726 	{CTRY_ANGUILLA, ETSI1_WORLD, "AI", 40, 160, 0},
727 	{CTRY_ANTIGUA_AND_BARBUDA, ETSI13_WORLD, "AG", 40, 160, 0},
728 	{CTRY_ARGENTINA, APL17_ETSID, "AR", 40, 160, 0},
729 	{CTRY_ARMENIA, ETSI4_WORLD, "AM", 40, 20, 0},
730 	{CTRY_ARUBA, ETSI1_WORLD, "AW", 40, 160, 0},
731 	{CTRY_AUSTRALIA, FCC6_WORLD, "AU", 40, 160, 0},
732 	{CTRY_AUSTRIA, ETSI13_WORLD, "AT", 40, 160, 0},
733 	{CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", 40, 160, 0},
734 	{CTRY_BAHAMAS, FCC3_WORLD, "BS", 40, 160, 0},
735 	{CTRY_BAHRAIN, APL15_WORLD, "BH", 40, 20, 0},
736 	{CTRY_BANGLADESH, APL1_WORLD, "BD", 40, 160, 0},
737 	{CTRY_BARBADOS, FCC2_WORLD, "BB", 40, 160, 0},
738 	{CTRY_BELARUS, ETSI1_WORLD, "BY", 40, 160, 0},
739 	{CTRY_BELGIUM, ETSI13_WORLD, "BE", 40, 160, 0},
740 	{CTRY_BELIZE, ETSI8_WORLD, "BZ", 40, 160, 0},
741 	{CTRY_BERMUDA, FCC3_FCCA, "BM", 40, 160, 0},
742 	{CTRY_BHUTAN, ETSI1_WORLD, "BT", 40, 160, 0},
743 	{CTRY_BOLIVIA, APL8_WORLD, "BO", 40, 160, 0},
744 	{CTRY_BOSNIA_HERZ, ETSI13_WORLD, "BA", 40, 160, 0},
745 	{CTRY_BRAZIL, FCC3_ETSIC, "BR", 40, 160, 0},
746 	{CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN", 40, 160, 0},
747 	{CTRY_BULGARIA, ETSI13_WORLD, "BG", 40, 160, 0},
748 	{CTRY_BURKINA_FASO, FCC3_WORLD, "BF", 40, 160, 0},
749 	{CTRY_CAMBODIA, ETSI1_WORLD, "KH", 40, 160, 0},
750 	{CTRY_CAMEROON, ETSI1_WORLD, "CM", 40, 160, 0},
751 	{CTRY_CANADA, FCC6_FCCA, "CA", 40, 160, 0},
752 	{CTRY_CAYMAN_ISLANDS, FCC3_WORLD, "KY", 40, 160, 0},
753 	{CTRY_CENTRAL_AFRICA_REPUBLIC, FCC3_WORLD, "CF", 40, 40, 0},
754 	{CTRY_CHAD, ETSI1_WORLD, "TD", 40, 160, 0},
755 	{CTRY_CHILE, FCC13_WORLD, "CL", 40, 160, 0},
756 	{CTRY_CHINA, APL14_WORLD, "CN", 40, 160, 0},
757 	{CTRY_CHRISTMAS_ISLAND, FCC3_WORLD, "CX", 40, 160, 0},
758 	{CTRY_COLOMBIA, FCC3_WORLD, "CO", 40, 160, 0},
759 	{CTRY_COOK_ISLANDS, FCC3_WORLD, "CK", 40, 160, 0},
760 	{CTRY_COSTA_RICA, FCC3_WORLD, "CR", 40, 160, 0},
761 	{CTRY_COTE_DIVOIRE, FCC3_WORLD, "CI", 40, 160, 0},
762 	{CTRY_CROATIA, ETSI13_WORLD, "HR", 40, 160, 0},
763 	{CTRY_CYPRUS, ETSI13_WORLD, "CY", 40, 160, 0},
764 	{CTRY_CZECH, ETSI13_WORLD, "CZ", 40, 160, 0},
765 	{CTRY_DENMARK, ETSI13_WORLD, "DK", 40, 160,  0},
766 	{CTRY_DOMINICA, FCC2_FCCA, "DM", 40, 160, 0},
767 	{CTRY_DOMINICAN_REPUBLIC, FCC3_FCCA, "DO", 40, 160, 0},
768 	{CTRY_ECUADOR, FCC3_WORLD, "EC", 40, 20, 0},
769 	{CTRY_EGYPT, ETSI3_WORLD, "EG", 40, 160, 0},
770 	{CTRY_EL_SALVADOR, FCC2_WORLD, "SV", 40, 20, 0},
771 	{CTRY_ESTONIA, ETSI13_WORLD, "EE", 40, 160, 0},
772 	{CTRY_ETHIOPIA, ETSI1_WORLD, "ET", 40, 160, 0},
773 	{CTRY_FALKLAND_ISLANDS, ETSI13_WORLD, "FK", 40, 160, 0},
774 	{CTRY_FAROE_ISLANDS, ETSI13_WORLD, "FO", 40, 160, 0},
775 	{CTRY_FINLAND, ETSI13_WORLD, "FI", 40, 160, 0},
776 	{CTRY_FRANCE, ETSI13_WORLD, "FR", 40, 160, 0},
777 	{CTRY_FRENCH_GUIANA, ETSI13_WORLD, "GF", 40, 160, 0},
778 	{CTRY_FRENCH_POLYNESIA, ETSI13_WORLD, "PF", 40, 160, 0},
779 	{CTRY_FRENCH_SOUTHERN_TERRITORIES, ETSI13_WORLD, "TF", 40, 160, 0},
780 	{CTRY_GEORGIA, ETSI1_WORLD, "GE", 40, 160, 0},
781 	{CTRY_GERMANY, ETSI13_WORLD, "DE", 40, 160, 0},
782 	{CTRY_GHANA, FCC3_WORLD, "GH", 40, 160, 0},
783 	{CTRY_GIBRALTAR, ETSI1_WORLD, "GI", 40, 160, 0},
784 	{CTRY_GREECE, ETSI13_WORLD, "GR", 40, 160, 0},
785 	{CTRY_GREENLAND, ETSI1_WORLD, "GL", 40, 160, 0},
786 	{CTRY_GRENADA, FCC3_FCCA, "GD", 40, 160, 0},
787 	{CTRY_GUADELOUPE, ETSI1_WORLD, "GP", 40, 160, 0},
788 	{CTRY_GUAM, FCC3_FCCA, "GU", 40, 160, 0},
789 	{CTRY_GUATEMALA, ETSI1_WORLD, "GT", 40, 160, 0},
790 	{CTRY_GUERNSEY, ETSI13_WORLD, "GG", 40, 160, 0},
791 	{CTRY_GUYANA, APL1_ETSIC, "GY", 40, 160, 0},
792 	{CTRY_HAITI, FCC3_FCCA, "HT", 40, 160, 0},
793 	{CTRY_HEARD_ISLAND_AND_MCDONALD_ISLANDS, FCC6_WORLD, "HM", 40, 160, 0},
794 	{CTRY_HOLY_SEE, ETSI13_WORLD, "VA", 40, 160, 0},
795 	{CTRY_HONDURAS, FCC13_WORLD, "HN", 40, 160, 0},
796 	{CTRY_HONG_KONG, FCC3_WORLD, "HK", 40, 160, 0},
797 	{CTRY_HUNGARY, ETSI13_WORLD, "HU", 40, 160, 0},
798 	{CTRY_ICELAND, ETSI13_WORLD, "IS", 40, 160, 0},
799 	{CTRY_INDIA, APL19_ETSIC, "IN", 40, 160, 0},
800 	{CTRY_INDONESIA, APL2_ETSIC, "ID", 40, 20, 0},
801 	{CTRY_IRAQ, ETSI1_WORLD, "IQ", 40, 160, 0},
802 	{CTRY_IRELAND, ETSI13_WORLD, "IE", 40, 160, 0},
803 	{CTRY_ISLE_OF_MAN, ETSI13_WORLD, "IM", 40, 160, 0},
804 	{CTRY_ISRAEL, ETSI3_WORLD, "IL", 40, 160, 0},
805 	{CTRY_ITALY, ETSI13_WORLD, "IT", 40, 160,  0},
806 	{CTRY_JAMAICA, FCC13_WORLD, "JM", 40, 160, 0},
807 	{CTRY_JERSEY, ETSI13_WORLD, "JE", 40, 160, 0},
808 	{CTRY_JORDAN, APL4_WORLD, "JO", 40, 160, 0},
809 	{CTRY_KAZAKHSTAN, MKK5_MKKC, "KZ", 40, 160, 0},
810 	{CTRY_KENYA, ETSI13_WORLD, "KE", 40, 160, 0},
811 	{CTRY_KOREA_ROC, APL9_MKKC, "KR", 40, 160, 0},
812 	{CTRY_KUWAIT, ETSI3_WORLD, "KW", 40, 160, 0},
813 	{CTRY_LATVIA, ETSI13_WORLD, "LV", 40, 160, 0},
814 	{CTRY_LEBANON, FCC3_WORLD, "LB", 40, 160, 0},
815 	{CTRY_LESOTHO, ETSI1_WORLD, "LS", 40, 160, 0},
816 	{CTRY_LIECHTENSTEIN, ETSI13_WORLD, "LI", 40, 160, 0},
817 	{CTRY_LITHUANIA, ETSI13_WORLD, "LT", 40, 160, 0},
818 	{CTRY_LUXEMBOURG, ETSI13_WORLD, "LU", 40, 160, 0},
819 	{CTRY_MACAU, FCC3_WORLD, "MO", 40, 160, 0},
820 	{CTRY_MACEDONIA, ETSI13_WORLD, "MK", 40, 160, 0},
821 	{CTRY_MALAWI, ETSI1_WORLD, "MW", 40, 160, 0},
822 	{CTRY_MALAYSIA, FCC11_WORLD, "MY", 40, 160, 0},
823 	{CTRY_MALDIVES, APL6_WORLD, "MV", 40, 160, 0},
824 	{CTRY_MALTA, ETSI13_WORLD, "MT", 40, 160, 0},
825 	{CTRY_MARSHALL_ISLANDS, FCC3_FCCA, "MH", 40, 160, 0},
826 	{CTRY_MARTINIQUE, ETSI13_WORLD, "MQ", 40, 160, 0},
827 	{CTRY_MAURITANIA, ETSI1_WORLD, "MR", 40, 160, 0},
828 	{CTRY_MAURITIUS, ETSI13_WORLD, "MU", 40, 160, 0},
829 	{CTRY_MAYOTTE, ETSI1_WORLD, "YT", 40, 160, 0},
830 	{CTRY_MEXICO, FCC3_ETSIC, "MX", 40, 160, 0},
831 	{CTRY_MICRONESIA, FCC3_FCCA, "FM", 40, 160, 0},
832 	{CTRY_MOLDOVA, ETSI13_WORLD, "MD", 40, 160, 0},
833 	{CTRY_MONACO, ETSI13_WORLD, "MC", 40, 160, 0},
834 	{CTRY_MONGOLIA, FCC3_WORLD, "MN", 40, 160, 0},
835 	{CTRY_MONTENEGRO, ETSI13_WORLD, "ME", 40, 160, 0},
836 	{CTRY_MONTSERRAT, ETSI13_WORLD, "MS", 40, 160, 0},
837 	{CTRY_MOROCCO, ETSI3_WORLD, "MA", 40, 160, 0},
838 	{CTRY_MYANMAR, APL1_WORLD, "MM", 40, 160, 0},
839 	{CTRY_NAMIBIA, APL20_WORLD, "NA", 40, 160, 0},
840 	{CTRY_NEPAL, APL23_WORLD, "NP", 40, 160, 0},
841 	{CTRY_NETHERLANDS, ETSI13_WORLD, "NL", 40, 160, 0},
842 	{CTRY_NETHERLANDS_ANTILLES, ETSI13_WORLD, "AN", 40, 160, 0},
843 	{CTRY_NEW_CALEDONIA, ETSI13_WORLD, "NC", 40, 160, 0},
844 	{CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", 40, 160, 0},
845 	{CTRY_NIGERIA, APL8_WORLD, "NG", 40, 160, 0},
846 	{CTRY_NORTHERN_MARIANA_ISLANDS, FCC3_FCCA, "MP", 40, 160, 0},
847 	{CTRY_NICARAGUA, FCC3_FCCA, "NI", 40, 160, 0},
848 	{CTRY_NIUE, ETSI13_WORLD, "NU", 40, 160, 0},
849 	{CTRY_NORFOLK_ISLAND, FCC6_WORLD, "NF", 40, 160, 0},
850 	{CTRY_NORWAY, ETSI13_WORLD, "NO", 40, 160, 0},
851 	{CTRY_OMAN, ETSI1_WORLD, "OM", 40, 160, 0},
852 	{CTRY_PAKISTAN, APL1_ETSIC, "PK", 40, 160, 0},
853 	{CTRY_PALAU, FCC3_FCCA, "PW", 40, 160, 0},
854 	{CTRY_PANAMA, FCC14_FCCB, "PA", 40, 160, 0},
855 	{CTRY_PAPUA_NEW_GUINEA, FCC3_WORLD, "PG", 40, 160, 0},
856 	{CTRY_PARAGUAY, FCC3_WORLD, "PY", 40, 160, 0},
857 	{CTRY_PERU, FCC3_WORLD, "PE", 40, 160, 0},
858 	{CTRY_PHILIPPINES, FCC3_WORLD, "PH", 40, 160, 0},
859 	{CTRY_POLAND, ETSI13_WORLD, "PL", 40, 160, 0},
860 	{CTRY_PORTUGAL, ETSI13_WORLD, "PT", 40, 160, 0},
861 	{CTRY_PUERTO_RICO, FCC3_FCCA, "PR", 40, 160, 0},
862 	{CTRY_QATAR, ETSI14_WORLD, "QA", 40, 160, 0},
863 	{CTRY_REUNION, ETSI1_WORLD, "RE", 40, 160, 0},
864 	{CTRY_ROMANIA, ETSI13_WORLD, "RO", 40, 160, 0},
865 	{CTRY_RUSSIA, ETSI8_WORLD, "RU", 40, 160, 0},
866 	{CTRY_RWANDA, FCC3_WORLD, "RW", 40, 160, 0},
867 	{CTRY_SAINT_BARTHELEMY, ETSI1_WORLD, "BL", 40, 160, 0},
868 	{CTRY_SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, ETSI13_WORLD, "SH",
869 	 40, 160, 0},
870 	{CTRY_SAINT_KITTS_AND_NEVIS, APL10_WORLD, "KN", 40, 160, 0},
871 	{CTRY_SAINT_LUCIA, APL10_WORLD, "LC", 40, 160, 0},
872 	{CTRY_SAINT_MARTIN, ETSI1_WORLD, "MF", 40, 160, 0},
873 	{CTRY_SAINT_PIERRE_AND_MIQUELON, ETSI13_WORLD, "PM", 40, 160, 0},
874 	{CTRY_SAINT_VINCENT_AND_THE_GRENADIENS, ETSI13_WORLD, "VC",
875 	 40, 160, 0},
876 	{CTRY_SAMOA, ETSI1_WORLD, "WS", 40, 40, 0},
877 	{CTRY_SAN_MARINO, FCC3_FCCA, "SM", 40, 160, 0},
878 	{CTRY_SAO_TOME_AND_PRINCIPE, FCC3_WORLD, "ST", 40, 160, 0},
879 	{CTRY_SAUDI_ARABIA, ETSI15_WORLD, "SA", 40, 160, 0},
880 	{CTRY_SENEGAL, FCC13_WORLD, "SN", 40, 160, 0},
881 	{CTRY_SERBIA, ETSI13_WORLD, "RS", 40, 160, 0},
882 	{CTRY_SINGAPORE, FCC3_WORLD, "SG", 40, 160, 0},
883 	{CTRY_SINT_MAARTEN, ETSI13_WORLD, "SX", 40, 160, 0},
884 	{CTRY_SLOVAKIA, ETSI13_WORLD, "SK", 40, 160, 0},
885 	{CTRY_SLOVENIA, ETSI13_WORLD, "SI", 40, 160, 0},
886 	{CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", 40, 160, 0},
887 	{CTRY_SPAIN, ETSI13_WORLD, "ES", 40, 160, 0},
888 	{CTRY_SURINAME, ETSI1_WORLD, "SR", 40, 160, 0},
889 	{CTRY_SRI_LANKA, FCC3_WORLD, "LK", 40, 20, 0},
890 	{CTRY_SVALBARD_AND_JAN_MAYEN, FCC6_WORLD, "SJ", 40, 160, 0},
891 	{CTRY_SWEDEN, ETSI13_WORLD, "SE", 40, 160, 0},
892 	{CTRY_SWITZERLAND, ETSI13_WORLD, "CH", 40, 160, 0},
893 	{CTRY_TAIWAN, FCC3_FCCA, "TW", 40, 160, 0},
894 	{CTRY_TANZANIA, APL1_WORLD, "TZ", 40, 160, 0},
895 	{CTRY_THAILAND, FCC3_WORLD, "TH", 40, 160, 0},
896 	{CTRY_TOGO, ETSI1_WORLD, "TG", 40, 40, 0},
897 	{CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", 40, 160, 0},
898 	{CTRY_TUNISIA, ETSI3_WORLD, "TN", 40, 160, 0},
899 	{CTRY_TURKEY, ETSI13_WORLD, "TR", 40, 160, 0},
900 	{CTRY_TURKS_AND_CAICOS, FCC3_WORLD, "TC", 40, 160, 0},
901 	{CTRY_UGANDA, FCC3_WORLD, "UG", 40, 160, 0},
902 	{CTRY_UKRAINE, ETSI9_WORLD, "UA", 40, 160, 0},
903 	{CTRY_UAE, FCC3_WORLD, "AE", 40, 160, 0},
904 	{CTRY_UNITED_KINGDOM, ETSI13_WORLD, "GB", 40, 160, 0},
905 	{CTRY_UNITED_STATES, FCC3_FCCA, "US", 40, 160, 0},
906 	{CTRY_UNITED_STATES_MINOR_OUTLYING_ISLANDS, FCC3_FCCA, "UM", 40, 160,
907 	 0},
908 	{CTRY_URUGUAY, FCC2_WORLD, "UY", 40, 160, 0},
909 	{CTRY_UZBEKISTAN, ETSI3_WORLD, "UZ", 40, 160, 0},
910 	{CTRY_VANUATU, FCC3_WORLD, "VU", 40, 160, 0},
911 	{CTRY_VENEZUELA, FCC2_ETSIC, "VE", 40, 160, 0},
912 	{CTRY_VIET_NAM, FCC3_WORLD, "VN", 40, 80, 0},
913 	{CTRY_VIRGIN_ISLANDS, FCC3_FCCA, "VI", 40, 160, 0},
914 	{CTRY_VIRGIN_ISLANDS_BRITISH, ETSI13_WORLD, "VG", 40, 160, 0},
915 	{CTRY_WALLIS_AND_FUTUNA, ETSI1_WORLD, "WF", 40, 160, 0},
916 	{CTRY_YEMEN, NULL1_WORLD, "YE", 40, 0, 0},
917 	{CTRY_ZIMBABWE, ETSI1_WORLD, "ZW", 40, 160, 0},
918 	{CTRY_JAPAN, MKK5_MKKC, "JP", 40, 160, 0},
919 	{CTRY_XA, MKK5_MKKA, "XA", 40, 160, 0},
920 };
921 #endif
922 #endif
923 
924 enum reg_domains_2g {
925 	FCCA,
926 	FCCB,
927 	WORLD,
928 	MKKA,
929 	MKKC,
930 	ETSIC,
931 	ETSID,
932 	KRRA,
933 	WORLD_2G_1,
934 	WORLD_2G_2,
935 	WORLD_2G_3,
936 };
937 
938 enum reg_domains_5g {
939 	NULL1,
940 	FCC1,
941 	FCC2,
942 	FCC3,
943 	FCC4,
944 	FCC5,
945 	FCC6,
946 	FCC8,
947 	FCC10,
948 	FCC11,
949 	FCC13,
950 	FCC14,
951 	ETSI1,
952 	ETSI3,
953 	ETSI4,
954 	ETSI8,
955 	ETSI9,
956 	ETSI10,
957 	ETSI11,
958 	ETSI12,
959 	ETSI13,
960 	ETSI14,
961 	ETSI15,
962 	APL1,
963 	APL2,
964 	APL4,
965 	APL6,
966 	APL8,
967 	APL9,
968 	APL10,
969 	APL11,
970 	APL12,
971 	APL13,
972 	APL14,
973 	APL15,
974 	APL16,
975 	APL17,
976 	APL19,
977 	APL20,
978 	APL23,
979 	MKK3,
980 	MKK4,
981 	MKK5,
982 	MKK9,
983 	MKK10,
984 	MKK11,
985 	MKK16,
986 	MKK17,
987 	WORLD_5G_1,
988 	WORLD_5G_2,
989 };
990 
991 
992 const struct reg_domain_pair g_reg_dmn_pairs[] = {
993 	{NULL1_WORLD, NULL1, WORLD},
994 
995 	{FCC1_FCCA, FCC1, FCCA},
996 	{FCC1_WORLD, FCC1, WORLD},
997 	{FCC2_FCCA, FCC2, FCCA},
998 	{FCC2_WORLD, FCC2, WORLD},
999 	{FCC2_ETSIC, FCC2, ETSIC},
1000 	{FCC3_FCCA, FCC3, FCCA},
1001 	{FCC3_WORLD, FCC3, WORLD},
1002 	{FCC3_ETSIC, FCC3, ETSIC},
1003 	{FCC4_FCCA, FCC4, FCCA},
1004 	{FCC5_FCCA, FCC5, FCCA},
1005 	{FCC6_WORLD, FCC6, WORLD},
1006 	{FCC6_FCCA, FCC6, FCCA},
1007 	{FCC8_FCCA, FCC8, FCCA},
1008 	{FCC11_WORLD, FCC11, WORLD},
1009 	{FCC13_WORLD, FCC13, WORLD},
1010 	{FCC14_FCCB, FCC14, FCCB},
1011 
1012 	{ETSI1_WORLD, ETSI1, WORLD},
1013 	{ETSI3_WORLD, ETSI3, WORLD},
1014 	{ETSI4_WORLD, ETSI4, WORLD},
1015 	{ETSI8_WORLD, ETSI8, WORLD},
1016 	{ETSI9_WORLD, ETSI9, WORLD},
1017 	{ETSI10_WORLD, ETSI10, WORLD},
1018 	{ETSI10_FCCA, ETSI10, FCCA},
1019 	{ETSI11_WORLD, ETSI11, WORLD},
1020 	{ETSI12_WORLD, ETSI12, WORLD},
1021 	{ETSI13_WORLD, ETSI13, WORLD},
1022 	{ETSI14_WORLD, ETSI14, WORLD},
1023 	{ETSI15_WORLD, ETSI15, WORLD},
1024 
1025 	{APL1_WORLD, APL1, WORLD},
1026 	{APL1_ETSIC, APL1, ETSIC},
1027 	{APL2_WORLD, APL2, WORLD},
1028 	{APL2_ETSIC, APL2, ETSIC},
1029 	{APL4_WORLD, APL4, WORLD},
1030 	{APL6_WORLD, APL6, WORLD},
1031 	{APL8_WORLD, APL8, WORLD},
1032 	{APL9_WORLD, APL9, WORLD},
1033 	{APL9_MKKC, APL9, MKKC},
1034 	{APL9_KRRA, APL9, KRRA},
1035 	{APL10_WORLD, APL10, WORLD},
1036 	{APL11_FCCA, APL11, FCCA},
1037 	{APL12_WORLD, APL12, WORLD},
1038 	{APL13_WORLD, APL13, WORLD},
1039 	{APL14_WORLD, APL14, WORLD},
1040 	{APL15_WORLD, APL15, WORLD},
1041 	{APL16_WORLD, APL16, WORLD},
1042 	{APL17_ETSID, APL17, ETSID},
1043 	{APL19_ETSIC, APL19, ETSIC},
1044 	{APL20_WORLD, APL20, WORLD},
1045 	{APL23_WORLD, APL23, WORLD},
1046 
1047 	{MKK3_MKKC, MKK3, MKKC},
1048 	{MKK5_MKKA, MKK5, MKKA},
1049 	{MKK5_MKKC, MKK5, MKKC},
1050 	{MKK11_MKKC, MKK11, MKKC},
1051 	{MKK16_MKKC, MKK16, MKKC},
1052 	{MKK17_MKKC, MKK17, MKKC},
1053 
1054 	{WORLD_60, WORLD_5G_2, WORLD_2G_3},
1055 	{WORLD_61, WORLD_5G_2, WORLD_2G_3},
1056 	{WORLD_62, WORLD_5G_2, WORLD_2G_3},
1057 	{WORLD_63, WORLD_5G_1, WORLD_2G_2},
1058 	{WORLD_65, WORLD_5G_1, WORLD_2G_2},
1059 	{WORLD_64, WORLD_5G_1, WORLD_2G_1},
1060 	{WORLD_66, WORLD_5G_2, WORLD_2G_1},
1061 	{WORLD_69, WORLD_5G_2, WORLD_2G_1},
1062 	{WORLD_67, WORLD_5G_2, WORLD_2G_2},
1063 	{WORLD_68, WORLD_5G_2, WORLD_2G_2},
1064 	{WORLD_6A, WORLD_5G_2, WORLD_2G_2},
1065 	{WORLD_6C, WORLD_5G_2, WORLD_2G_2},
1066 };
1067 
1068 enum reg_rules_2g {
1069 
1070 	CHAN_1_11_1,
1071 	CHAN_1_11_2,
1072 	CHAN_1_11_3,
1073 	CHAN_1_13_1,
1074 	CHAN_1_13_2,
1075 	CHAN_1_13_3,
1076 	CHAN_1_13_4,
1077 	CHAN_12_12_1,
1078 	CHAN_12_13_1,
1079 	CHAN_14_1,
1080 	CHAN_14_2,
1081 };
1082 
1083 const struct regulatory_rule reg_rules_2g[] = {
1084 
1085 	[CHAN_1_11_1] = {2402, 2472, 40, 30, 0},
1086 	[CHAN_1_11_2] = {2402, 2472, 40, 20, 0},
1087 	[CHAN_1_11_3] = {2402, 2472, 40, 36, 0},
1088 	[CHAN_1_13_1] = {2402, 2482, 40, 20, 0},
1089 	[CHAN_1_13_2] = {2402, 2482, 40, 30, 0},
1090 	[CHAN_1_13_3] = {2402, 2482, 40, 36, 0},
1091 	[CHAN_1_13_4] = {2402, 2482, 40, 23, 0},
1092 	[CHAN_12_12_1] = {2457, 2477, 20, 20, REGULATORY_CHAN_NO_IR},
1093 	[CHAN_12_13_1] = {2457, 2482, 20, 20, REGULATORY_CHAN_NO_IR},
1094 	[CHAN_14_1] = {2474, 2494, 20, 23, REGULATORY_CHAN_NO_OFDM},
1095 	[CHAN_14_2] = {2474, 2494, 20, 20,
1096 		       REGULATORY_CHAN_NO_OFDM | REGULATORY_CHAN_NO_IR},
1097 };
1098 
1099 
1100 const struct regdomain regdomains_2g[] = {
1101 
1102 	[FCCA] = {CTL_FCC, DFS_UNINIT_REGION, 0, 6, 1, {CHAN_1_11_1} },
1103 	[FCCB] = {CTL_FCC, DFS_UNINIT_REGION, 0, 6, 1, {CHAN_1_11_3} },
1104 	[WORLD] = {CTL_ETSI, DFS_UNINIT_REGION, 0, 0, 1, {CHAN_1_13_1} },
1105 	[MKKA] = {CTL_MKK, DFS_UNINIT_REGION, 0, 0, 2, {CHAN_1_13_4,
1106 							CHAN_14_1} },
1107 	[MKKC] = {CTL_MKK, DFS_UNINIT_REGION, 0, 0, 1, {CHAN_1_13_4} },
1108 	[ETSIC] = {CTL_ETSI, DFS_UNINIT_REGION, 0, 0, 1, {CHAN_1_13_2} },
1109 	[ETSID] = {CTL_ETSI, DFS_UNINIT_REGION, 0, 0, 1, {CHAN_1_13_3} },
1110 	[KRRA]  = {CTL_KOR, DFS_UNINIT_REGION, 0, 0, 1,  {CHAN_1_13_4} },
1111 	[WORLD_2G_1] = {CTL_NONE, DFS_UNINIT_REGION, 0, 0, 1, {CHAN_1_11_2} },
1112 	[WORLD_2G_2] = {CTL_NONE, DFS_UNINIT_REGION, 0, 0, 2,
1113 			{CHAN_1_11_2, CHAN_12_13_1} },
1114 	[WORLD_2G_3] = {CTL_NONE, DFS_UNINIT_REGION, 0, 0, 2,
1115 			{CHAN_1_11_2, CHAN_12_12_1} },
1116 };
1117 
1118 
1119 enum reg_rules_5g {
1120 
1121 	CHAN_4910_4990_1,
1122 	CHAN_4940_4990_1,
1123 	CHAN_5030_5090_1,
1124 	CHAN_5170_5250_1,
1125 	CHAN_5170_5250_2,
1126 	CHAN_5170_5250_3,
1127 	CHAN_5170_5250_4,
1128 	CHAN_5170_5250_5,
1129 	CHAN_5170_5250_6,
1130 	CHAN_5170_5250_7,
1131 	CHAN_5170_5250_8,
1132 	CHAN_5170_5250_9,
1133 	CHAN_5170_5330_1,
1134 	CHAN_5170_5330_2,
1135 	CHAN_5250_5330_1,
1136 	CHAN_5250_5330_2,
1137 	CHAN_5250_5330_3,
1138 	CHAN_5250_5330_4,
1139 	CHAN_5250_5330_5,
1140 	CHAN_5250_5330_6,
1141 	CHAN_5250_5330_7,
1142 	CHAN_5250_5330_8,
1143 	CHAN_5250_5330_9,
1144 	CHAN_5250_5330_10,
1145 	CHAN_5250_5330_11,
1146 	CHAN_5250_5330_12,
1147 	CHAN_5250_5330_13,
1148 	CHAN_5250_5330_14,
1149 	CHAN_5490_5730_1,
1150 	CHAN_5490_5730_2,
1151 	CHAN_5490_5730_3,
1152 	CHAN_5490_5730_4,
1153 	CHAN_5490_5730_5,
1154 	CHAN_5490_5730_6,
1155 	CHAN_5490_5730_7,
1156 	CHAN_5490_5710_1,
1157 	CHAN_5490_5710_2,
1158 	CHAN_5490_5710_3,
1159 	CHAN_5490_5710_4,
1160 	CHAN_5490_5710_5,
1161 	CHAN_5490_5710_6,
1162 	CHAN_5490_5710_7,
1163 	CHAN_5490_5590_1,
1164 	CHAN_5490_5590_2,
1165 	CHAN_5490_5590_3,
1166 	CHAN_5490_5570_1,
1167 	CHAN_5490_5650_2,
1168 	CHAN_5490_5670_1,
1169 	CHAN_5490_5670_2,
1170 	CHAN_5490_5630_1,
1171 	CHAN_5650_5730_1,
1172 	CHAN_5650_5730_2,
1173 	CHAN_5650_5730_3,
1174 	CHAN_5735_5835_1,
1175 	CHAN_5735_5835_2,
1176 	CHAN_5735_5835_3,
1177 	CHAN_5735_5835_4,
1178 	CHAN_5735_5835_5,
1179 	CHAN_5735_5835_6,
1180 	CHAN_5735_5835_7,
1181 	CHAN_5735_5835_8,
1182 	CHAN_5735_5835_9,
1183 	CHAN_5735_5875_1,
1184 	CHAN_5735_5875_2,
1185 	CHAN_5735_5875_3,
1186 	CHAN_5735_5875_4,
1187 	CHAN_5735_5875_5,
1188 	CHAN_5735_5815_1,
1189 	CHAN_5735_5815_2,
1190 	CHAN_5735_5775_1,
1191 	CHAN_5835_5855_1,
1192 	CHAN_5855_5875_1,
1193 	CHAN_5850_5925_1,
1194 	CHAN_5850_5925_2,
1195 };
1196 
1197 const struct regulatory_rule reg_rules_5g[] = {
1198 
1199 	[CHAN_4910_4990_1] = {4910, 4990, 20, 20, 0},
1200 	[CHAN_4940_4990_1] = {4940, 4990, 20, 33, 0},
1201 	[CHAN_5030_5090_1] = {5030, 5090, 20, 20, 0},
1202 	[CHAN_5170_5250_1] = {5170, 5250, 80, 17, 0},
1203 	[CHAN_5170_5250_2] = {5170, 5250, 80, 23, 0},
1204 	[CHAN_5170_5250_3] = {5170, 5250, 80, 20, 0},
1205 	[CHAN_5170_5250_4] = {5170, 5250, 80, 30, 0},
1206 	[CHAN_5170_5250_5] = {5170, 5250, 80, 24, 0},
1207 	[CHAN_5170_5250_6] = {5170, 5250, 80, 18, 0},
1208 	[CHAN_5170_5250_7] = {5170, 5250, 80, 20, REGULATORY_CHAN_INDOOR_ONLY},
1209 	[CHAN_5170_5250_8] = {5170, 5250, 80, 23, REGULATORY_CHAN_INDOOR_ONLY},
1210 	[CHAN_5170_5250_9] = {5170, 5250, 40, 30, 0},
1211 	[CHAN_5170_5330_1] = {5170, 5330, 160, 20, REGULATORY_CHAN_NO_IR},
1212 	[CHAN_5170_5330_2] = {5170, 5330, 160, 24, 0},
1213 	[CHAN_5250_5330_1] = {5250, 5330, 80, 23, REGULATORY_CHAN_RADAR},
1214 	[CHAN_5250_5330_2] = {5250, 5330, 80, 20, REGULATORY_CHAN_RADAR},
1215 	[CHAN_5250_5330_3] = {5250, 5330, 80, 18, REGULATORY_CHAN_RADAR},
1216 	[CHAN_5250_5330_4] = {5250, 5330, 80, 30, REGULATORY_CHAN_RADAR},
1217 	[CHAN_5250_5330_5] = {5250, 5330, 80, 23, 0},
1218 	[CHAN_5250_5330_6] = {5250, 5330, 80, 30, 0},
1219 	[CHAN_5250_5330_7] = {5250, 5330, 80, 24, REGULATORY_CHAN_RADAR},
1220 	[CHAN_5250_5330_8] = {5250, 5330, 80, 36, 0},
1221 	[CHAN_5250_5330_9] = {5250, 5330, 80, 20, 0},
1222 	[CHAN_5250_5330_10] = {5250, 5330, 80, 24, 0},
1223 	[CHAN_5250_5330_11] = {5250, 5330, 80, 20, REGULATORY_CHAN_INDOOR_ONLY},
1224 	[CHAN_5250_5330_12] = {5250, 5330, 80, 23, REGULATORY_CHAN_RADAR |
1225 						   REGULATORY_CHAN_INDOOR_ONLY},
1226 	[CHAN_5250_5330_13] = {5250, 5330, 40, 30, REGULATORY_CHAN_RADAR},
1227 	[CHAN_5250_5330_14] = {5250, 5330, 80, 20, REGULATORY_CHAN_RADAR |
1228 						   REGULATORY_CHAN_INDOOR_ONLY},
1229 	[CHAN_5490_5730_1] = {5490, 5730, 160, 24, REGULATORY_CHAN_RADAR},
1230 	[CHAN_5490_5730_2] = {5490, 5730, 160, 20, REGULATORY_CHAN_NO_IR},
1231 	[CHAN_5490_5730_3] = {5490, 5730, 160, 30, 0},
1232 	[CHAN_5490_5730_4] = {5490, 5730, 160, 24, 0},
1233 	[CHAN_5490_5730_5] = {5490, 5730, 160, 30, REGULATORY_CHAN_RADAR},
1234 	[CHAN_5490_5730_6] = {5490, 5730, 160, 23, REGULATORY_CHAN_RADAR},
1235 	[CHAN_5490_5730_7] = {5490, 5730, 160, 20, REGULATORY_CHAN_RADAR},
1236 	[CHAN_5490_5710_1] = {5490, 5710, 160, 30, REGULATORY_CHAN_RADAR},
1237 	[CHAN_5490_5710_2] = {5490, 5710, 160, 20, REGULATORY_CHAN_RADAR},
1238 	[CHAN_5490_5710_3] = {5490, 5710, 160, 27, REGULATORY_CHAN_RADAR},
1239 	[CHAN_5490_5710_4] = {5490, 5710,  40, 30, REGULATORY_CHAN_RADAR},
1240 	[CHAN_5490_5710_5] = {5490, 5710, 160, 24, REGULATORY_CHAN_RADAR},
1241 	[CHAN_5490_5710_6] = {5490, 5710, 160, 26, REGULATORY_CHAN_RADAR},
1242 	[CHAN_5490_5710_7] = {5490, 5710, 160, 23, REGULATORY_CHAN_RADAR},
1243 	[CHAN_5490_5590_1] = {5490, 5590, 80, 24, REGULATORY_CHAN_RADAR},
1244 	[CHAN_5490_5590_2] = {5490, 5590, 80, 30, 0},
1245 	[CHAN_5490_5590_3] = {5490, 5590, 80, 36, 0},
1246 	[CHAN_5490_5570_1] = {5490, 5570, 80, 30, REGULATORY_CHAN_RADAR},
1247 	[CHAN_5490_5650_2] = {5490, 5650, 160, 24, REGULATORY_CHAN_RADAR},
1248 	[CHAN_5490_5670_1] = {5490, 5670, 160, 20, REGULATORY_CHAN_RADAR},
1249 	[CHAN_5490_5670_2] = {5490, 5670, 160, 23, REGULATORY_CHAN_RADAR},
1250 	[CHAN_5490_5630_1] = {5490, 5630, 80, 30, REGULATORY_CHAN_RADAR},
1251 	[CHAN_5650_5730_1] = {5650, 5730, 80, 24, REGULATORY_CHAN_RADAR},
1252 	[CHAN_5650_5730_2] = {5650, 5730, 80, 30, 0},
1253 	[CHAN_5650_5730_3] = {5650, 5730, 80, 36, 0},
1254 	[CHAN_5735_5835_1] = {5735, 5835, 80, 23, 0},
1255 	[CHAN_5735_5835_2] = {5735, 5835, 80, 30, 0},
1256 	[CHAN_5735_5835_3] = {5735, 5835, 80, 20, 0},
1257 	[CHAN_5735_5835_4] = {5735, 5835, 80, 33, 0},
1258 	[CHAN_5735_5835_5] = {5735, 5835, 80, 20, REGULATORY_CHAN_NO_IR},
1259 	[CHAN_5735_5835_6] = {5735, 5835, 80, 24, 0},
1260 	[CHAN_5735_5835_7] = {5735, 5835, 80, 36, 0},
1261 	[CHAN_5735_5835_8] = {5735, 5835, 80, 23, REGULATORY_CHAN_RADAR},
1262 	[CHAN_5735_5835_9] = {5735, 5835, 80, 30, REGULATORY_CHAN_RADAR},
1263 	[CHAN_5735_5875_1] = {5735, 5875, 20, 27, REGULATORY_CHAN_RADAR},
1264 	[CHAN_5735_5875_2] = {5735, 5875, 20, 30, 0},
1265 	[CHAN_5735_5875_3] = {5735, 5875, 80, 30, 0},
1266 	[CHAN_5735_5875_4] = {5735, 5875, 80, 14, 0},
1267 	[CHAN_5735_5875_5] = {5735, 5875, 80, 20, REGULATORY_CHAN_RADAR},
1268 	[CHAN_5735_5815_1] = {5735, 5815, 80, 30, 0},
1269 	[CHAN_5735_5815_2] = {5735, 5815, 80, 30, REGULATORY_CHAN_RADAR},
1270 	[CHAN_5735_5775_1] = {5735, 5775, 40, 23, 0},
1271 	[CHAN_5835_5855_1] = {5835, 5855, 20, 30, 0},
1272 	[CHAN_5855_5875_1] = {5855, 5875, 20, 30, 0},
1273 	[CHAN_5850_5925_1] = {5850, 5925, 20, 24, 0},
1274 	[CHAN_5850_5925_2] = {5850, 5925, 20, 30, 0},
1275 };
1276 
1277 
1278 const struct regdomain regdomains_5g[] = {
1279 
1280 	[FCC1] = {CTL_FCC, DFS_FCC_REGION, 2, 6, 3, {CHAN_5170_5250_1,
1281 						     CHAN_5250_5330_1,
1282 						     CHAN_5735_5835_2} },
1283 
1284 	[FCC2] = {CTL_FCC, DFS_FCC_REGION, 2, 6, 3, {CHAN_5170_5250_2,
1285 						     CHAN_5250_5330_1,
1286 						     CHAN_5735_5835_2} },
1287 
1288 	[FCC3] = {CTL_FCC, DFS_FCC_REGION, 2, 6, 4, {CHAN_5170_5250_5,
1289 						     CHAN_5250_5330_7,
1290 						     CHAN_5490_5730_1,
1291 						     CHAN_5735_5835_2} },
1292 
1293 	[FCC4] = {CTL_FCC, DFS_FCC_REGION, 2, 6, 1, {CHAN_4940_4990_1} },
1294 
1295 	[FCC5] = {CTL_FCC, DFS_UNINIT_REGION, 2, 6, 2, {CHAN_5170_5250_4,
1296 							CHAN_5735_5835_2} },
1297 
1298 	[FCC6] = {CTL_FCC, DFS_FCC_REGION, 2, 6, 5, {CHAN_5170_5250_5,
1299 						     CHAN_5250_5330_7,
1300 						     CHAN_5490_5590_1,
1301 						     CHAN_5650_5730_1,
1302 						     CHAN_5735_5835_2} },
1303 
1304 	[FCC8] = {CTL_FCC, DFS_FCC_REGION, 2, 6, 4, {CHAN_5170_5250_4,
1305 						     CHAN_5250_5330_7,
1306 						     CHAN_5490_5730_1,
1307 						     CHAN_5735_5835_2} },
1308 
1309 	[FCC10] = {CTL_FCC, DFS_FCC_REGION, 2, 0, 5, {CHAN_5170_5250_4,
1310 						      CHAN_5250_5330_7,
1311 						      CHAN_5490_5730_1,
1312 						      CHAN_5735_5835_2,
1313 						      CHAN_5850_5925_1} },
1314 
1315 	[FCC11] = {CTL_FCC, DFS_FCC_REGION, 2, 6, 4, {CHAN_5170_5250_5,
1316 						      CHAN_5250_5330_7,
1317 						      CHAN_5490_5650_2,
1318 						      CHAN_5735_5835_6} },
1319 
1320 	[FCC13] = {CTL_FCC, DFS_UNINIT_REGION, 2, 0, 4, {CHAN_5170_5330_2,
1321 							 CHAN_5250_5330_10,
1322 							 CHAN_5490_5730_4,
1323 							 CHAN_5735_5835_2} },
1324 
1325 	[FCC14] = {CTL_FCC, DFS_UNINIT_REGION, 2, 0, 4, {CHAN_5170_5250_4,
1326 							 CHAN_5250_5330_10,
1327 							 CHAN_5490_5730_4,
1328 							 CHAN_5735_5835_2} },
1329 
1330 	[ETSI1] = {CTL_ETSI, DFS_ETSI_REGION, 2, 0, 3, {CHAN_5170_5250_8,
1331 							CHAN_5250_5330_12,
1332 							CHAN_5490_5710_1} },
1333 
1334 	[ETSI3] = {CTL_ETSI, DFS_ETSI_REGION, 5, 0, 2, {CHAN_5170_5250_2,
1335 							CHAN_5250_5330_1} },
1336 
1337 	[ETSI4] = {CTL_ETSI, DFS_ETSI_REGION, 2, 0, 2, {CHAN_5170_5250_6,
1338 							CHAN_5250_5330_3} },
1339 
1340 	[ETSI8] = {CTL_ETSI, DFS_UNINIT_REGION, 20, 0, 4, {CHAN_5170_5250_2,
1341 							   CHAN_5250_5330_5,
1342 							   CHAN_5490_5730_3,
1343 							   CHAN_5735_5835_2} },
1344 
1345 	[ETSI9] = {CTL_ETSI, DFS_ETSI_REGION, 20, 0, 4, {CHAN_5170_5250_2,
1346 							 CHAN_5250_5330_1,
1347 							 CHAN_5490_5710_5,
1348 							 CHAN_5735_5835_6} },
1349 
1350 	[ETSI10] = {CTL_ETSI, DFS_ETSI_REGION, 10, 0, 4, {CHAN_5170_5250_7,
1351 							  CHAN_5250_5330_14,
1352 							  CHAN_5490_5710_3,
1353 							  CHAN_5850_5925_2} },
1354 
1355 	[ETSI11] = {CTL_ETSI, DFS_ETSI_REGION, 10, 0, 4, {CHAN_5170_5250_7,
1356 							  CHAN_5250_5330_14,
1357 							  CHAN_5490_5710_3,
1358 							  CHAN_5735_5875_1} },
1359 
1360 	[ETSI12] = {CTL_ETSI, DFS_ETSI_REGION, 2, 0, 4, {CHAN_5170_5250_7,
1361 							 CHAN_5250_5330_14,
1362 							 CHAN_5490_5730_6,
1363 							 CHAN_5735_5835_8} },
1364 
1365 	[ETSI13] = {CTL_ETSI, DFS_ETSI_REGION, 2, 0, 4, {CHAN_5170_5250_8,
1366 							 CHAN_5250_5330_12,
1367 							 CHAN_5490_5730_5,
1368 							 CHAN_5735_5875_4} },
1369 
1370 	[ETSI14] = {CTL_ETSI, DFS_ETSI_REGION, 2, 0, 4, {CHAN_5170_5250_2,
1371 							 CHAN_5250_5330_1,
1372 							 CHAN_5490_5730_7,
1373 							 CHAN_5735_5875_5} },
1374 
1375 	[ETSI15] = {CTL_ETSI, DFS_ETSI_REGION, 2, 0, 4, {CHAN_5170_5250_2,
1376 							 CHAN_5250_5330_1,
1377 							 CHAN_5490_5730_5,
1378 							 CHAN_5735_5815_2} },
1379 
1380 	[APL1] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 0, 1, {CHAN_5735_5835_2} },
1381 
1382 	[APL2] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 0, 1, {CHAN_5735_5815_1} },
1383 
1384 	[APL4] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 0, 2, {CHAN_5170_5250_2,
1385 							 CHAN_5735_5835_1} },
1386 
1387 	[APL6] = {CTL_ETSI, DFS_ETSI_REGION, 2, 0, 3, {CHAN_5170_5250_3,
1388 						       CHAN_5250_5330_2,
1389 						       CHAN_5735_5835_3} },
1390 
1391 	[APL8] = {CTL_FCC, DFS_ETSI_REGION, 2, 0, 2, {CHAN_5250_5330_4,
1392 						      CHAN_5735_5835_2} },
1393 
1394 	[APL9] = {CTL_MKK, DFS_KR_REGION, 2, 6, 4,   {CHAN_5170_5250_2,
1395 						      CHAN_5250_5330_1,
1396 						      CHAN_5490_5730_6,
1397 						      CHAN_5735_5835_1} },
1398 
1399 	[APL10] = {CTL_ETSI, DFS_FCC_REGION, 2, 6, 4, {CHAN_5170_5250_2,
1400 						       CHAN_5250_5330_4,
1401 						       CHAN_5490_5710_1,
1402 						       CHAN_5735_5815_1} },
1403 
1404 	[APL11] = { CTL_ETSI, DFS_ETSI_REGION, 2, 0, 4, {CHAN_5170_5250_9,
1405 							 CHAN_5250_5330_13,
1406 							 CHAN_5490_5710_4,
1407 							 CHAN_5735_5875_2} },
1408 
1409 	[APL12] = {CTL_ETSI, DFS_ETSI_REGION, 2, 0, 3, {CHAN_5170_5250_2,
1410 							CHAN_5490_5570_1,
1411 							CHAN_5735_5775_1} },
1412 
1413 	[APL13] = {CTL_ETSI, DFS_ETSI_REGION, 2, 0, 3, {CHAN_5170_5250_2,
1414 							CHAN_5250_5330_1,
1415 							CHAN_5490_5670_2} },
1416 
1417 	[APL14] = {CTL_FCC, DFS_CN_REGION, 2, 0, 3, {CHAN_5170_5250_2,
1418 						     CHAN_5250_5330_1,
1419 						     CHAN_5735_5835_4} },
1420 
1421 	[APL15] = {CTL_FCC, DFS_UNINIT_REGION, 2, 0, 3, {CHAN_5170_5250_2,
1422 							 CHAN_5250_5330_5,
1423 							 CHAN_5735_5835_4} },
1424 
1425 	[APL16] = {CTL_FCC, DFS_UNINIT_REGION, 2, 0, 5, {CHAN_5170_5250_1,
1426 							 CHAN_5250_5330_6,
1427 							 CHAN_5490_5590_2,
1428 							 CHAN_5650_5730_2,
1429 							 CHAN_5735_5835_2} },
1430 
1431 	[APL17] = {CTL_FCC, DFS_UNINIT_REGION, 2, 0, 5, {CHAN_5170_5250_2,
1432 							 CHAN_5250_5330_8,
1433 							 CHAN_5490_5590_3,
1434 							 CHAN_5650_5730_3,
1435 							 CHAN_5735_5835_7} },
1436 
1437 	[APL19] = {CTL_FCC, DFS_ETSI_REGION, 2, 0, 4, {CHAN_5170_5250_4,
1438 						       CHAN_5250_5330_7,
1439 						       CHAN_5490_5730_1,
1440 						       CHAN_5735_5875_3} },
1441 
1442 	[APL20] = {CTL_ETSI, DFS_ETSI_REGION, 2, 0, 4, {CHAN_5170_5250_8,
1443 							CHAN_5250_5330_12,
1444 							CHAN_5490_5730_5,
1445 							CHAN_5735_5835_4} },
1446 
1447 	[APL23] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 0, 3, {CHAN_5170_5250_7,
1448 							  CHAN_5250_5330_11,
1449 							  CHAN_5735_5835_3} },
1450 
1451 	[MKK3] = {CTL_MKK, DFS_UNINIT_REGION, 2, 0, 1, {CHAN_5170_5250_3} },
1452 
1453 	[MKK5] = {CTL_MKK, DFS_MKK_REGION, 2, 0, 3, {CHAN_5170_5250_8,
1454 						     CHAN_5250_5330_12,
1455 						     CHAN_5490_5710_7} },
1456 
1457 	[MKK11] = {CTL_MKK, DFS_MKK_REGION, 2, 0, 5, {CHAN_4910_4990_1,
1458 						      CHAN_5170_5250_2,
1459 						      CHAN_5030_5090_1,
1460 						      CHAN_5250_5330_1,
1461 						      CHAN_5490_5710_7} },
1462 
1463 	[MKK16] = {CTL_MKK, DFS_MKK_REGION, 2, 0, 1, {CHAN_5490_5710_6} },
1464 
1465 	[MKK17] = {CTL_MKK, DFS_MKK_REGION, 2, 0, 3, {CHAN_5170_5250_8,
1466 						      CHAN_5250_5330_12,
1467 						      CHAN_5490_5730_6} },
1468 
1469 	[WORLD_5G_1] = {CTL_NONE, DFS_UNINIT_REGION, 2, 0, 2,
1470 			{CHAN_5170_5330_1,
1471 			 CHAN_5735_5835_5} },
1472 
1473 	[WORLD_5G_2] = {CTL_NONE, DFS_UNINIT_REGION, 2, 0, 3,
1474 			{CHAN_5170_5330_1,
1475 			 CHAN_5490_5730_2,
1476 			 CHAN_5735_5835_5} },
1477 };
1478 
1479 QDF_STATUS reg_get_num_countries(int *num_countries)
1480 {
1481 	*num_countries = QDF_ARRAY_SIZE(g_all_countries);
1482 
1483 	return QDF_STATUS_SUCCESS;
1484 }
1485 
1486 QDF_STATUS reg_get_num_reg_dmn_pairs(int *num_reg_dmn)
1487 {
1488 	*num_reg_dmn = QDF_ARRAY_SIZE(g_reg_dmn_pairs);
1489 
1490 	return QDF_STATUS_SUCCESS;
1491 }
1492 
1493 QDF_STATUS reg_get_default_country(uint16_t *default_country)
1494 {
1495 	*default_country = CTRY_UNITED_STATES;
1496 
1497 	return QDF_STATUS_SUCCESS;
1498 }
1499 
1500 bool reg_etsi13_regdmn(uint8_t reg_dmn)
1501 {
1502 	return reg_dmn == ETSI13;
1503 }
1504 
1505 bool reg_en302_502_regdmn(uint16_t regdmn)
1506 {
1507 	return ((regdmn == ETSI11_WORLD) ||
1508 		(regdmn == ETSI12_WORLD) ||
1509 		(regdmn == ETSI14_WORLD) ||
1510 		(regdmn == ETSI15_WORLD));
1511 }
1512