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