root/drivers/net/wireless/microchip/wilc1000/wlan_if.h
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2012 - 2018 Microchip Technology Inc., and its subsidiaries.
 * All rights reserved.
 */

#ifndef WILC_WLAN_IF_H
#define WILC_WLAN_IF_H

#include <linux/netdevice.h>
#include "fw.h"

#define WILC_MAX_ASSOC_RESP_FRAME_SIZE 512

/********************************************
 *
 *      Wlan Configuration ID
 *
 ********************************************/

enum bss_types {
        WILC_FW_BSS_TYPE_INFRA = 0,
        WILC_FW_BSS_TYPE_INDEPENDENT,
        WILC_FW_BSS_TYPE_AP,
};

enum {
        WILC_FW_OPER_MODE_B_ONLY = 0,    /* 1, 2 M, otherwise 5, 11 M */
        WILC_FW_OPER_MODE_G_ONLY,        /* 6,12,24 otherwise 9,18,36,48,54 */
        WILC_FW_OPER_MODE_G_MIXED_11B_1, /* 1,2,5.5,11 otherwise all on */
        WILC_FW_OPER_MODE_G_MIXED_11B_2, /* 1,2,5,11,6,12,24 otherwise all on */
};

enum {
        WILC_FW_PREAMBLE_SHORT = 0,     /* Short Preamble */
        WILC_FW_PREAMBLE_LONG = 1,      /* Long Preamble */
        WILC_FW_PREAMBLE_AUTO = 2,      /* Auto Preamble Selection */
};

enum {
        WILC_FW_PASSIVE_SCAN = 0,
        WILC_FW_ACTIVE_SCAN = 1,
};

enum {
        WILC_FW_NO_POWERSAVE = 0,
        WILC_FW_MIN_FAST_PS = 1,
        WILC_FW_MAX_FAST_PS = 2,
        WILC_FW_MIN_PSPOLL_PS = 3,
        WILC_FW_MAX_PSPOLL_PS = 4
};

enum bus_acquire {
        WILC_BUS_ACQUIRE_ONLY = 0,
        WILC_BUS_ACQUIRE_AND_WAKEUP = 1,
};

enum bus_release {
        WILC_BUS_RELEASE_ONLY = 0,
        WILC_BUS_RELEASE_ALLOW_SLEEP = 1,
};

enum {
        WILC_FW_NO_ENCRYPT = 0,
        WILC_FW_ENCRYPT_ENABLED = BIT(0),
        WILC_FW_WEP = BIT(1),
        WILC_FW_WEP_EXTENDED = BIT(2),
        WILC_FW_WPA = BIT(3),
        WILC_FW_WPA2 = BIT(4),
        WILC_FW_AES = BIT(5),
        WILC_FW_TKIP = BIT(6)
};

enum {
        WILC_FW_SEC_NO = WILC_FW_NO_ENCRYPT,
        WILC_FW_SEC_WEP = WILC_FW_WEP | WILC_FW_ENCRYPT_ENABLED,
        WILC_FW_SEC_WEP_EXTENDED = WILC_FW_WEP_EXTENDED | WILC_FW_SEC_WEP,
        WILC_FW_SEC_WPA = WILC_FW_WPA | WILC_FW_ENCRYPT_ENABLED,
        WILC_FW_SEC_WPA_AES = WILC_FW_AES | WILC_FW_SEC_WPA,
        WILC_FW_SEC_WPA_TKIP = WILC_FW_TKIP | WILC_FW_SEC_WPA,
        WILC_FW_SEC_WPA2 = WILC_FW_WPA2 | WILC_FW_ENCRYPT_ENABLED,
        WILC_FW_SEC_WPA2_AES = WILC_FW_AES | WILC_FW_SEC_WPA2,
        WILC_FW_SEC_WPA2_TKIP = WILC_FW_TKIP | WILC_FW_SEC_WPA2
};

