root/src/libs/compat/openbsd_wlan/net80211/ieee80211_regdomain.h
/*     $OpenBSD: ieee80211_regdomain.h,v 1.9 2016/01/12 09:28:09 stsp Exp $ */

/*
 * Copyright (c) 2004, 2005 Reyk Floeter <reyk@openbsd.org>
 *
 * Permission to use, copy, modify, and 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 _NET80211_IEEE80211_REGDOMAIN_H_
#define _NET80211_IEEE80211_REGDOMAIN_H_

typedef u_int32_t ieee80211_regdomain_t;

enum ieee80211_regdomain {
        DMN_DEFAULT             = 0x00,
        DMN_NULL_WORLD          = 0x03,
        DMN_NULL_ETSIB          = 0x07,
        DMN_NULL_ETSIC          = 0x08,
        DMN_FCC1_FCCA           = 0x10,
        DMN_FCC1_WORLD          = 0x11,
        DMN_FCC2_FCCA           = 0x20,
        DMN_FCC2_WORLD          = 0x21,
        DMN_FCC2_ETSIC          = 0x22,
        DMN_FRANCE_NULL         = 0x31,
        DMN_FCC3_FCCA           = 0x3A,
        DMN_ETSI1_WORLD         = 0x37,
        DMN_ETSI3_ETSIA         = 0x32,
        DMN_ETSI2_WORLD         = 0x35,
        DMN_ETSI3_WORLD         = 0x36,
        DMN_ETSI4_WORLD         = 0x30,
        DMN_ETSI4_ETSIC         = 0x38,
        DMN_ETSI5_WORLD         = 0x39,
        DMN_ETSI6_WORLD         = 0x34,
        DMN_ETSI_NULL           = 0x33,
        DMN_MKK1_MKKA           = 0x40,
        DMN_MKK1_MKKB           = 0x41,
        DMN_APL4_WORLD          = 0x42,
        DMN_MKK2_MKKA           = 0x43,
        DMN_APL_NULL            = 0x44,
        DMN_APL2_WORLD          = 0x45,
        DMN_APL2_APLC           = 0x46,
        DMN_APL3_WORLD          = 0x47,
        DMN_MKK1_FCCA           = 0x48,
        DMN_APL2_APLD           = 0x49,
        DMN_MKK1_MKKA1          = 0x4A,
        DMN_MKK1_MKKA2          = 0x4B,
        DMN_APL1_WORLD          = 0x52,
        DMN_APL1_FCCA           = 0x53,
        DMN_APL1_APLA           = 0x54,
        DMN_APL1_ETSIC          = 0x55,
        DMN_APL2_ETSIC          = 0x56,
        DMN_APL5_WORLD          = 0x58,
        DMN_WOR0_WORLD          = 0x60,
        DMN_WOR1_WORLD          = 0x61,
        DMN_WOR2_WORLD          = 0x62,
        DMN_WOR3_WORLD          = 0x63,
        DMN_WOR4_WORLD          = 0x64,
        DMN_WOR5_ETSIC          = 0x65,
        DMN_WOR01_WORLD         = 0x66,
        DMN_WOR02_WORLD         = 0x67,
        DMN_EU1_WORLD           = 0x68,
        DMN_WOR9_WORLD          = 0x69,
        DMN_WORA_WORLD          = 0x6A,

        DMN_APL1                = 0xf0000001,
        DMN_APL2                = 0xf0000002,
        DMN_APL3                = 0xf0000004,
        DMN_APL4                = 0xf0000008,
        DMN_APL5                = 0xf0000010,
        DMN_ETSI1               = 0xf0000020,
        DMN_ETSI2               = 0xf0000040,
        DMN_ETSI3               = 0xf0000080,
        DMN_ETSI4               = 0xf0000100,
        DMN_ETSI5               = 0xf0000200,
        DMN_ETSI6               = 0xf0000400,
        DMN_ETSIA               = 0xf0000800,
        DMN_ETSIB               = 0xf0001000,
        DMN_ETSIC               = 0xf0002000,
        DMN_FCC1                = 0xf0004000,
        DMN_FCC2                = 0xf0008000,
        DMN_FCC3                = 0xf0010000,
        DMN_FCCA                = 0xf0020000,
        DMN_APLD                = 0xf0040000,
        DMN_MKK1                = 0xf0080000,
        DMN_MKK2                = 0xf0100000,
        DMN_MKKA                = 0xf0200000,
        DMN_NULL                = 0xf0400000,
        DMN_WORLD               = 0xf0800000,
        DMN_DEBUG               = 0xf1000000    /* used for debugging */
};

#define IEEE80211_DMN(_d)       ((_d) & ~0xf0000000)

struct ieee80211_regdomainname {
        u_int32_t       rn_domain;
        const char      *rn_name;
};

