Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Copyright (c) 2008-2009 Atheros Communications Inc.
0003  *
0004  * Permission to use, copy, modify, and/or distribute this software for any
0005  * purpose with or without fee is hereby granted, provided that the above
0006  * copyright notice and this permission notice appear in all copies.
0007  *
0008  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
0009  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
0010  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
0011  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
0012  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
0013  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
0014  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
0015  */
0016 
0017 #ifndef REGD_COMMON_H
0018 #define REGD_COMMON_H
0019 
0020 enum EnumRd {
0021     NO_ENUMRD = 0x00,
0022     NULL1_WORLD = 0x03,
0023     NULL1_ETSIB = 0x07,
0024     NULL1_ETSIC = 0x08,
0025     FCC1_FCCA = 0x10,
0026     FCC1_WORLD = 0x11,
0027     FCC4_FCCA = 0x12,
0028     FCC5_FCCA = 0x13,
0029     FCC6_FCCA = 0x14,
0030 
0031     FCC2_FCCA = 0x20,
0032     FCC2_WORLD = 0x21,
0033     FCC2_ETSIC = 0x22,
0034     FCC6_WORLD = 0x23,
0035     FRANCE_RES = 0x31,
0036     FCC3_FCCA = 0x3A,
0037     FCC3_WORLD = 0x3B,
0038     FCC3_ETSIC = 0x3F,
0039 
0040     ETSI1_WORLD = 0x37,
0041     ETSI3_ETSIA = 0x32,
0042     ETSI2_WORLD = 0x35,
0043     ETSI3_WORLD = 0x36,
0044     ETSI4_WORLD = 0x30,
0045     ETSI4_ETSIC = 0x38,
0046     ETSI5_WORLD = 0x39,
0047     ETSI6_WORLD = 0x34,
0048     ETSI8_WORLD = 0x3D,
0049     ETSI9_WORLD = 0x3E,
0050     ETSI_RESERVED = 0x33,
0051 
0052     MKK1_MKKA = 0x40,
0053     MKK1_MKKB = 0x41,
0054     APL4_WORLD = 0x42,
0055     MKK2_MKKA = 0x43,
0056     APL_RESERVED = 0x44,
0057     APL2_WORLD = 0x45,
0058     APL2_APLC = 0x46,
0059     APL3_WORLD = 0x47,
0060     MKK1_FCCA = 0x48,
0061     APL2_APLD = 0x49,
0062     MKK1_MKKA1 = 0x4A,
0063     MKK1_MKKA2 = 0x4B,
0064     MKK1_MKKC = 0x4C,
0065     APL2_FCCA = 0x4D,
0066 
0067     APL3_FCCA = 0x50,
0068     APL1_WORLD = 0x52,
0069     APL1_FCCA = 0x53,
0070     APL1_APLA = 0x54,
0071     APL1_ETSIC = 0x55,
0072     APL2_ETSIC = 0x56,
0073     APL5_WORLD = 0x58,
0074     APL13_WORLD = 0x5A,
0075     APL6_WORLD = 0x5B,
0076     APL7_FCCA = 0x5C,
0077     APL8_WORLD = 0x5D,
0078     APL9_WORLD = 0x5E,
0079     APL10_WORLD = 0x5F,
0080 
0081     WOR0_WORLD = 0x60,
0082     WOR1_WORLD = 0x61,
0083     WOR2_WORLD = 0x62,
0084     WOR3_WORLD = 0x63,
0085     WOR4_WORLD = 0x64,
0086     WOR5_ETSIC = 0x65,
0087 
0088     WOR01_WORLD = 0x66,
0089     WOR02_WORLD = 0x67,
0090     EU1_WORLD = 0x68,
0091 
0092     WOR9_WORLD = 0x69,
0093     WORA_WORLD = 0x6A,
0094     WORB_WORLD = 0x6B,
0095     WORC_WORLD = 0x6C,
0096 
0097     MKK3_MKKB = 0x80,
0098     MKK3_MKKA2 = 0x81,
0099     MKK3_MKKC = 0x82,
0100 
0101     MKK4_MKKB = 0x83,
0102     MKK4_MKKA2 = 0x84,
0103     MKK4_MKKC = 0x85,
0104 
0105     MKK5_MKKB = 0x86,
0106     MKK5_MKKA2 = 0x87,
0107     MKK5_MKKC = 0x88,
0108 
0109     MKK6_MKKB = 0x89,
0110     MKK6_MKKA2 = 0x8A,
0111     MKK6_MKKC = 0x8B,
0112 
0113     MKK7_MKKB = 0x8C,
0114     MKK7_MKKA2 = 0x8D,
0115     MKK7_MKKC = 0x8E,
0116 
0117     MKK8_MKKB = 0x8F,
0118     MKK8_MKKA2 = 0x90,
0119     MKK8_MKKC = 0x91,
0120 
0121     MKK14_MKKA1 = 0x92,
0122     MKK15_MKKA1 = 0x93,
0123 
0124     MKK10_FCCA = 0xD0,
0125     MKK10_MKKA1 = 0xD1,
0126     MKK10_MKKC = 0xD2,
0127     MKK10_MKKA2 = 0xD3,
0128 
0129     MKK11_MKKA = 0xD4,
0130     MKK11_FCCA = 0xD5,
0131     MKK11_MKKA1 = 0xD6,
0132     MKK11_MKKC = 0xD7,
0133     MKK11_MKKA2 = 0xD8,
0134 
0135     MKK12_MKKA = 0xD9,
0136     MKK12_FCCA = 0xDA,
0137     MKK12_MKKA1 = 0xDB,
0138     MKK12_MKKC = 0xDC,
0139     MKK12_MKKA2 = 0xDD,
0140 
0141     MKK13_MKKB = 0xDE,
0142 
0143     MKK3_MKKA = 0xF0,
0144     MKK3_MKKA1 = 0xF1,
0145     MKK3_FCCA = 0xF2,
0146     MKK4_MKKA = 0xF3,
0147     MKK4_MKKA1 = 0xF4,
0148     MKK4_FCCA = 0xF5,
0149     MKK9_MKKA = 0xF6,
0150     MKK10_MKKA = 0xF7,
0151     MKK6_MKKA1 = 0xF8,
0152     MKK6_FCCA = 0xF9,
0153     MKK7_MKKA1 = 0xFA,
0154     MKK7_FCCA = 0xFB,
0155     MKK9_FCCA = 0xFC,
0156     MKK9_MKKA1 = 0xFD,
0157     MKK9_MKKC = 0xFE,
0158     MKK9_MKKA2 = 0xFF,
0159 
0160     WORLD = 0x0199,
0161     DEBUG_REG_DMN = 0x01ff,
0162 };
0163 
0164 /* Regpair to CTL band mapping */
0165 static struct reg_dmn_pair_mapping regDomainPairs[] = {
0166     /* regpair, 5 GHz CTL, 2 GHz CTL */
0167     {NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN},
0168     {NULL1_WORLD, NO_CTL, CTL_ETSI},
0169     {NULL1_ETSIB, NO_CTL, CTL_ETSI},
0170     {NULL1_ETSIC, NO_CTL, CTL_ETSI},
0171 
0172     {FCC2_FCCA, CTL_FCC, CTL_FCC},
0173     {FCC2_WORLD, CTL_FCC, CTL_ETSI},
0174     {FCC2_ETSIC, CTL_FCC, CTL_ETSI},
0175     {FCC3_FCCA, CTL_FCC, CTL_FCC},
0176     {FCC3_WORLD, CTL_FCC, CTL_ETSI},
0177     {FCC3_ETSIC, CTL_FCC, CTL_ETSI},
0178     {FCC4_FCCA, CTL_FCC, CTL_FCC},
0179     {FCC5_FCCA, CTL_FCC, CTL_FCC},
0180     {FCC6_FCCA, CTL_FCC, CTL_FCC},
0181     {FCC6_WORLD, CTL_FCC, CTL_ETSI},
0182 
0183     {ETSI1_WORLD, CTL_ETSI, CTL_ETSI},
0184     {ETSI2_WORLD, CTL_ETSI, CTL_ETSI},
0185     {ETSI3_WORLD, CTL_ETSI, CTL_ETSI},
0186     {ETSI4_WORLD, CTL_ETSI, CTL_ETSI},
0187     {ETSI5_WORLD, CTL_ETSI, CTL_ETSI},
0188     {ETSI6_WORLD, CTL_ETSI, CTL_ETSI},
0189     {ETSI8_WORLD, CTL_ETSI, CTL_ETSI},
0190     {ETSI9_WORLD, CTL_ETSI, CTL_ETSI},
0191 
0192     /* XXX: For ETSI3_ETSIA, Was NO_CTL meant for the 2 GHz band ? */
0193     {ETSI3_ETSIA, CTL_ETSI, CTL_ETSI},
0194     {FRANCE_RES, CTL_ETSI, CTL_ETSI},
0195 
0196     {FCC1_WORLD, CTL_FCC, CTL_ETSI},
0197     {FCC1_FCCA, CTL_FCC, CTL_FCC},
0198     {APL1_WORLD, CTL_FCC, CTL_ETSI},
0199     {APL2_WORLD, CTL_FCC, CTL_ETSI},
0200     {APL2_FCCA, CTL_FCC, CTL_FCC},
0201     {APL3_WORLD, CTL_FCC, CTL_ETSI},
0202     {APL4_WORLD, CTL_FCC, CTL_ETSI},
0203     {APL5_WORLD, CTL_FCC, CTL_ETSI},
0204     {APL13_WORLD, CTL_ETSI, CTL_ETSI},
0205     {APL6_WORLD, CTL_ETSI, CTL_ETSI},
0206     {APL8_WORLD, CTL_ETSI, CTL_ETSI},
0207     {APL9_WORLD, CTL_ETSI, CTL_ETSI},
0208     {APL10_WORLD, CTL_ETSI, CTL_ETSI},
0209 
0210     {APL3_FCCA, CTL_FCC, CTL_FCC},
0211     {APL7_FCCA, CTL_FCC, CTL_FCC},
0212     {APL1_ETSIC, CTL_FCC, CTL_ETSI},
0213     {APL2_ETSIC, CTL_FCC, CTL_ETSI},
0214     {APL2_APLD, CTL_FCC, NO_CTL},
0215 
0216     {MKK1_MKKA, CTL_MKK, CTL_MKK},
0217     {MKK1_MKKB, CTL_MKK, CTL_MKK},
0218     {MKK1_FCCA, CTL_MKK, CTL_FCC},
0219     {MKK1_MKKA1, CTL_MKK, CTL_MKK},
0220     {MKK1_MKKA2, CTL_MKK, CTL_MKK},
0221     {MKK1_MKKC, CTL_MKK, CTL_MKK},
0222 
0223     {MKK2_MKKA, CTL_MKK, CTL_MKK},
0224     {MKK3_MKKA, CTL_MKK, CTL_MKK},
0225     {MKK3_MKKB, CTL_MKK, CTL_MKK},
0226     {MKK3_MKKA1, CTL_MKK, CTL_MKK},
0227     {MKK3_MKKA2, CTL_MKK, CTL_MKK},
0228     {MKK3_MKKC, CTL_MKK, CTL_MKK},
0229     {MKK3_FCCA, CTL_MKK, CTL_FCC},
0230 
0231     {MKK4_MKKA, CTL_MKK, CTL_MKK},
0232     {MKK4_MKKB, CTL_MKK, CTL_MKK},
0233     {MKK4_MKKA1, CTL_MKK, CTL_MKK},
0234     {MKK4_MKKA2, CTL_MKK, CTL_MKK},
0235     {MKK4_MKKC, CTL_MKK, CTL_MKK},
0236     {MKK4_FCCA, CTL_MKK, CTL_FCC},
0237 
0238     {MKK5_MKKB, CTL_MKK, CTL_MKK},
0239     {MKK5_MKKA2, CTL_MKK, CTL_MKK},
0240     {MKK5_MKKC, CTL_MKK, CTL_MKK},
0241 
0242     {MKK6_MKKB, CTL_MKK, CTL_MKK},
0243     {MKK6_MKKA1, CTL_MKK, CTL_MKK},
0244     {MKK6_MKKA2, CTL_MKK, CTL_MKK},
0245     {MKK6_MKKC, CTL_MKK, CTL_MKK},
0246     {MKK6_FCCA, CTL_MKK, CTL_FCC},
0247 
0248     {MKK7_MKKB, CTL_MKK, CTL_MKK},
0249     {MKK7_MKKA1, CTL_MKK, CTL_MKK},
0250     {MKK7_MKKA2, CTL_MKK, CTL_MKK},
0251     {MKK7_MKKC, CTL_MKK, CTL_MKK},
0252     {MKK7_FCCA, CTL_MKK, CTL_FCC},
0253 
0254     {MKK8_MKKB, CTL_MKK, CTL_MKK},
0255     {MKK8_MKKA2, CTL_MKK, CTL_MKK},
0256     {MKK8_MKKC, CTL_MKK, CTL_MKK},
0257 
0258     {MKK9_MKKA, CTL_MKK, CTL_MKK},
0259     {MKK9_FCCA, CTL_MKK, CTL_FCC},
0260     {MKK9_MKKA1, CTL_MKK, CTL_MKK},
0261     {MKK9_MKKA2, CTL_MKK, CTL_MKK},
0262     {MKK9_MKKC, CTL_MKK, CTL_MKK},
0263 
0264     {MKK10_MKKA, CTL_MKK, CTL_MKK},
0265     {MKK10_FCCA, CTL_MKK, CTL_FCC},
0266     {MKK10_MKKA1, CTL_MKK, CTL_MKK},
0267     {MKK10_MKKA2, CTL_MKK, CTL_MKK},
0268     {MKK10_MKKC, CTL_MKK, CTL_MKK},
0269 
0270     {MKK11_MKKA, CTL_MKK, CTL_MKK},
0271     {MKK11_FCCA, CTL_MKK, CTL_FCC},
0272     {MKK11_MKKA1, CTL_MKK, CTL_MKK},
0273     {MKK11_MKKA2, CTL_MKK, CTL_MKK},
0274     {MKK11_MKKC, CTL_MKK, CTL_MKK},
0275 
0276     {MKK12_MKKA, CTL_MKK, CTL_MKK},
0277     {MKK12_FCCA, CTL_MKK, CTL_FCC},
0278     {MKK12_MKKA1, CTL_MKK, CTL_MKK},
0279     {MKK12_MKKA2, CTL_MKK, CTL_MKK},
0280     {MKK12_MKKC, CTL_MKK, CTL_MKK},
0281 
0282     {MKK13_MKKB, CTL_MKK, CTL_MKK},
0283     {MKK14_MKKA1, CTL_MKK, CTL_MKK},
0284     {MKK15_MKKA1, CTL_MKK, CTL_MKK},
0285 
0286     {WOR0_WORLD, NO_CTL, NO_CTL},
0287     {WOR1_WORLD, NO_CTL, NO_CTL},
0288     {WOR2_WORLD, NO_CTL, NO_CTL},
0289     {WOR3_WORLD, NO_CTL, NO_CTL},
0290     {WOR4_WORLD, NO_CTL, NO_CTL},
0291     {WOR5_ETSIC, NO_CTL, NO_CTL},
0292     {WOR01_WORLD, NO_CTL, NO_CTL},
0293     {WOR02_WORLD, NO_CTL, NO_CTL},
0294     {EU1_WORLD, NO_CTL, NO_CTL},
0295     {WOR9_WORLD, NO_CTL, NO_CTL},
0296     {WORA_WORLD, NO_CTL, NO_CTL},
0297     {WORB_WORLD, NO_CTL, NO_CTL},
0298     {WORC_WORLD, NO_CTL, NO_CTL},
0299 };
0300 
0301 static struct country_code_to_enum_rd allCountries[] = {
0302     {CTRY_DEBUG, NO_ENUMRD, "DB"},
0303     {CTRY_DEFAULT, FCC1_FCCA, "CO"},
0304     {CTRY_ALBANIA, ETSI1_WORLD, "AL"},
0305     {CTRY_ALGERIA, APL13_WORLD, "DZ"},
0306     {CTRY_ARGENTINA, FCC3_WORLD, "AR"},
0307     {CTRY_ARMENIA, ETSI4_WORLD, "AM"},
0308     {CTRY_ARUBA, ETSI1_WORLD, "AW"},
0309     {CTRY_AUSTRALIA, FCC3_WORLD, "AU"},
0310     {CTRY_AUSTRALIA2, FCC6_WORLD, "AU"},
0311     {CTRY_AUSTRIA, ETSI1_WORLD, "AT"},
0312     {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ"},
0313     {CTRY_BAHAMAS, FCC3_WORLD, "BS"},
0314     {CTRY_BAHRAIN, APL6_WORLD, "BH"},
0315     {CTRY_BANGLADESH, APL1_WORLD, "BD"},
0316     {CTRY_BARBADOS, FCC2_WORLD, "BB"},
0317     {CTRY_BELARUS, ETSI1_WORLD, "BY"},
0318     {CTRY_BELGIUM, ETSI1_WORLD, "BE"},
0319     {CTRY_BELGIUM2, ETSI4_WORLD, "BL"},
0320     {CTRY_BELIZE, APL1_ETSIC, "BZ"},
0321     {CTRY_BERMUDA, FCC3_FCCA, "BM"},
0322     {CTRY_BOLIVIA, APL1_ETSIC, "BO"},
0323     {CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA"},
0324     {CTRY_BRAZIL, FCC3_WORLD, "BR"},
0325     {CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN"},
0326     {CTRY_BULGARIA, ETSI1_WORLD, "BG"},
0327     {CTRY_CAMBODIA, ETSI1_WORLD, "KH"},
0328     {CTRY_CANADA, FCC3_FCCA, "CA"},
0329     {CTRY_CANADA2, FCC6_FCCA, "CA"},
0330     {CTRY_CHILE, APL6_WORLD, "CL"},
0331     {CTRY_CHINA, APL1_WORLD, "CN"},
0332     {CTRY_COLOMBIA, FCC3_WORLD, "CO"},
0333     {CTRY_COSTA_RICA, FCC1_WORLD, "CR"},
0334     {CTRY_CROATIA, ETSI1_WORLD, "HR"},
0335     {CTRY_CYPRUS, ETSI1_WORLD, "CY"},
0336     {CTRY_CZECH, ETSI1_WORLD, "CZ"},
0337     {CTRY_DENMARK, ETSI1_WORLD, "DK"},
0338     {CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO"},
0339     {CTRY_ECUADOR, FCC1_WORLD, "EC"},
0340     {CTRY_EGYPT, ETSI3_WORLD, "EG"},
0341     {CTRY_EL_SALVADOR, FCC1_WORLD, "SV"},
0342     {CTRY_ESTONIA, ETSI1_WORLD, "EE"},
0343     {CTRY_FINLAND, ETSI1_WORLD, "FI"},
0344     {CTRY_FRANCE, ETSI1_WORLD, "FR"},
0345     {CTRY_GEORGIA, ETSI4_WORLD, "GE"},
0346     {CTRY_GERMANY, ETSI1_WORLD, "DE"},
0347     {CTRY_GREECE, ETSI1_WORLD, "GR"},
0348     {CTRY_GREENLAND, ETSI1_WORLD, "GL"},
0349     {CTRY_GRENADA, FCC3_FCCA, "GD"},
0350     {CTRY_GUAM, FCC1_FCCA, "GU"},
0351     {CTRY_GUATEMALA, FCC1_FCCA, "GT"},
0352     {CTRY_HAITI, ETSI1_WORLD, "HT"},
0353     {CTRY_HONDURAS, FCC3_WORLD, "HN"},
0354     {CTRY_HONG_KONG, FCC3_WORLD, "HK"},
0355     {CTRY_HUNGARY, ETSI1_WORLD, "HU"},
0356     {CTRY_ICELAND, ETSI1_WORLD, "IS"},
0357     {CTRY_INDIA, APL6_WORLD, "IN"},
0358     {CTRY_INDONESIA, NULL1_WORLD, "ID"},
0359     {CTRY_IRAN, APL1_WORLD, "IR"},
0360     {CTRY_IRELAND, ETSI1_WORLD, "IE"},
0361     {CTRY_ISRAEL, ETSI3_WORLD, "IL"},
0362     {CTRY_ITALY, ETSI1_WORLD, "IT"},
0363     {CTRY_JAMAICA, FCC3_WORLD, "JM"},
0364 
0365     {CTRY_JAPAN, MKK1_MKKA, "JP"},
0366     {CTRY_JAPAN1, MKK1_MKKB, "JP"},
0367     {CTRY_JAPAN2, MKK1_FCCA, "JP"},
0368     {CTRY_JAPAN3, MKK2_MKKA, "JP"},
0369     {CTRY_JAPAN4, MKK1_MKKA1, "JP"},
0370     {CTRY_JAPAN5, MKK1_MKKA2, "JP"},
0371     {CTRY_JAPAN6, MKK1_MKKC, "JP"},
0372     {CTRY_JAPAN7, MKK3_MKKB, "JP"},
0373     {CTRY_JAPAN8, MKK3_MKKA2, "JP"},
0374     {CTRY_JAPAN9, MKK3_MKKC, "JP"},
0375     {CTRY_JAPAN10, MKK4_MKKB, "JP"},
0376     {CTRY_JAPAN11, MKK4_MKKA2, "JP"},
0377     {CTRY_JAPAN12, MKK4_MKKC, "JP"},
0378     {CTRY_JAPAN13, MKK5_MKKB, "JP"},
0379     {CTRY_JAPAN14, MKK5_MKKA2, "JP"},
0380     {CTRY_JAPAN15, MKK5_MKKC, "JP"},
0381     {CTRY_JAPAN16, MKK6_MKKB, "JP"},
0382     {CTRY_JAPAN17, MKK6_MKKA2, "JP"},
0383     {CTRY_JAPAN18, MKK6_MKKC, "JP"},
0384     {CTRY_JAPAN19, MKK7_MKKB, "JP"},
0385     {CTRY_JAPAN20, MKK7_MKKA2, "JP"},
0386     {CTRY_JAPAN21, MKK7_MKKC, "JP"},
0387     {CTRY_JAPAN22, MKK8_MKKB, "JP"},
0388     {CTRY_JAPAN23, MKK8_MKKA2, "JP"},
0389     {CTRY_JAPAN24, MKK8_MKKC, "JP"},
0390     {CTRY_JAPAN25, MKK3_MKKA, "JP"},
0391     {CTRY_JAPAN26, MKK3_MKKA1, "JP"},
0392     {CTRY_JAPAN27, MKK3_FCCA, "JP"},
0393     {CTRY_JAPAN28, MKK4_MKKA1, "JP"},
0394     {CTRY_JAPAN29, MKK4_FCCA, "JP"},
0395     {CTRY_JAPAN30, MKK6_MKKA1, "JP"},
0396     {CTRY_JAPAN31, MKK6_FCCA, "JP"},
0397     {CTRY_JAPAN32, MKK7_MKKA1, "JP"},
0398     {CTRY_JAPAN33, MKK7_FCCA, "JP"},
0399     {CTRY_JAPAN34, MKK9_MKKA, "JP"},
0400     {CTRY_JAPAN35, MKK10_MKKA, "JP"},
0401     {CTRY_JAPAN36, MKK4_MKKA, "JP"},
0402     {CTRY_JAPAN37, MKK9_FCCA, "JP"},
0403     {CTRY_JAPAN38, MKK9_MKKA1, "JP"},
0404     {CTRY_JAPAN39, MKK9_MKKC, "JP"},
0405     {CTRY_JAPAN40, MKK9_MKKA2, "JP"},
0406     {CTRY_JAPAN41, MKK10_FCCA, "JP"},
0407     {CTRY_JAPAN42, MKK10_MKKA1, "JP"},
0408     {CTRY_JAPAN43, MKK10_MKKC, "JP"},
0409     {CTRY_JAPAN44, MKK10_MKKA2, "JP"},
0410     {CTRY_JAPAN45, MKK11_MKKA, "JP"},
0411     {CTRY_JAPAN46, MKK11_FCCA, "JP"},
0412     {CTRY_JAPAN47, MKK11_MKKA1, "JP"},
0413     {CTRY_JAPAN48, MKK11_MKKC, "JP"},
0414     {CTRY_JAPAN49, MKK11_MKKA2, "JP"},
0415     {CTRY_JAPAN50, MKK12_MKKA, "JP"},
0416     {CTRY_JAPAN51, MKK12_FCCA, "JP"},
0417     {CTRY_JAPAN52, MKK12_MKKA1, "JP"},
0418     {CTRY_JAPAN53, MKK12_MKKC, "JP"},
0419     {CTRY_JAPAN54, MKK12_MKKA2, "JP"},
0420     {CTRY_JAPAN57, MKK13_MKKB, "JP"},
0421     {CTRY_JAPAN58, MKK14_MKKA1, "JP"},
0422     {CTRY_JAPAN59, MKK15_MKKA1, "JP"},
0423 
0424     {CTRY_JORDAN, ETSI2_WORLD, "JO"},
0425     {CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ"},
0426     {CTRY_KENYA, APL1_WORLD, "KE"},
0427     {CTRY_KOREA_NORTH, APL9_WORLD, "KP"},
0428     {CTRY_KOREA_ROC, APL9_WORLD, "KR"},
0429     {CTRY_KOREA_ROC2, APL2_WORLD, "K2"},
0430     {CTRY_KOREA_ROC3, APL9_WORLD, "K3"},
0431     {CTRY_KOREA_ROC4, APL10_WORLD, "K4"},
0432     {CTRY_KUWAIT, ETSI3_WORLD, "KW"},
0433     {CTRY_LATVIA, ETSI1_WORLD, "LV"},
0434     {CTRY_LEBANON, NULL1_WORLD, "LB"},
0435     {CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI"},
0436     {CTRY_LITHUANIA, ETSI1_WORLD, "LT"},
0437     {CTRY_LUXEMBOURG, ETSI1_WORLD, "LU"},
0438     {CTRY_MACAU, FCC2_WORLD, "MO"},
0439     {CTRY_MACEDONIA, ETSI1_WORLD, "MK"},
0440     {CTRY_MALAYSIA, FCC1_WORLD, "MY"},
0441     {CTRY_MALTA, ETSI1_WORLD, "MT"},
0442     {CTRY_MAURITIUS, ETSI1_WORLD, "MU"},
0443     {CTRY_MEXICO, FCC1_FCCA, "MX"},
0444     {CTRY_MONACO, ETSI4_WORLD, "MC"},
0445     {CTRY_MONTENEGRO, ETSI1_WORLD, "ME"},
0446     {CTRY_MOROCCO, APL4_WORLD, "MA"},
0447     {CTRY_NEPAL, APL1_WORLD, "NP"},
0448     {CTRY_NETHERLANDS, ETSI1_WORLD, "NL"},
0449     {CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN"},
0450     {CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ"},
0451     {CTRY_NICARAGUA, FCC3_FCCA, "NI"},
0452     {CTRY_NORWAY, ETSI1_WORLD, "NO"},
0453     {CTRY_OMAN, FCC3_WORLD, "OM"},
0454     {CTRY_PAKISTAN, NULL1_WORLD, "PK"},
0455     {CTRY_PANAMA, FCC1_FCCA, "PA"},
0456     {CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG"},
0457     {CTRY_PARAGUAY, FCC3_WORLD, "PY"},
0458     {CTRY_PERU, FCC3_WORLD, "PE"},
0459     {CTRY_PHILIPPINES, FCC3_WORLD, "PH"},
0460     {CTRY_POLAND, ETSI1_WORLD, "PL"},
0461     {CTRY_PORTUGAL, ETSI1_WORLD, "PT"},
0462     {CTRY_PUERTO_RICO, FCC1_FCCA, "PR"},
0463     {CTRY_QATAR, APL1_WORLD, "QA"},
0464     {CTRY_ROMANIA, ETSI1_WORLD, "RO"},
0465     {CTRY_RUSSIA, ETSI8_WORLD, "RU"},
0466     {CTRY_SAUDI_ARABIA, NULL1_WORLD, "SA"},
0467     {CTRY_SERBIA, ETSI1_WORLD, "RS"},
0468     {CTRY_SERBIA_MONTENEGRO, ETSI1_WORLD, "CS"},
0469     {CTRY_SINGAPORE, FCC3_WORLD, "SG"},
0470     {CTRY_SLOVAKIA, ETSI1_WORLD, "SK"},
0471     {CTRY_SLOVENIA, ETSI1_WORLD, "SI"},
0472     {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA"},
0473     {CTRY_SPAIN, ETSI1_WORLD, "ES"},
0474     {CTRY_SRI_LANKA, FCC3_WORLD, "LK"},
0475     {CTRY_SWEDEN, ETSI1_WORLD, "SE"},
0476     {CTRY_SWITZERLAND, ETSI1_WORLD, "CH"},
0477     {CTRY_SYRIA, NULL1_WORLD, "SY"},
0478     {CTRY_TAIWAN, APL3_FCCA, "TW"},
0479     {CTRY_TANZANIA, APL1_WORLD, "TZ"},
0480     {CTRY_THAILAND, FCC3_WORLD, "TH"},
0481     {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT"},
0482     {CTRY_TUNISIA, ETSI3_WORLD, "TN"},
0483     {CTRY_TURKEY, ETSI3_WORLD, "TR"},
0484     {CTRY_UGANDA, FCC3_WORLD, "UG"},
0485     {CTRY_UKRAINE, ETSI9_WORLD, "UA"},
0486     {CTRY_UAE, NULL1_WORLD, "AE"},
0487     {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB"},
0488     {CTRY_UNITED_STATES, FCC3_FCCA, "US"},
0489     {CTRY_UNITED_STATES2, FCC3_FCCA, "US"},
0490     {CTRY_UNITED_STATES3, FCC3_FCCA, "US"},
0491     /* This "PS" is for US public safety actually... to support this we
0492      * would need to assign new special alpha2 to CRDA db as with the world
0493      * regdomain and use another alpha2 */
0494     {CTRY_UNITED_STATES_FCC49, FCC4_FCCA, "PS"},
0495     {CTRY_URUGUAY, FCC3_WORLD, "UY"},
0496     {CTRY_UZBEKISTAN, FCC3_FCCA, "UZ"},
0497     {CTRY_VENEZUELA, APL2_ETSIC, "VE"},
0498     {CTRY_VIET_NAM, NULL1_WORLD, "VN"},
0499     {CTRY_YEMEN, NULL1_WORLD, "YE"},
0500     {CTRY_ZIMBABWE, ETSI1_WORLD, "ZW"},
0501 };
0502 
0503 #endif