1 /* 2 * Copyright (c) 2008-2009 Atheros Communications Inc. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17 #ifndef REGD_COMMON_H 18 #define REGD_COMMON_H 19 20 enum 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 */ 165 static 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 301 static 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 we 492 * would need to assign new special alpha2 to CRDA db as with the world 493 * 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 #endif 504