#define IEEE80211_REGDOMAIN_NAMES {                                     \
        { DMN_APL1,                 "APL1" },                           \
        { DMN_APL1_APLA,            "APL1A" },                          \
        { DMN_APL1_ETSIC,           "APL1_ETSIC" },                     \
        { DMN_APL1_FCCA,            "APL1_FCCA" },                      \
        { DMN_APL1_WORLD,           "APL1W" },                          \
        { DMN_APL2,                 "APL2" },                           \
        { DMN_APL2_APLC,            "APL2C" },                          \
        { DMN_APL2_APLD,            "APL2D" },                          \
        { DMN_APL2_ETSIC,           "APL2_ETSIC" },                     \
        { DMN_APL2_WORLD,           "APL2W" },                          \
        { DMN_APL3,                 "APL3" },                           \
        { DMN_APL3_WORLD,           "APL3W" },                          \
        { DMN_APL4,                 "APL4" },                           \
        { DMN_APL4_WORLD,           "APL4W" },                          \
        { DMN_APL5,                 "APL5" },                           \
        { DMN_APL5_WORLD,           "APL5W" },                          \
        { DMN_APLD,                 "APLD" },                           \
        { DMN_APL_NULL,             "APL" },                            \
        { DMN_DEBUG,                "DEBUG" },                          \
        { DMN_ETSI1,                "ETSI1" },                          \
        { DMN_ETSI1_WORLD,          "ETSI1W" },                         \
        { DMN_ETSI2,                "ETSI2" },                          \
        { DMN_ETSI2_WORLD,          "ETSI2W" },                         \
        { DMN_ETSI3,                "ETSI3" },                          \
        { DMN_ETSI3_ETSIA,          "ETSI3A" },                         \
        { DMN_ETSI3_WORLD,          "ETSI3W," },                        \
        { DMN_ETSI4,                "ETSI4" },                          \
        { DMN_ETSI4_ETSIC,          "ETSI4C" },                         \
        { DMN_ETSI4_WORLD,          "ETSI4W" },                         \
        { DMN_ETSI5,                "ETSI5" },                          \
        { DMN_ETSI5_WORLD,          "ETSI5W" },                         \
        { DMN_ETSI6,                "ETSI6" },                          \
        { DMN_ETSI6_WORLD,          "ETSI6W" },                         \
        { DMN_ETSIA,                "ETSIA" },                          \
        { DMN_ETSIB,                "ETSIB" },                          \
        { DMN_ETSIC,                "ETSIC" },                          \
        { DMN_ETSI_NULL,            "ETSI" },                           \
        { DMN_EU1_WORLD,            "EU1W" },                           \
        { DMN_FCC1,                 "FCC1" },                           \
        { DMN_FCC1_FCCA,            "FCC1A" },                          \
        { DMN_FCC1_WORLD,           "FCC1W" },                          \
        { DMN_FCC2,                 "FCC2" },                           \
        { DMN_FCC2_ETSIC,           "FCC2C" },                          \
        { DMN_FCC2_FCCA,            "FCC2A" },                          \
        { DMN_FCC2_WORLD,           "FCC2W" },                          \
        { DMN_FCC3,                 "FCC3" },                           \
        { DMN_FCC3_FCCA,            "FCC3A" },                          \
        { DMN_FCCA,                 "FCCA" },                           \
        { DMN_FRANCE_NULL,          "FRANCE" },                         \
        { DMN_MKK1,                 "MKK1" },                           \
        { DMN_MKK1_FCCA,            "MKK1_FCCA" },                      \
        { DMN_MKK1_MKKA,            "MKK1A" },                          \
        { DMN_MKK1_MKKA1,           "MKK1A1" },                         \
        { DMN_MKK1_MKKA2,           "MKK1A2" },                         \
        { DMN_MKK1_MKKB,            "MKK1B" },                          \
        { DMN_MKK2,                 "MKK2" },                           \
        { DMN_MKK2_MKKA,            "MKK2A" },                          \
        { DMN_MKKA,                 "MKKA" },                           \
        { DMN_DEFAULT,              "NONE" },                           \
        { DMN_NULL,                 "NONE" },                           \
        { DMN_NULL_ETSIB,           "ETSIB" },                          \
        { DMN_NULL_ETSIC,           "ETSIC" },                          \
        { DMN_WOR01_WORLD,          "WOR01W" },                         \
        { DMN_WOR02_WORLD,          "WOR02W" },                         \
        { DMN_WOR0_WORLD,           "WOR0W" },                          \
        { DMN_WOR1_WORLD,           "WOR1W" },                          \
        { DMN_WOR2_WORLD,           "WOR2W" },                          \
        { DMN_WOR3_WORLD,           "WOR3W" },                          \
        { DMN_WOR4_WORLD,           "WOR4W" },                          \
        { DMN_WOR5_ETSIC,           "WOR5_ETSIC" },                     \
        { DMN_WOR9_WORLD,           "WOR9W" },                          \
        { DMN_WORA_WORLD,           "WORAW" },                          \
        { DMN_NULL_WORLD,           "WORLD" },                          \
        { DMN_WORLD,                "WORLD" }                           \
}

struct ieee80211_regdomainmap {
        u_int16_t       rm_domain;
        u_int32_t       rm_domain_5ghz;
        u_int32_t       rm_domain_2ghz;
};

