1 .\" $NetBSD: ieee80211.4,v 1.3 2005/12/26 19:48:12 perry Exp $
4 .\" The Aerospace Corporation. All rights reserved.
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\" notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\" notice, this list of conditions and the following disclaimer in the
13 .\" documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\" may be used to endorse or promote products derived from this software
16 .\" without specific prior written permission.
18 .\" THIS SOFTWARE IS PROVIDED BY THE AEROSPACE CORPORATION ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AEROSPACE CORPORATION BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" $FreeBSD: src/share/man/man4/ieee80211.4,v 1.9 2005/02/13 23:45:49 ru Exp $
37 .Nd standard interface to IEEE 802.11 devices
43 .In net/if_ieee80211.h
45 This section describes the standard interface to configuration
46 and status information on IEEE 802.11 devices.
47 Most devices support options not configurable by this interface.
48 They must be set by their respective, specific control program.
49 The interface is via one
53 .Bl -tag -width ".Dv SIOCG80211"
55 Get configuration or status information.
57 Set configuration information.
60 These requests are made via a modified
63 This structure is defined as follows:
66 char i_name[IFNAMSIZ]; /* if_name, e.g. "wi0" */
67 uint16_t i_type; /* req type */
68 int16_t i_val; /* Index or simple value */
69 int16_t i_len; /* Index or simple value */
70 void *i_data; /* Extra data */
76 the following values of
79 .Bl -tag -width indent
80 .It Dv IEEE80211_IOC_SSID
81 Returns the requested SSID by copying it into the buffer pointed to by
88 is \*[Gt]= 0 then the request refers to the configured value for that slot.
89 Generally, 0 is the only valid value, but some interfaces support more
93 is \-1 then the request refers to the currently active value.
94 .It Dv IEEE80211_IOC_NUMSSIDS
95 Returns the number of SSIDs this card supports.
96 In most cases, this is
97 1, but some devices such as
100 .It Dv IEEE80211_IOC_WEP
101 Returns the current WEP status in
104 .Dv IEEE80211_WEP_NOSUP , IEEE80211_WEP_ON , IEEE80211_WEP_OFF ,
106 .Dv IEEE80211_WEP_MIXED .
107 Respectively, these values mean unsupported, mandatory for all devices,
108 off, and on, but not required for all devices.
109 .It Dv IEEE80211_IOC_WEPKEY
110 Returns the requested WEP key via
114 If the device does not support returning the WEP key or the user is not
115 root then the key may be returned as all zeros.
116 Technically this is a
117 valid key, but it is the kind of key an idiot would put on his luggage so
118 we use it as a special value.
119 Generally, only four WEP keys are allowed, but some devices support more.
120 If so, the first four (0-3) are
121 the standard keys stored in volatile storage and the others are device
123 .It Dv IEEE80211_IOC_NUMWEPKEYS
124 Returns the number of WEP keys supported by this device, generally 4.
125 A device that does not support WEP may either report 0 or simply return
127 .It Dv IEEE80211_IOC_WEPTXKEY
128 Returns the WEP key used for transmission.
129 .It Dv IEEE80211_IOC_AUTHMODE
130 Returns the current authentication mode in
133 .Dv IEEE80211_AUTH_NONE , IEEE80211_AUTH_OPEN ,
135 .Dv IEEE80211_AUTH_SHARED .
136 .It Dv IEEE80211_IOC_STATIONNAME
137 Returns the station name via
141 While all known devices seem to support this in some way or another,
142 they all do it differently and it appears to not have anything to do
143 with the actual IEEE 802.11 standard so making up an answer may be
144 necessary for future devices.
145 .It Dv IEEE80211_IOC_CHANNEL
146 Returns the current direct sequence spread spectrum channel in use.
147 .It Dv IEEE80211_IOC_POWERSAVE
148 Returns the current powersaving mode.
150 .Dv IEEE80211_POWERSAVE_NOSUP , IEEE80211_POWERSAVE_OFF ,
151 .Dv IEEE80211_POWERSAVE_ON , IEEE80211_POWERSAVE_CAM ,
152 .Dv IEEE80211_POWERSAVE_PSP ,
154 .Dv IEEE80211_POWERSAVE_PSP_CAM .
156 .Dv IEEE80211_POWERSAVE_ON
157 is defined to be equal to
158 .Dv IEEE80211_POWERSAVE_CAM ,
159 but this may be incorrect.
160 .It Dv IEEE80211_IOC_POWERSAVESLEEP
161 Returns the powersave sleep time in msec in
167 the following values of
170 .Bl -tag -width indent
171 .It Dv IEEE80211_IOC_SSID
172 Set the desired SSID for infrastructure and ad-hoc modes to value given
177 The length should be no longer than 32 characters.
178 .It Dv IEEE80211_IOC_WEP
179 Set the current WEP mode to the value given in
181 Valid values are the same as those for this value above.
183 do not support all modes may choose to either return
185 or choose a reasonable alternate (supported) setting.
186 .It Dv IEEE80211_IOC_WEPKEY
187 Set the WEP key indicated by
189 to the value given by
193 Generally, valid values of
195 are 0, 5, and 13 though not all devices with WEP support have support
197 .It Dv IEEE80211_IOC_WEPTXKEY
198 Set the WEP key used for transmission to the value in
200 Not all values which are valid for setting keys may be valid for setting
201 transmit keys due to strange device interfaces.
202 .It Dv IEEE80211_IOC_AUTHMODE
203 Set the current authorization mode to the value given in
205 Valid values are given above.
206 Not all devices support this.
207 .It Dv IEEE80211_IOC_STATIONNAME
208 Set the station name to the value given by
212 The standard does not appear to deal with this feature so the range of
213 valid values may vary from device to device.
214 .It Dv IEEE80211_IOC_CHANNEL
215 Set the desired ad-hoc channel to the value given by
217 On some devices this has an impact on infrastructure mode as well.
218 Valid values are 1-14, but 0 should be allowed and should return the
219 device to the default value.
220 May devices support this directly by
221 converting any invalid value to the default value.
222 .It Dv IEEE80211_IOC_POWERSAVE
223 Set the current powersaving mode to the value given in
225 Valid values are the same as those for this value above.
227 do not support all modes may choose to either return
229 or choose a reasonable alternate (supported) setting.
232 .It Dv IEEE80211_IOC_POWERSAVESLEEP
233 Set the powersave sleep time in msec to the value in