504 lines · c
1/*2 * Copyright (c) 2008-2009 Atheros Communications Inc.3 *4 * Permission to use, copy, modify, and/or distribute this software for any5 * purpose with or without fee is hereby granted, provided that the above6 * copyright notice and this permission notice appear in all copies.7 *8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.15 */16 17#ifndef REGD_COMMON_H18#define REGD_COMMON_H19 20enum EnumRd {21 NO_ENUMRD = 0x00,22 NULL1_WORLD = 0x03,23 NULL1_ETSIB = 0x07,24 NULL1_ETSIC = 0x08,25 FCC1_FCCA = 0x10,26 FCC1_WORLD = 0x11,27 FCC4_FCCA = 0x12,28 FCC5_FCCA = 0x13,29 FCC6_FCCA = 0x14,30 31 FCC2_FCCA = 0x20,32 FCC2_WORLD = 0x21,33 FCC2_ETSIC = 0x22,34 FCC6_WORLD = 0x23,35 FRANCE_RES = 0x31,36 FCC3_FCCA = 0x3A,37 FCC3_WORLD = 0x3B,38 FCC3_ETSIC = 0x3F,39 40 ETSI1_WORLD = 0x37,41 ETSI3_ETSIA = 0x32,42 ETSI2_WORLD = 0x35,43 ETSI3_WORLD = 0x36,44 ETSI4_WORLD = 0x30,45 ETSI4_ETSIC = 0x38,46 ETSI5_WORLD = 0x39,47 ETSI6_WORLD = 0x34,48 ETSI8_WORLD = 0x3D,49 ETSI9_WORLD = 0x3E,50 ETSI_RESERVED = 0x33,51 52 MKK1_MKKA = 0x40,53 MKK1_MKKB = 0x41,54 APL4_WORLD = 0x42,55 MKK2_MKKA = 0x43,56 APL_RESERVED = 0x44,57 APL2_WORLD = 0x45,58 APL2_APLC = 0x46,59 APL3_WORLD = 0x47,60 MKK1_FCCA = 0x48,61 APL2_APLD = 0x49,62 MKK1_MKKA1 = 0x4A,63 MKK1_MKKA2 = 0x4B,64 MKK1_MKKC = 0x4C,65 APL2_FCCA = 0x4D,66 67 APL3_FCCA = 0x50,68 APL1_WORLD = 0x52,69 APL1_FCCA = 0x53,70 APL1_APLA = 0x54,71 APL1_ETSIC = 0x55,72 APL2_ETSIC = 0x56,73 APL5_WORLD = 0x58,74 APL13_WORLD = 0x5A,75 APL6_WORLD = 0x5B,76 APL7_FCCA = 0x5C,77 APL8_WORLD = 0x5D,78 APL9_WORLD = 0x5E,79 APL10_WORLD = 0x5F,80 81 WOR0_WORLD = 0x60,82 WOR1_WORLD = 0x61,83 WOR2_WORLD = 0x62,84 WOR3_WORLD = 0x63,85 WOR4_WORLD = 0x64,86 WOR5_ETSIC = 0x65,87 88 WOR01_WORLD = 0x66,89 WOR02_WORLD = 0x67,90 EU1_WORLD = 0x68,91 92 WOR9_WORLD = 0x69,93 WORA_WORLD = 0x6A,94 WORB_WORLD = 0x6B,95 WORC_WORLD = 0x6C,96 97 MKK3_MKKB = 0x80,98 MKK3_MKKA2 = 0x81,99 MKK3_MKKC = 0x82,100 101 MKK4_MKKB = 0x83,102 MKK4_MKKA2 = 0x84,103 MKK4_MKKC = 0x85,104 105 MKK5_MKKB = 0x86,106 MKK5_MKKA2 = 0x87,107 MKK5_MKKC = 0x88,108 109 MKK6_MKKB = 0x89,110 MKK6_MKKA2 = 0x8A,111 MKK6_MKKC = 0x8B,112 113 MKK7_MKKB = 0x8C,114 MKK7_MKKA2 = 0x8D,115 MKK7_MKKC = 0x8E,116 117 MKK8_MKKB = 0x8F,118 MKK8_MKKA2 = 0x90,119 MKK8_MKKC = 0x91,120 121 MKK14_MKKA1 = 0x92,122 MKK15_MKKA1 = 0x93,123 124 MKK10_FCCA = 0xD0,125 MKK10_MKKA1 = 0xD1,126 MKK10_MKKC = 0xD2,127 MKK10_MKKA2 = 0xD3,128 129 MKK11_MKKA = 0xD4,130 MKK11_FCCA = 0xD5,131 MKK11_MKKA1 = 0xD6,132 MKK11_MKKC = 0xD7,133 MKK11_MKKA2 = 0xD8,134 135 MKK12_MKKA = 0xD9,136 MKK12_FCCA = 0xDA,137 MKK12_MKKA1 = 0xDB,138 MKK12_MKKC = 0xDC,139 MKK12_MKKA2 = 0xDD,140 141 MKK13_MKKB = 0xDE,142 143 MKK3_MKKA = 0xF0,144 MKK3_MKKA1 = 0xF1,145 MKK3_FCCA = 0xF2,146 MKK4_MKKA = 0xF3,147 MKK4_MKKA1 = 0xF4,148 MKK4_FCCA = 0xF5,149 MKK9_MKKA = 0xF6,150 MKK10_MKKA = 0xF7,151 MKK6_MKKA1 = 0xF8,152 MKK6_FCCA = 0xF9,153 MKK7_MKKA1 = 0xFA,154 MKK7_FCCA = 0xFB,155 MKK9_FCCA = 0xFC,156 MKK9_MKKA1 = 0xFD,157 MKK9_MKKC = 0xFE,158 MKK9_MKKA2 = 0xFF,159 160 WORLD = 0x0199,161 DEBUG_REG_DMN = 0x01ff,162};163 164/* Regpair to CTL band mapping */165static struct reg_dmn_pair_mapping regDomainPairs[] = {166 /* regpair, 5 GHz CTL, 2 GHz CTL */167 {NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN},168 {NULL1_WORLD, NO_CTL, CTL_ETSI},169 {NULL1_ETSIB, NO_CTL, CTL_ETSI},170 {NULL1_ETSIC, NO_CTL, CTL_ETSI},171 172 {FCC2_FCCA, CTL_FCC, CTL_FCC},173 {FCC2_WORLD, CTL_FCC, CTL_ETSI},174 {FCC2_ETSIC, CTL_FCC, CTL_ETSI},175 {FCC3_FCCA, CTL_FCC, CTL_FCC},176 {FCC3_WORLD, CTL_FCC, CTL_ETSI},177 {FCC3_ETSIC, CTL_FCC, CTL_ETSI},178 {FCC4_FCCA, CTL_FCC, CTL_FCC},179 {FCC5_FCCA, CTL_FCC, CTL_FCC},180 {FCC6_FCCA, CTL_FCC, CTL_FCC},181 {FCC6_WORLD, CTL_FCC, CTL_ETSI},182 183 {ETSI1_WORLD, CTL_ETSI, CTL_ETSI},184 {ETSI2_WORLD, CTL_ETSI, CTL_ETSI},185 {ETSI3_WORLD, CTL_ETSI, CTL_ETSI},186 {ETSI4_WORLD, CTL_ETSI, CTL_ETSI},187 {ETSI5_WORLD, CTL_ETSI, CTL_ETSI},188 {ETSI6_WORLD, CTL_ETSI, CTL_ETSI},189 {ETSI8_WORLD, CTL_ETSI, CTL_ETSI},190 {ETSI9_WORLD, CTL_ETSI, CTL_ETSI},191 192 /* XXX: For ETSI3_ETSIA, Was NO_CTL meant for the 2 GHz band ? */193 {ETSI3_ETSIA, CTL_ETSI, CTL_ETSI},194 {FRANCE_RES, CTL_ETSI, CTL_ETSI},195 196 {FCC1_WORLD, CTL_FCC, CTL_ETSI},197 {FCC1_FCCA, CTL_FCC, CTL_FCC},198 {APL1_WORLD, CTL_FCC, CTL_ETSI},199 {APL2_WORLD, CTL_FCC, CTL_ETSI},200 {APL2_FCCA, CTL_FCC, CTL_FCC},201 {APL3_WORLD, CTL_FCC, CTL_ETSI},202 {APL4_WORLD, CTL_FCC, CTL_ETSI},203 {APL5_WORLD, CTL_FCC, CTL_ETSI},204 {APL13_WORLD, CTL_ETSI, CTL_ETSI},205 {APL6_WORLD, CTL_ETSI, CTL_ETSI},206 {APL8_WORLD, CTL_ETSI, CTL_ETSI},207 {APL9_WORLD, CTL_ETSI, CTL_ETSI},208 {APL10_WORLD, CTL_ETSI, CTL_ETSI},209 210 {APL3_FCCA, CTL_FCC, CTL_FCC},211 {APL7_FCCA, CTL_FCC, CTL_FCC},212 {APL1_ETSIC, CTL_FCC, CTL_ETSI},213 {APL2_ETSIC, CTL_FCC, CTL_ETSI},214 {APL2_APLD, CTL_FCC, NO_CTL},215 216 {MKK1_MKKA, CTL_MKK, CTL_MKK},217 {MKK1_MKKB, CTL_MKK, CTL_MKK},218 {MKK1_FCCA, CTL_MKK, CTL_FCC},219 {MKK1_MKKA1, CTL_MKK, CTL_MKK},220 {MKK1_MKKA2, CTL_MKK, CTL_MKK},221 {MKK1_MKKC, CTL_MKK, CTL_MKK},222 223 {MKK2_MKKA, CTL_MKK, CTL_MKK},224 {MKK3_MKKA, CTL_MKK, CTL_MKK},225 {MKK3_MKKB, CTL_MKK, CTL_MKK},226 {MKK3_MKKA1, CTL_MKK, CTL_MKK},227 {MKK3_MKKA2, CTL_MKK, CTL_MKK},228 {MKK3_MKKC, CTL_MKK, CTL_MKK},229 {MKK3_FCCA, CTL_MKK, CTL_FCC},230 231 {MKK4_MKKA, CTL_MKK, CTL_MKK},232 {MKK4_MKKB, CTL_MKK, CTL_MKK},233 {MKK4_MKKA1, CTL_MKK, CTL_MKK},234 {MKK4_MKKA2, CTL_MKK, CTL_MKK},235 {MKK4_MKKC, CTL_MKK, CTL_MKK},236 {MKK4_FCCA, CTL_MKK, CTL_FCC},237 238 {MKK5_MKKB, CTL_MKK, CTL_MKK},239 {MKK5_MKKA2, CTL_MKK, CTL_MKK},240 {MKK5_MKKC, CTL_MKK, CTL_MKK},241 242 {MKK6_MKKB, CTL_MKK, CTL_MKK},243 {MKK6_MKKA1, CTL_MKK, CTL_MKK},244 {MKK6_MKKA2, CTL_MKK, CTL_MKK},245 {MKK6_MKKC, CTL_MKK, CTL_MKK},246 {MKK6_FCCA, CTL_MKK, CTL_FCC},247 248 {MKK7_MKKB, CTL_MKK, CTL_MKK},249 {MKK7_MKKA1, CTL_MKK, CTL_MKK},250 {MKK7_MKKA2, CTL_MKK, CTL_MKK},251 {MKK7_MKKC, CTL_MKK, CTL_MKK},252 {MKK7_FCCA, CTL_MKK, CTL_FCC},253 254 {MKK8_MKKB, CTL_MKK, CTL_MKK},255 {MKK8_MKKA2, CTL_MKK, CTL_MKK},256 {MKK8_MKKC, CTL_MKK, CTL_MKK},257 258 {MKK9_MKKA, CTL_MKK, CTL_MKK},259 {MKK9_FCCA, CTL_MKK, CTL_FCC},260 {MKK9_MKKA1, CTL_MKK, CTL_MKK},261 {MKK9_MKKA2, CTL_MKK, CTL_MKK},262 {MKK9_MKKC, CTL_MKK, CTL_MKK},263 264 {MKK10_MKKA, CTL_MKK, CTL_MKK},265 {MKK10_FCCA, CTL_MKK, CTL_FCC},266 {MKK10_MKKA1, CTL_MKK, CTL_MKK},267 {MKK10_MKKA2, CTL_MKK, CTL_MKK},268 {MKK10_MKKC, CTL_MKK, CTL_MKK},269 270 {MKK11_MKKA, CTL_MKK, CTL_MKK},271 {MKK11_FCCA, CTL_MKK, CTL_FCC},272 {MKK11_MKKA1, CTL_MKK, CTL_MKK},273 {MKK11_MKKA2, CTL_MKK, CTL_MKK},274 {MKK11_MKKC, CTL_MKK, CTL_MKK},275 276 {MKK12_MKKA, CTL_MKK, CTL_MKK},277 {MKK12_FCCA, CTL_MKK, CTL_FCC},278 {MKK12_MKKA1, CTL_MKK, CTL_MKK},279 {MKK12_MKKA2, CTL_MKK, CTL_MKK},280 {MKK12_MKKC, CTL_MKK, CTL_MKK},281 282 {MKK13_MKKB, CTL_MKK, CTL_MKK},283 {MKK14_MKKA1, CTL_MKK, CTL_MKK},284 {MKK15_MKKA1, CTL_MKK, CTL_MKK},285 286 {WOR0_WORLD, NO_CTL, NO_CTL},287 {WOR1_WORLD, NO_CTL, NO_CTL},288 {WOR2_WORLD, NO_CTL, NO_CTL},289 {WOR3_WORLD, NO_CTL, NO_CTL},290 {WOR4_WORLD, NO_CTL, NO_CTL},291 {WOR5_ETSIC, NO_CTL, NO_CTL},292 {WOR01_WORLD, NO_CTL, NO_CTL},293 {WOR02_WORLD, NO_CTL, NO_CTL},294 {EU1_WORLD, NO_CTL, NO_CTL},295 {WOR9_WORLD, NO_CTL, NO_CTL},296 {WORA_WORLD, NO_CTL, NO_CTL},297 {WORB_WORLD, NO_CTL, NO_CTL},298 {WORC_WORLD, NO_CTL, NO_CTL},299};300 301static struct country_code_to_enum_rd allCountries[] = {302 {CTRY_DEBUG, NO_ENUMRD, "DB"},303 {CTRY_DEFAULT, FCC1_FCCA, "CO"},304 {CTRY_ALBANIA, ETSI1_WORLD, "AL"},305 {CTRY_ALGERIA, APL13_WORLD, "DZ"},306 {CTRY_ARGENTINA, FCC3_WORLD, "AR"},307 {CTRY_ARMENIA, ETSI4_WORLD, "AM"},308 {CTRY_ARUBA, ETSI1_WORLD, "AW"},309 {CTRY_AUSTRALIA, FCC3_WORLD, "AU"},310 {CTRY_AUSTRALIA2, FCC6_WORLD, "AU"},311 {CTRY_AUSTRIA, ETSI1_WORLD, "AT"},312 {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ"},313 {CTRY_BAHAMAS, FCC3_WORLD, "BS"},314 {CTRY_BAHRAIN, APL6_WORLD, "BH"},315 {CTRY_BANGLADESH, APL1_WORLD, "BD"},316 {CTRY_BARBADOS, FCC2_WORLD, "BB"},317 {CTRY_BELARUS, ETSI1_WORLD, "BY"},318 {CTRY_BELGIUM, ETSI1_WORLD, "BE"},319 {CTRY_BELGIUM2, ETSI4_WORLD, "BL"},320 {CTRY_BELIZE, APL1_ETSIC, "BZ"},321 {CTRY_BERMUDA, FCC3_FCCA, "BM"},322 {CTRY_BOLIVIA, APL1_ETSIC, "BO"},323 {CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA"},324 {CTRY_BRAZIL, FCC3_WORLD, "BR"},325 {CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN"},326 {CTRY_BULGARIA, ETSI1_WORLD, "BG"},327 {CTRY_CAMBODIA, ETSI1_WORLD, "KH"},328 {CTRY_CANADA, FCC3_FCCA, "CA"},329 {CTRY_CANADA2, FCC6_FCCA, "CA"},330 {CTRY_CHILE, APL6_WORLD, "CL"},331 {CTRY_CHINA, APL1_WORLD, "CN"},332 {CTRY_COLOMBIA, FCC3_WORLD, "CO"},333 {CTRY_COSTA_RICA, FCC1_WORLD, "CR"},334 {CTRY_CROATIA, ETSI1_WORLD, "HR"},335 {CTRY_CYPRUS, ETSI1_WORLD, "CY"},336 {CTRY_CZECH, ETSI1_WORLD, "CZ"},337 {CTRY_DENMARK, ETSI1_WORLD, "DK"},338 {CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO"},339 {CTRY_ECUADOR, FCC1_WORLD, "EC"},340 {CTRY_EGYPT, ETSI3_WORLD, "EG"},341 {CTRY_EL_SALVADOR, FCC1_WORLD, "SV"},342 {CTRY_ESTONIA, ETSI1_WORLD, "EE"},343 {CTRY_FINLAND, ETSI1_WORLD, "FI"},344 {CTRY_FRANCE, ETSI1_WORLD, "FR"},345 {CTRY_GEORGIA, ETSI4_WORLD, "GE"},346 {CTRY_GERMANY, ETSI1_WORLD, "DE"},347 {CTRY_GREECE, ETSI1_WORLD, "GR"},348 {CTRY_GREENLAND, ETSI1_WORLD, "GL"},349 {CTRY_GRENADA, FCC3_FCCA, "GD"},350 {CTRY_GUAM, FCC1_FCCA, "GU"},351 {CTRY_GUATEMALA, FCC1_FCCA, "GT"},352 {CTRY_HAITI, ETSI1_WORLD, "HT"},353 {CTRY_HONDURAS, FCC3_WORLD, "HN"},354 {CTRY_HONG_KONG, FCC3_WORLD, "HK"},355 {CTRY_HUNGARY, ETSI1_WORLD, "HU"},356 {CTRY_ICELAND, ETSI1_WORLD, "IS"},357 {CTRY_INDIA, APL6_WORLD, "IN"},358 {CTRY_INDONESIA, NULL1_WORLD, "ID"},359 {CTRY_IRAN, APL1_WORLD, "IR"},360 {CTRY_IRELAND, ETSI1_WORLD, "IE"},361 {CTRY_ISRAEL, ETSI3_WORLD, "IL"},362 {CTRY_ITALY, ETSI1_WORLD, "IT"},363 {CTRY_JAMAICA, FCC3_WORLD, "JM"},364 365 {CTRY_JAPAN, MKK1_MKKA, "JP"},366 {CTRY_JAPAN1, MKK1_MKKB, "JP"},367 {CTRY_JAPAN2, MKK1_FCCA, "JP"},368 {CTRY_JAPAN3, MKK2_MKKA, "JP"},369 {CTRY_JAPAN4, MKK1_MKKA1, "JP"},370 {CTRY_JAPAN5, MKK1_MKKA2, "JP"},371 {CTRY_JAPAN6, MKK1_MKKC, "JP"},372 {CTRY_JAPAN7, MKK3_MKKB, "JP"},373 {CTRY_JAPAN8, MKK3_MKKA2, "JP"},374 {CTRY_JAPAN9, MKK3_MKKC, "JP"},375 {CTRY_JAPAN10, MKK4_MKKB, "JP"},376 {CTRY_JAPAN11, MKK4_MKKA2, "JP"},377 {CTRY_JAPAN12, MKK4_MKKC, "JP"},378 {CTRY_JAPAN13, MKK5_MKKB, "JP"},379 {CTRY_JAPAN14, MKK5_MKKA2, "JP"},380 {CTRY_JAPAN15, MKK5_MKKC, "JP"},381 {CTRY_JAPAN16, MKK6_MKKB, "JP"},382 {CTRY_JAPAN17, MKK6_MKKA2, "JP"},383 {CTRY_JAPAN18, MKK6_MKKC, "JP"},384 {CTRY_JAPAN19, MKK7_MKKB, "JP"},385 {CTRY_JAPAN20, MKK7_MKKA2, "JP"},386 {CTRY_JAPAN21, MKK7_MKKC, "JP"},387 {CTRY_JAPAN22, MKK8_MKKB, "JP"},388 {CTRY_JAPAN23, MKK8_MKKA2, "JP"},389 {CTRY_JAPAN24, MKK8_MKKC, "JP"},390 {CTRY_JAPAN25, MKK3_MKKA, "JP"},391 {CTRY_JAPAN26, MKK3_MKKA1, "JP"},392 {CTRY_JAPAN27, MKK3_FCCA, "JP"},393 {CTRY_JAPAN28, MKK4_MKKA1, "JP"},394 {CTRY_JAPAN29, MKK4_FCCA, "JP"},395 {CTRY_JAPAN30, MKK6_MKKA1, "JP"},396 {CTRY_JAPAN31, MKK6_FCCA, "JP"},397 {CTRY_JAPAN32, MKK7_MKKA1, "JP"},398 {CTRY_JAPAN33, MKK7_FCCA, "JP"},399 {CTRY_JAPAN34, MKK9_MKKA, "JP"},400 {CTRY_JAPAN35, MKK10_MKKA, "JP"},401 {CTRY_JAPAN36, MKK4_MKKA, "JP"},402 {CTRY_JAPAN37, MKK9_FCCA, "JP"},403 {CTRY_JAPAN38, MKK9_MKKA1, "JP"},404 {CTRY_JAPAN39, MKK9_MKKC, "JP"},405 {CTRY_JAPAN40, MKK9_MKKA2, "JP"},406 {CTRY_JAPAN41, MKK10_FCCA, "JP"},407 {CTRY_JAPAN42, MKK10_MKKA1, "JP"},408 {CTRY_JAPAN43, MKK10_MKKC, "JP"},409 {CTRY_JAPAN44, MKK10_MKKA2, "JP"},410 {CTRY_JAPAN45, MKK11_MKKA, "JP"},411 {CTRY_JAPAN46, MKK11_FCCA, "JP"},412 {CTRY_JAPAN47, MKK11_MKKA1, "JP"},413 {CTRY_JAPAN48, MKK11_MKKC, "JP"},414 {CTRY_JAPAN49, MKK11_MKKA2, "JP"},415 {CTRY_JAPAN50, MKK12_MKKA, "JP"},416 {CTRY_JAPAN51, MKK12_FCCA, "JP"},417 {CTRY_JAPAN52, MKK12_MKKA1, "JP"},418 {CTRY_JAPAN53, MKK12_MKKC, "JP"},419 {CTRY_JAPAN54, MKK12_MKKA2, "JP"},420 {CTRY_JAPAN57, MKK13_MKKB, "JP"},421 {CTRY_JAPAN58, MKK14_MKKA1, "JP"},422 {CTRY_JAPAN59, MKK15_MKKA1, "JP"},423 424 {CTRY_JORDAN, ETSI2_WORLD, "JO"},425 {CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ"},426 {CTRY_KENYA, APL1_WORLD, "KE"},427 {CTRY_KOREA_NORTH, APL9_WORLD, "KP"},428 {CTRY_KOREA_ROC, APL9_WORLD, "KR"},429 {CTRY_KOREA_ROC2, APL2_WORLD, "K2"},430 {CTRY_KOREA_ROC3, APL9_WORLD, "K3"},431 {CTRY_KOREA_ROC4, APL10_WORLD, "K4"},432 {CTRY_KUWAIT, ETSI3_WORLD, "KW"},433 {CTRY_LATVIA, ETSI1_WORLD, "LV"},434 {CTRY_LEBANON, NULL1_WORLD, "LB"},435 {CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI"},436 {CTRY_LITHUANIA, ETSI1_WORLD, "LT"},437 {CTRY_LUXEMBOURG, ETSI1_WORLD, "LU"},438 {CTRY_MACAU, FCC2_WORLD, "MO"},439 {CTRY_MACEDONIA, ETSI1_WORLD, "MK"},440 {CTRY_MALAYSIA, FCC1_WORLD, "MY"},441 {CTRY_MALTA, ETSI1_WORLD, "MT"},442 {CTRY_MAURITIUS, ETSI1_WORLD, "MU"},443 {CTRY_MEXICO, FCC1_FCCA, "MX"},444 {CTRY_MONACO, ETSI4_WORLD, "MC"},445 {CTRY_MONTENEGRO, ETSI1_WORLD, "ME"},446 {CTRY_MOROCCO, APL4_WORLD, "MA"},447 {CTRY_NEPAL, APL1_WORLD, "NP"},448 {CTRY_NETHERLANDS, ETSI1_WORLD, "NL"},449 {CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN"},450 {CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ"},451 {CTRY_NICARAGUA, FCC3_FCCA, "NI"},452 {CTRY_NORWAY, ETSI1_WORLD, "NO"},453 {CTRY_OMAN, FCC3_WORLD, "OM"},454 {CTRY_PAKISTAN, NULL1_WORLD, "PK"},455 {CTRY_PANAMA, FCC1_FCCA, "PA"},456 {CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG"},457 {CTRY_PARAGUAY, FCC3_WORLD, "PY"},458 {CTRY_PERU, FCC3_WORLD, "PE"},459 {CTRY_PHILIPPINES, FCC3_WORLD, "PH"},460 {CTRY_POLAND, ETSI1_WORLD, "PL"},461 {CTRY_PORTUGAL, ETSI1_WORLD, "PT"},462 {CTRY_PUERTO_RICO, FCC1_FCCA, "PR"},463 {CTRY_QATAR, APL1_WORLD, "QA"},464 {CTRY_ROMANIA, ETSI1_WORLD, "RO"},465 {CTRY_RUSSIA, ETSI8_WORLD, "RU"},466 {CTRY_SAUDI_ARABIA, NULL1_WORLD, "SA"},467 {CTRY_SERBIA, ETSI1_WORLD, "RS"},468 {CTRY_SERBIA_MONTENEGRO, ETSI1_WORLD, "CS"},469 {CTRY_SINGAPORE, FCC3_WORLD, "SG"},470 {CTRY_SLOVAKIA, ETSI1_WORLD, "SK"},471 {CTRY_SLOVENIA, ETSI1_WORLD, "SI"},472 {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA"},473 {CTRY_SPAIN, ETSI1_WORLD, "ES"},474 {CTRY_SRI_LANKA, FCC3_WORLD, "LK"},475 {CTRY_SWEDEN, ETSI1_WORLD, "SE"},476 {CTRY_SWITZERLAND, ETSI1_WORLD, "CH"},477 {CTRY_SYRIA, NULL1_WORLD, "SY"},478 {CTRY_TAIWAN, APL3_FCCA, "TW"},479 {CTRY_TANZANIA, APL1_WORLD, "TZ"},480 {CTRY_THAILAND, FCC3_WORLD, "TH"},481 {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT"},482 {CTRY_TUNISIA, ETSI3_WORLD, "TN"},483 {CTRY_TURKEY, ETSI3_WORLD, "TR"},484 {CTRY_UGANDA, FCC3_WORLD, "UG"},485 {CTRY_UKRAINE, ETSI9_WORLD, "UA"},486 {CTRY_UAE, NULL1_WORLD, "AE"},487 {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB"},488 {CTRY_UNITED_STATES, FCC3_FCCA, "US"},489 {CTRY_UNITED_STATES2, FCC3_FCCA, "US"},490 {CTRY_UNITED_STATES3, FCC3_FCCA, "US"},491 /* This "PS" is for US public safety actually... to support this we492 * would need to assign new special alpha2 to CRDA db as with the world493 * regdomain and use another alpha2 */494 {CTRY_UNITED_STATES_FCC49, FCC4_FCCA, "PS"},495 {CTRY_URUGUAY, FCC3_WORLD, "UY"},496 {CTRY_UZBEKISTAN, FCC3_FCCA, "UZ"},497 {CTRY_VENEZUELA, APL2_ETSIC, "VE"},498 {CTRY_VIET_NAM, NULL1_WORLD, "VN"},499 {CTRY_YEMEN, NULL1_WORLD, "YE"},500 {CTRY_ZIMBABWE, ETSI1_WORLD, "ZW"},501};502 503#endif504