The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/net80211/ieee80211_regdomain.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*     $OpenBSD: ieee80211_regdomain.h,v 1.9 2016/01/12 09:28:09 stsp Exp $ */
    2 
    3 /*
    4  * Copyright (c) 2004, 2005 Reyk Floeter <reyk@openbsd.org>
    5  *
    6  * Permission to use, copy, modify, and distribute this software for any
    7  * purpose with or without fee is hereby granted, provided that the above
    8  * copyright notice and this permission notice appear in all copies.
    9  *
   10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
   11  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   12  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
   13  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   14  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
   15  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
   16  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   17  */
   18 
   19 #ifndef _NET80211_IEEE80211_REGDOMAIN_H_
   20 #define _NET80211_IEEE80211_REGDOMAIN_H_
   21 
   22 typedef u_int32_t ieee80211_regdomain_t;
   23 
   24 enum ieee80211_regdomain {
   25         DMN_DEFAULT             = 0x00,
   26         DMN_NULL_WORLD          = 0x03,
   27         DMN_NULL_ETSIB          = 0x07,
   28         DMN_NULL_ETSIC          = 0x08,
   29         DMN_FCC1_FCCA           = 0x10,
   30         DMN_FCC1_WORLD          = 0x11,
   31         DMN_FCC2_FCCA           = 0x20,
   32         DMN_FCC2_WORLD          = 0x21,
   33         DMN_FCC2_ETSIC          = 0x22,
   34         DMN_FRANCE_NULL         = 0x31,
   35         DMN_FCC3_FCCA           = 0x3A,
   36         DMN_ETSI1_WORLD         = 0x37,
   37         DMN_ETSI3_ETSIA         = 0x32,
   38         DMN_ETSI2_WORLD         = 0x35,
   39         DMN_ETSI3_WORLD         = 0x36,
   40         DMN_ETSI4_WORLD         = 0x30,
   41         DMN_ETSI4_ETSIC         = 0x38,
   42         DMN_ETSI5_WORLD         = 0x39,
   43         DMN_ETSI6_WORLD         = 0x34,
   44         DMN_ETSI_NULL           = 0x33,
   45         DMN_MKK1_MKKA           = 0x40,
   46         DMN_MKK1_MKKB           = 0x41,
   47         DMN_APL4_WORLD          = 0x42,
   48         DMN_MKK2_MKKA           = 0x43,
   49         DMN_APL_NULL            = 0x44,
   50         DMN_APL2_WORLD          = 0x45,
   51         DMN_APL2_APLC           = 0x46,
   52         DMN_APL3_WORLD          = 0x47,
   53         DMN_MKK1_FCCA           = 0x48,
   54         DMN_APL2_APLD           = 0x49,
   55         DMN_MKK1_MKKA1          = 0x4A,
   56         DMN_MKK1_MKKA2          = 0x4B,
   57         DMN_APL1_WORLD          = 0x52,
   58         DMN_APL1_FCCA           = 0x53,
   59         DMN_APL1_APLA           = 0x54,
   60         DMN_APL1_ETSIC          = 0x55,
   61         DMN_APL2_ETSIC          = 0x56,
   62         DMN_APL5_WORLD          = 0x58,
   63         DMN_WOR0_WORLD          = 0x60,
   64         DMN_WOR1_WORLD          = 0x61,
   65         DMN_WOR2_WORLD          = 0x62,
   66         DMN_WOR3_WORLD          = 0x63,
   67         DMN_WOR4_WORLD          = 0x64,
   68         DMN_WOR5_ETSIC          = 0x65,
   69         DMN_WOR01_WORLD         = 0x66,
   70         DMN_WOR02_WORLD         = 0x67,
   71         DMN_EU1_WORLD           = 0x68,
   72         DMN_WOR9_WORLD          = 0x69,
   73         DMN_WORA_WORLD          = 0x6A,
   74 
   75         DMN_APL1                = 0xf0000001,
   76         DMN_APL2                = 0xf0000002,
   77         DMN_APL3                = 0xf0000004,
   78         DMN_APL4                = 0xf0000008,
   79         DMN_APL5                = 0xf0000010,
   80         DMN_ETSI1               = 0xf0000020,
   81         DMN_ETSI2               = 0xf0000040,
   82         DMN_ETSI3               = 0xf0000080,
   83         DMN_ETSI4               = 0xf0000100,
   84         DMN_ETSI5               = 0xf0000200,
   85         DMN_ETSI6               = 0xf0000400,
   86         DMN_ETSIA               = 0xf0000800,
   87         DMN_ETSIB               = 0xf0001000,
   88         DMN_ETSIC               = 0xf0002000,
   89         DMN_FCC1                = 0xf0004000,
   90         DMN_FCC2                = 0xf0008000,
   91         DMN_FCC3                = 0xf0010000,
   92         DMN_FCCA                = 0xf0020000,
   93         DMN_APLD                = 0xf0040000,
   94         DMN_MKK1                = 0xf0080000,
   95         DMN_MKK2                = 0xf0100000,
   96         DMN_MKKA                = 0xf0200000,
   97         DMN_NULL                = 0xf0400000,
   98         DMN_WORLD               = 0xf0800000,
   99         DMN_DEBUG               = 0xf1000000    /* used for debugging */
  100 };
  101 
  102 #define IEEE80211_DMN(_d)       ((_d) & ~0xf0000000)
  103 
  104 struct ieee80211_regdomainname {
  105         u_int32_t       rn_domain;
  106         const char      *rn_name;
  107 };
  108 
  109 #define IEEE80211_REGDOMAIN_NAMES {                                     \
  110         { DMN_APL1,                 "APL1" },                           \
  111         { DMN_APL1_APLA,            "APL1A" },                          \
  112         { DMN_APL1_ETSIC,           "APL1_ETSIC" },                     \
  113         { DMN_APL1_FCCA,            "APL1_FCCA" },                      \
  114         { DMN_APL1_WORLD,           "APL1W" },                          \
  115         { DMN_APL2,                 "APL2" },                           \
  116         { DMN_APL2_APLC,            "APL2C" },                          \
  117         { DMN_APL2_APLD,            "APL2D" },                          \
  118         { DMN_APL2_ETSIC,           "APL2_ETSIC" },                     \
  119         { DMN_APL2_WORLD,           "APL2W" },                          \
  120         { DMN_APL3,                 "APL3" },                           \
  121         { DMN_APL3_WORLD,           "APL3W" },                          \
  122         { DMN_APL4,                 "APL4" },                           \
  123         { DMN_APL4_WORLD,           "APL4W" },                          \
  124         { DMN_APL5,                 "APL5" },                           \
  125         { DMN_APL5_WORLD,           "APL5W" },                          \
  126         { DMN_APLD,                 "APLD" },                           \
  127         { DMN_APL_NULL,             "APL" },                            \
  128         { DMN_DEBUG,                "DEBUG" },                          \
  129         { DMN_ETSI1,                "ETSI1" },                          \
  130         { DMN_ETSI1_WORLD,          "ETSI1W" },                         \
  131         { DMN_ETSI2,                "ETSI2" },                          \
  132         { DMN_ETSI2_WORLD,          "ETSI2W" },                         \
  133         { DMN_ETSI3,                "ETSI3" },                          \
  134         { DMN_ETSI3_ETSIA,          "ETSI3A" },                         \
  135         { DMN_ETSI3_WORLD,          "ETSI3W," },                        \
  136         { DMN_ETSI4,                "ETSI4" },                          \
  137         { DMN_ETSI4_ETSIC,          "ETSI4C" },                         \
  138         { DMN_ETSI4_WORLD,          "ETSI4W" },                         \
  139         { DMN_ETSI5,                "ETSI5" },                          \
  140         { DMN_ETSI5_WORLD,          "ETSI5W" },                         \
  141         { DMN_ETSI6,                "ETSI6" },                          \
  142         { DMN_ETSI6_WORLD,          "ETSI6W" },                         \
  143         { DMN_ETSIA,                "ETSIA" },                          \
  144         { DMN_ETSIB,                "ETSIB" },                          \
  145         { DMN_ETSIC,                "ETSIC" },                          \
  146         { DMN_ETSI_NULL,            "ETSI" },                           \
  147         { DMN_EU1_WORLD,            "EU1W" },                           \
  148         { DMN_FCC1,                 "FCC1" },                           \
  149         { DMN_FCC1_FCCA,            "FCC1A" },                          \
  150         { DMN_FCC1_WORLD,           "FCC1W" },                          \
  151         { DMN_FCC2,                 "FCC2" },                           \
  152         { DMN_FCC2_ETSIC,           "FCC2C" },                          \
  153         { DMN_FCC2_FCCA,            "FCC2A" },                          \
  154         { DMN_FCC2_WORLD,           "FCC2W" },                          \
  155         { DMN_FCC3,                 "FCC3" },                           \
  156         { DMN_FCC3_FCCA,            "FCC3A" },                          \
  157         { DMN_FCCA,                 "FCCA" },                           \
  158         { DMN_FRANCE_NULL,          "FRANCE" },                         \
  159         { DMN_MKK1,                 "MKK1" },                           \
  160         { DMN_MKK1_FCCA,            "MKK1_FCCA" },                      \
  161         { DMN_MKK1_MKKA,            "MKK1A" },                          \
  162         { DMN_MKK1_MKKA1,           "MKK1A1" },                         \
  163         { DMN_MKK1_MKKA2,           "MKK1A2" },                         \
  164         { DMN_MKK1_MKKB,            "MKK1B" },                          \
  165         { DMN_MKK2,                 "MKK2" },                           \
  166         { DMN_MKK2_MKKA,            "MKK2A" },                          \
  167         { DMN_MKKA,                 "MKKA" },                           \
  168         { DMN_DEFAULT,              "NONE" },                           \
  169         { DMN_NULL,                 "NONE" },                           \
  170         { DMN_NULL_ETSIB,           "ETSIB" },                          \
  171         { DMN_NULL_ETSIC,           "ETSIC" },                          \
  172         { DMN_WOR01_WORLD,          "WOR01W" },                         \
  173         { DMN_WOR02_WORLD,          "WOR02W" },                         \
  174         { DMN_WOR0_WORLD,           "WOR0W" },                          \
  175         { DMN_WOR1_WORLD,           "WOR1W" },                          \
  176         { DMN_WOR2_WORLD,           "WOR2W" },                          \
  177         { DMN_WOR3_WORLD,           "WOR3W" },                          \
  178         { DMN_WOR4_WORLD,           "WOR4W" },                          \
  179         { DMN_WOR5_ETSIC,           "WOR5_ETSIC" },                     \
  180         { DMN_WOR9_WORLD,           "WOR9W" },                          \
  181         { DMN_WORA_WORLD,           "WORAW" },                          \
  182         { DMN_NULL_WORLD,           "WORLD" },                          \
  183         { DMN_WORLD,                "WORLD" }                           \
  184 }
  185 
  186 struct ieee80211_regdomainmap {
  187         u_int16_t       rm_domain;
  188         u_int32_t       rm_domain_5ghz;
  189         u_int32_t       rm_domain_2ghz;
  190 };
  191 
  192 #define IEEE80211_REGDOMAIN_MAP {                                       \
  193         { DMN_DEFAULT,          DMN_DEBUG,      DMN_DEBUG },            \
  194         { DMN_NULL_WORLD,       DMN_NULL,       DMN_WORLD },            \
  195         { DMN_NULL_ETSIB,       DMN_NULL,       DMN_ETSIB },            \
  196         { DMN_NULL_ETSIC,       DMN_NULL,       DMN_ETSIC },            \
  197         { DMN_FCC1_FCCA,        DMN_FCC1,       DMN_FCCA },             \
  198         { DMN_FCC1_WORLD,       DMN_FCC1,       DMN_WORLD },            \
  199         { DMN_FCC2_FCCA,        DMN_FCC2,       DMN_FCCA },             \
  200         { DMN_FCC2_WORLD,       DMN_FCC2,       DMN_WORLD },            \
  201         { DMN_FCC2_ETSIC,       DMN_FCC2,       DMN_ETSIC },            \
  202         { DMN_FRANCE_NULL,      DMN_ETSI3,      DMN_ETSI3 },            \
  203         { DMN_FCC3_FCCA,        DMN_FCC3,       DMN_WORLD },            \
  204         { DMN_ETSI1_WORLD,      DMN_ETSI1,      DMN_WORLD },            \
  205         { DMN_ETSI3_ETSIA,      DMN_ETSI3,      DMN_WORLD },            \
  206         { DMN_ETSI2_WORLD,      DMN_ETSI2,      DMN_WORLD },            \
  207         { DMN_ETSI3_WORLD,      DMN_ETSI3,      DMN_WORLD },            \
  208         { DMN_ETSI4_WORLD,      DMN_ETSI4,      DMN_WORLD },            \
  209         { DMN_ETSI4_ETSIC,      DMN_ETSI4,      DMN_ETSIC },            \
  210         { DMN_ETSI5_WORLD,      DMN_ETSI5,      DMN_WORLD },            \
  211         { DMN_ETSI6_WORLD,      DMN_ETSI6,      DMN_WORLD },            \
  212         { DMN_ETSI_NULL,        DMN_ETSI1,      DMN_ETSI1 },            \
  213         { DMN_MKK1_MKKA,        DMN_MKK1,       DMN_MKKA },             \
  214         { DMN_MKK1_MKKB,        DMN_MKK1,       DMN_MKKA },             \
  215         { DMN_APL4_WORLD,       DMN_APL4,       DMN_WORLD },            \
  216         { DMN_MKK2_MKKA,        DMN_MKK2,       DMN_MKKA },             \
  217         { DMN_APL_NULL,         DMN_APL1,       DMN_NULL },             \
  218         { DMN_APL2_WORLD,       DMN_APL2,       DMN_WORLD },            \
  219         { DMN_APL2_APLC,        DMN_APL2,       DMN_WORLD },            \
  220         { DMN_APL3_WORLD,       DMN_APL3,       DMN_WORLD },            \
  221         { DMN_MKK1_FCCA,        DMN_MKK1,       DMN_FCCA },             \
  222         { DMN_APL2_APLD,        DMN_APL2,       DMN_APLD },             \
  223         { DMN_MKK1_MKKA1,       DMN_MKK1,       DMN_MKKA },             \
  224         { DMN_MKK1_MKKA2,       DMN_MKK1,       DMN_MKKA },             \
  225         { DMN_APL1_WORLD,       DMN_APL1,       DMN_WORLD },            \
  226         { DMN_APL1_FCCA,        DMN_APL1,       DMN_FCCA },             \
  227         { DMN_APL1_APLA,        DMN_APL1,       DMN_WORLD },            \
  228         { DMN_APL1_ETSIC,       DMN_APL1,       DMN_ETSIC },            \
  229         { DMN_APL2_ETSIC,       DMN_APL2,       DMN_ETSIC },            \
  230         { DMN_APL5_WORLD,       DMN_APL5,       DMN_WORLD },            \
  231         { DMN_WOR0_WORLD,       DMN_WORLD,      DMN_WORLD },            \
  232         { DMN_WOR1_WORLD,       DMN_WORLD,      DMN_WORLD },            \
  233         { DMN_WOR2_WORLD,       DMN_WORLD,      DMN_WORLD },            \
  234         { DMN_WOR3_WORLD,       DMN_WORLD,      DMN_WORLD },            \
  235         { DMN_WOR4_WORLD,       DMN_WORLD,      DMN_WORLD },            \
  236         { DMN_WOR5_ETSIC,       DMN_WORLD,      DMN_WORLD },            \
  237         { DMN_WOR01_WORLD,      DMN_WORLD,      DMN_WORLD },            \
  238         { DMN_WOR02_WORLD,      DMN_WORLD,      DMN_WORLD },            \
  239         { DMN_EU1_WORLD,        DMN_ETSI1,      DMN_WORLD },            \
  240         { DMN_WOR9_WORLD,       DMN_WORLD,      DMN_WORLD },            \
  241         { DMN_WORA_WORLD,       DMN_WORLD,      DMN_WORLD },            \
  242 }
  243 
  244 enum ieee80211_countrycode {
  245         CTRY_DEFAULT            = 0,   /* Default domain (NA) */
  246         CTRY_ALBANIA            = 8,   /* Albania */
  247         CTRY_ALGERIA            = 12,  /* Algeria */
  248         CTRY_ARGENTINA          = 32,  /* Argentina */
  249         CTRY_ARMENIA            = 51,  /* Armenia */
  250         CTRY_AUSTRALIA          = 36,  /* Australia */
  251         CTRY_AUSTRIA            = 40,  /* Austria */
  252         CTRY_AZERBAIJAN         = 31,  /* Azerbaijan */
  253         CTRY_BAHRAIN            = 48,  /* Bahrain */
  254         CTRY_BELARUS            = 112, /* Belarus */
  255         CTRY_BELGIUM            = 56,  /* Belgium */
  256         CTRY_BELIZE             = 84,  /* Belize */
  257         CTRY_BOLIVIA            = 68,  /* Bolivia */
  258         CTRY_BRAZIL             = 76,  /* Brazil */
  259         CTRY_BRUNEI_DARUSSALAM  = 96,  /* Brunei Darussalam */
  260         CTRY_BULGARIA           = 100, /* Bulgaria */
  261         CTRY_CANADA             = 124, /* Canada */
  262         CTRY_CHILE              = 152, /* Chile */
  263         CTRY_CHINA              = 156, /* People's Republic of China */
  264         CTRY_COLOMBIA           = 170, /* Colombia */
  265         CTRY_COSTA_RICA         = 188, /* Costa Rica */
  266         CTRY_CROATIA            = 191, /* Croatia */
  267         CTRY_CYPRUS             = 196, /* Cyprus */
  268         CTRY_CZECH              = 203, /* Czech Republic */
  269         CTRY_DENMARK            = 208, /* Denmark */
  270         CTRY_DOMINICAN_REPUBLIC = 214, /* Dominican Republic */
  271         CTRY_ECUADOR            = 218, /* Ecuador */
  272         CTRY_EGYPT              = 818, /* Egypt */
  273         CTRY_EL_SALVADOR        = 222, /* El Salvador */
  274         CTRY_ESTONIA            = 233, /* Estonia */
  275         CTRY_FAEROE_ISLANDS     = 234, /* Faeroe Islands */
  276         CTRY_FINLAND            = 246, /* Finland */
  277         CTRY_FRANCE             = 250, /* France */
  278         CTRY_FRANCE2            = 255, /* France2 */
  279         CTRY_GEORGIA            = 268, /* Georgia */
  280         CTRY_GERMANY            = 276, /* Germany */
  281         CTRY_GREECE             = 300, /* Greece */
  282         CTRY_GUATEMALA          = 320, /* Guatemala */
  283         CTRY_HONDURAS           = 340, /* Honduras */
  284         CTRY_HONG_KONG          = 344, /* Hong Kong S.A.R., P.R.C. */
  285         CTRY_HUNGARY            = 348, /* Hungary */
  286         CTRY_ICELAND            = 352, /* Iceland */
  287         CTRY_INDIA              = 356, /* India */
  288         CTRY_INDONESIA          = 360, /* Indonesia */
  289         CTRY_IRAN               = 364, /* Iran */
  290         CTRY_IRAQ               = 368, /* Iraq */
  291         CTRY_IRELAND            = 372, /* Ireland */
  292         CTRY_ISRAEL             = 376, /* Israel */
  293         CTRY_ITALY              = 380, /* Italy */
  294         CTRY_JAMAICA            = 388, /* Jamaica */
  295         CTRY_JAPAN              = 392, /* Japan */
  296         CTRY_JAPAN1             = 393, /* Japan (JP1) */
  297         CTRY_JAPAN2             = 394, /* Japan (JP0) */
  298         CTRY_JAPAN3             = 395, /* Japan (JP1-1) */
  299         CTRY_JAPAN4             = 396, /* Japan (JE1) */
  300         CTRY_JAPAN5             = 397, /* Japan (JE2) */
  301         CTRY_JORDAN             = 400, /* Jordan */
  302         CTRY_KAZAKHSTAN         = 398, /* Kazakhstan */
  303         CTRY_KENYA              = 404, /* Kenya */
  304         CTRY_KOREA_NORTH        = 408, /* North Korea */
  305         CTRY_KOREA_ROC          = 410, /* South Korea */
  306         CTRY_KOREA_ROC2         = 411, /* South Korea */
  307         CTRY_KUWAIT             = 414, /* Kuwait */
  308         CTRY_LATVIA             = 428, /* Latvia */
  309         CTRY_LEBANON            = 422, /* Lebanon */
  310         CTRY_LIBYA              = 434, /* Libya */
  311         CTRY_LIECHTENSTEIN      = 438, /* Liechtenstein */
  312         CTRY_LITHUANIA          = 440, /* Lithuania */
  313         CTRY_LUXEMBOURG         = 442, /* Luxembourg */
  314         CTRY_MACAU              = 446, /* Macau */
  315         CTRY_MACEDONIA          = 807, /* Republic of Macedonia */
  316         CTRY_MALAYSIA           = 458, /* Malaysia */
  317         CTRY_MEXICO             = 484, /* Mexico */
  318         CTRY_MONACO             = 492, /* Principality of Monaco */
  319         CTRY_MOROCCO            = 504, /* Morocco */
  320         CTRY_NETHERLANDS        = 528, /* Netherlands */
  321         CTRY_NEW_ZEALAND        = 554, /* New Zealand */
  322         CTRY_NICARAGUA          = 558, /* Nicaragua */
  323         CTRY_NORWAY             = 578, /* Norway */
  324         CTRY_OMAN               = 512, /* Oman */
  325         CTRY_PAKISTAN           = 586, /* Islamic Republic of Pakistan */
  326         CTRY_PANAMA             = 591, /* Panama */
  327         CTRY_PARAGUAY           = 600, /* Paraguay */
  328         CTRY_PERU               = 604, /* Peru */
  329         CTRY_PHILIPPINES        = 608, /* Republic of the Philippines */
  330         CTRY_POLAND             = 616, /* Poland */
  331         CTRY_PORTUGAL           = 620, /* Portugal */
  332         CTRY_PUERTO_RICO        = 630, /* Puerto Rico */
  333         CTRY_QATAR              = 634, /* Qatar */
  334         CTRY_ROMANIA            = 642, /* Romania */
  335         CTRY_RUSSIA             = 643, /* Russia */
  336         CTRY_SAUDI_ARABIA       = 682, /* Saudi Arabia */
  337         CTRY_SINGAPORE          = 702, /* Singapore */
  338         CTRY_SLOVAKIA           = 703, /* Slovak Republic */
  339         CTRY_SLOVENIA           = 705, /* Slovenia */
  340         CTRY_SOUTH_AFRICA       = 710, /* South Africa */
  341         CTRY_SPAIN              = 724, /* Spain */
  342         CTRY_SRI_LANKA          = 728, /* Sri Lanka */
  343         CTRY_SWEDEN             = 752, /* Sweden */
  344         CTRY_SWITZERLAND        = 756, /* Switzerland */
  345         CTRY_SYRIA              = 760, /* Syria */
  346         CTRY_TAIWAN             = 158, /* Taiwan */
  347         CTRY_THAILAND           = 764, /* Thailand */
  348         CTRY_TRINIDAD_Y_TOBAGO  = 780, /* Trinidad y Tobago */
  349         CTRY_TUNISIA            = 788, /* Tunisia */
  350         CTRY_TURKEY             = 792, /* Turkey */
  351         CTRY_UAE                = 784, /* U.A.E. */
  352         CTRY_UKRAINE            = 804, /* Ukraine */
  353         CTRY_UNITED_KINGDOM     = 826, /* United Kingdom */
  354         CTRY_UNITED_STATES      = 840, /* United States */
  355         CTRY_URUGUAY            = 858, /* Uruguay */
  356         CTRY_UZBEKISTAN         = 860, /* Uzbekistan */
  357         CTRY_VENEZUELA          = 862, /* Venezuela */
  358         CTRY_VIET_NAM           = 704, /* Viet Nam */
  359         CTRY_YEMEN              = 887, /* Yemen */
  360         CTRY_ZIMBABWE           = 716, /* Zimbabwe */
  361 };
  362 
  363 struct ieee80211_countryname {
  364         u_int16_t       cn_code;
  365         const char      *cn_name;
  366         u_int32_t       cn_domain;
  367 };
  368 
  369 #define IEEE80211_REGDOMAIN_COUNTRY_NAMES {                             \
  370         { CTRY_DEFAULT,            "00", DMN_DEFAULT },                 \
  371         { CTRY_UAE,                "ae", DMN_NULL_WORLD },              \
  372         { CTRY_ALBANIA,            "al", DMN_NULL_WORLD },              \
  373         { CTRY_ARMENIA,            "am", DMN_ETSI4_WORLD },             \
  374         { CTRY_ARGENTINA,          "ar", DMN_APL3_WORLD },              \
  375         { CTRY_AUSTRIA,            "at", DMN_ETSI5_WORLD },             \
  376         { CTRY_AUSTRALIA,          "au", DMN_FCC2_WORLD },              \
  377         { CTRY_AZERBAIJAN,         "az", DMN_ETSI4_WORLD },             \
  378         { CTRY_BELGIUM,            "be", DMN_ETSI4_WORLD },             \
  379         { CTRY_BULGARIA,           "bg", DMN_ETSI6_WORLD },             \
  380         { CTRY_BAHRAIN,            "bh", DMN_NULL_WORLD },              \
  381         { CTRY_BRUNEI_DARUSSALAM,  "bn", DMN_APL1_WORLD },              \
  382         { CTRY_BOLIVIA,            "bo", DMN_APL1_ETSIC },              \
  383         { CTRY_BRAZIL,             "br", DMN_NULL_ETSIC },              \
  384         { CTRY_BELARUS,            "by", DMN_NULL_WORLD },              \
  385         { CTRY_BELIZE,             "bz", DMN_NULL_ETSIC },              \
  386         { CTRY_CANADA,             "ca", DMN_FCC2_FCCA },               \
  387         { CTRY_SWITZERLAND,        "ch", DMN_ETSI2_WORLD },             \
  388         { CTRY_CHILE,              "cl", DMN_APL5_WORLD },              \
  389         { CTRY_CHINA,              "cn", DMN_APL1_WORLD },              \
  390         { CTRY_COLOMBIA,           "co", DMN_FCC1_FCCA },               \
  391         { CTRY_COSTA_RICA,         "cr", DMN_NULL_WORLD },              \
  392         { CTRY_CYPRUS,             "cy", DMN_ETSI1_WORLD },             \
  393         { CTRY_CZECH,              "cz", DMN_ETSI3_WORLD },             \
  394         { CTRY_GERMANY,            "de", DMN_ETSI1_WORLD },             \
  395         { CTRY_DENMARK,            "dk", DMN_ETSI1_WORLD },             \
  396         { CTRY_DOMINICAN_REPUBLIC, "do", DMN_FCC1_FCCA },               \
  397         { CTRY_ALGERIA,            "dz", DMN_NULL_WORLD },              \
  398         { CTRY_ECUADOR,            "ec", DMN_NULL_WORLD },              \
  399         { CTRY_ESTONIA,            "ee", DMN_ETSI1_WORLD },             \
  400         { CTRY_EGYPT,              "eg", DMN_NULL_WORLD },              \
  401         { CTRY_SPAIN,              "es", DMN_ETSI1_WORLD },             \
  402         { CTRY_FRANCE2,            "f2", DMN_ETSI3_WORLD },             \
  403         { CTRY_FINLAND,            "fi", DMN_ETSI1_WORLD },             \
  404         { CTRY_FAEROE_ISLANDS,     "fo", DMN_NULL_WORLD },              \
  405         { CTRY_FRANCE,             "fr", DMN_ETSI3_WORLD },             \
  406         { CTRY_GEORGIA,            "ge", DMN_ETSI4_WORLD },             \
  407         { CTRY_GREECE,             "gr", DMN_NULL_WORLD },              \
  408         { CTRY_GUATEMALA,          "gt", DMN_FCC1_FCCA },               \
  409         { CTRY_HONG_KONG,          "hk", DMN_FCC2_WORLD },              \
  410         { CTRY_HONDURAS,           "hn", DMN_NULL_WORLD },              \
  411         { CTRY_CROATIA,            "hr", DMN_ETSI3_WORLD },             \
  412         { CTRY_HUNGARY,            "hu", DMN_ETSI2_WORLD },             \
  413         { CTRY_INDONESIA,          "id", DMN_NULL_WORLD },              \
  414         { CTRY_IRELAND,            "ie", DMN_ETSI1_WORLD },             \
  415         { CTRY_ISRAEL,             "il", DMN_NULL_WORLD },              \
  416         { CTRY_INDIA,              "in", DMN_NULL_WORLD },              \
  417         { CTRY_IRAQ,               "iq", DMN_NULL_WORLD },              \
  418         { CTRY_IRAN,               "ir", DMN_APL1_WORLD },              \
  419         { CTRY_ICELAND,            "is", DMN_ETSI1_WORLD },             \
  420         { CTRY_ITALY,              "it", DMN_ETSI1_WORLD },             \
  421         { CTRY_JAPAN1,             "j1", DMN_MKK1_MKKB },               \
  422         { CTRY_JAPAN2,             "j2", DMN_MKK1_FCCA },               \
  423         { CTRY_JAPAN3,             "j3", DMN_MKK2_MKKA },               \
  424         { CTRY_JAPAN4,             "j4", DMN_MKK1_MKKA1 },              \
  425         { CTRY_JAPAN5,             "j5", DMN_MKK1_MKKA2 },              \
  426         { CTRY_JAMAICA,            "jm", DMN_NULL_WORLD },              \
  427         { CTRY_JORDAN,             "jo", DMN_NULL_WORLD },              \
  428         { CTRY_JAPAN,              "jp", DMN_MKK1_MKKA },               \
  429         { CTRY_KOREA_ROC2,         "k2", DMN_APL2_APLD },               \
  430         { CTRY_KENYA,              "ke", DMN_NULL_WORLD },              \
  431         { CTRY_KOREA_NORTH,        "kp", DMN_APL2_WORLD },              \
  432         { CTRY_KOREA_ROC,          "kr", DMN_APL2_WORLD },              \
  433         { CTRY_KUWAIT,             "kw", DMN_NULL_WORLD },              \
  434         { CTRY_KAZAKHSTAN,         "kz", DMN_NULL_WORLD },              \
  435         { CTRY_LEBANON,            "lb", DMN_NULL_WORLD },              \
  436         { CTRY_LIECHTENSTEIN,      "li", DMN_ETSI2_WORLD },             \
  437         { CTRY_SRI_LANKA,          "lk", DMN_NULL_WORLD },              \
  438         { CTRY_LITHUANIA,          "lt", DMN_ETSI1_WORLD },             \
  439         { CTRY_LUXEMBOURG,         "lu", DMN_ETSI1_WORLD },             \
  440         { CTRY_LATVIA,             "lv", DMN_NULL_WORLD },              \
  441         { CTRY_LIBYA,              "ly", DMN_NULL_WORLD },              \
  442         { CTRY_MOROCCO,            "ma", DMN_NULL_WORLD },              \
  443         { CTRY_MONACO,             "mc", DMN_ETSI4_WORLD },             \
  444         { CTRY_MACEDONIA,          "mk", DMN_NULL_WORLD },              \
  445         { CTRY_MACAU,              "mo", DMN_FCC2_WORLD },              \
  446         { CTRY_MEXICO,             "mx", DMN_FCC1_FCCA },               \
  447         { CTRY_MALAYSIA,           "my", DMN_NULL_WORLD },              \
  448         { CTRY_NICARAGUA,          "ni", DMN_NULL_WORLD },              \
  449         { CTRY_NETHERLANDS,        "nl", DMN_ETSI1_WORLD },             \
  450         { CTRY_NORWAY,             "no", DMN_ETSI1_WORLD },             \
  451         { CTRY_NEW_ZEALAND,        "nz", DMN_FCC2_ETSIC },              \
  452         { CTRY_OMAN,               "om", DMN_NULL_WORLD },              \
  453         { CTRY_PANAMA,             "pa", DMN_FCC1_FCCA },               \
  454         { CTRY_PERU,               "pe", DMN_NULL_WORLD },              \
  455         { CTRY_PHILIPPINES,        "ph", DMN_FCC1_WORLD },              \
  456         { CTRY_PAKISTAN,           "pk", DMN_NULL_WORLD },              \
  457         { CTRY_POLAND,             "pl", DMN_ETSI1_WORLD },             \
  458         { CTRY_PUERTO_RICO,        "pr", DMN_FCC1_FCCA },               \
  459         { CTRY_PORTUGAL,           "pt", DMN_ETSI1_WORLD },             \
  460         { CTRY_PARAGUAY,           "py", DMN_NULL_WORLD },              \
  461         { CTRY_QATAR,              "qa", DMN_NULL_WORLD },              \
  462         { CTRY_ROMANIA,            "ro", DMN_NULL_WORLD },              \
  463         { CTRY_RUSSIA,             "ru", DMN_NULL_WORLD },              \
  464         { CTRY_SAUDI_ARABIA,       "sa", DMN_NULL_WORLD },              \
  465         { CTRY_SWEDEN,             "se", DMN_ETSI1_WORLD },             \
  466         { CTRY_SINGAPORE,          "sg", DMN_APL4_WORLD },              \
  467         { CTRY_SLOVENIA,           "si", DMN_ETSI1_WORLD },             \
  468         { CTRY_SLOVAKIA,           "sk", DMN_ETSI3_WORLD },             \
  469         { CTRY_EL_SALVADOR,        "sv", DMN_NULL_WORLD },              \
  470         { CTRY_SYRIA,              "sy", DMN_NULL_WORLD },              \
  471         { CTRY_THAILAND,           "th", DMN_APL2_WORLD },              \
  472         { CTRY_TUNISIA,            "tn", DMN_ETSI3_WORLD },             \
  473         { CTRY_TURKEY,             "tr", DMN_ETSI3_WORLD },             \
  474         { CTRY_TRINIDAD_Y_TOBAGO,  "tt", DMN_ETSI4_WORLD },             \
  475         { CTRY_TAIWAN,             "tw", DMN_APL3_WORLD },              \
  476         { CTRY_UKRAINE,            "ua", DMN_NULL_WORLD },              \
  477         { CTRY_UNITED_KINGDOM,     "uk", DMN_ETSI1_WORLD },             \
  478         { CTRY_UNITED_STATES,      "us", DMN_FCC1_FCCA },               \
  479         { CTRY_URUGUAY,            "uy", DMN_APL2_WORLD },              \
  480         { CTRY_UZBEKISTAN,         "uz", DMN_FCC3_FCCA },               \
  481         { CTRY_VENEZUELA,          "ve", DMN_APL2_ETSIC },              \
  482         { CTRY_VIET_NAM,           "vn", DMN_NULL_WORLD },              \
  483         { CTRY_YEMEN,              "ye", DMN_NULL_WORLD },              \
  484         { CTRY_SOUTH_AFRICA,       "za", DMN_ETSI1_WORLD },             \
  485         { CTRY_ZIMBABWE,           "zw", DMN_NULL_WORLD },              \
  486 }
  487 
  488 enum ieee80211_ctl {
  489         CTL_11A         = 0x00,
  490         CTL_11B         = 0x01,
  491         CTL_11G         = 0x02,
  492         CTL_TURBO       = 0x03,
  493         CTL_TURBO_G     = 0x04,
  494         CTL_FCC         = 0x10,
  495         CTL_ETSI        = 0x30,
  496         CTL_MKK         = 0x40,
  497         CTL_NONE        = 0xff
  498 };
  499 
  500 #define IEEE80211_CHANNELS_2GHZ_MIN     2412    /* 2GHz channel 1 */
  501 #define IEEE80211_CHANNELS_2GHZ_MAX     2732    /* 2GHz channel 26 */
  502 
  503 struct ieee80211_regchannel {
  504         u_int16_t       rc_channel;
  505         u_int32_t       rc_domain;
  506         u_int32_t       rc_mode;
  507 };
  508 
  509 #define IEEE80211_CHANNELS_2GHZ {                                       \
  510         { 2412, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  511         { 2417, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  512         { 2422, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  513         { 2427, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  514         { 2432, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  515         { 2437, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  516         { 2442, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  517         { 2447, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  518         { 2452, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  519         { 2457, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  520         { 2462, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  521         { 2467, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  522         { 2472, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  523                                                                         \
  524         { 2432, DMN_ETSIB, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  525         { 2442, DMN_ETSIB, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  526                                                                         \
  527         { 2412, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  528         { 2417, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  529         { 2422, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  530         { 2427, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  531         { 2432, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  532         { 2442, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  533         { 2447, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  534         { 2452, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  535         { 2457, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  536         { 2462, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  537         { 2467, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  538         { 2472, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  539                                                                         \
  540         { 2412, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  541         { 2417, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  542         { 2422, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  543         { 2427, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  544         { 2432, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  545         { 2442, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  546         { 2447, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  547         { 2452, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  548         { 2457, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  549         { 2462, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  550                                                                         \
  551         { 2412, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  552         { 2417, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  553         { 2422, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  554         { 2427, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  555         { 2432, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  556         { 2437, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  557         { 2442, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  558         { 2447, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  559         { 2452, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  560         { 2457, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  561         { 2462, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  562         { 2467, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  563         { 2472, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
  564         { 2484, DMN_MKKA, IEEE80211_CHAN_CCK },                         \
  565                                                                         \
  566         { 2412, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  567         { 2417, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  568         { 2422, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  569         { 2427, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  570         { 2432, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  571         { 2442, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  572         { 2447, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  573         { 2452, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  574         { 2457, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  575         { 2462, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  576         { 2467, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  577         { 2472, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
  578 }
  579 
  580 #define IEEE80211_CHANNELS_5GHZ_MIN     5005    /* 5GHz channel 1 */
  581 #define IEEE80211_CHANNELS_5GHZ_MAX     6100    /* 5GHz channel 220 */
  582 
  583 #define IEEE80211_CHANNELS_5GHZ {                                       \
  584         { 5745, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
  585         { 5765, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
  586         { 5785, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
  587         { 5805, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
  588         { 5825, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
  589                                                                         \
  590         { 5745, DMN_APL2, IEEE80211_CHAN_OFDM },                        \
  591         { 5765, DMN_APL2, IEEE80211_CHAN_OFDM },                        \
  592         { 5785, DMN_APL2, IEEE80211_CHAN_OFDM },                        \
  593         { 5805, DMN_APL2, IEEE80211_CHAN_OFDM },                        \
  594                                                                         \
  595         { 5280, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
  596         { 5300, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
  597         { 5320, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
  598         { 5745, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
  599         { 5765, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
  600         { 5785, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
  601         { 5805, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
  602                                                                         \
  603         { 5180, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
  604         { 5200, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
  605         { 5220, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
  606         { 5240, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
  607         { 5745, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
  608         { 5765, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
  609         { 5785, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
  610         { 5805, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
  611         { 5825, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
  612                                                                         \
  613         { 5745, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
  614         { 5765, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
  615         { 5785, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
  616         { 5805, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
  617         { 5825, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
  618                                                                         \
  619         { 5180, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  620         { 5200, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  621         { 5220, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  622         { 5240, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  623         { 5260, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  624         { 5280, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  625         { 5300, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  626         { 5320, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  627         { 5500, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  628         { 5520, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  629         { 5540, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  630         { 5560, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  631         { 5580, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  632         { 5600, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  633         { 5620, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  634         { 5640, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  635         { 5660, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  636         { 5680, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  637         { 5700, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
  638                                                                         \
  639         { 5180, DMN_ETSI2, IEEE80211_CHAN_OFDM },                       \
  640         { 5200, DMN_ETSI2, IEEE80211_CHAN_OFDM },                       \
  641         { 5220, DMN_ETSI2, IEEE80211_CHAN_OFDM },                       \
  642         { 5240, DMN_ETSI2, IEEE80211_CHAN_OFDM },                       \
  643                                                                         \
  644         { 5180, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
  645         { 5200, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
  646         { 5220, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
  647         { 5240, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
  648         { 5260, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
  649         { 5280, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
  650         { 5300, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
  651         { 5320, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
  652                                                                         \
  653         { 5180, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
  654         { 5200, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
  655         { 5220, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
  656         { 5240, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
  657         { 5260, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
  658         { 5280, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
  659         { 5300, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
  660         { 5320, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
  661                                                                         \
  662         { 5180, DMN_ETSI5, IEEE80211_CHAN_OFDM },                       \
  663         { 5200, DMN_ETSI5, IEEE80211_CHAN_OFDM },                       \
  664         { 5220, DMN_ETSI5, IEEE80211_CHAN_OFDM },                       \
  665         { 5240, DMN_ETSI5, IEEE80211_CHAN_OFDM },                       \
  666                                                                         \
  667         { 5180, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  668         { 5200, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  669         { 5220, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  670         { 5240, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  671         { 5260, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  672         { 5280, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  673         { 5500, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  674         { 5520, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  675         { 5540, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  676         { 5560, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  677         { 5580, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  678         { 5600, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  679         { 5620, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  680         { 5640, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  681         { 5660, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  682         { 5680, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  683         { 5700, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
  684                                                                         \
  685         { 5180, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  686         { 5200, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  687         { 5220, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  688         { 5240, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  689         { 5260, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  690         { 5280, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  691         { 5300, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  692         { 5320, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  693         { 5745, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  694         { 5765, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  695         { 5785, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  696         { 5805, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  697         { 5825, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
  698                                                                         \
  699         { 5180, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  700         { 5200, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  701         { 5220, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  702         { 5240, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  703         { 5260, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  704         { 5280, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  705         { 5300, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  706         { 5320, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  707         { 5745, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  708         { 5765, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  709         { 5785, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  710         { 5805, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  711         { 5825, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
  712                                                                         \
  713         { 5180, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  714         { 5200, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  715         { 5220, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  716         { 5240, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  717         { 5260, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  718         { 5280, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  719         { 5300, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  720         { 5320, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  721         { 5500, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  722         { 5520, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  723         { 5540, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  724         { 5560, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  725         { 5580, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  726         { 5600, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  727         { 5620, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  728         { 5640, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  729         { 5660, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  730         { 5680, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  731         { 5700, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  732         { 5745, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  733         { 5765, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  734         { 5785, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  735         { 5805, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  736         { 5825, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
  737                                                                         \
  738         { 5170, DMN_MKK1, IEEE80211_CHAN_OFDM },                        \
  739         { 5190, DMN_MKK1, IEEE80211_CHAN_OFDM },                        \
  740         { 5210, DMN_MKK1, IEEE80211_CHAN_OFDM },                        \
  741         { 5230, DMN_MKK1, IEEE80211_CHAN_OFDM },                        \
  742                                                                         \
  743         { 5040, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
  744         { 5060, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
  745         { 5080, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
  746         { 5170, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
  747         { 5190, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
  748         { 5210, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
  749         { 5230, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
  750                                                                         \
  751         { 5180, DMN_WORLD, IEEE80211_CHAN_OFDM },                       \
  752         { 5200, DMN_WORLD, IEEE80211_CHAN_OFDM },                       \
  753         { 5220, DMN_WORLD, IEEE80211_CHAN_OFDM },                       \
  754         { 5240, DMN_WORLD, IEEE80211_CHAN_OFDM },                       \
  755 }
  756 
  757 __BEGIN_DECLS
  758 
  759 extern u_int16_t         ieee80211_name2countrycode(const char *);
  760 extern u_int32_t         ieee80211_name2regdomain(const char *);
  761 extern const char       *ieee80211_countrycode2name(u_int16_t);
  762 extern const char       *ieee80211_regdomain2name(u_int32_t);
  763 extern u_int32_t         ieee80211_regdomain2flag(u_int16_t, u_int16_t);
  764 extern u_int32_t         ieee80211_countrycode2regdomain(u_int16_t);
  765 
  766 __END_DECLS
  767 
  768 #endif /* _NET80211_IEEE80211_REGDOMAIN_H_ */

Cache object: 02b5faaeb09228b47488cf312a3cf96a


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.