#define IEEE80211_REGDOMAIN_MAP {                                       \
        { DMN_DEFAULT,          DMN_DEBUG,      DMN_DEBUG },            \
        { DMN_NULL_WORLD,       DMN_NULL,       DMN_WORLD },            \
        { DMN_NULL_ETSIB,       DMN_NULL,       DMN_ETSIB },            \
        { DMN_NULL_ETSIC,       DMN_NULL,       DMN_ETSIC },            \
        { DMN_FCC1_FCCA,        DMN_FCC1,       DMN_FCCA },             \
        { DMN_FCC1_WORLD,       DMN_FCC1,       DMN_WORLD },            \
        { DMN_FCC2_FCCA,        DMN_FCC2,       DMN_FCCA },             \
        { DMN_FCC2_WORLD,       DMN_FCC2,       DMN_WORLD },            \
        { DMN_FCC2_ETSIC,       DMN_FCC2,       DMN_ETSIC },            \
        { DMN_FRANCE_NULL,      DMN_ETSI3,      DMN_ETSI3 },            \
        { DMN_FCC3_FCCA,        DMN_FCC3,       DMN_WORLD },            \
        { DMN_ETSI1_WORLD,      DMN_ETSI1,      DMN_WORLD },            \
        { DMN_ETSI3_ETSIA,      DMN_ETSI3,      DMN_WORLD },            \
        { DMN_ETSI2_WORLD,      DMN_ETSI2,      DMN_WORLD },            \
        { DMN_ETSI3_WORLD,      DMN_ETSI3,      DMN_WORLD },            \
        { DMN_ETSI4_WORLD,      DMN_ETSI4,      DMN_WORLD },            \
        { DMN_ETSI4_ETSIC,      DMN_ETSI4,      DMN_ETSIC },            \
        { DMN_ETSI5_WORLD,      DMN_ETSI5,      DMN_WORLD },            \
        { DMN_ETSI6_WORLD,      DMN_ETSI6,      DMN_WORLD },            \
        { DMN_ETSI_NULL,        DMN_ETSI1,      DMN_ETSI1 },            \
        { DMN_MKK1_MKKA,        DMN_MKK1,       DMN_MKKA },             \
        { DMN_MKK1_MKKB,        DMN_MKK1,       DMN_MKKA },             \
        { DMN_APL4_WORLD,       DMN_APL4,       DMN_WORLD },            \
        { DMN_MKK2_MKKA,        DMN_MKK2,       DMN_MKKA },             \
        { DMN_APL_NULL,         DMN_APL1,       DMN_NULL },             \
        { DMN_APL2_WORLD,       DMN_APL2,       DMN_WORLD },            \
        { DMN_APL2_APLC,        DMN_APL2,       DMN_WORLD },            \
        { DMN_APL3_WORLD,       DMN_APL3,       DMN_WORLD },            \
        { DMN_MKK1_FCCA,        DMN_MKK1,       DMN_FCCA },             \
        { DMN_APL2_APLD,        DMN_APL2,       DMN_APLD },             \
        { DMN_MKK1_MKKA1,       DMN_MKK1,       DMN_MKKA },             \
        { DMN_MKK1_MKKA2,       DMN_MKK1,       DMN_MKKA },             \
        { DMN_APL1_WORLD,       DMN_APL1,       DMN_WORLD },            \
        { DMN_APL1_FCCA,        DMN_APL1,       DMN_FCCA },             \
        { DMN_APL1_APLA,        DMN_APL1,       DMN_WORLD },            \
        { DMN_APL1_ETSIC,       DMN_APL1,       DMN_ETSIC },            \
        { DMN_APL2_ETSIC,       DMN_APL2,       DMN_ETSIC },            \
        { DMN_APL5_WORLD,       DMN_APL5,       DMN_WORLD },            \
        { DMN_WOR0_WORLD,       DMN_WORLD,      DMN_WORLD },            \
        { DMN_WOR1_WORLD,       DMN_WORLD,      DMN_WORLD },            \
        { DMN_WOR2_WORLD,       DMN_WORLD,      DMN_WORLD },            \
        { DMN_WOR3_WORLD,       DMN_WORLD,      DMN_WORLD },            \
        { DMN_WOR4_WORLD,       DMN_WORLD,      DMN_WORLD },            \
        { DMN_WOR5_ETSIC,       DMN_WORLD,      DMN_WORLD },            \
        { DMN_WOR01_WORLD,      DMN_WORLD,      DMN_WORLD },            \
        { DMN_WOR02_WORLD,      DMN_WORLD,      DMN_WORLD },            \
        { DMN_EU1_WORLD,        DMN_ETSI1,      DMN_WORLD },            \
        { DMN_WOR9_WORLD,       DMN_WORLD,      DMN_WORLD },            \
        { DMN_WORA_WORLD,       DMN_WORLD,      DMN_WORLD },            \
}

