summaryrefslogtreecommitdiffstats
path: root/share/man
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-07-12 03:19:25 +0000
committersam <sam@FreeBSD.org>2009-07-12 03:19:25 +0000
commit0c0e79f64e206dc5024b6bd64f8fb62ca80668fd (patch)
treed0abc3f32d32324e6fb635dd970258f7276d4dc9 /share/man
parentf9e85cc3623a95d09e98f45f578d812b0e960b17 (diff)
downloadFreeBSD-src-0c0e79f64e206dc5024b6bd64f8fb62ca80668fd.zip
FreeBSD-src-0c0e79f64e206dc5024b6bd64f8fb62ca80668fd.tar.gz
first cut at documenting ioctl api's for net80211
(replaces mostly incorrect information) Approved by: re (blanket)
Diffstat (limited to 'share/man')
-rw-r--r--share/man/man4/Makefile2
-rw-r--r--share/man/man4/ieee80211.4246
-rw-r--r--share/man/man4/net80211.41302
3 files changed, 1303 insertions, 247 deletions
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index b56d117..958a3c2 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -131,7 +131,6 @@ MAN= aac.4 \
icmp6.4 \
ida.4 \
idt.4 \
- ieee80211.4 \
ifmib.4 \
igb.4 \
igmp.4 \
@@ -216,6 +215,7 @@ MAN= aac.4 \
ncr.4 \
ncv.4 \
${_ndis.4} \
+ net80211.4 \
netgraph.4 \
netintro.4 \
${_nfe.4} \
diff --git a/share/man/man4/ieee80211.4 b/share/man/man4/ieee80211.4
deleted file mode 100644
index bbc8c5d..0000000
--- a/share/man/man4/ieee80211.4
+++ /dev/null
@@ -1,246 +0,0 @@
-.\" Copyright (c) 2001
-.\" The Aerospace Corporation. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AEROSPACE CORPORATION ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AEROSPACE CORPORATION BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" $FreeBSD$
-.\"
-.Dd February 23, 2001
-.Dt IEEE80211 4
-.Os
-.Sh NAME
-.Nm ieee80211
-.Nd standard interface to IEEE 802.11 devices
-.Sh SYNOPSIS
-.In sys/types.h
-.In sys/socket.h
-.In net/if.h
-.In net/ethernet.h
-.In net/if_ieee80211.h
-.Sh 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
-.Xr ioctl 2
-calls on a socket:
-.Bl -tag -width ".Dv SIOCG80211"
-.It Dv SIOCG80211
-Get configuration or status information.
-.It Dv SIOCS80211
-Set configuration information.
-.El
-.Pp
-These requests are made via a modified
-.Vt ifreq
-structure.
-This structure is defined as follows:
-.Bd -literal
-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 */
-};
-.Ed
-.Pp
-For
-.Dv SIOCG80211
-the following values of
-.Va i_type
-are valid:
-.Bl -tag -width indent
-.It Dv IEEE80211_IOC_SSID
-Returns the requested SSID by copying it into the buffer pointed to by
-.Va i_data
-and setting
-.Va i_len
-to the length.
-If
-.Va i_val
-is \(>= 0 then the request refers to the configured value for that slot.
-Generally, 0 is the only valid value, but some interfaces support more
-SSIDs.
-If
-.Va i_val
-is \-1 then the request refers to the currently active value.
-.It Dv IEEE80211_IOC_NUMSSIDS
-Returns the number of SSIDs this card supports.
-In most cases, this is
-1, but some devices such as
-.Xr an 4
-support more.
-.It Dv IEEE80211_IOC_WEP
-Returns the current WEP status in
-.Va i_val .
-Valid values are
-.Dv IEEE80211_WEP_NOSUP , IEEE80211_WEP_ON , IEEE80211_WEP_OFF ,
-and
-.Dv IEEE80211_WEP_MIXED .
-Respectively, these values mean unsupported, mandatory for all devices,
-off, and on, but not required for all devices.
-.It Dv IEEE80211_IOC_WEPKEY
-Returns the requested WEP key via
-.Va i_data
-and its length via
-.Va 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.
-.It Dv 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
-.Er EINVAL .
-.It Dv IEEE80211_IOC_WEPTXKEY
-Returns the WEP key used for transmission.
-.It Dv IEEE80211_IOC_AUTHMODE
-Returns the current authentication mode in
-.Va i_val .
-Valid values are
-.Dv IEEE80211_AUTH_NONE , IEEE80211_AUTH_OPEN ,
-and
-.Dv IEEE80211_AUTH_SHARED .
-.It Dv IEEE80211_IOC_STATIONNAME
-Returns the station name via
-.Va i_data
-and its length via
-.Va 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.
-.It Dv IEEE80211_IOC_CHANNEL
-Returns the current direct sequence spread spectrum channel in use.
-.It Dv IEEE80211_IOC_POWERSAVE
-Returns the current powersaving mode.
-Valid values are
-.Dv IEEE80211_POWERSAVE_NOSUP , IEEE80211_POWERSAVE_OFF ,
-.Dv IEEE80211_POWERSAVE_ON , IEEE80211_POWERSAVE_CAM ,
-.Dv IEEE80211_POWERSAVE_PSP ,
-and
-.Dv IEEE80211_POWERSAVE_PSP_CAM .
-Currently,
-.Dv IEEE80211_POWERSAVE_ON
-is defined to be equal to
-.Dv IEEE80211_POWERSAVE_CAM ,
-but this may be incorrect.
-.It Dv IEEE80211_IOC_POWERSAVESLEEP
-Returns the powersave sleep time in msec in
-.Va i_val .
-.El
-.Pp
-For
-.Dv SIOCS80211
-the following values of
-.Va i_type
-are valid:
-.Bl -tag -width indent
-.It Dv IEEE80211_IOC_SSID
-Set the desired SSID for infrastructure and ad-hoc modes to value given
-by
-.Va i_data
-and
-.Va i_len .
-The length should be no longer than 32 characters.
-.It Dv IEEE80211_IOC_WEP
-Set the current WEP mode to the value given in
-.Va 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
-.Er EINVAL
-or choose a reasonable alternate (supported) setting.
-.It Dv IEEE80211_IOC_WEPKEY
-Set the WEP key indicated by
-.Va i_val
-to the value given by
-.Va i_data
-and
-.Va i_len .
-Generally, valid values of
-.Va i_len
-are 0, 5, and 13 though not all devices with WEP support have support
-for 13-byte keys.
-.It Dv IEEE80211_IOC_WEPTXKEY
-Set the WEP key used for transmission to the value in
-.Va i_val .
-Not all values which are valid for setting keys may be valid for setting
-transmit keys due to strange device interfaces.
-.It Dv IEEE80211_IOC_AUTHMODE
-Set the current authorization mode to the value given in
-.Va i_val .
-Valid values are given above.
-Not all devices support this.
-.It Dv IEEE80211_IOC_STATIONNAME
-Set the station name to the value given by
-.Va i_data
-and
-.Va i_len .
-The standard does not appear to deal with this feature so the range of
-valid values may vary from device to device.
-.It Dv IEEE80211_IOC_CHANNEL
-Set the desired ad-hoc channel to the value given by
-.Va 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.
-.It Dv IEEE80211_IOC_POWERSAVE
-Set the current powersaving mode to the value given in
-.Va 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
-.Er EINVAL
-or choose a reasonable alternate (supported) setting.
-Most devices only
-support CAM mode.
-.It Dv IEEE80211_IOC_POWERSAVESLEEP
-Set the powersave sleep time in msec to the value in
-.Va i_val .
-.El
-.Sh SEE ALSO
-.Xr ioctl 2 ,
-.Xr an 4 ,
-.Xr ray 4 ,
-.Xr wi 4 ,
-.Xr ancontrol 8 ,
-.Xr ifconfig 8 ,
-.Xr raycontrol 8 ,
-.Sh HISTORY
-The
-.Nm
-manual appeared in
-.Fx 4.3 .
diff --git a/share/man/man4/net80211.4 b/share/man/man4/net80211.4
new file mode 100644
index 0000000..64de3df
--- /dev/null
+++ b/share/man/man4/net80211.4
@@ -0,0 +1,1302 @@
+.\"-
+.\" Copyright (c) 2009 Sam Leffler, Errno Consulting
+.\" All rights reserved.
+.\""
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer,
+.\" without modification.
+.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer
+.\" similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+.\" redistribution must be conditioned upon including a substantially
+.\" similar Disclaimer requirement for further binary redistribution.
+.\"
+.\" NO WARRANTY
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+.\" LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+.\" THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
+.\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+.\" THE POSSIBILITY OF SUCH DAMAGES.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd July 10, 2009
+.Dt NET80211 4
+.Os
+.Sh NAME
+.Nm net80211
+.Nd standard interface to IEEE 802.11 devices
+.Sh SYNOPSIS
+.In sys/types.h
+.In sys/socket.h
+.In net/if.h
+.In net/ethernet.h
+.In net80211/ieee80211_ioctl.h
+.Sh DESCRIPTION
+This section describes the standard programming
+interface to configure and retrieve status information
+for IEEE 802.11 devices that depend on the
+.Xr wlan 4
+module for operation.
+The interface is via one
+of the following
+.Xr ioctl 2
+calls on a socket:
+.Bl -tag -width ".Dv SIOCG80211"
+.It Dv SIOCG80211
+Get configuration or status information.
+.It Dv SIOCS80211
+Set configuration information.
+.El
+.Pp
+These requests are made via a modified
+.Vt ifreq
+structure.
+This structure is defined as follows:
+.Bd -literal
+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 */
+};
+.Ed
+.Pp
+Requests that are not supported by the underlying device return
+-1 and set the global variable errno to
+.Er EOPNOTSUPP .
+.Dv SIOCG80211
+requests that return data to an application place small values in
+.Va i_val
+or in a user-specified buffer pointed to by
+.Va i_data .
+When an indirect buffer is used
+.Va i_len
+specifies how large the indirect buffer is and on return it is set by the
+system to the actual amount of data returned.
+.Dv SIOCS80211
+requests use a similar scheme with data passed to the system taken either
+from
+.Va i_val
+or an indirect buffer pointed to by
+.Va i_data .
+.Pp
+For
+.Dv SIOCG80211
+the following values of
+.Va i_type
+are valid:
+.Bl -tag -width indent
+.It Dv IEEE80211_IOC_AMPDU
+Return whether or not AMPDU is enabled in
+.Va i_val .
+AMPDU is an aggregation scheme that is part of the 802.11n specification
+and is used only when operating on an HT channel.
+The value returned is one of:
+0 (AMPDU disabled),
+1 (AMPDU enabled for transmit),
+2 (AMPDU enabled for receive),
+and
+3 (AMPDU enabled for transmit and receive).
+The 802.11n specification says a compliant station must receive AMPDU but
+may not support transmitting AMPDU frames.
+Disabling AMPDU receive is mainly useful for testing and working around bugs.
+.It Dv IEEE80211_IOC_AMPDU_DENSITY
+Return the minimum density for bursting AMPDU frames in
+.Va i_val .
+The value returned is one of:
+0 (no time restriction),
+1 (1/4 usec),
+2 (1/2 usec),
+3 (1 usec),
+4 (2 usec),
+5 (4 usec),
+6 (8 usec),
+and
+7 (16 usec).
+.It Dv IEEE80211_IOC_AMPDU_LIMIT
+Return the limit on the size of AMPDU frames in
+.Va i_val .
+The value returned is one of:
+0 (8 kilobytes),
+1 (16 kilobytes),
+2 (32 kilobytes),
+and
+3 (64 kilobytes).
+.It Dv IEEE80211_IOC_AMSDU
+Return whether or not AMSDU is enabled in
+.Va i_val .
+AMSDU is an aggregation scheme that is part of the 802.11n specification
+and is used only when operating on an HT channel.
+The value returned is one of:
+0 (AMSDU disabled),
+1 (AMSDU enabled for transmit),
+2 (AMSDU enabled for receive),
+and
+3 (AMSDU enabled for transmit and receive).
+The 802.11n specification says a compliant station must receive AMSDU but
+may not support transmitting AMSDU frames.
+Disabling AMSDU receive is mainly useful for testing and working around bugs.
+.It Dv IEEE80211_IOC_AMSDU_LIMIT
+Return the limit on the size of AMSDU frames in
+.Va i_val .
+The value returned is one of:
+3839 (bytes)
+and
+7935 (bytes).
+Note these values are specified by 802.11n; arbitrary values are not allowed.
+.It Dv IEEE80211_IOC_APBRIDGE
+Return whether AP bridging is enabled in
+.Va i_val .
+Normally packets sent between stations associated
+to the same access point are delivered without going through system layers
+that do packet filtering; when AP bridging is disabled packets are
+passed up the system to be forwarded using some other mechanism.
+This value will be non-zero when AP bridging is enabled and otherwise zero.
+.It Dv IEEE80211_IOC_APPIE
+Return an application information element via
+.Va i_data .
+Application IE's are maintained for many 802.11 frames; the
+request must identify the frame to return an IE for in
+.Va i_val .
+For example, to retrieve the IE sent in each Beacon frame
+.Va i_val
+would be set to
+.Va IEEE80211_FC0_SUBTYPE_BEACON | IEEE80211_FC0_TYPE_MGT .
+If no information element is installed then
+.Er EINVAL
+is returned.
+If the data buffer for returning data is too small to hold the information
+element the value is truncated; this permits querying the presence of
+data by requesting zero bytes of data be returned.
+.It Dv IEEE80211_IOC_AUTHMODE
+Return the current authentication mode in
+.Va i_val .
+Valid values are
+.Dv IEEE80211_AUTH_NONE
+(no authentication),
+.Dv IEEE80211_AUTH_OPEN
+(open authentication),
+.Dv IEEE80211_AUTH_SHARED
+(shared key authentication),
+.Dv IEEE80211_AUTH_8021X
+(802.1x only authentication),
+and
+.Dv IEEE80211_AUTH_WPA
+(WPA/802.11i/802.1x authentication).
+.It Dv IEEE80211_IOC_BEACON_INTERVAL
+Return the time between Beacon frames (in TU) in
+.Va i_val .
+.It Dv IEEE80211_IOC_BGSCAN
+Return whether background scanning is enabled in
+.Va i_val .
+When this value is non-zero and operating in station mode
+the station will periodically leave
+the current channel and scan for neighboring stations.
+See also
+.Dv IEEE80211_IOC_BGSCAN_IDLE
+and
+.Dv IEEE80211_IOC_BGSCAN_INTERVAL .
+.It Dv IEEE80211_IOC_BGSCAN_IDLE
+Return in
+.Va i_val
+the minimum time (msecs) a station must be idle
+(i.e. not transmitting or receiving frames)
+before it will do a background scan.
+See also
+.Dv IEEE80211_IOC_BGSCAN_INTERVAL .
+.It Dv IEEE80211_IOC_BGSCAN_INTERVAL
+Return in
+.Va i_val
+the minimum time (seconds) between background scan operations.
+See also
+.Dv IEEE80211_IOC_BGSCAN_IDLE .
+.It Dv IEEE80211_IOC_BMISSTHRESHOLD
+Return in
+.Va i_val
+the number of consecutive missed Beacon frames before the system will
+attempt to roam to a different/better access point.
+.It Dv IEEE80211_IOC_BSSID
+Return the MAC address for the current BSS identifier via
+.Va i_data .
+When the interface is running, the bssid is either the value
+configured locally (e.g. for an IBSS network started by the local station)
+or the value adopted when joing an existing network.
+For WDS interfaces this value is the address of the remote station.
+When the interface is not running, the bssid returned is the desired
+bssid, if any, that has been configured.
+.It Dv IEEE80211_IOC_BURST
+Return whether or not packet bursting is enabled in
+.Va i_val .
+If this value is non-zero then the system will try to send packets closely
+spaced to improve throughput.
+.It Dv IEEE80211_IOC_CHANINFO
+Return the set of available channels via
+.Va i_data .
+Note this data should be used by user applications to map between
+channel specifications (frequency and attributes) and IEEE channel numbers
+as user applications may not have the necessary information to do
+this directly (e.g. for 900MHz radios, operation in the Public Safety Band).
+.It Dv IEEE80211_IOC_CHANLIST
+Return the current list of usable channels via
+.Va i_data .
+The channel list is returned as a bit vector with bit N set to 1 if
+IEEE channel number N is available for use.
+.It Dv IEEE80211_IOC_CHANNEL
+Return the IEEE channel number of the current channel in
+.Va i_val .
+Note this request is deprecated; use
+.Dv IEEE80211_IOC_CURCHAN
+instead.
+.It Dv IEEE80211_IOC_COUNTERMEASURES
+Return whether TKIP Countermeasures are enabled in
+.Va i_val .
+This value will be non-zero when Countermeasures are enabled and
+otherwise zero.
+.It Dv IEEE80211_IOC_CURCHAN
+Return information for the current channel via
+.Va i_data .
+This information includes the IEEE channel number, the frequency, and
+attributes that describe the operating constraints (e.g. Passive Scan,
+DFS, usage restrictions).
+.It Dv IEEE80211_IOC_DEVCAPS
+Return device capabilities in the data buffer pointed at by
+.Va i_data .
+The buffer must be large enough to return the number of available
+channels but otherwise may be made small to limit how much information
+is returned.
+.It Dv IEEE80211_IOC_DFS
+Return whether or not Dynamic Frequency Selection (DFS) is enabled in
+.Va i_val .
+DFS embodies several facilities including detection of overlapping
+radar signals, dynamic transmit power control, and channel selection
+according to a least-congested criteria.
+DFS support is mandatory for some 5Ghz frequencies in certain
+locales (e.g. ETSI).
+By default DFS is enabled according to the regulatory definitions
+and the curent country code, regdomain, and channel.
+.It Dv IEEE80211_IOC_DOTD
+Return whether or not 802.11d support is enabled in
+.Va i_val .
+When 802.11d is enabled in station mode, Beacon frames that advertise
+a country code different than the currently configured country code will
+cause an event to be dispatched to user applications.
+This event can be used by the station to adopt that country code and
+operate according to the associated regulatory constraints.
+When operating as an access point with 802.11d enabled the Beacon and
+ProbeResponse frames transmitted will advertise the current regulatory
+domain settings.
+.It Dv IEEE80211_IOC_DOTH
+Return whether 802.11h support is enabled in
+.Va i_val .
+When 802.11h is enabled Beacon and ProbeResponse frames will have
+the SpectrumMgt bit set in the capabilities field and
+country and power constraint information elements will be present.
+802.11h support also includes handling Channel Switch Announcements (CSA)
+which are a mechanism to coordinate channel changes by an access point.
+By default 802.11h is enabled if the device is capable.
+.It Dv IEEE80211_IOC_DROPUNENCRYPTED
+Return, in
+.Va i_val ,
+whether unencrypted packets transmit/received should be discarded.
+This value will be zero if unecrypted packets will be accepted and
+non-zero if they are to be discarded.
+.It Dv IEEE80211_IOC_DTIM_PERIOD
+Return the period (in beacon intervals) between DTIM events in
+.Va i_val .
+.It Dv IEEE80211_IOC_DWDS
+Return, in
+.Va i_val ,
+whether or not Dynamic WDS support is enabled.
+Dynamic WDS is a facility by which packets may be tunneled over normal
+Infrastructure BSS associations using 4-address (WDS) frames.
+.It Dv IEEE80211_IOC_FF
+Return, in
+.Va i_val ,
+whether Atheros fast-frames support is enabled.
+Fast-frames is a non-standard protocol extension that aggregates multiple
+frames to improve throughput.
+Note that enabling fast-frames support does not guarantee use;
+the client and access point must negotiate its use.
+.It Dv IEEE80211_IOC_FRAGTHRESHOLD
+Return, in
+.Va i_val ,
+the threshold (in bytes) for enabling fragmentation frames.
+Packets larger than this value will automatically be split into multiple
+fragmented frames that are sent one after the other.
+.It Dv IEEE80211_IOC_GREENFIELD
+Return, in
+.Va i_val ,
+whether or not Greenfield preamble use is enabled.
+This setting is meaningful only when operating with 802.11n on an HT channel.
+.It Dv IEEE80211_IOC_HIDESSID
+Return, in
+.Va i_val ,
+whether SSID hiding/cloaking is enabled.
+SSID hiding is only meaningful when operating as an access point.
+When this is enabled Beacon frames do not include the SSID and
+ProbeRequest frames are not answered unless they include the AP's SSID.
+This value will be non-zero when SSID hiding is enabled and otherwise zero.
+.It Dv IEEE80211_IOC_HTCOMPAT
+Return, in
+.Va i_val ,
+whether or not 802.11n compatibility support is enabled.
+The 802.11n protocol specification went through several incompatible iterations.
+Some vendors implemented 11n support to older specifications that
+will not interoperate with a purely 11n-compliant station.
+In particular the information elements included in management frames
+for old devices are different.
+When compatibility support is enabled both standard and compatible data
+will be provided and/or accepted.
+.It Dv IEEE80211_IOC_HTCONF
+Return the setting for automatic promotion of HT channels in
+.Va i_val .
+Promotion happens when the system must select a channel and may choose
+between legacy, HT20, and HT40 operation (e.g. when scanning).
+Valid values are:
+0 (do not promote, use legacy),
+1 (promote to HT20),
+and
+2 (promote to HT40),
+.It Dv IEEE80211_IOC_HTPROTMODE
+Return, in
+.Va i_val ,
+the technique used to protect HT frames in a mixed 802.11n network.
+Valid values are:
+.Dv IEEE80211_PROTMODE_OFF
+(no protection enabled)
+and
+.Dv IEEE80211_PROTMODE_RTSCTS
+(send RTS and wait for CTS).
+.It Dv IEEE80211_IOC_HWMP_MAXHOPS
+Return the maximum acceptable hop count in an HWMP path in
+.Va i_val .
+.It Dv IEEE80211_IOC_HWMP_ROOTMODE
+Return the setting for Mesh root mode operation in
+.Va i_val .
+Valid values are:
+.Dv IEEE80211_HWMP_ROOTMODE_DISABLED
+(root mode is disabled),
+.Dv IEEE80211_HWMP_ROOTMODE_NORMAL
+(send broadcast Path Request frames),
+.Dv IEEE80211_HWMP_ROOTMODE_PROACTIVE
+(send broadcast Path Request frames and force replies)
+and
+.Dv IEEE80211_HWMP_ROOTMODE_RANN
+(send broadcast Root Announcement (RANN) frames).
+.It Dv IEEE80211_IOC_INACTIVITY
+Return whether or not the system handles inactivity processing in
+.Va i_val .
+When inactivity processing is enabled the system will track stations
+that have not trasmitted frames and periodically probe them to
+check if they are still present.
+Stations that are inactive and do not respond to probes are dropped.
+.It Dv IEEE80211_IOC_MACCMD
+Return information about the state of the MAC address
+access control list (ACL) system.
+There are two requests supported:
+.Dv IEEE80211_MACCMD_POLICY
+(to retrieve the current policy in
+.Va i_val ),
+and
+.Dv IEEE80211_MACCMD_LIST
+to retrieve the list installed/active ACL's via
+.Va i_data .
+The
+.Xr wlan_acl 4
+module must be installed and enabled or
+.Er EINVAL
+will be returned.
+.It Dv IEEE80211_IOC_MESH_AP
+Return whether or not Mesh AP support is enabled in
+.Va i_val .
+.It Dv IEEE80211_IOC_MESH_ID
+Return the Mesh ID in the buffer pointed to by
+.Va i_data .
+.It Dv IEEE80211_IOC_MESH_FWRD
+Return whether or not packet forwarding support is enabled in
+.Va i_val .
+.It Dv IEEE80211_IOC_MESH_PP_METRIC
+Return the link metric protocol in the buffer pointed to by
+.Va i_data .
+.It Dv IEEE80211_IOC_MESH_PP_PATH
+Return the path selection protocol in the buffer pointed to by
+.Va i_data .
+.It Dv IEEE80211_IOC_MESH_RTCMD
+Return information about the state of the Mesh routing tables.
+One request is supported:
+.Dv IEEE80211_MESH_RTCMD_LIST
+to retrieve the contents of the routing table in the buffer pointed to by
+.Va i_data .
+.It Dv IEEE80211_IOC_MESH_TTL
+Return, in
+.Va i_val ,
+the Mesh Time To Live (TTL) setting installed in packets
+transmitted by this mesh node.
+.It Dv IEEE80211_IOC_NUMSSIDS
+Return the number of SSIDs supported in
+.Va i_val .
+.It Dv IEEE80211_IOC_NUMWEPKEYS
+Return the number of WEP keys supported in
+.Va i_val
+.It Dv IEEE80211_IOC_POWERSAVE
+Return the current powersaving mode in
+.Va i_val .
+Valid values are
+.Dv IEEE80211_POWERSAVE_OFF
+(power save operation is disabled)
+and
+.Dv IEEE80211_POWERSAVE_ON
+(power save operation is enabled).
+.It Dv IEEE80211_IOC_POWERSAVESLEEP
+Return the powersave sleep time in TU in
+.Va i_val .
+This value is also termed the listen interval and represents the maximum time
+a station will sleep before waking to retrieve packets buffered by
+an access point.
+.It Dv IEEE80211_IOC_PRIVACY
+Return the current MLME setting for PRIVACY in
+.Va i_val .
+When PRIVACY is enabled all data packets must be encrypted.
+This value will be zero if PRIVACY is disabled and
+non-zero when PRIVACY is enabled.
+.It Dv IEEE80211_IOC_PROTMODE
+Return the current 802.11g protection mode in
+.Va i_val .
+Protection is the mechanism used to safeguard 802.11b stations operating
+on an 802.11g network.
+Valid values are
+.Dv IEEE80211_PROTMODE_OFF
+(no protection enabled),
+.Dv IEEE80211_PROTMODE_CTS
+(send CTS to yourself),
+and
+.Dv IEEE80211_PROTMODE_RTSCTS
+(send RTS and wait for CTS).
+.It Dv IEEE80211_IOC_PUREG
+Return whether ``pure 11g'' mode is enabled in
+.Va i_val .
+This setting is meaningful only for acces point operation;
+when non-zero, 802.11b stations will not be allowed to associate.
+.It Dv IEEE80211_IOC_PUREN
+Return whether ``pure 11n'' mode is enabled in
+.Va i_val .
+This setting is meaningful only for acces point operation;
+when non-zero, legacy (non-11n capable) stations will not be
+allowed to associate.
+.It Dv IEEE80211_IOC_REGDOMAIN
+Return the regulatory state in the buffer pointed to by
+.Va i_data .
+.It Dv IEEE80211_IOC_RIFS
+Return whether or not Reduced InterFrame Spacing (RIFS) is enabled in
+.Va i_val .
+This setting is meaningful only when operating with 802.11n on an HT channel.
+.It Dv IEEE80211_IOC_ROAM
+Return station roaming parameters in the buffer pointed to by
+.Va i_data .
+.It Dv IEEE80211_IOC_ROAMING
+Return the current roaming mode in
+.Va i_val .
+Roaming mode specifies which entity controls operation of the MLME
+state machine when operating as a station in an Infrastructure BSS.
+Valid values are:
+.Dv IEEE80211_ROAMING_DEVICE
+(driver/firmware is in control),
+.Dv IEEE80211_ROAMING_AUTO
+(host 802.11 layer is in control),
+and
+.Dv IEEE80211_ROAMING_MANUAL
+(application is in control).
+.It Dv IEEE80211_IOC_RTSTHRESHOLD
+Return the threshold (in bytes) for enabling transmission of RTS frames in
+.Va i_val .
+Packets larger than this value will automatically have an RTS frame
+sent preceding it to reduce the likelihood of packet loss.
+.It Dv IEEE80211_IOC_SCAN_RESULTS
+Return the current contents of the scan cache in the data area pointed to by
+.Va i_data .
+.It Dv IEEE80211_IOC_SCANVALID
+Return in
+.Va i_val
+how long (in seconds) results from a scan operation will be considered valid.
+When scan results are no longer valid and they are needed (e.g. to roam) the
+system will initiate a scan operation to replenish the scan cache.
+.It Dv IEEE80211_IOC_SHORTGI
+Return whether or not Short Guard Interval (SGI) is enabled in
+.Va i_val .
+Note SGI is only used when operating with 802.11n on an HT channel.
+.It Dv IEEE80211_IOC_SMPS
+Return the Spatial Multiplexing Power Save (SMPS) setting in
+.Va i_val .
+This setting is meaningful only when operating with 802.11n on an HT channel.
+Valid values are:
+.Dv IEEE80211_HTCAP_SMPS_DYNAMIC
+(Dynamic SMPS is enabled),
+.Dv IEEE80211_HTCAP_SMPS_ENA
+(Static SMPS is enabled),
+and
+.Dv IEEE80211_HTCAP_SMPS_OFF
+(SMPS is disabled).
+.It Dv IEEE80211_IOC_SSID
+Return the requested SSID in the buffer pointed to by
+.Va i_data .
+If
+.Va i_val
+is \(>= 0 then the request refers to the configured value for that slot.
+Generally, 0 is the only valid value, but some interfaces support more
+SSIDs.
+.It Dv IEEE80211_IOC_STA_INFO
+Return information about the current state of the specified station(s) via
+.Va i_data .
+The MAC address of a single station may be passed in or, if the broadcast
+address is supplied, information about all stations will be returned.
+If a single station is requested and the MAC address is unknown then
+.Er ENOENT
+will be returned.
+.It Dv IEEE80211_IOC_STA_STATS
+Return collected statistics for the specified station via
+.Va i_data .
+The MAC address of the desired station is passed in; if it is unknown
+.Er ENOENT
+will be returned.
+.It Dv IEEE80211_IOC_STA_VLAN
+Return any VLAN tag assigned to a station via
+.Va i_data .
+.It Dv IEEE80211_IOC_TDMA_SLOT
+Return the slot number for the station in
+.Va i_val .
+Slot number zero is the master station in a TDMA network.
+.It Dv IEEE80211_IOC_TDMA_SLOTCNT
+Return the count of slots in the TDMA network in
+.Va i_val .
+.It Dv IEEE80211_IOC_TDMA_SLOTLEN
+Return the length (in usecs) of the TDMA slot assigned to each
+station in the network in
+.Va i_val .
+.It Dv IEEE80211_IOC_TDMA_BINTERVAL
+Return the number of superframes between Beacon frames in
+.Va i_val .
+A TDMA network with N slots and slot length T has a superframe of NxT.
+.It Dv IEEE80211_IOC_TSN
+Return whether or not Transitional Security Network (TSN) is enabled in
+.Va i_val .
+.It Dv IEEE80211_IOC_TURBOP
+Return whether Atheros Dynamic Turbo mode is enabled in
+.Va i_val .
+Dynamic Turbo mode is a non-standard protocol extension available only
+on Atheros devices where channel width is dynamically
+changed between 20MHz and 40MHz.
+Note tht enabling Dynamic Turbo mode support does not guarantee use;
+both client and access point must use Atheros devices and support must
+be enabled on both sides.
+.It Dv IEEE80211_IOC_TXPARAMS
+Return transmit parameters in the buffer pointed to by
+.Va i_data .
+.It Dv IEEE80211_IOC_TXPOWER
+Return the transmit power limit in .5 dBm units in
+.Va i_val .
+This value represents the effective maximum and is calculated according to
+the maximum power allowed by local regulations, any user-specified
+power limit, and the maximum power the device is capable of.
+.It Dv IEEE80211_IOC_TXPOWMAX
+Return the user-specified maximum transmit power in .5 dBm units in
+.Va i_val .
+The maximum setting is applied after any regulatory cap.
+.It Dv IEEE80211_IOC_WEP
+Return the current WEP status in
+.Va i_val .
+Valid values are:
+.Dv IEEE80211_WEP_ON
+(enabled for all packets sent and received),
+.Dv IEEE80211_WEP_OFF
+(disabled),
+and
+.Dv IEEE80211_WEP_MIXED
+(enabled for transmit and receive but also willing to receive
+unencrypted frames).
+This request is deprecated; use
+.Dv IEEE80211_IOC_PRIVACY
+and
+.Dv IEEE80211_IOC_UNENCRYPTED
+instead.
+.It Dv IEEE80211_IOC_WEPKEY
+Return the requested WEP key via
+.Va i_data .
+The key number is specified in
+.Va i_val
+and may be 0-3.
+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.
+This request is deprecated in favor of
+.Dv IEEE80211_IOC_WPAKEY .
+.It Dv IEEE80211_IOC_WEPTXKEY
+Return the number of the WEP key used for transmission in
+.Va i_val .
+.It Dv IEEE80211_IOC_WME
+Return whether 802.11e/WME/WMM support is enabled in
+.Va i_val .
+This value will be non-zero when support is enabled and otherwise zero.
+.It Dv IEEE80211_IOC_WME_CWMIN
+Return the WME CWmin setting (log2) for the specified Access Class (AC) in
+.Va i_val .
+The AC is passed in through
+.Va i_len
+together with an optional IEEE80211_WMEPARAM_BSS flag to indicate if the
+parameter for the BSS or the channel is desired.
+If WME is not supported then
+.Er EINVAL
+wil be returned.
+.It Dv IEEE80211_IOC_WME_CWMAX
+Return the WME CWmax setting (log2) for the specified Access Class (AC) in
+.Va i_val .
+See
+.Dv IEEE80211_IOC_WME_CWMIN
+above for more details.
+.It Dv IEEE80211_IOC_WME_AIFS
+Return the WME AIFS setting for the specified Access Class (AC) in
+.Va i_val .
+See
+.Dv IEEE80211_IOC_WME_CWMIN
+above for more details.
+.It Dv IEEE80211_IOC_WME_TXOPLIMIT
+Return the WME TxOpLimit (msec) for the specified Access Class (AC) in
+.Va i_val .
+See
+.Dv IEEE80211_IOC_WME_CWMIN
+above for more details.
+.It Dv IEEE80211_IOC_WME_ACM
+Return the WME Admission Control Mechanism (ACM) setting
+for the specified Access Class (AC) in
+.Va i_val .
+This value is meaningful only for the BSS (not channel).
+See
+.Dv IEEE80211_IOC_WME_CWMIN
+above for more details.
+.It Dv IEEE80211_IOC_WME_ACKPOLICY
+Return the WME ACK Policy setting
+for the specified Access Class (AC) in
+.Va i_val .
+When this value is zero frames will be transmitted without waiting for
+an Acknowledgement.
+This value is meaningful only for the channel (not BSS).
+See
+.Dv IEEE80211_IOC_WME_CWMIN
+above for more details.
+.It Dv IEEE80211_IOC_WPA
+Return the WPA configuration in
+.Va i_val .
+Valid values are
+0 (WPA is not enabled),
+1 (WPA1 is enabled),
+2 (WPA2/802.11i is enabled),
+and
+3 (WPA1 and WPA2/802.11i are both enabled).
+.It Dv IEEE80211_IOC_WPAIE
+Return any WPA information element for an associated station via
+.Va i_data .
+The request passed in through
+.Va i_data
+identifies the MAC address of the desired station.
+If an RSN (802.11i) element is present it is returned; otherwise any WPA
+element is returned.
+Note this request is deprecated; use
+.Dv IEEE80211_IOC_WPAIE2
+instead.
+.It Dv IEEE80211_IOC_WPAIE2
+Return any WPA information elements for an associated station via
+.Va i_data .
+The request passed in through
+.Va i_data
+identifies the MAC address of the desired station.
+One or both of RSN (802.11i) and WPA elements may be returned.
+.It Dv IEEE80211_IOC_WPAKEY
+Return the requested cryptographic key in the buffer pointed to by
+.Va i_data .
+The key number is specified in
+.Va i_val
+and may be 0-3.
+A key number of zero is used to retrieve a station's unicast cipher key
+when operating with WPA enabled.
+If the user is not root then the key data returned is all zeros.
+.It Dv IEEE80211_IOC_WPS
+Return whether or not Wi-FI Protected Setup (WPS) is enabled in
+.Va i_val .
+.El
+.Pp
+For
+.Dv SIOCS80211
+the following values of
+.Va i_type
+are valid.
+Note that changing a value on an interface that is running may
+cause the interface to be
+.Sq reset .
+Resets may be handled without altering the state if the parameter
+does not affect the MLME state (e.g. RTS threshold), but in some
+cases the interface may need to scan for a new network or clear
+state (including any associated stations); in that case the interface
+is said to be
+.Sq restarted
+(it is equivalent to marking the interface down and back up).
+The information below identifies whether changing a value affects the
+state of a running interface.
+.Bl -tag -width indent
+.It Dv IEEE80211_IOC_ADDMAC
+Add an entry to the MAC address Access Control List (ACL) database using
+the value pointed to by
+.Va i_data .
+The
+.Xr wlan_acl 4
+module must be installed and enabled or
+.Er EINVAL
+will be returned.
+.It Dv IEEE80211_IOC_AMPDU
+Set whether or not AMPDU is enabled for transmit and/or receive
+using the value in
+.Va i_val .
+This request causes a running interface operating on an HT channel
+to be reset.
+See
+.Dv IEEE80211_IOC_AMPDU
+above for details.
+.It Dv IEEE80211_IOC_AMPDU_DENSITY
+Set the minimum density for bursting AMPDU frames to the value in
+.Va i_val .
+This request causes a running interface to be reset.
+See
+.Dv IEEE80211_IOC_AMPDU_DENSITY
+above for details.
+.It Dv IEEE80211_IOC_AMPDU_LIMIT
+Set the limit on the size of AMPDU frames to the value in
+.Va i_val .
+This request causes a running interface to be reset.
+See
+.Dv IEEE80211_IOC_AMPDU_LIMIT
+above for details.
+.It Dv IEEE80211_IOC_AMSDU
+Set whether or not AMSDU is enabled for transmit and/or receive
+using the value in
+.Va i_val .
+This request causes a running interface operating on an HT channel
+to be reset.
+See
+.Dv IEEE80211_IOC_AMSDU
+above for details.
+.It Dv IEEE80211_IOC_AMSDU_LIMIT
+Set the limit on the size of AMSDU frames to the value in
+.Va i_val .
+This request causes a running interface to be reset.
+See
+.Dv IEEE80211_IOC_AMSDU_LIMIT
+above for details.
+.It Dv IEEE80211_IOC_APBRIDGE
+Set whether AP bridging is enabled using the value in
+.Va i_val .
+See
+.Dv IEEE80211_IOC_APBRIDGE
+above for details.
+.It Dv IEEE80211_IOC_APPIE
+Set an application information element using the data pointed to by
+.Va i_data .
+This request causes a running interface to be restarted if the WPA
+information element is changed.
+See
+.Dv IEEE80211_IOC_APPIE
+above for details.
+.It Dv IEEE80211_IOC_AUTHMODE
+Set the current authentication mode using the value in
+.Va i_val .
+This request causes a running interface to be restarted.
+See
+.Dv IEEE80211_IOC_AUTHMODE
+above for details.
+This request causes a running interface to be restarted.
+.It Dv IEEE80211_IOC_BEACON_INTERVAL
+Set the time between Beacon frames (in TU) to the value in
+.Va i_val .
+This request causes a running interface to be restarted.
+.It Dv IEEE80211_IOC_BGSCAN
+Set whether background scanning is enabled using the value in
+.Va i_val .
+.It Dv IEEE80211_IOC_BGSCAN_IDLE
+Set the minimum time (in msecs) a station must be idle
+before it will do a background scan to the value in
+.Va i_val .
+.It Dv IEEE80211_IOC_BGSCAN_INTERVAL
+Set the minimum time (seconds) between background scan operations to the value in
+.Va i_val .
+.It Dv IEEE80211_IOC_BMISSTHRESHOLD
+Set the number of consecutive missed Beacon frames before the system will
+attempt to roam to the value in
+.Va i_val .
+This request causes a running interface to be reset.
+.It Dv IEEE80211_IOC_BSSID
+Set the 802.11 MAC address for the desired BSS identifier according to
+.Va i_data .
+This request causes a running interface to be restarted.
+.It Dv IEEE80211_IOC_BURST
+Set whether or not packet bursting is enabled using the value in
+.Va i_val .
+This request causes a running interface to be reset.
+.It Dv IEEE80211_IOC_CHANNEL
+Set the desired/current channel to the value given by
+.Va i_val .
+This request causes a running interface to
+immediately change to the specified channel if possible;
+otherwise the interface will be restarted.
+Note this request is deprecated; use
+.Dv IEEE80211_IOC_CURCHAN
+instead.
+.It Dv IEEE80211_IOC_CHANLIST
+Set the list of available channels using the channel list pointed to by
+.Va i_data .
+The channel list is a bit vector with bit N set to 1 if
+IEEE channel number N is available for use.
+The specified channel list is checked against the set of supported
+channels and any channels not supported are silently ignored.
+If the intersection of the channel list and the supported channels is empty
+.Er EINVAL
+is returned.
+Note the current channel may be marked invalid after installing a
+new channel list.
+This request causes a running interface to be restarted.
+.It Dv IEEE80211_IOC_COUNTERMEASURES
+Set whether TKIP Countermeasures are enabled using the value in
+.Va i_val .
+This request can only be used when the authentication mode is set
+WPA; otherwise
+.Er EOPNOTSUPP
+will be returned.
+.It Dv IEEE80211_IOC_CURCHAN
+Set the current channel using the information referenced by
+.Va i_data .
+This request causes a running interface to
+immediately change to the specified channel if possible;
+otherwise the interface will be restarted.
+.It Dv IEEE80211_IOC_DELKEY
+Delete the key specified by the information referenced by
+.Va i_data .
+.It Dv IEEE80211_IOC_DELMAC
+Remove an entry in the MAC address Access Control List (ACL) database using
+the value pointed to by
+.Va i_data .
+The
+.Xr wlan_acl 4
+module must be installed and enabled or
+.Er EINVAL
+will be returned.
+.It Dv IEEE80211_IOC_DFS
+Set whether or not Dynamic Frequency Selection (DFS) is enabled
+using the value in
+.Va i_val .
+This request will fail with
+.Er EINVAL
+if 802.11h support is not enabled.
+See
+.Dv IEEE80211_IOC_DFS
+above for details.
+.It Dv IEEE80211_IOC_DOTD
+Set whether or not 802.11d support is enabled using the value in
+.Va i_val .
+This request causes a running interface to be restarted.
+See
+.Dv IEEE80211_IOC_DOTD
+above for details.
+.It Dv IEEE80211_IOC_DOTH
+Return whether 802.11h support is enabled using the value in
+.Va i_val .
+See
+.Dv IEEE80211_IOC_DOTH
+above for details.
+.It Dv IEEE80211_IOC_DROPUNENCRYPTED
+Set whether unencrypted packets transmit/received should be discarded
+using the value in
+.Va i_val .
+.It Dv IEEE80211_IOC_DTIM_PERIOD
+Set the period (in beacon intervals) between DTIM events to the value in
+This request causes a running interface to be restarted.
+.Va i_val .
+.It Dv IEEE80211_IOC_DWDS
+Set whether or not Dynamic WDS support is enabled using the value in
+.Va i_val .
+See
+.Dv IEEE80211_IOC_DWDS
+above for details.
+.It Dv IEEE80211_IOC_FF
+Set whether Atheros fast-frames support is enabled using the value in
+.Va i_val .
+This request causes a running interface to be restarted.
+See
+.Dv IEEE80211_IOC_FF
+above for details.
+.It Dv IEEE80211_IOC_FRAGTHRESHOLD
+Set the threshold (in bytes) for enabling fragmentation frames using the value in
+.Va i_val .
+This request causes a running interface to be reset.
+See
+.Dv IEEE80211_IOC_FRAGTHRESHOLD
+above for details.
+.It Dv IEEE80211_IOC_GREENFIELD
+Set whether or not Greenfield preamble use is enabled using the value in
+.Va i_val .
+This request causes a running interface to be reset.
+See
+.Dv IEEE80211_IOC_GREENFIELD
+above for details.
+.It Dv IEEE80211_IOC_HIDESSID
+Set whether SSID hiding/cloaking is enabled using the value in
+.Va i_val .
+This request causes a running interface to be reset.
+See
+.Dv IEEE80211_IOC_HIDESSID
+above for details.
+.It Dv IEEE80211_IOC_HTCOMPAT
+Set whether or not 802.11n compatibility support is enabled using the value in
+.Va i_val .
+This request causes a running interface to be reset if operating on HT channel.
+See
+.Dv IEEE80211_IOC_HTCOMPAT
+above for details.
+.It Dv IEEE80211_IOC_HTCONF
+Set automatic promotion of HT channels using the value in
+.Va i_val .
+This request causes a running interface to be restarted.
+See
+.Dv IEEE80211_IOC_HTCONF
+above for details.
+.It Dv IEEE80211_IOC_HTPROTMODE
+Set the technique used to protect HT frames in a mixed 802.11n network
+using the value in
+.Va i_val .
+This request causes a running interface to be reset.
+See
+.Dv IEEE80211_IOC_HTPROTMODE
+above for details.
+.It Dv IEEE80211_IOC_HWMP_MAXHOPS
+Set the maximum acceptable hop count in an HWMP path according to
+.Va i_val .
+Values must be in the range [0-255].
+.It Dv IEEE80211_IOC_HWMP_ROOTMODE
+Set the Mesh root mode operation according to
+.Va i_val .
+Valid values are
+.Dv IEEE80211_HWMP_ROOTMODE_DISABLED
+(root mode is disabled),
+.Dv IEEE80211_HWMP_ROOTMODE_NORMAL
+(send broadcast Path Request frames),
+.Dv IEEE80211_HWMP_ROOTMODE_PROACTIVE
+(send broadcast Path Request frames and force replies)
+and
+.Dv IEEE80211_HWMP_ROOTMODE_RANN
+(send broadcast Root Announcement (RANN) frames).
+.It Dv IEEE80211_IOC_INACTIVITY
+Set whether or not the system handles inactivity processing using the value in
+.Va i_val .
+When inactivity processing is enabled the system will track stations
+that have not trasmitted frames and periodically probe them to
+check if they are still present.
+Stations that are inactive and do not respond to probes are dropped.
+.It Dv IEEE80211_IOC_MACCMD
+Change the state of the MAC address Access Control List (ACL) system.
+There are several requests supported:
+.Dv IEEE80211_MACCMD_POLICY_OPEN
+(set the current policy to disable ACL use),
+.Dv IEEE80211_MACCMD_POLICY_ALLOW
+(set the current policy to allow only addresses listed in the database),
+.Dv IEEE80211_MACCMD_POLICY_DENY
+(set the current policy to deny addresses listed in the database),
+.Dv IEEE80211_MACCMD_POLICY_RADUS
+(set the current policy to enable use of a RADIUS backend),
+.Dv IEEE80211_MACCMD_FLUSH
+(flush all addresses from the database),
+and
+.Dv IEEE80211_MACCMD_DETACH
+(detach the ACL subsystem, disabling it).
+The
+.Xr wlan_acl 4
+module must be installed or
+.Er EINVAL
+will be returned.
+.It Dv IEEE80211_IOC_MESH_AP
+Set whether or not Mesh AP support is enabled using
+.Va i_val .
+.It Dv IEEE80211_IOC_MESH_FWRD
+Set whether or not packet forwarding support is enabled using
+.Va i_val .
+.It Dv IEEE80211_IOC_MESH_ID
+Set the Mesh ID using the value pointed to by
+.Va i_data .
+A Mesh ID can be up to
+.Dv IEEE80211_MESHID_LEN
+bytes long.
+.It Dv IEEE80211_IOC_MESH_PP_METRIC
+Set the link metric protocol using the value pointed to by
+.Va i_data .
+.It Dv IEEE80211_IOC_MESH_PP_PATH
+Set the path selection protocol using the value pointed to by
+.Va i_data .
+.It Dv IEEE80211_IOC_MESH_RTCMD
+Manipulate the state of the Mesh routing tables.
+Several requests are supported:
+.Dv IEEE80211_MESH_RTCMD_FLUSH
+(flush the contents of the routing table),
+.Dv IEEE80211_MESH_RTCMD_ADD
+(add an entry for the MAC address specified in
+.Va i_data
+and start the Peer discovery process),
+and
+.Dv IEEE80211_MESH_RTCMD_DELETE
+(delete the entry corresponding to the MAC address specified in
+.Va i_data ).
+.It Dv IEEE80211_IOC_MESH_TTL
+Set the Mesh Time To Live (TTL) setting installed in packets
+transmitted by this mesh node using
+.Va i_val .
+.It Dv IEEE80211_IOC_MLME
+Explicitly control the MLME state machine for a station using the
+MLME request pointed to by
+.Va i_data .
+There are several MLME operations supported:
+.Dv IEEE80211_MLME_ASSOC
+(request association to an access point),
+.Dv IEEE80211_MLME_DIASSOC
+(diassociate the specified station),
+.Dv IEEE80211_MLME_DEAUTH
+(deauthenticate the specified station),
+.Dv IEEE80211_MLME_AUHORIZE
+(mark the specifed station authorized to pass data frames),
+.Dv IEEE80211_MLME_UNAUTHORIZE
+(revoke the specified station's ability to pass data frames),
+and
+.Dv IEEE80211_MLME_AUTH
+(request authentication to an access point).
+Note when this facility is used for stations operating in infrastructure mode
+the roaming mode should be set to manual.
+.It Dv IEEE80211_IOC_POWERSAVE
+Set the current powersaving mode to the value in
+.Va i_val .
+See
+.Dv IEEE80211_IOC_POWERSAVE
+above for valid values.
+This request causes a running interface to be reset.
+.It Dv IEEE80211_IOC_POWERSAVESLEEP
+Set the powersave sleep time in TU to the value in
+.Va i_val .
+This request causes a running interface to be reset.
+.It Dv IEEE80211_IOC_PRIVACY
+Set the current MLME setting for PRIVACY using the value in
+.Va i_val .
+See
+.Dv IEEE80211_IOC_PRIVACY
+above for details.
+.It Dv IEEE80211_IOC_PROTMODE
+Set the current 802.11g protection mode to the value in
+.Va i_val .
+This request causes a running interface to be reset.
+See
+.Dv IEEE80211_IOC_PROTMODE
+above for details.
+This request causes a running interface to be reset.
+.It Dv IEEE80211_IOC_PUREG
+Set whether ``pure 11g'' mode is enabled using the value in
+.Va i_val .
+This request causes a running interface to be restarted.
+See
+.Dv IEEE80211_IOC_PUREG
+above for details.
+.It Dv IEEE80211_IOC_PUREN
+Set whether ``pure 11n'' mode is enabled using the value in
+.Va i_val .
+This request causes a running interface to be restarted.
+See
+.Dv IEEE80211_IOC_PUREN
+above for details.
+.It Dv IEEE80211_IOC_REGDOMAIN
+Set the regulatory state using the data referenced by
+.Va i_data .
+This request can only be issued when all interfaces cloned from the
+underlying physical device are marked down; otherwise
+.Er EBUSY
+is returned.
+Note the new regulatory data may invalidate any desired channel.
+.It Dv IEEE80211_IOC_RIFS
+Set whether or not Reduced InterFrame Spacing (RIFS) is enabled
+using the value in
+.Va i_val .
+This setting is meaningful only when operating with 802.11n on an HT channel.
+This request causes a running interface to be reset.
+.It Dv IEEE80211_IOC_ROAM
+Set station roaming parameters using the data pointed to by
+.Va i_data .
+.It Dv IEEE80211_IOC_ROAMING
+Set the current roaming mode to the value in
+.Va i_val .
+See
+.Dv IEEE80211_IOC_ROAMING
+above for details.
+.It Dv IEEE80211_IOC_RTSTHRESHOLD
+Set the threshold (in bytes) for enabling transmission of RTS frames
+to the value in
+.Va i_val .
+This request causes a running interface to be reset.
+See
+.Dv IEEE80211_IOC_RTSTHRESHOLD
+above for details.
+.It Dv IEEE80211_IOC_SCANVALID
+Set the age (in seconds) that results from a scan operation will be
+considered valid.
+When scan results are no longer valid and they are needed (e.g. to roam) the
+system will initiate a scan operation to replenish the scan cache.
+.It Dv IEEE80211_IOC_SCAN_CANCEL
+Cancel any pending/active scan operation.
+.It Dv IEEE80211_IOC_SHORTGI
+Set whether or not Short Guard Interval (SGI) is enabled using the value in
+.Va i_val .
+Note SGI is only used when operating on an HT (802.11n) channel.
+This request causes a running interface to be reset.
+.It Dv IEEE80211_IOC_SMPS
+Set the Spatial Multiplexing Power Save (SMPS) setting to the value in
+.Va i_val .
+This request causes a running interface to be reset.
+See
+.Dv IEEE80211_IOC_SMPS
+above for details.
+.It Dv IEEE80211_IOC_SSID
+Set the desired SSID using the value pointed to by
+.Va i_data .
+The string may be at most IEEE80211_NWID_LEN bytes.
+This request causes a running interface to be restarted.
+.It Dv IEEE80211_IOC_STA_STATS
+Clear accumulated statistics for the specified station.
+.It Dv IEEE80211_IOC_STA_VLAN
+Set the VLAN tag for the specified station using the information pointed to by
+.Va i_data .
+.It Dv IEEE80211_IOC_TDMA_BINTERVAL
+Set the interval between Beacon frames to the value in
+.Va i_val .
+Values must be positive.
+This request causes a running interface to be reset.
+.It Dv IEEE80211_IOC_TDMA_SLOT
+Set the current TDMA slot to the value in
+.Va i_val .
+Values must be in the range [0-slotcnt].
+Slot 0 identifies the master in the TDMA network; if it running it will
+immediately start sending Beacon frames.
+.It Dv IEEE80211_IOC_TDMA_SLOTCNT
+Set the number of slots in the TDMA network to the value in
+.Va i_val .
+This request causes a running interface to be reset.
+.It Dv IEEE80211_IOC_TDMA_SLOTLEN
+Set the length of the TDMA slot assigned to each station in the network
+to the value in
+.Va i_val .
+Slot lengths must be in the range 200 usecs to 1024 milliseconds
+(though values outside the range 1-200ms are unlikely to work well).
+This request causes a running interface to be reset.
+.It Dv IEEE80211_IOC_TSN
+Set whether or not Transitional Security Network (TSN) is enabled
+using the value in
+.Va i_val .
+.It Dv IEEE80211_IOC_TURBOP
+Set whether Atheros Dynamic Turbo mode is enabled using the value in
+.Va i_val .
+This request causes a running interface to be restarted.
+.It Dv IEEE80211_IOC_TXPARAMS
+Set transmit parameters using the data pointed to be
+.Va i_data .
+This request causes a running interface to be restarted.
+.It Dv IEEE80211_IOC_TXPOWER
+Set the maximum transmit power limit in .5 dBm units to the value in
+.Va i_val .
+This request causes a running interface to be reset.
+.It Dv IEEE80211_IOC_WEP
+Set the current WEP mode to the value in
+.Va i_val .
+See
+.Dv IEEE80211_IOC_WEP
+above for valid values.
+This request causes a running interface to be restarted.
+Note this request is deprecated; use
+.Dv IEEE80211_IOC_PRIVACY
+and
+.Dv IEEE80211_IOC_DROPUNENCRYPTED
+instead.
+.It Dv IEEE80211_IOC_WEPKEY
+Set the WEP key indicated by
+.Va i_val
+using the data pointed to by
+.Va i_data .
+Note this request is deprecated; use
+.Dv IEEE80211_IOC_WPAKEY
+instead.
+.It Dv IEEE80211_IOC_WEPTXKEY
+Set the default transmit key used for transmission to the value in
+.Va i_val .
+.It Dv IEEE80211_IOC_WME
+Set whether or not WME/WMM support is enabled using the value in
+.Va i_val .
+This request causes a running interface to be reset.
+.It Dv IEEE80211_IOC_WME_ACKPOLICY
+Set the WME ACK Policy for the Access Class (AC) specified in
+.Va i_len
+using the value in
+.Va i_val .
+.It Dv IEEE80211_IOC_WME_ACM
+Set the WME Admission Control Mechanism for the Access Class (AC) specified in
+.Va i_len
+using the value in
+.Va i_val .
+.It Dv IEEE80211_IOC_WME_AIFS
+Set the WME AIFS parameter for the Access Class (AC) specified in
+.Va i_len
+using the value in
+.Va i_val .
+.It Dv IEEE80211_IOC_WME_CWMAX
+Set the WME CWmax parameter for the Access Class (AC) specified in
+.Va i_len
+using the value in
+.Va i_val .
+.It Dv IEEE80211_IOC_WME_CWMIN
+Set the WME CWmin parameter for the Access Class (AC) specified in
+.Va i_len
+using the value in
+.Va i_val .
+.It Dv IEEE80211_IOC_WME_TXOPLIMIT
+Set the WME TxOpLimit parameter for the Access Class (AC) specified in
+.Va i_len
+using the value in
+.Va i_val .
+.It Dv IEEE80211_IOC_WPA
+Set the WPA configuration using the value in
+.Va i_val .
+This request causes a running interface to be reset.
+See
+.Dv IEEE80211_IOC_WPA
+above for details.
+.It Dv IEEE80211_IOC_WPAKEY
+Set the requested cryptographic key using data in the buffer pointed to by
+.Va i_data .
+See
+.Dv IEEE80211_IOC_WPAKEY
+for details.
+.It Dv IEEE80211_IOC_WPS
+Set whether or not Wi-FI Protected Setup (WPS) is enabled using the value in
+.Va i_val .
+.El
+.Sh SEE ALSO
+.Xr ioctl 2 ,
+.Xr wlan 4 ,
+.Xr wlan_acl 4 ,
+.Xr wlan_xauth 4 ,
+.Xr ifconfig 8 ,
+.Xr hostapd 8 ,
+.Xr wpa_supplicant 8 .
OpenPOWER on IntegriCloud