unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (FreeBSD-5.4-RELEASE)
Page:
Section:
Apropos / Subsearch:
optional field

IEEE80211(4)             BSD Kernel Interfaces Manual             IEEE80211(4)

NAME
     ieee80211 -- standard interface to IEEE 802.11 devices

SYNOPSIS
     #include <&lt;sys/types.h>&gt;
     #include <&lt;sys/socket.h>&gt;
     #include <&lt;net/if.h>&gt;
     #include <&lt;net/ethernet.h>&gt;
     #include <&lt;net/if_ieee80211.h>&gt;

DESCRIPTION
     This section describes the standard interface to configuration 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 data */
     };

     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 config-
                                   ured value for that slot.  Generally, 0 is
                                   the only valid value, but some interfaces
                                   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 sup-
                                   ports.  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 values 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's 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 sup-
                                   port more.  If so, the first four (0-3) are
                                   the standard keys stored in volatile stor-
                                   age and the others are device specific.

     IEEE80211_IOC_NUMWEPKEYS      Returns the number of WEP keys supported by
                                   this device, generally 4.  A device that
                                   does not support WEP may either 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_POWERSAVE_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.  Devices 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 given by i_data and i_len.  Gener-
                                   ally, 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 given in i_val.  Valid values are
                                   given above.  Not all devices support 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 support this
                                   directly by converting any invalid value to
                                   the default 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) setting.
                                   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                           BSD