Main Page | Data Structures | Directories | File List | Data Fields | Globals

ieee80211_regdomain.h

Go to the documentation of this file.
00001 /*     $OpenBSD: ieee80211_regdomain.h,v 1.7 2005/02/23 14:26:53 reyk Exp $ */
00002 
00003 /*
00004  * Copyright (c) 2004, 2005 Reyk Floeter <reyk@vantronix.net>
00005  *
00006  * Permission to use, copy, modify, and distribute this software for any
00007  * purpose with or without fee is hereby granted, provided that the above
00008  * copyright notice and this permission notice appear in all copies.
00009  *
00010  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
00011  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
00012  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
00013  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
00014  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00015  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
00016  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
00017  */
00018 
00019 #ifndef _NET80211_IEEE80211_REGDOMAIN_H_
00020 #define _NET80211_IEEE80211_REGDOMAIN_H_
00021 
00022 typedef u_int32_t ieee80211_regdomain_t;
00023 
00024 enum ieee80211_regdomain {
00025         DMN_DEFAULT             = 0x00,
00026         DMN_NULL_WORLD          = 0x03,
00027         DMN_NULL_ETSIB          = 0x07,
00028         DMN_NULL_ETSIC          = 0x08,
00029         DMN_FCC1_FCCA           = 0x10,
00030         DMN_FCC1_WORLD          = 0x11,
00031         DMN_FCC2_FCCA           = 0x20,
00032         DMN_FCC2_WORLD          = 0x21,
00033         DMN_FCC2_ETSIC          = 0x22,
00034         DMN_FRANCE_NULL         = 0x31,
00035         DMN_FCC3_FCCA           = 0x3A,
00036         DMN_ETSI1_WORLD         = 0x37,
00037         DMN_ETSI3_ETSIA         = 0x32,
00038         DMN_ETSI2_WORLD         = 0x35,
00039         DMN_ETSI3_WORLD         = 0x36,
00040         DMN_ETSI4_WORLD         = 0x30,
00041         DMN_ETSI4_ETSIC         = 0x38,
00042         DMN_ETSI5_WORLD         = 0x39,
00043         DMN_ETSI6_WORLD         = 0x34,
00044         DMN_ETSI_NULL           = 0x33,
00045         DMN_MKK1_MKKA           = 0x40,
00046         DMN_MKK1_MKKB           = 0x41,
00047         DMN_APL4_WORLD          = 0x42,
00048         DMN_MKK2_MKKA           = 0x43,
00049         DMN_APL_NULL            = 0x44,
00050         DMN_APL2_WORLD          = 0x45,
00051         DMN_APL2_APLC           = 0x46,
00052         DMN_APL3_WORLD          = 0x47,
00053         DMN_MKK1_FCCA           = 0x48,
00054         DMN_APL2_APLD           = 0x49,
00055         DMN_MKK1_MKKA1          = 0x4A,
00056         DMN_MKK1_MKKA2          = 0x4B,
00057         DMN_APL1_WORLD          = 0x52,
00058         DMN_APL1_FCCA           = 0x53,
00059         DMN_APL1_APLA           = 0x54,
00060         DMN_APL1_ETSIC          = 0x55,
00061         DMN_APL2_ETSIC          = 0x56,
00062         DMN_APL5_WORLD          = 0x58,
00063         DMN_WOR0_WORLD          = 0x60,
00064         DMN_WOR1_WORLD          = 0x61,
00065         DMN_WOR2_WORLD          = 0x62,
00066         DMN_WOR3_WORLD          = 0x63,
00067         DMN_WOR4_WORLD          = 0x64,
00068         DMN_WOR5_ETSIC          = 0x65,
00069         DMN_WOR01_WORLD         = 0x66,
00070         DMN_WOR02_WORLD         = 0x67,
00071         DMN_EU1_WORLD           = 0x68,
00072         DMN_WOR9_WORLD          = 0x69,
00073         DMN_WORA_WORLD          = 0x6A,
00074 
00075         DMN_APL1                = 0xf0000001,
00076         DMN_APL2                = 0xf0000002,
00077         DMN_APL3                = 0xf0000004,
00078         DMN_APL4                = 0xf0000008,
00079         DMN_APL5                = 0xf0000010,
00080         DMN_ETSI1               = 0xf0000020,
00081         DMN_ETSI2               = 0xf0000040,
00082         DMN_ETSI3               = 0xf0000080,
00083         DMN_ETSI4               = 0xf0000100,
00084         DMN_ETSI5               = 0xf0000200,
00085         DMN_ETSI6               = 0xf0000400,
00086         DMN_ETSIA               = 0xf0000800,
00087         DMN_ETSIB               = 0xf0001000,
00088         DMN_ETSIC               = 0xf0002000,
00089         DMN_FCC1                = 0xf0004000,
00090         DMN_FCC2                = 0xf0008000,
00091         DMN_FCC3                = 0xf0010000,
00092         DMN_FCCA                = 0xf0020000,
00093         DMN_APLD                = 0xf0040000,
00094         DMN_MKK1                = 0xf0080000,
00095         DMN_MKK2                = 0xf0100000,
00096         DMN_MKKA                = 0xf0200000,
00097         DMN_NULL                = 0xf0400000,
00098         DMN_WORLD               = 0xf0800000,
00099         DMN_DEBUG               = 0xf1000000    /* used for debugging */
00100 };
00101 
00102 #define IEEE80211_DMN(_d)       ((_d) & ~0xf0000000)
00103 
00104 struct ieee80211_regdomainname {
00105         u_int32_t       rn_domain;
00106         const char      *rn_name;
00107 };
00108 
00109 #define IEEE80211_REGDOMAIN_NAMES {                                     \
00110         { DMN_APL1,                 "APL1" },                           \
00111         { DMN_APL1_APLA,            "APL1A" },                          \
00112         { DMN_APL1_ETSIC,           "APL1_ETSIC" },                     \
00113         { DMN_APL1_FCCA,            "APL1_FCCA" },                      \
00114         { DMN_APL1_WORLD,           "APL1W" },                          \
00115         { DMN_APL2,                 "APL2" },                           \
00116         { DMN_APL2_APLC,            "APL2C" },                          \
00117         { DMN_APL2_APLD,            "APL2D" },                          \
00118         { DMN_APL2_ETSIC,           "APL2_ETSIC" },                     \
00119         { DMN_APL2_WORLD,           "APL2W" },                          \
00120         { DMN_APL3,                 "APL3" },                           \
00121         { DMN_APL3_WORLD,           "APL3W" },                          \
00122         { DMN_APL4,                 "APL4" },                           \
00123         { DMN_APL4_WORLD,           "APL4W" },                          \
00124         { DMN_APL5,                 "APL5" },                           \
00125         { DMN_APL5_WORLD,           "APL5W" },                          \
00126         { DMN_APLD,                 "APLD" },                           \
00127         { DMN_APL_NULL,             "APL" },                            \
00128         { DMN_DEBUG,                "DEBUG" },                          \
00129         { DMN_ETSI1,                "ETSI1" },                          \
00130         { DMN_ETSI1_WORLD,          "ETSI1W" },                         \
00131         { DMN_ETSI2,                "ETSI2" },                          \
00132         { DMN_ETSI2_WORLD,          "ETSI2W" },                         \
00133         { DMN_ETSI3,                "ETSI3" },                          \
00134         { DMN_ETSI3_ETSIA,          "ETSI3A" },                         \
00135         { DMN_ETSI3_WORLD,          "ETSI3W," },                        \
00136         { DMN_ETSI4,                "ETSI4" },                          \
00137         { DMN_ETSI4_ETSIC,          "ETSI4C" },                         \
00138         { DMN_ETSI4_WORLD,          "ETSI4W" },                         \
00139         { DMN_ETSI5,                "ETSI5" },                          \
00140         { DMN_ETSI5_WORLD,          "ETSI5W" },                         \
00141         { DMN_ETSI6,                "ETSI6" },                          \
00142         { DMN_ETSI6_WORLD,          "ETSI6W" },                         \
00143         { DMN_ETSIA,                "ETSIA" },                          \
00144         { DMN_ETSIB,                "ETSIB" },                          \
00145         { DMN_ETSIC,                "ETSIC" },                          \
00146         { DMN_ETSI_NULL,            "ETSI" },                           \
00147         { DMN_EU1_WORLD,            "EU1W" },                           \
00148         { DMN_FCC1,                 "FCC1" },                           \
00149         { DMN_FCC1_FCCA,            "FCC1A" },                          \
00150         { DMN_FCC1_WORLD,           "FCC1W" },                          \
00151         { DMN_FCC2,                 "FCC2" },                           \
00152         { DMN_FCC2_ETSIC,           "FCC2C" },                          \
00153         { DMN_FCC2_FCCA,            "FCC2A" },                          \
00154         { DMN_FCC2_WORLD,           "FCC2W" },                          \
00155         { DMN_FCC3,                 "FCC3" },                           \
00156         { DMN_FCC3_FCCA,            "FCC3A" },                          \
00157         { DMN_FCCA,                 "FCCA" },                           \
00158         { DMN_FRANCE_NULL,          "FRANCE" },                         \
00159         { DMN_MKK1,                 "MKK1" },                           \
00160         { DMN_MKK1_FCCA,            "MKK1_FCCA" },                      \
00161         { DMN_MKK1_MKKA,            "MKK1A" },                          \
00162         { DMN_MKK1_MKKA1,           "MKK1A1" },                         \
00163         { DMN_MKK1_MKKA2,           "MKK1A2" },                         \
00164         { DMN_MKK1_MKKB,            "MKK1B" },                          \
00165         { DMN_MKK2,                 "MKK2" },                           \
00166         { DMN_MKK2_MKKA,            "MKK2A" },                          \
00167         { DMN_MKKA,                 "MKKA" },                           \
00168         { DMN_DEFAULT,              "NONE" },                           \
00169         { DMN_NULL,                 "NONE" },                           \
00170         { DMN_NULL_ETSIB,           "ETSIB" },                          \
00171         { DMN_NULL_ETSIC,           "ETSIC" },                          \
00172         { DMN_WOR01_WORLD,          "WOR01W" },                         \
00173         { DMN_WOR02_WORLD,          "WOR02W" },                         \
00174         { DMN_WOR0_WORLD,           "WOR0W" },                          \
00175         { DMN_WOR1_WORLD,           "WOR1W" },                          \
00176         { DMN_WOR2_WORLD,           "WOR2W" },                          \
00177         { DMN_WOR3_WORLD,           "WOR3W" },                          \
00178         { DMN_WOR4_WORLD,           "WOR4W" },                          \
00179         { DMN_WOR5_ETSIC,           "WOR5_ETSIC" },                     \
00180         { DMN_WOR9_WORLD,           "WOR9W" },                          \
00181         { DMN_WORA_WORLD,           "WORAW" },                          \
00182         { DMN_NULL_WORLD,           "WORLD" },                          \
00183         { DMN_WORLD,                "WORLD" }                           \
00184 }
00185 
00186 struct ieee80211_regdomainmap {
00187         u_int16_t       rm_domain;
00188         u_int32_t       rm_domain_5ghz;
00189         u_int32_t       rm_domain_2ghz;
00190 };
00191 
00192 #define IEEE80211_REGDOMAIN_MAP {                                       \
00193         { DMN_DEFAULT,          DMN_DEBUG,      DMN_DEBUG },            \
00194         { DMN_NULL_WORLD,       DMN_NULL,       DMN_WORLD },            \
00195         { DMN_NULL_ETSIB,       DMN_NULL,       DMN_ETSIB },            \
00196         { DMN_NULL_ETSIC,       DMN_NULL,       DMN_ETSIC },            \
00197         { DMN_FCC1_FCCA,        DMN_FCC1,       DMN_FCCA },             \
00198         { DMN_FCC1_WORLD,       DMN_FCC1,       DMN_WORLD },            \
00199         { DMN_FCC2_FCCA,        DMN_FCC2,       DMN_FCCA },             \
00200         { DMN_FCC2_WORLD,       DMN_FCC2,       DMN_WORLD },            \
00201         { DMN_FCC2_ETSIC,       DMN_FCC2,       DMN_ETSIC },            \
00202         { DMN_FRANCE_NULL,      DMN_ETSI3,      DMN_ETSI3 },            \
00203         { DMN_FCC3_FCCA,        DMN_FCC3,       DMN_WORLD },            \
00204         { DMN_ETSI1_WORLD,      DMN_ETSI1,      DMN_WORLD },            \
00205         { DMN_ETSI3_ETSIA,      DMN_ETSI3,      DMN_WORLD },            \
00206         { DMN_ETSI2_WORLD,      DMN_ETSI2,      DMN_WORLD },            \
00207         { DMN_ETSI3_WORLD,      DMN_ETSI3,      DMN_WORLD },            \
00208         { DMN_ETSI4_WORLD,      DMN_ETSI4,      DMN_WORLD },            \
00209         { DMN_ETSI4_ETSIC,      DMN_ETSI4,      DMN_ETSIC },            \
00210         { DMN_ETSI5_WORLD,      DMN_ETSI5,      DMN_WORLD },            \
00211         { DMN_ETSI6_WORLD,      DMN_ETSI6,      DMN_WORLD },            \
00212         { DMN_ETSI_NULL,        DMN_ETSI1,      DMN_ETSI1 },            \
00213         { DMN_MKK1_MKKA,        DMN_MKK1,       DMN_MKKA },             \
00214         { DMN_MKK1_MKKB,        DMN_MKK1,       DMN_MKKA },             \
00215         { DMN_APL4_WORLD,       DMN_APL4,       DMN_WORLD },            \
00216         { DMN_MKK2_MKKA,        DMN_MKK2,       DMN_MKKA },             \
00217         { DMN_APL_NULL,         DMN_APL1,       DMN_NULL },             \
00218         { DMN_APL2_WORLD,       DMN_APL2,       DMN_WORLD },            \
00219         { DMN_APL2_APLC,        DMN_APL2,       DMN_WORLD },            \
00220         { DMN_APL3_WORLD,       DMN_APL3,       DMN_WORLD },            \
00221         { DMN_MKK1_FCCA,        DMN_MKK1,       DMN_FCCA },             \
00222         { DMN_APL2_APLD,        DMN_APL2,       DMN_APLD },             \
00223         { DMN_MKK1_MKKA1,       DMN_MKK1,       DMN_MKKA },             \
00224         { DMN_MKK1_MKKA2,       DMN_MKK1,       DMN_MKKA },             \
00225         { DMN_APL1_WORLD,       DMN_APL1,       DMN_WORLD },            \
00226         { DMN_APL1_FCCA,        DMN_APL1,       DMN_FCCA },             \
00227         { DMN_APL1_APLA,        DMN_APL1,       DMN_WORLD },            \
00228         { DMN_APL1_ETSIC,       DMN_APL1,       DMN_ETSIC },            \
00229         { DMN_APL2_ETSIC,       DMN_APL2,       DMN_ETSIC },            \
00230         { DMN_APL5_WORLD,       DMN_APL5,       DMN_WORLD },            \
00231         { DMN_WOR0_WORLD,       DMN_WORLD,      DMN_WORLD },            \
00232         { DMN_WOR1_WORLD,       DMN_WORLD,      DMN_WORLD },            \
00233         { DMN_WOR2_WORLD,       DMN_WORLD,      DMN_WORLD },            \
00234         { DMN_WOR3_WORLD,       DMN_WORLD,      DMN_WORLD },            \
00235         { DMN_WOR4_WORLD,       DMN_WORLD,      DMN_WORLD },            \
00236         { DMN_WOR5_ETSIC,       DMN_WORLD,      DMN_WORLD },            \
00237         { DMN_WOR01_WORLD,      DMN_WORLD,      DMN_WORLD },            \
00238         { DMN_WOR02_WORLD,      DMN_WORLD,      DMN_WORLD },            \
00239         { DMN_EU1_WORLD,        DMN_ETSI1,      DMN_WORLD },            \
00240         { DMN_WOR9_WORLD,       DMN_WORLD,      DMN_WORLD },            \
00241         { DMN_WORA_WORLD,       DMN_WORLD,      DMN_WORLD },            \
00242 }
00243 
00244 #ifndef CTRY_DEFAULT
00245 #define CTRY_DEFAULT 0
00246 #endif /* CTRY_DEFAULT */
00247 
00248 enum ieee80211_countrycode {
00249         CTRY_ALBANIA            = 8,   /* Albania */
00250         CTRY_ALGERIA            = 12,  /* Algeria */
00251         CTRY_ARGENTINA          = 32,  /* Argentina */
00252         CTRY_ARMENIA            = 51,  /* Armenia */
00253         CTRY_AUSTRALIA          = 36,  /* Australia */
00254         CTRY_AUSTRIA            = 40,  /* Austria */
00255         CTRY_AZERBAIJAN         = 31,  /* Azerbaijan */
00256         CTRY_BAHRAIN            = 48,  /* Bahrain */
00257         CTRY_BELARUS            = 112, /* Belarus */
00258         CTRY_BELGIUM            = 56,  /* Belgium */
00259         CTRY_BELIZE             = 84,  /* Belize */
00260         CTRY_BOLIVIA            = 68,  /* Bolivia */
00261         CTRY_BRAZIL             = 76,  /* Brazil */
00262         CTRY_BRUNEI_DARUSSALAM  = 96,  /* Brunei Darussalam */
00263         CTRY_BULGARIA           = 100, /* Bulgaria */
00264         CTRY_CANADA             = 124, /* Canada */
00265         CTRY_CHILE              = 152, /* Chile */
00266         CTRY_CHINA              = 156, /* People's Republic of China */
00267         CTRY_COLOMBIA           = 170, /* Colombia */
00268         CTRY_COSTA_RICA         = 188, /* Costa Rica */
00269         CTRY_CROATIA            = 191, /* Croatia */
00270         CTRY_CYPRUS             = 196, /* Cyprus */
00271         CTRY_CZECH              = 203, /* Czech Republic */
00272         CTRY_DENMARK            = 208, /* Denmark */
00273         CTRY_DOMINICAN_REPUBLIC = 214, /* Dominican Republic */
00274         CTRY_ECUADOR            = 218, /* Ecuador */
00275         CTRY_EGYPT              = 818, /* Egypt */
00276         CTRY_EL_SALVADOR        = 222, /* El Salvador */
00277         CTRY_ESTONIA            = 233, /* Estonia */
00278         CTRY_FAEROE_ISLANDS     = 234, /* Faeroe Islands */
00279         CTRY_FINLAND            = 246, /* Finland */
00280         CTRY_FRANCE             = 250, /* France */
00281         CTRY_FRANCE2            = 255, /* France2 */
00282         CTRY_GEORGIA            = 268, /* Georgia */
00283         CTRY_GERMANY            = 276, /* Germany */
00284         CTRY_GREECE             = 300, /* Greece */
00285         CTRY_GUATEMALA          = 320, /* Guatemala */
00286         CTRY_HONDURAS           = 340, /* Honduras */
00287         CTRY_HONG_KONG          = 344, /* Hong Kong S.A.R., P.R.C. */
00288         CTRY_HUNGARY            = 348, /* Hungary */
00289         CTRY_ICELAND            = 352, /* Iceland */
00290         CTRY_INDIA              = 356, /* India */
00291         CTRY_INDONESIA          = 360, /* Indonesia */
00292         CTRY_IRAN               = 364, /* Iran */
00293         CTRY_IRAQ               = 368, /* Iraq */
00294         CTRY_IRELAND            = 372, /* Ireland */
00295         CTRY_ISRAEL             = 376, /* Israel */
00296         CTRY_ITALY              = 380, /* Italy */
00297         CTRY_JAMAICA            = 388, /* Jamaica */
00298         CTRY_JAPAN              = 392, /* Japan */
00299         CTRY_JAPAN1             = 393, /* Japan (JP1) */
00300         CTRY_JAPAN2             = 394, /* Japan (JP0) */
00301         CTRY_JAPAN3             = 395, /* Japan (JP1-1) */
00302         CTRY_JAPAN4             = 396, /* Japan (JE1) */
00303         CTRY_JAPAN5             = 397, /* Japan (JE2) */
00304         CTRY_JORDAN             = 400, /* Jordan */
00305         CTRY_KAZAKHSTAN         = 398, /* Kazakhstan */
00306         CTRY_KENYA              = 404, /* Kenya */
00307         CTRY_KOREA_NORTH        = 408, /* North Korea */
00308         CTRY_KOREA_ROC          = 410, /* South Korea */
00309         CTRY_KOREA_ROC2         = 411, /* South Korea */
00310         CTRY_KUWAIT             = 414, /* Kuwait */
00311         CTRY_LATVIA             = 428, /* Latvia */
00312         CTRY_LEBANON            = 422, /* Lebanon */
00313         CTRY_LIBYA              = 434, /* Libya */
00314         CTRY_LIECHTENSTEIN      = 438, /* Liechtenstein */
00315         CTRY_LITHUANIA          = 440, /* Lithuania */
00316         CTRY_LUXEMBOURG         = 442, /* Luxembourg */
00317         CTRY_MACAU              = 446, /* Macau */
00318         CTRY_MACEDONIA          = 807, /* Republic of Macedonia */
00319         CTRY_MALAYSIA           = 458, /* Malaysia */
00320         CTRY_MEXICO             = 484, /* Mexico */
00321         CTRY_MONACO             = 492, /* Principality of Monaco */
00322         CTRY_MOROCCO            = 504, /* Morocco */
00323         CTRY_NETHERLANDS        = 528, /* Netherlands */
00324         CTRY_NEW_ZEALAND        = 554, /* New Zealand */
00325         CTRY_NICARAGUA          = 558, /* Nicaragua */
00326         CTRY_NORWAY             = 578, /* Norway */
00327         CTRY_OMAN               = 512, /* Oman */
00328         CTRY_PAKISTAN           = 586, /* Islamic Republic of Pakistan */
00329         CTRY_PANAMA             = 591, /* Panama */
00330         CTRY_PARAGUAY           = 600, /* Paraguay */
00331         CTRY_PERU               = 604, /* Peru */
00332         CTRY_PHILIPPINES        = 608, /* Republic of the Philippines */
00333         CTRY_POLAND             = 616, /* Poland */
00334         CTRY_PORTUGAL           = 620, /* Portugal */
00335         CTRY_PUERTO_RICO        = 630, /* Puerto Rico */
00336         CTRY_QATAR              = 634, /* Qatar */
00337         CTRY_ROMANIA            = 642, /* Romania */
00338         CTRY_RUSSIA             = 643, /* Russia */
00339         CTRY_SAUDI_ARABIA       = 682, /* Saudi Arabia */
00340         CTRY_SINGAPORE          = 702, /* Singapore */
00341         CTRY_SLOVAKIA           = 703, /* Slovak Republic */
00342         CTRY_SLOVENIA           = 705, /* Slovenia */
00343         CTRY_SOUTH_AFRICA       = 710, /* South Africa */
00344         CTRY_SPAIN              = 724, /* Spain */
00345         CTRY_SRI_LANKA          = 728, /* Sri Lanka */
00346         CTRY_SWEDEN             = 752, /* Sweden */
00347         CTRY_SWITZERLAND        = 756, /* Switzerland */
00348         CTRY_SYRIA              = 760, /* Syria */
00349         CTRY_TAIWAN             = 158, /* Taiwan */
00350         CTRY_THAILAND           = 764, /* Thailand */
00351         CTRY_TRINIDAD_Y_TOBAGO  = 780, /* Trinidad y Tobago */
00352         CTRY_TUNISIA            = 788, /* Tunisia */
00353         CTRY_TURKEY             = 792, /* Turkey */
00354         CTRY_UAE                = 784, /* U.A.E. */
00355         CTRY_UKRAINE            = 804, /* Ukraine */
00356         CTRY_UNITED_KINGDOM     = 826, /* United Kingdom */
00357         CTRY_UNITED_STATES      = 840, /* United States */
00358         CTRY_URUGUAY            = 858, /* Uruguay */
00359         CTRY_UZBEKISTAN         = 860, /* Uzbekistan */
00360         CTRY_VENEZUELA          = 862, /* Venezuela */
00361         CTRY_VIET_NAM           = 704, /* Viet Nam */
00362         CTRY_YEMEN              = 887, /* Yemen */
00363         CTRY_ZIMBABWE           = 716, /* Zimbabwe */
00364 };
00365 
00366 struct ieee80211_countryname {
00367         u_int16_t       cn_code;
00368         const char      *cn_name;
00369         u_int32_t       cn_domain;
00370 };
00371 
00372 #define IEEE80211_REGDOMAIN_COUNTRY_NAMES {                             \
00373         { CTRY_DEFAULT,            "00", DMN_DEFAULT },                 \
00374         { CTRY_UAE,                "ae", DMN_NULL_WORLD },              \
00375         { CTRY_ALBANIA,            "al", DMN_NULL_WORLD },              \
00376         { CTRY_ARMENIA,            "am", DMN_ETSI4_WORLD },             \
00377         { CTRY_ARGENTINA,          "ar", DMN_APL3_WORLD },              \
00378         { CTRY_AUSTRIA,            "at", DMN_ETSI5_WORLD },             \
00379         { CTRY_AUSTRALIA,          "au", DMN_FCC2_WORLD },              \
00380         { CTRY_AZERBAIJAN,         "az", DMN_ETSI4_WORLD },             \
00381         { CTRY_BELGIUM,            "be", DMN_ETSI4_WORLD },             \
00382         { CTRY_BULGARIA,           "bg", DMN_ETSI6_WORLD },             \
00383         { CTRY_BAHRAIN,            "bh", DMN_NULL_WORLD },              \
00384         { CTRY_BRUNEI_DARUSSALAM,  "bn", DMN_APL1_WORLD },              \
00385         { CTRY_BOLIVIA,            "bo", DMN_APL1_ETSIC },              \
00386         { CTRY_BRAZIL,             "br", DMN_NULL_ETSIC },              \
00387         { CTRY_BELARUS,            "by", DMN_NULL_WORLD },              \
00388         { CTRY_BELIZE,             "bz", DMN_NULL_ETSIC },              \
00389         { CTRY_CANADA,             "ca", DMN_FCC2_FCCA },               \
00390         { CTRY_SWITZERLAND,        "ch", DMN_ETSI2_WORLD },             \
00391         { CTRY_CHILE,              "cl", DMN_APL5_WORLD },              \
00392         { CTRY_CHINA,              "cn", DMN_APL1_WORLD },              \
00393         { CTRY_COLOMBIA,           "co", DMN_FCC1_FCCA },               \
00394         { CTRY_COSTA_RICA,         "cr", DMN_NULL_WORLD },              \
00395         { CTRY_CYPRUS,             "cy", DMN_ETSI1_WORLD },             \
00396         { CTRY_CZECH,              "cz", DMN_ETSI3_WORLD },             \
00397         { CTRY_GERMANY,            "de", DMN_ETSI1_WORLD },             \
00398         { CTRY_DENMARK,            "dk", DMN_ETSI1_WORLD },             \
00399         { CTRY_DOMINICAN_REPUBLIC, "do", DMN_FCC1_FCCA },               \
00400         { CTRY_ALGERIA,            "dz", DMN_NULL_WORLD },              \
00401         { CTRY_ECUADOR,            "ec", DMN_NULL_WORLD },              \
00402         { CTRY_ESTONIA,            "ee", DMN_ETSI1_WORLD },             \
00403         { CTRY_EGYPT,              "eg", DMN_NULL_WORLD },              \
00404         { CTRY_SPAIN,              "es", DMN_ETSI1_WORLD },             \
00405         { CTRY_FRANCE2,            "f2", DMN_ETSI3_WORLD },             \
00406         { CTRY_FINLAND,            "fi", DMN_ETSI1_WORLD },             \
00407         { CTRY_FAEROE_ISLANDS,     "fo", DMN_NULL_WORLD },              \
00408         { CTRY_FRANCE,             "fr", DMN_ETSI3_WORLD },             \
00409         { CTRY_GEORGIA,            "ge", DMN_ETSI4_WORLD },             \
00410         { CTRY_GREECE,             "gr", DMN_NULL_WORLD },              \
00411         { CTRY_GUATEMALA,          "gt", DMN_FCC1_FCCA },               \
00412         { CTRY_HONG_KONG,          "hk", DMN_FCC2_WORLD },              \
00413         { CTRY_HONDURAS,           "hn", DMN_NULL_WORLD },              \
00414         { CTRY_CROATIA,            "hr", DMN_ETSI3_WORLD },             \
00415         { CTRY_HUNGARY,            "hu", DMN_ETSI2_WORLD },             \
00416         { CTRY_INDONESIA,          "id", DMN_NULL_WORLD },              \
00417         { CTRY_IRELAND,            "ie", DMN_ETSI1_WORLD },             \
00418         { CTRY_ISRAEL,             "il", DMN_NULL_WORLD },              \
00419         { CTRY_INDIA,              "in", DMN_NULL_WORLD },              \
00420         { CTRY_IRAQ,               "iq", DMN_NULL_WORLD },              \
00421         { CTRY_IRAN,               "ir", DMN_APL1_WORLD },              \
00422         { CTRY_ICELAND,            "is", DMN_ETSI1_WORLD },             \
00423         { CTRY_ITALY,              "it", DMN_ETSI1_WORLD },             \
00424         { CTRY_JAPAN1,             "j1", DMN_MKK1_MKKB },               \
00425         { CTRY_JAPAN2,             "j2", DMN_MKK1_FCCA },               \
00426         { CTRY_JAPAN3,             "j3", DMN_MKK2_MKKA },               \
00427         { CTRY_JAPAN4,             "j4", DMN_MKK1_MKKA1 },              \
00428         { CTRY_JAPAN5,             "j5", DMN_MKK1_MKKA2 },              \
00429         { CTRY_JAMAICA,            "jm", DMN_NULL_WORLD },              \
00430         { CTRY_JORDAN,             "jo", DMN_NULL_WORLD },              \
00431         { CTRY_JAPAN,              "jp", DMN_MKK1_MKKA },               \
00432         { CTRY_KOREA_ROC2,         "k2", DMN_APL2_APLD },               \
00433         { CTRY_KENYA,              "ke", DMN_NULL_WORLD },              \
00434         { CTRY_KOREA_NORTH,        "kp", DMN_APL2_WORLD },              \
00435         { CTRY_KOREA_ROC,          "kr", DMN_APL2_WORLD },              \
00436         { CTRY_KUWAIT,             "kw", DMN_NULL_WORLD },              \
00437         { CTRY_KAZAKHSTAN,         "kz", DMN_NULL_WORLD },              \
00438         { CTRY_LEBANON,            "lb", DMN_NULL_WORLD },              \
00439         { CTRY_LIECHTENSTEIN,      "li", DMN_ETSI2_WORLD },             \
00440         { CTRY_SRI_LANKA,          "lk", DMN_NULL_WORLD },              \
00441         { CTRY_LITHUANIA,          "lt", DMN_ETSI1_WORLD },             \
00442         { CTRY_LUXEMBOURG,         "lu", DMN_ETSI1_WORLD },             \
00443         { CTRY_LATVIA,             "lv", DMN_NULL_WORLD },              \
00444         { CTRY_LIBYA,              "ly", DMN_NULL_WORLD },              \
00445         { CTRY_MOROCCO,            "ma", DMN_NULL_WORLD },              \
00446         { CTRY_MONACO,             "mc", DMN_ETSI4_WORLD },             \
00447         { CTRY_MACEDONIA,          "mk", DMN_NULL_WORLD },              \
00448         { CTRY_MACAU,              "mo", DMN_FCC2_WORLD },              \
00449         { CTRY_MEXICO,             "mx", DMN_FCC1_FCCA },               \
00450         { CTRY_MALAYSIA,           "my", DMN_NULL_WORLD },              \
00451         { CTRY_NICARAGUA,          "ni", DMN_NULL_WORLD },              \
00452         { CTRY_NETHERLANDS,        "nl", DMN_ETSI1_WORLD },             \
00453         { CTRY_NORWAY,             "no", DMN_ETSI1_WORLD },             \
00454         { CTRY_NEW_ZEALAND,        "nz", DMN_FCC2_ETSIC },              \
00455         { CTRY_OMAN,               "om", DMN_NULL_WORLD },              \
00456         { CTRY_PANAMA,             "pa", DMN_FCC1_FCCA },               \
00457         { CTRY_PERU,               "pe", DMN_NULL_WORLD },              \
00458         { CTRY_PHILIPPINES,        "ph", DMN_FCC1_WORLD },              \
00459         { CTRY_PAKISTAN,           "pk", DMN_NULL_WORLD },              \
00460         { CTRY_POLAND,             "pl", DMN_ETSI1_WORLD },             \
00461         { CTRY_PUERTO_RICO,        "pr", DMN_FCC1_FCCA },               \
00462         { CTRY_PORTUGAL,           "pt", DMN_ETSI1_WORLD },             \
00463         { CTRY_PARAGUAY,           "py", DMN_NULL_WORLD },              \
00464         { CTRY_QATAR,              "qa", DMN_NULL_WORLD },              \
00465         { CTRY_ROMANIA,            "ro", DMN_NULL_WORLD },              \
00466         { CTRY_RUSSIA,             "ru", DMN_NULL_WORLD },              \
00467         { CTRY_SAUDI_ARABIA,       "sa", DMN_NULL_WORLD },              \
00468         { CTRY_SWEDEN,             "se", DMN_ETSI1_WORLD },             \
00469         { CTRY_SINGAPORE,          "sg", DMN_APL4_WORLD },              \
00470         { CTRY_SLOVENIA,           "si", DMN_ETSI1_WORLD },             \
00471         { CTRY_SLOVAKIA,           "sk", DMN_ETSI3_WORLD },             \
00472         { CTRY_EL_SALVADOR,        "sv", DMN_NULL_WORLD },              \
00473         { CTRY_SYRIA,              "sy", DMN_NULL_WORLD },              \
00474         { CTRY_THAILAND,           "th", DMN_APL2_WORLD },              \
00475         { CTRY_TUNISIA,            "tn", DMN_ETSI3_WORLD },             \
00476         { CTRY_TURKEY,             "tr", DMN_ETSI3_WORLD },             \
00477         { CTRY_TRINIDAD_Y_TOBAGO,  "tt", DMN_ETSI4_WORLD },             \
00478         { CTRY_TAIWAN,             "tw", DMN_APL3_WORLD },              \
00479         { CTRY_UKRAINE,            "ua", DMN_NULL_WORLD },              \
00480         { CTRY_UNITED_KINGDOM,     "uk", DMN_ETSI1_WORLD },             \
00481         { CTRY_UNITED_STATES,      "us", DMN_FCC1_FCCA },               \
00482         { CTRY_URUGUAY,            "uy", DMN_APL2_WORLD },              \
00483         { CTRY_UZBEKISTAN,         "uz", DMN_FCC3_FCCA },               \
00484         { CTRY_VENEZUELA,          "ve", DMN_APL2_ETSIC },              \
00485         { CTRY_VIET_NAM,           "vn", DMN_NULL_WORLD },              \
00486         { CTRY_YEMEN,              "ye", DMN_NULL_WORLD },              \
00487         { CTRY_SOUTH_AFRICA,       "za", DMN_ETSI1_WORLD },             \
00488         { CTRY_ZIMBABWE,           "zw", DMN_NULL_WORLD },              \
00489 }
00490 
00491 enum ieee80211_ctl {
00492         CTL_11A         = 0x00,
00493         CTL_11B         = 0x01,
00494         CTL_11G         = 0x02,
00495         CTL_TURBO       = 0x03,
00496         CTL_TURBO_G     = 0x04,
00497         CTL_FCC         = 0x10,
00498         CTL_ETSI        = 0x30,
00499         CTL_MKK         = 0x40,
00500         CTL_NONEA       = 0xff
00501 };
00502 
00503 #define IEEE80211_CHANNELS_2GHZ_MIN     2412    /* 2GHz channel 1 */
00504 #define IEEE80211_CHANNELS_2GHZ_MAX     2732    /* 2GHz channel 26 */
00505 
00506 struct ieee80211_regchannel {
00507         u_int16_t       rc_channel;
00508         u_int32_t       rc_domain;
00509         u_int32_t       rc_mode;
00510 };
00511 
00512 #define IEEE80211_CHANNELS_2GHZ {       \
00513         { 2412, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00514         { 2417, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00515         { 2422, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00516         { 2427, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00517         { 2432, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00518         { 2437, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00519         { 2442, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00520         { 2447, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00521         { 2452, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00522         { 2457, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00523         { 2462, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00524         { 2467, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00525         { 2472, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00526         { 2477, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00527         { 2482, DMN_FCC1, IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN },        \
00528 }
00529 
00530 #define IEEE80211_CHANNELS_5GHZ_MIN     5005    /* 5GHz channel 1 */
00531 #define IEEE80211_CHANNELS_5GHZ_MAX     6100    /* 5GHz channel 220 */
00532 
00533 #define IEEE80211_CHANNELS_5GHZ {                                       \
00534         { 5180, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00535         { 5200, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00536         { 5210, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO },\
00537         { 5220, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00538         { 5240, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00539         { 5250, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO },\
00540         { 5260, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00541         { 5280, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00542         { 5290, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO },\
00543         { 5300, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00544         { 5320, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00545         { 5745, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00546         { 5760, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO },\
00547         { 5765, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00548         { 5785, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00549         { 5800, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO },\
00550         { 5805, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00551         { 5825, DMN_FCC1, IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM },\
00552 }
00553 
00554 extern u_int16_t         ieee80211_name2countrycode(const char *);
00555 extern u_int32_t         ieee80211_name2regdomain(const char *);
00556 extern const char       *ieee80211_countrycode2name(u_int16_t);
00557 extern const char       *ieee80211_regdomain2name(u_int32_t);
00558 extern u_int32_t         ieee80211_regdomain2flag(u_int16_t, u_int16_t);
00559 extern u_int32_t         ieee80211_countrycode2regdomain(u_int16_t);
00560 
00561 #endif /* _NET80211_IEEE80211_REGDOMAIN_H_ */

Generated on Mon Nov 21 15:58:11 2005 for openwifi by  doxygen 1.4.1