enum authtype {
        WILC_FW_AUTH_OPEN_SYSTEM = 1,
        WILC_FW_AUTH_SHARED_KEY = 2,
        WILC_FW_AUTH_ANY = 3,
        WILC_FW_AUTH_IEEE8021 = 5,
        WILC_FW_AUTH_SAE = 7,
        WILC_FW_AUTH_IEE8021X_SHA256 = 9,
        WILC_FW_AUTH_OPEN_SYSTEM_SHA256 = 13
};

enum mfptype {
        WILC_FW_MFP_NONE = 0x0,
        WILC_FW_MFP_OPTIONAL = 0x1,
        WILC_FW_MFP_REQUIRED = 0x2
};

enum site_survey {
        WILC_FW_SITE_SURVEY_1CH = 0,
        WILC_FW_SITE_SURVEY_ALL_CH = 1,
        WILC_FW_SITE_SURVEY_OFF = 2
};

enum {
        WILC_FW_ACK_POLICY_NORMAL = 0,
        WILC_FW_ACK_NO_POLICY,
};

enum {
        WILC_FW_REKEY_POLICY_DISABLE = 1,
        WILC_FW_REKEY_POLICY_TIME_BASE,
        WILC_FW_REKEY_POLICY_PKT_BASE,
        WILC_FW_REKEY_POLICY_TIME_PKT_BASE
};

enum {
        WILC_FW_FILTER_NO = 0x00,
        WILC_FW_FILTER_AP_ONLY = 0x01,
        WILC_FW_FILTER_STA_ONLY = 0x02
};

enum {
        WILC_FW_11N_PROT_AUTO = 0,      /* Auto */
        WILC_FW_11N_NO_PROT,            /* Do not use any protection */
        WILC_FW_11N_PROT_ERP,           /* Protect all ERP frame exchanges */
        WILC_FW_11N_PROT_HT,            /* Protect all HT frame exchanges  */
        WILC_FW_11N_PROT_GF             /* Protect all GF frame exchanges  */
};

enum {
        WILC_FW_ERP_PROT_SELF_CTS,
        WILC_FW_ERP_PROT_RTS_CTS,
};

enum {
        WILC_FW_11N_OP_MODE_HT_MIXED = 1,
        WILC_FW_11N_OP_MODE_HT_ONLY_20MHZ,
        WILC_FW_11N_OP_MODE_HT_ONLY_20_40MHZ,
};

enum {
        WILC_FW_OBBS_NONHT_NO_DETECT = 0,
        WILC_FW_OBBS_NONHT_DETECT_ONLY = 1,
        WILC_FW_OBBS_NONHT_DETECT_PROTECT = 2,
        WILC_FW_OBBS_NONHT_DETECT_PROTECT_REPORT = 3,
};

enum {
        WILC_FW_HT_PROT_RTS_CTS_NONHT = 0,  /* RTS-CTS at non-HT rate */
        WILC_FW_HT_PROT_FIRST_FRAME_NONHT,  /* First frame at non-HT rate */
        WILC_FW_HT_PROT_LSIG_TXOP,          /* LSIG TXOP Protection */
        WILC_FW_HT_PROT_FIRST_FRAME_MIXED,  /* First frame at Mixed format */
};

enum {
        WILC_FW_SMPS_MODE_STATIC = 1,
        WILC_FW_SMPS_MODE_DYNAMIC = 2,
        WILC_FW_SMPS_MODE_MIMO = 3,     /* power save disable */
};

enum {
        WILC_FW_TX_RATE_AUTO = 0,
        WILC_FW_TX_RATE_MBPS_1 = 1,
        WILC_FW_TX_RATE_MBPS_2 = 2,
        WILC_FW_TX_RATE_MBPS_5_5 = 5,
        WILC_FW_TX_RATE_MBPS_11 = 11,
        WILC_FW_TX_RATE_MBPS_6 = 6,
        WILC_FW_TX_RATE_MBPS_9 = 9,
        WILC_FW_TX_RATE_MBPS_12 = 12,
        WILC_FW_TX_RATE_MBPS_18 = 18,
        WILC_FW_TX_RATE_MBPS_24 = 24,
        WILC_FW_TX_RATE_MBPS_36 = 36,
        WILC_FW_TX_RATE_MBPS_48 = 48,
        WILC_FW_TX_RATE_MBPS_54 = 54
};

