From 19b0f038d40d8199a19e7d22594a849570f076ee Mon Sep 17 00:00:00 2001 From: Hariharan Basuthkar Date: Thu, 15 Oct 2020 13:10:19 +0530 Subject: [PATCH] qcacmn: Update Host Regdb to accommodate the new 6G regdomains Make the following changes to update Host Regdb to accommodate the new 6G regdomains: 1) Add a macro COMPILE_REGDB_6G, to prevent compilation of the new 6G regdomains in the host. 2) Add new 6G super domains, 6G sub domains, and 6G reg rules (add a new structure regulatory_rule_ext) and place them under COMPILE_REGDB_6G. 3) Add 2 new fields to the struct country_code_to_reg_domain - reg_6ghz_super_dmn_id and max_bw_6g. If COMPILE_REGDB_6G and CONFIG_BAND_GHZ are defined then, reg_6ghz_super_dmn_id and max_bw_6g are part of the country_code_to_reg_domain table for a country entry. If COMPILE_REGDB_6G or CONFIG_BAND_GHZ, is not defined then they are absent. Change-Id: I72ba7b8f6fb4761205fbde51bbc8570bac531e87 CRs-Fixed: 2794085 --- umac/regulatory/core/src/reg_db.c | 1357 ++++++++++++++++------------- umac/regulatory/core/src/reg_db.h | 93 +- 2 files changed, 841 insertions(+), 609 deletions(-) diff --git a/umac/regulatory/core/src/reg_db.c b/umac/regulatory/core/src/reg_db.c index 6b43928d61..2ee8d4f051 100644 --- a/umac/regulatory/core/src/reg_db.c +++ b/umac/regulatory/core/src/reg_db.c @@ -320,618 +320,618 @@ enum reg_domain { #ifndef CONFIG_REG_CLIENT const struct country_code_to_reg_domain g_all_countries[] = { - {CTRY_AFGHANISTAN, ETSI1_WORLD, "AF", 40, 160, 0}, - {CTRY_ALAND_ISLANDS, FCC3_WORLD, "AX", 40, 160, 0}, - {CTRY_ALBANIA, ETSI1_WORLD, "AL", 40, 160, 0}, - {CTRY_ALGERIA, APL13_WORLD, "DZ", 40, 160, 0}, - {CTRY_AMERICAN_SAMOA, FCC3_FCCA, "AS", 40, 160, 0}, - {CTRY_ANDORRA, ETSI1_WORLD, "AD", 40, 160, 0}, - {CTRY_ANGUILLA, ETSI1_WORLD, "AI", 40, 160, 0}, - {CTRY_ANTIGUA_AND_BARBUDA, FCC3_WORLD, "AG", 40, 160, 0}, - {CTRY_ARGENTINA, APL16_ETSIC, "AR", 40, 160, 0}, - {CTRY_ARMENIA, APL4_WORLD, "AM", 40, 160, 0}, - {CTRY_ARUBA, ETSI1_WORLD, "AW", 40, 160, 0}, - {CTRY_AUSTRALIA, FCC6_WORLD, "AU", 40, 160, 0}, - {CTRY_AUSTRIA, ETSI1_WORLD, "AT", 40, 160, 0}, - {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", 40, 160, 0}, - {CTRY_BAHAMAS, FCC3_WORLD, "BS", 40, 160, 0}, - {CTRY_BAHRAIN, APL15_WORLD, "BH", 40, 160, 0}, - {CTRY_BANGLADESH, APL1_WORLD, "BD", 40, 160, 0}, - {CTRY_BARBADOS, FCC2_WORLD, "BB", 40, 160, 0}, - {CTRY_BELARUS, ETSI1_WORLD, "BY", 40, 160, REGULATORY_PHYMODE_NO11AX}, - {CTRY_BELGIUM, ETSI1_WORLD, "BE", 40, 160, 0}, - {CTRY_BELIZE, ETSI8_WORLD, "BZ", 40, 160, 0}, - {CTRY_BERMUDA, FCC3_FCCA, "BM", 40, 160, 0}, - {CTRY_BHUTAN, ETSI1_WORLD, "BT", 40, 160, 0}, - {CTRY_BOLIVIA, FCC8_WORLD, "BO", 40, 160, 0}, - {CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", 40, 160, 0}, - {CTRY_BRAZIL, FCC3_ETSIC, "BR", 40, 160, 0}, - {CTRY_BRUNEI_DARUSSALAM, FCC8_WORLD, "BN", 40, 160, 0}, - {CTRY_BULGARIA, ETSI1_WORLD, "BG", 40, 160, 0}, - {CTRY_BURKINA_FASO, FCC3_WORLD, "BF", 40, 160, 0}, - {CTRY_CAMBODIA, ETSI1_WORLD, "KH", 40, 160, 0}, - {CTRY_CAMEROON, ETSI1_WORLD, "CM", 40, 160, 0}, - {CTRY_CANADA, FCC6_FCCA, "CA", 40, 160, 0}, - {CTRY_CAYMAN_ISLANDS, FCC3_WORLD, "KY", 40, 160, 0}, - {CTRY_CENTRAL_AFRICA_REPUBLIC, FCC3_WORLD, "CF", 40, 40, 0}, - {CTRY_CHAD, ETSI1_WORLD, "TD", 40, 160, 0}, - {CTRY_CHILE, FCC13_WORLD, "CL", 40, 160, 0}, - {CTRY_CHINA, APL14_WORLD, "CN", 40, 160, 0}, - {CTRY_CHRISTMAS_ISLAND, FCC3_WORLD, "CX", 40, 160, 0}, - {CTRY_COLOMBIA, FCC3_WORLD, "CO", 40, 160, 0}, - {CTRY_COOK_ISLANDS, FCC3_WORLD, "CK", 40, 160, 0}, - {CTRY_COSTA_RICA, FCC3_WORLD, "CR", 40, 160, 0}, - {CTRY_COTE_DIVOIRE, FCC3_WORLD, "CI", 40, 160, 0}, - {CTRY_CROATIA, ETSI1_WORLD, "HR", 40, 160, 0}, - {CTRY_CURACAO, APL10_WORLD, "CW", 40, 160, 0}, - {CTRY_CYPRUS, ETSI1_WORLD, "CY", 40, 160, 0}, - {CTRY_CZECH, ETSI1_WORLD, "CZ", 40, 160, 0}, - {CTRY_DENMARK, ETSI1_WORLD, "DK", 40, 160, 0}, - {CTRY_DOMINICA, FCC1_FCCA, "DM", 40, 160, 0}, - {CTRY_DOMINICAN_REPUBLIC, FCC3_FCCA, "DO", 40, 160, 0}, - {CTRY_ECUADOR, FCC3_FCCA, "EC", 40, 160, 0}, - {CTRY_EGYPT, ETSI3_WORLD, "EG", 40, 160, 0}, - {CTRY_EL_SALVADOR, FCC3_WORLD, "SV", 40, 160, 0}, - {CTRY_ESTONIA, ETSI1_WORLD, "EE", 40, 160, 0}, - {CTRY_ETHIOPIA, ETSI1_WORLD, "ET", 40, 160, 0}, - {CTRY_FALKLAND_ISLANDS, ETSI1_WORLD, "FK", 40, 160, 0}, - {CTRY_FAROE_ISLANDS, ETSI1_WORLD, "FO", 40, 160, 0}, - {CTRY_FINLAND, ETSI1_WORLD, "FI", 40, 160, 0}, - {CTRY_FRANCE, ETSI1_WORLD, "FR", 40, 160, 0}, - {CTRY_FRENCH_GUIANA, ETSI1_WORLD, "GF", 40, 160, 0}, - {CTRY_FRENCH_POLYNESIA, ETSI1_WORLD, "PF", 40, 160, 0}, - {CTRY_FRENCH_SOUTHERN_TERRITORIES, ETSI1_WORLD, "TF", 40, 160, 0}, - {CTRY_GEORGIA, ETSI1_WORLD, "GE", 40, 160, 0}, - {CTRY_GERMANY, ETSI1_WORLD, "DE", 40, 160, 0}, - {CTRY_GHANA, FCC3_WORLD, "GH", 40, 160, 0}, - {CTRY_GIBRALTAR, ETSI1_WORLD, "GI", 40, 160, 0}, - {CTRY_GREECE, ETSI1_WORLD, "GR", 40, 160, 0}, - {CTRY_GREENLAND, ETSI1_WORLD, "GL", 40, 160, 0}, - {CTRY_GRENADA, FCC3_FCCA, "GD", 40, 160, 0}, - {CTRY_GUADELOUPE, ETSI1_WORLD, "GP", 40, 160, 0}, - {CTRY_GUAM, FCC3_FCCA, "GU", 40, 160, 0}, - {CTRY_GUATEMALA, ETSI1_WORLD, "GT", 40, 160, 0}, - {CTRY_GUERNSEY, ETSI1_WORLD, "GG", 40, 160, 0}, - {CTRY_GUYANA, APL1_ETSIC, "GY", 40, 160, 0}, - {CTRY_HAITI, FCC3_FCCA, "HT", 40, 160, 0}, - {CTRY_HEARD_ISLAND_AND_MCDONALD_ISLANDS, FCC6_WORLD, "HM", 40, 160, 0}, - {CTRY_HOLY_SEE, ETSI1_WORLD, "VA", 40, 160, 0}, - {CTRY_HONDURAS, FCC3_WORLD, "HN", 40, 160, 0}, - {CTRY_HONG_KONG, FCC3_WORLD, "HK", 40, 160, 0}, - {CTRY_HUNGARY, ETSI1_WORLD, "HU", 40, 160, 0}, - {CTRY_ICELAND, ETSI1_WORLD, "IS", 40, 160, 0}, - {CTRY_INDIA, APL19_ETSIC, "IN", 40, 160, 0}, - {CTRY_INDONESIA, APL2_ETSID, "ID", 40, 80, 0}, - {CTRY_IRAQ, ETSI1_WORLD, "IQ", 40, 160, 0}, - {CTRY_IRELAND, ETSI1_WORLD, "IE", 40, 160, 0}, - {CTRY_ISLE_OF_MAN, ETSI1_WORLD, "IM", 40, 160, 0}, - {CTRY_ISRAEL, ETSI3_WORLD, "IL", 40, 160, 0}, - {CTRY_ITALY, ETSI1_WORLD, "IT", 40, 160, 0}, - {CTRY_JAMAICA, FCC13_WORLD, "JM", 40, 160, 0}, - {CTRY_JAPAN, MKK17_MKKC, "JP", 40, 160, 0}, - {CTRY_JAPAN15, MKK17_MKKC, "JP", 40, 160, 0}, - {CTRY_JERSEY, ETSI1_WORLD, "JE", 40, 160, 0}, - {CTRY_JORDAN, APL4_WORLD, "JO", 40, 160, 0}, - {CTRY_KAZAKHSTAN, MKK5_MKKC, "KZ", 40, 160, 0}, - {CTRY_KENYA, ETSI13_WORLD, "KE", 40, 160, 0}, - {CTRY_KOREA_ROC, APL9_MKKC, "KR", 40, 160, 0}, - {CTRY_KUWAIT, ETSI1_WORLD, "KW", 40, 160, 0}, - {CTRY_LATVIA, ETSI1_WORLD, "LV", 40, 160, 0}, - {CTRY_LEBANON, FCC3_WORLD, "LB", 40, 160, 0}, - {CTRY_LESOTHO, ETSI1_WORLD, "LS", 40, 160, 0}, - {CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", 40, 160, 0}, - {CTRY_LITHUANIA, ETSI1_WORLD, "LT", 40, 160, 0}, - {CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", 40, 160, 0}, - {CTRY_MACAU, FCC3_WORLD, "MO", 40, 160, 0}, - {CTRY_MACEDONIA, ETSI1_WORLD, "MK", 40, 160, 0}, - {CTRY_MALAWI, ETSI1_WORLD, "MW", 40, 160, 0}, - {CTRY_MALAYSIA, FCC11_WORLD, "MY", 40, 160, 0}, - {CTRY_MALDIVES, APL6_WORLD, "MV", 40, 160, 0}, - {CTRY_MALTA, ETSI1_WORLD, "MT", 40, 160, 0}, - {CTRY_MARSHALL_ISLANDS, FCC3_FCCA, "MH", 40, 160, 0}, - {CTRY_MARTINIQUE, ETSI1_WORLD, "MQ", 40, 160, 0}, - {CTRY_MAURITANIA, ETSI1_WORLD, "MR", 40, 160, 0}, - {CTRY_MAURITIUS, ETSI1_WORLD, "MU", 40, 160, 0}, - {CTRY_MAYOTTE, ETSI1_WORLD, "YT", 40, 160, 0}, - {CTRY_MEXICO, FCC3_ETSIC, "MX", 40, 160, 0}, - {CTRY_MICRONESIA, FCC3_FCCA, "FM", 40, 160, 0}, - {CTRY_MOLDOVA, ETSI1_WORLD, "MD", 40, 160, 0}, - {CTRY_MONACO, ETSI1_WORLD, "MC", 40, 160, 0}, - {CTRY_MONGOLIA, FCC3_WORLD, "MN", 40, 160, 0}, - {CTRY_MONTENEGRO, ETSI1_WORLD, "ME", 40, 160, 0}, - {CTRY_MONTSERRAT, ETSI1_WORLD, "MS", 40, 160, 0}, - {CTRY_MOROCCO, ETSI3_WORLD, "MA", 40, 160, 0}, - {CTRY_MYANMAR, APL1_WORLD, "MM", 40, 160, 0}, - {CTRY_NAMIBIA, APL20_WORLD, "NA", 40, 160, 0}, - {CTRY_NEPAL, APL23_WORLD, "NP", 40, 160, 0}, - {CTRY_NETHERLANDS, ETSI1_WORLD, "NL", 40, 160, 0}, - {CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN", 40, 160, 0}, - {CTRY_NEW_CALEDONIA, ETSI1_WORLD, "NC", 40, 160, 0}, - {CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", 40, 160, 0}, - {CTRY_NIGERIA, APL6_WORLD, "NG", 40, 160, 0}, - {CTRY_NORTHERN_MARIANA_ISLANDS, FCC3_FCCA, "MP", 40, 160, 0}, - {CTRY_NICARAGUA, FCC3_FCCA, "NI", 40, 160, 0}, - {CTRY_NIUE, ETSI1_WORLD, "NU", 40, 160, 0}, - {CTRY_NORFOLK_ISLAND, FCC6_WORLD, "NF", 40, 160, 0}, - {CTRY_NORWAY, ETSI1_WORLD, "NO", 40, 160, 0}, - {CTRY_OMAN, ETSI1_WORLD, "OM", 40, 160, 0}, - {CTRY_PAKISTAN, APL1_ETSIC, "PK", 40, 160, 0}, - {CTRY_PALAU, FCC3_FCCA, "PW", 40, 160, 0}, - {CTRY_PANAMA, FCC14_FCCB, "PA", 40, 160, 0}, - {CTRY_PAPUA_NEW_GUINEA, FCC3_WORLD, "PG", 40, 160, 0}, - {CTRY_PARAGUAY, FCC3_WORLD, "PY", 40, 160, 0}, - {CTRY_PERU, FCC3_WORLD, "PE", 40, 160, 0}, - {CTRY_PHILIPPINES, FCC3_WORLD, "PH", 40, 160, 0}, - {CTRY_POLAND, ETSI1_WORLD, "PL", 40, 160, 0}, - {CTRY_PORTUGAL, ETSI1_WORLD, "PT", 40, 160, 0}, - {CTRY_PUERTO_RICO, FCC3_FCCA, "PR", 40, 160, 0}, - {CTRY_QATAR, ETSI14_WORLD, "QA", 40, 160, 0}, - {CTRY_REUNION, ETSI1_WORLD, "RE", 40, 160, 0}, - {CTRY_ROMANIA, ETSI1_WORLD, "RO", 40, 160, 0}, - {CTRY_RUSSIA, ETSI8_WORLD, "RU", 40, 160, REGULATORY_PHYMODE_NO11AX}, - {CTRY_RWANDA, FCC3_WORLD, "RW", 40, 160, 0}, - {CTRY_SAINT_BARTHELEMY, ETSI1_WORLD, "BL", 40, 160, 0}, - {CTRY_SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, ETSI1_WORLD, "SH", - 40, 160, 0}, - {CTRY_SAINT_KITTS_AND_NEVIS, APL10_WORLD, "KN", 40, 160, 0}, - {CTRY_SAINT_LUCIA, APL10_WORLD, "LC", 40, 160, 0}, - {CTRY_SAINT_MARTIN, ETSI1_WORLD, "MF", 40, 160, 0}, - {CTRY_SAINT_PIERRE_AND_MIQUELON, ETSI1_WORLD, "PM", 40, 160, 0}, - {CTRY_SAINT_VINCENT_AND_THE_GRENADIENS, ETSI1_WORLD, - "VC" , 40, 160, 0}, - {CTRY_SAMOA, ETSI1_WORLD, "WS", 40, 40, 0}, - {CTRY_SAN_MARINO, FCC3_FCCA, "SM", 40, 160, 0}, - {CTRY_SAO_TOME_AND_PRINCIPE, FCC3_WORLD, "ST", 40, 160, 0}, - {CTRY_SAUDI_ARABIA, ETSI15_WORLD, "SA", 40, 160, 0}, - {CTRY_SENEGAL, FCC13_WORLD, "SN", 40, 160, 0}, - {CTRY_SERBIA, ETSI1_WORLD, "RS", 40, 160, 0}, - {CTRY_SINGAPORE, FCC3_WORLD, "SG", 40, 160, 0}, - {CTRY_SINT_MAARTEN, ETSI1_WORLD, "SX", 40, 160, 0}, - {CTRY_SLOVAKIA, ETSI1_WORLD, "SK", 40, 160, 0}, - {CTRY_SLOVENIA, ETSI1_WORLD, "SI", 40, 160, 0}, - {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", 40, 160, 0}, - {CTRY_SPAIN, ETSI1_WORLD, "ES", 40, 160, 0}, - {CTRY_SURINAME, ETSI1_WORLD, "SR", 40, 160, 0}, - {CTRY_SRI_LANKA, FCC3_ETSIC, "LK", 40, 160, 0}, - {CTRY_SVALBARD_AND_JAN_MAYEN, FCC6_WORLD, "SJ", 40, 160, 0}, - {CTRY_SWEDEN, ETSI1_WORLD, "SE", 40, 160, 0}, - {CTRY_SWITZERLAND, ETSI1_WORLD, "CH", 40, 160, 0}, - {CTRY_TAIWAN, FCC3_FCCA, "TW", 40, 160, 0}, - {CTRY_TANZANIA, APL1_WORLD, "TZ", 40, 160, 0}, - {CTRY_THAILAND, FCC3_WORLD, "TH", 40, 160, 0}, - {CTRY_TOGO, ETSI1_WORLD, "TG", 40, 40, 0}, - {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", 40, 160, 0}, - {CTRY_TUNISIA, ETSI3_WORLD, "TN", 40, 160, 0}, - {CTRY_TURKEY, ETSI1_WORLD, "TR", 40, 160, 0}, - {CTRY_TURKS_AND_CAICOS, FCC3_WORLD, "TC", 40, 160, 0}, - {CTRY_UGANDA, FCC3_WORLD, "UG", 40, 160, 0}, - {CTRY_UKRAINE, ETSI9_WORLD, "UA", 40, 160, REGULATORY_PHYMODE_NO11AX}, - {CTRY_UAE, FCC3_WORLD, "AE", 40, 160, 0}, - {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", 40, 160, 0}, - {CTRY_UNITED_STATES, FCC8_FCCA, "US", 40, 160, 0}, - {CTRY_UNITED_STATES_MINOR_OUTLYING_ISLANDS, FCC8_FCCA, "UM", 40, 160, - 0}, - {CTRY_URUGUAY, FCC2_WORLD, "UY", 40, 160, 0}, - {CTRY_UZBEKISTAN, ETSI3_WORLD, "UZ", 40, 160, 0}, - {CTRY_VANUATU, FCC3_WORLD, "VU", 40, 160, 0}, - {CTRY_VENEZUELA, FCC2_ETSIC, "VE", 40, 160, 0}, - {CTRY_VIET_NAM, FCC3_WORLD, "VN", 40, 80, 0}, - {CTRY_VIRGIN_ISLANDS, FCC3_FCCA, "VI", 40, 160, 0}, - {CTRY_VIRGIN_ISLANDS_BRITISH, ETSI1_WORLD, "VG", 40, 160, 0}, - {CTRY_WALLIS_AND_FUTUNA, ETSI1_WORLD, "WF", 40, 160, 0}, - {CTRY_YEMEN, ETSI1_WORLD, "YE", 40, 160, 0}, - {CTRY_ZIMBABWE, ETSI1_WORLD, "ZW", 40, 160, 0}, + CE(AFGHANISTAN, ETSI1_WORLD, 0, AF, 40, 160, 0, 0), + CE(ALAND_ISLANDS, FCC3_WORLD, 0, AX, 40, 160, 0, 0), + CE(ALBANIA, ETSI1_WORLD, 0, AL, 40, 160, 0, 0), + CE(ALGERIA, APL13_WORLD, 0, DZ, 40, 160, 0, 0), + CE(AMERICAN_SAMOA, FCC3_FCCA, 0, AS, 40, 160, 0, 0), + CE(ANDORRA, ETSI1_WORLD, 0, AD, 40, 160, 0, 0), + CE(ANGUILLA, ETSI1_WORLD, 0, AI, 40, 160, 0, 0), + CE(ANTIGUA_AND_BARBUDA, FCC3_WORLD, 0, AG, 40, 160, 0, 0), + CE(ARGENTINA, APL16_ETSIC, 0, AR, 40, 160, 0, 0), + CE(ARMENIA, APL4_WORLD, 0, AM, 40, 160, 0, 0), + CE(ARUBA, ETSI1_WORLD, 0, AW, 40, 160, 0, 0), + CE(AUSTRALIA, FCC6_WORLD, 0, AU, 40, 160, 0, 0), + CE(AUSTRIA, ETSI1_WORLD, 0, AT, 40, 160, 0, 0), + CE(AZERBAIJAN, ETSI4_WORLD, 0, AZ, 40, 160, 0, 0), + CE(BAHAMAS, FCC3_WORLD, 0, BS, 40, 160, 0, 0), + CE(BAHRAIN, APL15_WORLD, 0, BH, 40, 160, 0, 0), + CE(BANGLADESH, APL1_WORLD, 0, BD, 40, 160, 0, 0), + CE(BARBADOS, FCC2_WORLD, 0, BB, 40, 160, 0, 0), + CE(BELARUS, ETSI1_WORLD, 0, BY, 40, 160, 0, REGULATORY_PHYMODE_NO11AX), + CE(BELGIUM, ETSI1_WORLD, 0, BE, 40, 160, 0, 0), + CE(BELIZE, ETSI8_WORLD, 0, BZ, 40, 160, 0, 0), + CE(BERMUDA, FCC3_FCCA, 0, BM, 40, 160, 0, 0), + CE(BHUTAN, ETSI1_WORLD, 0, BT, 40, 160, 0, 0), + CE(BOLIVIA, FCC8_WORLD, 0, BO, 40, 160, 0, 0), + CE(BOSNIA_HERZ, ETSI1_WORLD, 0, BA, 40, 160, 0, 0), + CE(BRAZIL, FCC3_ETSIC, 0, BR, 40, 160, 0, 0), + CE(BRUNEI_DARUSSALAM, FCC8_WORLD, 0, BN, 40, 160, 0, 0), + CE(BULGARIA, ETSI1_WORLD, 0, BG, 40, 160, 0, 0), + CE(BURKINA_FASO, FCC3_WORLD, 0, BF, 40, 160, 0, 0), + CE(CAMBODIA, ETSI1_WORLD, 0, KH, 40, 160, 0, 0), + CE(CAMEROON, ETSI1_WORLD, 0, CM, 40, 160, 0, 0), + CE(CANADA, FCC6_FCCA, 0, CA, 40, 160, 0, 0), + CE(CAYMAN_ISLANDS, FCC3_WORLD, 0, KY, 40, 160, 0, 0), + CE(CENTRAL_AFRICA_REPUBLIC, FCC3_WORLD, 0, CF, 40, 40, 0, 0), + CE(CHAD, ETSI1_WORLD, 0, TD, 40, 160, 0, 0), + CE(CHILE, FCC13_WORLD, 0, CL, 40, 160, 0, 0), + CE(CHINA, APL14_WORLD, 0, CN, 40, 160, 0, 0), + CE(CHRISTMAS_ISLAND, FCC3_WORLD, 0, CX, 40, 160, 0, 0), + CE(COLOMBIA, FCC3_WORLD, 0, CO, 40, 160, 0, 0), + CE(COOK_ISLANDS, FCC3_WORLD, 0, CK, 40, 160, 0, 0), + CE(COSTA_RICA, FCC3_WORLD, 0, CR, 40, 160, 0, 0), + CE(COTE_DIVOIRE, FCC3_WORLD, 0, CI, 40, 160, 0, 0), + CE(CROATIA, ETSI1_WORLD, 0, HR, 40, 160, 0, 0), + CE(CURACAO, APL10_WORLD, 0, CW, 40, 160, 0, 0), + CE(CYPRUS, ETSI1_WORLD, 0, CY, 40, 160, 0, 0), + CE(CZECH, ETSI1_WORLD, 0, CZ, 40, 160, 0, 0), + CE(DENMARK, ETSI1_WORLD, 0, DK, 40, 160, 0, 0), + CE(DOMINICA, FCC1_FCCA, 0, DM, 40, 160, 0, 0), + CE(DOMINICAN_REPUBLIC, FCC3_FCCA, 0, DO, 40, 160, 0, 0), + CE(ECUADOR, FCC3_FCCA, 0, EC, 40, 160, 0, 0), + CE(EGYPT, ETSI3_WORLD, 0, EG, 40, 160, 0, 0), + CE(EL_SALVADOR, FCC3_WORLD, 0, SV, 40, 160, 0, 0), + CE(ESTONIA, ETSI1_WORLD, 0, EE, 40, 160, 0, 0), + CE(ETHIOPIA, ETSI1_WORLD, 0, ET, 40, 160, 0, 0), + CE(FALKLAND_ISLANDS, ETSI1_WORLD, 0, FK, 40, 160, 0, 0), + CE(FAROE_ISLANDS, ETSI1_WORLD, 0, FO, 40, 160, 0, 0), + CE(FINLAND, ETSI1_WORLD, 0, FI, 40, 160, 0, 0), + CE(FRANCE, ETSI1_WORLD, 0, FR, 40, 160, 0, 0), + CE(FRENCH_GUIANA, ETSI1_WORLD, 0, GF, 40, 160, 0, 0), + CE(FRENCH_POLYNESIA, ETSI1_WORLD, 0, PF, 40, 160, 0, 0), + CE(FRENCH_SOUTHERN_TERRITORIES, ETSI1_WORLD, 0, TF, 40, 160, 0, 0), + CE(GEORGIA, ETSI1_WORLD, 0, GE, 40, 160, 0, 0), + CE(GERMANY, ETSI1_WORLD, 0, DE, 40, 160, 0, 0), + CE(GHANA, FCC3_WORLD, 0, GH, 40, 160, 0, 0), + CE(GIBRALTAR, ETSI1_WORLD, 0, GI, 40, 160, 0, 0), + CE(GREECE, ETSI1_WORLD, 0, GR, 40, 160, 0, 0), + CE(GREENLAND, ETSI1_WORLD, 0, GL, 40, 160, 0, 0), + CE(GRENADA, FCC3_FCCA, 0, GD, 40, 160, 0, 0), + CE(GUADELOUPE, ETSI1_WORLD, 0, GP, 40, 160, 0, 0), + CE(GUAM, FCC3_FCCA, 0, GU, 40, 160, 0, 0), + CE(GUATEMALA, ETSI1_WORLD, 0, GT, 40, 160, 0, 0), + CE(GUERNSEY, ETSI1_WORLD, 0, GG, 40, 160, 0, 0), + CE(GUYANA, APL1_ETSIC, 0, GY, 40, 160, 0, 0), + CE(HAITI, FCC3_FCCA, 0, HT, 40, 160, 0, 0), + CE(HEARD_ISLAND_AND_MCDONALD_ISLANDS, FCC6_WORLD, 0, HM, 40, 160, 0, 0), + CE(HOLY_SEE, ETSI1_WORLD, 0, VA, 40, 160, 0, 0), + CE(HONDURAS, FCC3_WORLD, 0, HN, 40, 160, 0, 0), + CE(HONG_KONG, FCC3_WORLD, 0, HK, 40, 160, 0, 0), + CE(HUNGARY, ETSI1_WORLD, 0, HU, 40, 160, 0, 0), + CE(ICELAND, ETSI1_WORLD, 0, IS, 40, 160, 0, 0), + CE(INDIA, APL19_ETSIC, 0, IN, 40, 160, 0, 0), + CE(INDONESIA, APL2_ETSID, 0, ID, 40, 80, 0, 0), + CE(IRAQ, ETSI1_WORLD, 0, IQ, 40, 160, 0, 0), + CE(IRELAND, ETSI1_WORLD, 0, IE, 40, 160, 0, 0), + CE(ISLE_OF_MAN, ETSI1_WORLD, 0, IM, 40, 160, 0, 0), + CE(ISRAEL, ETSI3_WORLD, 0, IL, 40, 160, 0, 0), + CE(ITALY, ETSI1_WORLD, 0, IT, 40, 160, 0, 0), + CE(JAMAICA, FCC13_WORLD, 0, JM, 40, 160, 0, 0), + CE(JAPAN, MKK17_MKKC, 0, JP, 40, 160, 0, 0), + CE(JAPAN15, MKK17_MKKC, 0, JP, 40, 160, 0, 0), + CE(JERSEY, ETSI1_WORLD, 0, JE, 40, 160, 0, 0), + CE(JORDAN, APL4_WORLD, 0, JO, 40, 160, 0, 0), + CE(KAZAKHSTAN, MKK5_MKKC, 0, KZ, 40, 160, 0, 0), + CE(KENYA, ETSI13_WORLD, 0, KE, 40, 160, 0, 0), + CE(KOREA_ROC, APL9_MKKC, APL1_6G, KR, 40, 160, 160, 0), + CE(KUWAIT, ETSI1_WORLD, 0, KW, 40, 160, 0, 0), + CE(LATVIA, ETSI1_WORLD, 0, LV, 40, 160, 0, 0), + CE(LEBANON, FCC3_WORLD, 0, LB, 40, 160, 0, 0), + CE(LESOTHO, ETSI1_WORLD, 0, LS, 40, 160, 0, 0), + CE(LIECHTENSTEIN, ETSI1_WORLD, 0, LI, 40, 160, 0, 0), + CE(LITHUANIA, ETSI1_WORLD, 0, LT, 40, 160, 0, 0), + CE(LUXEMBOURG, ETSI1_WORLD, 0, LU, 40, 160, 0, 0), + CE(MACAU, FCC3_WORLD, 0, MO, 40, 160, 0, 0), + CE(MACEDONIA, ETSI1_WORLD, 0, MK, 40, 160, 0, 0), + CE(MALAWI, ETSI1_WORLD, 0, MW, 40, 160, 0, 0), + CE(MALAYSIA, FCC11_WORLD, 0, MY, 40, 160, 0, 0), + CE(MALDIVES, APL6_WORLD, 0, MV, 40, 160, 0, 0), + CE(MALTA, ETSI1_WORLD, 0, MT, 40, 160, 0, 0), + CE(MARSHALL_ISLANDS, FCC3_FCCA, 0, MH, 40, 160, 0, 0), + CE(MARTINIQUE, ETSI1_WORLD, 0, MQ, 40, 160, 0, 0), + CE(MAURITANIA, ETSI1_WORLD, 0, MR, 40, 160, 0, 0), + CE(MAURITIUS, ETSI1_WORLD, 0, MU, 40, 160, 0, 0), + CE(MAYOTTE, ETSI1_WORLD, 0, YT, 40, 160, 0, 0), + CE(MEXICO, FCC3_ETSIC, 0, MX, 40, 160, 0, 0), + CE(MICRONESIA, FCC3_FCCA, 0, FM, 40, 160, 0, 0), + CE(MOLDOVA, ETSI1_WORLD, 0, MD, 40, 160, 0, 0), + CE(MONACO, ETSI1_WORLD, 0, MC, 40, 160, 0, 0), + CE(MONGOLIA, FCC3_WORLD, 0, MN, 40, 160, 0, 0), + CE(MONTENEGRO, ETSI1_WORLD, 0, ME, 40, 160, 0, 0), + CE(MONTSERRAT, ETSI1_WORLD, 0, MS, 40, 160, 0, 0), + CE(MOROCCO, ETSI3_WORLD, 0, MA, 40, 160, 0, 0), + CE(MYANMAR, APL1_WORLD, 0, MM, 40, 160, 0, 0), + CE(NAMIBIA, APL20_WORLD, 0, NA, 40, 160, 0, 0), + CE(NEPAL, APL23_WORLD, 0, NP, 40, 160, 0, 0), + CE(NETHERLANDS, ETSI1_WORLD, 0, NL, 40, 160, 0, 0), + CE(NETHERLANDS_ANTILLES, ETSI1_WORLD, 0, AN, 40, 160, 0, 0), + CE(NEW_CALEDONIA, ETSI1_WORLD, 0, NC, 40, 160, 0, 0), + CE(NEW_ZEALAND, FCC3_ETSIC, 0, NZ, 40, 160, 0, 0), + CE(NIGERIA, APL6_WORLD, 0, NG, 40, 160, 0, 0), + CE(NORTHERN_MARIANA_ISLANDS, FCC3_FCCA, 0, MP, 40, 160, 0, 0), + CE(NICARAGUA, FCC3_FCCA, 0, NI, 40, 160, 0, 0), + CE(NIUE, ETSI1_WORLD, 0, NU, 40, 160, 0, 0), + CE(NORFOLK_ISLAND, FCC6_WORLD, 0, NF, 40, 160, 0, 0), + CE(NORWAY, ETSI1_WORLD, 0, NO, 40, 160, 0, 0), + CE(OMAN, ETSI1_WORLD, 0, OM, 40, 160, 0, 0), + CE(PAKISTAN, APL1_ETSIC, 0, PK, 40, 160, 0, 0), + CE(PALAU, FCC3_FCCA, 0, PW, 40, 160, 0, 0), + CE(PANAMA, FCC14_FCCB, 0, PA, 40, 160, 0, 0), + CE(PAPUA_NEW_GUINEA, FCC3_WORLD, 0, PG, 40, 160, 0, 0), + CE(PARAGUAY, FCC3_WORLD, 0, PY, 40, 160, 0, 0), + CE(PERU, FCC3_WORLD, 0, PE, 40, 160, 0, 0), + CE(PHILIPPINES, FCC3_WORLD, 0, PH, 40, 160, 0, 0), + CE(POLAND, ETSI1_WORLD, 0, PL, 40, 160, 0, 0), + CE(PORTUGAL, ETSI1_WORLD, 0, PT, 40, 160, 0, 0), + CE(PUERTO_RICO, FCC3_FCCA, 0, PR, 40, 160, 0, 0), + CE(QATAR, ETSI14_WORLD, 0, QA, 40, 160, 0, 0), + CE(REUNION, ETSI1_WORLD, 0, RE, 40, 160, 0, 0), + CE(ROMANIA, ETSI1_WORLD, 0, RO, 40, 160, 0, 0), + CE(RUSSIA, ETSI8_WORLD, 0, RU, 40, 160, 0, REGULATORY_PHYMODE_NO11AX), + CE(RWANDA, FCC3_WORLD, 0, RW, 40, 160, 0, 0), + CE(SAINT_BARTHELEMY, ETSI1_WORLD, 0, BL, 40, 160, 0, 0), + CE(SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, ETSI1_WORLD, 0, SH, + 40, 160, 0, 0), + CE(SAINT_KITTS_AND_NEVIS, APL10_WORLD, 0, KN, 40, 160, 0, 0), + CE(SAINT_LUCIA, APL10_WORLD, 0, LC, 40, 160, 0, 0), + CE(SAINT_MARTIN, ETSI1_WORLD, 0, MF, 40, 160, 0, 0), + CE(SAINT_PIERRE_AND_MIQUELON, ETSI1_WORLD, 0, PM, 40, 160, 0, 0), + CE(SAINT_VINCENT_AND_THE_GRENADIENS, ETSI1_WORLD, 0, VC, + 40, 160, 0, 0), + CE(SAMOA, ETSI1_WORLD, 0, WS, 40, 40, 0, 0), + CE(SAN_MARINO, FCC3_FCCA, 0, SM, 40, 160, 0, 0), + CE(SAO_TOME_AND_PRINCIPE, FCC3_WORLD, 0, ST, 40, 160, 0, 0), + CE(SAUDI_ARABIA, ETSI15_WORLD, 0, SA, 40, 160, 0, 0), + CE(SENEGAL, FCC13_WORLD, 0, SN, 40, 160, 0, 0), + CE(SERBIA, ETSI1_WORLD, 0, RS, 40, 160, 0, 0), + CE(SINGAPORE, FCC3_WORLD, 0, SG, 40, 160, 0, 0), + CE(SINT_MAARTEN, ETSI1_WORLD, 0, SX, 40, 160, 0, 0), + CE(SLOVAKIA, ETSI1_WORLD, 0, SK, 40, 160, 0, 0), + CE(SLOVENIA, ETSI1_WORLD, 0, SI, 40, 160, 0, 0), + CE(SOUTH_AFRICA, FCC3_WORLD, 0, ZA, 40, 160, 0, 0), + CE(SPAIN, ETSI1_WORLD, 0, ES, 40, 160, 0, 0), + CE(SURINAME, ETSI1_WORLD, 0, SR, 40, 160, 0, 0), + CE(SRI_LANKA, FCC3_ETSIC, 0, LK, 40, 160, 0, 0), + CE(SVALBARD_AND_JAN_MAYEN, FCC6_WORLD, 0, SJ, 40, 160, 0, 0), + CE(SWEDEN, ETSI1_WORLD, 0, SE, 40, 160, 0, 0), + CE(SWITZERLAND, ETSI1_WORLD, 0, CH, 40, 160, 0, 0), + CE(TAIWAN, FCC3_FCCA, 0, TW, 40, 160, 0, 0), + CE(TANZANIA, APL1_WORLD, 0, TZ, 40, 160, 0, 0), + CE(THAILAND, FCC3_WORLD, 0, TH, 40, 160, 0, 0), + CE(TOGO, ETSI1_WORLD, 0, TG, 40, 40, 0, 0), + CE(TRINIDAD_Y_TOBAGO, FCC3_WORLD, 0, TT, 40, 160, 0, 0), + CE(TUNISIA, ETSI3_WORLD, 0, TN, 40, 160, 0, 0), + CE(TURKEY, ETSI1_WORLD, 0, TR, 40, 160, 0, 0), + CE(TURKS_AND_CAICOS, FCC3_WORLD, 0, TC, 40, 160, 0, 0), + CE(UGANDA, FCC3_WORLD, 0, UG, 40, 160, 0, 0), + CE(UKRAINE, ETSI9_WORLD, 0, UA, 40, 160, 0, REGULATORY_PHYMODE_NO11AX), + CE(UAE, FCC3_WORLD, 0, AE, 40, 160, 0, 0), + CE(UNITED_KINGDOM, ETSI1_WORLD, ETSI2_6G, GB, 40, 160, 160, 0), + CE(UNITED_STATES, FCC8_FCCA, FCC1_6G, US, 40, 160, 160, 0), + CE(UNITED_STATES_MINOR_OUTLYING_ISLANDS, FCC8_FCCA, 0, UM, 40, 160, 0, + 0), + CE(URUGUAY, FCC2_WORLD, 0, UY, 40, 160, 0, 0), + CE(UZBEKISTAN, ETSI3_WORLD, 0, UZ, 40, 160, 0, 0), + CE(VANUATU, FCC3_WORLD, 0, VU, 40, 160, 0, 0), + CE(VENEZUELA, FCC2_ETSIC, 0, VE, 40, 160, 0, 0), + CE(VIET_NAM, FCC3_WORLD, 0, VN, 40, 80, 0, 0), + CE(VIRGIN_ISLANDS, FCC3_FCCA, 0, VI, 40, 160, 0, 0), + CE(VIRGIN_ISLANDS_BRITISH, ETSI1_WORLD, 0, VG, 40, 160, 0, 0), + CE(WALLIS_AND_FUTUNA, ETSI1_WORLD, 0, WF, 40, 160, 0, 0), + CE(YEMEN, ETSI1_WORLD, 0, YE, 40, 160, 0, 0), + CE(ZIMBABWE, ETSI1_WORLD, 0, ZW, 40, 160, 0, 0), }; #else #ifdef WLAN_FEATURE_DSRC const struct country_code_to_reg_domain g_all_countries[] = { - {CTRY_AFGHANISTAN, ETSI1_WORLD, "AF", 40, 160, 0}, - {CTRY_ALAND_ISLANDS, FCC3_WORLD, "AX", 40, 160, 0}, - {CTRY_ALBANIA, ETSI13_WORLD, "AL", 40, 160, 0}, - {CTRY_ALGERIA, APL13_WORLD, "DZ", 40, 160, 0}, - {CTRY_AMERICAN_SAMOA, FCC3_FCCA, "AS", 40, 160, 0}, - {CTRY_ANDORRA, ETSI1_WORLD, "AD", 40, 160, 0}, - {CTRY_ANGUILLA, ETSI1_WORLD, "AI", 40, 160, 0}, - {CTRY_ANTIGUA_AND_BARBUDA, ETSI10_WORLD, "AG", 40, 160, 0}, - {CTRY_ARGENTINA, APL17_ETSIC, "AR", 40, 160, 0}, - {CTRY_ARMENIA, ETSI4_WORLD, "AM", 40, 160, 0}, - {CTRY_ARUBA, ETSI1_WORLD, "AW", 40, 160, 0}, - {CTRY_AUSTRALIA, FCC6_WORLD, "AU", 40, 160, 0}, - {CTRY_AUSTRIA, ETSI10_WORLD, "AT", 40, 160, 0}, - {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", 40, 160, 0}, - {CTRY_BAHAMAS, FCC3_WORLD, "BS", 40, 160, 0}, - {CTRY_BAHRAIN, APL15_WORLD, "BH", 40, 160, 0}, - {CTRY_BANGLADESH, APL1_WORLD, "BD", 40, 160, 0}, - {CTRY_BARBADOS, FCC2_WORLD, "BB", 40, 160, 0}, - {CTRY_BELARUS, ETSI1_WORLD, "BY", 40, 160, REGULATORY_PHYMODE_NO11AX}, - {CTRY_BELGIUM, ETSI10_WORLD, "BE", 40, 160, 0}, - {CTRY_BELIZE, ETSI8_WORLD, "BZ", 40, 160, 0}, - {CTRY_BERMUDA, FCC3_FCCA, "BM", 40, 160, 0}, - {CTRY_BHUTAN, ETSI1_WORLD, "BT", 40, 160, 0}, - {CTRY_BOLIVIA, FCC3_WORLD, "BO", 40, 160, 0}, - {CTRY_BOSNIA_HERZ, ETSI13_WORLD, "BA", 40, 160, 0}, - {CTRY_BRAZIL, FCC3_ETSIC, "BR", 40, 160, 0}, - {CTRY_BRUNEI_DARUSSALAM, FCC3_WORLD, "BN", 40, 160, 0}, - {CTRY_BULGARIA, ETSI10_WORLD, "BG", 40, 160, 0}, - {CTRY_BURKINA_FASO, FCC3_WORLD, "BF", 40, 160, 0}, - {CTRY_CAMBODIA, ETSI1_WORLD, "KH", 40, 160, 0}, - {CTRY_CAMEROON, ETSI1_WORLD, "CM", 40, 160, 0}, - {CTRY_CANADA, FCC3_FCCA, "CA", 40, 160, 0}, - {CTRY_CAYMAN_ISLANDS, FCC3_WORLD, "KY", 40, 160, 0}, - {CTRY_CENTRAL_AFRICA_REPUBLIC, FCC3_WORLD, "CF", 40, 40, 0}, - {CTRY_CHAD, ETSI1_WORLD, "TD", 40, 160, 0}, - {CTRY_CHILE, FCC13_WORLD, "CL", 40, 160, 0}, - {CTRY_CHINA, APL14_WORLD, "CN", 40, 160, 0}, - {CTRY_CHRISTMAS_ISLAND, FCC3_WORLD, "CX", 40, 160, 0}, - {CTRY_COLOMBIA, FCC3_WORLD, "CO", 40, 160, 0}, - {CTRY_COOK_ISLANDS, FCC3_WORLD, "CK", 40, 160, 0}, - {CTRY_COSTA_RICA, FCC3_WORLD, "CR", 40, 160, 0}, - {CTRY_COTE_DIVOIRE, FCC3_WORLD, "CI", 40, 160, 0}, - {CTRY_CROATIA, ETSI10_WORLD, "HR", 40, 160, 0}, - {CTRY_CURACAO, APL10_WORLD, "CW", 40, 160, 0}, - {CTRY_CYPRUS, ETSI10_WORLD, "CY", 40, 160, 0}, - {CTRY_CZECH, ETSI10_WORLD, "CZ", 40, 160, 0}, - {CTRY_DENMARK, ETSI10_WORLD, "DK", 40, 160, 0}, - {CTRY_DOMINICA, FCC2_FCCA, "DM", 40, 160, 0}, - {CTRY_DOMINICAN_REPUBLIC, FCC3_FCCA, "DO", 40, 160, 0}, - {CTRY_ECUADOR, FCC3_FCCA, "EC", 40, 160, 0}, - {CTRY_EGYPT, ETSI3_WORLD, "EG", 40, 160, 0}, - {CTRY_EL_SALVADOR, FCC3_WORLD, "SV", 40, 160, 0}, - {CTRY_ESTONIA, ETSI10_WORLD, "EE", 40, 160, 0}, - {CTRY_ETHIOPIA, ETSI1_WORLD, "ET", 40, 160, 0}, - {CTRY_FALKLAND_ISLANDS, ETSI10_WORLD, "FK", 40, 160, 0}, - {CTRY_FAROE_ISLANDS, ETSI10_WORLD, "FO", 40, 160, 0}, - {CTRY_FINLAND, ETSI10_WORLD, "FI", 40, 160, 0}, - {CTRY_FRANCE, ETSI10_WORLD, "FR", 40, 160, 0}, - {CTRY_FRENCH_GUIANA, ETSI10_WORLD, "GF", 40, 160, 0}, - {CTRY_FRENCH_POLYNESIA, ETSI10_WORLD, "PF", 40, 160, 0}, - {CTRY_FRENCH_SOUTHERN_TERRITORIES, ETSI10_WORLD, "TF", 40, 160, 0}, - {CTRY_GEORGIA, ETSI1_WORLD, "GE", 40, 160, 0}, - {CTRY_GERMANY, ETSI10_WORLD, "DE", 40, 160, 0}, - {CTRY_GHANA, FCC3_WORLD, "GH", 40, 160, 0}, - {CTRY_GIBRALTAR, ETSI10_WORLD, "GI", 40, 160, 0}, - {CTRY_GREECE, ETSI10_WORLD, "GR", 40, 160, 0}, - {CTRY_GREENLAND, ETSI10_WORLD, "GL", 40, 160, 0}, - {CTRY_GRENADA, FCC3_FCCA, "GD", 40, 160, 0}, - {CTRY_GUADELOUPE, ETSI1_WORLD, "GP", 40, 160, 0}, - {CTRY_GUAM, FCC10_FCCA, "GU", 40, 160, 0}, - {CTRY_GUATEMALA, ETSI1_WORLD, "GT", 40, 160, 0}, - {CTRY_GUERNSEY, ETSI10_WORLD, "GG", 40, 160, 0}, - {CTRY_GUYANA, APL1_ETSIC, "GY", 40, 160, 0}, - {CTRY_HAITI, FCC3_FCCA, "HT", 40, 160, 0}, - {CTRY_HEARD_ISLAND_AND_MCDONALD_ISLANDS, FCC6_WORLD, "HM", 40, 160, 0}, - {CTRY_HOLY_SEE, ETSI10_WORLD, "VA", 40, 160, 0}, - {CTRY_HONDURAS, FCC13_WORLD, "HN", 40, 160, 0}, - {CTRY_HONG_KONG, FCC3_WORLD, "HK", 40, 160, 0}, - {CTRY_HUNGARY, ETSI10_WORLD, "HU", 40, 160, 0}, - {CTRY_ICELAND, ETSI10_WORLD, "IS", 40, 160, 0}, - {CTRY_INDIA, APL15_WORLD, "IN", 40, 160, 0}, - {CTRY_INDONESIA, APL2_ETSID, "ID", 40, 80, 0}, - {CTRY_IRAQ, ETSI1_WORLD, "IQ", 40, 160, 0}, - {CTRY_IRELAND, ETSI10_WORLD, "IE", 40, 160, 0}, - {CTRY_ISLE_OF_MAN, ETSI10_WORLD, "IM", 40, 160, 0}, - {CTRY_ISRAEL, ETSI3_WORLD, "IL", 40, 160, 0}, - {CTRY_ITALY, ETSI10_WORLD, "IT", 40, 160, 0}, - {CTRY_JAMAICA, FCC13_WORLD, "JM", 40, 160, 0}, - {CTRY_JAPAN, MKK17_MKKC, "JP", 40, 160, 0}, - {CTRY_JAPAN15, MKK5_MKKC, "JP", 40, 160, 0}, - {CTRY_XA, MKK5_MKKA, "XA", 40, 160, 0}, - {CTRY_JERSEY, ETSI10_WORLD, "JE", 40, 160, 0}, - {CTRY_JORDAN, APL4_WORLD, "JO", 40, 160, 0}, - {CTRY_KAZAKHSTAN, MKK5_MKKC, "KZ", 40, 160, 0}, - {CTRY_KENYA, ETSI13_WORLD, "KE", 40, 160, 0}, - {CTRY_KOREA_ROC, APL9_MKKC, "KR", 40, 160, 0}, - {CTRY_KUWAIT, ETSI13_WORLD, "KW", 40, 160, 0}, - {CTRY_LATVIA, ETSI10_WORLD, "LV", 40, 160, 0}, - {CTRY_LEBANON, FCC3_WORLD, "LB", 40, 160, 0}, - {CTRY_LESOTHO, ETSI1_WORLD, "LS", 40, 160, 0}, - {CTRY_LIECHTENSTEIN, ETSI10_WORLD, "LI", 40, 160, 0}, - {CTRY_LITHUANIA, ETSI10_WORLD, "LT", 40, 160, 0}, - {CTRY_LUXEMBOURG, ETSI10_WORLD, "LU", 40, 160, 0}, - {CTRY_MACAU, FCC3_WORLD, "MO", 40, 160, 0}, - {CTRY_MACEDONIA, ETSI13_WORLD, "MK", 40, 160, 0}, - {CTRY_MALAWI, ETSI1_WORLD, "MW", 40, 160, 0}, - {CTRY_MALAYSIA, FCC11_WORLD, "MY", 40, 160, 0}, - {CTRY_MALDIVES, APL6_WORLD, "MV", 40, 160, 0}, - {CTRY_MALTA, ETSI10_WORLD, "MT", 40, 160, 0}, - {CTRY_MARSHALL_ISLANDS, FCC3_FCCA, "MH", 40, 160, 0}, - {CTRY_MARTINIQUE, ETSI10_WORLD, "MQ", 40, 160, 0}, - {CTRY_MAURITANIA, ETSI1_WORLD, "MR", 40, 160, 0}, - {CTRY_MAURITIUS, ETSI13_WORLD, "MU", 40, 160, 0}, - {CTRY_MAYOTTE, ETSI1_WORLD, "YT", 40, 160, 0}, - {CTRY_MEXICO, FCC3_ETSIC, "MX", 40, 160, 0}, - {CTRY_MICRONESIA, FCC3_FCCA, "FM", 40, 160, 0}, - {CTRY_MOLDOVA, ETSI13_WORLD, "MD", 40, 160, 0}, - {CTRY_MONACO, ETSI10_WORLD, "MC", 40, 160, 0}, - {CTRY_MONGOLIA, FCC3_WORLD, "MN", 40, 160, 0}, - {CTRY_MONTENEGRO, ETSI10_WORLD, "ME", 40, 160, 0}, - {CTRY_MONTSERRAT, ETSI10_WORLD, "MS", 40, 160, 0}, - {CTRY_MOROCCO, ETSI3_WORLD, "MA", 40, 160, 0}, - {CTRY_MYANMAR, APL1_WORLD, "MM", 40, 160, 0}, - {CTRY_NAMIBIA, APL20_WORLD, "NA", 40, 160, 0}, - {CTRY_NEPAL, APL23_WORLD, "NP", 40, 160, 0}, - {CTRY_NETHERLANDS, ETSI10_WORLD, "NL", 40, 160, 0}, - {CTRY_NETHERLANDS_ANTILLES, ETSI10_WORLD, "AN", 40, 160, 0}, - {CTRY_NEW_CALEDONIA, ETSI10_WORLD, "NC", 40, 160, 0}, - {CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", 40, 160, 0}, - {CTRY_NIGERIA, APL6_WORLD, "NG", 40, 160, 0}, - {CTRY_NORTHERN_MARIANA_ISLANDS, FCC10_FCCA, "MP", 40, 160, 0}, - {CTRY_NICARAGUA, FCC3_FCCA, "NI", 40, 160, 0}, - {CTRY_NIUE, ETSI10_WORLD, "NU", 40, 160, 0}, - {CTRY_NORFOLK_ISLAND, FCC6_WORLD, "NF", 40, 160, 0}, - {CTRY_NORWAY, ETSI10_WORLD, "NO", 40, 160, 0}, - {CTRY_OMAN, ETSI1_WORLD, "OM", 40, 160, 0}, - {CTRY_PAKISTAN, APL1_ETSIC, "PK", 40, 160, 0}, - {CTRY_PALAU, FCC3_FCCA, "PW", 40, 160, 0}, - {CTRY_PANAMA, FCC14_FCCB, "PA", 40, 160, 0}, - {CTRY_PAPUA_NEW_GUINEA, FCC3_WORLD, "PG", 40, 160, 0}, - {CTRY_PARAGUAY, FCC3_WORLD, "PY", 40, 160, 0}, - {CTRY_PERU, FCC3_WORLD, "PE", 40, 160, 0}, - {CTRY_PHILIPPINES, FCC3_WORLD, "PH", 40, 160, 0}, - {CTRY_POLAND, ETSI10_WORLD, "PL", 40, 160, 0}, - {CTRY_PORTUGAL, ETSI10_WORLD, "PT", 40, 160, 0}, - {CTRY_PUERTO_RICO, FCC10_FCCA, "PR", 40, 160, 0}, - {CTRY_QATAR, ETSI14_WORLD, "QA", 40, 160, 0}, - {CTRY_REUNION, ETSI1_WORLD, "RE", 40, 160, 0}, - {CTRY_ROMANIA, ETSI10_WORLD, "RO", 40, 160, 0}, - {CTRY_RUSSIA, ETSI8_WORLD, "RU", 40, 160, REGULATORY_PHYMODE_NO11AX}, - {CTRY_RWANDA, FCC3_WORLD, "RW", 40, 160, 0}, - {CTRY_SAINT_BARTHELEMY, ETSI1_WORLD, "BL", 40, 160, 0}, - {CTRY_SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, ETSI10_WORLD, "SH", - 40, 160, 0}, - {CTRY_SAINT_KITTS_AND_NEVIS, APL10_WORLD, "KN", 40, 160, 0}, - {CTRY_SAINT_LUCIA, APL10_WORLD, "LC", 40, 160, 0}, - {CTRY_SAINT_MARTIN, ETSI1_WORLD, "MF", 40, 160, 0}, - {CTRY_SAINT_PIERRE_AND_MIQUELON, ETSI13_WORLD, "PM", 40, 160, 0}, - {CTRY_SAINT_VINCENT_AND_THE_GRENADIENS, ETSI13_WORLD, "VC", - 40, 160, 0}, - {CTRY_SAMOA, ETSI1_WORLD, "WS", 40, 40, 0}, - {CTRY_SAN_MARINO, FCC3_FCCA, "SM", 40, 160, 0}, - {CTRY_SAO_TOME_AND_PRINCIPE, FCC3_WORLD, "ST", 40, 160, 0}, - {CTRY_SAUDI_ARABIA, ETSI15_WORLD, "SA", 40, 160, 0}, - {CTRY_SENEGAL, FCC13_WORLD, "SN", 40, 160, 0}, - {CTRY_SERBIA, ETSI13_WORLD, "RS", 40, 160, 0}, - {CTRY_SINGAPORE, FCC3_WORLD, "SG", 40, 160, 0}, - {CTRY_SINT_MAARTEN, ETSI10_WORLD, "SX", 40, 160, 0}, - {CTRY_SLOVAKIA, ETSI10_WORLD, "SK", 40, 160, 0}, - {CTRY_SLOVENIA, ETSI10_WORLD, "SI", 40, 160, 0}, - {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", 40, 160, 0}, - {CTRY_SPAIN, ETSI10_WORLD, "ES", 40, 160, 0}, - {CTRY_SURINAME, ETSI1_WORLD, "SR", 40, 160, 0}, - {CTRY_SRI_LANKA, FCC3_ETSIC, "LK", 40, 160, 0}, - {CTRY_SVALBARD_AND_JAN_MAYEN, FCC6_WORLD, "SJ", 40, 160, 0}, - {CTRY_SWEDEN, ETSI10_WORLD, "SE", 40, 160, 0}, - {CTRY_SWITZERLAND, ETSI10_WORLD, "CH", 40, 160, 0}, - {CTRY_TAIWAN, FCC3_FCCA, "TW", 40, 160, 0}, - {CTRY_TANZANIA, APL1_WORLD, "TZ", 40, 160, 0}, - {CTRY_THAILAND, FCC3_WORLD, "TH", 40, 160, 0}, - {CTRY_TOGO, ETSI1_WORLD, "TG", 40, 40, 0}, - {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", 40, 160, 0}, - {CTRY_TUNISIA, ETSI3_WORLD, "TN", 40, 160, 0}, - {CTRY_TURKEY, ETSI13_WORLD, "TR", 40, 160, 0}, - {CTRY_TURKS_AND_CAICOS, FCC3_WORLD, "TC", 40, 160, 0}, - {CTRY_UGANDA, FCC3_WORLD, "UG", 40, 160, 0}, - {CTRY_UKRAINE, ETSI9_WORLD, "UA", 40, 160, REGULATORY_PHYMODE_NO11AX}, - {CTRY_UAE, FCC3_WORLD, "AE", 40, 160, 0}, - {CTRY_UNITED_KINGDOM, ETSI10_WORLD, "GB", 40, 160, 0}, - {CTRY_UNITED_STATES, FCC10_FCCA, "US", 40, 160, 0}, - {CTRY_UNITED_STATES_MINOR_OUTLYING_ISLANDS, FCC10_FCCA, "UM", 40, 160, - 0}, - {CTRY_URUGUAY, FCC2_WORLD, "UY", 40, 160, 0}, - {CTRY_UZBEKISTAN, ETSI3_WORLD, "UZ", 40, 160, 0}, - {CTRY_VANUATU, FCC3_WORLD, "VU", 40, 160, 0}, - {CTRY_VENEZUELA, FCC2_ETSIC, "VE", 40, 160, 0}, - {CTRY_VIET_NAM, FCC3_WORLD, "VN", 40, 80, 0}, - {CTRY_VIRGIN_ISLANDS, FCC10_FCCA, "VI", 40, 160, 0}, - {CTRY_VIRGIN_ISLANDS_BRITISH, ETSI10_WORLD, "VG", 40, 160, 0}, - {CTRY_WALLIS_AND_FUTUNA, ETSI1_WORLD, "WF", 40, 160, 0}, - {CTRY_YEMEN, ETSI1_WORLD, "YE", 40, 160, 0}, - {CTRY_ZIMBABWE, ETSI1_WORLD, "ZW", 40, 160, 0}, + CE(AFGHANISTAN, ETSI1_WORLD, 0, AF, 40, 160, 0, 0), + CE(ALAND_ISLANDS, FCC3_WORLD, 0, AX, 40, 160, 0, 0), + CE(ALBANIA, ETSI13_WORLD, 0, AL, 40, 160, 0, 0), + CE(ALGERIA, APL13_WORLD, 0, DZ, 40, 160, 0, 0), + CE(AMERICAN_SAMOA, FCC3_FCCA, 0, AS, 40, 160, 0, 0), + CE(ANDORRA, ETSI1_WORLD, 0, AD, 40, 160, 0, 0), + CE(ANGUILLA, ETSI1_WORLD, 0, AI, 40, 160, 0, 0), + CE(ANTIGUA_AND_BARBUDA, ETSI10_WORLD, 0, AG, 40, 160, 0, 0), + CE(ARGENTINA, APL17_ETSIC, 0, AR, 40, 160, 0, 0), + CE(ARMENIA, ETSI4_WORLD, 0, AM, 40, 160, 0, 0), + CE(ARUBA, ETSI1_WORLD, 0, AW, 40, 160, 0, 0), + CE(AUSTRALIA, FCC6_WORLD, 0, AU, 40, 160, 0, 0), + CE(AUSTRIA, ETSI10_WORLD, 0, AT, 40, 160, 0, 0), + CE(AZERBAIJAN, ETSI4_WORLD, 0, AZ, 40, 160, 0, 0), + CE(BAHAMAS, FCC3_WORLD, 0, BS, 40, 160, 0, 0), + CE(BAHRAIN, APL15_WORLD, 0, BH, 40, 160, 0, 0), + CE(BANGLADESH, APL1_WORLD, 0, BD, 40, 160, 0, 0), + CE(BARBADOS, FCC2_WORLD, 0, BB, 40, 160, 0, 0), + CE(BELARUS, ETSI1_WORLD, 0, BY, 40, 160, 0, REGULATORY_PHYMODE_NO11AX), + CE(BELGIUM, ETSI10_WORLD, 0, BE, 40, 160, 0, 0), + CE(BELIZE, ETSI8_WORLD, 0, BZ, 40, 160, 0, 0), + CE(BERMUDA, FCC3_FCCA, 0, BM, 40, 160, 0, 0), + CE(BHUTAN, ETSI1_WORLD, 0, BT, 40, 160, 0, 0), + CE(BOLIVIA, FCC3_WORLD, 0, BO, 40, 160, 0, 0), + CE(BOSNIA_HERZ, ETSI13_WORLD, 0, BA, 40, 160, 0, 0), + CE(BRAZIL, FCC3_ETSIC, 0, BR, 40, 160, 0, 0), + CE(BRUNEI_DARUSSALAM, FCC3_WORLD, 0, BN, 40, 160, 0, 0), + CE(BULGARIA, ETSI10_WORLD, 0, BG, 40, 160, 0, 0), + CE(BURKINA_FASO, FCC3_WORLD, 0, BF, 40, 160, 0, 0), + CE(CAMBODIA, ETSI1_WORLD, 0, KH, 40, 160, 0, 0), + CE(CAMEROON, ETSI1_WORLD, 0, CM, 40, 160, 0, 0), + CE(CANADA, FCC3_FCCA, 0, CA, 40, 160, 0, 0), + CE(CAYMAN_ISLANDS, FCC3_WORLD, 0, KY, 40, 160, 0, 0), + CE(CENTRAL_AFRICA_REPUBLIC, FCC3_WORLD, 0, CF, 40, 40, 0, 0), + CE(CHAD, ETSI1_WORLD, 0, TD, 40, 160, 0, 0), + CE(CHILE, FCC13_WORLD, 0, CL, 40, 160, 0, 0), + CE(CHINA, APL14_WORLD, 0, CN, 40, 160, 0, 0), + CE(CHRISTMAS_ISLAND, FCC3_WORLD, 0, CX, 40, 160, 0, 0), + CE(COLOMBIA, FCC3_WORLD, 0, CO, 40, 160, 0, 0), + CE(COOK_ISLANDS, FCC3_WORLD, 0, CK, 40, 160, 0, 0), + CE(COSTA_RICA, FCC3_WORLD, 0, CR, 40, 160, 0, 0), + CE(COTE_DIVOIRE, FCC3_WORLD, 0, CI, 40, 160, 0, 0), + CE(CROATIA, ETSI10_WORLD, 0, HR, 40, 160, 0, 0), + CE(CURACAO, APL10_WORLD, 0, CW, 40, 160, 0, 0), + CE(CYPRUS, ETSI10_WORLD, 0, CY, 40, 160, 0, 0), + CE(CZECH, ETSI10_WORLD, 0, CZ, 40, 160, 0, 0), + CE(DENMARK, ETSI10_WORLD, 0, DK, 40, 160, 0, 0), + CE(DOMINICA, FCC2_FCCA, 0, DM, 40, 160, 0, 0), + CE(DOMINICAN_REPUBLIC, FCC3_FCCA, 0, DO, 40, 160, 0, 0), + CE(ECUADOR, FCC3_FCCA, 0, EC, 40, 160, 0, 0), + CE(EGYPT, ETSI3_WORLD, 0, EG, 40, 160, 0, 0), + CE(EL_SALVADOR, FCC3_WORLD, 0, SV, 40, 160, 0, 0), + CE(ESTONIA, ETSI10_WORLD, 0, EE, 40, 160, 0, 0), + CE(ETHIOPIA, ETSI1_WORLD, 0, ET, 40, 160, 0, 0), + CE(FALKLAND_ISLANDS, ETSI10_WORLD, 0, FK, 40, 160, 0, 0), + CE(FAROE_ISLANDS, ETSI10_WORLD, 0, FO, 40, 160, 0, 0), + CE(FINLAND, ETSI10_WORLD, 0, FI, 40, 160, 0, 0), + CE(FRANCE, ETSI10_WORLD, 0, FR, 40, 160, 0, 0), + CE(FRENCH_GUIANA, ETSI10_WORLD, 0, GF, 40, 160, 0, 0), + CE(FRENCH_POLYNESIA, ETSI10_WORLD, 0, PF, 40, 160, 0, 0), + CE(FRENCH_SOUTHERN_TERRITORIES, ETSI10_WORLD, 0, TF, 40, 160, 0, 0), + CE(GEORGIA, ETSI1_WORLD, 0, GE, 40, 160, 0, 0), + CE(GERMANY, ETSI10_WORLD, 0, DE, 40, 160, 0, 0), + CE(GHANA, FCC3_WORLD, 0, GH, 40, 160, 0, 0), + CE(GIBRALTAR, ETSI10_WORLD, 0, GI, 40, 160, 0, 0), + CE(GREECE, ETSI10_WORLD, 0, GR, 40, 160, 0, 0), + CE(GREENLAND, ETSI10_WORLD, 0, GL, 40, 160, 0, 0), + CE(GRENADA, FCC3_FCCA, 0, GD, 40, 160, 0, 0), + CE(GUADELOUPE, ETSI1_WORLD, 0, GP, 40, 160, 0, 0), + CE(GUAM, FCC10_FCCA, 0, GU, 40, 160, 0, 0), + CE(GUATEMALA, ETSI1_WORLD, 0, GT, 40, 160, 0, 0), + CE(GUERNSEY, ETSI10_WORLD, 0, GG, 40, 160, 0, 0), + CE(GUYANA, APL1_ETSIC, 0, GY, 40, 160, 0, 0), + CE(HAITI, FCC3_FCCA, 0, HT, 40, 160, 0, 0), + CE(HEARD_ISLAND_AND_MCDONALD_ISLANDS, FCC6_WORLD, 0, HM, 40, 160, 0, 0), + CE(HOLY_SEE, ETSI10_WORLD, 0, VA, 40, 160, 0, 0), + CE(HONDURAS, FCC13_WORLD, 0, HN, 40, 160, 0, 0), + CE(HONG_KONG, FCC3_WORLD, 0, HK, 40, 160, 0, 0), + CE(HUNGARY, ETSI10_WORLD, 0, HU, 40, 160, 0, 0), + CE(ICELAND, ETSI10_WORLD, 0, IS, 40, 160, 0, 0), + CE(INDIA, APL15_WORLD, 0, IN, 40, 160, 0, 0), + CE(INDONESIA, APL2_ETSID, 0, ID, 40, 80, 0, 0), + CE(IRAQ, ETSI1_WORLD, 0, IQ, 40, 160, 0, 0), + CE(IRELAND, ETSI10_WORLD, 0, IE, 40, 160, 0, 0), + CE(ISLE_OF_MAN, ETSI10_WORLD, 0, IM, 40, 160, 0, 0), + CE(ISRAEL, ETSI3_WORLD, 0, IL, 40, 160, 0, 0), + CE(ITALY, ETSI10_WORLD, 0, IT, 40, 160, 0, 0), + CE(JAMAICA, FCC13_WORLD, 0, JM, 40, 160, 0, 0), + CE(JAPAN, MKK17_MKKC, 0, JP, 40, 160, 0, 0), + CE(JAPAN15, MKK5_MKKC, 0, JP, 40, 160, 0, 0), + CE(XA, MKK5_MKKA, 0, XA, 40, 160, 0, 0), + CE(JERSEY, ETSI10_WORLD, 0, JE, 40, 160, 0, 0), + CE(JORDAN, APL4_WORLD, 0, JO, 40, 160, 0, 0), + CE(KAZAKHSTAN, MKK5_MKKC, 0, KZ, 40, 160, 0, 0), + CE(KENYA, ETSI13_WORLD, 0, KE, 40, 160, 0, 0), + CE(KOREA_ROC, APL9_MKKC, APL1_6G, KR, 40, 160, 160, 0), + CE(KUWAIT, ETSI13_WORLD, 0, KW, 40, 160, 0, 0), + CE(LATVIA, ETSI10_WORLD, 0, LV, 40, 160, 0, 0), + CE(LEBANON, FCC3_WORLD, 0, LB, 40, 160, 0, 0), + CE(LESOTHO, ETSI1_WORLD, 0, LS, 40, 160, 0, 0), + CE(LIECHTENSTEIN, ETSI10_WORLD, 0, LI, 40, 160, 0, 0), + CE(LITHUANIA, ETSI10_WORLD, 0, LT, 40, 160, 0, 0), + CE(LUXEMBOURG, ETSI10_WORLD, 0, LU, 40, 160, 0, 0), + CE(MACAU, FCC3_WORLD, 0, MO, 40, 160, 0, 0), + CE(MACEDONIA, ETSI13_WORLD, 0, MK, 40, 160, 0, 0), + CE(MALAWI, ETSI1_WORLD, 0, MW, 40, 160, 0, 0), + CE(MALAYSIA, FCC11_WORLD, 0, MY, 40, 160, 0, 0), + CE(MALDIVES, APL6_WORLD, 0, MV, 40, 160, 0, 0), + CE(MALTA, ETSI10_WORLD, 0, MT, 40, 160, 0, 0), + CE(MARSHALL_ISLANDS, FCC3_FCCA, 0, MH, 40, 160, 0, 0), + CE(MARTINIQUE, ETSI10_WORLD, 0, MQ, 40, 160, 0, 0), + CE(MAURITANIA, ETSI1_WORLD, 0, MR, 40, 160, 0, 0), + CE(MAURITIUS, ETSI13_WORLD, 0, MU, 40, 160, 0, 0), + CE(MAYOTTE, ETSI1_WORLD, 0, YT, 40, 160, 0, 0), + CE(MEXICO, FCC3_ETSIC, 0, MX, 40, 160, 0, 0), + CE(MICRONESIA, FCC3_FCCA, 0, FM, 40, 160, 0, 0), + CE(MOLDOVA, ETSI13_WORLD, 0, MD, 40, 160, 0, 0), + CE(MONACO, ETSI10_WORLD, 0, MC, 40, 160, 0, 0), + CE(MONGOLIA, FCC3_WORLD, 0, MN, 40, 160, 0, 0), + CE(MONTENEGRO, ETSI10_WORLD, 0, ME, 40, 160, 0, 0), + CE(MONTSERRAT, ETSI10_WORLD, 0, MS, 40, 160, 0, 0), + CE(MOROCCO, ETSI3_WORLD, 0, MA, 40, 160, 0, 0), + CE(MYANMAR, APL1_WORLD, 0, MM, 40, 160, 0, 0), + CE(NAMIBIA, APL20_WORLD, 0, NA, 40, 160, 0, 0), + CE(NEPAL, APL23_WORLD, 0, NP, 40, 160, 0, 0), + CE(NETHERLANDS, ETSI10_WORLD, 0, NL, 40, 160, 0, 0), + CE(NETHERLANDS_ANTILLES, ETSI10_WORLD, 0, AN, 40, 160, 0, 0), + CE(NEW_CALEDONIA, ETSI10_WORLD, 0, NC, 40, 160, 0, 0), + CE(NEW_ZEALAND, FCC3_ETSIC, 0, NZ, 40, 160, 0, 0), + CE(NIGERIA, APL6_WORLD, 0, NG, 40, 160, 0, 0), + CE(NORTHERN_MARIANA_ISLANDS, FCC10_FCCA, 0, MP, 40, 160, 0), + CE(NICARAGUA, FCC3_FCCA, 0, NI, 40, 160, 0, 0), + CE(NIUE, ETSI10_WORLD, 0, NU, 40, 160, 0, 0), + CE(NORFOLK_ISLAND, FCC6_WORLD, 0, NF, 40, 160, 0, 0), + CE(NORWAY, ETSI10_WORLD, 0, NO, 40, 160, 0, 0), + CE(OMAN, ETSI1_WORLD, 0, OM, 40, 160, 0, 0), + CE(PAKISTAN, APL1_ETSIC, 0, PK, 40, 160, 0, 0), + CE(PALAU, FCC3_FCCA, 0, PW, 40, 160, 0, 0), + CE(PANAMA, FCC14_FCCB, 0, PA, 40, 160, 0, 0), + CE(PAPUA_NEW_GUINEA, FCC3_WORLD, 0, PG, 40, 160, 0, 0), + CE(PARAGUAY, FCC3_WORLD, 0, PY, 40, 160, 0, 0), + CE(PERU, FCC3_WORLD, 0, PE, 40, 160, 0, 0), + CE(PHILIPPINES, FCC3_WORLD, 0, PH, 40, 160, 0, 0), + CE(POLAND, ETSI10_WORLD, 0, PL, 40, 160, 0, 0), + CE(PORTUGAL, ETSI10_WORLD, 0, PT, 40, 160, 0, 0), + CE(PUERTO_RICO, FCC10_FCCA, 0, PR, 40, 160, 0, 0), + CE(QATAR, ETSI14_WORLD, 0, QA, 40, 160, 0, 0), + CE(REUNION, ETSI1_WORLD, 0, RE, 40, 160, 0, 0), + CE(ROMANIA, ETSI10_WORLD, 0, RO, 40, 160, 0, 0), + CE(RUSSIA, ETSI8_WORLD, 0, RU, 40, 160, 0, REGULATORY_PHYMODE_NO11AX), + CE(RWANDA, FCC3_WORLD, 0, RW, 40, 160, 0, 0), + CE(SAINT_BARTHELEMY, ETSI1_WORLD, 0, BL, 40, 160, 0, 0), + CE(SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, ETSI10_WORLD, 0, SH, 40, + 160, 0, 0), + CE(SAINT_KITTS_AND_NEVIS, APL10_WORLD, 0, KN, 40, 160, 0, 0), + CE(SAINT_LUCIA, APL10_WORLD, 0, LC, 40, 160, 0, 0), + CE(SAINT_MARTIN, ETSI1_WORLD, 0, MF, 40, 160, 0, 0), + CE(SAINT_PIERRE_AND_MIQUELON, ETSI13_WORLD, 0, PM, 40, 160, 0, 0), + CE(SAINT_VINCENT_AND_THE_GRENADIENS, ETSI13_WORLD, 0, VC, + 40, 160, 0, 0), + CE(SAMOA, ETSI1_WORLD, 0, WS, 40, 40, 0, 0), + CE(SAN_MARINO, FCC3_FCCA, 0, SM, 40, 160, 0, 0), + CE(SAO_TOME_AND_PRINCIPE, FCC3_WORLD, 0, ST, 40, 160, 0, 0), + CE(SAUDI_ARABIA, ETSI15_WORLD, 0, SA, 40, 160, 0, 0), + CE(SENEGAL, FCC13_WORLD, 0, SN, 40, 160, 0, 0), + CE(SERBIA, ETSI13_WORLD, 0, RS, 40, 160, 0, 0), + CE(SINGAPORE, FCC3_WORLD, 0, SG, 40, 160, 0, 0), + CE(SINT_MAARTEN, ETSI10_WORLD, 0, SX, 40, 160, 0, 0), + CE(SLOVAKIA, ETSI10_WORLD, 0, SK, 40, 160, 0, 0), + CE(SLOVENIA, ETSI10_WORLD, 0, SI, 40, 160, 0, 0), + CE(SOUTH_AFRICA, FCC3_WORLD, 0, ZA, 40, 160, 0, 0), + CE(SPAIN, ETSI10_WORLD, 0, ES, 40, 160, 0, 0), + CE(SURINAME, ETSI1_WORLD, 0, SR, 40, 160, 0, 0), + CE(SRI_LANKA, FCC3_ETSIC, 0, LK, 40, 160, 0, 0), + CE(SVALBARD_AND_JAN_MAYEN, FCC6_WORLD, 0, SJ, 40, 160, 0, 0), + CE(SWEDEN, ETSI10_WORLD, 0, SE, 40, 160, 0, 0), + CE(SWITZERLAND, ETSI10_WORLD, 0, CH, 40, 160, 0, 0), + CE(TAIWAN, FCC3_FCCA, 0, TW, 40, 160, 0, 0), + CE(TANZANIA, APL1_WORLD, 0, TZ, 40, 160, 0, 0), + CE(THAILAND, FCC3_WORLD, 0, TH, 40, 160, 0, 0), + CE(TOGO, ETSI1_WORLD, 0, TG, 40, 40, 0, 0), + CE(TRINIDAD_Y_TOBAGO, FCC3_WORLD, 0, TT, 40, 160, 0, 0), + CE(TUNISIA, ETSI3_WORLD, 0, TN, 40, 160, 0, 0), + CE(TURKEY, ETSI13_WORLD, 0, TR, 40, 160, 0, 0), + CE(TURKS_AND_CAICOS, FCC3_WORLD, 0, TC, 40, 160, 0, 0), + CE(UGANDA, FCC3_WORLD, 0, UG, 40, 160, 0, 0), + CE(UKRAINE, ETSI9_WORLD, 0, UA, 40, 160, 0, REGULATORY_PHYMODE_NO11AX), + CE(UAE, FCC3_WORLD, 0, AE, 40, 160, 0, 0), + CE(UNITED_KINGDOM, ETSI1_WORLD, ETSI2_6G, GB, 40, 160, 160, 0), + CE(UNITED_STATES, FCC8_FCCA, FCC1_6G, US, 40, 160, 160, 0), + CE(UNITED_STATES_MINOR_OUTLYING_ISLANDS, FCC10_FCCA, 0, UM, 40, 160, 0, + 0), + CE(URUGUAY, FCC2_WORLD, 0, 0, UY, 40, 160, 0, 0), + CE(UZBEKISTAN, ETSI3_WORLD, 0, 0, UZ, 40, 160, 0, 0), + CE(VANUATU, FCC3_WORLD, 0, 0, VU, 40, 160, 0, 0), + CE(VENEZUELA, FCC2_ETSIC, 0, 0, VE, 40, 160, 0, 0), + CE(VIET_NAM, FCC3_WORLD, 0, 0, VN, 40, 80, 0, 0), + CE(VIRGIN_ISLANDS, FCC10_FCCA, 0, VI, 40, 160, 0, 0), + CE(VIRGIN_ISLANDS_BRITISH, ETSI10_WORLD, 0, 0, VG, 40, 160, 0, 0), + CE(WALLIS_AND_FUTUNA, ETSI1_WORLD, 0, WF, 40, 160, 0, 0), + CE(YEMEN, ETSI1_WORLD, 0, YE, 40, 160, 0, 0), + CE(ZIMBABWE, ETSI1_WORLD, 0, ZW, 40, 160, 0, 0), }; #else const struct country_code_to_reg_domain g_all_countries[] = { - {CTRY_AFGHANISTAN, ETSI1_WORLD, "AF", 40, 160, 0}, - {CTRY_ALAND_ISLANDS, FCC3_WORLD, "AX", 40, 160, 0}, - {CTRY_ALBANIA, ETSI13_WORLD, "AL", 40, 160, 0}, - {CTRY_ALGERIA, APL13_WORLD, "DZ", 40, 160, 0}, - {CTRY_AMERICAN_SAMOA, FCC3_FCCA, "AS", 40, 160, 0}, - {CTRY_ANDORRA, ETSI13_WORLD, "AD", 40, 160, 0}, - {CTRY_ANGUILLA, ETSI1_WORLD, "AI", 40, 160, 0}, - {CTRY_ANTIGUA_AND_BARBUDA, FCC3_WORLD, "AG", 40, 160, 0}, - {CTRY_ARGENTINA, APL17_ETSIC, "AR", 40, 160, 0}, - {CTRY_ARMENIA, ETSI4_WORLD, "AM", 40, 160, 0}, - {CTRY_ARUBA, ETSI1_WORLD, "AW", 40, 160, 0}, - {CTRY_AUSTRALIA, FCC6_WORLD, "AU", 40, 160, 0}, - {CTRY_AUSTRIA, ETSI13_WORLD, "AT", 40, 160, 0}, - {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", 40, 160, 0}, - {CTRY_BAHAMAS, FCC3_WORLD, "BS", 40, 160, 0}, - {CTRY_BAHRAIN, APL15_WORLD, "BH", 40, 160, 0}, - {CTRY_BANGLADESH, APL1_WORLD, "BD", 40, 160, 0}, - {CTRY_BARBADOS, FCC2_WORLD, "BB", 40, 160, 0}, - {CTRY_BELARUS, ETSI1_WORLD, "BY", 40, 160, REGULATORY_PHYMODE_NO11AX}, - {CTRY_BELGIUM, ETSI13_WORLD, "BE", 40, 160, 0}, - {CTRY_BELIZE, ETSI8_WORLD, "BZ", 40, 160, 0}, - {CTRY_BERMUDA, FCC3_FCCA, "BM", 40, 160, 0}, - {CTRY_BHUTAN, ETSI1_WORLD, "BT", 40, 160, 0}, - {CTRY_BOLIVIA, FCC3_WORLD, "BO", 40, 160, 0}, - {CTRY_BOSNIA_HERZ, ETSI13_WORLD, "BA", 40, 160, 0}, - {CTRY_BRAZIL, FCC3_ETSIC, "BR", 40, 160, 0}, - {CTRY_BRUNEI_DARUSSALAM, FCC3_WORLD, "BN", 40, 160, 0}, - {CTRY_BULGARIA, ETSI13_WORLD, "BG", 40, 160, 0}, - {CTRY_BURKINA_FASO, FCC3_WORLD, "BF", 40, 160, 0}, - {CTRY_CAMBODIA, ETSI1_WORLD, "KH", 40, 160, 0}, - {CTRY_CAMEROON, ETSI1_WORLD, "CM", 40, 160, 0}, - {CTRY_CANADA, FCC6_FCCA, "CA", 40, 160, 0}, - {CTRY_CAYMAN_ISLANDS, FCC3_WORLD, "KY", 40, 160, 0}, - {CTRY_CENTRAL_AFRICA_REPUBLIC, FCC3_WORLD, "CF", 40, 40, 0}, - {CTRY_CHAD, ETSI1_WORLD, "TD", 40, 160, 0}, - {CTRY_CHILE, FCC13_WORLD, "CL", 40, 160, 0}, - {CTRY_CHINA, APL14_WORLD, "CN", 40, 160, 0}, - {CTRY_CHRISTMAS_ISLAND, FCC3_WORLD, "CX", 40, 160, 0}, - {CTRY_COLOMBIA, FCC3_WORLD, "CO", 40, 160, 0}, - {CTRY_COOK_ISLANDS, FCC3_WORLD, "CK", 40, 160, 0}, - {CTRY_COSTA_RICA, FCC3_WORLD, "CR", 40, 160, 0}, - {CTRY_COTE_DIVOIRE, FCC3_WORLD, "CI", 40, 160, 0}, - {CTRY_CROATIA, ETSI13_WORLD, "HR", 40, 160, 0}, - {CTRY_CURACAO, APL10_WORLD, "CW", 40, 160, 0}, - {CTRY_CYPRUS, ETSI13_WORLD, "CY", 40, 160, 0}, - {CTRY_CZECH, ETSI13_WORLD, "CZ", 40, 160, 0}, - {CTRY_DENMARK, ETSI13_WORLD, "DK", 40, 160, 0}, - {CTRY_DOMINICA, FCC2_FCCA, "DM", 40, 160, 0}, - {CTRY_DOMINICAN_REPUBLIC, FCC3_FCCA, "DO", 40, 160, 0}, - {CTRY_ECUADOR, FCC3_FCCA, "EC", 40, 160, 0}, - {CTRY_EGYPT, ETSI3_WORLD, "EG", 40, 160, 0}, - {CTRY_EL_SALVADOR, FCC3_WORLD, "SV", 40, 160, 0}, - {CTRY_ESTONIA, ETSI13_WORLD, "EE", 40, 160, 0}, - {CTRY_ETHIOPIA, ETSI1_WORLD, "ET", 40, 160, 0}, - {CTRY_FALKLAND_ISLANDS, ETSI13_WORLD, "FK", 40, 160, 0}, - {CTRY_FAROE_ISLANDS, ETSI13_WORLD, "FO", 40, 160, 0}, - {CTRY_FINLAND, ETSI13_WORLD, "FI", 40, 160, 0}, - {CTRY_FRANCE, ETSI13_WORLD, "FR", 40, 160, 0}, - {CTRY_FRENCH_GUIANA, ETSI13_WORLD, "GF", 40, 160, 0}, - {CTRY_FRENCH_POLYNESIA, ETSI13_WORLD, "PF", 40, 160, 0}, - {CTRY_FRENCH_SOUTHERN_TERRITORIES, ETSI13_WORLD, "TF", 40, 160, 0}, - {CTRY_GEORGIA, ETSI1_WORLD, "GE", 40, 160, 0}, - {CTRY_GERMANY, ETSI13_WORLD, "DE", 40, 160, 0}, - {CTRY_GHANA, FCC3_WORLD, "GH", 40, 160, 0}, - {CTRY_GIBRALTAR, ETSI1_WORLD, "GI", 40, 160, 0}, - {CTRY_GREECE, ETSI13_WORLD, "GR", 40, 160, 0}, - {CTRY_GREENLAND, ETSI1_WORLD, "GL", 40, 160, 0}, - {CTRY_GRENADA, FCC3_FCCA, "GD", 40, 160, 0}, - {CTRY_GUADELOUPE, ETSI1_WORLD, "GP", 40, 160, 0}, - {CTRY_GUAM, FCC3_FCCA, "GU", 40, 160, 0}, - {CTRY_GUATEMALA, ETSI1_WORLD, "GT", 40, 160, 0}, - {CTRY_GUERNSEY, ETSI13_WORLD, "GG", 40, 160, 0}, - {CTRY_GUYANA, APL1_ETSIC, "GY", 40, 160, 0}, - {CTRY_HAITI, FCC3_FCCA, "HT", 40, 160, 0}, - {CTRY_HEARD_ISLAND_AND_MCDONALD_ISLANDS, FCC6_WORLD, "HM", 40, 160, 0}, - {CTRY_HOLY_SEE, ETSI13_WORLD, "VA", 40, 160, 0}, - {CTRY_HONDURAS, FCC13_WORLD, "HN", 40, 160, 0}, - {CTRY_HONG_KONG, FCC3_WORLD, "HK", 40, 160, 0}, - {CTRY_HUNGARY, ETSI13_WORLD, "HU", 40, 160, 0}, - {CTRY_ICELAND, ETSI13_WORLD, "IS", 40, 160, 0}, - {CTRY_INDIA, APL19_ETSIC, "IN", 40, 160, 0}, - {CTRY_INDONESIA, APL2_ETSID, "ID", 40, 80, 0}, - {CTRY_IRAQ, ETSI1_WORLD, "IQ", 40, 160, 0}, - {CTRY_IRELAND, ETSI13_WORLD, "IE", 40, 160, 0}, - {CTRY_ISLE_OF_MAN, ETSI13_WORLD, "IM", 40, 160, 0}, - {CTRY_ISRAEL, ETSI3_WORLD, "IL", 40, 160, 0}, - {CTRY_ITALY, ETSI13_WORLD, "IT", 40, 160, 0}, - {CTRY_JAMAICA, FCC13_WORLD, "JM", 40, 160, 0}, - {CTRY_JAPAN, MKK17_MKKC, "JP", 40, 160, 0}, - {CTRY_JAPAN15, MKK5_MKKC, "JP", 40, 160, 0}, - {CTRY_XA, MKK5_MKKA, "XA", 40, 160, 0}, - {CTRY_JERSEY, ETSI13_WORLD, "JE", 40, 160, 0}, - {CTRY_JORDAN, APL4_WORLD, "JO", 40, 160, 0}, - {CTRY_KAZAKHSTAN, MKK5_MKKC, "KZ", 40, 160, 0}, - {CTRY_KENYA, ETSI13_WORLD, "KE", 40, 160, 0}, - {CTRY_KOREA_ROC, APL9_MKKC, "KR", 40, 160, 0}, - {CTRY_KUWAIT, ETSI13_WORLD, "KW", 40, 160, 0}, - {CTRY_LATVIA, ETSI13_WORLD, "LV", 40, 160, 0}, - {CTRY_LEBANON, FCC3_WORLD, "LB", 40, 160, 0}, - {CTRY_LESOTHO, ETSI1_WORLD, "LS", 40, 160, 0}, - {CTRY_LIECHTENSTEIN, ETSI13_WORLD, "LI", 40, 160, 0}, - {CTRY_LITHUANIA, ETSI13_WORLD, "LT", 40, 160, 0}, - {CTRY_LUXEMBOURG, ETSI13_WORLD, "LU", 40, 160, 0}, - {CTRY_MACAU, FCC3_WORLD, "MO", 40, 160, 0}, - {CTRY_MACEDONIA, ETSI13_WORLD, "MK", 40, 160, 0}, - {CTRY_MALAWI, ETSI1_WORLD, "MW", 40, 160, 0}, - {CTRY_MALAYSIA, FCC11_WORLD, "MY", 40, 160, 0}, - {CTRY_MALDIVES, APL6_WORLD, "MV", 40, 160, 0}, - {CTRY_MALTA, ETSI13_WORLD, "MT", 40, 160, 0}, - {CTRY_MARSHALL_ISLANDS, FCC3_FCCA, "MH", 40, 160, 0}, - {CTRY_MARTINIQUE, ETSI13_WORLD, "MQ", 40, 160, 0}, - {CTRY_MAURITANIA, ETSI1_WORLD, "MR", 40, 160, 0}, - {CTRY_MAURITIUS, ETSI13_WORLD, "MU", 40, 160, 0}, - {CTRY_MAYOTTE, ETSI1_WORLD, "YT", 40, 160, 0}, - {CTRY_MEXICO, FCC3_ETSIC, "MX", 40, 160, 0}, - {CTRY_MICRONESIA, FCC3_FCCA, "FM", 40, 160, 0}, - {CTRY_MOLDOVA, ETSI13_WORLD, "MD", 40, 160, 0}, - {CTRY_MONACO, ETSI13_WORLD, "MC", 40, 160, 0}, - {CTRY_MONGOLIA, FCC3_WORLD, "MN", 40, 160, 0}, - {CTRY_MONTENEGRO, ETSI13_WORLD, "ME", 40, 160, 0}, - {CTRY_MONTSERRAT, ETSI13_WORLD, "MS", 40, 160, 0}, - {CTRY_MOROCCO, ETSI3_WORLD, "MA", 40, 160, 0}, - {CTRY_MYANMAR, APL1_WORLD, "MM", 40, 160, 0}, - {CTRY_NAMIBIA, APL20_WORLD, "NA", 40, 160, 0}, - {CTRY_NEPAL, APL23_WORLD, "NP", 40, 160, 0}, - {CTRY_NETHERLANDS, ETSI13_WORLD, "NL", 40, 160, 0}, - {CTRY_NETHERLANDS_ANTILLES, ETSI13_WORLD, "AN", 40, 160, 0}, - {CTRY_NEW_CALEDONIA, ETSI13_WORLD, "NC", 40, 160, 0}, - {CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", 40, 160, 0}, - {CTRY_NIGERIA, APL6_WORLD, "NG", 40, 160, 0}, - {CTRY_NORTHERN_MARIANA_ISLANDS, FCC3_FCCA, "MP", 40, 160, 0}, - {CTRY_NICARAGUA, FCC3_FCCA, "NI", 40, 160, 0}, - {CTRY_NIUE, ETSI13_WORLD, "NU", 40, 160, 0}, - {CTRY_NORFOLK_ISLAND, FCC6_WORLD, "NF", 40, 160, 0}, - {CTRY_NORWAY, ETSI13_WORLD, "NO", 40, 160, 0}, - {CTRY_OMAN, ETSI1_WORLD, "OM", 40, 160, 0}, - {CTRY_PAKISTAN, APL1_ETSIC, "PK", 40, 160, 0}, - {CTRY_PALAU, FCC3_FCCA, "PW", 40, 160, 0}, - {CTRY_PANAMA, FCC14_FCCB, "PA", 40, 160, 0}, - {CTRY_PAPUA_NEW_GUINEA, FCC3_WORLD, "PG", 40, 160, 0}, - {CTRY_PARAGUAY, FCC3_WORLD, "PY", 40, 160, 0}, - {CTRY_PERU, FCC3_WORLD, "PE", 40, 160, 0}, - {CTRY_PHILIPPINES, FCC3_WORLD, "PH", 40, 160, 0}, - {CTRY_POLAND, ETSI13_WORLD, "PL", 40, 160, 0}, - {CTRY_PORTUGAL, ETSI13_WORLD, "PT", 40, 160, 0}, - {CTRY_PUERTO_RICO, FCC3_FCCA, "PR", 40, 160, 0}, - {CTRY_QATAR, ETSI14_WORLD, "QA", 40, 160, 0}, - {CTRY_REUNION, ETSI1_WORLD, "RE", 40, 160, 0}, - {CTRY_ROMANIA, ETSI13_WORLD, "RO", 40, 160, 0}, - {CTRY_RUSSIA, ETSI8_WORLD, "RU", 40, 160, REGULATORY_PHYMODE_NO11AX}, - {CTRY_RWANDA, FCC3_WORLD, "RW", 40, 160, 0}, - {CTRY_SAINT_BARTHELEMY, ETSI1_WORLD, "BL", 40, 160, 0}, - {CTRY_SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, ETSI13_WORLD, "SH", - 40, 160, 0}, - {CTRY_SAINT_KITTS_AND_NEVIS, APL10_WORLD, "KN", 40, 160, 0}, - {CTRY_SAINT_LUCIA, APL10_WORLD, "LC", 40, 160, 0}, - {CTRY_SAINT_MARTIN, ETSI1_WORLD, "MF", 40, 160, 0}, - {CTRY_SAINT_PIERRE_AND_MIQUELON, ETSI13_WORLD, "PM", 40, 160, 0}, - {CTRY_SAINT_VINCENT_AND_THE_GRENADIENS, ETSI13_WORLD, "VC", - 40, 160, 0}, - {CTRY_SAMOA, ETSI1_WORLD, "WS", 40, 40, 0}, - {CTRY_SAN_MARINO, FCC3_FCCA, "SM", 40, 160, 0}, - {CTRY_SAO_TOME_AND_PRINCIPE, FCC3_WORLD, "ST", 40, 160, 0}, - {CTRY_SAUDI_ARABIA, ETSI15_WORLD, "SA", 40, 160, 0}, - {CTRY_SENEGAL, FCC13_WORLD, "SN", 40, 160, 0}, - {CTRY_SERBIA, ETSI13_WORLD, "RS", 40, 160, 0}, - {CTRY_SINGAPORE, FCC3_WORLD, "SG", 40, 160, 0}, - {CTRY_SINT_MAARTEN, ETSI13_WORLD, "SX", 40, 160, 0}, - {CTRY_SLOVAKIA, ETSI13_WORLD, "SK", 40, 160, 0}, - {CTRY_SLOVENIA, ETSI13_WORLD, "SI", 40, 160, 0}, - {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", 40, 160, 0}, - {CTRY_SPAIN, ETSI13_WORLD, "ES", 40, 160, 0}, - {CTRY_SURINAME, ETSI1_WORLD, "SR", 40, 160, 0}, - {CTRY_SRI_LANKA, FCC3_ETSIC, "LK", 40, 160, 0}, - {CTRY_SVALBARD_AND_JAN_MAYEN, FCC6_WORLD, "SJ", 40, 160, 0}, - {CTRY_SWEDEN, ETSI13_WORLD, "SE", 40, 160, 0}, - {CTRY_SWITZERLAND, ETSI13_WORLD, "CH", 40, 160, 0}, - {CTRY_TAIWAN, FCC3_FCCA, "TW", 40, 160, 0}, - {CTRY_TANZANIA, APL1_WORLD, "TZ", 40, 160, 0}, - {CTRY_THAILAND, FCC3_WORLD, "TH", 40, 160, 0}, - {CTRY_TOGO, ETSI1_WORLD, "TG", 40, 40, 0}, - {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", 40, 160, 0}, - {CTRY_TUNISIA, ETSI3_WORLD, "TN", 40, 160, 0}, - {CTRY_TURKEY, ETSI13_WORLD, "TR", 40, 160, 0}, - {CTRY_TURKS_AND_CAICOS, FCC3_WORLD, "TC", 40, 160, 0}, - {CTRY_UGANDA, FCC3_WORLD, "UG", 40, 160, 0}, - {CTRY_UKRAINE, ETSI9_WORLD, "UA", 40, 160, REGULATORY_PHYMODE_NO11AX}, - {CTRY_UAE, FCC3_WORLD, "AE", 40, 160, 0}, - {CTRY_UNITED_KINGDOM, ETSI13_WORLD, "GB", 40, 160, 0}, - {CTRY_UNITED_STATES, FCC3_FCCA, "US", 40, 160, 0}, - {CTRY_UNITED_STATES_MINOR_OUTLYING_ISLANDS, FCC3_FCCA, "UM", 40, 160, - 0}, - {CTRY_URUGUAY, FCC2_WORLD, "UY", 40, 160, 0}, - {CTRY_UZBEKISTAN, ETSI3_WORLD, "UZ", 40, 160, 0}, - {CTRY_VANUATU, FCC3_WORLD, "VU", 40, 160, 0}, - {CTRY_VENEZUELA, FCC2_ETSIC, "VE", 40, 160, 0}, - {CTRY_VIET_NAM, FCC3_WORLD, "VN", 40, 80, 0}, - {CTRY_VIRGIN_ISLANDS, FCC3_FCCA, "VI", 40, 160, 0}, - {CTRY_VIRGIN_ISLANDS_BRITISH, ETSI13_WORLD, "VG", 40, 160, 0}, - {CTRY_WALLIS_AND_FUTUNA, ETSI1_WORLD, "WF", 40, 160, 0}, - {CTRY_YEMEN, ETSI1_WORLD, "YE", 40, 160, 0}, - {CTRY_ZIMBABWE, ETSI1_WORLD, "ZW", 40, 160, 0}, + CE(AFGHANISTAN, ETSI1_WORLD, 0, AF, 40, 160, 0, 0), + CE(ALAND_ISLANDS, FCC3_WORLD, 0, AX, 40, 160, 0, 0), + CE(ALBANIA, ETSI13_WORLD, 0, AL, 40, 160, 0, 0), + CE(ALGERIA, APL13_WORLD, 0, DZ, 40, 160, 0, 0), + CE(AMERICAN_SAMOA, FCC3_FCCA, 0, AS, 40, 160, 0, 0), + CE(ANDORRA, ETSI13_WORLD, 0, AD, 40, 160, 0, 0), + CE(ANGUILLA, ETSI1_WORLD, 0, AI, 40, 160, 0, 0), + CE(ANTIGUA_AND_BARBUDA, FCC3_WORLD, 0, AG, 40, 160, 0, 0), + CE(ARGENTINA, APL17_ETSIC, 0, AR, 40, 160, 0, 0), + CE(ARMENIA, ETSI4_WORLD, 0, AM, 40, 160, 0, 0), + CE(ARUBA, ETSI1_WORLD, 0, AW, 40, 160, 0, 0), + CE(AUSTRALIA, FCC6_WORLD, 0, AU, 40, 160, 0, 0), + CE(AUSTRIA, ETSI13_WORLD, 0, AT, 40, 160, 0, 0), + CE(AZERBAIJAN, ETSI4_WORLD, 0, AZ, 40, 160, 0, 0), + CE(BAHAMAS, FCC3_WORLD, 0, BS, 40, 160, 0, 0), + CE(BAHRAIN, APL15_WORLD, 0, BH, 40, 160, 0, 0), + CE(BANGLADESH, APL1_WORLD, 0, BD, 40, 160, 0, 0), + CE(BARBADOS, FCC2_WORLD, 0, BB, 40, 160, 0, 0), + CE(BELARUS, ETSI1_WORLD, 0, BY, 40, 160, 0, REGULATORY_PHYMODE_NO11AX), + CE(BELGIUM, ETSI13_WORLD, 0, BE, 40, 160, 0, 0), + CE(BELIZE, ETSI8_WORLD, 0, BZ, 40, 160, 0, 0), + CE(BERMUDA, FCC3_FCCA, 0, BM, 40, 160, 0, 0), + CE(BHUTAN, ETSI1_WORLD, 0, BT, 40, 160, 0, 0), + CE(BOLIVIA, FCC3_WORLD, 0, BO, 40, 160, 0, 0), + CE(BOSNIA_HERZ, ETSI13_WORLD, 0, BA, 40, 160, 0, 0), + CE(BRAZIL, FCC3_ETSIC, 0, BR, 40, 160, 0, 0), + CE(BRUNEI_DARUSSALAM, FCC3_WORLD, 0, BN, 40, 160, 0, 0), + CE(BULGARIA, ETSI13_WORLD, 0, BG, 40, 160, 0, 0), + CE(BURKINA_FASO, FCC3_WORLD, 0, BF, 40, 160, 0, 0), + CE(CAMBODIA, ETSI1_WORLD, 0, KH, 40, 160, 0, 0), + CE(CAMEROON, ETSI1_WORLD, 0, CM, 40, 160, 0, 0), + CE(CANADA, FCC6_FCCA, 0, CA, 40, 160, 0, 0), + CE(CAYMAN_ISLANDS, FCC3_WORLD, 0, KY, 40, 160, 0, 0), + CE(CENTRAL_AFRICA_REPUBLIC, FCC3_WORLD, 0, CF, 40, 40, 0, 0), + CE(CHAD, ETSI1_WORLD, 0, TD, 40, 160, 0, 0), + CE(CHILE, FCC13_WORLD, 0, CL, 40, 160, 0, 0), + CE(CHINA, APL14_WORLD, 0, CN, 40, 160, 0, 0), + CE(CHRISTMAS_ISLAND, FCC3_WORLD, 0, CX, 40, 160, 0, 0), + CE(COLOMBIA, FCC3_WORLD, 0, CO, 40, 160, 0, 0), + CE(COOK_ISLANDS, FCC3_WORLD, 0, CK, 40, 160, 0, 0), + CE(COSTA_RICA, FCC3_WORLD, 0, CR, 40, 160, 0, 0), + CE(COTE_DIVOIRE, FCC3_WORLD, 0, CI, 40, 160, 0, 0), + CE(CROATIA, ETSI13_WORLD, 0, HR, 40, 160, 0, 0), + CE(CURACAO, APL10_WORLD, 0, CW, 40, 160, 0, 0), + CE(CYPRUS, ETSI13_WORLD, 0, CY, 40, 160, 0, 0), + CE(CZECH, ETSI13_WORLD, 0, CZ, 40, 160, 0, 0), + CE(DENMARK, ETSI13_WORLD, 0, DK, 40, 160, 0, 0), + CE(DOMINICA, FCC2_FCCA, 0, DM, 40, 160, 0, 0), + CE(DOMINICAN_REPUBLIC, FCC3_FCCA, 0, DO, 40, 160, 0, 0), + CE(ECUADOR, FCC3_FCCA, 0, EC, 40, 160, 0, 0), + CE(EGYPT, ETSI3_WORLD, 0, EG, 40, 160, 0, 0), + CE(EL_SALVADOR, FCC3_WORLD, 0, SV, 40, 160, 0, 0), + CE(ESTONIA, ETSI13_WORLD, 0, EE, 40, 160, 0, 0), + CE(ETHIOPIA, ETSI1_WORLD, 0, ET, 40, 160, 0, 0), + CE(FALKLAND_ISLANDS, ETSI13_WORLD, 0, FK, 40, 160, 0, 0), + CE(FAROE_ISLANDS, ETSI13_WORLD, 0, FO, 40, 160, 0, 0), + CE(FINLAND, ETSI13_WORLD, 0, FI, 40, 160, 0, 0), + CE(FRANCE, ETSI13_WORLD, 0, FR, 40, 160, 0, 0), + CE(FRENCH_GUIANA, ETSI13_WORLD, 0, GF, 40, 160, 0, 0), + CE(FRENCH_POLYNESIA, ETSI13_WORLD, 0, PF, 40, 160, 0, 0), + CE(FRENCH_SOUTHERN_TERRITORIES, ETSI13_WORLD, 0, TF, 40, 160, 0, 0), + CE(GEORGIA, ETSI1_WORLD, 0, GE, 40, 160, 0, 0), + CE(GERMANY, ETSI13_WORLD, 0, DE, 40, 160, 0, 0), + CE(GHANA, FCC3_WORLD, 0, GH, 40, 160, 0, 0), + CE(GIBRALTAR, ETSI1_WORLD, 0, GI, 40, 160, 0, 0), + CE(GREECE, ETSI13_WORLD, 0, GR, 40, 160, 0, 0), + CE(GREENLAND, ETSI1_WORLD, 0, GL, 40, 160, 0, 0), + CE(GRENADA, FCC3_FCCA, 0, GD, 40, 160, 0, 0), + CE(GUADELOUPE, ETSI1_WORLD, 0, GP, 40, 160, 0, 0), + CE(GUAM, FCC3_FCCA, 0, GU, 40, 160, 0, 0), + CE(GUATEMALA, ETSI1_WORLD, 0, GT, 40, 160, 0, 0), + CE(GUERNSEY, ETSI13_WORLD, 0, GG, 40, 160, 0, 0), + CE(GUYANA, APL1_ETSIC, 0, GY, 40, 160, 0, 0), + CE(HAITI, FCC3_FCCA, 0, HT, 40, 160, 0, 0), + CE(HEARD_ISLAND_AND_MCDONALD_ISLANDS, FCC6_WORLD, 0, HM, 40, 160, 0, 0), + CE(HOLY_SEE, ETSI13_WORLD, 0, VA, 40, 160, 0, 0), + CE(HONDURAS, FCC13_WORLD, 0, HN, 40, 160, 0, 0), + CE(HONG_KONG, FCC3_WORLD, 0, HK, 40, 160, 0, 0), + CE(HUNGARY, ETSI13_WORLD, 0, HU, 40, 160, 0, 0), + CE(ICELAND, ETSI13_WORLD, 0, IS, 40, 160, 0, 0), + CE(INDIA, APL19_ETSIC, 0, IN, 40, 160, 0, 0), + CE(INDONESIA, APL2_ETSID, 0, ID, 40, 80, 0, 0), + CE(IRAQ, ETSI1_WORLD, 0, IQ, 40, 160, 0, 0), + CE(IRELAND, ETSI13_WORLD, 0, IE, 40, 160, 0, 0), + CE(ISLE_OF_MAN, ETSI13_WORLD, 0, IM, 40, 160, 0, 0), + CE(ISRAEL, ETSI3_WORLD, 0, IL, 40, 160, 0, 0), + CE(ITALY, ETSI13_WORLD, 0, IT, 40, 160, 0, 0), + CE(JAMAICA, FCC13_WORLD, 0, JM, 40, 160, 0, 0), + CE(JAPAN, MKK17_MKKC, 0, JP, 40, 160, 0, 0), + CE(JAPAN15, MKK5_MKKC, 0, JP, 40, 160, 0, 0), + CE(XA, MKK5_MKKA, 0, XA, 40, 160, 0, 0), + CE(JERSEY, ETSI13_WORLD, 0, JE, 40, 160, 0, 0), + CE(JORDAN, APL4_WORLD, 0, JO, 40, 160, 0, 0), + CE(KAZAKHSTAN, MKK5_MKKC, 0, KZ, 40, 160, 0, 0), + CE(KENYA, ETSI13_WORLD, 0, KE, 40, 160, 0, 0), + CE(KOREA_ROC, APL9_MKKC, APL1_6G, KR, 40, 160, 160, 0), + CE(KUWAIT, ETSI13_WORLD, 0, KW, 40, 160, 0, 0), + CE(LATVIA, ETSI13_WORLD, 0, LV, 40, 160, 0, 0), + CE(LEBANON, FCC3_WORLD, 0, LB, 40, 160, 0, 0), + CE(LESOTHO, ETSI1_WORLD, 0, LS, 40, 160, 0, 0), + CE(LIECHTENSTEIN, ETSI13_WORLD, 0, LI, 40, 160, 0, 0), + CE(LITHUANIA, ETSI13_WORLD, 0, LT, 40, 160, 0, 0), + CE(LUXEMBOURG, ETSI13_WORLD, 0, LU, 40, 160, 0, 0), + CE(MACAU, FCC3_WORLD, 0, MO, 40, 160, 0, 0), + CE(MACEDONIA, ETSI13_WORLD, 0, MK, 40, 160, 0, 0), + CE(MALAWI, ETSI1_WORLD, 0, MW, 40, 160, 0, 0), + CE(MALAYSIA, FCC11_WORLD, 0, MY, 40, 160, 0, 0), + CE(MALDIVES, APL6_WORLD, 0, MV, 40, 160, 0, 0), + CE(MALTA, ETSI13_WORLD, 0, MT, 40, 160, 0, 0), + CE(MARSHALL_ISLANDS, FCC3_FCCA, 0, MH, 40, 160, 0, 0), + CE(MARTINIQUE, ETSI13_WORLD, 0, MQ, 40, 160, 0, 0), + CE(MAURITANIA, ETSI1_WORLD, 0, MR, 40, 160, 0, 0), + CE(MAURITIUS, ETSI13_WORLD, 0, MU, 40, 160, 0, 0), + CE(MAYOTTE, ETSI1_WORLD, 0, YT, 40, 160, 0, 0), + CE(MEXICO, FCC3_ETSIC, 0, MX, 40, 160, 0, 0), + CE(MICRONESIA, FCC3_FCCA, 0, FM, 40, 160, 0, 0), + CE(MOLDOVA, ETSI13_WORLD, 0, MD, 40, 160, 0, 0), + CE(MONACO, ETSI13_WORLD, 0, MC, 40, 160, 0, 0), + CE(MONGOLIA, FCC3_WORLD, 0, MN, 40, 160, 0, 0), + CE(MONTENEGRO, ETSI13_WORLD, 0, ME, 40, 160, 0, 0), + CE(MONTSERRAT, ETSI13_WORLD, 0, MS, 40, 160, 0, 0), + CE(MOROCCO, ETSI3_WORLD, 0, MA, 40, 160, 0, 0), + CE(MYANMAR, APL1_WORLD, 0, MM, 40, 160, 0, 0), + CE(NAMIBIA, APL20_WORLD, 0, NA, 40, 160, 0, 0), + CE(NEPAL, APL23_WORLD, 0, NP, 40, 160, 0, 0), + CE(NETHERLANDS, ETSI13_WORLD, 0, NL, 40, 160, 0, 0), + CE(NETHERLANDS_ANTILLES, ETSI13_WORLD, 0, AN, 40, 160, 0, 0), + CE(NEW_CALEDONIA, ETSI13_WORLD, 0, NC, 40, 160, 0, 0), + CE(NEW_ZEALAND, FCC3_ETSIC, 0, NZ, 40, 160, 0, 0), + CE(NIGERIA, APL6_WORLD, 0, NG, 40, 160, 0, 0), + CE(NORTHERN_MARIANA_ISLANDS, FCC3_FCCA, 0, MP, 40, 160, 0, 0), + CE(NICARAGUA, FCC3_FCCA, 0, NI, 40, 160, 0, 0), + CE(NIUE, ETSI13_WORLD, 0, NU, 40, 160, 0, 0), + CE(NORFOLK_ISLAND, FCC6_WORLD, 0, NF, 40, 160, 0, 0), + CE(NORWAY, ETSI13_WORLD, 0, NO, 40, 160, 0, 0), + CE(OMAN, ETSI1_WORLD, 0, OM, 40, 160, 0, 0), + CE(PAKISTAN, APL1_ETSIC, 0, PK, 40, 160, 0, 0), + CE(PALAU, FCC3_FCCA, 0, PW, 40, 160, 0, 0), + CE(PANAMA, FCC14_FCCB, 0, PA, 40, 160, 0, 0), + CE(PAPUA_NEW_GUINEA, FCC3_WORLD, 0, PG, 40, 160, 0, 0), + CE(PARAGUAY, FCC3_WORLD, 0, PY, 40, 160, 0, 0), + CE(PERU, FCC3_WORLD, 0, PE, 40, 160, 0, 0), + CE(PHILIPPINES, FCC3_WORLD, 0, PH, 40, 160, 0, 0), + CE(POLAND, ETSI13_WORLD, 0, PL, 40, 160, 0, 0), + CE(PORTUGAL, ETSI13_WORLD, 0, PT, 40, 160, 0, 0), + CE(PUERTO_RICO, FCC3_FCCA, 0, PR, 40, 160, 0, 0), + CE(QATAR, ETSI14_WORLD, 0, QA, 40, 160, 0, 0), + CE(REUNION, ETSI1_WORLD, 0, RE, 40, 160, 0, 0), + CE(ROMANIA, ETSI13_WORLD, 0, RO, 40, 160, 0, 0), + CE(RUSSIA, ETSI8_WORLD, 0, RU, 40, 160, 0, REGULATORY_PHYMODE_NO11AX), + CE(RWANDA, FCC3_WORLD, 0, RW, 40, 160, 0, 0), + CE(SAINT_BARTHELEMY, ETSI1_WORLD, 0, BL, 40, 160, 0, 0), + CE(SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, ETSI13_WORLD, 0, SH, + 40, 160, 0, 0), + CE(SAINT_KITTS_AND_NEVIS, APL10_WORLD, 0, KN, 40, 160, 0, 0), + CE(SAINT_LUCIA, APL10_WORLD, 0, LC, 40, 160, 0, 0), + CE(SAINT_MARTIN, ETSI1_WORLD, 0, MF, 40, 160, 0, 0), + CE(SAINT_PIERRE_AND_MIQUELON, ETSI13_WORLD, 0, PM, 40, 160, 0, 0), + CE(SAINT_VINCENT_AND_THE_GRENADIENS, ETSI13_WORLD, 0, VC, + 40, 160, 0, 0), + CE(SAMOA, ETSI1_WORLD, 0, WS, 40, 40, 0, 0), + CE(SAN_MARINO, FCC3_FCCA, 0, SM, 40, 160, 0, 0), + CE(SAO_TOME_AND_PRINCIPE, FCC3_WORLD, 0, ST, 40, 160, 0, 0), + CE(SAUDI_ARABIA, ETSI15_WORLD, 0, SA, 40, 160, 0, 0), + CE(SENEGAL, FCC13_WORLD, 0, SN, 40, 160, 0, 0), + CE(SERBIA, ETSI13_WORLD, 0, RS, 40, 160, 0, 0), + CE(SINGAPORE, FCC3_WORLD, 0, SG, 40, 160, 0, 0), + CE(SINT_MAARTEN, ETSI13_WORLD, 0, SX, 40, 160, 0, 0), + CE(SLOVAKIA, ETSI13_WORLD, 0, SK, 40, 160, 0, 0), + CE(SLOVENIA, ETSI13_WORLD, 0, SI, 40, 160, 0, 0), + CE(SOUTH_AFRICA, FCC3_WORLD, 0, ZA, 40, 160, 0, 0), + CE(SPAIN, ETSI13_WORLD, 0, ES, 40, 160, 0, 0), + CE(SURINAME, ETSI1_WORLD, 0, SR, 40, 160, 0, 0), + CE(SRI_LANKA, FCC3_ETSIC, 0, LK, 40, 160, 0, 0), + CE(SVALBARD_AND_JAN_MAYEN, FCC6_WORLD, 0, SJ, 40, 160, 0, 0), + CE(SWEDEN, ETSI13_WORLD, 0, SE, 40, 160, 0, 0), + CE(SWITZERLAND, ETSI13_WORLD, 0, CH, 40, 160, 0, 0), + CE(TAIWAN, FCC3_FCCA, 0, TW, 40, 160, 0, 0), + CE(TANZANIA, APL1_WORLD, 0, TZ, 40, 160, 0, 0), + CE(THAILAND, FCC3_WORLD, 0, TH, 40, 160, 0, 0), + CE(TOGO, ETSI1_WORLD, 0, TG, 40, 40, 0, 0), + CE(TRINIDAD_Y_TOBAGO, FCC3_WORLD, 0, TT, 40, 160, 0, 0), + CE(TUNISIA, ETSI3_WORLD, 0, TN, 40, 160, 0, 0), + CE(TURKEY, ETSI13_WORLD, 0, TR, 40, 160, 0, 0), + CE(TURKS_AND_CAICOS, FCC3_WORLD, 0, TC, 40, 160, 0, 0), + CE(UGANDA, FCC3_WORLD, 0, UG, 40, 160, 0, 0), + CE(UKRAINE, ETSI9_WORLD, 0, UA, 40, 160, 0, REGULATORY_PHYMODE_NO11AX), + CE(UAE, FCC3_WORLD, 0, AE, 40, 160, 0, 0), + CE(UNITED_KINGDOM, ETSI1_WORLD, ETSI2_6G, GB, 40, 160, 160, 0), + CE(UNITED_STATES, FCC8_FCCA, FCC1_6G, US, 40, 160, 160, 0), + CE(UNITED_STATES_MINOR_OUTLYING_ISLANDS, FCC3_FCCA, 0, UM, 40, 160, 0, + 0), + CE(URUGUAY, FCC2_WORLD, 0, UY, 40, 160, 0, 0), + CE(UZBEKISTAN, ETSI3_WORLD, 0, UZ, 40, 160, 0, 0), + CE(VANUATU, FCC3_WORLD, 0, VU, 40, 160, 0, 0), + CE(VENEZUELA, FCC2_ETSIC, 0, VE, 40, 160, 0, 0), + CE(VIET_NAM, FCC3_WORLD, 0, VN, 40, 80, 0, 0), + CE(VIRGIN_ISLANDS, FCC3_FCCA, 0, VI, 40, 160, 0, 0), + CE(VIRGIN_ISLANDS_BRITISH, ETSI13_WORLD, 0, VG, 40, 160, 0, 0), + CE(WALLIS_AND_FUTUNA, ETSI1_WORLD, 0, WF, 40, 160, 0, 0), + CE(YEMEN, ETSI1_WORLD, 0, YE, 40, 160, 0, 0), + CE(ZIMBABWE, ETSI1_WORLD, 0, ZW, 40, 160, 0, 0), }; #endif #endif @@ -1132,7 +1132,6 @@ const struct regulatory_rule reg_rules_2g[] = { REGULATORY_CHAN_NO_OFDM | REGULATORY_CHAN_NO_IR}, }; - const struct regdomain regdomains_2g[] = { [FCCA] = {CTL_FCC, DFS_UNINIT_REGION, 0, 40, 6, 1, {CHAN_1_11_1} }, @@ -1340,7 +1339,6 @@ const struct regulatory_rule reg_rules_5g[] = { #endif }; - const struct regdomain regdomains_5g[] = { [FCC1] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 6, 3, {CHAN_5170_5250_1, @@ -1602,6 +1600,151 @@ const struct regdomain regdomains_5g[] = { }; +#if defined(CONFIG_BAND_6GHZ) && defined(COMPILE_REGDB_6G) +/** + * enum reg_super_domain_6g - 6G Super Domain enumeration + * @FCC1_6G: Super domain FCC1_6G + * @ETSI1_6G: Super domain ETSI1_6G + * @ETSI2_6G: Super domain ETSI2_6G + * @APL1_6G: Super domain APL1_6G + */ +enum reg_super_domain_6g { + FCC1_6G = 0x01, + ETSI1_6G = 0x02, + ETSI2_6G = 0x03, + APL1_6G = 0x04, +}; + +/** + * List of 6G Sub Domains. + * + * Note - If not specified in the naming, then above 6G subdomains are for + * both AP and STA (eg ETSI1_VLP_6G). + */ +enum reg_subdomains_6g { + FCC1_AP_LPI_6G, + FCC1_AP_SP_6G, + FCC1_CLIENT_SP_6G, + FCC1_CLIENT_LPI_REGULAR_6G, + ETSI1_LPI_6G, + ETSI1_VLP_6G, + ETSI2_LPI_6G, + ETSI2_VLP_6G, + APL1_LPI_6G, + APL1_VLP_6G, +}; + +/** + * Table of 6G super domain to sub domain. + */ +static const struct sixghz_super_to_subdomains g_6g_reg_dmn_9_tuples[] = { + {FCC1_6G, FCC1_AP_SP_6G, FCC1_AP_LPI_6G, 0, + {FCC1_CLIENT_SP_6G, FCC1_CLIENT_SP_6G}, + {FCC1_CLIENT_LPI_REGULAR_6G, FCC1_AP_LPI_6G}, + {0, 0} }, + {ETSI1_6G, 0, ETSI1_LPI_6G, ETSI1_VLP_6G, + {0, 0}, {ETSI1_LPI_6G, ETSI1_LPI_6G}, {ETSI1_VLP_6G, ETSI1_VLP_6G} }, + {ETSI2_6G, 0, ETSI2_LPI_6G, ETSI2_VLP_6G, + {0, 0}, {ETSI2_LPI_6G, ETSI2_LPI_6G}, {ETSI2_VLP_6G, ETSI2_VLP_6G} }, + {APL1_6G, 0, APL1_LPI_6G, APL1_VLP_6G, + {0, 0}, {APL1_LPI_6G, APL1_LPI_6G}, {APL1_VLP_6G, APL1_VLP_6G} }, +}; + +/** + * List of 6G reg rules. + */ +enum reg_rules_6g { + CHAN_5945_6425_1, + CHAN_5945_6425_2, + CHAN_5945_6425_3, + CHAN_5945_6425_4, + CHAN_5945_6425_5, + CHAN_5945_6425_6, + CHAN_5945_6425_7, + CHAN_5945_6425_8, + CHAN_5945_6425_9, + CHAN_5945_6425_10, + CHAN_6425_6525_1, + CHAN_6425_6525_2, + CHAN_6425_6525_3, + CHAN_6525_6875_1, + CHAN_6525_6875_2, + CHAN_6525_6875_3, + CHAN_6525_6875_4, + CHAN_6525_6875_5, + CHAN_6875_7125_1, + CHAN_6875_7125_2, + CHAN_6875_7125_3. +}; + +/** + * Mapping of 6G reg rules present in the 6G sub domain. + */ +static const struct regulatory_rule_ext reg_rules_6g[] = { + [CHAN_5945_6425_1] = {5945, 6425, 160, 30, 5, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_5945_6425_2] = {5945, 6425, 160, 36, 23, 0}, + [CHAN_5945_6425_3] = {5945, 6425, 160, 30, 17, 0}, + [CHAN_5945_6425_4] = {5945, 6425, 160, 24, -1, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_5945_6425_5] = {5945, 6425, 160, 23, 10, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_5945_6425_6] = {5945, 6425, 160, 14, 1, 0}, + [CHAN_5945_6425_7] = {5945, 6425, 160, 24, 11, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_5945_6425_8] = {5945, 6425, 160, 14, 11, 0}, + [CHAN_5945_6425_9] = {5945, 6425, 160, 63, 2, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_5945_6425_10] = {5945, 6425, 160, 14, 1, 0}, + [CHAN_6425_6525_1] = {6425, 6525, 100, 30, 5, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_6425_6525_2] = {6425, 6525, 100, 24, -1, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_6425_6525_3] = {6425, 6525, 100, 63, 2, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_6525_6875_1] = {6525, 6875, 160, 30, 5, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_6525_6875_2] = {6525, 6875, 160, 36, 23, 0}, + [CHAN_6525_6875_3] = {6525, 6875, 160, 30, 17, 0}, + [CHAN_6525_6875_4] = {6525, 6875, 160, 24, -1, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_6525_6875_5] = {6525, 6875, 160, 63, 2, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_6875_7125_1] = {6875, 7125, 160, 30, 5, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_6875_7125_2] = {6875, 7125, 160, 24, -1, + REGULATORY_CHAN_INDOOR_ONLY}, + [CHAN_6875_7125_3] = {6875, 7125, 160, 63, 2, + REGULATORY_CHAN_INDOOR_ONLY}, +}; + +/** + * Mapping of 6G sub domain and 6G reg rules. + */ +static const struct sub_6g_regdomain sub_regdomains_6g[] = { + [FCC1_AP_LPI_6G] = {2, 160, 4, {CHAN_5945_6425_1 + CHAN_6425_6525_1, + CHAN_6525_6875_1, + CHAN_6875_7125_1} }, + [FCC1_AP_SP_6G] = {2, 160, 2, {CHAN_5945_6425_2, + CHAN_6525_6875_2} }, + [FCC1_CLIENT_SP_6G] = {2, 160, 2, {CHAN_5945_6425_3, + CHAN_6525_6875_3} }, + [FCC1_CLIENT_LPI_REGULAR_6G] = {2, 160, 4, {CHAN_5945_6425_4, + CHAN_6425_6525_2, + CHAN_6525_6875_4, + CHAN_6875_7125_2} }, + [ETSI1_LPI_6G] = {2, 160, 1, {CHAN_5945_6425_5} }, + [ETSI1_VLP_6G] = {2, 160, 1, {CHAN_5945_6425_6} }, + [ETSI2_LPI_6G] = {2, 160, 1, {CHAN_5945_6425_7} }, + [ETSI2_VLP_6G] = {2, 160, 1, {CHAN_5945_6425_8} }, + [APL1_LPI_6G] = {2, 160, 4, {CHAN_5945_6425_9, + CHAN_6425_6525_3, + CHAN_6525_6875_5, + CHAN_6875_7125_3} }, + [APL1_VLP_6G] = {2, 160, 1, {CHAN_5945_6425_10} }, +}; +#endif #ifdef CONFIG_REG_CLIENT const uint32_t reg_2g_sub_dmn_code[REG_DOMAINS_2G_MAX] = { [FCCA] = 0x0A10, diff --git a/umac/regulatory/core/src/reg_db.h b/umac/regulatory/core/src/reg_db.h index b55be844f3..7ec887178a 100644 --- a/umac/regulatory/core/src/reg_db.h +++ b/umac/regulatory/core/src/reg_db.h @@ -25,6 +25,29 @@ #ifndef __REG_DB_H #define __REG_DB_H +/* + * If COMPILE_REGDB_6G and CONFIG_BAND_6GHZ are defined, then + * reg_6ghz_super_dmn_id and max_bw_6g are part of the + * country_code_to_reg_domain table for a country + * entry. If COMPILE_REGDB_6G and CONFIG_BAND_6GHZ are not defined, then they + * are absent. + * + * COMPILE_REGDB_6G is not defined for the Partial offload platform. + * + * CE:- country entry + */ +#if defined(CONFIG_BAND_6GHZ) && defined(COMPILE_REGDB_6G) +#define CE(country_code, reg_dmn_pair_id, reg_6ghz_super_dmn_id, \ + alpha2, max_bw_2g, max_bw_5g, max_bw_6g, phymode_bitmap) \ + {CTRY_ ## country_code, reg_dmn_pair_id, reg_6ghz_super_dmn_id, \ + #alpha2, max_bw_2g, max_bw_5g, max_bw_6g, phymode_bitmap} +#else +#define CE(country_code, reg_dmn_pair_id, reg_6ghz_super_dmn_id, alpha2, \ + max_bw_2g, max_bw_5g, max_bw_6g, phymode_bitmap) \ + {CTRY_ ## country_code, reg_dmn_pair_id, #alpha2, max_bw_2g, \ + max_bw_5g, phymode_bitmap} +#endif + /* Alpha2 code for world reg domain */ #define REG_WORLD_ALPHA2 "00" @@ -44,6 +67,26 @@ struct regulatory_rule { uint16_t flags; }; +#if defined(CONFIG_BAND_6GHZ) && defined(COMPILE_REGDB_6G) +/** + * struct regulatory_rule_ext + * @start_freq: start frequency in MHz + * @end_freq: end frequency in MHz + * @max_bw: maximum bandwidth in MHz + * @eirp_power: EIRP power in dBm + * @psd_power: Max PSD power in dBm per MHz + * @flags: regulatory flags + */ +struct regulatory_rule_ext { + uint16_t start_freq; + uint16_t end_freq; + uint16_t max_bw; + uint8_t eirp_power; + int8_t psd_power; + uint16_t flags; +}; +#endif + /** * struct regdomain * @ctl_val: CTL value @@ -63,21 +106,45 @@ struct regdomain { uint8_t reg_rule_id[MAX_REG_RULES]; }; +#if defined(CONFIG_BAND_6GHZ) && defined(COMPILE_REGDB_6G) +/** + * struct sub_6g_regdomain + * @min_bw: Minimum bandwidth in MHz + * @max_bw: Maximum bandwidth in MHz + * @num_reg_rules: number of regulatory rules + * @reg_rules_id: regulatory rule index + */ +struct sub_6g_regdomain { + uint16_t min_bw; + uint16_t max_bw; + uint8_t num_reg_rules; + uint8_t sixg_reg_rule_id[MAX_REG_RULES]; +}; +#endif + /** * struct country_code_to_reg_domain * @country_code: country code * @reg_dmn_pair_id: reg domainpair id + * @reg_6ghz_super_dmn_id: 6GHz super domain id * @alpha2: iso-3166 alpha2 - * @max_bw_2g: maximum 2g bandwidth - * @max_bw_5g: maximum 5g bandwidth + * @max_bw_2g: maximum 2g bandwidth in MHz + * @max_bw_5g: maximum 5g bandwidth in MHz + * @max_bw_6g: maximum 6g bandwidth in MHz * @phymode_bitmap: phymodes not supported */ struct country_code_to_reg_domain { uint16_t country_code; uint16_t reg_dmn_pair_id; +#if defined(CONFIG_BAND_6GHZ) && defined(COMPILE_REGDB_6G) + uint16_t reg_6ghz_super_dmn_id; +#endif uint8_t alpha2[REG_ALPHA2_LEN + 1]; uint16_t max_bw_2g; uint16_t max_bw_5g; +#if defined(CONFIG_BAND_6GHZ) && defined(COMPILE_REGDB_6G) + uint16_t max_bw_6g; +#endif uint16_t phymode_bitmap; }; @@ -93,6 +160,28 @@ struct reg_domain_pair { uint8_t dmn_id_2g; }; +#if defined(CONFIG_BAND_6GHZ) && defined(COMPILE_REGDB_6G) +/** + * struct sixghz_super_to_subdomains + * @reg_6ghz_super_dmn_id: 6G super domain id. + * @reg_domain_6g_id_ap_sp: 6G domain id for SP AP. + * @reg_domain_6g_id_ap_lpi: 6G domain id for LPI AP. + * @reg_domain_6g_id_ap_vlp: 6G domain id for VLP AP. + * @reg_domain_6g_id_client_sp: 6G domain id for clients of the SP AP. + * @reg_domain_6g_id_client_lpi: 6G domain id for clients of the LPI AP. + * @reg_domain_6g_id_client_vlp: 6G domain id for clients of the VLP AP. + */ +struct sixghz_super_to_subdomains { + uint16_t reg_6ghz_super_dmn_id; + uint8_t reg_domain_6g_id_ap_sp; + uint8_t reg_domain_6g_id_ap_lpi; + uint8_t reg_domain_6g_id_ap_vlp; + uint8_t reg_domain_6g_id_client_sp[REG_MAX_CLIENT_TYPE - 1]; + uint8_t reg_domain_6g_id_client_lpi[REG_MAX_CLIENT_TYPE - 1]; + uint8_t reg_domain_6g_id_client_vlp[REG_MAX_CLIENT_TYPE - 1]; +}; +#endif + QDF_STATUS reg_get_num_countries(int *num_countries); QDF_STATUS reg_get_num_reg_dmn_pairs(int *num_reg_dmn);