1 /*-
2 * Copyright (c) 2005-2007 Sam Leffler, Errno Consulting
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 *
25 * $FreeBSD$
26 */
27 #ifndef _NET80211_IEEE80211_REGDOMAIN_H_
28 #define _NET80211_IEEE80211_REGDOMAIN_H_
29
30 /*
31 * 802.11 regulatory domain definitions.
32 */
33
34 /*
35 * ISO 3166 Country/Region Codes
36 * http://ftp.ics.uci.edu/pub/ietf/http/related/iso3166.txt
37 */
38 enum ISOCountryCode {
39 CTRY_AFGHANISTAN = 4,
40 CTRY_ALBANIA = 8, /* Albania */
41 CTRY_ALGERIA = 12, /* Algeria */
42 CTRY_AMERICAN_SAMOA = 16,
43 CTRY_ANDORRA = 20,
44 CTRY_ANGOLA = 24,
45 CTRY_ANGUILLA = 660,
46 /* XXX correct remainder */
47 CTRY_ARGENTINA = 32, /* Argentina */
48 CTRY_ARMENIA = 51, /* Armenia */
49 CTRY_AUSTRALIA = 36, /* Australia */
50 CTRY_AUSTRIA = 40, /* Austria */
51 CTRY_AZERBAIJAN = 31, /* Azerbaijan */
52 CTRY_BAHRAIN = 48, /* Bahrain */
53 CTRY_BELARUS = 112, /* Belarus */
54 CTRY_BELGIUM = 56, /* Belgium */
55 CTRY_BELIZE = 84, /* Belize */
56 CTRY_BOLIVIA = 68, /* Bolivia */
57 CTRY_BRAZIL = 76, /* Brazil */
58 CTRY_BRUNEI_DARUSSALAM = 96, /* Brunei Darussalam */
59 CTRY_BULGARIA = 100, /* Bulgaria */
60 CTRY_CANADA = 124, /* Canada */
61 CTRY_CHILE = 152, /* Chile */
62 CTRY_CHINA = 156, /* People's Republic of China */
63 CTRY_COLOMBIA = 170, /* Colombia */
64 CTRY_COSTA_RICA = 188, /* Costa Rica */
65 CTRY_CROATIA = 191, /* Croatia */
66 CTRY_CYPRUS = 196, /* Cyprus */
67 CTRY_CZECH = 203, /* Czech Republic */
68 CTRY_DENMARK = 208, /* Denmark */
69 CTRY_DOMINICAN_REPUBLIC = 214, /* Dominican Republic */
70 CTRY_ECUADOR = 218, /* Ecuador */
71 CTRY_EGYPT = 818, /* Egypt */
72 CTRY_EL_SALVADOR = 222, /* El Salvador */
73 CTRY_ESTONIA = 233, /* Estonia */
74 CTRY_FAEROE_ISLANDS = 234, /* Faeroe Islands */
75 CTRY_FINLAND = 246, /* Finland */
76 CTRY_FRANCE = 250, /* France */
77 CTRY_FRANCE2 = 255, /* France2 */
78 CTRY_GEORGIA = 268, /* Georgia */
79 CTRY_GERMANY = 276, /* Germany */
80 CTRY_GREECE = 300, /* Greece */
81 CTRY_GUATEMALA = 320, /* Guatemala */
82 CTRY_HONDURAS = 340, /* Honduras */
83 CTRY_HONG_KONG = 344, /* Hong Kong S.A.R., P.R.C. */
84 CTRY_HUNGARY = 348, /* Hungary */
85 CTRY_ICELAND = 352, /* Iceland */
86 CTRY_INDIA = 356, /* India */
87 CTRY_INDONESIA = 360, /* Indonesia */
88 CTRY_IRAN = 364, /* Iran */
89 CTRY_IRAQ = 368, /* Iraq */
90 CTRY_IRELAND = 372, /* Ireland */
91 CTRY_ISRAEL = 376, /* Israel */
92 CTRY_ITALY = 380, /* Italy */
93 CTRY_JAMAICA = 388, /* Jamaica */
94 CTRY_JAPAN = 392, /* Japan */
95 CTRY_JAPAN1 = 393, /* Japan (JP1) */
96 CTRY_JAPAN2 = 394, /* Japan (JP0) */
97 CTRY_JAPAN3 = 395, /* Japan (JP1-1) */
98 CTRY_JAPAN4 = 396, /* Japan (JE1) */
99 CTRY_JAPAN5 = 397, /* Japan (JE2) */
100 CTRY_JORDAN = 400, /* Jordan */
101 CTRY_KAZAKHSTAN = 398, /* Kazakhstan */
102 CTRY_KENYA = 404, /* Kenya */
103 CTRY_KOREA_NORTH = 408, /* North Korea */
104 CTRY_KOREA_ROC = 410, /* South Korea */
105 CTRY_KOREA_ROC2 = 411, /* South Korea */
106 CTRY_KUWAIT = 414, /* Kuwait */
107 CTRY_LATVIA = 428, /* Latvia */
108 CTRY_LEBANON = 422, /* Lebanon */
109 CTRY_LIBYA = 434, /* Libya */
110 CTRY_LIECHTENSTEIN = 438, /* Liechtenstein */
111 CTRY_LITHUANIA = 440, /* Lithuania */
112 CTRY_LUXEMBOURG = 442, /* Luxembourg */
113 CTRY_MACAU = 446, /* Macau */
114 CTRY_MACEDONIA = 807, /* the Former Yugoslav Republic of Macedonia */
115 CTRY_MALAYSIA = 458, /* Malaysia */
116 CTRY_MEXICO = 484, /* Mexico */
117 CTRY_MONACO = 492, /* Principality of Monaco */
118 CTRY_MOROCCO = 504, /* Morocco */
119 CTRY_NETHERLANDS = 528, /* Netherlands */
120 CTRY_NEW_ZEALAND = 554, /* New Zealand */
121 CTRY_NICARAGUA = 558, /* Nicaragua */
122 CTRY_NORWAY = 578, /* Norway */
123 CTRY_OMAN = 512, /* Oman */
124 CTRY_PAKISTAN = 586, /* Islamic Republic of Pakistan */
125 CTRY_PANAMA = 591, /* Panama */
126 CTRY_PARAGUAY = 600, /* Paraguay */
127 CTRY_PERU = 604, /* Peru */
128 CTRY_PHILIPPINES = 608, /* Republic of the Philippines */
129 CTRY_POLAND = 616, /* Poland */
130 CTRY_PORTUGAL = 620, /* Portugal */
131 CTRY_PUERTO_RICO = 630, /* Puerto Rico */
132 CTRY_QATAR = 634, /* Qatar */
133 CTRY_ROMANIA = 642, /* Romania */
134 CTRY_RUSSIA = 643, /* Russia */
135 CTRY_SAUDI_ARABIA = 682, /* Saudi Arabia */
136 CTRY_SINGAPORE = 702, /* Singapore */
137 CTRY_SLOVAKIA = 703, /* Slovak Republic */
138 CTRY_SLOVENIA = 705, /* Slovenia */
139 CTRY_SOUTH_AFRICA = 710, /* South Africa */
140 CTRY_SPAIN = 724, /* Spain */
141 CTRY_SWEDEN = 752, /* Sweden */
142 CTRY_SWITZERLAND = 756, /* Switzerland */
143 CTRY_SYRIA = 760, /* Syria */
144 CTRY_TAIWAN = 158, /* Taiwan */
145 CTRY_THAILAND = 764, /* Thailand */
146 CTRY_TRINIDAD_Y_TOBAGO = 780, /* Trinidad y Tobago */
147 CTRY_TUNISIA = 788, /* Tunisia */
148 CTRY_TURKEY = 792, /* Turkey */
149 CTRY_UAE = 784, /* U.A.E. */
150 CTRY_UKRAINE = 804, /* Ukraine */
151 CTRY_UNITED_KINGDOM = 826, /* United Kingdom */
152 CTRY_UNITED_STATES = 840, /* United States */
153 CTRY_URUGUAY = 858, /* Uruguay */
154 CTRY_UZBEKISTAN = 860, /* Uzbekistan */
155 CTRY_VENEZUELA = 862, /* Venezuela */
156 CTRY_VIET_NAM = 704, /* Viet Nam */
157 CTRY_YEMEN = 887, /* Yemen */
158 CTRY_ZIMBABWE = 716, /* Zimbabwe */
159 };
160
161 #if defined(__KERNEL__) || defined(_KERNEL)
162 #define CTRY_DEBUG 0x1ff /* debug */
163 #define CTRY_DEFAULT 0 /* default */
164
165 void ieee80211_regdomain_attach(struct ieee80211com *);
166 void ieee80211_regdomain_detach(struct ieee80211com *);
167
168 void ieee80211_init_channels(struct ieee80211com *ic,
169 int rd, enum ISOCountryCode cc, int bands, int outdoor, int ecm);
170 uint8_t *ieee80211_add_countryie(uint8_t *, struct ieee80211com *,
171 enum ISOCountryCode cc, int location);
172 const char *ieee80211_cctoiso(enum ISOCountryCode);
173 int ieee80211_isotocc(const char iso[2]);
174 #endif /* defined(__KERNEL__) || defined(_KERNEL) */
175 #endif /* _NET80211_IEEE80211_REGDOMAIN_H_ */
Cache object: 62cc1dad3dc1c3bebefa0be2eef557ad
|