/*
 * Copyright (c) 2008-2009 Atheros Communications Inc.
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#ifndef REGD_COMMON_H
#define REGD_COMMON_H

enum EnumRd {
	NO_ENUMRD = 0x00,
	NULL1_WORLD = 0x03,
	NULL1_ETSIB = 0x07,
	NULL1_ETSIC = 0x08,
	FCC1_FCCA = 0x10,
	FCC1_WORLD = 0x11,
	FCC4_FCCA = 0x12,
	FCC5_FCCA = 0x13,
	FCC6_FCCA = 0x14,

	FCC2_FCCA = 0x20,
	FCC2_WORLD = 0x21,
	FCC2_ETSIC = 0x22,
	FCC6_WORLD = 0x23,
	FRANCE_RES = 0x31,
	FCC3_FCCA = 0x3A,
	FCC3_WORLD = 0x3B,

	ETSI1_WORLD = 0x37,
	ETSI3_ETSIA = 0x32,
	ETSI2_WORLD = 0x35,
	ETSI3_WORLD = 0x36,
	ETSI4_WORLD = 0x30,
	ETSI4_ETSIC = 0x38,
	ETSI5_WORLD = 0x39,
	ETSI6_WORLD = 0x34,
	ETSI_RESERVED = 0x33,

	MKK1_MKKA = 0x40,
	MKK1_MKKB = 0x41,
	APL4_WORLD = 0x42,
	MKK2_MKKA = 0x43,
	APL_RESERVED = 0x44,
	APL2_WORLD = 0x45,
	APL2_APLC = 0x46,
	APL3_WORLD = 0x47,
	MKK1_FCCA = 0x48,
	APL2_APLD = 0x49,
	MKK1_MKKA1 = 0x4A,
	MKK1_MKKA2 = 0x4B,
	MKK1_MKKC = 0x4C,

	APL3_FCCA = 0x50,
	APL1_WORLD = 0x52,
	APL1_FCCA = 0x53,
	APL1_APLA = 0x54,
	APL1_ETSIC = 0x55,
	APL2_ETSIC = 0x56,
	APL5_WORLD = 0x58,
	APL6_WORLD = 0x5B,
	APL7_FCCA = 0x5C,
	APL8_WORLD = 0x5D,
	APL9_WORLD = 0x5E,

	WOR0_WORLD = 0x60,
	WOR1_WORLD = 0x61,
	WOR2_WORLD = 0x62,
	WOR3_WORLD = 0x63,
	WOR4_WORLD = 0x64,
	WOR5_ETSIC = 0x65,

	WOR01_WORLD = 0x66,
	WOR02_WORLD = 0x67,
	EU1_WORLD = 0x68,

	WOR9_WORLD = 0x69,
	WORA_WORLD = 0x6A,
	WORB_WORLD = 0x6B,
	WORC_WORLD = 0x6C,

	MKK3_MKKB = 0x80,
	MKK3_MKKA2 = 0x81,
	MKK3_MKKC = 0x82,

	MKK4_MKKB = 0x83,
	MKK4_MKKA2 = 0x84,
	MKK4_MKKC = 0x85,

	MKK5_MKKB = 0x86,
	MKK5_MKKA2 = 0x87,
	MKK5_MKKC = 0x88,

	MKK6_MKKB = 0x89,
	MKK6_MKKA2 = 0x8A,
	MKK6_MKKC = 0x8B,

	MKK7_MKKB = 0x8C,
	MKK7_MKKA2 = 0x8D,
	MKK7_MKKC = 0x8E,

	MKK8_MKKB = 0x8F,
	MKK8_MKKA2 = 0x90,
	MKK8_MKKC = 0x91,

	MKK14_MKKA1 = 0x92,
	MKK15_MKKA1 = 0x93,

	MKK10_FCCA = 0xD0,
	MKK10_MKKA1 = 0xD1,
	MKK10_MKKC = 0xD2,
	MKK10_MKKA2 = 0xD3,

	MKK11_MKKA = 0xD4,
	MKK11_FCCA = 0xD5,
	MKK11_MKKA1 = 0xD6,
	MKK11_MKKC = 0xD7,
	MKK11_MKKA2 = 0xD8,

	MKK12_MKKA = 0xD9,
	MKK12_FCCA = 0xDA,
	MKK12_MKKA1 = 0xDB,
	MKK12_MKKC = 0xDC,
	MKK12_MKKA2 = 0xDD,

	MKK13_MKKB = 0xDE,

	MKK3_MKKA = 0xF0,
	MKK3_MKKA1 = 0xF1,
	MKK3_FCCA = 0xF2,
	MKK4_MKKA = 0xF3,
	MKK4_MKKA1 = 0xF4,
	MKK4_FCCA = 0xF5,
	MKK9_MKKA = 0xF6,
	MKK10_MKKA = 0xF7,
	MKK6_MKKA1 = 0xF8,
	MKK6_FCCA = 0xF9,
	MKK7_MKKA1 = 0xFA,
	MKK7_FCCA = 0xFB,
	MKK9_FCCA = 0xFC,
	MKK9_MKKA1 = 0xFD,
	MKK9_MKKC = 0xFE,
	MKK9_MKKA2 = 0xFF,

	WORLD = 0x0199,
	DEBUG_REG_DMN = 0x01ff,
};

/* Regpair to CTL band mapping */
static struct reg_dmn_pair_mapping regDomainPairs[] = {
	/* regpair, 5 GHz CTL, 2 GHz CTL */
	{NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN},
	{NULL1_WORLD, NO_CTL, CTL_ETSI},
	{NULL1_ETSIB, NO_CTL, CTL_ETSI},
	{NULL1_ETSIC, NO_CTL, CTL_ETSI},