enum ieee80211_countrycode {
        CTRY_DEFAULT            = 0,   /* Default domain (NA) */
        CTRY_ALBANIA            = 8,   /* Albania */
        CTRY_ALGERIA            = 12,  /* Algeria */
        CTRY_ARGENTINA          = 32,  /* Argentina */
        CTRY_ARMENIA            = 51,  /* Armenia */
        CTRY_AUSTRALIA          = 36,  /* Australia */
        CTRY_AUSTRIA            = 40,  /* Austria */
        CTRY_AZERBAIJAN         = 31,  /* Azerbaijan */
        CTRY_BAHRAIN            = 48,  /* Bahrain */
        CTRY_BELARUS            = 112, /* Belarus */
        CTRY_BELGIUM            = 56,  /* Belgium */
        CTRY_BELIZE             = 84,  /* Belize */
        CTRY_BOLIVIA            = 68,  /* Bolivia */
        CTRY_BRAZIL             = 76,  /* Brazil */
        CTRY_BRUNEI_DARUSSALAM  = 96,  /* Brunei Darussalam */
        CTRY_BULGARIA           = 100, /* Bulgaria */
        CTRY_CANADA             = 124, /* Canada */
        CTRY_CHILE              = 152, /* Chile */
        CTRY_CHINA              = 156, /* People's Republic of China */
        CTRY_COLOMBIA           = 170, /* Colombia */
        CTRY_COSTA_RICA         = 188, /* Costa Rica */
        CTRY_CROATIA            = 191, /* Croatia */
        CTRY_CYPRUS             = 196, /* Cyprus */
        CTRY_CZECH              = 203, /* Czech Republic */
        CTRY_DENMARK            = 208, /* Denmark */
        CTRY_DOMINICAN_REPUBLIC = 214, /* Dominican Republic */
        CTRY_ECUADOR            = 218, /* Ecuador */
        CTRY_EGYPT              = 818, /* Egypt */
        CTRY_EL_SALVADOR        = 222, /* El Salvador */
        CTRY_ESTONIA            = 233, /* Estonia */
        CTRY_FAEROE_ISLANDS     = 234, /* Faeroe Islands */
        CTRY_FINLAND            = 246, /* Finland */
        CTRY_FRANCE             = 250, /* France */
        CTRY_FRANCE2            = 255, /* France2 */
        CTRY_GEORGIA            = 268, /* Georgia */
        CTRY_GERMANY            = 276, /* Germany */
        CTRY_GREECE             = 300, /* Greece */
        CTRY_GUATEMALA          = 320, /* Guatemala */
        CTRY_HONDURAS           = 340, /* Honduras */
        CTRY_HONG_KONG          = 344, /* Hong Kong S.A.R., P.R.C. */
        CTRY_HUNGARY            = 348, /* Hungary */
        CTRY_ICELAND            = 352, /* Iceland */
        CTRY_INDIA              = 356, /* India */
        CTRY_INDONESIA          = 360, /* Indonesia */
        CTRY_IRAN               = 364, /* Iran */
        CTRY_IRAQ               = 368, /* Iraq */
        CTRY_IRELAND            = 372, /* Ireland */
        CTRY_ISRAEL             = 376, /* Israel */
        CTRY_ITALY              = 380, /* Italy */
        CTRY_JAMAICA            = 388, /* Jamaica */
        CTRY_JAPAN              = 392, /* Japan */
        CTRY_JAPAN1             = 393, /* Japan (JP1) */
        CTRY_JAPAN2             = 394, /* Japan (JP0) */
        CTRY_JAPAN3             = 395, /* Japan (JP1-1) */
        CTRY_JAPAN4             = 396, /* Japan (JE1) */
        CTRY_JAPAN5             = 397, /* Japan (JE2) */
        CTRY_JORDAN             = 400, /* Jordan */
        CTRY_KAZAKHSTAN         = 398, /* Kazakhstan */
        CTRY_KENYA              = 404, /* Kenya */
        CTRY_KOREA_NORTH        = 408, /* North Korea */
        CTRY_KOREA_ROC          = 410, /* South Korea */
        CTRY_KOREA_ROC2         = 411, /* South Korea */
        CTRY_KUWAIT             = 414, /* Kuwait */
        CTRY_LATVIA             = 428, /* Latvia */
        CTRY_LEBANON            = 422, /* Lebanon */
        CTRY_LIBYA              = 434, /* Libya */
        CTRY_LIECHTENSTEIN      = 438, /* Liechtenstein */
        CTRY_LITHUANIA          = 440, /* Lithuania */
        CTRY_LUXEMBOURG         = 442, /* Luxembourg */
        CTRY_MACAU              = 446, /* Macau */
        CTRY_MACEDONIA          = 807, /* Republic of Macedonia */
        CTRY_MALAYSIA           = 458, /* Malaysia */
        CTRY_MEXICO             = 484, /* Mexico */
        CTRY_MONACO             = 492, /* Principality of Monaco */
        CTRY_MOROCCO            = 504, /* Morocco */
        CTRY_NETHERLANDS        = 528, /* Netherlands */
        CTRY_NEW_ZEALAND        = 554, /* New Zealand */
        CTRY_NICARAGUA          = 558, /* Nicaragua */
        CTRY_NORWAY             = 578, /* Norway */
        CTRY_OMAN               = 512, /* Oman */
        CTRY_PAKISTAN           = 586, /* Islamic Republic of Pakistan */
        CTRY_PANAMA             = 591, /* Panama */
        CTRY_PARAGUAY           = 600, /* Paraguay */
        CTRY_PERU               = 604, /* Peru */
        CTRY_PHILIPPINES        = 608, /* Republic of the Philippines */
        CTRY_POLAND             = 616, /* Poland */
        CTRY_PORTUGAL           = 620, /* Portugal */
        CTRY_PUERTO_RICO        = 630, /* Puerto Rico */
        CTRY_QATAR              = 634, /* Qatar */
        CTRY_ROMANIA            = 642, /* Romania */
        CTRY_RUSSIA             = 643, /* Russia */
        CTRY_SAUDI_ARABIA       = 682, /* Saudi Arabia */
        CTRY_SINGAPORE          = 702, /* Singapore */
        CTRY_SLOVAKIA           = 703, /* Slovak Republic */
        CTRY_SLOVENIA           = 705, /* Slovenia */
        CTRY_SOUTH_AFRICA       = 710, /* South Africa */
        CTRY_SPAIN              = 724, /* Spain */
        CTRY_SRI_LANKA          = 728, /* Sri Lanka */
        CTRY_SWEDEN             = 752, /* Sweden */
        CTRY_SWITZERLAND        = 756, /* Switzerland */
        CTRY_SYRIA              = 760, /* Syria */
        CTRY_TAIWAN             = 158, /* Taiwan */
        CTRY_THAILAND           = 764, /* Thailand */
        CTRY_TRINIDAD_Y_TOBAGO  = 780, /* Trinidad y Tobago */
        CTRY_TUNISIA            = 788, /* Tunisia */
        CTRY_TURKEY             = 792, /* Turkey */
        CTRY_UAE                = 784, /* U.A.E. */
        CTRY_UKRAINE            = 804, /* Ukraine */
        CTRY_UNITED_KINGDOM     = 826, /* United Kingdom */
        CTRY_UNITED_STATES      = 840, /* United States */
        CTRY_URUGUAY            = 858, /* Uruguay */
        CTRY_UZBEKISTAN         = 860, /* Uzbekistan */
        CTRY_VENEZUELA          = 862, /* Venezuela */
        CTRY_VIET_NAM           = 704, /* Viet Nam */
        CTRY_YEMEN              = 887, /* Yemen */
        CTRY_ZIMBABWE           = 716, /* Zimbabwe */
};

