From owner-svn-src-all@FreeBSD.ORG Sun Jul 12 03:19:26 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A788D1065673; Sun, 12 Jul 2009 03:19:26 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 63E948FC13; Sun, 12 Jul 2009 03:19:26 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6C3JQxu070956; Sun, 12 Jul 2009 03:19:26 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6C3JQlW070953; Sun, 12 Jul 2009 03:19:26 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907120319.n6C3JQlW070953@svn.freebsd.org> From: Sam Leffler Date: Sun, 12 Jul 2009 03:19:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195630 - head/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Jul 2009 03:19:27 -0000 Author: sam Date: Sun Jul 12 03:19:25 2009 New Revision: 195630 URL: http://svn.freebsd.org/changeset/base/195630 Log: first cut at documenting ioctl api's for net80211 (replaces mostly incorrect information) Approved by: re (blanket) Added: head/share/man/man4/net80211.4 (contents, props changed) Deleted: head/share/man/man4/ieee80211.4 Modified: head/share/man/man4/Makefile Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Sun Jul 12 00:27:54 2009 (r195629) +++ head/share/man/man4/Makefile Sun Jul 12 03:19:25 2009 (r195630) @@ -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} \ Added: head/share/man/man4/net80211.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man4/net80211.4 Sun Jul 12 03:19:25 2009 (r195630) @@ -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 . *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***