	{FCC2_FCCA, CTL_FCC, CTL_FCC},
	{FCC2_WORLD, CTL_FCC, CTL_ETSI},
	{FCC2_ETSIC, CTL_FCC, CTL_ETSI},
	{FCC3_FCCA, CTL_FCC, CTL_FCC},
	{FCC3_WORLD, CTL_FCC, CTL_ETSI},
	{FCC4_FCCA, CTL_FCC, CTL_FCC},
	{FCC5_FCCA, CTL_FCC, CTL_FCC},
	{FCC6_FCCA, CTL_FCC, CTL_FCC},
	{FCC6_WORLD, CTL_FCC, CTL_ETSI},

	{ETSI1_WORLD, CTL_ETSI, CTL_ETSI},
	{ETSI2_WORLD, CTL_ETSI, CTL_ETSI},
	{ETSI3_WORLD, CTL_ETSI, CTL_ETSI},
	{ETSI4_WORLD, CTL_ETSI, CTL_ETSI},
	{ETSI5_WORLD, CTL_ETSI, CTL_ETSI},
	{ETSI6_WORLD, CTL_ETSI, CTL_ETSI},

	/* XXX: For ETSI3_ETSIA, Was NO_CTL meant for the 2 GHz band ? */
	{ETSI3_ETSIA, CTL_ETSI, CTL_ETSI},
	{FRANCE_RES, CTL_ETSI, CTL_ETSI},

	{FCC1_WORLD, CTL_FCC, CTL_ETSI},
	{FCC1_FCCA, CTL_FCC, CTL_FCC},
	{APL1_WORLD, CTL_FCC, CTL_ETSI},
	{APL2_WORLD, CTL_FCC, CTL_ETSI},
	{APL3_WORLD, CTL_FCC, CTL_ETSI},
	{APL4_WORLD, CTL_FCC, CTL_ETSI},
	{APL5_WORLD, CTL_FCC, CTL_ETSI},
	{APL6_WORLD, CTL_ETSI, CTL_ETSI},
	{APL8_WORLD, CTL_ETSI, CTL_ETSI},
	{APL9_WORLD, CTL_ETSI, CTL_ETSI},

	{APL3_FCCA, CTL_FCC, CTL_FCC},
	{APL7_FCCA, CTL_FCC, CTL_FCC},
	{APL1_ETSIC, CTL_FCC, CTL_ETSI},
	{APL2_ETSIC, CTL_FCC, CTL_ETSI},
	{APL2_APLD, CTL_FCC, NO_CTL},

	{MKK1_MKKA, CTL_MKK, CTL_MKK},
	{MKK1_MKKB, CTL_MKK, CTL_MKK},
	{MKK1_FCCA, CTL_MKK, CTL_FCC},
	{MKK1_MKKA1, CTL_MKK, CTL_MKK},
	{MKK1_MKKA2, CTL_MKK, CTL_MKK},
	{MKK1_MKKC, CTL_MKK, CTL_MKK},

	{MKK2_MKKA, CTL_MKK, CTL_MKK},
	{MKK3_MKKA, CTL_MKK, CTL_MKK},
	{MKK3_MKKB, CTL_MKK, CTL_MKK},
	{MKK3_MKKA1, CTL_MKK, CTL_MKK},
	{MKK3_MKKA2, CTL_MKK, CTL_MKK},
	{MKK3_MKKC, CTL_MKK, CTL_MKK},
	{MKK3_FCCA, CTL_MKK, CTL_FCC},

