s3c2442: R.I.P.
[openwrt/svn-archive/archive.git] / target / linux / s3c24xx / files-2.6.30 / drivers / ar6000 / wmi / wmi_doc.h
diff --git a/target/linux/s3c24xx/files-2.6.30/drivers/ar6000/wmi/wmi_doc.h b/target/linux/s3c24xx/files-2.6.30/drivers/ar6000/wmi/wmi_doc.h
deleted file mode 100644 (file)
index 19cd938..0000000
+++ /dev/null
@@ -1,4421 +0,0 @@
-/*
- *
- * Copyright (c) 2004-2007 Atheros Communications Inc.
- * All rights reserved.
- *
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation;
- *
- *  Software distributed under the License is distributed on an "AS
- *  IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- *  implied. See the License for the specific language governing
- *  rights and limitations under the License.
- *
- *
- *
- */
-
-
-#if 0
-Wireless Module Interface (WMI) Documentaion
-
-   This section describes the format and the usage model for WMI control and
-   data messages between the host and the AR6000-based targets. The header
-   file include/wmi.h contains all command and event manifest constants as
-   well as structure typedefs for each set of command and reply parameters.
-
-Data Frames
-
-   The data payload transmitted and received by the target follows RFC-1042
-   encapsulation and thus starts with an 802.2-style LLC-SNAP header. The
-   WLAN module completes 802.11 encapsulation of the payload, including the
-   MAC header, FCS, and WLAN security related fields. At the interface to the
-   message transport (HTC), a data frame is encapsulated in a WMI message.
-
-WMI Message Structure
-
-   The WMI protocol leverages an 802.3-style Ethernet header in communicating
-   the source and destination information between the host and the AR6000
-   modules using a 14-byte 802.3 header ahead of the 802.2-style payload. In
-   addition, the WMI protocol adds a header to all data messages:
-
-    {
-    INT8    rssi
-                  The RSSI of the received packet and its units are shown in db above the
-                      noise floor, and the noise floor is shown in dbm.
-    UINT8   info
-                      Contains information on message type and user priority. Message type
-                      differentiates between a data packet and a synchronization message.
-    } WMI_DATA_HDR
-
-   User priority contains the 802.1d user priority info from host to target. Host
-   software translates the host Ethernet format to 802.3 format prior to Tx and
-   802.3 format to host format in the Rx direction. The host does not transmit the
-   FCS that follows the data. MsgType differentiates between a regular data
-   packet (msgType=0) and a synchronization message (msgType=1).
-
-Data Endpoints
-
-   The AR6000 chipset provides several data endpoints to support quality of
-   service (QoS) and maintains separate queues and separate DMA engines for
-   each data endpoint. A data endpoint can be bi-directional.
-
-   Best effort (BE) class traffic uses the default data endpoint (2). The host can
-   establish up to two additional data endpoints for other traffic classes. Once
-   such a data endpoint is established, it sends and receives corresponding QoS
-   traffic in a manner similar to the default data endpoint.
-
-   If QoS is desired over the interconnect, host software must classify each data
-   packet and place it on the appropriate data endpoint. The information
-   required to classify data is generally available in-band as an 802.1p/q style
-   tag or as the ToS field in the IP header. The information may also be available
-   out-of-band depending on the host DDI.
-
-Connection States
-
-   Table B-1 describes the AR6000 WLAN connection states:
-
-   Table B-1.  AR6000 Connection States
-
-Connection State
-    Description
-
-   DISCONNECTED
-    In this state, the AR6000 device is not connected to a wireless
-   network. The device is in this state after reset when it sends the
-   WIRELESS MODULE \93READY\94 EVENT, after it processes a
-   DISCONNECT command, and when it loses its link with the
-   access point (AP) that it was connected to. The device signals a
-   transition to the DISCONNECTED state with a \93DISCONNECT\94
-   event.
-
-CONNECTED
-    In this state, the AR6000 device is connected to wireless networks.
-   The device enters this state after successfully processing a
-   CONNECT, which establishes a connection with a wireless
-   network. The device signals a transition to the CONNECTED state
-   with a \93CONNECT\94 event.
-
-
-Message Types
-
-   WMI uses commands, replies, and events for the control and configuration of
-   the AR6000 device. The control protocol is asynchronous. Table B-2 describes
-   AR6000 message types:
-
-Table B-2.  AR6000 Message Types
-
-Message Type
-    Description
-
-Commands
-    Control messages that flow from the host to the device
-
-Replies/Events
-    Control messages that flow from the device to the host.
-
-   The device issues a reply to some WMI commands, but not to others.
-   The payload in a reply is command-specific, and some commands do
-   not trigger a reply message at all. Events are control messages issued
-   by the device to signal the occurrence of an asynchronous event.
-
-
-WMI Message Format
-
-   All WMI control commands, replies and events use the header format:
-
-   WMI_CMD_HDR Header Format
-   {
-        UINT16 id
-                 This 16-bit constant identifies which WMI command the host is issuing,
-                 which command the target is replying to, or which event has occurred.
-        WMI_CMD_HDR
-   }
-
-
-   A variable-size command-, reply-, or event-specific payload follows the
-   header. Over the interconnect, all fields in control messages (including
-   WMI_CMD_HDR and the command specific payload) use 32-bit little Endian
-   byte ordering and fields are packed. The AR6000 device always executes
-   commands in order, and the host may send multiple commands without
-   waiting for previous commands to complete. A majority of commands are
-   processed to completion once received. Other commands trigger a longer
-   duration activity whose completion is signaled to the host through an event.
-
-Command Restrictions
-
-   Some commands may only be issued when the AR6000 device is in a certain
-   state. The host is required to wait for an event signaling a state transition
-   before such a command can be issued. For example, if a command requires
-   the device to be in the CONNECTED state, then the host is required to wait
-   for a \93CONNECT\94 event before it issues that command.
-
-   The device ignores any commands inappropriate for its current state. If the
-   command triggers a reply, the device generates an error reply. Otherwise, the
-   device silently ignores the inappropriate command.
-
-Command and Data Synchronization
-
-   WMI provides a mechanism for a host to advise the device of necessary
-   synchronization between commands and data. The device implements
-   synchronization; no implicit synchronization exists between endpoints.
-
-   The host controls synchronization using the \93SYNCHRONIZE\94 command
-   over the control channel and synchronization messages over data channels.
-   The device stops each data channel upon receiving a synchronization message
-   on that channel, processing all data packets received prior to that message.
-   After the device receives synchronization messages for each data endpoint
-   and the \93SYNCHRONIZE\94 command, it resumes all channels.
-
-   When the host must guarantee a command executes before processing new
-   data packets, it first issues the command, then issues the \93SYNCHRONIZE\94
-   command and sends synchronization messages on data channels. When the
-   host must guarantee the device has processed all old data packets before a
-   processing a new command, it issues a \93SYNCHRONIZE\94 command and
-   synchronization messages on all data channels, then issues the desired
-   command.
-
-
-
-WMI Commands
-
-   ADD_BAD_AP
-    Cause the AR6000 device to avoid a particular AP
-   ADD_CIPHER_KEY
-    Add or replace any of the four AR6000 encryption keys
-   ADD_WOW_PATTERN
-    Used to add a pattern to the WoW pattern list
-   CLR_RSSI_SNR
-    Clear the current calculated RSSI and SNR value
-   CONNECT_CMD
-    Request that the AR6000 device establish a wireless connection
-        with the specified SSID
-   CREATE_PSTREAM
-    Create prioritized data endpoint between the host and device
-   DELETE_BAD_AP
-    Clear an entry in the bad AP table
-   DELETE_CIPHER_KEY
-    Delete a previously added cipher key
-   DELETE_PSTREAM
-    Delete a prioritized data endpoint
-   DELETE_WOW_PATTERN
-    Remove a pre-specified pattern from the WoW pattern list
-   EXTENSION
-    WMI message interface command
-   GET_BIT_RATE
-    Retrieve rate most recently used by the AR6000
-   GET_CHANNEL_LIST
-    Retrieve list of channels used by the AR6000
-   GET_FIXRATES
-    Retrieves the rate-mask set via the SET_FIXRATES command.
-   GET_PMKID_LIST_CMD
-    Retrieve the firmware list of PMKIDs
-   GET_ROAM_DATA
-    Internal use for data collection; available in special build only
-   GET_ROAM_TBL
-    Retrieve the roaming table maintained on the target
-   GET_TARGET_STATS
-    Request that the target send the statistics it maintains
-   GET_TX_PWR
-    Retrieve the current AR6000 device Tx power levels
-   GET_WOW_LIST
-    Retrieve the current list of WoW patterns
-   LQ_THRESHOLD_PARAMS
-    Set the link quality thresholds
-   OPT_TX_FRAME
-    Send a special frame (special feature)
-   RECONNECT
-    Request a reconnection to a BSS
-   RSSI_THRESHOLD_PARAMS
-    Configure how the AR6000 device monitors and reports signal
-       strength (RSSI) of the connected BSS
-   SCAN_PARAMS
-    Determine dwell time and changes scanned channels
-   SET_ACCESS_PARAMS
-    Set access parameters for the wireless network
-   SET_ADHOC_BSSID
-    Set the BSSID for an ad hoc network
-   SET_AKMP_PARAMS
-    Set multiPMKID mode
-   SET_APPIE
-    Add application-specified IE to a management frame
-   SET_ASSOC_INFO
-    Specify the IEs the device should add to association or
-        reassociation requests
-   SET_AUTH_MODE
-    Set 802.11 authentication mode of reconnection
-   SET_BEACON_INT
-    Set the beacon interval for an ad hoc network
-   SET_BIT_RATE
-    Set the AR6000 to a specific fixed bit rate
-   SET_BMISS_TIME
-    Set the beacon miss time
-   SET_BSS_FILTER
-    Inform the AR6000 of network types about which it wants to
-        receive information using a \93BSSINFO\94 event
-   SET_BT_PARAMS
-    Set the status of a Bluetooth stream (SCO or A2DP) or set
-        Bluetooth coexistence register parameters
-   SET_BT_STATUS
-    Set the status of a Bluetooth stream (SCO or A2DP)
-   SET_CHANNEL_PARAMETERS
-    Configure WLAN channel parameters
-   SET_DISC_TIMEOUT
-    Set the amount of time the AR6000 spends attempting to
-        reestablish a connection
-   SET_FIXRATES
-    Set the device to a specific fixed PHY rate (supported subset)
-   SET_HALPARAM
-    Internal AR6000 command to set certain hardware parameters
-   SET_HOST_SLEEP_MODE
-    Set the host mode to asleep or awake
-   SET_IBSS_PM_CAPS
-    Support a non-standard power management scheme for an
-        ad hoc network
-   SET_LISTEN_INT
-    Request a listen interval
-   SET_LPREAMBLE
-    Override the short preamble capability of the AR6000 device
-   SET_MAX_SP_LEN
-    Set the maximum service period
-   SET_OPT_MODE
-    Set the special mode on/off (special feature)
-   SET_PMKID
-    Set the pairwise master key ID (PMKID)
-   SET_PMKID_LIST_CMD
-    Configure the firmware list of PMKIDs
-   SET_POWER_MODE
-    Set guidelines on trade-off between power utilization
-   SET_POWER_PARAMS
-    Configure power parameters
-   SET_POWERSAVE_PARAMS
-    Set the two AR6000 power save timers
-   SET_PROBED_SSID
-    Provide list of SSIDs the device should seek
-   SET_REASSOC_MODE
-    Specify whether the disassociated frame should be sent upon
-        reassociation
-   SET_RETRY_LIMITS
-    Limit how many times the device tries to send a frame
-   SET_ROAM_CTRL
-    Control roaming behavior
-   SET_RTS
-    Determine when RTS should be sent
-   SET_SCAN_PARAMS
-    Set the AR6000 scan parameters
-   SET_TKIP_COUNTERMEASURES
-    Enable/disable reports of TKIP MIC errors
-   SET_TX_PWR
-    Specify the AR6000 device Tx power levels
-   SET_VOICE_PKT_SIZE
-    Set voice packet size
-   SET_WMM
-    Override the AR6000 WMM capability
-   SET_WMM_TXOP
-    Configure TxOP bursting when sending traffic to a WMM-
-    capable AP
-   SET_WOW_MODE
-    Enable/disable WoW mode
-   SET_WSC_STATUS
-    Enable/disable profile check in cserv when the WPS protocol
-    is in progress
-   SNR_THRESHOLD_PARAMS
-    Configure how the device monitors and reports SNR of BSS
-   START_SCAN
-    Start a long or short channel scan
-   SYNCHRONIZE
-    Force a synchronization point between command and data
-    paths
-   TARGET_REPORT_ERROR_BITMASK
-    Control \93ERROR_REPORT\94 events from the AR6000
-
-
-
-
-Name
-    ADD_BAD_AP
-
-Synopsis
-    The host uses this command to cause the AR6000 to avoid a particular AP. The
-    AR6000 maintain a table with up to two APs to avoid. An ADD_BAD_AP command
-    adds or replaces the specified entry in this bad AP table.
-
-    If the AR6000 are currently connected to the AP specified in this command, they
-    disassociate.
-
-Command
-    wmiconfig eth1 --badap <bssid> <badApIndex>
-
-Command Parameters
-    UINT8 badApIndex    Index [0...1] that identifies which entry in the
-                        bad AP table to use
-
-
-    UINT8 bssid[6]  MAC address of the AP to avoid
-
-Command Values
-    badApIndex = 0, 1    Entry in the bad AP table to use
-
-Reset Value
-    The bad AP table is cleared
-
-Restrictions
-    None
-
-See Also
-    \93DELETE_BAD_AP\94 on page B-13
-
-=====================================================================
-Name
-    ADD_CIPHER_KEY
-
-Synopsis
-    The host uses this command to add/replace any of four encryption keys on the
-    AR6000. The ADD_CIPHER_KEY command is issued after the CONNECT event
-    has been received by the host for all dot11Auth modes except for SHARED_AUTH.
-    When the dot11AuthMode is SHARED_AUTH, then the ADD_CIPHER_KEY
-    command should be issued before the \93CONNECT\94 command.
-
-Command
-    wmiconfig eth1 --cipherkey <keyIndex> <keyType> <keyUsage>
-                            <keyLength> <keyopctrl> <keyRSC> <key>
-
-Command Parameters
-    UINT8 keyIndex      Index (0...3) of the key to add/replace;
-                        uniquely identifies the key
-    UINT8 keyType    CRYPTO_TYPE
-    UINT8 keyUsage   Specifies usage parameters of the key when
-                     keyType = WEP_CRYPT
-    UINT8 keyLength  Length of the key in bytes
-    UINT8 keyOpCtrl  bit[0] = Initialize TSC (default),
-                     bit[1] = Initialize RSC
-    UINT8 keyRSC[8]  Key replay sequence counter (RSC) initial
-                     value the device should use
-    UINT8 key[32]    Key material used for this connection
-    Command Values
-    {
-        NONE_CRYPT = 1
-        WEP_CRYPT  = 2
-        TKIP_CRYPT = 3
-        AES_CRYPT  = 4
-        KEY_OP_INIT_TSC   0x01
-        KEY_OP_INIT_RSC   0x02
-        KEY_OP_INIT_VAL   0x03
-                Default is to Initialize the TSC
-        KEY_OP_VALID_MASK 0x04
-                Two operations defined
-    } CRYPTO_TYPE
-
-    {
-        PAIRWISE_USAGE  = 0  Set if the key is used for unicast traffic only
-        GROUP_USAGE     = 1  Set if the key is used to receive multicast
-                              traffic (also set for static WEP keys)
-        TX_USAGE        = 2  Set for the GROUP key used to transmit frames
-                All others are reserved
-    } KEY_USAGE
-
-Reset Value
-    The four available keys are disabled.
-
-Restrictions
-    The cipher should correspond to the encryption mode specified in the \93CONNECT\94
-    command.
-
-See Also
-    \93DELETE_CIPHER_KEY\94
-
-=====================================================================
-
-
-Name
-    ADD_WOW_PATTERN
-
-Synopsis
-    The host uses this command to add a pattern to the WoW pattern list; used for
-    pattern-matching for host wakeups by the WoW module. If the host mode is asleep
-    and WoW is enabled, all packets are matched against the existing WoW patterns. If a
-    packet matches any of the patterns specified, the target will wake up the host. All
-    non-matching packets are discarded by the target without being sent up to the host.
-
-Command
-    wmiconfig \96addwowpattern <list-id> <filter-size> <filter-offset>
-    <pattern> <mask>
-
-Command Parameters
-    A_UINT8  filter_list_id    ID of the list that is to include the new pattern
-    A_UINT8  filter_size       Size of the new pattern
-    A_UINT8  filter_offset     Offset at which the pattern matching for this
-                                new pattern should begin at
-    A_UINT8  filter[1]         Byte stream that contains both the pattern and
-                                the mask of the new WoW wake-up pattern
-
-Reply Parameters
-    None
-
-Reset Value
-    None defined (default host mode is awake)
-
-Restrictions
-    None
-
-See Also
-    \93DELETE_WOW_PATTERN\94
-
-=====================================================================
-
-
-Name
-    CLR_RSSI_SNR
-
-Synopsis
-    Clears the current calculated RSSI and SNR value. RSSI and SNR are reported by
-    running-average value. This command will clear the history and have a fresh start
-    for the running-average mechanism.
-
-Command
-    wmiconfig eth1 --cleanRssiSnr
-
-Command Parameters
-    None
-
-Reply Parameters
-    None
-
-Reset Value
-    None defined
-
-Restrictions
-    None
-
-=====================================================================
-
-Name
-    CONNECT_CMD
-
-Synopsis
-    New connect control information (connectCtrl) is added, with 32 possible modifiers.
-
-    CONNECT_SEND_REASSOC
-        Valid only for a host-controlled connection to a
-        particular AP. If this bit is set, a reassociation frame is
-        sent. If this bit is clear, an association request frame is
-        sent to the AP.
-
-    CONNECT_IGNORE_WPAx_GROUP_CIPHER
-        No group key is issued in the CONNECT command,
-        so use the group key advertised by the AP. In a target-
-        initiated roaming situation this allows a STA to roam
-        between APs that support different multicast ciphers.
-
-    CONNECT_PROFILE_MATCH_DONE
-        In a host-controlled connection case, it is possible that
-        during connect, firmware may not have the
-        information for a profile match (e.g, when the AP
-        supports hidden SSIDs and the device may not
-        transmit probe requests during connect). By setting
-        this bit in the connection control information, the
-        firmware waits for a beacon from the AP with the
-        BSSID supplied in the CONNECT command. No
-        additional profile checks are done.
-
-    CONNECT_IGNORE_AAC_BEACON
-        Ignore the Admission Capacity information in the
-        beacon of the AP
-
-    CONNECT_ASSOC_POLICY_USER
-        When set, the CONNECT_SEND_REASSOC setting
-        determines if an Assoc or Reassoc is sent to an AP
-
-Command
-    wmiconfig --setconnectctrl <ctrl flags bitmask>
-
-Command Parameters
-    typedef struct{
-    A_UINT8 networktype;
-    A_UINT8 dot11authmode;
-    A_UINT8 authmode;
-    A_UINT8 pairwiseCryptoType; /*CRYPTO_TYPE*/
-    A_UINT8 pairwiseCryptoLen;
-    A_UINT8 groupCryptoType; /*CRYPTO_TYPE*/
-    A_UINT8 groupCryptoLen;
-    A_UINT8 ssidLength;
-    A_UCHAR ssid[WMI_MAX_SSID_LEN];
-    A_UINT16 channel;
-    A_UINT8 bssid[AUTH_MAC_LEN];
-    A_UINT8 ctrl_flags; /*WMI_CONNECT_CTRL_FLAGS_BITS*/
-    } WMI_CONNECT_CMD;
-
-    ctrl flags bitmask
-        = 0x0001 CONNECT_ASSOC_POLICY_USER
-            Assoc frames are sent using the policy specified by
-            the flag
-        = 0x0002 CONNECT_SEND_REASSOC
-            Send Reassoc frame while connecting, otherwise send
-            assoc frames
-        = 0x0004 CONNECT_IGNORE_WPAx_GROUP_CIPHER
-            Ignore WPAx group cipher for WPA/WPA2
-        = 0x0008 CONNECT_PROFILE_MATCH_DONE
-            Ignore any profile check
-        = 0x0010 CONNECT_IGNORE_AAC_BEACON
-            Ignore the admission control information in the
-            beacon
-        ... CONNECT_CMD, continued
-        Command Values
-        typedef enum {
-            INFRA_NETWORK       = 0x01,
-            ADHOC_NETWORK       = 0x02,
-            ADHOC_CREATOR       = 0x04,
-        } NETWORK_TYPE;
-
-        typedef enum {
-            OPEN_AUTH           = 0x01,
-            SHARED_AUTH         = 0x02,
-            LEAP_AUTH           = 0x04,
-        } DOT11_AUTH_MODE;
-        typedef enum {
-            NONE_AUTH           = 0x01,
-            WPA_AUTH            = 0x02,
-            WPA_PSK_AUTH        = 0x03,
-            WPA2_AUTH           = 0x04,
-            WPA2_PSK_AUTH       = 0x05,
-            WPA_AUTH_CCKM       = 0x06,
-            WPA2_AUTH_CCKM      = 0x07,
-        } AUTH_MODE;
-        typedef enum {
-            NONE_CRYPT          = 0x01,
-            WEP_CRYPT           = 0x02,
-            TKIP_CRYPT          = 0x03,
-            AES_CRYPT           = 0x04,
-        } CRYPTO_TYPE;
-        typedef enum {
-            CONNECT_ASSOC_POLICY_USER = 0x0001,
-            CONNECT_SEND_REASSOC = 0x0002,
-            CONNECT_IGNORE_WPAx_GROUP_CIPHER = 0x0004,
-            CONNECT_PROFILE_MATCH_DONE = 0x0008,
-            CONNECT_IGNORE_AAC_BEACON = 0x0010,
-        } WMI_CONNECT_CTRL_FLAGS_BITS;
-
-    pairwiseCryptoLen and groupCryptoLen are valid when the respective
-    CryptoTypesis WEP_CRYPT, otherwise this value should be 0. This is the length in
-    bytes.
-
-Reset Value
-    None defined
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    CREATE_PSTREAM
-
-Synopsis
-    The host uses this command to create a new prioritized data endpoint between the
-    host and the AR6000 device that carries a prioritized stream of data. If the AP that the
-    device connects to requires TSPEC stream establishment, the device requests the
-    corresponding TSPEC with the AP. The maximum and minimum service interval
-    ranges from 0 \96 0x7FFFFFFF (ms), where 0 = disabled. The device does not send a
-    reply event for this command, as it is always assumed the command has succeeded.
-    An AP admission control response comes to the host via a WMI_CAC_INDICATION
-    event, once the response for the ADDTS frame comes.
-
-    Examples of cases where reassociation is generated (when WMM) and cases where
-    ADDTS is generated (when WMM and enabling ACM) are when:
-        Changing UAPSD flags in WMM mode, reassociation is generated
-        Changing the interval of sending auto QoS Null frame in WMM mode;
-            reassociation is not generated
-        Issuing a command with same previous parameters in WMM mode and enabling
-            ACM, an ADDTS request is generated
-        Changing the interval of a QoS null frame sending in WMM mode and enabling
-            ACM, an ADDTS request is generated
-        Issuing the command in disconnected state, reassociation or ADDTS is not
-            generated but the parameters are available after (re)association
-
-Command
-    --createqos <user priority> <direction> <traffic class>
-<trafficType> <voice PS capability> <min service interval> <max
-service interval> <inactivity interval> <suspension interval>
-<service start time> <tsid> <nominal MSDU> <max MSDU> <min data
-rate> <mean data rate> <peak data rate> <max burst size> <delay
-bound> <min phy rate> <sba> <medium time> where:
-
-    <user priority>
-    802.1D user priority range (0\967)
-    <direction>
-        = 0    Tx (uplink) traffic
-        = 1    Rx (downlink) traffic
-        = 2    Bi-directional traffic
-    <traffic class>
-        = 1    BK
-        = 2    VI
-        = 3    VO
-    <trafficType>
-        = 0    Aperiodic
-        = 1    Periodic
-    <voice PS capability>
-        Specifies whether the voice power save mechanism
-    (APSD if AP supports it or legacy/simulated APSD
-    [using PS-Poll]) should be used
-        = 0    Disable voice power save for traffic class
-        = 1    Enable APSD voice power save for traffic class
-        = 2    Enable voice power save for all traffic classes
-    <min service interval>
-        (In ms)
-    <max service interval>
-        Inactivity interval (in ms) (0 = Infinite)
-    <suspension interval>
-        (In ms)
-    <service start time>
-        Service start time
-    <tsid>
-        TSID range (0\9615)
-    <nominal MSDU>
-        Nominal MAC SDU size
-    <max MSDU>
-        Maximum MAC SDU size
-    <min data rate>
-        Minimum data rate (in bps)
-    <mean data rate>
-        Mean data rate (in bps)
-    <peak data rate>
-        Peak data rate (in bps)
-    <max burst size>
-        Maximum burst size (in bps)
-    <delay bound>
-        Delay bound
-    <min phy rate>
-        Minimum PHY rate (in bps)
-    <sba>
-        Surplus bandwidth allowance
-    <medium time>
-        Medium time in TU of 32-ms periods per sec
-    ... CREATE_PSTREAM (continued)
-
-Command Parameters
-    UINT8 trafficClass    TRAFFIC_CLASS value
-    UINT8 traffic
-    Direction
-    DIR_TYPE value
-    UINT8    rxQueueNum
-        AR6000 device mailbox index (2 or 3)
-        corresponding to the endpoint the host
-        wishes to use to receive packets for the
-        prioritized stream
-    UINT8 trafficType  TRAFFIC_TYPE value
-    UINT8 voicePS
-Capability
-    VOICEPS_CAP_TYPE value
-    UINT8 tsid          Traffic stream ID
-    UINT8 userPriority  802.1D user priority
-    UINT16 nominalMSDU  Nominal MSDU in octets
-    UINT16 maxMSDU      Maximum MSDU in octets
-    UINT32 minServiceInt Minimum service interval: the min.
-                            period of traffic specified (in ms)
-    UINT32 maxServiceInt  Maximum service interval: the max.
-                        period of traffic specified (in ms)
-    UINT32 inactivityInt Indicates how many ms an established
-                        stream is inactive before the prioritized
-                        data endpoint is taken down and the
-                        corresponding T-SPEC deleted
-    UINT32 suspensionInt  Suspension interval (in ms)
-    UINT32 service       StartTime Service start time
-    UINT32 minDataRate  Minimum data rate (in bps)
-    UINT32 meanDataRate Mean data rate (in bps)
-    UINT32 peakDataRate Peak data rate (in bps)
-    UINT32 maxBurstSize
-    UINT32 delayBound
-    UINT32 minPhyRate   Minimum PHY rate for TSPEC (in bps)
-    UINT32 sba          Surplus bandwidth allowance
-    UINT32 mediumTime   Medium TSPEC time (in units of 32 ms)
-Command Values
-    {
-        WMM_AC_BE = 0   Best Effort
-        WMM_AC_BK = 1   Background
-        WMM_AC_VI = 2   Video
-        WMM_AC_VO = 3   Voice
-        All other values reserved
-    } TRAFFIC_CLASS
-    {
-        UPLINK_TRAFFIC   = 0  From the AR6000 device to the AP
-        DOWNLINK_TRAFFIC = 1  From the AP to the AR6000 device
-        BIDIR_TRAFFIC    = 2  Bi-directional traffic
-        All other values reserved
-    } DIR_TYPE
-    {
-        DISABLE_FOR_THIS_AC = 0
-        ENABLE_FOR_THIS_AC  = 1
-        ENABLE_FOR_ALL_AC   = 2
-        All other values reserved
-    } VOICEPS_CAP_TYPE
-
-    ... CREATE_PSTREAM (continued)
-
-
-        VI  BE   BK    Supported, Y/N?
-   0    0    0    0    Y
-   0    0    0    1    Y
-   0    0    1    0    N
-   0    0    1    1    N
-   0    1    0    0    Y
-   0    1    0    1    Y
-   0    1    1    0    N
-   0    1    1    1    N
-   1    0    0    0    Y
-   1    0    0    1    Y
-   1    0    1    0    N
-   1    1    0    0    N
-   1    1    0    1    Y
-   1    1    0    0    N
-   1    1    1    0    N
-   1    1    1    1    Y
-
-Reset Value
-    No pstream is present after reset; each of the BE, BK, VI,VO pstreams must be created
-    (either implicitly by data flow or explicitly by user)
-
-Restrictions
-    This command can only be issued when the device is in the CONNECTED state. If
-    the device receives the command while in DISCONNECTED state, it replies with a
-    failure indication. At most four prioritized data endpoints can be created, one for
-    each AC.
-
-See Also
-    \93DELETE_PSTREAM\94
-=====================================================================
-
-Name
-    DELETE_BAD_AP
-
-Synopsis
-    The host uses this command to clear a particular entry in the bad AP table
-
-Command
-    wmiconfig eth1 --rmAP [--num=<index>] // used to clear a badAP
-    entry. num is index from 0-3
-
-Command Parameters
-    UINT8  badApIndex   Index [0...n] that identifies the entry in the bad
-                        AP table to delete
-
-Command Values
-    badApIndex   = 0, 1, 2, 3
-            Entry in the bad AP table
-
-Reset Value
-    None defined
-
-Restrictions
-    None
-
-See Also
-    \93ADD_BAD_AP\94
-
-=====================================================================
-
-
-Name
-    DELETE_CIPHER_KEY
-
-Synopsis
-    The host uses this command to delete a key that was previously added with the
-    \93ADD_CIPHER_KEY\94 command.
-
-Command
-    TBD
-
-Command Parameters
-    UINT8   keyIndex    Index (0...3) of the key to be deleted
-
-Command Values
-    keyIndex    = 0, 1,2, 3    Key to delete
-
-Reset Value
-    None
-
-Restrictions
-    The host should not delete a key that is currently in use by the AR6000.
-
-See Also
-    \93ADD_CIPHER_KEY\94
-
-=====================================================================
-
-Name
-    DELETE_PSTREAM
-
-Synopsis
-    The host uses this command to delete a prioritized data endpoint created by a
-    previous \93CREATE_PSTREAM\94 command
-
-Command
-    --deleteqos <trafficClass> <tsid>, where:
-
-    <traffic class>
-        = 0    BE
-        = 1    BK
-        = 2    VI
-        = 3    VO
-    <tsid>
-        The TSpec ID; use the -qosqueue option
-        to get the active TSpec IDs for each traffic class
-
-Command Parameters
-    A_UINT8    trafficClass    Indicate the traffic class of the stream
-                            being deleted
-
-Command Values
-    {
-        WMM_AC_BE = 0    Best effort
-        WMM_AC_BK = 1    Background
-        WMM_AC_VI = 2    Video
-        WMM_AC_VO = 3    Voice
-    } TRAFFIC CLASS
-
-    0-15 for TSID
-
-Reply Values
-    N/A
-
-Restrictions
-    This command should only be issued after a \93CREATE_PSTREAM\94 command has
-    successfully created a prioritized stream
-
-See Also
-    \93CREATE_PSTREAM\94
-
-=====================================================================
-
-
-Name
-    DELETE_WOW_PATTERN
-
-Synopsis
-    The host uses this command to remove a pre-specified pattern from the
-    WoW pattern list.
-
-Command
-    wmiconfig \96delwowpattern <list-id> <pattern-id>
-
-Command Parameters
-    A_UINT8    filter_list_id    ID of the list that contains the WoW filter
-                                 pattern to delete
-    A_UINT8    filter_id    ID of the WoW filter pattern to delete
-
-Reply Parameters
-    None
-
-
-
-Reset Value
-    None defined
-
-Restrictions
-    None
-
-See Also
-    \93ADD_WOW_PATTERN\94
-
-=====================================================================
-
-
-Name
-    EXTENSION
-
-Synopsis
-    The WMI message interface is used mostly for wireless control messages to a wireless
-    module applicable to wireless module management regardless of the target platform
-    implementation. However, some commands only peripherally related to wireless
-    management are desired during operation. These wireless extension commands may
-    be platform-specific or implementation-dependent.
-
-Command
-    N/A
-
-Command Parameters
-    Command-specific
-
-Command Values
-    Command-specific
-
-Reply Parameters
-    Command-specific
-
-Reset Values
-    None defined
-
-Restrictions
-    None defined
-
-=====================================================================
-
-
-Name
-    GET_BIT_RATE
-
-Synopsis
-    Used by the host to obtain the rate most recently used by the AR6000 device
-
-Command
-    wmiconfig eth1 --getfixrates
-
-Command Parameters
-    None
-
-
-
-Reply Parameters
-    INT8
-    rateIndex
-    See the \93SET_BIT_RATE\94 command
-
-Reset Values
-    None
-
-Restrictions
-    This command should only be used during development/debug; it is not intended
-for use in production. It is only valid when the device is in the CONNECTED state
-
-See Also
-    \93SET_BIT_RATE\94
-
-=====================================================================
-
-
-Name
-    GET_CHANNEL_LIST
-
-Synopsis
-    Used by the host uses to retrieve the list of channels that can be used by the device
-    while in the current wireless mode and in the current regulatory domain.
-
-Command
-    TBD
-
-Command Parameters
-    None
-
-Reply Parameters
-    UINT8    reserved    Reserved
-    UINT8    numberOfChannels    Number of channels the reply contains
-    UINT16    channelList[numberOfChannels]  Array of channel frequencies (in MHz)
-
-Reset Values
-    None defined
-
-Restrictions
-    The maximum number of channels that can be reported are 32
-
-=====================================================================
-
-
-Name
-    GET_FIXRATES
-
-Synopsis
-    Clears the current calculated RSSI and SNR value. RSSI and SNR are reported by
-    running-average value. This command will clear the history and have a fresh start for
-    the running-average mechanism.
-
-Synopsis
-    This returns rate-mask set via WMI_SET_FIXRATES to retrieve the current fixed rate
-    that the AR6001 or AR6001 is using. See \93SET_FIXRATES\94.
-
-Command
-    wmiconfig eth1 --getfixrates
-
-Command Parameters
-    A_UINT16    fixRateMask;    Note: if this command is used prior to
-                using WMI_SET_FIXRATES, AR6000
-                returns 0xffff as fixRateMask, indicating
-                all the rates are enabled
-
-Reply Parameters
-    None
-
-Reset Value
-    None defined
-
-Restrictions
-    None
-
-See Also
-    \93SET_FIXRATES\94
-
-=====================================================================
-
-
-
-Name
-    GET_PMKID_LIST_CMD
-
-Synopsis
-    Retrieves the list of PMKIDs on the firmware. The
-    WMI_GET_PMKID_LIST_EVENT is generated by the firmware.
-
-Command
-    TBD
-
-Command Parameters
-
-Reset Values
-    None
-
-Restrictions
-    None
-
-See Also
-    SET_PMKID_LIST_CMD GET_PMKID_LIST_EVENT
-
-=====================================================================
-
-
-Name
-    GET_ROAM_TBL
-
-Synopsis
-    Retrieve the roaming table maintained on the target. The response is reported
-    asynchronously through the ROAM_TBL_EVENT.
-
-Command
-    wmiconfig --getroamtable <roamctrl> <info>
-
-Command Parameters
-    A_UINT8    roamCtrlType;
-    A_UINT16   roamMode
-    A_UINT16   numEntries
-    WMI_BSS_ROAM_INFO bssRoamInfo[1]
-
-Reply Value
-    Reported asynchronously through the ROAM_TBL_EVENT
-
-Reset Value
-    None defined
-
-Restrictions
-    None
-
-See Also
-    SET_KEEPALIVE
-
-=====================================================================
-
-
-Name
-    GET_TARGET_STATS
-
-Synopsis
-    The host uses this command to request that the target send the statistics that it
-    maintains. The statistics obtained from the target are accrued in the host every time
-    the GET_TARGET_STATS command is issued. The --clearStats option is added to
-    clear the target statistics maintained in the host.
-
-Command
-    wmiconfig --getTargetStats --clearStats
-
-Command Parameters
-    TARGET_STATS    targetStats
-    WMI_TARGET_STATS
-    UINT8   clearStats
-
-
-Reply Value
-    RSSI return value (0\96100)
-
-Reset Values
-    All statistics are cleared (zeroed)
-
-Restrictions
-    The --getTargetStats option must be used; the --clearStats option is also available also
-
-
-=====================================================================
-
-Name
-    GET_TX_PWR
-
-Synopsis
-    The host uses this command to retrieve the current Tx power level
-
-Command
-    wmiconfig -i eth1 --getpower
-
-Command Parameters
-    None
-
-Reply Parameters
-    UINT16 dbM    The current Tx power level specified in dbM
-
-Reset Values
-    The maximum permitted by the regulatory domain
-
-Restrictions
-    None
-
-See Also
-    \93SET_TX_PWR\94
-
-=====================================================================
-
-
-Name
-    GET_WOW_LIST
-
-Synopsis
-    The host uses this command to retrieve the current list of WoW patterns.
-
-Command
-    wmiconfig \96getwowlist <list-id>
-
-Command Parameters
-    A_UINT8 filter_list_id    ID of the list of WoW patterns to retrieve
-
-Reply Value(s)
-    A_UINT16  num_filters    Number of WoW patterns contained in the list
-    A_UINT8   wow_mode    Current mode of WoW (enabled or disabled)
-    A_UINT8    host_mode    Current host mode (asleep or awake)
-    WOW_FILTER    wow_filters[1]
-        Contents of the WoW filter pattern list
-        (contains mask, pattern, offset and size
-    information for each of the patterns)
-
-Reset Value
-    None defined
-
-Restrictions
-    None
-
-See Also
-    \93SET_WSC_STATUS\94
-
-=====================================================================
-
-
-Name
-    LQ_THRESHOLD_PARAMS
-
-Synopsis
-    Sets Link Quality thresholds, the sampling will happen at every unicast data frame
-    Tx if a certain threshold is met, and the corresponding event will be sent to the host.
-
-Command
-    --lqThreshold <enable> <upper_threshold_1> ...
-    <upper_threshold_4> <lower_threshold_1> ... <lower_threshold_4>
-
-Command Parameters
-    <enable>    = 0    Disable link quality sampling
-                = 1    Enable link quality sampling
-    <upper_threshold_x>  Above thresholds (value in [0,100]), in
-                    ascending order
-    <lower_threshold_x> Below thresholds (value in [0,100]), in
-                    ascending order
-
-Command Values
-    See command parameters
-
-Reset Value
-    None defined
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    OPT_TX_FRAME
-
-Synopsis
-    Special feature, sends a special frame.
-
-Command
-    wmiconfig --sendframe <frmType> <dstaddr> <bssid> <optIEDatalen>
-    <optIEData>
-
-Command Parameters
-    {
-        A_UINT16    optIEDataLen;
-        A_UINT8    frmType;
-        A_UINT8    dstAddr[ATH_MAC_LEN];
-        A_UINT8    bssid[ATH_MAC_LEN];
-        A_UINT8    optIEData[1];
-    } WMI_OPT_TX_FRAME_CMD;
-
-Command Values
-    <frmtype>   = 1    Probe request frame
-                = 2    Probe response frame
-                = 3    CPPP start
-                = 4    CPPP stop
-
-Reset Value
-    None defined
-
-Restrictions
-    Send a special frame only when special mode is on.
-
-=====================================================================
-
-
-Name
-    RECONNECT
-
-Synopsis
-    This command requests a reconnection to a BSS to which the AR6000 device was
-    formerly connected
-
-Command
-    TBD
-
-Command Parameters
-    UINT16    channel    Provides a hint as to which channel was
-                        used for a previous connection
-    UINT8    bssid[6]    If set, indicates which BSSID to connect to
-
-Command Values
-    None
-
-Reset Values
-    None
-
-Restrictions
-    None
-
-See Also
-    \93CONNECT_CMD\94
-
-=====================================================================
-
-
-Name
-    RSSI_THRESHOLD_PARAMS
-
-Synopsis
-    Configures how the AR6000 device monitors and reports signal strength (RSSI) of the
-    connected BSS, which is used as a link quality metric. The four RSSI threshold sets (in
-    dbM) of the host specification divide the signal strength range into six segments.
-    When signal strength increases or decreases across one of the boundaries, an
-    RSSI_THRESHOLD event is signaled to the host. The host may then choose to take
-    action (such as influencing roaming).
-
-Command
-    wmiconfig eth1 --rssiThreshold <weight> <pollTime>
-        <above_threshold_val_1> ... <above_threshold_tag_6>
-        <above_threshold_val_6>
-        <below_threshold_tag_1> <below_threshold_val_1> ...
-        <below_threshold_tag_6> <below_threshold_val_6>
-
-Command Parameters
-    UINT8    weight    Range in [1, 16] used to calculate average RSSI
-    UINT32   pollTime   RSSI (signal strength) sampling frequency in
-                seconds (if pollTime = 0, single strength
-        sampling is disabled)
-    USER_RSS__THOLD tholds[12]  Thresholds (6 x 2)
-
-Command Values
-    None defined
-
-Reset Values
-    pollTime is 0, and sampling is disabled
-
-Restrictions
-    Can only be issued if the AR6000 device is connected
-
-
-=====================================================================
-
-Name
-    SCAN_PARAMS
-
-Synopsis
-    The minact parameter determines the minimum active channel dwell time, within
-    which if the STA receives any beacon, it remains on that channel until the maxact
-    channel dwell time. If the STA does not receive a beacon within the minact dwell
-    time, it switches to scan the next channel.
-
-Command
-    wmiconfig -scan -minact=<ms> --maxact=<ms>
-
-Command Parameters
-    UINT16    maxact    Channel dwell time (in ms), default = 0
-    UINT16    minact    Channel dwell time (in ms), default = 105
-
-Command Values
-    See channel parameters
-
-Reset Values
-    None defined
-
-Restrictions
-    The minact value should be greater than 0; maxact should be between 5\9665535 ms
-    and greater than minact
-
-=====================================================================
-
-
-Name
-    SET_ACCESS_PARAMS
-
-Synopsis
-    Allows the host to set access parameters for the wireless network. A thorough
-    understanding of IEEE 802.11 is required to properly manipulate these parameters.
-
-Command
-    wmiconfig eth1 --acparams --txop <limit> --cwmin <0-15>
-    --cwmax <0-15> --aifsn<0-15>
-
-Command Parameters
-    UINT16    txop    The maximum time (expressed in units of
-                        32 ms) the device can spend transmitting
-                        after acquiring the right to transmit
-    UINT8    eCWmin    Minimum contention window
-    UINT8    eCWmax    Maximum contention window
-    UINT8    aifsn    The arbitration inter-frame space number
-
-Command Values
-    None
-
-Reset Values
-    Reasonable defaults that vary, between endpoints (prioritized streams)
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_ADHOC_BSSID
-
-Synopsis
-    Allows the host to set the BSSID for an ad hoc network. If a network with this BSSID
-    is not found, the target creates an ad hoc network with this BSSID after the connect
-    WMI command is triggered (e.g., by the SIOCSIWESSID IOCTL).
-
-Command
-    wmiconfig eth1 --adhocbssid <bssid>
-
-Command Parameters
-    A_UINT8     bssid[ATH_MAC_LEN]    BSSID is specified in xx:xx:xx:xx:xx:xx format
-
-Command Values
-    None
-
-Reset Values
-    None
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_AKMP_PARAMS
-
-Synopsis
-    Enables or disables multi PMKID mode.
-
-Command
-    wmiconfig eth1 --setakmp --multipmkid=<on/off>
-
-Command Parameters
-    typedef struct {
-      A_UINT32    akmpInfo;
-    } WMI_SET_AKMP_PARAMS_CMD;
-
-Command Values
-    akmpInfo;
-    bit[0] = 0
-        MultiPMKID mode is disabled and PMKIDs that
-        were set using the WMI_SET_PMKID_CMD are
-        used in the [Re]AssocRequest frame.
-     bit[0] = 1
-        MultiPMKID mode is enabled and PMKIDs issued
-        by the WMI_SET_PMKID_LIST_CMD are used in
-        the next [Re]AssocRequest sent to the AP.
-
-Reset Values
-    MultiPMKID mode is disabled
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_APPIE
-
-Synopsis
-    Add an application-specified IE to a management frame. The maximum length is
-    76 bytes. Including the length and the element ID, this translates to 78 bytes.
-
-Command
-    wmiconfig --setappie <frame> <IE>, where:
-
-    frame
-        One of beacon, probe, respon, assoc
-
-    IE
-        A hex string beginning with DD (if = 0, no
-        IE is sent in the management frame)
-
-Command Parameters
-    mgmtFrmType;
-        A WMI_MGMT_FRAME_TYPE
-
-    ieLen;
-        Length of the IE to add to the GMT frame
-
-Command Values
-    None
-
-Reset Value
-    None defined
-
-Restrictions
-    Supported only for the probe request and association request management frame
-types. Also, only one IE can be added per management frame type.
-
-=====================================================================
-
-
-Name
-    SET_ASSOC_INFO
-
-Synopsis
-    The host uses this command to specify any information elements (IEs) it wishes the
-    AR6000 device to add to all future association and reassociation requests. IEs must be
-    correct and are used as is by the device. IEs specified through this command are
-    cleared with a DISCONNECT.
-
-Command
-    wmiconfig eth1 --setAssocIe <IE>
-
-Command Parameters
-    UINT8    ieType    Used directly in 802.11 frames
-    UINT8    bufferSize    Size of assocInfo (in bytes) ranging from
-                        0\96240. If = 0, previously set IEs are cleared.
-    UINT8    assocInfo[bufferSize]    Used directly in 802.11 frames
-
-Command Values
-    None
-
-Reset Values
-    IEs are cleared
-
-Restrictions
-    This command can only be issued in the DISCONNECTED state
-
-=====================================================================
-
-
-Name
-    SET_AUTHMODE
-
-Synopsis
-    Sets the 802.11 authentication mode of reconnection
-
-Command
-    wmiconfig eth1 --setauthmode <mode>
-
-Command Parameters
-    UINT8    mode
-
-Command Values
-    mode    = 0x00    Proceed with authentication during reconnect
-            = 0x01    Do not proceed with authentication during reconnect
-
-Reset Values
-    Authentication
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_BEACON_INT
-
-Synopsis
-    Sets the beacon interval for an ad hoc network. Beacon interval selection may have an
-    impact on power savings. To some degree, a longer interval reduces power
-    consumption but also decreases throughput. A thorough understanding of IEEE
-    802.11 ad hoc networks is required to use this command effectively.
-
-Command
-    wmiconfig eth1 --ibssconintv
-
-Command Parameters
-    UINT16    beaconInterval    Specifies the beacon interval in TU units (1024 ms)
-
-Command Values
-    None
-
-Reset Values
-    The default beacon interval is 100 TUs (102.4 ms)
-
-Restrictions
-    This command can only be issued before the AR6000 device starts an ad hoc network
-
-See Also
-    \93SET_IBSS_PM_CAPS\94
-
-=====================================================================
-
-
-Name
-    SET_BIT_RATE
-
-Synopsis
-    The host uses this command to set the AR6000 device to a specific fixed rate.
-
-Command
-    wmiconfig eth1 --setfixrates <rate_0> ... <rate_n>
-
-Command Parameters
-    INT8    rateIndex
-    A WMI_BIT_RATE value
-    {
-        RATE_AUTO    = -1
-        RATE_1Mb     = 0
-        RATE_2Mb     = 1
-        RATE_5_5M    = 2
-        RATE_11Mb    = 3
-        RATE_6Mb     = 4
-        RATE_9Mb     = 5
-        RATE_12Mb    = 6
-        RATE_18Mb    = 7
-        RATE_24Mb    = 8
-        RATE_36Mb    = 9
-        RATE_48Mb    = 10
-        RATE_54Mb    = 11
-      } WMI_BIT_RATE
-
-
-Command Values
-    See command parameters
-
-Reset Values
-    The dynamic rate is determined by the AR6000 device
-
-Restrictions
-    This command is intended for use only during development/debug; it is not
-intended for use in production
-
-See Also
-    \93GET_BIT_RATE\94
-
-=====================================================================
-
-
-Name
-    SET_BMISS_TIME
-
-Synopsis
-    This command sets the beacon miss (BMISS) time, which the AR6000 hardware use
-    to recognize missed beacons. When an excessive number (15) of consecutive beacons
-    are missed, the AR6000 consider switching to a different BSS. The time can be
-    specified in number of beacons or in TUs.
-
-Command(s)
-    wmiconfig eth1 --setbmissbeacons=<val>
-    wmiconfig eth1 --setbmisstime=<val>
-
-Command Parameters
-    UINT16    bmissTime    Specifies the beacon miss time
-                            [1000...5000] in TUs (1024 ms)
-    UINT16    bmissbeacons  Specifies the number of beacons [5...50]
-
-Command Values
-    None
-
-Reset Values
-    bmissTime is 1500 TUs (1536 ms)
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_BSS_FILTER
-
-Synopsis
-    The host uses this to inform the AR6000 device of the types of networks about which
-    it wants to receive information from the \93BSSINFO\94 event. As the device performs
-    either foreground or background scans, it applies the filter and sends \93BSSINFO\94
-    events only for the networks that pass the filter. If any of the  bssFilter or the ieMask
-    filter matches, a BSS Info is sent to the host. The ieMask currently is used as a match
-    for the IEs in the beacons, probe reponses and channel switch action management
-    frame. See also \93Scan and Roam\94 on page C-1.
-
-    The BSS filter command has been enhanced to support IE based filtering. The IEs can
-    be specified as a bitmask through this command using this enum.
-
-Command
-    wmiconfig eth1 \96filter = <filter> --ieMask 0x<mask>
-
-Command Parameters
-    UINT8    BssFilter
-
- Command Values
-    typedef struct {
-        A_UINT8    bssFilter;    See WMI_BSS_FILTER
-        A_UINT32    ieMask;
-    } __ATTRIB_PACK WMI_BSS_FILTER_CMD;
-
-    The ieMask can take this combination of values:
-
-    enum {
-        BSS_ELEMID_CHANSWITCH   = 0x01
-        BSS_ELEMID_ATHEROS      = 0x02,
-    }
-
-Reply Value
-    None
-
-Reset Value
-    BssFilter = NONE_BSS_FILTER (0)
-
-Restrictions
-    None
-
-See Also
-    \93CONNECT_CMD\94
-
-=====================================================================
-
-
-Name
-    SET_BT_PARAMS
-
-Synopsis
-    This command is used to set the status of a Bluetooth stream or set Bluetooth
-    coexistence register parameters. The stream may be an SCO or an A2DP stream and
-    its status can be started/stopped/suspended/resumed.
-
-Command
-    wmiconfig \96setBTparams <paramType> <params>
-
-Command Parameters
-    struct {
-       union {
-            BT_PARAMS_SCO    scoParams;
-            BT_PARAMS_A2DP   a2dpParams;
-            BT_PARAMS_MISC   miscParams;
-            BT_COEX_REGS     regs;
-        } info;
-         A_UINT8 paramType;
-        struct {
-            A_UINT8 noSCOPkts;    Number of SCO packets between consecutive PS-POLLs
-            A_UINT8 pspollTimeout;
-            A_UINT8 stompbt;
-        } BT_PARAMS_SCO;
-        struct {
-            A2DP BT stream parameters
-            A_UINT32   period;
-            A_UINT32   dutycycle;
-            A_UINT8    stompbt;
-        } BT_PARAMS_A2DP;
-        struct {
-            union {
-               WLAN_PROTECT_POLICY_TYPE   protectParams;
-               A_UINT16    wlanCtrlFlags;
-            }info;
-        A_UINT8 paramType;
-        } BT_PARAMS_MISC;
-        struct {
-            BT coexistence registers values
-            A_UINT32    mode;     Coexistence mode
-            A_UINT32    scoWghts; WLAN and BT weights
-            A_UINT32    a2dpWghts;
-            A_UINT32    genWghts;
-            A_UINT32    mode2;    Coexistence mode2
-            A_UINT8    setVal;
-        } BT_COEX_REGS;
-
-Command Values
-    None defined
-
-Reset Value
-    None
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_BT_STATUS
-
-Synopsis
-    Sets the status of a Bluetooth stream. The stream may be a SCO or an A2DP stream
-    and its status can be started/stopped/suspended/resumed.
-
-Command
-    wmiconfig \96setBTstatus <streamType> <status>
-
-Command Parameters
-    {
-        A_UINT8        streamType;    Stream type
-        A_UINT8        status;    Stream status
-    }WMI_SET_BT_STATUS_CMD;
-
-Command Values
-    {
-        BT_STREAM_UNDEF    = 0
-        BT_STREAM_SCO
-        SCO stream
-        BT_STREAM_A2DP
-        A2DP stream
-        BT_STREAM_MAX
-    } BT_STREAM_TYPE;
-
-    {
-        BT_STATUS_UNDEF    = 0
-        BT_STATUS_START
-        BT_STATUS_STOP
-        BT_STATUS_RESUME
-        BT_STATUS_SUSPEND
-        BT_STATUS_MAX
-    } BT_STREAM_STATUS;
-
-Reset Value
-    None defined
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_CHANNEL_PARAMETERS
-
-Synopsis
-    Configures various WLAN parameters related to channels, sets the wireless mode,
-    and can restrict the AR6000 device to a subset of available channels. The list of
-    available channels varies depending on the wireless mode and the regulatory
-    domain. The device never operates on a channel outside of its regulatory domain. The
-    device starts to scan the list of channels right after this command.
-
-Command
-    wmiconfig eth1 --wmode <mode> <list>
-
-Command Parameters
-    UINT8    phyMode    See Values below.
-    UINT8    numberOfChannels
-        Number of channels in the channel array that
-        follows. If = 0, then the device uses all of the
-        channels permitted by the regulatory domain
-        and by the specified phyMode.
-    UINT16    channel[numberOfChannels]
-        Array listing the subset of channels (expressed
-        as frequencies in MHz) the host wants the
-        device to use. Any channel not permitted by
-        the specified phyMode or by the specified
-        regulatory domain is ignored by the device.
-
-Command Values
-    phyMode = {
-        Wireless mode
-        11a    = 0x01
-        11g    = 0x02
-        11ag   = 0x03
-        11b    = 0x04
-        11g only    = 0x05
-        }
-
-Reset Values
-    phyMode
-    11ag
-    802.11a/g modules
-        11g
-    802.11g module
-    channels
-        Defaults to all channels permitted by the
-        current regulatory domain.
-
-Restrictions
-    This command, if issued, should be issued soon after reset and prior to the first
-    connection. This command should only be issued in the DISCONNECTED state.
-
-=====================================================================
-
-
-Name
-    SET_DISC_TIMEOUT
-
-Synopsis
-    The host uses this command to configure the amount of time that the AR6000 should
-    spend when it attempts to reestablish a connection after losing link with its current
-    BSS. If this time limit is exceeded, the AR6000 send a \93DISCONNECT\94 event. After
-    sending the \93DISCONNECT\94 event the AR6000 continues to attempt to reestablish a
-    connection, but they do so at the interval corresponding to a foreground scan as
-    established by the \93SET_SCAN_PARAMS\94 command.
-
-    A timeout value of 0 indicates that the AR6000 will disable all autonomous roaming,
-    so that the AR6000 will not perform any scans after sending a \93DISCONNECT\94
-    event to the host. The state is maintained until a shutdown or host sets different
-    timeout value from 0.
-
-Command
-    wmiconfig eth1 --disc=<timeout in seconds>
-
-Command Parameters
-    UINT8    disconnectTimeout
-        Specifies the time limit (in seconds) after
-        which a failure to reestablish a connection
-        results in a \93DISCONNECT\94 event
-
-Command Values
-    None
-
-Reset Values
-    disconnectTimeout is 10 seconds
-
-Restrictions
-    This command can only be issued while in a DISCONNECTED state
-
-=====================================================================
-
-
-Name
-    SET_FIXRATES
-
-Synopsis
-    By default, the AR6000 device uses all PHY rates based on mode of operation. If the
-    host application requires the device to use subset of supported rates, it can set those
-    rates with this command. In 802.11g mode, the AR6000 device takes the entire
-    802.11g basic rate set and the rates specified with this command and uses it as the
-    supported rate set.
-
-    This rate set is advertised in the probe request and the assoc/re-assoc request as
-    supported rates. Upon successful association, the device modifies the rate set pool
-    using the: intersection of AP-supported rates with the union of the 802.11g basic rate
-    set and rates set using this command. The device picks transmission rates from this
-    pool based on a rate control algorithm.
-
-Command
-    TBD
-
-Command Parameters
-    A_UINT16    fixRateMask;
-        The individual bit is an index for rate table,
-        and setting the that index to 1 would set that
-        corresponding rate. E.g., fixRateMask = 9
-        (1001) sets 1 Mbps and 11 Mbps.
-
-Command Values
-    None
-
-Reset Value
-    None defined
-
-Restrictions
-    None
-
-See Also
-    \93GET_FIXRATES\94
-
-=====================================================================
-
-
-Name
-    SET_WHAL_PARAM
-
-Synopsis
-    An internal AR6000 command that is used to set certain hardware parameters. The
-    description of this command is in $WORKAREA/include/halapi.h.
-
-Command
-    TBD
-
-Command Parameters
-    ATH_HAL_SETCABTO_CMDID
-        Sets the timeout waiting for the multicast
-        traffic after a DTIM beacon (in TUs).
-
-Command Values
-    None
-
-Reset Value
-    Default = 10 TUs
-
-Restrictions
-    This command should be executed before issuing a connect command.
-
-=====================================================================
-
-
-Name
-    SET_HOST_SLEEP_MODE
-
-Synopsis
-    The host uses this command to set the host mode to asleep or awake. All packets are
-    delivered to the host when the host mode is awake. When host mode is asleep, only if
-    WoW is enabled and the incoming packet matches one of the specified WoW
-    patterns, will the packet be delivered to the host. The host will also be woken up by
-    the target for pattern-matching packets and important events.
-
-Command
-    wmiconfig \96sethostmode=<asleep/awake>
-
-Command Parameters
-    A_BOOL    awake    Set the host mode to awake
-    A_BOOL    asleep   Set the host mode to asleep
-
-Command Values
-    1 = awake, 0 = asleep
-
-Reset Value
-    None defined (default host mode is awake)
-
-Restrictions
-    None
-
-
-=====================================================================
-
-Name
-    SET_IBSS_PM_CAPS
-
-Synopsis
-    Used to support a non-standard power management scheme for an ad hoc wireless
-    network consisting of up to eight stations (STAs) that support this form of power
-    saving (e.g., Atheros-based STAs). A thorough understanding of IEEE 802.11 ad hoc
-    networks is required to use this command effectively.
-
-Command
-    wmiconfig eth1 --ibsspmcaps --ps=<enable/disable>
-        --aw=<ATIM Windows in ms>
-        --ttl=<Time to live in number of beacon periods>
-        --to=<timeout in ms>
-
-Command Parameters
-    UINT8    power_saving
-        = 0
-        The non-standard power saving scheme is
-        disabled and maximum throughput (with no
-        power saving) is obtained.
-
-        = 1
-        Ad hoc power saving scheme is enabled (but
-        throughput may be decreased)
-
-    UINT16    atim_windows
-        Specifies the length (in ms) of the ad hoc traffic
-        indication message (ATIM) windows used in an ad
-        hoc network. All Atheros-based STAs that join the
-        network use this duration ATIM window.
-
-    The duration is communicated between wireless
-    STAs through an IE in beacons and probe responses.
-
-    The host sets atim_windows to control trade-offs
-    between power use and throughput. The value
-    chosen should be based on the beacon interval (see
-    the \93SET_BEACON_INT\94 command) on the
-    expected number of STAs in the IBSS, and on the
-    amount of traffic and traffic patterns between STAs.
-
-    UINT16    timeout_value
-        Specifies the timeout (in ms). The value is the same
-        for all ad hoc connections, but tracks separately for
-        each.
-
-        Applicable only for a beacon period and used to
-        derive actual timeout values on the Tx and Rx sides.
-        On the Tx side, the value defines a window during
-        which the STA accepts the frame(s) from the host for a
-        particular connection. Until closed, the window
-        restarts with every frame received from the host. On
-        the Rx side, indicates the time until which the STA
-        continues accepting frames from a particular
-        connection. The value resets with every frame
-        received. The value can be used to determine the
-        trade off between throughput and power.
-        Default = 10 ms
-
-    UINT8    ttl
-        Specifies the value in number of beacon periods. The
-        value is used to set a limit on the time until which a
-        frame is kept alive in the AR6001 before being
-        discarded. Default = 5
-
-Command Values
-    None
-
-Reset Values
-    By default, power_saving is enabled with atim_window = 20 ms
-
-Restrictions
-    Can only be issued before the AR6000 starts an ad hoc network
-
-See Also
-    \93SET_BEACON_INT\94
-
-=====================================================================
-
-
-
-Name
-    SET_LISTEN_INT
-
-Synopsis
-    The host uses this command to request a listen interval, which determines how often
-    the AR6000 device should wake up and listen for traffic. The listen interval can be set
-    by the TUs or by the number of beacons. The device may not be able to comply with
-    the request (e.g., if the beacon interval is greater than the requested listen interval, the
-    device sets the listen interval to the beacon interval). The actual listen interval used
-    by the device is available in the \93CONNECT\94 event.
-
-Command
-    wmiconfig eth1 --listen=<#of TUs, can range from 15 to 3000>
-
-    --listenbeacons=<#of beacons, can range from 1 to 50>
-
-Command Parameters
-    UINT16    listenInterval
-        Specifies the listen interval in Kms
-        (1024 ms), ranging from 100 to 1000
-
-    UINT16    listenbeacons
-        Specifies the listen interval in beacons,
-        ranging from 1 to 50
-
-Command Values
-    None
-
-Reset Values
-    The device sets the listen interval equal to the beacon interval of the AP it associates
-    to.
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_LPREAMBLE
-
-Synopsis
-    Overrides the short preamble capability of the AR6000 device
-
-Command
-    TBD
-
-Command Parameters
-    WMI_LPREAMBLE_DISABLED
-        The device is short-preamble capable
-
-    WMI_LPREAMBLE_ENABLED
-        The device supports only the long-
-    preamble mode
-
-Command Values
-    None
-
-Reset Value
-    None defined
-
-Restrictions
-    None
-
-
-=====================================================================
-
-Name
-    SET_MAX_SP_LEN
-
-Synopsis
-    Set the maximum service period; indicates the number of packets the AR6001 can
-    receive from the AP when triggered
-
-Command
-    wmiconfig eth1 --setMaxSPLength <maxSPLen>
-
-Command Parameters
-    UINT8    maxSPLen
-        An APSD_SP_LEN_TYPE value
-
-Command Values
-    {
-        DELIVER_ALL_PKT  = 0x0
-        DELIVER_2_PKT    = 0x1
-        DELIVER_4_PKT    = 0x2
-        DELIVER_6_PKT    = 0x3
-    }APSD_SP_LEN_TYPE
-
-
-Reset Values
-    maxSPLen is DELIVER_ALL_PKT
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_OPT_MODE
-
-Synopsis
-    Special feature, sets the special mode on/off
-
-Command
-    wmiconfig eth1 --mode <mode>
-    Set the optional mode, where mode is special or off
-
-Command Parameters
-    enum {
-        SPECIAL_OFF
-        SPECIAL_ON
-    } OPT_MODE_TYPE;
-
-Command Values
-
-Reset Value
-    Mode = Off
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_PMKID
-
-Synopsis
-    The host uses this command to enable or disable a pairwise master key ID (PMKID)
-    in the AR6000 PMKID cache. The AR6000 clears its PMKID cache on receipt of a
-    DISCONNECT command from the host. Individual entries in the cache might be
-    deleted as the AR6000 detect new APs and decides to remove old ones.
-
-Command
-    wmiconfig eth1 --setbsspmkid --bssid=<aabbccddeeff>
-    --bsspmkid=<pmkid>
-
-Command Parameters
-    UINT8    bssid[6]
-        The MAC address of the AP that the
-        PMKID corresponds to (6 bytes in hex
-        format)
-
-    UINT8    enable
-        Either PMKID_DISABLE (0) to disable
-        the PMKID or PMKID_ENABLE (1) to
-        enable it (16 bytes in hex format)
-
-    UINT8    pmkid[16]
-        Meaningful only if enable is
-        PMKID_ENABLE, when it is the PMKID
-        that the AR6000 should use on the next
-        reassociation with the specified AP
-
-Command Values
-    enable
-    = 0 (disable), 1 (enable)
-    PKMID enabled/disabled
-
-Reset Values
-    None defined
-
-Restrictions
-    Only supported in infrastructure networks
-
-=====================================================================
-
-
-Name
-    SET_PMKID_LIST_CMD
-
-Synopsis
-    Configures the list of PMKIDs on the firmware.
-
-Command
-    wmiconfig --setpmkidlist --numpmkid=<n> --pmkid=<pmkid_1>
-    ... --pmkid=<pmkid_n>
-
-    Where n is the number of pmkids (maximum = 8) and pmkid_i is the ith pmkid (16
-    bytes in hex format)
-
-Command Parameters
-    {
-        A_UINT8 pmkid[WMI_PMKID_LEN];
-    } __ATTRIB_PACK WMI_PMKID;
-
-    {
-        A_UINT32 numPMKID;
-        WMI_PMKID pmkidList[WMI_MAX_PMKID_CACHE];
-    } __ATTRIB_PACK WMI_SET_PMKID_LIST_CMD;
-
-Command Values
-    None
-
-Reset Values
-    None
-
-Restrictions
-    Supported only in infrastructure modes
-
-=====================================================================
-
-
-Name
-    SET_POWER_MODE
-
-Synopsis
-    The host uses this command to provide the AR6000 device with guidelines on the
-    desired trade-off between power utilization and performance.
-
-        In normal power mode, the device enters a sleep state if they have nothing to do,
-        which conserves power but may cost performance as it can take up to 2 ms to
-        resume operation after leaving sleep state.
-
-        In maximum performance mode, the device never enters sleep state, thus no time
-        is spent waking up, resulting in higher power consumption and better
-        performance.
-
-Command
-    TBD
-
-Command Parameters
-    UINT8    powerMode
-        WMI_POWER_MODE value
-    {
-        REC_POWER   = 1
-            (Recommended setting) Tries to conserve
-            power without sacrificing performance
-        MAX_PERF_POWER    = 2
-            Setting that maximizes performance at
-            the expense of power
-
-            All other values are reserved
-    } WMI_POWER_MODE
-
-Command Values
-    See command parameters
-
-Reset Values
-    powerMode is REC_POWER
-
-Restrictions
-    This command should only be issued in the DISCONNECTED state for the
-    infrastructure network.
-
-            For a PM-disabled ad hoc network, the power mode should remain in
-            MAX_PERF_POWER.
-
-            For a PM-enabled ad hoc network, the device can have REC_POWER or
-            MAX_PERF_POWER set, but either way it must follow the power save ad hoc
-            protocol. The host can change power modes in the CONNECTED state.
-
-    Host changes to the PS setting when the STA is off the home channel take no effect
-    and cause a TARGET_PM_FAIL event.
-
-=====================================================================
-
-
-Name
-    SET_POWER_PARAMS
-
-Synopsis
-    The host uses this command to configure power parameters
-
-Command
-    wmiconfig eth1 --pmparams --it=<ms> --np=<number of PS POLL>
-    --dp=<DTIM policy: ignore/normal/stick>
-
-Command Parameters
-    UINT16    idle_period
-        Length of time (in ms) the AR6000 device
-        remains awake after frame Rx/Tx before going
-        to SLEEP state
-
-    UINT16    pspoll_number
-            The number of PowerSavePoll (PS-poll)
-            messages the device should send before
-            notifying the AP it is awake
-
-    UINT16    dtim_policy
-            A WMI_POWER_PARAMS_CMD value
-
-    {
-        IGNORE_DTIM    =1
-            The device does not listen to any content after
-            beacon (CAB) traffic
-        NORMAL_DTIM    = 2
-            DTIM period follows the listen interval (e.g., if
-            the listen interval is 4 and the DTIM period is 2,
-            the device wakes up every fourth beacon)
-        STICK_DTIM    = 3
-            Device attempt to receive all CAB traffic (e.g., if
-            the DTIM period is 2 and the listen interval is 4,
-            the device wakes up every second beacon)
-    } WMI_POWER_PARAMS_CMD
-
-Command Parameters
-    See command parameters
-
-Reset Values
-    idle_period
-        200 ms
-
-    pspoll_number
-    = 1
-
-    dtim_policy
-    = NORMAL_DTIM
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_POWERSAVE_PARAMS
-
-Synopsis
-    Set the two AR6000 power save timers (PS-POLL timer and APSD trigger timer) and
-    the two ASPD TIM policies
-
-Command
-    wmiconfig eth1--psparams --psPollTimer=<psPollTimeout in ms>
-    --triggerTimer=<triggerTimeout in ms> --apsdTimPolicy=<ignore/
-    adhere> --simulatedAPSDTimPolicy=<ignore/adhere>
-
-Command Parameters
-    typedef struct {
-        A_UINT16    psPollTimeout;
-            Timeout (in ms) after sending PS-POLL; the
-            AR6000 device sleeps if it does not receive a
-            data packet from the AP
-
-        A_UINT16    triggerTimeout;
-            Timeout (in ms) after sending a trigger; the
-            device sleeps if it does not receive any data
-            or null frame from the AP
-
-        APSD_TIM_POLICY    apsdTimPolicy;
-            TIM behavior with queue APSD enabled
-
-        APSD_TIM_POLICY    simulatedAPSD
-
-        TimPolicy;
-            TIM behavior with simulated APSD
-            enabled
-
-    typedef enum {
-        IGNORE_TIM_ALL_QUEUES_APSD = 0,
-        PROCESS_TIM_ALL_QUEUES_APSD = 1,
-        IGNORE_TIM_SIMULATED_APSD = 2,
-        POWERSAVE_TIMERS_POLICY = 3,
-    } APSD_TIM_POLICY;
-
-Command Values
-    None
-
-Reset Values
-    psPollTimeout is 50 ms; triggerTimeout is 10 ms;
-    apsdTimPolicy = IGNORE_TIM_ALL_QUEUES_APSD;
-    simulatedAPSDTimPolicy = POWERSAVE_TIMERS_POLICY
-
-Restrictions
-    When this command is used, all parameters must be set; this command does not
-    allow setting only one parameter.
-
-=====================================================================
-
-
-Name
-    SET_PROBED_SSID
-
-Synopsis
-    The host uses this command to provide a list of up to MAX_PROBED_SSID_INDEX
-    (six) SSIDs that the AR6000 device should actively look for. It lists the active SSID
-    table. By default, the device actively looks for only the SSID specified in the
-    \93CONNECT_CMD\94 command, and only when the regulatory domain allows active
-    probing. With this command, specified SSIDs are probed for, even if they are hidden.
-
-Command
-    wmiconfig eth1 --ssid=<ssid> [--num=<index>]
-
-Command Parameters
-    {
-        A_UINT8    numSsids
-            A number from 0 to
-            MAX_PROBED_SSID_INDEX indicating
-            the active SSID table entry index for this
-            command (if the specified entry index
-            already has an SSID, the SSID specified in
-            this command replaces it)
-
-        WMI_PROBED_SSID_INFO    probedSSID[1]
-    } WMI_PROBED_SSID_CMD
-
-    {
-        A_UINT8    flag
-            WMI_SSID_FLAG indicates the current
-            entry in the active SSID table
-        A_UINT8    ssidLength
-            Length of the specified SSID in bytes.
-            If = 0, the entry corresponding to the
-            index is erased
-        A_UINT8    ssid[32]
-            SSID string actively probed for when
-            permitted by the regulatory domain
-    } WMI_PROBED_SSID_INFO
-
-Command Values
-    WMI_SSID_FLAG
-    {
-         DISABLE_SSID_FLAG    = 0
-            Disables entry
-        SPECIFIC_SSID_FLAG    = 1
-            Probes specified SSID
-        ANY_SSID_FLAG    = 2
-            Probes for any SSID
-    } WMI_SSID_FLAG
-
-Reset Value
-    The entries are unused.
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_REASSOC_MODE
-
-Synopsis
-    Specify whether the disassociated frame should be sent or not upon reassociation.
-
-Command
-    wmiconfig eth1 --setreassocmode <mode>
-
-Command Parameters
-    UINT8    mode
-
-Command Values
-    mode
-        = 0x00
-        Send disassoc to a previously connected AP
-        upon reassociation
-        = 0x01
-        Do not send disassoc to previously connected
-        AP upon reassociation
-
-Reset Values
-    None defined
-
-Restrictions
-    None
-
-
-=====================================================================
-
-Name
-    SET_RETRY_LIMITS
-
-Synopsis
-    Allows the host to influence the number of times that the AR6000 device should
-    attempt to send a frame before they give up.
-
-Command
-    wmiconfig --setretrylimits <frameType> <trafficClass> <maxRetries>
-    <enableNotify>
-
-Command Parameters
-    {
-        UINT8    frameType
-            A WMI_FRAMETYPE specifying
-            which type of frame is of interest.
-        UINT8    trafficClass
-            Specifies a traffic class (see
-            \93CREATE_PSTREAM\94). This
-            parameter is only significant when
-            frameType = DATA_FRAMETYPE.
-        UINT8    maxRetries
-            Maximum number of times the
-            device attempts to retry a frame Tx,
-            ranging from WMI_MIN_RETRIES
-            (2) to WMI_MAX_RETRIES (15). If
-            the special value 0 is used,
-            maxRetries is set to 15.
-        A_UINT8    enableNotify
-            Notify when enabled
-    } WMI_RETRY_LIMIT_INFO
-
-    {
-        A_UINT8    numEntries
-        WMI_RETRY_LIMIT_INFO  retryLimitInfo[1]
-    } WMI_SET_RETRY_LIMITS_CMD
-
-Command Values
-    {
-        MGMT_FRAMETYPE    = 0    Management frame
-        CONTROL_FRAMETYPE = 1    Control frame
-        DATA_FRAMETYPE    = 2    Data frame
-    } WMI_FRAMETYPE
-
-Reset Values
-    Retries are set to 15
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_ROAM_CTRL
-
-Synopsis
-    Affects how the AR6000 device selects a BSS. The host uses this command to set and
-    enable low RSSI scan parameters. The time period of low RSSI background scan is
-    mentioned in scan period. Low RSSI scan is triggered when the current RSSI
-    threshold (75% of current RSSI) is equal to or less than scan threshold.
-
-    Low RSSI roam is triggered when the current RSSI threshold falls below the roam
-    threshold and roams to a better AP by the end of the scan cycle. During Low RSSI
-    roam, if the STA finds a new AP with an RSSI greater than roam RSSI to floor, during
-    scan, it roams immediately to it instead of waiting for the end of the scan cycle. See
-    also \93Scan and Roam\94 on page C-1.
-
-Command
-    wmiconfig --roam <roamctrl> <info>, where info is <scan period>
-    <scan threshold> <roam threshold> <roam rssi floor>
-
-Command Parameters
-    A_UINT8    roamCtrlType;
-
-Command Values
-    WMI_FORCE_ROAM     = 1
-    Roam to the specified BSSID
-
-    WMI_SET_ROAM_MODE  = 2
-    Default, progd bias, no roam
-
-    WMI_SET_HOST_BIAS  = 3
-    Set the host bias
-
-    WMI_SET_LOWRSSI_SCAN_PARAMS  = 4
-    Info parameters
-
-    A_UINT8    bssid[ATH_MAC_LEN];
-    WMI_FORCE_ROAM
-
-    A_UINT8    roamMode;
-    WMI_SET_ROAM_MODE
-
-    A_UINT8    bssBiasInfo;
-    WMI_SET_HOST_BIAS
-
-    A_UINT16    lowrssi_scan_period;
-    WMI_SET_LOWRSSI_SCAN_PARAMS
-
-    A_INT16
-    lowrssi_scan_threshold;
-    WMI_SET_LOWRSSI_SCAN_PARAMS
-
-    A_INT16    lowrssi_roam_threshold;
-    WMI_SET_LOWRSSI_SCAN_PARAMS
-
-    A_UINT8    roam_rssi_floor;
-    WMI_SET_LOWRSSI_SCAN_PARAMS
-
-Reset Value
-    None defined (default lowrssi scan is disabled. Enabled only when scan period is set.)
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_RTS
-
-Synopsis
-    Decides when RTS should be sent.
-
-Command
-    wmiconfig eth1 --setRTS <pkt length threshold>
-
-Command Parameters
-    A_UINT16
-    threshold;
-    Command parameter threshold in bytes. An RTS is
-    sent if the data length is more than this threshold.
-    The default is to NOT send RTS.
-
-Command Values
-    None
-
-Reset Value
-    Not to send RTS.
-
-Restrictions
-    None
-
-
-=====================================================================
-
-Name
-    SET_SCAN_PARAMS
-
-Synopsis
-    The host uses this command to set the AR6000 scan parameters, including the duty
-    cycle for both foreground and background scanning. Foreground scanning takes
-    place when the AR6000 device is not connected, and discovers all available wireless
-    networks to find the best BSS to join. Background scanning takes place when the
-    device is already connected to a network and scans for potential roaming candidates
-    and maintains them in order of best to worst. A second priority of background
-    scanning is to find new wireless networks.
-
-    The device initiates a scan when necessary. For example, a foreground scan is always
-    started on receipt of a \93CONNECT_CMD\94 command or when the device cannot find
-    a BSS to connect to. Foreground scanning is disabled by default until receipt of a
-    CONNECT command. Background scanning is enabled by default and occurs every
-    60 seconds after the device is connected.
-
-    The device implements a binary backoff interval for foreground scanning when it
-    enters the DISCONNECTED state after losing connectivity with an AP or when a
-    CONNECT command is received. The first interval is ForegroundScanStartPeriod,
-    which doubles after each scan until the interval reaches ForegroundScanEndPeriod.
-    If the host terminates a connection with DISCONNECT, the foreground scan period
-    is ForegroundScanEndPeriod. All scan intervals are measured from the time a full
-    scan ends to the time the next full scan starts. The host starts a scan by issuing a
-    \93START_SCAN\94 command. See also \93Scan and Roam\94 on page C-1.
-
-Command
-    wmiconfig eth1 --scan --fgstart=<sec> --fgend=<sec> --bg=<sec> --
-    act=<msec> --pas=<msec> --sr=<short scan ratio> --scanctrlflags
-    <connScan> <scanConnected> <activeScan> <reportBSSINFO>
-
-Command Parameters
-    UINT16    fgStartPeriod
-        First interval used by the device when it
-        disconnects from an AP or receives a
-        CONNECT command, specified in seconds (0\96
-        65535). If = 0, the device uses the reset value.
-        If = 65535, the device disables foreground
-        scanning.
-
-    UINT16    fgEndPeriod
-        The maximum interval the device waits between
-        foreground scans specified in seconds (from
-        ForegroundScanStartPeriod to 65535). If = 0, the
-        device uses the reset value.
-
-    UINT16    bgScanPeriod
-        The period of background scan specified in
-        seconds (0\9665535). By default, it is set to the reset
-        value of 60 seconds. If 0 or 65535 is specified, the
-        device disables background scanning.
-
-    UINT16    maxactChDwellTime
-        The period of time the device stays on a
-        particular channel while active scanning. It is
-        specified in ms (10\9665535). If the special value of
-        0 is specified, the device uses the reset value.
-
-    UINT16    PasChDwellTime
-        The period of time the device remains on a
-        particular channel while passive scanning. It is
-        specified in ms (10\9665535). If the special value of
-        0 is specified, the device uses the reset value.
-
-    UINT8    shortScanRatio
-        Number of short scans to perform for each
-        long scan.
-
-    UINT8    scanCtrlFlasgs
-
-    UINT16    minactChDwellTime
-        Specified in ms
-
-    UINT32    maxDFSchActTime
-        The maximum time a DFS channel can stay
-        active before being marked passive, specified in
-        ms.
-
-Command Values
-    None
-
-Reset Values
-    ForegroundScanStart
-Period
-        1 sec
-
-    ForegroundScanEndPeriod
-        60 sec
-
-    BackgroundScanPeriod
-        60 sec
-
-    ActiveChannelDwellTime
-        105 ms
-
-=====================================================================
-
-
-Name
-    SET_TKIP_COUNTERMEASURES
-
-Synopsis
-    The host issues this command to tell the target whether to enable or disable TKIP
-    countermeasures.
-
-Command
-    TBD
-
-Command Parameters
-    UINT8    WMI_TKIP_CM_ENABLE
-        Enables the countermeasures
-
-
-    UINT8    TKIP_CM_DISABLE
-        Disables the countermeasures
-
-Command Values
-    None
-
-Reset Values
-    By default, TKIP MIC reporting is disabled
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_TX_PWR
-
-Synopsis
-    The host uses this command to specify the Tx power level of the AR6000. Cannot be
-    used to exceed the power limit permitted by the regulatory domain. The maximum
-    output power is limited in the chip to 31.5 dBm; the range is 0 \96 31.5 dbm.
-
-Command
-    wmiconfig --power <dbM>
-
-Command Parameters
-    UINT8    dbM
-        The desired Tx power specified in dbM.
-        If = 0, the device chooses the maximum
-        permitted by the regulatory domain.
-
-Command Values
-    None
-
-Reset Values
-    The maximum permitted by the regulatory domain
-
-Restrictions
-    None
-
-See Also
-    \93GET_TX_PWR\94
-
-
-=====================================================================
-
-Name
-    SET_VOICE_PKT_SIZE
-
-Synopsis
-    If an AP does not support WMM, it has no way to differentiate voice from data.
-    Because the voice packet is typically small, packet in size less than voicePktSize are
-    assumed to be voice, otherwise it is treated as data.
-
-Command
-    wmiconfig eth1 --setVoicePktSize <size-in-bytes>
-
-Command Parameters
-    UINT16    voicePktSize
-        Packet size in octets
-
-Command Values
-    None
-
-Reset Values
-    voicePktSize default is 400 bytes
-
-Restrictions
-    No effect if WMM is unavailable
-
-
-=====================================================================
-
-Name
-    SET_WMM
-
-Synopsis
-    Overrides the AR6000 device WMM capability
-
-Command
-    wmiconfig eth1 --setwmm <enable>
-
-Command Parameters
-    WMI_WMM_ENABLED
-        Enables WMM
-
-    WMI_WMM_DISABLED
-        Disables WMM support
-
-Command Values
-    0 = disabled
-    1 = enabled
-
-Reset Value
-    WMM Disabled
-
-Restrictions
-    None
-
-
-=====================================================================
-
-Name
-    SET_WMM_TXOP
-
-Synopsis
-    Configures TxOP Bursting when sending traffic to a WMM capable AP
-
-Command
-    wmiconfig eth1 --txopbursting <burstEnable>
-
-    <burstEnable>
-        = 0
-    Disallow TxOp bursting
-
-        = 1
-    Allow TxOp bursting
-
-Command Parameters
-    txopEnable
-        = WMI_TXOP_DISABLED
-        Disabled
-
-        = WMI_TXOP_ENABLED
-        Enabled
-
-Command Values
-    txopEnable
-        = 0    Disabled
-
-        = 1    Enabled
-
-Reset Value
-    Bursting is off by default
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    SET_WOW_MODE
-
-Synopsis
-    The host uses this command to enable or disable the WoW mode. When WoW mode
-    is enabled and the host is asleep, pattern matching takes place at the target level.
-    Only packets that match any of the pre-specified WoW filter patterns, will be passed
-    up to the host. The host will also be woken up by the target. Packets which do not
-    match any of the WoW patterns are discarded.
-
-Command
-    wmiconfig \96setwowmode <enable/disable>
-
-Command Parameters
-    A_BOOL    enable_wow
-        Enable or disable WoW:
-
-Command Values
-        = 0
-    Disable WoW
-
-        = 1
-    Enable WoW
-
-Reset Value
-    None defined (default WoW mode is disabled).
-
-Restrictions
-    None
-
-See Also
-    \93GET_WOW_LIST\94
-
-
-=====================================================================
-
-Name
-    SET_WSC_STATUS
-
-Synopsis
-    The supplicant uses this command to inform the target about the status of the WSC
-    registration protocol. During the WSC registration protocol, a flag is set so the target
-    bypasses some of the checks in the CSERV module. At the end of the registration, this
-    flag is reset.
-
-Command
-    N/A
-
-Command Parameters
-    A_BOOL status
-        = 1    WSC registration in progress
-        = 0    WSC protocol not running
-
-Reply Parameters
-    None
-
-Reset Value
-    None defined (default = 0)
-
-Restrictions
-    None
-
-
-=====================================================================
-
-Name
-    SNR_THRESHOLD_PARAMS
-
-Synopsis
-    Configures how the AR6000 device monitors and reports SNR of the connected BSS,
-    used as a link quality metric.
-
-Command
-    --snrThreshold <weight> <upper_threshold_1> ...
-    <upper_threshold_4> <lower_threshold_1> ... <lower_threshold_4>
-    <pollTimer>
-
-Command Parameters
-    <weight>
-        Share with rssiThreshold. Range in [1, 16], used
-        in the formula to calculate average RSSI
-
-    <upper_threshold_x>
-        Above thresholds expressed in db, in ascending
-        order
-
-    <lower_threshold_x>
-        Below thresholds expressed in db, in ascending
-        order
-
-    <pollTimer>
-        The signal strength sampling frequency in
-        seconds. If polltime = 0, signal strength
-        sampling is disabled
-
-Command Values
-    None
-
-Reset Value
-    None defined
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    START_SCAN
-
-Synopsis
-    The host uses this command to start a long or short channel scan. All future scans are
-    relative to the time the AR6000 device processes this command. The device performs
-    a channel scan on receipt of this command, even if a scan was already in progress.
-    The host uses this command when it wishes to refresh its cached database of wireless
-    networks. The isLegacy field will be removed (0 for now) because it is achieved by
-    setting CONNECT_PROFILE_MATCH_DONE in the CONNECT command. See also
-    \93Scan and Roam\94
-
-Command
-    wmiconfig eth1 --startscan <scan type> <forcefgscan> 0
-    <homeDwellTime> <forceScanInterval>
-
-Command Parameters
-    UINT8    scanType
-        WMI_SCAN_TYPE
-
-Command Values
-    {
-        WMI_LONG_SCAN    =0x0
-            Requests a full scan
-        WMI_SHORT_SCAN   =0x1
-            Requests a short scan
-    } WMI_SCAN_TYPE
-
-    A_BOOL    forceFgScan
-        forceFgScan
-        = 0
-        Disable the foreground scan
-
-        forceFgScan
-        = 1
-        Forces a foreground scan
-
-    A_UINT32    homeDwellTime
-        Maximum duration in the home
-        channel (in ms)
-
-    A_UINT32     forceScanInterval
-        Time interval between scans (in ms)
-
-    A_UINT32     scanType
-        WMI_SCAN_TYPE
-
-Reset Value
-    Disable forcing foreground scan
-
-Restrictions
-    isLegacy field will no longer be supported (pass as 0 for now)
-
-
-=====================================================================
-
-Name
-    SYNCHRONIZE
-
-Synopsis
-    The host uses this command to force a synchronization point between the command
-    and data paths
-
-Command
-    TBD
-
-Command Parameters
-    None
-
-
-
-Command Values
-    None
-
-
-
-Reset Values
-    None
-
-
-
-Restrictions
-    None
-
-
-=====================================================================
-
-Name
-    TARGET_ERROR_REPORT_BITMASK
-
-Synopsis
-    Allows the host to control \93ERROR_REPORT\94 events from the AR6000 device.
-
-        If error reporting is disabled for an error type, a count of errors of that type is
-        maintained by the device.
-
-        If error reporting is enabled for an error type, an \93ERROR_REPORT\94 event is
-        sent when an error occurs and the error report bit is cleared.
-
-    Error counts for each error type are available through the \93GET_TARGET_STATS\94
-    command.
-
-Command
-    wmiconfig eth1 --setErrorReportingBitmask
-
-Command Parameters
-    UINT32    bitmask
-        Represents the set of
-        WMI_TARGET_ERROR_VAL error types
-        enabled for reporting
-
-Command Values
-    {
-        WMI_TARGET_PM_ERR_FAIL    = 0x00000001
-            Power save fails (only two cases):
-               Retry out of null function/QoS null
-               function to associated AP for PS
-               indication'
-               Host changes the PS setting when
-               STA is off home channel
-
-        WMI_TARGET_KEY_NOT_FOUND    = 0x00000002
-            No cipher key
-        WMI_TARGET_DECRYPTION_ERR   = 0x00000004
-            Decryption error
-        WMI_TARGET_BMISS            = 0x00000008
-            Beacon miss
-        WMI_PSDISABLE_NODE_JOIN     = 0x00000010
-            A non-PS-enabled STA joined the
-            PS-enabled network
-        WMI_TARGET_COM_ERR          = 0x00000020
-            Host/target communication error
-        WMI_TARGET_FATAL_ERR        = 0x00000040
-            Fatal error
-    } WMI_TARGET_ERROR_VAL
-
-Reset Values
-    Bitmask is 0, and all error reporting is disabled
-
-Restrictions
-    None
-
-
-=====================================================================
-WMI Events
-
-Event
-    Description
-    Page
-
-
-BSSINFO
-    Contains information describing BSSs collected during a scan
-
-CAC_EVENTID
-    Indicates signalling events in admission control
-
-CMDERROR
-    The AR6000 device encounters an error while attempting to process
-    a command
-
-CONNECT
-    The device has connected to a wireless network
-
-DISCONNECT
-    The device lost connectivity with a wireless network
-
-ERROR_REPORT
-    An error has occurred for which the host previously requested
-    notification with the command
-    \93TARGET_ERROR_REPORT_BITMASK\94
-
-EXTENSION
-    WMI extension event
-
-GET_PMKID_LIST_EVENT
-    Created in response to a \93GET_PMKID_LIST_CMD\94 command
-
-GET_WOW_LIST_EVENT
-    Response to the wmiconfig \93GET_WOW_LIST\94 command to
-    retrieve the configured WoW patterns
-
-NEIGHBOR_REPORT
-    Neighbor APs that match the current profile were detected
-
-OPT_RX_FRAME_EVENT
-    (Special feature) informs the host of the reception of a special frame
-
-PSTREAM_TIMEOUT
-    A prioritized stream has been idle for a specified interval
-
-READY
-    The AR6000 device is ready to accept commands
-
-REGDOMAIN
-    The regulatory domain has changed
-
-REPORT_ROAM_DATA_EVENT
-    Reports the roam time calculations made by the device
-    (generated with a special build)
-    \97
-
-REPORT_STATISTICS
-    Reply to a \93GET_TARGET_STATS\94 command
-
-ROAM_TBL_EVENT
-    Reports the roam table
-
-RSSI_THRESHOLD
-    Signal strength from the connected AP has crossed the threshold
-    defined in the \93RSSI_THRESHOLD_PARAMS\94 command
-
-SCAN_COMPLETE_EVENT
-    A scan has completed (added status SCAN_ABORTED in release 2.0)
-
-TEST_EVENT
-    Event generated by the TCMD
-
-TKIP_MICERROR
-    TKIP MIC errors were detected
-
-=====================================================================
-
-Name
-    BSSINFO
-
-Synopsis
-    Contains information describing one or more BSSs as collected during a scan.
-    Information includes the BSSID, SSID, RSSI, network type, channel, supported rates,
-    and IEs. BSSINFO events are sent only after the device receives a beacon or probe-
-    response frame that pass the filter specified in the \93SET_BSS_FILTER\94 command.
-    BSSINFO events consist of a small header followed by a copy of the beacon or probe
-    response frame. The 802.11 header is not present. For formats of beacon and probe-
-    response frames please consult the IEEE 802.11 specification.
-
-    The beacons or probe responses containing the IE specified by the
-    WMI_BSS_FILTER_CMD are passed to the host through the
-    WMI_BSSINFO_EVENT. The event carries a 32-bit bitmask that indicates the IEs that
-    were detected in the management frame. The frame type field has been extended to
-    indicate action management frames. This would be helpful to route these frames
-    through the same event mechanism as used by the beacon processing function.
-
-    If the bssFilter in the SET_BSS_FILTER matches, then the ieMask is not relevant
-    because the BSSINFO event is sent to the host. If the bssFilter doesnot match in the
-    beacons/probe respones, then the ieMask match dictates whether the BSSINFO
-    event is sent to the host. In the case of action management frames, the ieMask is the
-    filter that is applied.
-
-Event ID
-    0x1004
-
-Event Parameters
-    typedef struct {
-        A_UINT16    channel;
-            Specifies the frequency (in MHz) where the
-            frame was received
-        A_UINT8    frameType;
-            A WMI_BI_FTYPE value
-        A_UINT8    snr;
-        A_INT16    rssi;
-            Indicates signal strength
-        A_UINT8    bssid[ATH_MAC_LEN];
-        A_UINT32    ieMask;
-    } _ATTRIB_PACK_WMI_BSS_INFO_HDR;
-
-    Beacon or Probe Response Frame
-
-Event Values
-    {
-        BEACON_FTYPE    = 0x1
-            Indicates a beacon frame
-        PROBERESP_FTYPE
-            Indicates a probe response frame
-        ACTION_MGMT_FTYPE
-     } WMI_BI_FTYPE
-
-=====================================================================
-
-Name
-    CAC_EVENTID
-
-Synopsis
-    Indicates signalling events in admission control. Events are generated when
-    admission is accepted, rejected, or deleted by either the host or the AP. If the AP does
-    not respond to an admission request within a timeout of 500 ms, an event is
-    generated to the host.
-
-Event ID
-    0x1011
-
-Event Parameters
-    UINT8
-    ac
-    Access class pertaining to the
-signalling
-
-    UINT8    cac_indication
-        Type of indication; indications are
-        listed in WMI_CAC_INDICATION
-
-    UINT8    statusCode
-        AP response status code for a
-        request
-
-    UINT8    tspecSuggestion[63]
-        Suggested TSPEC from AP
-
-Event Values
-    {
-        CAC_INDICATION_ADMISSION = 0x00
-        CAC_INDICATION_ADMISSION_RESP    = 0x01
-        CAC_INDICATION_DELETE    = 0x02
-        CAC_INDICATION_NO_RESP   = 0x03
-    } WMI_CAC_INDICATION
-
-
-=====================================================================
-
-
-Name
-    CMDERROR
-
-Synopsis
-    Indicates that the AR6000 device encountered an error while attempting to process a
-    command. This error is fatal and indicates that the device requires a reset.
-
-Event ID
-    0x1005
-
-Event Parameters
-    UINT16    commandId
-        Corresponds to the command which generated
-        the error
-    UINT8    errorCode
-        A WMI_ERROR_CODE value
-
-Event Values
-    {
-        INVALID_PARAM    = 1
-            Invalid parameter
-        ILLEGAL_STATE    = 2
-            Illegal state
-        INTERNAL_ERROR   = 3
-            Internal Error
-        All other values reserved
-    } WMI_ERROR_CODE
-
-
-=====================================================================
-
-
-Name
-    CONNECT
-
-Synopsis
-    Signals that the AR6000 connected to a wireless network. Connection occurs due to a
-    \93CONNECT\94 command or roaming to a new AP. For infrastructure networks, shows
-    that the AR6000 successfully performed 802.11 authentication and AP association.
-
-Event ID
-    0x1002
-
-Event Parameters
-    UINT16    channel
-        Channel frequency (in MHz) of the network the
-        AR6000 are connected to
-
-    UINT8    bssid[6]
-        MAC address of the AP the AR6000 are
-        connected to or the BSSID of the ad hoc
-        network
-
-    UINT16    listenInterval
-        Listen interval (in Kms) that the AR6000 are
-        using
-
-    UINT 8    beaconIeLen
-        Length (in bytes) of the beacon IEs
-
-    UINT8    assocInfo
-        Pointer to an array containing beacon IEs,
-        followed first by association request IEs then by
-        association response IEs
-
-    UINT8    assocReqLen
-        Length (in bytes) of the assocReqIEs array
-
-    UINT8    assocRespLen
-        Length (in bytes) of the assocRespIEs array
-
-Event Values
-    None defined
-
-=====================================================================
-
-
-Name
-    DISCONNECT
-
-Synopsis
-    Signals that the AR6000 device lost connectivity with the wireless network.
-    DISCONENCT is generated when the device fails to complete a \93CONNECT\94
-    command or as a result of a transition from a connected state to disconnected state.
-
-    After sending the \93DISCONNECT\94 event the device continually tries to re-establish
-    a connection. A LOST_LINK occurs when STA cannot receive beacons within the
-    specified time for the SET_BMISS_TIME command.
-
-Event ID
-    0x1003
-
-Event Parameters
-    UINT8    disconnect
-        Reason
-        A WMI_DISCONNECT_REASON value
-
-    UINT8    bssid[6]
-        Indicates which BSS the device was connected to
-
-    UINT8    assocRespLen
-        Length of the 802.11 association response frame
-        that triggered this event, or 0 if not applicable
-
-    UINT8    assocInfo[assocRespLen]
-        Copy of the 802.11 association response frame
-
-Event Values
-    {
-        NO_NETWORK_AVAIL    =0x01
-            Indicates that the device was unable to
-            establish or find the desired network
-        LOST_LINK    =0x02
-            Indicates the devices is no longer receiving
-            beacons from the BSS it was previously
-            connected to
-
-        DISCONNECT_CMD  =0x03
-            Indicates a \93DISCONNECT\94 command was
-            processed
-        BSS_DISCONNECTED =0x04
-            Indicates the BSS explicitly disconnected the
-            device. Possible mechanisms include the AP
-            sending 802.11 management frames
-            (e.g., disassociate or deauthentication
-            messages).
-        AUTH_FAILED    =0x05
-            Indicates that the device failed 802.11
-            authentication with the BSS
-        ASSOC_FAILED    =0x06
-            Indicates that the device failed 802.11
-            association with the BSS
-        NO_RESOURCES_AVAIL    =0x07
-            Indicates that a connection failed because the
-            AP had insufficient resources to complete the
-            connection
-        CSERV_DISCONNECT    =0x08
-            Indicates that the device\92s connection services
-            module decided to disconnect from a BSS,
-            which can happen for a variety of reasons (e.g.,
-            the host marks the current connected AP as a
-            bad AP).
-        INVALID_PROFILE    =0x0A
-            Indicates that an attempt was made to
-            reconnect to a BSS that no longer matches the
-            current profile
-        All other values are reserved
-    } WMI_DISCONNECT_REASON
-
-
-=====================================================================
-
-
-Name
-    ERROR_REPORT
-
-Synopsis
-    Signals that a type of error has occurred for which the host previously requested
-    notification through the \93TARGET_ERROR_REPORT_BITMASK\94 command.
-
-Event ID
-    0x100D
-
-Event Parameters
-    UINT32    errorVal
-            WMI_TARGET_ERROR_VAL value. See
-            \93TARGET_ERROR_REPORT_BITMASK\94.
-
-Event Values
-    errorVal
-    = 0x00000001
-    Power save fails
-
-        = 0x00000002
-    No cipher key
-
-        = 0x00000004
-    Decryption error
-
-        = 0x00000008
-    Beacon miss
-
-        = 0x00000010
-    A non-power save disabled node has joined
-    the PS-enabled network
-
-
-=====================================================================
-
-
-Name
-    EXTENSION
-
-Synopsis
-    The WMI is used mostly for wireless control messages to a wireless module that
-    apply to wireless module management regardless of the target platform
-    implementation. However, some events peripherally related to wireless management
-    are desired during operation. These wireless extension events may be platform-
-    specific or implementation-dependent. See \93WMI Extension Commands\94
-
-
-Event ID
-    0x1010
-
-
-=====================================================================
-
-
-Name
-    GET_PMKID_LIST_EVENT
-
-Synopsis
-    Generated by firmware in response to a \93GET_PMKID_LIST_CMD\94 command.
-
-Event Parameters
-    typedef struct {
-        A_UINT32    numPMKID;
-            Contains the number of PMKIDs in the reply
-        WMI_PMKID   pmkidList[1];
-    } __ATTRIB_PACK WMI_PMKID_LIST_REPLY;
-
-Event Values
-    None
-
-
-=====================================================================
-
-
-Name
-    GET_WOW_LIST_EVENT
-
-Synopsis
-    Response to the wmiconfig \96getwowlist command to retrieve the configured Wake on
-    Wireless patterns
-
-Event ID
-    0x10018
-
-Event Parameters
-    {
-
-    A_UINT8    num_filters
-        Total number of patterns in the list
-    A_UINT8    this_filter_num
-        The filter number
-    A_UINT8    wow_mode
-        Shows whether WoW is enabled or disabled
-    A_UINT8    host_mode
-        Shows whether the host is asleep or awake
-    WOW_FILTER    wow_filters[1]
-        List of WoW filters (pattern and mask data bytes)
-    } WMI_GET_WOW_LIST_REPLY;
-
-    {
-        Each wow_filter_list element shows:
-    A_UINT8    wow_valid_filter
-        Whether the filter is valid
-    A_UINT8    wow_filter_list_id
-        Filter List ID (23 = default)
-    A_UINT8    wow_filter_size
-        Size in bytes of the filter
-    A_UINT8    wow_filter_offset
-        Offset of the pattern to search in the data packet
-    A_UINT8    wow_filter_mask[MASK_SIZE]
-        The mask to be applied to the pattern
-    A_UINT8    wow_filter_pattern[WOW_PATTERN_SIZE]
-        The pattern that to match to wake up the host
-    } WOW_FILTER
-
-Event Values
-    None
-
-=====================================================================
-
-
-
-Name
-    NEIGHBOR_REPORT
-
-Synopsis
-    Indicates the existence of neighbor APs that match the current profile. The host uses
-    this event to populate the PMKID cache on the AR6000 and/or to perform
-    preauthentication. This event is only generated in infrastructure mode.
-
-    A total of numberOfAps pairs of bssid/bssFlags exist, one pair for each AP.
-
-Event ID
-    0x1008
-
-Event Parameters
-    UINT8    numberOfAps
-        The number of APs reported about in
-        this event
-    {
-        UINT8    bssid[6]
-            MAC address of a neighbor AP
-        UINT8    bssFlags
-            A WMI_BSS_FLAGS value
-    }[numberOfAps]
-
-
-Event Values
-    {
-        WMI_DEFAULT_BSS_FLAGS    = 0
-            Logical OR of 1 or more
-        WMI_BSS_FLAGS
-        WMI_PREAUTH_CAPABLE_BSS
-            = 1
-            Indicates that this AP is capable of
-            preauthentication
-        WMI_PMKID_VALID_BSS
-            = 2
-            Indicates that the AR6000 have a
-            valid pairwise master key for this AP
-    } WMI_BSS_FLAGS
-
-
-=====================================================================
-
-
-
-Name
-    OPT_RX_FRAME_EVENT
-
-Synopsis
-    Special feature, informs host of the reception of a special frame.
-
-Event ID
-    0x100E
-
-Event Parameters
-    {
-        A_UINT16    channel;
-        A_UINT8    frameType;
-        A_INT8    snr;
-        A_UINT8    srcAddr[ATH_MAC_LEN];
-        A_UINT8    bssid[ATH_MAC_LEN];
-        }WMI_OPT_RX_INFO_HDR
-
-Event Values
-    None
-
-=====================================================================
-
-
-
-Name
-    PSTREAM_TIMEOUT
-
-Synopsis
-    Indicates that a priority stream that got created as a result of priority-marked data
-    flow (priority marked in IP TOS) being idle for the default inactivity interval period
-    (specified in the \93CREATE_PSTREAM\94 command) used for priority streams created
-    implicitly by the driver. This event is not indicated for user-created priority streams.
-    User-created priority streams exist until the users delete them explicitly. They do not
-    timeout due to data inactivity.
-
-Event ID
-    0x1007
-
-Event Parameters
-    A_UINT8
-    trafficClass
-    Indicated the traffic class of priority
-    stream that timed out
-
-Event Values
-    {
-        WMM_AC_BE    = 0
-            Best effort
-        WMM_AC_BK    = 1
-            Background
-        WMM_AC_VI    = 2
-            Video
-        WMM_AC_VO     = 3
-            Voice
-    } TRAFFIC CLASS
-
-
-=====================================================================
-
-Name
-    READY
-
-Synopsis
-    Indicates that the AR6000 device is prepared to accept commands. It is sent once after
-    power on or reset. It also indicates the MAC address of the device.
-
-Event ID
-    0x1001
-
-Event Parameters
-    UINT8    macAddr[6]
-        Device MAC address
-    UINT8    phyCapability
-        A WMI_PHY_CAPABILITY value. Indicates the
-        capabilities of the device wireless module\92s radio
-
-Event Values
-    {
-        WMI_11A_CAPABILITY       = 1
-        WMI_11G_CAPABILITY       = 2
-        WMI_11AG_CAPABILITY      = 3
-    } WMI_PHY_CAPABILITY
-
-
-=====================================================================
-
-Name
-    REGDOMAIN
-
-Synopsis
-    Indicates that the regulatory domain has changed. It initially occurs when the
-    AR6000 device reads the board data information. The regulatory domain can also
-    change when the device is a world-mode SKU. In this case, the regulatory domain is
-    based on the country advertised by APs per the IEEE 802.11d specification. A
-    potential side effect of a regulatory domain change is a change in the list of available
-    channels. Any channel restrictions that exist as a result of a previous
-    \93SET_CHANNEL_PARAMETERS\94 command are lifted.
-
-Event ID
-    0x1006
-
-Event Parameters
-    UINT32    regDomain
-        The range of 0x0000 \96 0x00FF
-        corresponds to an ISO country code.
-
-    Other regCodes are reserved for world
-    mode settings and specific regulatory
-    domains.
-
-Event Values
-    None
-
-
-=====================================================================
-
-
-
-Name
-    REPORT_STATISTICS
-
-Synopsis
-    A reply to a \93GET_TARGET_STATS\94 command.
-
-Event ID
-    0x100B
-
-Event Parameters
-    When the statistics are sent to the host, the AR6001 clear them so that a new set of
-    statistics are collected for the next report.
-
-    UINT32    tx_packets
-    UINT32    tx_bytes
-    UINT32    tx_unicast_pkts
-    UINT32    tx_unicast_bytes
-    UINT32    tx_multicast_pkts
-    UINT32    tx_multicast_bytes
-    UINT32    tx_broadcast_pkts
-    UINT32    tx_broadcast_bytes
-    UINT32    tx_rts_success_cnt
-    UINT32    tx_packet_per_ac[4]
-        Tx packets per AC: [0] = BE, [1] = BK,
-        [2] = VI, [3] = VO
-    UINT32    tx_errors
-        Number of packets which failed Tx, due
-        to all failures
-    ... REPORT_STATISTICS, continued
-    UINT32    tx_failed_cnt
-        Number of data packets that failed Tx
-    UINT32    tx_retry_cnt
-        Number of Tx retries for all packets
-    UINT32    tx_rts_fail_cnt
-        Number of RTS Tx failed count
-    UINT32    rx_packets
-    UINT32    rx_bytes
-    UINT32    rx_unicast_pkts
-    UINT32    rx_unicast_bytes
-    UINT32    rx_multicast_pkts
-    UINT32    rx_multicast_bytes
-    UINT32    rx_broadcast_pkts
-    UINT32    rx_broadcast_bytes
-    UINT32    rx_fragment_pkt
-        Number of fragmented packets received
-    UINT32    rx_errors
-        Number of Rx errors due to all failures
-    UINT32    rx_crcerr
-        Number of Rx errors due to CRC errors
-    UINT32    rx_key_cache_miss
-        Number of Rx errors due to a key not
-        being plumbed
-    UINT32    rx_decrypt_err
-        Number of Rx errors due to decryption
-        failure
-    UINT32    rx_duplicate_frames
-        Number of duplicate frames received
-    UINT32    tkip_local_mic_failure
-        Number of TKIP MIC errors detected
-    UINT32    tkip_counter_measures_invoked
-        Number of times TKIP countermeasures
-        were invoked
-    UINT32    tkip_replays
-        Number of frames that replayed a TKIP
-        encrypted frame received earlier
-    UINT32    tkip_format_errors
-        Number of frames that did not conform
-        to the TKIP frame format
-    UINT32    ccmp_format_errors
-        Number of frames that did not conform
-        to the CCMP frame format
-    UINT32    ccmp_replays
-        Number of frames that replayed a CCMP
-        encrypted frame received earlier
-    UINT32    power_save_failure_cnt
-        Number of failures that occurred when
-        the AR6001 could not go to sleep
-    UINT32    cs_bmiss_cnt
-        Number of BMISS interrupts since
-    connection
-    UINT32    cs_lowRssi_cnt
-        Number of the times the RSSI went below
-        the low RSSI threshold
-    UINT16    cs_connect_cnt
-        Number of connection times
-    UINT16    cs_disconnect_cnt
-        Number of disconnection times
-    UINT8    cs_aveBeacon_rssi
-        The current averaged value of the RSSI
-        from the beacons of the connected BSS
-    UINT8    cs_lastRoam_msec
-        Time that the last roaming took, in ms.
-        This time is the difference between
-        roaming start and actual connection.
-
-Event Values
-    None defined
-
-
-=====================================================================
-
-Name
-    ROAM_TBL_EVENT
-
-Synopsis
-    Reports the roam table, which contains the current roam mode and this information
-    for every BSS:
-
-Event ID
-    0x100F
-
-Event Parameters
-    A_UINT8     bssid[ATH_MAC_LEN];
-        BSSID
-    A_UINT8     rssi
-        Averaged RSSI
-    A_UINT8     rssidt
-        Change in RSSI
-    A_UINT8     last_rssi
-        Last recorded RSSI
-    A_UINT8     roam_util
-        Utility value used in roaming decision
-    A_UINT8     util
-        Base utility with the BSS
-    A_UINT8     bias
-        Host configured for this BSS
-
-Event Values
-    roamMode
-        Current roam mode
-
-        = 1
-    RSSI based roam
-
-        = 2
-    Host bias-based roam
-
-        = 3
-    Lock to the current BSS
-
-        = 4
-    Autonomous roaming disabled
-
-
-=====================================================================
-
-Name
-    RSSI_THRESHOLD
-
-Synopsis
-    Alerts the host that the signal strength from the connected AP has crossed a
-    interesting threshold as defined in a previous \93RSSI_THRESHOLD_PARAMS\94
-    command.
-
-Event ID
-    0x100C
-
-Event Parameters
-    UINT8    range
-        A WMI_RSSI_THRESHOLD_VAL
-        value, which indicates the range of
-        the average signal strength
-
-Event Values
-    {
-        WMI_RSSI_LOWTHRESHOLD_BELOW_LOWERVAL  = 1
-        WMI_RSSI_LOWTHRESHOLD_LOWERVAL        = 2
-        WMI_RSSI_LOWTHRESHOLD_UPPERVAL        = 3
-        WMI_RSSI_HIGHTHRESHOLD_LOWERVAL       = 4
-        WMI_RSSI_HIGHTHRESHOLD_HIGHERVAL      = 5
-    } WMI_RSSI_THRESHOLD_VAL
-
-
-=====================================================================
-
-Name
-    SCAN_COMPLETE_EVENT
-
-Synopsis
-    Indicates the scan status. if the Scan was not completed, this event is generated with
-    the status A_ECANCELED.
-
-Event ID
-    0x100A
-
-Event Parameters
-    A_UINT8    scanStatus
-
-Event Values
-    {
-        #define     SCAN_ABORTED 16
-        #define     SCAN_COMPLETED 0
-        A_UINT8     scanStatus
-            A_OK or A_ECANCELED
-    } WMI_SCAN_COMPLETE_EVENT;
-
-
-=====================================================================
-
-Name
-    TEST_EVENT
-
-Synopsis
-    The TCMD application uses a single WMI event (WMI_TEST_EVENTID) to
-    communicate events from target to host. The events are parsed by the TCMD
-    application and WMI layer is oblivious of it.
-
-Event ID
-    0x1016
-
-Event Parameters
-    WMI_TEST_EVENTID
-
-
-Event Values
-    None
-
-
-=====================================================================
-
-
-
-Name
-    TKIP_MICERR
-
-Synopsis
-    Indicates that TKIP MIC errors were detected.
-
-Event ID
-    0x1009
-
-Event Parameters
-    UINT8    keyid
-        Indicates the TKIP key ID
-
-    UINT8    ismcast
-        0 = Unicast
-        1 = Multicast
-
-Event Values
-    See event parameters
-
-=====================================================================
-
-WMI Extension Commands
-
-The WMI EXTENSION command is used to multiplex a collection of
-commands that:
-
-        Are not generic wireless commands
-        May be implementation-specific
-        May be target platform-specific
-        May be optional for a host implementation
-
-    An extension command is sent to the AR6000 targets like any other WMI
-command message and uses the WMI_EXTENSION. The first field of the
-payload for this EXTENSION command is another commandId, sometimes
-called the subcommandId, which indicates which extension command is
-being used. A subcommandId-specific payload follows the subcommandId.
-
-All extensions (subcommandIds) are listed in the header file include/wmix.h.
-See also \93WMI Extension Events\94 on page B-58.
-
-
-WMI Extension Commands
-
-
-GPIO_INPUT_GET
-    Read GPIO pins configured for input
-
-GPIO_INTR_ACK
-    Acknowledge and re-arm GPIO interrupts reported earlier
-
-GPIO_OUTPUT_SET
-    Manage output on GPIO pins configured for output
-
-GPIO_REGISTER_GET
-    Read an arbitrary GPIO register
-
-GPIO_REGISTER_SET
-    Dynamically change GPIO configuration
-
-SET_LQTHRESHOLD
-    Set link quality thresholds; the sampling happens at every unicast
-    data frame Tx, if certain thresholds are met, and corresponding
-    events are sent to the host
-
-
-=====================================================================
-
-Name
-    GPIO_INPUT_GET
-
-Synopsis
-    Allows the host to read GPIO pins that are configured for input. The values read are
-    returned through a \93GPIO_DATA\94 extension event.
-
-NOTE: Support for GPIO is optional.
-
-Command
-    N/A
-
-Command Parameters
-    None
-
-
-
-Reply Parameters
-    None
-
-
-Reset Value
-    None
-
-
-
-Restrictions
-    None
-
-=====================================================================
-
-
-Name
-    GPIO_INTR_ACK
-
-Synopsis
-    The host uses this command to acknowledge and to re-arm GPIO interrupts reported
-    through an earlier \93GPIO_INTR\94 extension event. A single \93GPIO_INTR_ACK\94
-    command should be used to acknowledge all GPIO interrupts that the host knows to
-    be outstanding (if pending interrupts are not acknowledged through
-    \93GPIO_INTR_ACK\94, another \93GPIO_INTR\94 extension event is raised).
-
-NOTE: Support for GPIO is optional.
-
-Command
-    N/A
-
-Command Parameters
-    UINT32    ack_mask
-        A mask of interrupting GPIO pins (e.g., ack_mask
-        bit [3] acknowledges an interrupt from the pin GPIO3).
-
-Command Values
-    None
-
-Reset Value
-    None
-
-Restrictions
-    The host should acknowledge only interrupts about which it was notified.
-
-
-=====================================================================
-
-Name
-    GPIO_OUTPUT_SET
-
-Synopsis
-    Manages output on GPIO pins configured for output.
-
-    Conflicts between set_mask and clear_mask or enable_mask and disable_mask result
-    in undefined behavior.
-
-NOTE: Support for GPIO is optional.
-
-Command
-    N/A
-
-Command Parameters
-    UINT32    set_mask
-        Specifies which pins should drive a 1 out
-    UINT32    clear_mask
-        Specifies which pins should drive a 0 out
-    UINT32    enable_mask
-        Specifies which pins should be enabled for output
-    UINT32    disable_mask
-        Specifies which pins should be disabled for output
-
-Command Values
-    None
-
-
-Reset Value
-    None
-
-
-Restrictions
-    None
-
-
-
-=====================================================================
-
-
-Name
-    GPIO_REGISTER_GET
-
-Synopsis
-    Allows the host to read an arbitrary GPIO register. It is intended for use during
-    bringup/debug. The target responds to this command with a \93GPIO_DATA\94 event.
-
-NOTE: Support for GPIO is optional.
-
-Command
-    N/A
-
-Command Parameters
-    UINT32
-    gpioreg_id
-    Specifies a GPIO register identifier, as defined
-in include/AR6000/AR6000_gpio.h
-
-Reply Parameters
-    None
-
-Reset Value
-    N/A
-
-Restrictions
-    None
-
-
-=====================================================================
-
-Name
-    GPIO_REGISTER_SET
-
-Synopsis
-    Allows the host to dynamically change GPIO configuration (usually handled
-    statically through the GPIO configuration DataSet).
-
-NOTE: Support for GPIO is optional.
-
-Command
-    N/A
-
-Command Parameters
-    UINT32    gpioreg_id
-        Specifies a GPIO register identifier, as defined in
-        include/AR6000/AR6000_gpio.h
-    UINT32    value
-        Specifies a value to write to the specified
-        GPIO register
-
-Command Values
-    None
-
-
-Reset Value
-    Initial hardware configuration is as defined in the AR6001 or AR6002 ROCmTM
-    Single-Chip MAC/BB/Radio for 2.4/5 GHz Embedded WLAN Applications data sheet. This
-    configuration is modified by the GPIO Configuration DataSet, if one exists.
-
-Restrictions
-    None
-
-
-=====================================================================
-
-
-Name
-    SET_LQTHRESHOLD
-
-Synopsis
-    Set link quality thresholds, the sampling happens at every unicast data frame Tx, if
-    certain threshold is met, corresponding event will be sent to host.
-
-Command
-    wmiconfig eth1 --lqThreshold <enable> <upper_threshold_1>...
-    <upper_threshold_4> <lower_threshold_1>... <lower_threshold_4>
-
-Command Parameters
-    A_UINT8   enable;
-    A_UINT8   thresholdAbove1_Val;
-    A_UINT8   thresholdAbove2_Val;
-    A_UINT8   thresholdAbove3_Val;
-    A_UINT8   thresholdAbove4_Val;
-    A_UINT8   thresholdBelow1_Val;
-    A_UINT8   thresholdBelow2_Val;
-    A_UINT8   thresholdBelow3_Val;
-    A_UINT8   thresholdBelow4_Val;
-
-Command Values
-    enable
-    = 0
-    Disable link quality sampling
-
-        = 1
-    Enable link quality sampling
-
-
-    thresholdAbove_Val
-    [1...4]
-    Above thresholds (value in [0,100]), in ascending
-    order threshold
-
-    Below_Val [1...4] = below thresholds (value
-    in [0,100]), in ascending order
-
-Reset Values
-    None
-
-Restrictions
-    None
-
-=====================================================================
-WMI Extension Events
-
-The WMI EXTENSION event is used for a collection of events that:
-
-    Are not generic wireless events
-    May be implementation-specific
-    May be target platform-specific
-    May be optional for a host implementation
-
-    An extension event is sent from the AR6000 device targets to the host just like
-any other WMI event message, using the WMI_EXTENSION_EVENTID. The
-first field of the payload for this \93EXTENSION\94 event is another commandId
-(sometimes called the subcommandId) that indicates which \93EXTENSION\94
-event is being used. A subcommandId-specific payload follows the
-subcommandId.
-
-All extensions (subcommandIds) are listed in the header file include/wmix.h.
-See also \93WMI Extension Commands\94 on page B-55.
-
-
-WMI Extension Events
-
-
-GPIO_ACK
-    Acknowledges a host set command has been processed by the device
-
-GPIO_DATA
-    Response to a host\92s request for data
-
-GPIO_INTR
-    Signals that GPIO interrupts are pending
-
-
-=====================================================================
-
-Name
-    GPIO_ACK
-
-Synopsis
-    Acknowledges that a host set command (either \93GPIO_OUTPUT_SET\94 or
-    \93GPIO_REGISTER_SET\94) has been processed by the AR6000 device.
-
-NOTE: Support for GPIO is optional.
-
-Event ID
-    N/A
-
-Event Parameters
-    None
-
-
-Event Values
-    None
-
-=====================================================================
-
-
-Name
-    GPIO_DATA
-
-Synopsis
-    The AR6000 device uses this event to respond to the host\92s earlier request for data
-    (through either a \93GPIO_REGISTER_GET\94 or a \93GPIO_INPUT_GET\94 command).
-
-NOTE: Support for GPIO is optional.
-
-Event ID
-    N/A
-
-Event Parameters
-    UINT32    value
-        Holds the data of interest, which is either a register value
-        (in the case of \93GPIO_REGISTER_GET\94) or a mask of
-        pin inputs (in the case of \93GPIO_INPUT_GET\94).
-    UINT32    reg_id
-        Indicates which register was read (in the case of
-        \93GPIO_REGISTER_GET\94) or is GPIO_ID_NONE (in the
-        case of \93GPIO_INPUT_GET\94)
-
-Event Values
-    None
-
-
-=====================================================================
-
-
-
-Name
-    GPIO_INTR
-
-Synopsis
-    The AR6000 device raises this event to signal that GPIO interrupts are pending.
-    These GPIOs may be interrupts that occurred after the last \93GPIO_INTR_ACK\94
-    command was issued, or may be GPIO interrupts that the host failed to acknowledge
-    in the last \93GPIO_INTR_ACK\94. The AR6000 will not raise another GPIO_INTR
-    event until this event is acknowledged through a \93GPIO_INTR_ACK\94 command.
-
-NOTE: Support for GPIO is optional.
-
-Event ID
-    N/A
-
-Event Parameters
-    UINT32    intr_mask
-        Indicates which GPIO interrupts are currently pending
-
-    UINT32    input_values
-        A recent copy of the GPIO input values, taken at the
-        time the most recent GPIO interrupt was processed
-
-Event Values
-    None
-
-
-
-=====================================================================
-#endif