1 /* 2 * Copyright (c) 2017-2018 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 provides regulatory data base 23 */ 24 25 #include <qdf_types.h> 26 #include <qdf_trace.h> 27 #include "reg_db.h" 28 29 enum country_code { 30 CTRY_AFGHANISTAN = 4, 31 CTRY_ALBANIA = 8, 32 CTRY_ALGERIA = 12, 33 CTRY_AMERICAN_SAMOA = 16, 34 CTRY_ANGUILLA = 660, 35 CTRY_ARGENTINA = 32, 36 CTRY_ARMENIA = 51, 37 CTRY_ARUBA = 533, 38 CTRY_AUSTRALIA = 36, 39 CTRY_AUSTRIA = 40, 40 CTRY_AZERBAIJAN = 31, 41 CTRY_BAHAMAS = 44, 42 CTRY_BAHRAIN = 48, 43 CTRY_BANGLADESH = 50, 44 CTRY_BARBADOS = 52, 45 CTRY_BELARUS = 112, 46 CTRY_BELGIUM = 56, 47 CTRY_BELIZE = 84, 48 CTRY_BERMUDA = 60, 49 CTRY_BHUTAN = 64, 50 CTRY_BOLIVIA = 68, 51 CTRY_BOSNIA_HERZ = 70, 52 CTRY_BRAZIL = 76, 53 CTRY_BRUNEI_DARUSSALAM = 96, 54 CTRY_BULGARIA = 100, 55 CTRY_BURKINA_FASO = 854, 56 CTRY_CAMBODIA = 116, 57 CTRY_CANADA = 124, 58 CTRY_CAYMAN_ISLANDS = 136, 59 CTRY_CENTRAL_AFRICA_REPUBLIC = 140, 60 CTRY_CHAD = 148, 61 CTRY_CHILE = 152, 62 CTRY_CHINA = 156, 63 CTRY_CHRISTMAS_ISLAND = 162, 64 CTRY_COLOMBIA = 170, 65 CTRY_COSTA_RICA = 188, 66 CTRY_COTE_DIVOIRE = 384, 67 CTRY_CROATIA = 191, 68 CTRY_CYPRUS = 196, 69 CTRY_CZECH = 203, 70 CTRY_DENMARK = 208, 71 CTRY_DOMINICA = 212, 72 CTRY_DOMINICAN_REPUBLIC = 214, 73 CTRY_ECUADOR = 218, 74 CTRY_EGYPT = 818, 75 CTRY_EL_SALVADOR = 222, 76 CTRY_ESTONIA = 233, 77 CTRY_ETHIOPIA = 231, 78 CTRY_FINLAND = 246, 79 CTRY_FRANCE = 250, 80 CTRY_FRENCH_GUIANA = 254, 81 CTRY_FRENCH_POLYNESIA = 258, 82 CTRY_GEORGIA = 268, 83 CTRY_GERMANY = 276, 84 CTRY_GHANA = 288, 85 CTRY_GIBRALTAR = 292, 86 CTRY_GREECE = 300, 87 CTRY_GREENLAND = 304, 88 CTRY_GRENADA = 308, 89 CTRY_GUADELOUPE = 312, 90 CTRY_GUAM = 316, 91 CTRY_GUATEMALA = 320, 92 CTRY_GUYANA = 328, 93 CTRY_HAITI = 332, 94 CTRY_HONDURAS = 340, 95 CTRY_HONG_KONG = 344, 96 CTRY_HUNGARY = 348, 97 CTRY_ICELAND = 352, 98 CTRY_INDIA = 356, 99 CTRY_INDONESIA = 360, 100 CTRY_IRAQ = 368, 101 CTRY_IRELAND = 372, 102 CTRY_ISRAEL = 376, 103 CTRY_ITALY = 380, 104 CTRY_JAMAICA = 388, 105 CTRY_JORDAN = 400, 106 CTRY_KAZAKHSTAN = 398, 107 CTRY_KENYA = 404, 108 CTRY_KOREA_ROC = 410, 109 CTRY_KUWAIT = 414, 110 CTRY_LATVIA = 428, 111 CTRY_LEBANON = 422, 112 CTRY_LESOTHO = 426, 113 CTRY_LIECHTENSTEIN = 438, 114 CTRY_LITHUANIA = 440, 115 CTRY_LUXEMBOURG = 442, 116 CTRY_MACAU = 446, 117 CTRY_MACEDONIA = 807, 118 CTRY_MALAWI = 454, 119 CTRY_MALAYSIA = 458, 120 CTRY_MALDIVES = 462, 121 CTRY_MALTA = 470, 122 CTRY_MARSHALL_ISLANDS = 584, 123 CTRY_MARTINIQUE = 474, 124 CTRY_MAURITANIA = 478, 125 CTRY_MAURITIUS = 480, 126 CTRY_MAYOTTE = 175, 127 CTRY_MEXICO = 484, 128 CTRY_MICRONESIA = 583, 129 CTRY_MOLDOVA = 498, 130 CTRY_MONACO = 492, 131 CTRY_MONGOLIA = 496, 132 CTRY_MONTENEGRO = 499, 133 CTRY_MOROCCO = 504, 134 CTRY_NAMIBIA = 516, 135 CTRY_NEPAL = 524, 136 CTRY_NETHERLANDS = 528, 137 CTRY_NETHERLANDS_ANTILLES = 530, 138 CTRY_NEW_ZEALAND = 554, 139 CTRY_NIGERIA = 566, 140 CTRY_NORTHERN_MARIANA_ISLANDS = 580, 141 CTRY_NICARAGUA = 558, 142 CTRY_NORWAY = 578, 143 CTRY_OMAN = 512, 144 CTRY_PAKISTAN = 586, 145 CTRY_PALAU = 585, 146 CTRY_PANAMA = 591, 147 CTRY_PAPUA_NEW_GUINEA = 598, 148 CTRY_PARAGUAY = 600, 149 CTRY_PERU = 604, 150 CTRY_PHILIPPINES = 608, 151 CTRY_POLAND = 616, 152 CTRY_PORTUGAL = 620, 153 CTRY_PUERTO_RICO = 630, 154 CTRY_QATAR = 634, 155 CTRY_REUNION = 638, 156 CTRY_ROMANIA = 642, 157 CTRY_RUSSIA = 643, 158 CTRY_RWANDA = 646, 159 CTRY_SAINT_BARTHELEMY = 652, 160 CTRY_SAINT_KITTS_AND_NEVIS = 659, 161 CTRY_SAINT_LUCIA = 662, 162 CTRY_SAINT_MARTIN = 663, 163 CTRY_SAINT_PIERRE_AND_MIQUELON = 666, 164 CTRY_SAINT_VINCENT_AND_THE_GRENADIENS = 670, 165 CTRY_SAMOA = 882, 166 CTRY_SAUDI_ARABIA = 682, 167 CTRY_SENEGAL = 686, 168 CTRY_SERBIA = 688, 169 CTRY_SINGAPORE = 702, 170 CTRY_SLOVAKIA = 703, 171 CTRY_SLOVENIA = 705, 172 CTRY_SOUTH_AFRICA = 710, 173 CTRY_SPAIN = 724, 174 CTRY_SURINAME = 740, 175 CTRY_SRI_LANKA = 144, 176 CTRY_SWEDEN = 752, 177 CTRY_SWITZERLAND = 756, 178 CTRY_TAIWAN = 158, 179 CTRY_TANZANIA = 834, 180 CTRY_THAILAND = 764, 181 CTRY_TOGO = 768, 182 CTRY_TRINIDAD_Y_TOBAGO = 780, 183 CTRY_TUNISIA = 788, 184 CTRY_TURKEY = 792, 185 CTRY_TURKS_AND_CAICOS = 796, 186 CTRY_UGANDA = 800, 187 CTRY_UKRAINE = 804, 188 CTRY_UAE = 784, 189 CTRY_UNITED_KINGDOM = 826, 190 CTRY_UNITED_STATES = 840, 191 CTRY_URUGUAY = 858, 192 CTRY_UZBEKISTAN = 860, 193 CTRY_VANUATU = 548, 194 CTRY_VENEZUELA = 862, 195 CTRY_VIET_NAM = 704, 196 CTRY_VIRGIN_ISLANDS = 850, 197 CTRY_WALLIS_AND_FUTUNA = 876, 198 CTRY_YEMEN = 887, 199 CTRY_ZIMBABWE = 716, 200 CTRY_JAPAN15 = 4015, 201 CTRY_JAPAN9 = 4009, 202 CTRY_JAPAN48 = 4048, 203 CTRY_JAPAN55 = 4055, 204 CTRY_JAPAN60 = 4060, 205 CTRY_XA = 4100, 206 }; 207 208 enum reg_domain { 209 NULL1_WORLD = 0x03, 210 211 FCC1_FCCA = 0x10, 212 FCC1_WORLD = 0x11, 213 FCC2_WORLD = 0x21, 214 FCC2_ETSIC = 0x22, 215 FCC3_FCCA = 0x3A, 216 FCC3_WORLD = 0x3B, 217 FCC3_ETSIC = 0x3F, 218 FCC4_FCCA = 0x12, 219 FCC6_WORLD = 0x23, 220 FCC6_FCCA = 0x14, 221 FCC8_FCCA = 0x16, 222 FCC11_WORLD = 0x19, 223 FCC13_WORLD = 0xE4, 224 FCC14_FCCB = 0xE6, 225 226 ETSI1_WORLD = 0x37, 227 ETSI3_WORLD = 0x36, 228 ETSI4_WORLD = 0x30, 229 ETSI8_WORLD = 0x3D, 230 ETSI9_WORLD = 0x3E, 231 ETSI11_WORLD = 0x26, 232 233 APL1_WORLD = 0x52, 234 APL1_ETSIC = 0x55, 235 APL2_WORLD = 0x45, 236 APL2_ETSIC = 0x56, 237 APL4_WORLD = 0x42, 238 APL6_WORLD = 0x5B, 239 APL8_WORLD = 0x5D, 240 APL9_WORLD = 0x5E, 241 APL10_WORLD = 0x5F, 242 APL11_FCCA = 0x4F, 243 APL12_WORLD = 0x51, 244 APL13_WORLD = 0x5A, 245 APL14_WORLD = 0x57, 246 APL15_WORLD = 0x59, 247 APL16_WORLD = 0x70, 248 APL17_ETSID = 0xE0, 249 APL19_ETSIC = 0x71, 250 APL20_WORLD = 0xE5, 251 APL23_WORLD = 0xE3, 252 253 MKK3_MKKC = 0x82, 254 MKK5_MKKA = 0x99, 255 MKK5_MKKC = 0x88, 256 MKK11_MKKC = 0xD7, 257 MKK16_MKKC = 0xDF, 258 259 WORLD_60 = 0x60, 260 WORLD_61 = 0x61, 261 WORLD_62 = 0x62, 262 WORLD_63 = 0x63, 263 WORLD_65 = 0x65, 264 WORLD_64 = 0x64, 265 WORLD_66 = 0x66, 266 WORLD_69 = 0x69, 267 WORLD_67 = 0x67, 268 WORLD_68 = 0x68, 269 WORLD_6A = 0x6A, 270 WORLD_6C = 0x6C, 271 }; 272 273 #ifndef CONFIG_MCL_REGDB 274 const struct country_code_to_reg_domain g_all_countries[] = { 275 {CTRY_AFGHANISTAN, ETSI1_WORLD, "AF", "AF" , 40, 160, 0}, 276 {CTRY_ALBANIA, ETSI1_WORLD, "AL", "AL", 40, 160, 0}, 277 {CTRY_ALGERIA, APL13_WORLD, "DZ", "DZ", 40, 160, 0}, 278 {CTRY_AMERICAN_SAMOA, FCC3_FCCA, "AS", "AS", 40, 160, 0}, 279 {CTRY_ANGUILLA, ETSI1_WORLD, "AI", "AI", 40, 160, 0}, 280 {CTRY_ARGENTINA, APL16_WORLD, "AR", "AR", 40, 160, 0}, 281 {CTRY_ARMENIA, ETSI4_WORLD, "AM", "AM", 40, 20, 0}, 282 {CTRY_ARUBA, ETSI1_WORLD, "AW", "AW", 40, 160, 0}, 283 {CTRY_AUSTRALIA, FCC6_WORLD, "AU", "AU", 40, 160, 0}, 284 {CTRY_AUSTRIA, ETSI1_WORLD, "AT", "AT", 40, 160, 0}, 285 {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", "AZ", 40, 160, 0}, 286 {CTRY_BAHAMAS, FCC3_WORLD, "BS", "BS", 40, 160, 0}, 287 {CTRY_BAHRAIN, APL15_WORLD, "BH", "BH", 40, 20, 0}, 288 {CTRY_BANGLADESH, APL1_WORLD, "BD", "BD", 40, 160, 0}, 289 {CTRY_BARBADOS, FCC2_WORLD, "BB", "BB", 40, 160, 0}, 290 {CTRY_BELARUS, ETSI1_WORLD, "BY", "BY", 40, 160, 0}, 291 {CTRY_BELGIUM, ETSI1_WORLD, "BE", "BE", 40, 160, 0}, 292 {CTRY_BELIZE, ETSI8_WORLD, "BZ", "BZ", 40, 160, 0}, 293 {CTRY_BERMUDA, FCC3_FCCA, "BM", "BM", 40, 160, 0}, 294 {CTRY_BHUTAN, ETSI1_WORLD, "BT", "BT", 40, 160, 0}, 295 {CTRY_BOLIVIA, APL8_WORLD, "BO", "BO", 40, 160, 0}, 296 {CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", "BA", 40, 160, 0}, 297 {CTRY_BRAZIL, FCC3_ETSIC, "BR", "BR", 40, 160, 0}, 298 {CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN", "BN", 40, 160, 0}, 299 {CTRY_BULGARIA, ETSI1_WORLD, "BG", "BG", 40, 160, 0}, 300 {CTRY_BURKINA_FASO, FCC3_WORLD, "BF", "BF", 40, 160, 0}, 301 {CTRY_CAMBODIA, ETSI1_WORLD, "KH", "KH", 40, 160, 0}, 302 {CTRY_CANADA, FCC6_FCCA, "CA", "CA", 40, 160, 0}, 303 {CTRY_CAYMAN_ISLANDS, FCC3_WORLD, "KY", "KY", 40, 160, 0}, 304 {CTRY_CENTRAL_AFRICA_REPUBLIC, FCC3_WORLD, "CF", "CF", 40, 40, 0}, 305 {CTRY_CHAD, ETSI1_WORLD, "TD", "TD", 40, 160, 0}, 306 {CTRY_CHILE, APL23_WORLD, "CL", "CL", 40, 160, 0}, 307 {CTRY_CHINA, APL14_WORLD, "CN", "CN", 40, 160, 0}, 308 {CTRY_CHRISTMAS_ISLAND, FCC3_WORLD, "CX", "CX", 40, 160, 0}, 309 {CTRY_COLOMBIA, FCC3_WORLD, "CO", "CO", 40, 160, 0}, 310 {CTRY_COSTA_RICA, FCC3_WORLD, "CR", "CR", 40, 20, 0}, 311 {CTRY_COTE_DIVOIRE, FCC3_WORLD, "CI", "CI", 40, 160, 0}, 312 {CTRY_CROATIA, ETSI1_WORLD, "HR", "HR", 40, 160, 0}, 313 {CTRY_CYPRUS, ETSI1_WORLD, "CY", "CY", 40, 160, 0}, 314 {CTRY_CZECH, ETSI1_WORLD, "CZ", "CZ", 40, 160, 0}, 315 {CTRY_DENMARK, ETSI1_WORLD, "DK", "DK" , 40, 160, 0}, 316 {CTRY_DOMINICA, FCC1_FCCA, "DM", "DM", 40, 160, 0}, 317 {CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO", "DO", 40, 160, 0}, 318 {CTRY_ECUADOR, FCC3_WORLD, "EC", "EC", 40, 20, 0}, 319 {CTRY_EGYPT, ETSI3_WORLD, "EG", "EG", 40, 40, 0}, 320 {CTRY_EL_SALVADOR, FCC1_WORLD, "SV", "SV", 40, 20, 0}, 321 {CTRY_ESTONIA, ETSI1_WORLD, "EE", "EE", 40, 160, 0}, 322 {CTRY_ETHIOPIA, ETSI1_WORLD, "ET", "ET", 40, 160, 0}, 323 {CTRY_FINLAND, ETSI1_WORLD, "FI", "FI" , 40, 160, 0}, 324 {CTRY_FRANCE, ETSI1_WORLD, "FR", "FR", 40, 160, 0}, 325 {CTRY_FRENCH_GUIANA, ETSI1_WORLD, "GF", "GF", 40, 160, 0}, 326 {CTRY_FRENCH_POLYNESIA, ETSI1_WORLD, "PF", "PF", 40, 160, 0}, 327 {CTRY_GEORGIA, ETSI4_WORLD, "GE", "GE", 40, 160, 0}, 328 {CTRY_GERMANY, ETSI1_WORLD, "DE", "DE", 40, 160, 0}, 329 {CTRY_GHANA, FCC3_WORLD, "GH", "GH", 40, 160, 0}, 330 {CTRY_GIBRALTAR, ETSI1_WORLD, "GI", "GI", 40, 160, 0}, 331 {CTRY_GREECE, ETSI1_WORLD, "GR", "GR", 40, 160, 0}, 332 {CTRY_GREENLAND, ETSI1_WORLD, "GL", "GL", 40, 160, 0}, 333 {CTRY_GRENADA, FCC3_FCCA, "GD", "GD", 40, 160, 0}, 334 {CTRY_GUADELOUPE, ETSI1_WORLD, "GP", "GP", 40, 160, 0}, 335 {CTRY_GUAM, FCC3_FCCA, "GU", "GU", 40, 160, 0}, 336 {CTRY_GUATEMALA, ETSI1_WORLD, "GT", "GT", 40, 160, 0}, 337 {CTRY_GUYANA, APL1_ETSIC, "GY", "GY", 40, 160, 0}, 338 {CTRY_HAITI, FCC3_FCCA, "HT", "HT", 40, 160, 0}, 339 {CTRY_HONDURAS, FCC3_WORLD, "HN", "HN", 40, 160, 0}, 340 {CTRY_HONG_KONG, FCC3_WORLD, "HK", "HK", 40, 160, 0}, 341 {CTRY_HUNGARY, ETSI1_WORLD, "HU", "HU" , 40, 160, 0}, 342 {CTRY_ICELAND, ETSI1_WORLD, "IS", "IS" , 40, 160, 0}, 343 {CTRY_INDIA, APL15_WORLD, "IN", "IN", 40, 160, 0}, 344 {CTRY_INDONESIA, APL2_ETSIC, "ID", "ID", 40, 20, 0}, 345 {CTRY_IRAQ, ETSI1_WORLD, "IQ", "IQ", 40, 160, 0}, 346 {CTRY_IRELAND, ETSI1_WORLD, "IE", "IE", 40, 160, 0}, 347 {CTRY_ISRAEL, ETSI3_WORLD, "IL", "IL", 40, 160, 0}, 348 {CTRY_ITALY, ETSI1_WORLD, "IT", "IT", 40, 160, 0}, 349 {CTRY_JAMAICA, FCC13_WORLD, "JM", "JM", 40, 160, 0}, 350 {CTRY_JORDAN, APL4_WORLD, "JO", "JO", 40, 160, 0}, 351 {CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ", "KZ", 40, 0, 0}, 352 {CTRY_KENYA, APL12_WORLD, "KE", "KE", 40, 160, 0}, 353 {CTRY_KOREA_ROC, APL9_WORLD, "KR", "KR", 40, 160, 0}, 354 {CTRY_KUWAIT, ETSI3_WORLD, "KW", "KW", 40, 160, 0}, 355 {CTRY_LATVIA, ETSI1_WORLD, "LV", "LV", 40, 160, 0}, 356 {CTRY_LEBANON, FCC3_WORLD, "LB", "LB", 40, 160, 0}, 357 {CTRY_LESOTHO, ETSI1_WORLD, "LS", "LS", 40, 160, 0}, 358 {CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", "LI", 40, 160, 0}, 359 {CTRY_LITHUANIA, ETSI1_WORLD, "LT", "LT", 40, 160, 0}, 360 {CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", "LU", 40, 160, 0}, 361 {CTRY_MACAU, FCC3_WORLD, "MO", "MO", 40, 160, 0}, 362 {CTRY_MACEDONIA, ETSI1_WORLD, "MK", "MK", 40, 160, 0}, 363 {CTRY_MALAWI, ETSI1_WORLD, "MW", "MW", 40, 160, 0}, 364 {CTRY_MALAYSIA, FCC11_WORLD, "MY", "MY", 40, 160, 0}, 365 {CTRY_MALDIVES, APL6_WORLD, "MV", "MV", 40, 160, 0}, 366 {CTRY_MALTA, ETSI1_WORLD, "MT", "MT", 40, 160, 0}, 367 {CTRY_MARSHALL_ISLANDS, FCC3_FCCA, "MH", "MH", 40, 160, 0}, 368 {CTRY_MARTINIQUE, ETSI1_WORLD, "MQ", "MQ", 40, 160, 0}, 369 {CTRY_MAURITANIA, ETSI1_WORLD, "MR", "MR", 40, 160, 0}, 370 {CTRY_MAURITIUS, FCC3_WORLD, "MU", "MU", 40, 160, 0}, 371 {CTRY_MAYOTTE, ETSI1_WORLD, "YT", "YT", 40, 160, 0}, 372 {CTRY_MEXICO, FCC3_ETSIC, "MX", "MX", 40, 160, 0}, 373 {CTRY_MICRONESIA, FCC3_FCCA, "FM", "FM", 40, 160, 0}, 374 {CTRY_MOLDOVA, ETSI1_WORLD, "MD", "MD", 40, 160, 0}, 375 {CTRY_MONACO, ETSI1_WORLD, "MC", "MC", 40, 160, 0}, 376 {CTRY_MONGOLIA, FCC3_WORLD, "MN", "MN", 40, 160, 0}, 377 {CTRY_MONTENEGRO, ETSI1_WORLD, "ME", "ME", 40, 160, 0}, 378 {CTRY_MOROCCO, ETSI3_WORLD, "MA", "MA", 40, 160, 0}, 379 {CTRY_NAMIBIA, APL20_WORLD, "NA", "NA", 40, 160, 0}, 380 {CTRY_NEPAL, APL23_WORLD, "NP", "NP", 40, 160, 0}, 381 {CTRY_NETHERLANDS, ETSI1_WORLD, "NL", "NP", 40, 160, 0}, 382 {CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN", "AN", 40, 160, 0}, 383 {CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", "NZ", 40, 160, 0}, 384 {CTRY_NIGERIA, APL8_WORLD, "NG", "NG", 40, 160, 0}, 385 {CTRY_NORTHERN_MARIANA_ISLANDS, FCC3_FCCA, "MP", "MP", 40, 160, 0}, 386 {CTRY_NICARAGUA, FCC3_FCCA, "NI", "NI", 40, 160, 0}, 387 {CTRY_NORWAY, ETSI1_WORLD, "NO", "NO", 40, 160, 0}, 388 {CTRY_OMAN, ETSI1_WORLD, "OM", "OM", 40, 160, 0}, 389 {CTRY_PAKISTAN, APL1_ETSIC, "PK", "PK", 40, 160, 0}, 390 {CTRY_PALAU, FCC3_FCCA, "PW", "PW", 40, 160, 0}, 391 {CTRY_PANAMA, FCC14_FCCB, "PA", "PA", 40, 160, 0}, 392 {CTRY_PAPUA_NEW_GUINEA, FCC3_WORLD, "PG", "PG", 40, 160, 0}, 393 {CTRY_PARAGUAY, FCC3_WORLD, "PY", "PY", 40, 160, 0}, 394 {CTRY_PERU, FCC3_WORLD, "PE", "PE", 40, 160, 0}, 395 {CTRY_PHILIPPINES, FCC3_WORLD, "PH", "PH", 40, 160, 0}, 396 {CTRY_POLAND, ETSI1_WORLD, "PL", "PL", 40, 160, 0}, 397 {CTRY_PORTUGAL, ETSI1_WORLD, "PT", "PT", 40, 160, 0}, 398 {CTRY_PUERTO_RICO, FCC3_FCCA, "PR", "PR", 40, 160, 0}, 399 {CTRY_QATAR, APL1_WORLD, "QA", "QA" , 40, 160, 0}, 400 {CTRY_REUNION, ETSI1_WORLD, "RE", "RE", 40, 160, 0}, 401 {CTRY_ROMANIA, ETSI1_WORLD, "RO", "RO", 40, 160, 0}, 402 {CTRY_RUSSIA, ETSI8_WORLD, "RU", "RU", 40, 160, 0}, 403 {CTRY_RWANDA, FCC3_WORLD, "RW", "RW", 40, 160, 0}, 404 {CTRY_SAINT_BARTHELEMY, ETSI1_WORLD, "BL", "BL", 40, 160, 0}, 405 {CTRY_SAINT_KITTS_AND_NEVIS, APL10_WORLD, "KN", "KN", 40, 160, 0}, 406 {CTRY_SAINT_LUCIA, APL10_WORLD, "LC", "LC", 40, 160, 0}, 407 {CTRY_SAINT_MARTIN, ETSI1_WORLD, "MF", "MF", 40, 160, 0}, 408 {CTRY_SAINT_PIERRE_AND_MIQUELON, ETSI1_WORLD, "PM", "PM", 40, 160, 0}, 409 {CTRY_SAINT_VINCENT_AND_THE_GRENADIENS, ETSI1_WORLD, "VC", 410 "VC" , 40, 160, 0}, 411 {CTRY_SAMOA, ETSI1_WORLD, "WS", "WS", 40, 40, 0}, 412 {CTRY_SAUDI_ARABIA, ETSI1_WORLD, "SA", "SA", 40, 160, 0}, 413 {CTRY_SENEGAL, FCC13_WORLD, "SN", "SN", 40, 160, 0}, 414 {CTRY_SERBIA, ETSI1_WORLD, "RS", "RS", 40, 160, 0}, 415 {CTRY_SINGAPORE, FCC3_WORLD, "SG", "SG", 40, 160, 0}, 416 {CTRY_SLOVAKIA, ETSI1_WORLD, "SK", "SK", 40, 160, 0}, 417 {CTRY_SLOVENIA, ETSI1_WORLD, "SI", "SI", 40, 160, 0}, 418 {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", "ZA", 40, 160, 0}, 419 {CTRY_SPAIN, ETSI1_WORLD, "ES", "ES", 40, 160, 0}, 420 {CTRY_SURINAME, ETSI1_WORLD, "SR", "SR", 40, 160, 0}, 421 {CTRY_SRI_LANKA, FCC3_WORLD, "LK", "LK", 40, 20, 0}, 422 {CTRY_SWEDEN, ETSI1_WORLD, "SE", "SE", 40, 160, 0}, 423 {CTRY_SWITZERLAND, ETSI1_WORLD, "CH", "CH", 40, 160, 0}, 424 {CTRY_TAIWAN, FCC3_FCCA, "TW", "TW", 40, 160, 0}, 425 {CTRY_TANZANIA, APL1_WORLD, "TZ", "TZ", 40, 160, 0}, 426 {CTRY_THAILAND, FCC3_WORLD, "TH", "TH", 40, 160, 0}, 427 {CTRY_TOGO, ETSI1_WORLD, "TG", "TG", 40, 40, 0}, 428 {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", "TT", 40, 160, 0}, 429 {CTRY_TUNISIA, ETSI3_WORLD, "TN", "TN", 40, 160, 0}, 430 {CTRY_TURKEY, ETSI1_WORLD, "TR", "TR", 40, 160, 0}, 431 {CTRY_TURKS_AND_CAICOS, FCC3_WORLD, "TC", "TC", 40, 160, 0}, 432 {CTRY_UGANDA, FCC3_WORLD, "UG", "UG", 40, 160, 0}, 433 {CTRY_UKRAINE, ETSI9_WORLD, "UA", "UA", 40, 160, 0}, 434 {CTRY_UAE, FCC3_WORLD, "AE", "AE", 40, 160, 0}, 435 {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", "GB", 40, 160, 0}, 436 {CTRY_UNITED_STATES, FCC8_FCCA, "US", "US", 40, 160, 0}, 437 {CTRY_URUGUAY, FCC2_WORLD, "UY", "UY", 40, 160, 0}, 438 {CTRY_UZBEKISTAN, ETSI3_WORLD, "UZ", "UZ", 40, 160, 0}, 439 {CTRY_VANUATU, FCC3_WORLD, "VU", "VU", 40, 160, 0}, 440 {CTRY_VENEZUELA, FCC2_ETSIC, "VE", "VE", 40, 160, 0}, 441 {CTRY_VIET_NAM, FCC3_WORLD, "VN", "VN", 40, 80, 0}, 442 {CTRY_VIRGIN_ISLANDS, FCC3_FCCA, "VI", "VI", 40, 160, 0}, 443 {CTRY_WALLIS_AND_FUTUNA, ETSI1_WORLD, "WF", "WF", 40, 160, 0}, 444 {CTRY_YEMEN, NULL1_WORLD, "YE", "YE", 40, 0, 0}, 445 {CTRY_ZIMBABWE, ETSI1_WORLD, "ZW", "ZW", 40, 160, 0}, 446 {CTRY_JAPAN15, MKK5_MKKC, "J15", "JP", 40, 160, 0}, 447 {CTRY_JAPAN9, MKK3_MKKC, "J9", "JP", 40, 160, 0}, 448 {CTRY_JAPAN48, MKK11_MKKC, "J48", "JP", 40, 160, 0}, 449 {CTRY_JAPAN55, MKK5_MKKA, "J55", "JP", 40, 160, 0}, 450 {CTRY_JAPAN60, MKK16_MKKC, "J60", "JP", 40, 160, 0}, 451 }; 452 #else 453 const struct country_code_to_reg_domain g_all_countries[] = { 454 {CTRY_AFGHANISTAN, ETSI1_WORLD, "AF", "AF", 40, 160, 0}, 455 {CTRY_ALBANIA, ETSI1_WORLD, "AL", "AL", 40, 160, 0}, 456 {CTRY_ALGERIA, APL13_WORLD, "DZ", "DZ", 40, 160, 0}, 457 {CTRY_AMERICAN_SAMOA, FCC3_FCCA, "AS", "AS", 40, 160, 0}, 458 {CTRY_ANGUILLA, ETSI1_WORLD, "AI", "AI", 40, 160, 0}, 459 {CTRY_ARGENTINA, APL17_ETSID, "AR1", "AR", 40, 160, 0}, 460 {CTRY_ARMENIA, ETSI4_WORLD, "AM", "AM", 40, 20, 0}, 461 {CTRY_ARUBA, ETSI1_WORLD, "AW", "AW", 40, 160, 0}, 462 {CTRY_AUSTRALIA, FCC6_WORLD, "AU", "AU", 40, 160, 0}, 463 {CTRY_AUSTRIA, ETSI1_WORLD, "AT", "AT", 40, 160, 0}, 464 {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", "AZ", 40, 160, 0}, 465 {CTRY_BAHAMAS, FCC3_WORLD, "BS", "BS", 40, 160, 0}, 466 {CTRY_BAHRAIN, APL15_WORLD, "BH", "BH", 40, 20, 0}, 467 {CTRY_BANGLADESH, APL1_WORLD, "BD", "BD", 40, 160, 0}, 468 {CTRY_BARBADOS, FCC2_WORLD, "BB", "BB", 40, 160, 0}, 469 {CTRY_BELARUS, ETSI1_WORLD, "BY", "BY", 40, 160, 0}, 470 {CTRY_BELGIUM, ETSI1_WORLD, "BE", "BE", 40, 160, 0}, 471 {CTRY_BELIZE, ETSI8_WORLD, "BZ", "BZ", 40, 160, 0}, 472 {CTRY_BERMUDA, FCC3_FCCA, "BM", "BM", 40, 160, 0}, 473 {CTRY_BHUTAN, ETSI1_WORLD, "BT", "BT", 40, 160, 0}, 474 {CTRY_BOLIVIA, APL8_WORLD, "BO", "BO", 40, 160, 0}, 475 {CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", "BA", 40, 160, 0}, 476 {CTRY_BRAZIL, FCC3_ETSIC, "BR", "BR", 40, 160, 0}, 477 {CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN", "BN", 40, 160, 0}, 478 {CTRY_BULGARIA, ETSI1_WORLD, "BG", "BG", 40, 160, 0}, 479 {CTRY_BURKINA_FASO, FCC3_WORLD, "BF", "BF", 40, 160, 0}, 480 {CTRY_CAMBODIA, ETSI1_WORLD, "KH", "KH", 40, 160, 0}, 481 {CTRY_CANADA, FCC3_FCCA, "CA", "CA", 40, 160, 0}, 482 {CTRY_CAYMAN_ISLANDS, FCC3_WORLD, "KY", "KY", 40, 160, 0}, 483 {CTRY_CENTRAL_AFRICA_REPUBLIC, FCC3_WORLD, "CF", "CF", 40, 40, 0}, 484 {CTRY_CHAD, ETSI1_WORLD, "TD", "TD", 40, 160, 0}, 485 {CTRY_CHILE, APL23_WORLD, "CL", "CL", 40, 160, 0}, 486 {CTRY_CHINA, APL14_WORLD, "CN", "CN", 40, 160, 0}, 487 {CTRY_CHRISTMAS_ISLAND, FCC3_WORLD, "CX", "CX", 40, 160, 0}, 488 {CTRY_COLOMBIA, FCC3_WORLD, "CO", "CO", 40, 160, 0}, 489 {CTRY_COSTA_RICA, FCC3_WORLD, "CR", "CR", 40, 20, 0}, 490 {CTRY_COTE_DIVOIRE, FCC3_WORLD, "CI", "CI", 40, 160, 0}, 491 {CTRY_CROATIA, ETSI1_WORLD, "HR", "HR", 40, 160, 0}, 492 {CTRY_CYPRUS, ETSI1_WORLD, "CY", "CY", 40, 160, 0}, 493 {CTRY_CZECH, ETSI1_WORLD, "CZ", "CZ", 40, 160, 0}, 494 {CTRY_DENMARK, ETSI1_WORLD, "DK", "DK", 40, 160, 0}, 495 {CTRY_DOMINICA, FCC2_FCCA, "DM", "DM", 40, 160, 0}, 496 {CTRY_DOMINICAN_REPUBLIC, FCC2_FCCA, "DO", "DO", 40, 160, 0}, 497 {CTRY_ECUADOR, FCC3_WORLD, "EC", "EC", 40, 20, 0}, 498 {CTRY_EGYPT, ETSI3_WORLD, "EG", "EG", 40, 40, 0}, 499 {CTRY_EL_SALVADOR, FCC2_WORLD, "SV", "SV", 40, 20, 0}, 500 {CTRY_ESTONIA, ETSI1_WORLD, "EE", "EE", 40, 160, 0}, 501 {CTRY_ETHIOPIA, ETSI1_WORLD, "ET", "ET", 40, 160, 0}, 502 {CTRY_FINLAND, ETSI1_WORLD, "FI", "FI", 40, 160, 0}, 503 {CTRY_FRANCE, ETSI1_WORLD, "FR", "FR", 40, 160, 0}, 504 {CTRY_FRENCH_GUIANA, ETSI1_WORLD, "GF", "GF", 40, 160, 0}, 505 {CTRY_FRENCH_POLYNESIA, ETSI1_WORLD, "PF", "PF", 40, 160, 0}, 506 {CTRY_GEORGIA, ETSI4_WORLD, "GE", "GE", 40, 160, 0}, 507 {CTRY_GERMANY, ETSI1_WORLD, "DE", "DE", 40, 160, 0}, 508 {CTRY_GHANA, FCC3_WORLD, "GH", "GH", 40, 160, 0}, 509 {CTRY_GIBRALTAR, ETSI1_WORLD, "GI", "GI", 40, 160, 0}, 510 {CTRY_GREECE, ETSI1_WORLD, "GR", "GR", 40, 160, 0}, 511 {CTRY_GREENLAND, ETSI1_WORLD, "GL", "GL", 40, 160, 0}, 512 {CTRY_GRENADA, FCC3_FCCA, "GD", "GD", 40, 160, 0}, 513 {CTRY_GUADELOUPE, ETSI1_WORLD, "GP", "GP", 40, 160, 0}, 514 {CTRY_GUAM, FCC3_FCCA, "GU", "GU", 40, 160, 0}, 515 {CTRY_GUATEMALA, ETSI1_WORLD, "GT", "GT", 40, 160, 0}, 516 {CTRY_GUYANA, APL1_ETSIC, "GY", "GY", 40, 160, 0}, 517 {CTRY_HAITI, FCC3_FCCA, "HT", "HT", 40, 160, 0}, 518 {CTRY_HONDURAS, FCC13_WORLD, "HN", "HN", 40, 160, 0}, 519 {CTRY_HONG_KONG, FCC3_WORLD, "HK", "HK", 40, 160, 0}, 520 {CTRY_HUNGARY, ETSI1_WORLD, "HU", "HU", 40, 160, 0}, 521 {CTRY_ICELAND, ETSI1_WORLD, "IS", "IS", 40, 160, 0}, 522 {CTRY_INDIA, APL15_WORLD, "IN", "IN", 40, 160, 0}, 523 {CTRY_INDONESIA, APL2_ETSIC, "ID", "ID", 40, 20, 0}, 524 {CTRY_IRAQ, ETSI1_WORLD, "IQ", "IQ", 40, 160, 0}, 525 {CTRY_IRELAND, ETSI1_WORLD, "IE", "IE", 40, 160, 0}, 526 {CTRY_ISRAEL, ETSI3_WORLD, "IL", "IL", 40, 160, 0}, 527 {CTRY_ITALY, ETSI1_WORLD, "IT", "IT", 40, 160, 0}, 528 {CTRY_JAMAICA, FCC13_WORLD, "JM", "JM", 40, 160, 0}, 529 {CTRY_JORDAN, APL4_WORLD, "JO", "JO", 40, 160, 0}, 530 {CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ", "KZ", 40, 0, 0}, 531 {CTRY_KENYA, APL12_WORLD, "KE", "KE", 40, 160, 0}, 532 {CTRY_KOREA_ROC, APL9_WORLD, "KR", "KR", 40, 160, 0}, 533 {CTRY_KUWAIT, ETSI3_WORLD, "KW", "KW", 40, 160, 0}, 534 {CTRY_LATVIA, ETSI1_WORLD, "LV", "LV", 40, 160, 0}, 535 {CTRY_LEBANON, FCC3_WORLD, "LB", "LB", 40, 160, 0}, 536 {CTRY_LESOTHO, ETSI1_WORLD, "LS", "LS", 40, 160, 0}, 537 {CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", "LI", 40, 160, 0}, 538 {CTRY_LITHUANIA, ETSI1_WORLD, "LT", "LT", 40, 160, 0}, 539 {CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", "LU", 40, 160, 0}, 540 {CTRY_MACAU, FCC3_WORLD, "MO", "MO", 40, 160, 0}, 541 {CTRY_MACEDONIA, ETSI1_WORLD, "MK", "MK", 40, 160, 0}, 542 {CTRY_MALAWI, ETSI1_WORLD, "MW", "MW", 40, 160, 0}, 543 {CTRY_MALAYSIA, FCC11_WORLD, "MY", "MY", 40, 160, 0}, 544 {CTRY_MALDIVES, APL6_WORLD, "MV", "MV", 40, 160, 0}, 545 {CTRY_MALTA, ETSI1_WORLD, "MT", "MT", 40, 160, 0}, 546 {CTRY_MARSHALL_ISLANDS, FCC3_FCCA, "MH", "MH", 40, 160, 0}, 547 {CTRY_MARTINIQUE, ETSI1_WORLD, "MQ", "MQ", 40, 160, 0}, 548 {CTRY_MAURITANIA, ETSI1_WORLD, "MR", "MR", 40, 160, 0}, 549 {CTRY_MAURITIUS, FCC3_WORLD, "MU", "MU", 40, 160, 0}, 550 {CTRY_MAYOTTE, ETSI1_WORLD, "YT", "YT", 40, 160, 0}, 551 {CTRY_MEXICO, FCC3_ETSIC, "MX", "MX", 40, 160, 0}, 552 {CTRY_MICRONESIA, FCC3_FCCA, "FM", "FM", 40, 160, 0}, 553 {CTRY_MOLDOVA, ETSI1_WORLD, "MD", "MD", 40, 160, 0}, 554 {CTRY_MONACO, ETSI1_WORLD, "MC", "MC", 40, 160, 0}, 555 {CTRY_MONGOLIA, FCC3_WORLD, "MN", "MN", 40, 160, 0}, 556 {CTRY_MONTENEGRO, ETSI1_WORLD, "ME", "ME", 40, 160, 0}, 557 {CTRY_MOROCCO, ETSI3_WORLD, "MA", "MA", 40, 160, 0}, 558 {CTRY_NAMIBIA, APL20_WORLD, "NA", "NA", 40, 160, 0}, 559 {CTRY_NEPAL, APL23_WORLD, "NP", "NP", 40, 160, 0}, 560 {CTRY_NETHERLANDS, ETSI1_WORLD, "NL", "NP", 40, 160, 0}, 561 {CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN", "AN", 40, 160, 0}, 562 {CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", "NZ", 40, 160, 0}, 563 {CTRY_NIGERIA, APL8_WORLD, "NG", "NG", 40, 160, 0}, 564 {CTRY_NORTHERN_MARIANA_ISLANDS, FCC3_FCCA, "MP", "MP", 40, 160, 0}, 565 {CTRY_NICARAGUA, FCC3_FCCA, "NI", "NI", 40, 160, 0}, 566 {CTRY_NORWAY, ETSI1_WORLD, "NO", "NO", 40, 160, 0}, 567 {CTRY_OMAN, ETSI1_WORLD, "OM", "OM", 40, 160, 0}, 568 {CTRY_PAKISTAN, APL1_ETSIC, "PK", "PK", 40, 160, 0}, 569 {CTRY_PALAU, FCC3_FCCA, "PW", "PW", 40, 160, 0}, 570 {CTRY_PANAMA, FCC14_FCCB, "PA", "PA", 40, 160, 0}, 571 {CTRY_PAPUA_NEW_GUINEA, FCC3_WORLD, "PG", "PG", 40, 160, 0}, 572 {CTRY_PARAGUAY, FCC3_WORLD, "PY", "PY", 40, 160, 0}, 573 {CTRY_PERU, FCC3_WORLD, "PE", "PE", 40, 160, 0}, 574 {CTRY_PHILIPPINES, FCC3_WORLD, "PH", "PH", 40, 160, 0}, 575 {CTRY_POLAND, ETSI1_WORLD, "PL", "PL", 40, 160, 0}, 576 {CTRY_PORTUGAL, ETSI1_WORLD, "PT", "PT", 40, 160, 0}, 577 {CTRY_PUERTO_RICO, FCC3_FCCA, "PR", "PR", 40, 160, 0}, 578 {CTRY_QATAR, APL1_WORLD, "QA", "QA", 40, 160, 0}, 579 {CTRY_REUNION, ETSI1_WORLD, "RE", "RE", 40, 160, 0}, 580 {CTRY_ROMANIA, ETSI1_WORLD, "RO", "RO", 40, 160, 0}, 581 {CTRY_RUSSIA, ETSI8_WORLD, "RU", "RU", 40, 160, 0}, 582 {CTRY_RWANDA, FCC3_WORLD, "RW", "RW", 40, 160, 0}, 583 {CTRY_SAINT_BARTHELEMY, ETSI1_WORLD, "BL", "BL", 40, 160, 0}, 584 {CTRY_SAINT_KITTS_AND_NEVIS, APL10_WORLD, "KN", "KN", 40, 160, 0}, 585 {CTRY_SAINT_LUCIA, APL10_WORLD, "LC", "LC", 40, 160, 0}, 586 {CTRY_SAINT_MARTIN, ETSI1_WORLD, "MF", "MF", 40, 160, 0}, 587 {CTRY_SAINT_PIERRE_AND_MIQUELON, ETSI1_WORLD, "PM", "PM", 40, 160, 0}, 588 {CTRY_SAINT_VINCENT_AND_THE_GRENADIENS, ETSI1_WORLD, "VC", 589 "VC", 40, 160, 0}, 590 {CTRY_SAMOA, ETSI1_WORLD, "WS", "WS", 40, 40, 0}, 591 {CTRY_SAUDI_ARABIA, ETSI1_WORLD, "SA", "SA", 40, 160, 0}, 592 {CTRY_SENEGAL, FCC13_WORLD, "SN", "SN", 40, 160, 0}, 593 {CTRY_SERBIA, ETSI1_WORLD, "RS", "RS", 40, 160, 0}, 594 {CTRY_SINGAPORE, FCC3_WORLD, "SG", "SG", 40, 160, 0}, 595 {CTRY_SLOVAKIA, ETSI1_WORLD, "SK", "SK", 40, 160, 0}, 596 {CTRY_SLOVENIA, ETSI1_WORLD, "SI", "SI", 40, 160, 0}, 597 {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", "ZA", 40, 160, 0}, 598 {CTRY_SPAIN, ETSI1_WORLD, "ES", "ES", 40, 160, 0}, 599 {CTRY_SURINAME, ETSI1_WORLD, "SR", "SR", 40, 160, 0}, 600 {CTRY_SRI_LANKA, FCC3_WORLD, "LK", "LK", 40, 20, 0}, 601 {CTRY_SWEDEN, ETSI1_WORLD, "SE", "SE", 40, 160, 0}, 602 {CTRY_SWITZERLAND, ETSI1_WORLD, "CH", "CH", 40, 160, 0}, 603 {CTRY_TAIWAN, FCC3_FCCA, "TW", "TW", 40, 160, 0}, 604 {CTRY_TANZANIA, APL1_WORLD, "TZ", "TZ", 40, 160, 0}, 605 {CTRY_THAILAND, FCC3_WORLD, "TH", "TH", 40, 160, 0}, 606 {CTRY_TOGO, ETSI1_WORLD, "TG", "TG", 40, 40, 0}, 607 {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", "TT", 40, 160, 0}, 608 {CTRY_TUNISIA, ETSI3_WORLD, "TN", "TN", 40, 160, 0}, 609 {CTRY_TURKEY, ETSI1_WORLD, "TR", "TR", 40, 160, 0}, 610 {CTRY_TURKS_AND_CAICOS, FCC3_WORLD, "TC", "TC", 40, 160, 0}, 611 {CTRY_UGANDA, FCC3_WORLD, "UG", "UG", 40, 160, 0}, 612 {CTRY_UKRAINE, ETSI9_WORLD, "UA", "UA", 40, 160, 0}, 613 {CTRY_UAE, FCC3_WORLD, "AE", "AE", 40, 160, 0}, 614 {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", "GB", 40, 160, 0}, 615 {CTRY_UNITED_STATES, FCC8_FCCA, "US", "US", 40, 160, 0}, 616 {CTRY_URUGUAY, FCC2_WORLD, "UY", "UY", 40, 160, 0}, 617 {CTRY_UZBEKISTAN, ETSI3_WORLD, "UZ", "UZ", 40, 160, 0}, 618 {CTRY_VANUATU, FCC3_WORLD, "VU", "VU", 40, 160, 0}, 619 {CTRY_VENEZUELA, FCC2_ETSIC, "VE", "VE", 40, 160, 0}, 620 {CTRY_VIET_NAM, FCC3_WORLD, "VN", "VN", 40, 80, 0}, 621 {CTRY_VIRGIN_ISLANDS, FCC3_FCCA, "VI", "VI", 40, 160, 0}, 622 {CTRY_WALLIS_AND_FUTUNA, ETSI1_WORLD, "WF", "WF", 40, 160, 0}, 623 {CTRY_YEMEN, NULL1_WORLD, "YE", "YE", 40, 0, 0}, 624 {CTRY_ZIMBABWE, ETSI1_WORLD, "ZW", "ZW", 40, 160, 0}, 625 {CTRY_JAPAN15, MKK5_MKKC, "J15", "JP" , 40, 160, 0}, 626 {CTRY_JAPAN9, MKK3_MKKC, "J9", "JP", 40, 160, 0}, 627 {CTRY_JAPAN48, MKK11_MKKC, "J48", "JP", 40, 160, 0}, 628 {CTRY_JAPAN55, MKK5_MKKA, "J55", "JP", 40, 160, 0}, 629 {CTRY_JAPAN60, MKK16_MKKC, "J60", "JP", 40, 160, 0}, 630 {CTRY_XA, MKK5_MKKA, "XA", "XA", 40, 160, 0}, 631 }; 632 #endif 633 634 enum reg_domains_2g { 635 FCCA, 636 FCCB, 637 WORLD, 638 MKKA, 639 MKKC, 640 ETSIC, 641 ETSID, 642 WORLD_2G_1, 643 WORLD_2G_2, 644 WORLD_2G_3, 645 }; 646 647 enum reg_domains_5g { 648 NULL1, 649 FCC1, 650 FCC2, 651 FCC3, 652 FCC4, 653 FCC6, 654 FCC8, 655 FCC11, 656 FCC13, 657 FCC14, 658 ETSI1, 659 ETSI3, 660 ETSI4, 661 ETSI8, 662 ETSI9, 663 ETSI11, 664 APL1, 665 APL2, 666 APL4, 667 APL6, 668 APL8, 669 APL9, 670 APL10, 671 APL11, 672 APL12, 673 APL13, 674 APL14, 675 APL15, 676 APL16, 677 APL17, 678 APL19, 679 APL20, 680 APL23, 681 MKK3, 682 MKK4, 683 MKK5, 684 MKK9, 685 MKK10, 686 MKK11, 687 MKK16, 688 WORLD_5G_1, 689 WORLD_5G_2, 690 }; 691 692 693 const struct reg_domain_pair g_reg_dmn_pairs[] = { 694 {NULL1_WORLD, NULL1, WORLD}, 695 696 {FCC1_FCCA, FCC1, FCCA}, 697 {FCC1_WORLD, FCC1, WORLD}, 698 {FCC2_WORLD, FCC2, WORLD}, 699 {FCC2_ETSIC, FCC2, ETSIC}, 700 {FCC3_FCCA, FCC3, FCCA}, 701 {FCC3_WORLD, FCC3, WORLD}, 702 {FCC3_ETSIC, FCC3, ETSIC}, 703 {FCC4_FCCA, FCC4, FCCA}, 704 {FCC6_WORLD, FCC6, WORLD}, 705 {FCC6_FCCA, FCC6, FCCA}, 706 {FCC8_FCCA, FCC8, FCCA}, 707 {FCC11_WORLD, FCC11, WORLD}, 708 {FCC13_WORLD, FCC13, WORLD}, 709 {FCC14_FCCB, FCC14, FCCB}, 710 711 {ETSI1_WORLD, ETSI1, WORLD}, 712 {ETSI3_WORLD, ETSI3, WORLD}, 713 {ETSI4_WORLD, ETSI4, WORLD}, 714 {ETSI8_WORLD, ETSI8, WORLD}, 715 {ETSI9_WORLD, ETSI9, WORLD}, 716 {ETSI11_WORLD, ETSI11, WORLD}, 717 718 {APL1_WORLD, APL1, WORLD}, 719 {APL1_ETSIC, APL1, ETSIC}, 720 {APL2_WORLD, APL2, WORLD}, 721 {APL2_ETSIC, APL2, ETSIC}, 722 {APL4_WORLD, APL4, WORLD}, 723 {APL6_WORLD, APL6, WORLD}, 724 {APL8_WORLD, APL8, WORLD}, 725 {APL9_WORLD, APL9, WORLD}, 726 {APL10_WORLD, APL10, WORLD}, 727 {APL11_FCCA, APL11, FCCA}, 728 {APL12_WORLD, APL12, WORLD}, 729 {APL13_WORLD, APL13, WORLD}, 730 {APL14_WORLD, APL14, WORLD}, 731 {APL15_WORLD, APL15, WORLD}, 732 {APL16_WORLD, APL16, WORLD}, 733 {APL17_ETSID, APL17, ETSID}, 734 {APL19_ETSIC, APL19, ETSIC}, 735 {APL20_WORLD, APL20, WORLD}, 736 {APL23_WORLD, APL23, WORLD}, 737 738 {MKK3_MKKC, MKK3, MKKC}, 739 {MKK5_MKKA, MKK5, MKKA}, 740 {MKK5_MKKC, MKK5, MKKC}, 741 {MKK11_MKKC, MKK11, MKKC}, 742 {MKK16_MKKC, MKK16, MKKC}, 743 744 {WORLD_60, WORLD_5G_2, WORLD_2G_3}, 745 {WORLD_61, WORLD_5G_2, WORLD_2G_3}, 746 {WORLD_62, WORLD_5G_2, WORLD_2G_3}, 747 {WORLD_63, WORLD_5G_1, WORLD_2G_2}, 748 {WORLD_65, WORLD_5G_1, WORLD_2G_2}, 749 {WORLD_64, WORLD_5G_1, WORLD_2G_1}, 750 {WORLD_66, WORLD_5G_2, WORLD_2G_1}, 751 {WORLD_69, WORLD_5G_2, WORLD_2G_1}, 752 {WORLD_67, WORLD_5G_2, WORLD_2G_2}, 753 {WORLD_68, WORLD_5G_2, WORLD_2G_2}, 754 {WORLD_6A, WORLD_5G_2, WORLD_2G_2}, 755 {WORLD_6C, WORLD_5G_2, WORLD_2G_2}, 756 }; 757 758 enum reg_rules_2g { 759 760 CHAN_1_11_1, 761 CHAN_1_11_2, 762 CHAN_1_11_3, 763 CHAN_1_13_1, 764 CHAN_1_13_2, 765 CHAN_1_13_3, 766 CHAN_12_13_1, 767 CHAN_14_1, 768 CHAN_14_2, 769 }; 770 771 const struct regulatory_rule reg_rules_2g[] = { 772 773 [CHAN_1_11_1] = {2402, 2472, 40, 30, 0}, 774 [CHAN_1_11_2] = {2402, 2472, 40, 20, 0}, 775 [CHAN_1_11_3] = {2402, 2472, 40, 36, 0}, 776 [CHAN_1_13_1] = {2402, 2482, 40, 20, 0}, 777 [CHAN_1_13_2] = {2402, 2482, 40, 30, 0}, 778 [CHAN_1_13_3] = {2402, 2482, 40, 36, 0}, 779 [CHAN_12_13_1] = {2457, 2482, 40, 30, REGULATORY_CHAN_NO_IR}, 780 [CHAN_14_1] = {2474, 2494, 20, 20, REGULATORY_CHAN_NO_OFDM}, 781 [CHAN_14_2] = {2474, 2494, 20, 20, 782 REGULATORY_CHAN_NO_OFDM | REGULATORY_CHAN_NO_IR}, 783 }; 784 785 786 const struct regdomain regdomains_2g[] = { 787 788 [FCCA] = {CTL_FCC, DFS_UNINIT_REG, 0, 6, 1, {CHAN_1_11_1} }, 789 [FCCB] = {CTL_FCC, DFS_UNINIT_REG, 0, 6, 1, {CHAN_1_11_3} }, 790 [WORLD] = {CTL_ETSI, DFS_UNINIT_REG, 0, 0, 1, {CHAN_1_13_1} }, 791 [MKKA] = {CTL_MKK, DFS_UNINIT_REG, 0, 0, 2, {CHAN_1_13_1, CHAN_14_1} }, 792 [MKKC] = {CTL_MKK, DFS_UNINIT_REG, 0, 0, 1, {CHAN_1_13_1} }, 793 [ETSIC] = {CTL_ETSI, DFS_UNINIT_REG, 0, 0, 1, {CHAN_1_13_2} }, 794 [ETSID] = {CTL_ETSI, DFS_UNINIT_REG, 0, 0, 1, {CHAN_1_13_3} }, 795 [WORLD_2G_1] = {CTL_NONE, DFS_UNINIT_REG, 0, 0, 1, {CHAN_1_11_2} }, 796 [WORLD_2G_2] = {CTL_NONE, DFS_UNINIT_REG, 0, 0, 2, 797 {CHAN_1_11_2, CHAN_12_13_1} }, 798 [WORLD_2G_3] = {CTL_NONE, DFS_UNINIT_REG, 0, 0, 3, 799 {CHAN_1_11_2, CHAN_12_13_1, CHAN_14_2} }, 800 }; 801 802 803 enum reg_rules_5g { 804 805 CHAN_4910_4990_1, 806 CHAN_4940_4990_1, 807 CHAN_5030_5090_1, 808 CHAN_5170_5250_1, 809 CHAN_5170_5250_2, 810 CHAN_5170_5250_3, 811 CHAN_5170_5250_4, 812 CHAN_5170_5250_5, 813 CHAN_5170_5250_6, 814 CHAN_5170_5250_7, 815 CHAN_5170_5250_8, 816 CHAN_5170_5250_9, 817 CHAN_5170_5330_1, 818 CHAN_5170_5330_2, 819 CHAN_5250_5330_1, 820 CHAN_5250_5330_2, 821 CHAN_5250_5330_3, 822 CHAN_5250_5330_4, 823 CHAN_5250_5330_5, 824 CHAN_5250_5330_6, 825 CHAN_5250_5330_7, 826 CHAN_5250_5330_8, 827 CHAN_5250_5330_9, 828 CHAN_5250_5330_10, 829 CHAN_5250_5330_11, 830 CHAN_5250_5330_12, 831 CHAN_5250_5330_13, 832 CHAN_5490_5730_1, 833 CHAN_5490_5730_2, 834 CHAN_5490_5730_3, 835 CHAN_5490_5730_4, 836 CHAN_5490_5730_5, 837 CHAN_5490_5710_1, 838 CHAN_5490_5710_2, 839 CHAN_5490_5710_3, 840 CHAN_5490_5710_4, 841 CHAN_5490_5590_1, 842 CHAN_5490_5590_2, 843 CHAN_5490_5590_3, 844 CHAN_5490_5570_1, 845 CHAN_5490_5650_2, 846 CHAN_5490_5670_1, 847 CHAN_5490_5670_2, 848 CHAN_5490_5630_1, 849 CHAN_5650_5730_1, 850 CHAN_5650_5730_2, 851 CHAN_5650_5730_3, 852 CHAN_5735_5835_1, 853 CHAN_5735_5835_2, 854 CHAN_5735_5835_3, 855 CHAN_5735_5835_4, 856 CHAN_5735_5835_5, 857 CHAN_5735_5835_6, 858 CHAN_5735_5835_7, 859 CHAN_5735_5875_1, 860 CHAN_5735_5875_2, 861 CHAN_5735_5875_3, 862 CHAN_5735_5815_1, 863 CHAN_5735_5775_1, 864 CHAN_5835_5855_1, 865 CHAN_5855_5875_1, 866 }; 867 868 const struct regulatory_rule reg_rules_5g[] = { 869 870 [CHAN_4910_4990_1] = {4910, 4990, 20, 20, 0}, 871 [CHAN_4940_4990_1] = {4940, 4990, 20, 33, 0}, 872 [CHAN_5030_5090_1] = {5030, 5090, 20, 20, 0}, 873 [CHAN_5170_5250_1] = {5170, 5250, 80, 17, 0}, 874 [CHAN_5170_5250_2] = {5170, 5250, 80, 23, 0}, 875 [CHAN_5170_5250_3] = {5170, 5250, 80, 20, 0}, 876 [CHAN_5170_5250_4] = {5170, 5250, 80, 30, 0}, 877 [CHAN_5170_5250_5] = {5170, 5250, 80, 24, 0}, 878 [CHAN_5170_5250_6] = {5170, 5250, 80, 18, 0}, 879 [CHAN_5170_5250_7] = {5170, 5250, 80, 20, REGULATORY_CHAN_INDOOR_ONLY}, 880 [CHAN_5170_5250_8] = {5170, 5250, 80, 23, REGULATORY_CHAN_INDOOR_ONLY}, 881 [CHAN_5170_5250_9] = {5170, 5250, 40, 30, 0}, 882 [CHAN_5170_5330_1] = {5170, 5330, 160, 20, REGULATORY_CHAN_NO_IR}, 883 [CHAN_5170_5330_2] = {5170, 5330, 160, 24, 0}, 884 [CHAN_5250_5330_1] = {5250, 5330, 80, 23, REGULATORY_CHAN_RADAR}, 885 [CHAN_5250_5330_2] = {5250, 5330, 80, 20, REGULATORY_CHAN_RADAR}, 886 [CHAN_5250_5330_3] = {5250, 5330, 80, 18, REGULATORY_CHAN_RADAR}, 887 [CHAN_5250_5330_4] = {5250, 5330, 80, 30, REGULATORY_CHAN_RADAR}, 888 [CHAN_5250_5330_5] = {5250, 5330, 80, 23, 0}, 889 [CHAN_5250_5330_6] = {5250, 5330, 80, 30, 0}, 890 [CHAN_5250_5330_7] = {5250, 5330, 80, 24, REGULATORY_CHAN_RADAR}, 891 [CHAN_5250_5330_8] = {5250, 5330, 80, 36, 0}, 892 [CHAN_5250_5330_9] = {5250, 5330, 80, 20, 0}, 893 [CHAN_5250_5330_10] = {5250, 5330, 80, 24, 0}, 894 [CHAN_5250_5330_11] = {5250, 5330, 80, 20, REGULATORY_CHAN_INDOOR_ONLY}, 895 [CHAN_5250_5330_12] = {5250, 5330, 80, 23, REGULATORY_CHAN_RADAR | 896 REGULATORY_CHAN_INDOOR_ONLY}, 897 [CHAN_5250_5330_13] = {5250, 5330, 40, 30, REGULATORY_CHAN_RADAR}, 898 [CHAN_5490_5730_1] = {5490, 5730, 160, 24, REGULATORY_CHAN_RADAR}, 899 [CHAN_5490_5730_2] = {5490, 5730, 160, 20, REGULATORY_CHAN_NO_IR}, 900 [CHAN_5490_5730_3] = {5490, 5730, 160, 30, 0}, 901 [CHAN_5490_5730_4] = {5490, 5730, 160, 24, 0}, 902 [CHAN_5490_5730_5] = {5490, 5730, 160, 30, REGULATORY_CHAN_RADAR}, 903 [CHAN_5490_5710_1] = {5490, 5710, 160, 30, REGULATORY_CHAN_RADAR}, 904 [CHAN_5490_5710_2] = {5490, 5710, 160, 20, REGULATORY_CHAN_RADAR}, 905 [CHAN_5490_5710_3] = {5490, 5710, 160, 27, REGULATORY_CHAN_RADAR}, 906 [CHAN_5490_5710_4] = {5490, 5710, 40, 30, REGULATORY_CHAN_RADAR}, 907 [CHAN_5490_5590_1] = {5490, 5590, 80, 24, REGULATORY_CHAN_RADAR}, 908 [CHAN_5490_5590_2] = {5490, 5590, 80, 30, 0}, 909 [CHAN_5490_5590_3] = {5490, 5590, 80, 36, 0}, 910 [CHAN_5490_5570_1] = {5490, 5570, 80, 30, REGULATORY_CHAN_RADAR}, 911 [CHAN_5490_5650_2] = {5490, 5650, 160, 24, REGULATORY_CHAN_RADAR}, 912 [CHAN_5490_5670_1] = {5490, 5670, 160, 20, REGULATORY_CHAN_RADAR}, 913 [CHAN_5490_5670_2] = {5490, 5670, 160, 23, REGULATORY_CHAN_RADAR}, 914 [CHAN_5490_5630_1] = {5490, 5630, 80, 30, REGULATORY_CHAN_RADAR}, 915 [CHAN_5650_5730_1] = {5650, 5730, 80, 24, REGULATORY_CHAN_RADAR}, 916 [CHAN_5650_5730_2] = {5650, 5730, 80, 30, 0}, 917 [CHAN_5650_5730_3] = {5650, 5730, 80, 36, 0}, 918 [CHAN_5735_5835_1] = {5735, 5835, 80, 23, 0}, 919 [CHAN_5735_5835_2] = {5735, 5835, 80, 30, 0}, 920 [CHAN_5735_5835_3] = {5735, 5835, 80, 20, 0}, 921 [CHAN_5735_5835_4] = {5735, 5835, 80, 33, 0}, 922 [CHAN_5735_5835_5] = {5735, 5835, 80, 20, REGULATORY_CHAN_NO_IR}, 923 [CHAN_5735_5835_6] = {5735, 5835, 80, 24, 0}, 924 [CHAN_5735_5835_7] = {5735, 5835, 80, 36, 0}, 925 [CHAN_5735_5875_1] = {5735, 5875, 20, 27, REGULATORY_CHAN_RADAR}, 926 [CHAN_5735_5875_2] = {5735, 5875, 20, 30, 0}, 927 [CHAN_5735_5875_3] = {5735, 5875, 80, 30, 0}, 928 [CHAN_5735_5815_1] = {5735, 5815, 80, 30, 0}, 929 [CHAN_5735_5775_1] = {5735, 5775, 40, 23, 0}, 930 [CHAN_5835_5855_1] = {5835, 5855, 20, 30, 0}, 931 [CHAN_5855_5875_1] = {5855, 5875, 20, 30, 0}, 932 }; 933 934 935 const struct regdomain regdomains_5g[] = { 936 937 [FCC1] = {CTL_FCC, DFS_FCC_REG, 2, 6, 3, {CHAN_5170_5250_1, 938 CHAN_5250_5330_1, 939 CHAN_5735_5835_2} }, 940 941 [FCC2] = {CTL_FCC, DFS_FCC_REG, 2, 6, 3, {CHAN_5170_5250_2, 942 CHAN_5250_5330_1, 943 CHAN_5735_5835_2} }, 944 945 [FCC3] = {CTL_FCC, DFS_FCC_REG, 2, 6, 4, {CHAN_5170_5250_5, 946 CHAN_5250_5330_7, 947 CHAN_5490_5730_1, 948 CHAN_5735_5835_2} }, 949 950 [FCC4] = {CTL_FCC, DFS_FCC_REG, 2, 6, 1, {CHAN_4940_4990_1} }, 951 952 [FCC6] = {CTL_FCC, DFS_FCC_REG, 2, 6, 5, {CHAN_5170_5250_5, 953 CHAN_5250_5330_7, 954 CHAN_5490_5590_1, 955 CHAN_5650_5730_1, 956 CHAN_5735_5835_2} }, 957 958 [FCC8] = {CTL_FCC, DFS_FCC_REG, 2, 6, 4, {CHAN_5170_5250_4, 959 CHAN_5250_5330_7, 960 CHAN_5490_5730_1, 961 CHAN_5735_5835_2} }, 962 963 [FCC11] = {CTL_FCC, DFS_FCC_REG, 2, 6, 4, {CHAN_5170_5250_5, 964 CHAN_5250_5330_7, 965 CHAN_5490_5650_2, 966 CHAN_5735_5835_6} }, 967 968 [FCC13] = {CTL_FCC, DFS_UNINIT_REG, 2, 0, 4, {CHAN_5170_5330_2, 969 CHAN_5250_5330_10, 970 CHAN_5490_5730_4, 971 CHAN_5735_5835_2} }, 972 973 [FCC14] = {CTL_FCC, DFS_UNINIT_REG, 2, 0, 3, {CHAN_5170_5250_2, 974 CHAN_5250_5330_6, 975 CHAN_5735_5835_7} }, 976 977 [ETSI1] = {CTL_ETSI, DFS_ETSI_REG, 2, 0, 3, {CHAN_5170_5250_2, 978 CHAN_5250_5330_1, 979 CHAN_5490_5710_1} }, 980 981 [ETSI3] = {CTL_ETSI, DFS_ETSI_REG, 5, 0, 2, {CHAN_5170_5250_2, 982 CHAN_5250_5330_1} }, 983 984 [ETSI4] = {CTL_ETSI, DFS_ETSI_REG, 2, 0, 2, {CHAN_5170_5250_6, 985 CHAN_5250_5330_3} }, 986 987 [ETSI8] = {CTL_ETSI, DFS_UNINIT_REG, 20, 0, 4, {CHAN_5170_5250_2, 988 CHAN_5250_5330_5, 989 CHAN_5490_5730_3, 990 CHAN_5735_5835_2} }, 991 992 [ETSI9] = {CTL_ETSI, DFS_ETSI_REG, 20, 0, 4, {CHAN_5170_5250_3, 993 CHAN_5250_5330_2, 994 CHAN_5490_5670_1, 995 CHAN_5735_5835_3} }, 996 997 [ETSI11] = {CTL_ETSI, DFS_ETSI_REG, 10, 0, 4, {CHAN_5170_5250_3, 998 CHAN_5250_5330_2, 999 CHAN_5490_5710_3, 1000 CHAN_5735_5875_1} }, 1001 1002 [APL1] = {CTL_ETSI, DFS_UNINIT_REG, 2, 0, 1, {CHAN_5735_5835_2} }, 1003 1004 [APL2] = {CTL_ETSI, DFS_UNINIT_REG, 2, 0, 1, {CHAN_5735_5815_1} }, 1005 1006 [APL4] = {CTL_ETSI, DFS_UNINIT_REG, 2, 0, 2, {CHAN_5170_5250_2, 1007 CHAN_5735_5835_1} }, 1008 1009 [APL6] = {CTL_ETSI, DFS_ETSI_REG, 2, 0, 3, {CHAN_5170_5250_3, 1010 CHAN_5250_5330_2, 1011 CHAN_5735_5835_3} }, 1012 1013 [APL8] = {CTL_ETSI, DFS_ETSI_REG, 2, 0, 2, {CHAN_5250_5330_4, 1014 CHAN_5735_5835_2} }, 1015 1016 [APL9] = {CTL_ETSI, DFS_KR_REG, 2, 6, 4, {CHAN_5170_5250_3, 1017 CHAN_5250_5330_2, 1018 CHAN_5490_5730_5, 1019 CHAN_5735_5835_2} }, 1020 1021 [APL10] = {CTL_ETSI, DFS_FCC_REG, 2, 6, 4, {CHAN_5170_5250_2, 1022 CHAN_5250_5330_4, 1023 CHAN_5490_5710_1, 1024 CHAN_5735_5815_1} }, 1025 1026 [APL11] = { CTL_ETSI, DFS_ETSI_REG, 2, 0, 4, {CHAN_5170_5250_9, 1027 CHAN_5250_5330_13, 1028 CHAN_5490_5710_4, 1029 CHAN_5735_5875_2} }, 1030 1031 [APL12] = {CTL_ETSI, DFS_ETSI_REG, 2, 0, 3, {CHAN_5170_5250_2, 1032 CHAN_5490_5570_1, 1033 CHAN_5735_5775_1} }, 1034 1035 [APL13] = {CTL_ETSI, DFS_ETSI_REG, 2, 0, 3, {CHAN_5170_5250_2, 1036 CHAN_5250_5330_1, 1037 CHAN_5490_5670_2} }, 1038 1039 [APL14] = {CTL_FCC, DFS_CN_REG, 2, 0, 3, {CHAN_5170_5250_2, 1040 CHAN_5250_5330_1, 1041 CHAN_5735_5835_4} }, 1042 1043 [APL15] = {CTL_FCC, DFS_UNINIT_REG, 2, 0, 3, {CHAN_5170_5250_2, 1044 CHAN_5250_5330_5, 1045 CHAN_5735_5835_4} }, 1046 1047 [APL16] = {CTL_FCC, DFS_UNINIT_REG, 2, 0, 5, {CHAN_5170_5250_1, 1048 CHAN_5250_5330_6, 1049 CHAN_5490_5590_2, 1050 CHAN_5650_5730_2, 1051 CHAN_5735_5835_2} }, 1052 1053 [APL17] = {CTL_FCC, DFS_UNINIT_REG, 2, 0, 5, {CHAN_5170_5250_2, 1054 CHAN_5250_5330_8, 1055 CHAN_5490_5590_3, 1056 CHAN_5650_5730_3, 1057 CHAN_5735_5835_7} }, 1058 1059 [APL19] = {CTL_FCC, DFS_UNINIT_REG, 2, 0, 3, {CHAN_5170_5250_2, 1060 CHAN_5250_5330_5, 1061 CHAN_5735_5875_3} }, 1062 1063 [APL20] = {CTL_ETSI, DFS_ETSI_REG, 2, 0, 4, {CHAN_5170_5250_8, 1064 CHAN_5250_5330_12, 1065 CHAN_5490_5730_5, 1066 CHAN_5735_5835_4} }, 1067 1068 [APL23] = {CTL_ETSI, DFS_UNINIT_REG, 2, 0, 3, {CHAN_5170_5250_7, 1069 CHAN_5250_5330_11, 1070 CHAN_5735_5835_3} }, 1071 1072 [MKK3] = {CTL_MKK, DFS_UNINIT_REG, 2, 0, 1, {CHAN_5170_5250_3} }, 1073 1074 [MKK5] = {CTL_MKK, DFS_MKK_REG, 2, 0, 3, {CHAN_5170_5250_3, 1075 CHAN_5250_5330_2, 1076 CHAN_5490_5710_2} }, 1077 1078 [MKK11] = {CTL_MKK, DFS_MKK_REG, 2, 0, 5, {CHAN_5170_5250_3, 1079 CHAN_5250_5330_2, 1080 CHAN_5490_5710_2, 1081 CHAN_4910_4990_1, 1082 CHAN_5030_5090_1} }, 1083 1084 [MKK16] = {CTL_MKK, DFS_MKK_REG, 2, 0, 1, {CHAN_5490_5710_2} }, 1085 1086 [WORLD_5G_1] = {CTL_NONE, DFS_UNINIT_REG, 2, 0, 2, {CHAN_5170_5330_1, 1087 CHAN_5735_5835_5} }, 1088 1089 [WORLD_5G_2] = {CTL_NONE, DFS_UNINIT_REG, 2, 0, 3, {CHAN_5170_5330_1, 1090 CHAN_5490_5730_2, 1091 CHAN_5735_5835_5} }, 1092 }; 1093 1094 QDF_STATUS reg_get_num_countries(int *num_countries) 1095 { 1096 *num_countries = QDF_ARRAY_SIZE(g_all_countries); 1097 1098 return QDF_STATUS_SUCCESS; 1099 } 1100 1101 QDF_STATUS reg_get_num_reg_dmn_pairs(int *num_reg_dmn) 1102 { 1103 *num_reg_dmn = QDF_ARRAY_SIZE(g_reg_dmn_pairs); 1104 1105 return QDF_STATUS_SUCCESS; 1106 } 1107 1108 QDF_STATUS reg_get_default_country(uint16_t *default_country) 1109 { 1110 *default_country = CTRY_UNITED_STATES; 1111 1112 return QDF_STATUS_SUCCESS; 1113 } 1114