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