enum {
        WILC_FW_DEFAULT_SCAN = 0,
        WILC_FW_USER_SCAN = BIT(0),
        WILC_FW_OBSS_PERIODIC_SCAN = BIT(1),
        WILC_FW_OBSS_ONETIME_SCAN = BIT(2)
};

enum {
        WILC_FW_ACTION_FRM_IDX = 0,
        WILC_FW_PROBE_REQ_IDX = 1,
        WILC_FW_AUTH_REQ_IDX = 2
};

enum wid_type {
        WID_CHAR                = 0,
        WID_SHORT               = 1,
        WID_INT                 = 2,
        WID_STR                 = 3,
        WID_BIN_DATA            = 4,
        WID_BIN                 = 5,
};

struct wid {
        u16 id;
        enum wid_type type;
        s32 size;
        s8 *val;
};

enum {
        WID_NIL                         = 0xffff,

        /*
         *  BSS Type
         *  -----------------------------------------------------------
         *  Configuration : Infrastructure   Independent   Access Point
         *  Values to set :         0               1            2
         *  -----------------------------------------------------------
         */
        WID_BSS_TYPE                    = 0x0000,

        /*
         *  Transmit Rate
         *  -----------------------------------------------------------
         *  Configuration : 1  2  5.5  11  6  9  12  18  24  36  48  54
         *  Values to set : 1  2    5  11  6  9  12  18  24  36  48  54
         *  -----------------------------------------------------------
         */
        WID_CURRENT_TX_RATE             = 0x0001,

        /*
         *  Channel
         *  -----------------------------------------------------------
         *  Configuration(g) : 1  2  3  4  5  6  7  8  9 10 11 12 13 14
         *  Values to set    : 1  2  3  4  5  6  7  8  9 10 11 12 13 14
         *  -----------------------------------------------------------
         */
        WID_CURRENT_CHANNEL             = 0x0002,

        /*
         *  Preamble
         *  -----------------------------------------------------------
         *  Configuration :    short    long      Auto
         *  Values to set :       0       1         2
         *  -----------------------------------------------------------
         */
        WID_PREAMBLE                    = 0x0003,

        /*
         * 11g operating mode (ignored if 11g not present)
         *  -----------------------------------------------------------
         *  Configuration :   HighPerf  Compat(RSet #1) Compat(RSet #2)
         *  Values to set :          1               2               3
         *  -----------------------------------------------------------
         */
        WID_11G_OPERATING_MODE          = 0x0004,

        /*
         *  Mac status (response only)
         *  -----------------------------------------------------------
         *  Configuration :   disconnect  connect
         *  Values to get :          0       1
         *  -----------------------------------------------------------
         */
        WID_STATUS                      = 0x0005,

        /*
         *  Scan type
         *  -----------------------------------------------------------
         *  Configuration :   Passive Scanning   Active Scanning
         *  Values to set :                  0                 1
         *  -----------------------------------------------------------
         */
        WID_SCAN_TYPE                   = 0x0007,

        /*
         *  Key Id (WEP default key Id)
         *  -----------------------------------------------------------
         *  Configuration :   Any value between 0 to 3
         *  Values to set :   Same value. Default is 0
         *  -----------------------------------------------------------
         */
        WID_KEY_ID                      = 0x0009,

        /*
         *  QoS Enable
         *  -----------------------------------------------------------
         *  Configuration :   QoS Disable   WMM Enable
         *  Values to set :   0             1
         *  -----------------------------------------------------------
         */
        WID_QOS_ENABLE                  = 0x000A,

        /*
         *  Power Management
         *  -----------------------------------------------------------
         *  Configuration : NO_POWERSAVE MIN_POWERSAVE MAX_POWERSAVE
         *  Values to set : 0            1             2
         *  -----------------------------------------------------------
         */
        WID_POWER_MANAGEMENT            = 0x000B,