	{MKK4_MKKA, CTL_MKK, CTL_MKK},
	{MKK4_MKKB, CTL_MKK, CTL_MKK},
	{MKK4_MKKA1, CTL_MKK, CTL_MKK},
	{MKK4_MKKA2, CTL_MKK, CTL_MKK},
	{MKK4_MKKC, CTL_MKK, CTL_MKK},
	{MKK4_FCCA, CTL_MKK, CTL_FCC},

	{MKK5_MKKB, CTL_MKK, CTL_MKK},
	{MKK5_MKKA2, CTL_MKK, CTL_MKK},
	{MKK5_MKKC, CTL_MKK, CTL_MKK},

	{MKK6_MKKB, CTL_MKK, CTL_MKK},
	{MKK6_MKKA1, CTL_MKK, CTL_MKK},
	{MKK6_MKKA2, CTL_MKK, CTL_MKK},
	{MKK6_MKKC, CTL_MKK, CTL_MKK},
	{MKK6_FCCA, CTL_MKK, CTL_FCC},

	{MKK7_MKKB, CTL_MKK, CTL_MKK},
	{MKK7_MKKA1, CTL_MKK, CTL_MKK},
	{MKK7_MKKA2, CTL_MKK, CTL_MKK},
	{MKK7_MKKC, CTL_MKK, CTL_MKK},
	{MKK7_FCCA, CTL_MKK, CTL_FCC},

	{MKK8_MKKB, CTL_MKK, CTL_MKK},
	{MKK8_MKKA2, CTL_MKK, CTL_MKK},
	{MKK8_MKKC, CTL_MKK, CTL_MKK},

	{MKK9_MKKA, CTL_MKK, CTL_MKK},
	{MKK9_FCCA, CTL_MKK, CTL_FCC},
	{MKK9_MKKA1, CTL_MKK, CTL_MKK},
	{MKK9_MKKA2, CTL_MKK, CTL_MKK},
	{MKK9_MKKC, CTL_MKK, CTL_MKK},

	{MKK10_MKKA, CTL_MKK, CTL_MKK},
	{MKK10_FCCA, CTL_MKK, CTL_FCC},
	{MKK10_MKKA1, CTL_MKK, CTL_MKK},
	{MKK10_MKKA2, CTL_MKK, CTL_MKK},
	{MKK10_MKKC, CTL_MKK, CTL_MKK},

	{MKK11_MKKA, CTL_MKK, CTL_MKK},
	{MKK11_FCCA, CTL_MKK, CTL_FCC},
	{MKK11_MKKA1, CTL_MKK, CTL_MKK},
	{MKK11_MKKA2, CTL_MKK, CTL_MKK},
	{MKK11_MKKC, CTL_MKK, CTL_MKK},

	{MKK12_MKKA, CTL_MKK, CTL_MKK},
	{MKK12_FCCA, CTL_MKK, CTL_FCC},
	{MKK12_MKKA1, CTL_MKK, CTL_MKK},
	{MKK12_MKKA2, CTL_MKK, CTL_MKK},
	{MKK12_MKKC, CTL_MKK, CTL_MKK},

	{MKK13_MKKB, CTL_MKK, CTL_MKK},
	{MKK14_MKKA1, CTL_MKK, CTL_MKK},
	{MKK15_MKKA1, CTL_MKK, CTL_MKK},

	{WOR0_WORLD, NO_CTL, NO_CTL},
	{WOR1_WORLD, NO_CTL, NO_CTL},
	{WOR2_WORLD, NO_CTL, NO_CTL},
	{WOR3_WORLD, NO_CTL, NO_CTL},
	{WOR4_WORLD, NO_CTL, NO_CTL},
	{WOR5_ETSIC, NO_CTL, NO_CTL},
	{WOR01_WORLD, NO_CTL, NO_CTL},
	{WOR02_WORLD, NO_CTL, NO_CTL},
	{EU1_WORLD, NO_CTL, NO_CTL},
	{WOR9_WORLD, NO_CTL, NO_CTL},
	{WORA_WORLD, NO_CTL, NO_CTL},
	{WORB_WORLD, NO_CTL, NO_CTL},
	{WORC_WORLD, NO_CTL, NO_CTL},
};

