[BACK]Return to ieee80211_regdomain.h CVS log [TXT][DIR] Up to [local] / sys / net80211

Annotation of sys/net80211/ieee80211_regdomain.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: ieee80211_regdomain.h,v 1.8 2005/12/18 17:59:59 reyk 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:        { 2437, DMN_ETSIB, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM|      \
                    526:            IEEE80211_CHAN_TURBO },                                     \
                    527:        { 2442, DMN_ETSIB, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    528:                                                                        \
                    529:        { 2412, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    530:        { 2417, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    531:        { 2422, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    532:        { 2427, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    533:        { 2432, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    534:        { 2437, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM|      \
                    535:            IEEE80211_CHAN_TURBO },                                     \
                    536:        { 2442, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    537:        { 2447, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    538:        { 2452, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    539:        { 2457, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    540:        { 2462, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    541:        { 2467, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    542:        { 2472, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    543:                                                                        \
                    544:        { 2412, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    545:        { 2417, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    546:        { 2422, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    547:        { 2427, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    548:        { 2432, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    549:        { 2437, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM|       \
                    550:            IEEE80211_CHAN_TURBO },                                     \
                    551:        { 2442, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    552:        { 2447, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    553:        { 2452, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    554:        { 2457, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    555:        { 2462, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    556:                                                                        \
                    557:        { 2412, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    558:        { 2417, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    559:        { 2422, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    560:        { 2427, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    561:        { 2432, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    562:        { 2437, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    563:        { 2442, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    564:        { 2447, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    565:        { 2452, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    566:        { 2457, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    567:        { 2462, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    568:        { 2467, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    569:        { 2472, DMN_MKKA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },     \
                    570:        { 2484, DMN_MKKA, IEEE80211_CHAN_CCK },                         \
                    571:                                                                        \
                    572:        { 2412, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    573:        { 2417, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    574:        { 2422, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    575:        { 2427, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    576:        { 2432, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    577:        { 2437, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM|      \
                    578:            IEEE80211_CHAN_TURBO },                                     \
                    579:        { 2442, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    580:        { 2447, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    581:        { 2452, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    582:        { 2457, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    583:        { 2462, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    584:        { 2467, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    585:        { 2472, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM },    \
                    586: }
                    587:
                    588: #define IEEE80211_CHANNELS_5GHZ_MIN    5005    /* 5GHz channel 1 */
                    589: #define IEEE80211_CHANNELS_5GHZ_MAX    6100    /* 5GHz channel 220 */
                    590:
                    591: #define IEEE80211_CHANNELS_5GHZ {                                      \
                    592:        { 5745, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
                    593:        { 5765, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
                    594:        { 5785, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
                    595:        { 5805, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
                    596:        { 5825, DMN_APL1, IEEE80211_CHAN_OFDM },                        \
                    597:                                                                        \
                    598:        { 5745, DMN_APL2, IEEE80211_CHAN_OFDM },                        \
                    599:        { 5765, DMN_APL2, IEEE80211_CHAN_OFDM },                        \
                    600:        { 5785, DMN_APL2, IEEE80211_CHAN_OFDM },                        \
                    601:        { 5805, DMN_APL2, IEEE80211_CHAN_OFDM },                        \
                    602:                                                                        \
                    603:        { 5280, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
                    604:        { 5300, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
                    605:        { 5320, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
                    606:        { 5745, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
                    607:        { 5765, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
                    608:        { 5785, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
                    609:        { 5805, DMN_APL3, IEEE80211_CHAN_OFDM },                        \
                    610:                                                                        \
                    611:        { 5180, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
                    612:        { 5200, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
                    613:        { 5220, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
                    614:        { 5240, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
                    615:        { 5745, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
                    616:        { 5765, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
                    617:        { 5785, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
                    618:        { 5805, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
                    619:        { 5825, DMN_APL4, IEEE80211_CHAN_OFDM },                        \
                    620:                                                                        \
                    621:        { 5745, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
                    622:        { 5765, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
                    623:        { 5785, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
                    624:        { 5805, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
                    625:        { 5825, DMN_APL5, IEEE80211_CHAN_OFDM },                        \
                    626:                                                                        \
                    627:        { 5180, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    628:        { 5200, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    629:        { 5220, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    630:        { 5240, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    631:        { 5260, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    632:        { 5280, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    633:        { 5300, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    634:        { 5320, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    635:        { 5500, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    636:        { 5520, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    637:        { 5540, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    638:        { 5560, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    639:        { 5580, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    640:        { 5600, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    641:        { 5620, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    642:        { 5640, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    643:        { 5660, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    644:        { 5680, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    645:        { 5700, DMN_ETSI1, IEEE80211_CHAN_OFDM },                       \
                    646:                                                                        \
                    647:        { 5180, DMN_ETSI2, IEEE80211_CHAN_OFDM },                       \
                    648:        { 5200, DMN_ETSI2, IEEE80211_CHAN_OFDM },                       \
                    649:        { 5220, DMN_ETSI2, IEEE80211_CHAN_OFDM },                       \
                    650:        { 5240, DMN_ETSI2, IEEE80211_CHAN_OFDM },                       \
                    651:                                                                        \
                    652:        { 5180, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
                    653:        { 5200, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
                    654:        { 5220, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
                    655:        { 5240, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
                    656:        { 5260, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
                    657:        { 5280, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
                    658:        { 5300, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
                    659:        { 5320, DMN_ETSI3, IEEE80211_CHAN_OFDM },                       \
                    660:                                                                        \
                    661:        { 5180, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
                    662:        { 5200, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
                    663:        { 5220, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
                    664:        { 5240, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
                    665:        { 5260, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
                    666:        { 5280, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
                    667:        { 5300, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
                    668:        { 5320, DMN_ETSI4, IEEE80211_CHAN_OFDM },                       \
                    669:                                                                        \
                    670:        { 5180, DMN_ETSI5, IEEE80211_CHAN_OFDM },                       \
                    671:        { 5200, DMN_ETSI5, IEEE80211_CHAN_OFDM },                       \
                    672:        { 5220, DMN_ETSI5, IEEE80211_CHAN_OFDM },                       \
                    673:        { 5240, DMN_ETSI5, IEEE80211_CHAN_OFDM },                       \
                    674:                                                                        \
                    675:        { 5180, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    676:        { 5200, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    677:        { 5220, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    678:        { 5240, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    679:        { 5260, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    680:        { 5280, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    681:        { 5500, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    682:        { 5520, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    683:        { 5540, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    684:        { 5560, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    685:        { 5580, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    686:        { 5600, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    687:        { 5620, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    688:        { 5640, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    689:        { 5660, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    690:        { 5680, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    691:        { 5700, DMN_ETSI6, IEEE80211_CHAN_OFDM },                       \
                    692:                                                                        \
                    693:        { 5180, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    694:        { 5200, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    695:        { 5210, DMN_FCC1, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO },   \
                    696:        { 5220, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    697:        { 5240, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    698:        { 5250, DMN_FCC1, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO },   \
                    699:        { 5260, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    700:        { 5280, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    701:        { 5290, DMN_FCC1, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO },   \
                    702:        { 5300, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    703:        { 5320, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    704:        { 5745, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    705:        { 5760, DMN_FCC1, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO },   \
                    706:        { 5765, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    707:        { 5785, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    708:        { 5800, DMN_FCC1, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO },   \
                    709:        { 5805, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    710:        { 5825, DMN_FCC1, IEEE80211_CHAN_OFDM },                        \
                    711:                                                                        \
                    712:        { 5180, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    713:        { 5200, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    714:        { 5220, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    715:        { 5240, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    716:        { 5260, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    717:        { 5280, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    718:        { 5300, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    719:        { 5320, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    720:        { 5745, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    721:        { 5765, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    722:        { 5785, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    723:        { 5805, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    724:        { 5825, DMN_FCC2, IEEE80211_CHAN_OFDM },                        \
                    725:                                                                        \
                    726:        { 5180, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    727:        { 5200, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    728:        { 5210, DMN_FCC3, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO },   \
                    729:        { 5220, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    730:        { 5240, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    731:        { 5250, DMN_FCC3, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO },   \
                    732:        { 5260, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    733:        { 5280, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    734:        { 5290, DMN_FCC3, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO },   \
                    735:        { 5300, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    736:        { 5320, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    737:        { 5500, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    738:        { 5520, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    739:        { 5540, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    740:        { 5560, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    741:        { 5580, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    742:        { 5600, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    743:        { 5620, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    744:        { 5640, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    745:        { 5660, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    746:        { 5680, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    747:        { 5700, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    748:        { 5745, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    749:        { 5760, DMN_FCC3, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO },   \
                    750:        { 5765, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    751:        { 5785, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    752:        { 5800, DMN_FCC3, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO },   \
                    753:        { 5805, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    754:        { 5825, DMN_FCC3, IEEE80211_CHAN_OFDM },                        \
                    755:                                                                        \
                    756:        { 5170, DMN_MKK1, IEEE80211_CHAN_OFDM },                        \
                    757:        { 5190, DMN_MKK1, IEEE80211_CHAN_OFDM },                        \
                    758:        { 5210, DMN_MKK1, IEEE80211_CHAN_OFDM },                        \
                    759:        { 5230, DMN_MKK1, IEEE80211_CHAN_OFDM },                        \
                    760:                                                                        \
                    761:        { 5040, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
                    762:        { 5060, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
                    763:        { 5080, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
                    764:        { 5170, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
                    765:        { 5190, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
                    766:        { 5210, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
                    767:        { 5230, DMN_MKK2, IEEE80211_CHAN_OFDM },                        \
                    768:                                                                        \
                    769:        { 5180, DMN_WORLD, IEEE80211_CHAN_OFDM },                       \
                    770:        { 5200, DMN_WORLD, IEEE80211_CHAN_OFDM },                       \
                    771:        { 5220, DMN_WORLD, IEEE80211_CHAN_OFDM },                       \
                    772:        { 5240, DMN_WORLD, IEEE80211_CHAN_OFDM },                       \
                    773: }
                    774:
                    775: __BEGIN_DECLS
                    776:
                    777: extern u_int16_t        ieee80211_name2countrycode(const char *);
                    778: extern u_int32_t        ieee80211_name2regdomain(const char *);
                    779: extern const char      *ieee80211_countrycode2name(u_int16_t);
                    780: extern const char      *ieee80211_regdomain2name(u_int32_t);
                    781: extern u_int32_t        ieee80211_regdomain2flag(u_int16_t, u_int16_t);
                    782: extern u_int32_t        ieee80211_countrycode2regdomain(u_int16_t);
                    783:
                    784: __END_DECLS
                    785:
                    786: #endif /* _NET80211_IEEE80211_REGDOMAIN_H_ */

CVSweb