        /*
         *  WEP/802 11I Configuration
         *  -----------------------------------------------------------
         *  Configuration:Disable WP40 WP104 WPA-AES WPA-TKIP RSN-AES RSN-TKIP
         *  Values (0x)  :   00     03   07     29       49       31      51
         *  Configuration:WPA-AES+TKIP RSN-AES+TKIP
         *  Values (0x)  :      69        71
         *  -----------------------------------------------------------
         */
        WID_11I_MODE                    = 0x000C,

        /*
         *  WEP Configuration: Used in BSS STA mode only when WEP is enabled
         *  -----------------------------------------------------------
         *  Configuration : Open System Shared Key Any Type | 802.1x Auth
         *  Values (0x)   :    01             02         03 |    BIT2
         *  -----------------------------------------------------------
         */
        WID_AUTH_TYPE                   = 0x000D,

        /*
         *  Site Survey Type
         *  -----------------------------------------------------------
         *  Configuration       :  Values to set
         *  Survey 1 Channel    :  0
         *  survey all Channels :  1
         *  Disable Site Survey :  2
         *  -----------------------------------------------------------
         */
        WID_SITE_SURVEY                 = 0x000E,

        /*
         *  Listen Interval
         *  -----------------------------------------------------------
         *  Configuration :   Any value between 1 to 255
         *  Values to set :   Same value. Default is 3
         *  -----------------------------------------------------------
         */
        WID_LISTEN_INTERVAL             = 0x000F,

        /*
         *  DTIM Period
         *  -----------------------------------------------------------
         *  Configuration :   Any value between 1 to 255
         *  Values to set :   Same value. Default is 3
         *  -----------------------------------------------------------
         */
        WID_DTIM_PERIOD                 = 0x0010,

        /*
         *  ACK Policy
         *  -----------------------------------------------------------
         *  Configuration :   Normal Ack            No Ack
         *  Values to set :       0                   1
         *  -----------------------------------------------------------
         */
        WID_ACK_POLICY                  = 0x0011,

        /*
         *  Reset MAC (Set only)
         *  -----------------------------------------------------------
         *  Configuration :   Don't Reset       Reset   No Request
         *  Values to set :       0               1         2
         *  -----------------------------------------------------------
         */
        WID_RESET                       = 0x0012,

        /*
         *  Broadcast SSID Option: Setting this will adhere to "" SSID element
         *  -----------------------------------------------------------
         *  Configuration :   Enable             Disable
         *  Values to set :   1                  0
         *  -----------------------------------------------------------
         */
        WID_BCAST_SSID                  = 0x0015,

        /*
         *  Disconnect (Station)
         *  -----------------------------------------------------------
         *  Configuration :   Association ID
         *  Values to set :   Association ID
         *  -----------------------------------------------------------
         */
        WID_DISCONNECT                  = 0x0016,

        /*
         *  11a Tx Power Level
         *  -----------------------------------------------------------
         *  Configuration : Sets TX Power (Higher the value greater the power)
         *  Values to set : Any value between 0 and 63 (inclusive Default 48)
         *  -----------------------------------------------------------
         */
        WID_TX_POWER_LEVEL_11A          = 0x0018,

        /*
         *  Group Key Update Policy Selection
         *  -----------------------------------------------------------
         *  Configuration : Disabled timeBased packetBased timePacketBased
         *  Values to set :   1            2          3              4
         *  -----------------------------------------------------------
         */
        WID_REKEY_POLICY                = 0x0019,

        /*
         *  Allow Short Slot
         *  -----------------------------------------------------------
         *  Configuration : Disallow Short Slot      Allow Short Slot
         *          (Enable Only Long Slot) (Enable Short Slot if applicable)
         *  Values to set :    0         1
         *  -----------------------------------------------------------
         */
        WID_SHORT_SLOT_ALLOWED          = 0x001A,

        WID_PHY_ACTIVE_REG              = 0x001B,