struct ieee80211_countryname {
        u_int16_t       cn_code;
        const char      *cn_name;
        u_int32_t       cn_domain;
};

#define IEEE80211_REGDOMAIN_COUNTRY_NAMES {                             \
        { CTRY_DEFAULT,            "00", DMN_DEFAULT },                 \
        { CTRY_UAE,                "ae", DMN_NULL_WORLD },              \
        { CTRY_ALBANIA,            "al", DMN_NULL_WORLD },              \
        { CTRY_ARMENIA,            "am", DMN_ETSI4_WORLD },             \
        { CTRY_ARGENTINA,          "ar", DMN_APL3_WORLD },              \
        { CTRY_AUSTRIA,            "at", DMN_ETSI5_WORLD },             \
        { CTRY_AUSTRALIA,          "au", DMN_FCC2_WORLD },              \
        { CTRY_AZERBAIJAN,         "az", DMN_ETSI4_WORLD },             \
        { CTRY_BELGIUM,            "be", DMN_ETSI4_WORLD },             \
        { CTRY_BULGARIA,           "bg", DMN_ETSI6_WORLD },             \
        { CTRY_BAHRAIN,            "bh", DMN_NULL_WORLD },              \
        { CTRY_BRUNEI_DARUSSALAM,  "bn", DMN_APL1_WORLD },              \
        { CTRY_BOLIVIA,            "bo", DMN_APL1_ETSIC },              \
        { CTRY_BRAZIL,             "br", DMN_NULL_ETSIC },              \
        { CTRY_BELARUS,            "by", DMN_NULL_WORLD },              \
        { CTRY_BELIZE,             "bz", DMN_NULL_ETSIC },              \
        { CTRY_CANADA,             "ca", DMN_FCC2_FCCA },               \
        { CTRY_SWITZERLAND,        "ch", DMN_ETSI2_WORLD },             \
        { CTRY_CHILE,              "cl", DMN_APL5_WORLD },              \
        { CTRY_CHINA,              "cn", DMN_APL1_WORLD },              \
        { CTRY_COLOMBIA,           "co", DMN_FCC1_FCCA },               \
        { CTRY_COSTA_RICA,         "cr", DMN_NULL_WORLD },              \
        { CTRY_CYPRUS,             "cy", DMN_ETSI1_WORLD },             \
        { CTRY_CZECH,              "cz", DMN_ETSI3_WORLD },             \
        { CTRY_GERMANY,            "de", DMN_ETSI1_WORLD },             \
        { CTRY_DENMARK,            "dk", DMN_ETSI1_WORLD },             \
        { CTRY_DOMINICAN_REPUBLIC, "do", DMN_FCC1_FCCA },               \
        { CTRY_ALGERIA,            "dz", DMN_NULL_WORLD },              \
        { CTRY_ECUADOR,            "ec", DMN_NULL_WORLD },              \
        { CTRY_ESTONIA,            "ee", DMN_ETSI1_WORLD },             \
        { CTRY_EGYPT,              "eg", DMN_NULL_WORLD },              \
        { CTRY_SPAIN,              "es", DMN_ETSI1_WORLD },             \
        { CTRY_FRANCE2,            "f2", DMN_ETSI3_WORLD },             \
        { CTRY_FINLAND,            "fi", DMN_ETSI1_WORLD },             \
        { CTRY_FAEROE_ISLANDS,     "fo", DMN_NULL_WORLD },              \
        { CTRY_FRANCE,             "fr", DMN_ETSI3_WORLD },             \
        { CTRY_GEORGIA,            "ge", DMN_ETSI4_WORLD },             \
        { CTRY_GREECE,             "gr", DMN_NULL_WORLD },              \
        { CTRY_GUATEMALA,          "gt", DMN_FCC1_FCCA },               \
        { CTRY_HONG_KONG,          "hk", DMN_FCC2_WORLD },              \
        { CTRY_HONDURAS,           "hn", DMN_NULL_WORLD },              \
        { CTRY_CROATIA,            "hr", DMN_ETSI3_WORLD },             \
        { CTRY_HUNGARY,            "hu", DMN_ETSI2_WORLD },             \
        { CTRY_INDONESIA,          "id", DMN_NULL_WORLD },              \
        { CTRY_IRELAND,            "ie", DMN_ETSI1_WORLD },             \
        { CTRY_ISRAEL,             "il", DMN_NULL_WORLD },              \
        { CTRY_INDIA,              "in", DMN_NULL_WORLD },              \
        { CTRY_IRAQ,               "iq", DMN_NULL_WORLD },              \
        { CTRY_IRAN,               "ir", DMN_APL1_WORLD },              \
        { CTRY_ICELAND,            "is", DMN_ETSI1_WORLD },             \
        { CTRY_ITALY,              "it", DMN_ETSI1_WORLD },             \
        { CTRY_JAPAN1,             "j1", DMN_MKK1_MKKB },               \
        { CTRY_JAPAN2,             "j2", DMN_MKK1_FCCA },               \
        { CTRY_JAPAN3,             "j3", DMN_MKK2_MKKA },               \
        { CTRY_JAPAN4,             "j4", DMN_MKK1_MKKA1 },              \
        { CTRY_JAPAN5,             "j5", DMN_MKK1_MKKA2 },              \
        { CTRY_JAMAICA,            "jm", DMN_NULL_WORLD },              \
        { CTRY_JORDAN,             "jo", DMN_NULL_WORLD },              \
        { CTRY_JAPAN,              "jp", DMN_MKK1_MKKA },               \
        { CTRY_KOREA_ROC2,         "k2", DMN_APL2_APLD },               \
        { CTRY_KENYA,              "ke", DMN_NULL_WORLD },              \
        { CTRY_KOREA_NORTH,        "kp", DMN_APL2_WORLD },              \
        { CTRY_KOREA_ROC,          "kr", DMN_APL2_WORLD },              \
        { CTRY_KUWAIT,             "kw", DMN_NULL_WORLD },              \
        { CTRY_KAZAKHSTAN,         "kz", DMN_NULL_WORLD },              \
        { CTRY_LEBANON,            "lb", DMN_NULL_WORLD },              \
        { CTRY_LIECHTENSTEIN,      "li", DMN_ETSI2_WORLD },             \
        { CTRY_SRI_LANKA,          "lk", DMN_NULL_WORLD },              \
        { CTRY_LITHUANIA,          "lt", DMN_ETSI1_WORLD },             \
        { CTRY_LUXEMBOURG,         "lu", DMN_ETSI1_WORLD },             \
        { CTRY_LATVIA,             "lv", DMN_NULL_WORLD },              \
        { CTRY_LIBYA,              "ly", DMN_NULL_WORLD },              \
        { CTRY_MOROCCO,            "ma", DMN_NULL_WORLD },              \
        { CTRY_MONACO,             "mc", DMN_ETSI4_WORLD },             \
        { CTRY_MACEDONIA,          "mk", DMN_NULL_WORLD },              \
        { CTRY_MACAU,              "mo", DMN_FCC2_WORLD },              \
        { CTRY_MEXICO,             "mx", DMN_FCC1_FCCA },               \
        { CTRY_MALAYSIA,           "my", DMN_NULL_WORLD },              \
        { CTRY_NICARAGUA,          "ni", DMN_NULL_WORLD },              \
        { CTRY_NETHERLANDS,        "nl", DMN_ETSI1_WORLD },             \
        { CTRY_NORWAY,             "no", DMN_ETSI1_WORLD },             \
        { CTRY_NEW_ZEALAND,        "nz", DMN_FCC2_ETSIC },              \
        { CTRY_OMAN,               "om", DMN_NULL_WORLD },              \
        { CTRY_PANAMA,             "pa", DMN_FCC1_FCCA },               \
        { CTRY_PERU,               "pe", DMN_NULL_WORLD },              \
        { CTRY_PHILIPPINES,        "ph", DMN_FCC1_WORLD },              \
        { CTRY_PAKISTAN,           "pk", DMN_NULL_WORLD },              \
        { CTRY_POLAND,             "pl", DMN_ETSI1_WORLD },             \
        { CTRY_PUERTO_RICO,        "pr", DMN_FCC1_FCCA },               \
        { CTRY_PORTUGAL,           "pt", DMN_ETSI1_WORLD },             \
        { CTRY_PARAGUAY,           "py", DMN_NULL_WORLD },              \
        { CTRY_QATAR,              "qa", DMN_NULL_WORLD },              \
        { CTRY_ROMANIA,            "ro", DMN_NULL_WORLD },              \
        { CTRY_RUSSIA,             "ru", DMN_NULL_WORLD },              \
        { CTRY_SAUDI_ARABIA,       "sa", DMN_NULL_WORLD },              \
        { CTRY_SWEDEN,             "se", DMN_ETSI1_WORLD },             \
        { CTRY_SINGAPORE,          "sg", DMN_APL4_WORLD },              \
        { CTRY_SLOVENIA,           "si", DMN_ETSI1_WORLD },             \
        { CTRY_SLOVAKIA,           "sk", DMN_ETSI3_WORLD },             \
        { CTRY_EL_SALVADOR,        "sv", DMN_NULL_WORLD },              \
        { CTRY_SYRIA,              "sy", DMN_NULL_WORLD },              \
        { CTRY_THAILAND,           "th", DMN_APL2_WORLD },              \
        { CTRY_TUNISIA,            "tn", DMN_ETSI3_WORLD },             \
        { CTRY_TURKEY,             "tr", DMN_ETSI3_WORLD },             \
        { CTRY_TRINIDAD_Y_TOBAGO,  "tt", DMN_ETSI4_WORLD },             \
        { CTRY_TAIWAN,             "tw", DMN_APL3_WORLD },              \
        { CTRY_UKRAINE,            "ua", DMN_NULL_WORLD },              \
        { CTRY_UNITED_KINGDOM,     "uk", DMN_ETSI1_WORLD },             \
        { CTRY_UNITED_STATES,      "us", DMN_FCC1_FCCA },               \
        { CTRY_URUGUAY,            "uy", DMN_APL2_WORLD },              \
        { CTRY_UZBEKISTAN,         "uz", DMN_FCC3_FCCA },               \
        { CTRY_VENEZUELA,          "ve", DMN_APL2_ETSIC },              \
        { CTRY_VIET_NAM,           "vn", DMN_NULL_WORLD },              \
        { CTRY_YEMEN,              "ye", DMN_NULL_WORLD },              \
        { CTRY_SOUTH_AFRICA,       "za", DMN_ETSI1_WORLD },             \
        { CTRY_ZIMBABWE,           "zw", DMN_NULL_WORLD },              \
}