static struct country_code_to_enum_rd allCountries[] = {
	{CTRY_DEBUG, NO_ENUMRD, "DB"},
	{CTRY_DEFAULT, FCC1_FCCA, "CO"},
	{CTRY_ALBANIA, NULL1_WORLD, "AL"},
	{CTRY_ALGERIA, NULL1_WORLD, "DZ"},
	{CTRY_ARGENTINA, FCC3_WORLD, "AR"},
	{CTRY_ARMENIA, ETSI4_WORLD, "AM"},
	{CTRY_ARUBA, ETSI1_WORLD, "AW"},
	{CTRY_AUSTRALIA, FCC2_WORLD, "AU"},
	{CTRY_AUSTRALIA2, FCC6_WORLD, "AU"},
	{CTRY_AUSTRIA, ETSI1_WORLD, "AT"},
	{CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ"},
	{CTRY_BAHRAIN, APL6_WORLD, "BH"},
	{CTRY_BANGLADESH, NULL1_WORLD, "BD"},
	{CTRY_BARBADOS, FCC2_WORLD, "BB"},
	{CTRY_BELARUS, ETSI1_WORLD, "BY"},
	{CTRY_BELGIUM, ETSI1_WORLD, "BE"},
	{CTRY_BELGIUM2, ETSI4_WORLD, "BL"},
	{CTRY_BELIZE, APL1_ETSIC, "BZ"},
	{CTRY_BOLIVIA, APL1_ETSIC, "BO"},
	{CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA"},
	{CTRY_BRAZIL, FCC3_WORLD, "BR"},
	{CTRY_BRUNEI_DARUSSALAM, APL1_WORLD, "BN"},
	{CTRY_BULGARIA, ETSI6_WORLD, "BG"},
	{CTRY_CAMBODIA, ETSI1_WORLD, "KH"},
	{CTRY_CANADA, FCC3_FCCA, "CA"},
	{CTRY_CANADA2, FCC6_FCCA, "CA"},
	{CTRY_CHILE, APL6_WORLD, "CL"},
	{CTRY_CHINA, APL1_WORLD, "CN"},
	{CTRY_COLOMBIA, FCC1_FCCA, "CO"},
	{CTRY_COSTA_RICA, FCC1_WORLD, "CR"},
	{CTRY_CROATIA, ETSI1_WORLD, "HR"},
	{CTRY_CYPRUS, ETSI1_WORLD, "CY"},
	{CTRY_CZECH, ETSI3_WORLD, "CZ"},
	{CTRY_DENMARK, ETSI1_WORLD, "DK"},
	{CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO"},
	{CTRY_ECUADOR, FCC1_WORLD, "EC"},
	{CTRY_EGYPT, ETSI3_WORLD, "EG"},
	{CTRY_EL_SALVADOR, FCC1_WORLD, "SV"},
	{CTRY_ESTONIA, ETSI1_WORLD, "EE"},
	{CTRY_FINLAND, ETSI1_WORLD, "FI"},
	{CTRY_FRANCE, ETSI1_WORLD, "FR"},
	{CTRY_GEORGIA, ETSI4_WORLD, "GE"},
	{CTRY_GERMANY, ETSI1_WORLD, "DE"},
	{CTRY_GREECE, ETSI1_WORLD, "GR"},
	{CTRY_GREENLAND, ETSI1_WORLD, "GL"},
	{CTRY_GRENADA, FCC3_FCCA, "GD"},
	{CTRY_GUAM, FCC1_FCCA, "GU"},
	{CTRY_GUATEMALA, FCC1_FCCA, "GT"},
	{CTRY_HAITI, ETSI1_WORLD, "HT"},
	{CTRY_HONDURAS, NULL1_WORLD, "HN"},
	{CTRY_HONG_KONG, FCC3_WORLD, "HK"},
	{CTRY_HUNGARY, ETSI1_WORLD, "HU"},
	{CTRY_ICELAND, ETSI1_WORLD, "IS"},
	{CTRY_INDIA, APL6_WORLD, "IN"},
	{CTRY_INDONESIA, NULL1_WORLD, "ID"},
	{CTRY_IRAN, APL1_WORLD, "IR"},
	{CTRY_IRELAND, ETSI1_WORLD, "IE"},
	{CTRY_ISRAEL, NULL1_WORLD, "IL"},
	{CTRY_ITALY, ETSI1_WORLD, "IT"},
	{CTRY_JAMAICA, FCC3_WORLD, "JM"},

	{CTRY_JAPAN, MKK1_MKKA, "JP"},
	{CTRY_JAPAN1, MKK1_MKKB, "JP"},
	{CTRY_JAPAN2, MKK1_FCCA, "JP"},
	{CTRY_JAPAN3, MKK2_MKKA, "JP"},
	{CTRY_JAPAN4, MKK1_MKKA1, "JP"},
	{CTRY_JAPAN5, MKK1_MKKA2, "JP"},
	{CTRY_JAPAN6, MKK1_MKKC, "JP"},
	{CTRY_JAPAN7, MKK3_MKKB, "JP"},
	{CTRY_JAPAN8, MKK3_MKKA2, "JP"},
	{CTRY_JAPAN9, MKK3_MKKC, "JP"},
	{CTRY_JAPAN10, MKK4_MKKB, "JP"},
	{CTRY_JAPAN11, MKK4_MKKA2, "JP"},
	{CTRY_JAPAN12, MKK4_MKKC, "JP"},
	{CTRY_JAPAN13, MKK5_MKKB, "JP"},
	{CTRY_JAPAN14, MKK5_MKKA2, "JP"},
	{CTRY_JAPAN15, MKK5_MKKC, "JP"},
	{CTRY_JAPAN16, MKK6_MKKB, "JP"},
	{CTRY_JAPAN17, MKK6_MKKA2, "JP"},
	{CTRY_JAPAN18, MKK6_MKKC, "JP"},
	{CTRY_JAPAN19, MKK7_MKKB, "JP"},
	{CTRY_JAPAN20, MKK7_MKKA2, "JP"},
	{CTRY_JAPAN21, MKK7_MKKC, "JP"},
	{CTRY_JAPAN22, MKK8_MKKB, "JP"},
	{CTRY_JAPAN23, MKK8_MKKA2, "JP"},
	{CTRY_JAPAN24, MKK8_MKKC, "JP"},
	{CTRY_JAPAN25, MKK3_MKKA, "JP"},
	{CTRY_JAPAN26, MKK3_MKKA1, "JP"},
	{CTRY_JAPAN27, MKK3_FCCA, "JP"},
	{CTRY_JAPAN28, MKK4_MKKA1, "JP"},
	{CTRY_JAPAN29, MKK4_FCCA, "JP"},
	{CTRY_JAPAN30, MKK6_MKKA1, "JP"},
	{CTRY_JAPAN31, MKK6_FCCA, "JP"},
	{CTRY_JAPAN32, MKK7_MKKA1, "JP"},
	{CTRY_JAPAN33, MKK7_FCCA, "JP"},
	{CTRY_JAPAN34, MKK9_MKKA, "JP"},
	{CTRY_JAPAN35, MKK10_MKKA, "JP"},
	{CTRY_JAPAN36, MKK4_MKKA, "JP"},
	{CTRY_JAPAN37, MKK9_FCCA, "JP"},
	{CTRY_JAPAN38, MKK9_MKKA1, "JP"},
	{CTRY_JAPAN39, MKK9_MKKC, "JP"},
	{CTRY_JAPAN40, MKK9_MKKA2, "JP"},
	{CTRY_JAPAN41, MKK10_FCCA, "JP"},
	{CTRY_JAPAN42, MKK10_MKKA1, "JP"},
	{CTRY_JAPAN43, MKK10_MKKC, "JP"},
	{CTRY_JAPAN44, MKK10_MKKA2, "JP"},
	{CTRY_JAPAN45, MKK11_MKKA, "JP"},
	{CTRY_JAPAN46, MKK11_FCCA, "JP"},
	{CTRY_JAPAN47, MKK11_MKKA1, "JP"},
	{CTRY_JAPAN48, MKK11_MKKC, "JP"},
	{CTRY_JAPAN49, MKK11_MKKA2, "JP"},
	{CTRY_JAPAN50, MKK12_MKKA, "JP"},
	{CTRY_JAPAN51, MKK12_FCCA, "JP"},
	{CTRY_JAPAN52, MKK12_MKKA1, "JP"},
	{CTRY_JAPAN53, MKK12_MKKC, "JP"},
	{CTRY_JAPAN54, MKK12_MKKA2, "JP"},
	{CTRY_JAPAN57, MKK13_MKKB, "JP"},
	{CTRY_JAPAN58, MKK14_MKKA1, "JP"},
	{CTRY_JAPAN59, MKK15_MKKA1, "JP"},

	{CTRY_JORDAN, ETSI2_WORLD, "JO"},
	{CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ"},
	{CTRY_KOREA_NORTH, APL9_WORLD, "KP"},
	{CTRY_KOREA_ROC, APL9_WORLD, "KR"},
	{CTRY_KOREA_ROC2, APL2_WORLD, "K2"},
	{CTRY_KOREA_ROC3, APL9_WORLD, "K3"},
	{CTRY_KUWAIT, ETSI3_WORLD, "KW"},
	{CTRY_LATVIA, ETSI1_WORLD, "LV"},
	{CTRY_LEBANON, NULL1_WORLD, "LB"},
	{CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI"},
	{CTRY_LITHUANIA, ETSI1_WORLD, "LT"},
	{CTRY_LUXEMBOURG, ETSI1_WORLD, "LU"},
	{CTRY_MACAU, FCC2_WORLD, "MO"},
	{CTRY_MACEDONIA, NULL1_WORLD, "MK"},
	{CTRY_MALAYSIA, APL8_WORLD, "MY"},
	{CTRY_MALTA, ETSI1_WORLD, "MT"},
	{CTRY_MEXICO, FCC1_FCCA, "MX"},
	{CTRY_MONACO, ETSI4_WORLD, "MC"},
	{CTRY_MOROCCO, APL4_WORLD, "MA"},
	{CTRY_NEPAL, APL1_WORLD, "NP"},
	{CTRY_NETHERLANDS, ETSI1_WORLD, "NL"},
	{CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN"},
	{CTRY_NEW_ZEALAND, FCC2_ETSIC, "NZ"},
	{CTRY_NORWAY, ETSI1_WORLD, "NO"},
	{CTRY_OMAN, FCC3_WORLD, "OM"},
	{CTRY_PAKISTAN, NULL1_WORLD, "PK"},
	{CTRY_PANAMA, FCC1_FCCA, "PA"},
	{CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG"},
	{CTRY_PERU, APL1_WORLD, "PE"},
	{CTRY_PHILIPPINES, APL1_WORLD, "PH"},
	{CTRY_POLAND, ETSI1_WORLD, "PL"},
	{CTRY_PORTUGAL, ETSI1_WORLD, "PT"},
	{CTRY_PUERTO_RICO, FCC1_FCCA, "PR"},
	{CTRY_QATAR, APL1_WORLD, "QA"},
	{CTRY_ROMANIA, NULL1_WORLD, "RO"},
	{CTRY_RUSSIA, NULL1_WORLD, "RU"},
	{CTRY_SAUDI_ARABIA, NULL1_WORLD, "SA"},
	{CTRY_SERBIA_MONTENEGRO, ETSI1_WORLD, "CS"},
	{CTRY_SINGAPORE, APL6_WORLD, "SG"},
	{CTRY_SLOVAKIA, ETSI1_WORLD, "SK"},
	{CTRY_SLOVENIA, ETSI1_WORLD, "SI"},
	{CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA"},
	{CTRY_SPAIN, ETSI1_WORLD, "ES"},
	{CTRY_SRI_LANKA, FCC3_WORLD, "LK"},
	{CTRY_SWEDEN, ETSI1_WORLD, "SE"},
	{CTRY_SWITZERLAND, ETSI1_WORLD, "CH"},
	{CTRY_SYRIA, NULL1_WORLD, "SY"},
	{CTRY_TAIWAN, APL3_FCCA, "TW"},
	{CTRY_THAILAND, FCC3_WORLD, "TH"},
	{CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT"},
	{CTRY_TUNISIA, ETSI3_WORLD, "TN"},
	{CTRY_TURKEY, ETSI3_WORLD, "TR"},
	{CTRY_UKRAINE, NULL1_WORLD, "UA"},
	{CTRY_UAE, NULL1_WORLD, "AE"},
	{CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB"},
	{CTRY_UNITED_STATES, FCC3_FCCA, "US"},
	/* This "PS" is for US public safety actually... to support this we
	 * would need to assign new special alpha2 to CRDA db as with the world
	 * regdomain and use another alpha2 */
	{CTRY_UNITED_STATES_FCC49, FCC4_FCCA, "PS"},
	{CTRY_URUGUAY, FCC3_WORLD, "UY"},
	{CTRY_UZBEKISTAN, FCC3_FCCA, "UZ"},
	{CTRY_VENEZUELA, APL2_ETSIC, "VE"},
	{CTRY_VIET_NAM, NULL1_WORLD, "VN"},
	{CTRY_YEMEN, NULL1_WORLD, "YE"},
	{CTRY_ZIMBABWE, NULL1_WORLD, "ZW"},
};

#endif
