Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
IEEE80211(4)	       FreeBSD Kernel Interfaces Manual		  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 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.

FreeBSD	10.2		       February	23, 2001		  FreeBSD 10.2

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ieee80211&sektion=4&manpath=FreeBSD+5.3-RELEASE+and+Ports>

home | help