ieee80211(4)
NAME
ieee80211 - standard interface to IEEE 802.11 devices
SYNOPSIS
#include <sys/types.h> #include <sys/socket.h> #include <net/if.h> #include <net/ethernet.h> #include <net/if_ieee80211.h>
DESCRIPTION
- This section describes the standard interface to configura
- tion and status
information on IEEE 802.11 devices. Most devices support - options not
configurable by this interface. They must be set by their - respective,
specific control program. The interface is via one of the - following
ioctl(2) calls on a socket: - SIOCG80211 Get configuration or status information.
- SIOCS80211 Set configuration information.
- These requests are made via a modified ifreq structure.
- This structure
is defined as follows: - struct ieee80211req {
- char i_name[IFNAMSIZ]; /* if_name,
- e.g. "wi0" */
u_int16_t i_type; /* req type - */
int16_t i_val; /* Index or - simple value */
int16_t i_len; /* Index or - simple value */
void *i_data; /* Extra da - ta */
- };
- For SIOCG80211 the following values of i_type are valid:
- IEEE80211_IOC_SSID
- Returns the requested SSID by copying it into the
- buffer pointed
to by i_data and setting i_len to the length. If - i_val is >= 0
then the request refers to the configured value for - that slot.
Generally, 0 is the only valid value, but some in - terfaces support
more SSIDs. If i_val is -1 then the request refers - to the currently active value.
- IEEE80211_IOC_NUMSSIDS
- Returns the number of SSIDs this card supports. In
- most cases,
this is 1, but some devices such as an(4) support - more.
- IEEE80211_IOC_WEP
- Returns the current WEP status in i_val. Valid val
- ues are
IEEE80211_WEP_NOSUP, IEEE80211_WEP_ON, - IEEE80211_WEP_OFF, and
IEEE80211_WEP_MIXED. Respectively, these values - mean unsupported, mandatory for all devices, off, and on, but
- not required
for all devices. - IEEE80211_IOC_WEPKEY
- Returns the requested WEP key via i_data and its
- length via
i_len. If the device does not support returning the - WEP key or
the user is not root then the key may be returned as - all zeros.
Technically this is a valid key, but it is the kind - of key an
idiot would put on his luggage so we use it as a - special value.
Generally, only four WEP keys are allowed, but some - devices support more. If so, the first four (0-3) are the
- standard keys
stored in volatile storage and the others are device - specific.
- IEEE80211_IOC_NUMWEPKEYS
- Returns the number of WEP keys supported by this de
- vice, generally 4. A device that does not support WEP may ei
- ther report 0
or simply return EINVAL. - IEEE80211_IOC_WEPTXKEY
- Returns the WEP key used for transmission.
- IEEE80211_IOC_AUTHMODE
- Returns the current authentication mode in i_val.
- Valid values
are IEEE80211_AUTH_NONE, IEEE80211_AUTH_OPEN, and
IEEE80211_AUTH_SHARED. - IEEE80211_IOC_STATIONNAME
- Returns the station name via i_data and its length
- via i_len.
While all known devices seem to support this in some - way or
another, they all do it differently and it appears - to not have
anything to do with the actual IEEE 802.11 standard - so making up
an answer may be necessary for future devices. - IEEE80211_IOC_CHANNEL
- Returns the current direct sequence spread spectrum
- channel in
use. - IEEE80211_IOC_POWERSAVE
- Returns the current powersaving mode. Valid values
- are
IEEE80211_POWERSAVE_NOSUP, IEEE80211_POWERSAVE_OFF,
IEEE80211_POWERSAVE_ON, IEEE80211_POWERSAVE_CAM,
IEEE80211_POWERSAVE_PSP, and IEEE80211_POWER - SAVE_PSP_CAM. Currently, IEEE80211_POWERSAVE_ON is defined to be
- equal to
IEEE80211_POWERSAVE_CAM, but this may be incorrect. - IEEE80211_IOC_POWERSAVESLEEP
- Returns the powersave sleep time in msec in i_val.
- For SIOCS80211 the following values of i_type are valid:
- IEEE80211_IOC_SSID
- Set the desired SSID for infrastructure and ad-hoc
- modes to value
given by i_data and i_len. The length should be no - longer than
32 characters. - IEEE80211_IOC_WEP
- Set the current WEP mode to the value given in
- i_val. Valid values are the same as those for this value above. De
- vices which do
not support all modes may choose to either return - EINVAL or
choose a reasonable alternate (supported) setting. - IEEE80211_IOC_WEPKEY
- Set the WEP key indicated by i_val to the value giv
- en by i_data
and i_len. Generally, valid values of i_len are 0, - 5, and 13
though not all devices with WEP support have support - for 13-byte
keys. - IEEE80211_IOC_WEPTXKEY
- Set the WEP key used for transmission to the value
- in i_val. Not
all values which are valid for setting keys may be - valid for setting transmit keys due to strange device interfaces.
- IEEE80211_IOC_AUTHMODE
- Set the current authorization mode to the value giv
- en in i_val.
Valid values are given above. Not all devices sup - port this.
- IEEE80211_IOC_STATIONNAME
- Set the station name to the value given by i_data
- and i_len. The
standard does not appear to deal with this feature - so the range
of valid values may vary from device to device. - IEEE80211_IOC_CHANNEL
- Set the desired ad-hoc channel to the value given by
- i_val. On
some devices this has an impact on infrastructure - mode as well.
Valid values are 1-14, but 0 should be allowed and - should return
the device to the default value. May devices sup - port this
directly by converting any invalid value to the de - fault value.
- IEEE80211_IOC_POWERSAVE
- Set the current powersaving mode to the value given
- in i_val.
Valid values are the same as those for this value - above. Devices
which do not support all modes may choose to either - return EINVAL
or choose a reasonable alternate (supported) set - ting. Most
devices only support CAM mode. - IEEE80211_IOC_POWERSAVESLEEP
- Set the powersave sleep time in msec to the value in
- i_val.
SEE ALSO
HISTORY
- The ieee80211 manual appeared in FreeBSD 4.3.
- BSD February 23, 2001