enum ieee80211_ctl {
        CTL_11A         = 0x00,
        CTL_11B         = 0x01,
        CTL_11G         = 0x02,
        CTL_TURBO       = 0x03,
        CTL_TURBO_G     = 0x04,
        CTL_FCC         = 0x10,
        CTL_ETSI        = 0x30,
        CTL_MKK         = 0x40,
        CTL_NONE        = 0xff
};

#define IEEE80211_CHANNELS_2GHZ_MIN     2412    /* 2GHz channel 1 */
#define IEEE80211_CHANNELS_2GHZ_MAX     2732    /* 2GHz channel 26 */

struct ieee80211_regchannel {
        u_int16_t       rc_channel;
        u_int32_t       rc_domain;
        u_int32_t       rc_mode;
};

#define IEEE80211_CHANNELS_2GHZ {                                       \
        { 2412, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2417, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2422, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2427, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2432, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2437, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2442, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2447, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2452, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2457, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2462, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2467, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2472, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                                                                        \
        { 2432, DMN_ETSIB, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2442, DMN_ETSIB, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                                                                        \
        { 2412, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2417, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2422, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2427, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2432, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2442, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2447, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2452, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2457, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2462, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2467, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2472, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                                                                        \
        { 2412, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2417, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2422, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2427, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2432, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2442, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2447, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2452, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2457, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2462, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                                                                        \
        { 2412, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2417, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2422, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2427, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2432, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2437, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2442, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2447, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2452, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2457, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2462, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2467, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2472, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
        { 2484, DMN_MKKA, IEEE80211_CHAN_CCK },                         \
                                                                        \
        { 2412, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2417, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2422, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2427, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2432, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2442, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2447, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2452, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2457, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2462, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2467, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
        { 2472, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
}

#define IEEE80211_CHANNELS_5GHZ_MIN     5005    /* 5GHz channel 1 */
#define IEEE80211_CHANNELS_5GHZ_MAX     6100    /* 5GHz channel 220 */

#define IEEE80211_CHANNELS_5GHZ {                                       \
        { 5745, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
        { 5765, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
        { 5785, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
        { 5805, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
        { 5825, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
                                                                        \
        { 5745, DMN_APL2, IEEE80211_CHAN_OFDM },                        \
        { 5765, DMN_APL2, IEEE80211_CHAN_OFDM },                        \
        { 5785, DMN_APL2, IEEE80211_CHAN_OFDM },                        \
        { 5805, DMN_APL2, IEEE80211_CHAN_OFDM },                        \
                                                                        \
        { 5280, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
        { 5300, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
        { 5320, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
        { 5745, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
        { 5765, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
        { 5785, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
        { 5805, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
                                                                        \
        { 5180, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
        { 5200, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
        { 5220, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
        { 5240, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
        { 5745, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
        { 5765, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
        { 5785, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
        { 5805, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
        { 5825, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
                                                                        \
        { 5745, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
        { 5765, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
        { 5785, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
        { 5805, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
        { 5825, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
                                                                        \
        { 5180, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5200, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5220, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5240, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5260, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5280, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5300, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5320, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5500, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5520, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5540, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5560, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5580, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5600, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5620, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5640, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5660, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5680, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
        { 5700, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                                                                        \
        { 5180, DMN_ETSI2, IEEE80211_CHAN_OFDM },                       \
        { 5200, DMN_ETSI2, IEEE80211_CHAN_OFDM },                       \
        { 5220, DMN_ETSI2, IEEE80211_CHAN_OFDM },                       \
        { 5240, DMN_ETSI2, IEEE80211_CHAN_OFDM },                       \
                                                                        \
        { 5180, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
        { 5200, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
        { 5220, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
        { 5240, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
        { 5260, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
        { 5280, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
        { 5300, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
        { 5320, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
                                                                        \
        { 5180, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
        { 5200, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
        { 5220, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
        { 5240, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
        { 5260, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
        { 5280, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
        { 5300, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
        { 5320, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
                                                                        \
        { 5180, DMN_ETSI5, IEEE80211_CHAN_OFDM },                       \
        { 5200, DMN_ETSI5, IEEE80211_CHAN_OFDM },                       \
        { 5220, DMN_ETSI5, IEEE80211_CHAN_OFDM },                       \
        { 5240, DMN_ETSI5, IEEE80211_CHAN_OFDM },                       \
                                                                        \
        { 5180, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5200, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5220, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5240, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5260, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5280, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5500, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5520, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5540, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5560, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5580, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5600, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5620, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5640, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5660, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5680, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
        { 5700, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                                                                        \
        { 5180, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
        { 5200, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
        { 5220, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
        { 5240, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
        { 5260, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
        { 5280, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
        { 5300, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
        { 5320, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
        { 5745, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
        { 5765, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
        { 5785, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
        { 5805, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
        { 5825, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                                                                        \
        { 5180, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
        { 5200, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
        { 5220, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
        { 5240, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
        { 5260, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
        { 5280, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
        { 5300, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
        { 5320, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
        { 5745, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
        { 5765, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
        { 5785, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
        { 5805, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
        { 5825, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                                                                        \
        { 5180, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5200, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5220, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5240, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5260, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5280, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5300, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5320, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5500, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5520, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5540, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5560, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5580, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5600, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5620, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5640, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5660, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5680, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5700, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5745, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5765, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5785, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5805, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
        { 5825, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                                                                        \
        { 5170, DMN_MKK1, IEEE80211_CHAN_OFDM },                        \
        { 5190, DMN_MKK1, IEEE80211_CHAN_OFDM },                        \
        { 5210, DMN_MKK1, IEEE80211_CHAN_OFDM },                        \
        { 5230, DMN_MKK1, IEEE80211_CHAN_OFDM },                        \
                                                                        \
        { 5040, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
        { 5060, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
        { 5080, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
        { 5170, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
        { 5190, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
        { 5210, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
        { 5230, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
                                                                        \
        { 5180, DMN_WORLD, IEEE80211_CHAN_OFDM },                       \
        { 5200, DMN_WORLD, IEEE80211_CHAN_OFDM },                       \
        { 5220, DMN_WORLD, IEEE80211_CHAN_OFDM },                       \
        { 5240, DMN_WORLD, IEEE80211_CHAN_OFDM },                       \
}

__BEGIN_DECLS

extern u_int16_t         ieee80211_name2countrycode(const char *);
extern u_int32_t         ieee80211_name2regdomain(const char *);
extern const char       *ieee80211_countrycode2name(u_int16_t);
extern const char       *ieee80211_regdomain2name(u_int32_t);
extern u_int32_t         ieee80211_regdomain2flag(u_int16_t, u_int16_t);
extern u_int32_t         ieee80211_countrycode2regdomain(u_int16_t);

__END_DECLS

#endif /* _NET80211_IEEE80211_REGDOMAIN_H_ */