        /*
         *  11b Tx Power Level
         *  -----------------------------------------------------------
         *  Configuration : Sets TX Power (Higher the value greater the power)
         *  Values to set : Any value between 0 and 63 (inclusive Default 48)
         *  -----------------------------------------------------------
         */
        WID_TX_POWER_LEVEL_11B          = 0x001D,

        /*
         *  Scan Request
         *  -----------------------------------------------------------
         *  Configuration : Request default scan
         *  Values to set : 0
         *  -----------------------------------------------------------
         */
        WID_START_SCAN_REQ              = 0x001E,

        /*
         *  Rssi (get only)
         *  -----------------------------------------------------------
         *  Configuration :
         *  Values to get : Rssi value
         *  -----------------------------------------------------------
         */
        WID_RSSI                        = 0x001F,

        /*
         * Join Request
         *  -----------------------------------------------------------
         *  Configuration : Request to join
         *  Values to set : index of scan result
         *  -----------------------------------------------------------
         */
        WID_JOIN_REQ                    = 0x0020,

        WID_LINKSPEED                   = 0x0026,

        /*
         *  Enable User Control of TX Power
         *  -----------------------------------------------------------
         *  Configuration : Disable                  Enable
         *  Values to set :    0                       1
         *  -----------------------------------------------------------
         */
        WID_USER_CONTROL_ON_TX_POWER    = 0x0027,

        WID_MEMORY_ACCESS_8BIT          = 0x0029,

        /*
         *  Enable Auto RX Sensitivity feature
         *  -----------------------------------------------------------
         *  Configuration : Disable                  Enable
         *  Values to set :    0                       1
         *  -----------------------------------------------------------
         */
        WID_AUTO_RX_SENSITIVITY         = 0x0032,

        /*
         *  Receive Buffer Based Ack
         *  -----------------------------------------------------------
         *  Configuration : Disable                  Enable
         *  Values to set :    0                       1
         *  -----------------------------------------------------------
         */
        WID_DATAFLOW_CONTROL            = 0x0033,

        /*
         *  Scan Filter
         *  -----------------------------------------------------------
         *  Configuration : Class       No filter   AP only   Station Only
         *  Values to set :                0           1           2
         *  Configuration : Priority    High Rssi   Low Rssi     Detect
         *  Values to set :                0          0x4         0x0
         *  Configuration : Channel     filter off  filter on
         *  Values to set :                0          0x10
         *  -----------------------------------------------------------
         */
        WID_SCAN_FILTER                 = 0x0036,

        /*
         *  Link Loss Threshold (measure in the beacon period)
         *  -----------------------------------------------------------
         *  Configuration : Any value between 10 and 254(Set to 255 disable)
         *  Values to set : Same value. Default is 10
         *  -----------------------------------------------------------
         */
        WID_LINK_LOSS_THRESHOLD         = 0x0037,

        WID_ABORT_RUNNING_SCAN          = 0x003E,

        /* NMAC Character WID list */
        WID_WPS_START                   = 0x0043,

        /*
         *  Protection mode for MAC
         *  -----------------------------------------------------------
         *  Configuration :  Auto  No protection  ERP    HT    GF
         *  Values to set :  0     1              2      3     4
         *  -----------------------------------------------------------
         */
        WID_11N_PROT_MECH               = 0x0080,

        /*
         *  ERP Protection type for MAC
         *  -----------------------------------------------------------
         *  Configuration :  Self-CTS   RTS-CTS
         *  Values to set :  0          1
         *  -----------------------------------------------------------
         */
        WID_11N_ERP_PROT_TYPE           = 0x0081,

        /*
         *  HT Option Enable
         *  -----------------------------------------------------------
         *  Configuration :   HT Enable          HT Disable
         *  Values to set :   1                  0
         *  -----------------------------------------------------------
         */
        WID_11N_ENABLE                  = 0x0082,

        /*
         *  11n Operating mode (Note that 11g operating mode will also be
         *  used in addition to this, if this is set to HT Mixed mode)
         *  -----------------------------------------------------------
         *   Configuration :  HT Mixed  HT Only-20MHz   HT Only-20/40MHz
         *  Values to set :     1         2               3
         *  -----------------------------------------------------------
         */
        WID_11N_OPERATING_MODE          = 0x0083,

        /*
         *  11n OBSS non-HT STA Detection flag
         *  -----------------------------------------------------------
         *  Configuration :  Do not detect
         *  Values to set :  0
         *  Configuration :  Detect, do not protect or report
         *  Values to set :  1
         *  Configuration :  Detect, protect and do not report
         *  Values to set :  2
         *  Configuration :  Detect, protect and report to other BSS
         *  Values to set :  3
         *  -----------------------------------------------------------
         */
        WID_11N_OBSS_NONHT_DETECTION    = 0x0084,

        /*
         *  11n HT Protection Type
         *  -----------------------------------------------------------
         *  Configuration :  RTS-CTS   First Frame Exchange at non-HT-rate
         *  Values to set :  0         1
         *  Configuration :  LSIG TXOP First Frame Exchange in Mixed Fmt
         *  Values to set :  2         3
         *  -----------------------------------------------------------
         */
        WID_11N_HT_PROT_TYPE            = 0x0085,

        /*
         *  11n RIFS Protection Enable Flag
         *  -----------------------------------------------------------
         *  Configuration :  Disable    Enable
         *  Values to set :  0          1
         *  -----------------------------------------------------------
         */
        WID_11N_RIFS_PROT_ENABLE        = 0x0086,

        /*
         *  SMPS Mode
         *  -----------------------------------------------------------
         *  Configuration :  Static   Dynamic   MIMO (Power Save Disabled)
         *  Values to set :  1        2         3
         *  -----------------------------------------------------------
         */
        WID_11N_SMPS_MODE               = 0x0087,

        /*
         *  Current transmit MCS
         *  -----------------------------------------------------------
         *  Configuration :  MCS Index for data rate
         *  Values to set :  0 to 7
         *  -----------------------------------------------------------
         */
        WID_11N_CURRENT_TX_MCS          = 0x0088,

        WID_11N_PRINT_STATS             = 0x0089,

        /*
         *  11n Short GI Enable Flag
         *  -----------------------------------------------------------
         *  Configuration :  Disable    Enable
         *  Values to set :  0          1
         *  -----------------------------------------------------------
         */
        WID_11N_SHORT_GI_ENABLE         = 0x008D,

        /*
         *  11n RIFS Enable Flag
         *  -----------------------------------------------------------
         *  Configuration :  Disable    Enable
         *  Values to set :  0          1
         *  -----------------------------------------------------------
         */
        WID_RIFS_MODE                   = 0x0094,

        /*
         *  TX Abort Feature
         *  -----------------------------------------------------------
         *  Configuration :  Disable Self CTS    Enable Self CTS
         *  Values to set :             0                      1
         *  Configuration :  Disable TX Abort    Enable TX Abort
         *  Values to set :             2                      3
         *  Configuration :  Enable HW TX Abort Enable SW TX Abort
         *  Values to set :             4                      5
         *  -----------------------------------------------------------
         */
        WID_TX_ABORT_CONFIG             = 0x00A1,

        WID_REG_TSSI_11B_VALUE          = 0x00A6,
        WID_REG_TSSI_11G_VALUE          = 0x00A7,
        WID_REG_TSSI_11N_VALUE          = 0x00A8,
        WID_TX_CALIBRATION              = 0x00A9,
        WID_DSCR_TSSI_11B_VALUE         = 0x00AA,
        WID_DSCR_TSSI_11G_VALUE         = 0x00AB,
        WID_DSCR_TSSI_11N_VALUE         = 0x00AC,

        /*
         *  Immediate Block-Ack Support
         *  -----------------------------------------------------------
         *  Configuration : Disable                  Enable
         *  Values to set :    0                       1
         *  -----------------------------------------------------------
         */
        WID_11N_IMMEDIATE_BA_ENABLED    = 0x00AF,

        /*
         *  TXOP Disable Flag
         *  -----------------------------------------------------------
         *  Configuration : Disable                  Enable
         *  Values to set :    1                        0
         *  -----------------------------------------------------------
         */
        WID_11N_TXOP_PROT_DISABLE       = 0x00B0,

        WID_TX_POWER_LEVEL_11N          = 0x00B1,

        /* Custom Character WID list */
        /* SCAN Complete notification WID*/
        WID_SCAN_COMPLETE               = 0x00C9,

        WID_DEL_BEACON                  = 0x00CA,

        WID_LOG_TERMINAL_SWITCH         = 0x00CD,
        WID_TX_POWER                    = 0x00CE,
        WID_WOWLAN_TRIGGER              = 0X00CF,
        WID_SET_MFP                     = 0x00D0,

        WID_DEFAULT_MGMT_KEY_ID         = 0x00D2,
        /*  EMAC Short WID list */
        /*  RTS Threshold */
        /*
         *  -----------------------------------------------------------
         *  Configuration :   Any value between 256 to 2347
         *  Values to set :   Same value. Default is 2347
         *  -----------------------------------------------------------
         */
        WID_RTS_THRESHOLD               = 0x1000,

        /*
         *  Fragmentation Threshold
         *  -----------------------------------------------------------
         *  Configuration :   Any value between 256 to 2346
         *  Values to set :   Same value. Default is 2346
         *  -----------------------------------------------------------
         */
        WID_FRAG_THRESHOLD              = 0x1001,

        WID_SHORT_RETRY_LIMIT           = 0x1002,
        WID_LONG_RETRY_LIMIT            = 0x1003,
        WID_BEACON_INTERVAL             = 0x1006,
        WID_MEMORY_ACCESS_16BIT         = 0x1008,
        WID_PASSIVE_SCAN_TIME           = 0x100D,
        WID_JOIN_START_TIMEOUT          = 0x100F,
        WID_ASOC_TIMEOUT                = 0x1011,
        WID_11I_PROTOCOL_TIMEOUT        = 0x1012,
        WID_EAPOL_RESPONSE_TIMEOUT      = 0x1013,

        /* NMAC Short WID list */
        WID_11N_SIG_QUAL_VAL            = 0x1085,
        WID_CCA_THRESHOLD               = 0x1087,

        /* Custom Short WID list */

        /* EMAC Integer WID list */
        WID_FAILED_COUNT                = 0x2000,
        WID_RETRY_COUNT                 = 0x2001,
        WID_MULTIPLE_RETRY_COUNT        = 0x2002,
        WID_FRAME_DUPLICATE_COUNT       = 0x2003,
        WID_ACK_FAILURE_COUNT           = 0x2004,
        WID_RECEIVED_FRAGMENT_COUNT     = 0x2005,
        WID_MCAST_RECEIVED_FRAME_COUNT  = 0x2006,
        WID_FCS_ERROR_COUNT             = 0x2007,
        WID_SUCCESS_FRAME_COUNT         = 0x2008,
        WID_HUT_TX_COUNT                = 0x200A,
        WID_TX_FRAGMENT_COUNT           = 0x200B,
        WID_TX_MULTICAST_FRAME_COUNT    = 0x200C,
        WID_RTS_SUCCESS_COUNT           = 0x200D,
        WID_RTS_FAILURE_COUNT           = 0x200E,
        WID_WEP_UNDECRYPTABLE_COUNT     = 0x200F,
        WID_REKEY_PERIOD                = 0x2010,
        WID_REKEY_PACKET_COUNT          = 0x2011,
        WID_1X_SERV_ADDR                = 0x2012,
        WID_STACK_IP_ADDR               = 0x2013,
        WID_STACK_NETMASK_ADDR          = 0x2014,
        WID_HW_RX_COUNT                 = 0x2015,
        WID_MEMORY_ADDRESS              = 0x201E,
        WID_MEMORY_ACCESS_32BIT         = 0x201F,

        /* NMAC Integer WID list */
        /* Custom Integer WID list */
        WID_GET_INACTIVE_TIME           = 0x2084,
        /* EMAC String WID list */
        WID_SSID                        = 0x3000,
        WID_FIRMWARE_VERSION            = 0x3001,
        WID_OPERATIONAL_RATE_SET        = 0x3002,
        WID_BSSID                       = 0x3003,
        WID_WEP_KEY_VALUE               = 0x3004,
        WID_11I_PSK                     = 0x3008,
        WID_11E_P_ACTION_REQ            = 0x3009,
        WID_1X_KEY                      = 0x300A,
        WID_HARDWARE_VERSION            = 0x300B,
        WID_MAC_ADDR                    = 0x300C,
        WID_HUT_DEST_ADDR               = 0x300D,
        WID_PHY_VERSION                 = 0x300F,
        WID_SUPP_USERNAME               = 0x3010,
        WID_SUPP_PASSWORD               = 0x3011,
        WID_SITE_SURVEY_RESULTS         = 0x3012,
        WID_RX_POWER_LEVEL              = 0x3013,
        WID_SET_STA_MAC_INACTIVE_TIME   = 0x3017,
        WID_ADD_WEP_KEY                 = 0x3019,
        WID_REMOVE_WEP_KEY              = 0x301A,
        WID_ADD_PTK                     = 0x301B,
        WID_ADD_RX_GTK                  = 0x301C,
        WID_ADD_TX_GTK                  = 0x301D,
        WID_REMOVE_KEY                  = 0x301E,
        WID_ASSOC_REQ_INFO              = 0x301F,
        WID_ASSOC_RES_INFO              = 0x3020,
        WID_ADD_IGTK                    = 0x3022,
        WID_MANUFACTURER                = 0x3026, /* Added for CAPI tool */
        WID_MODEL_NAME                  = 0x3027, /* Added for CAPI tool */
        WID_MODEL_NUM                   = 0x3028, /* Added for CAPI tool */
        WID_DEVICE_NAME                 = 0x3029, /* Added for CAPI tool */

        /* NMAC String WID list */
        WID_SET_OPERATION_MODE          = 0x3079,
        WID_11N_P_ACTION_REQ            = 0x3080,
        WID_HUT_TEST_ID                 = 0x3081,
        WID_PMKID_INFO                  = 0x3082,
        WID_FIRMWARE_INFO               = 0x3083,
        WID_REGISTER_FRAME              = 0x3084,
        WID_DEL_ALL_STA                 = 0x3085,
        WID_REMAIN_ON_CHAN              = 0x3996,
        WID_SSID_PROBE_REQ              = 0x3997,
        WID_JOIN_REQ_EXTENDED           = 0x3998,

        WID_IP_ADDRESS                  = 0x3999,

        /* Custom String WID list */

        /* EMAC Binary WID list */
        WID_UAPSD_CONFIG                = 0x4001,
        WID_UAPSD_STATUS                = 0x4002,
        WID_WMM_AP_AC_PARAMS            = 0x4003,
        WID_WMM_STA_AC_PARAMS           = 0x4004,
        WID_NETWORK_INFO                = 0x4005,
        WID_STA_JOIN_INFO               = 0x4006,
        WID_CONNECTED_STA_LIST          = 0x4007,

        /* NMAC Binary WID list */
        WID_11N_AUTORATE_TABLE          = 0x4080,

        WID_SCAN_CHANNEL_LIST           = 0x4084,

        WID_INFO_ELEMENT_PROBE          = 0x4085,
        WID_INFO_ELEMENT_ASSOCIATE      = 0x4086,
        WID_ADD_STA                     = 0X4087,
        WID_REMOVE_STA                  = 0X4088,
        WID_EDIT_STA                    = 0X4089,
        WID_ADD_BEACON                  = 0x408a,

        WID_SETUP_MULTICAST_FILTER      = 0x408b,
        WID_EXTERNAL_AUTH_PARAM         = 0x408d,
        /* Miscellaneous WIDs */
        WID_ALL                         = 0x7FFE,
        WID_MAX                         = 0xFFFF
};

#endif