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

ioctl(2), an(4), ray(4), wi(4), ancontrol(8), ifconfig(8),
raycontrol(8),
wicontrol(8)

HISTORY

The ieee80211 manual appeared in FreeBSD 4.3.
BSD February 23, 2001
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout