/*
* osDot11.h
*
* Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* * Neither the name Texas Instruments nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*--------------------------------------------------------------------------*/
/* Module: osDot11.h */
/**/
/* Purpose: */
/**/
/*--------------------------------------------------------------------------*/
#ifndef __OSDOT11_H__
#define __OSDOT11_H__
#include "tidef.h"
#include "tiQosTypes.h"
#define OS_STATUS_MEDIA_SPECIFIC_INDICATION ((NDIS_STATUS)0x40010012L)
#define OS_802_11_REQUEST_REAUTH 0x01
#define OS_802_11_REQUEST_KEYUPDATE 0x02
#define OS_802_11_REQUEST_PAIRWISE_ERROR 0x06
#define OS_802_11_REQUEST_GROUP_ERROR 0x0E
#define OS_802_11_SSID_FIRST_VALID_CHAR 32
#define OS_802_11_SSID_JUNK(str,len) \
((len) > 2 && \
(unsigned char)(str)[0] < OS_802_11_SSID_FIRST_VALID_CHAR && \
(unsigned char)(str)[1] < OS_802_11_SSID_FIRST_VALID_CHAR && \
(unsigned char)(str)[2] < OS_802_11_SSID_FIRST_VALID_CHAR)
/**/
/* Per-packet information for Ieee8021QInfo.*/
/**/
typedef struct _OS_PACKET_8021Q_INFO
{
union
{
struct
{
TI_UINT32 UserPriority:3; /* 802.1p priority */
TI_UINT32 CanonicalFormatId:1; /* always 0*/
TI_UINT32 VlanId:12; /* VLAN Identification*/
TI_UINT32 Reserved:16; /* set to 0*/
} TagHeader;
void* Value;
}u;
} OS_PACKET_8021Q_INFO, *POS_PACKET_8021Q_INFO;
typedef TI_UINT64 OS_802_11_KEY_RSC;
typedef struct _OS_802_11_SSID
{
TI_UINT32 SsidLength;
TI_UINT8 Ssid[32];
} OS_802_11_SSID, *POS_802_11_SSID;
typedef enum _OS_802_11_NETWORK_TYPE
{
os802_11FH,
os802_11DS,
os802_11OFDM5,
os802_11OFDM24,
os802_11Automode,
os802_11NetworkTypeMax
} OS_802_11_NETWORK_TYPE;
typedef struct _OS_802_11_NETWORK_TYPE_LIST
{
TI_UINT32 NumberOfItems;
OS_802_11_NETWORK_TYPE NetworkType [1];
} OS_802_11_NETWORK_TYPE_LIST, *POS_802_11_NETWORK_TYPE_LIST;
typedef enum _OS_802_11_POWER_MODE
{
/*Continuous access mode (CAM). */
/*When the power mode is set to CAM, the device is always on. */
os802_11PowerModeCAM,
/*Specifies maximum (MAX) power saving. A power mode of MAX */
/*results in the greatest power savings for the 802.11 NIC radio. */
os802_11PowerModeMAX_PSP,
/*Specifies fast power-saving mode. This power mode provides */
/*the best combination of network performance and power usage. */
os802_11PowerModeFast_PSP,
os802_11PowerModeMax
} OS_802_11_POWER_MODE;
/*specified in milliwatts (mW).*/
typedef TI_UINT32 OS_802_11_TX_POWER_LEVEL;
/*Normal value from -10 and -200*/
typedef TI_INT32 OS_802_11_RSSI;
/*Length */
/* Specifies the length of the OS_802_11_CONFIGURATION_FH structure in bytes. */
/*HopPattern*/
/* Specifies the hop pattern used to determine the hop sequence. */
/* As defined by the 802.11 standard, the layer management entity (LME) of */
/* the physical layer uses a hop pattern to determine the hop sequence. */
/*HopSet*/
/* Specifies a set of patterns. The LME of the physical layer uses these */
/* patterns to determine the hop sequence. */
/*DwellTime*/
/* Specifies the maximum period of time during which the transmitter */
/* should remain fixed on a channel. This interval is described in Kµsec (1024 µsec). */
typedef struct _OS_802_11_CONFIGURATION_FH
{
TI_UINT32 Length;
TI_UINT32 HopPattern;
TI_UINT32 HopSet;
TI_UINT32 DwellTime;
} OS_802_11_CONFIGURATION_FH, *POS_802_11_CONFIGURATION_FH;
/*Length */
/* Specifies the length of the NDIS_802_11_CONFIGURATION structure in bytes. */
/*BeaconPeriod */
/* Specifies the interval between beacon message transmissions. */
/* This value is specified in Kµsec (1024 µsec). */
/*ATIMWindow */
/* Specifies the announcement traffic information message (ATIM) window in */
/* Kµsec (1024 µsec). The ATIM window is a short time period immediately */
/* after the transmission of each beacon in an IBSS configuration. */
/* During the ATIM window, any station can indicate the need to transfer data */
/* to another station during the following data-transmission window. */
/*DSConfig */
/* Specifies the frequency of the selected channel in kHz. */
/*FHConfig */
/* Specifies the frequency hopping configuration in an OS_802_11_CONFIGURATION_FH structure. */
typedef struct _OS_802_11_CONFIGURATION
{
TI_UINT32 Length;
TI_UINT32 BeaconPeriod;
TI_UINT32 ATIMWindow;
union
{
TI_UINT32 DSConfig;
TI_UINT32 channel;
} Union;
OS_802_11_CONFIGURATION_FH FHConfig;
} OS_802_11_CONFIGURATION, *POS_802_11_CONFIGURATION;
/*Ndis802_11IBSS */
/* Specifies the independent basic service set (IBSS) mode. */
/* This mode is also known as ad hoc mode. */
/*Ndis802_11Infrastructure */
/* Specifies the infrastructure mode. */
/*Ndis802_11AutoUnknown */
/* Specifies an automatic mode. In this mode, the 802.11 NIC can switch */
/* between ad hoc and infrastructure modes as required. */
/*Ndis802_11HighSpeedIBSS*/
/* Specifies proprietary ad hoc mode that works only PBCC.*/
typedef enum _OS_802_11_NETWORK_MODE
{
os802_11IBSS,
os802_11Infrastructure,
os802_11AutoUnknown,
os802_11HighSpeedIBSS,
os802_11InfrastructureMax
} OS_802_11_NETWORK_MODE, OS_802_11_NETWORK_INFRASTRUCTURE,*POS_802_11_NETWORK_INFRASTRUCTURE;
/**/
/*The rates array contains a set of eight octets. */
/*Each octet contains a desired data rate in units of .5 Mbps.*/
/**/
typedef TI_UINT8 OS_802_11_RATES[8];
typedef TI_UINT8 OS_802_11_RATES_EX[16];
typedef struct _OS_802_11_FIXED_IEs
{
TI_UINT8 TimeStamp[8];
TI_UINT16 BeaconInterval;
TI_UINT16 Capabilities;
} OS_802_11_FIXED_IEs, *POS_802_11_FIXED_IEs;
typedef struct _OS_802_11_VARIABLE_IEs
{
TI_UINT8 ElementID;
TI_UINT8 Length; /* Number of bytes in data field*/
TI_UINT8 data[1];
} OS_802_11_VARIABLE_IEs, *POS_802_11_VARIABLE_IEs;
typedef struct _OS_802_11_BSSID
{
TI_UINT32 Length;
TMacAddr MacAddress;
TI_UINT16 Capabilities;
OS_802_11_SSID Ssid;
TI_UINT32 Privacy;
OS_802_11_RSSI Rssi;
OS_802_11_NETWORK_TYPE NetworkTypeInUse;
OS_802_11_CONFIGURATION Configuration;
OS_802_11_NETWORK_MODE InfrastructureMode;
OS_802_11_RATES SupportedRates;
} OS_802_11_BSSID, *POS_802_11_BSSID;
typedef struct _OS_802_11_BSSID_LIST
{
TI_UINT32 NumberOfItems;
OS_802_11_BSSID Bssid[1];
} OS_802_11_BSSID_LIST, *POS_802_11_BSSID_LIST;
typedef struct _OS_802_11_BSSID_EX
{
TI_UINT32 Length;
TMacAddr MacAddress;
TI_UINT16 Capabilities;
OS_802_11_SSID Ssid;
TI_UINT32 Privacy;
OS_802_11_RSSI Rssi;
OS_802_11_NETWORK_TYPE NetworkTypeInUse;
OS_802_11_CONFIGURATION Configuration;
OS_802_11_NETWORK_MODE InfrastructureMode;
OS_802_11_RATES_EX SupportedRates;
TI_UINT32 IELength;
TI_UINT8 IEs[1];
} OS_802_11_BSSID_EX, *POS_802_11_BSSID_EX, OS_WLAN_BSSID_EX, *POS_WLAN_BSSID_EX;
typedef struct _OS_802_11_BSSID_LIST_EX
{
TI_UINT32 NumberOfItems;
OS_802_11_BSSID_EX Bssid[1];
} OS_802_11_BSSID_LIST_EX, *POS_802_11_BSSID_LIST_EX;
typedef TI_UINT32 OS_802_11_FRAGMENTATION_THRESHOLD;
typedef TI_UINT32 OS_802_11_RTS_THRESHOLD;
typedef TI_UINT32 OS_802_11_ANTENNA;
/*Length */
/* Specifies the length of the NDIS_802_11_WEP structure in bytes. */
/*KeyIndex */
/* Specifies which key to add or remove. The global keys are represented */
/* by values of zero to n. When the most significant bit is set to 1, */
/* it indicates the key used to transmit to the access point. */
/*KeyLength */
/* Specifies the length of the KeyMaterial character array in bytes. */
/*KeyMaterial */
/* Specifies an arraythat identifies the WEP key. The length of this array is */
/* variable and depends upon the value of the KeyLength member. */
typedef TI_UINT32 OS_802_11_KEY_INDEX;
typedef struct _OS_802_11_WEP
{
TI_UINT32 Length;
TI_UINT32 KeyIndex;
TI_UINT32 KeyLength;
TI_UINT8 KeyMaterial [32];
} OS_802_11_WEP, *POS_802_11_WEP;
/* Key mapping keys require a BSSID*/
/*typedef tiUINT64 OS_802_11_KEY_RSC;*/
typedef struct _OS_802_11_KEY
{
TI_UINT32 Length; /* Length of this structure*/
TI_UINT32 KeyIndex;
TI_UINT32 KeyLength; /* length of key in bytes*/
TMacAddr BSSID;
OS_802_11_KEY_RSC KeyRSC;
TI_UINT8 KeyMaterial[32]; /* variable length depending on above field*/
} OS_802_11_KEY, *POS_802_11_KEY;
typedef struct _OS_802_11_REMOVE_KEY
{
TI_UINT32 Length; /* Length of this structure*/
TI_UINT32 KeyIndex;
TMacAddr BSSID;
} OS_802_11_REMOVE_KEY, *POS_802_11_REMOVE_KEY;
#define OS_802_11_AI_REQFI_CAPABILITIES 1
#define OS_802_11_AI_REQFI_LISTENINTERVAL 2
#define OS_802_11_AI_REQFI_CURRENTAPADDRESS 4
#define OS_802_11_AI_RESFI_CAPABILITIES 1
#define OS_802_11_AI_RESFI_STATUSCODE 2
#define OS_802_11_AI_RESFI_ASSOCIATIONID 4
typedef struct _OS_802_11_AI_REQFI
{
TI_UINT16 Capabilities;
TI_UINT16 ListenInterval;
TMacAddr CurrentAPAddress;
#ifndef _WINDOWS
TI_UINT16 reserved; /* added for packing */
#endif
} OS_802_11_AI_REQFI;
typedef struct _OS_802_11_AI_RESFI
{
TI_UINT16 Capabilities;
TI_UINT16 StatusCode;
TI_UINT16 AssociationId;
#ifndef _WINDOWS
TI_UINT16 reserved; /* added for packing */
#endif
} OS_802_11_AI_RESFI;
typedef struct _OS_802_11_ASSOCIATION_INFORMATION
{
TI_UINT32 Length;
TI_UINT16 AvailableRequestFixedIEs;
OS_802_11_AI_REQFI RequestFixedIEs;
TI_UINT32 RequestIELength;
TI_UINT32 OffsetRequestIEs;
TI_UINT16 AvailableResponseFixedIEs;
OS_802_11_AI_RESFI ResponseFixedIEs;
TI_UINT32 ResponseIELength;
TI_UINT32 OffsetResponseIEs;
} OS_802_11_ASSOCIATION_INFORMATION, *POS_802_11_ASSOCIATION_INFORMATION;
/* supported EAP types*/
typedef enum _OS_802_11_EAP_TYPES
{
OS_EAP_TYPE_NONE = -1,
OS_EAP_TYPE_MD5_CHALLENGE = 4,
OS_EAP_TYPE_GENERIC_TOKEN_CARD = 6,
OS_EAP_TYPE_TLS = 13,
OS_EAP_TYPE_LEAP = 17,
OS_EAP_TYPE_TTLS = 21,
OS_EAP_TYPE_PEAP = 25,
OS_EAP_TYPE_MS_CHAP_V2 = 26,
OS_EAP_TYPE_FAST = 43
} OS_802_11_EAP_TYPES;
/* encryption type*/
typedef enum _OS_802_11_ENCRYPTION_TYPES
{
OS_ENCRYPTION_TYPE_NONE = 0,
OS_ENCRYPTION_TYPE_WEP,
OS_ENCRYPTION_TYPE_TKIP,
OS_ENCRYPTION_TYPE_AES
} OS_802_11_ENCRYPTION_TYPES;
/* Key type*/
typedef enum _OS_802_11_KEY_TYPES
{
OS_KEY_TYPE_STATIC = 0,
OS_KEY_TYPE_DYNAMIC
} OS_802_11_KEY_TYPES;
/* ELP mode*/
typedef enum _OS_802_11_ELP_MODES
{
OS_ELP_MODE_DISABLE,
OS_ELP_MODE_SYNC,
OS_ELP_MODE_NON_SYNC
} OS_802_11_ELP_MODES;
/* Roaming mode*/
typedef enum _OS_802_11_ROAMING_MODES
{
OS_ROAMING_MODE_DISABLE,
OS_ROAMING_MODE_ENABLE
} OS_802_11_ROAMING_MODES;
typedef enum _OS_802_11_POWER_PROFILE
{
OS_POWER_MODE_AUTO,
OS_POWER_MODE_ACTIVE,
OS_POWER_MODE_SHORT_DOZE,
OS_POWER_MODE_LONG_DOZE
} OS_802_11_POWER_PROFILE;
typedef enum _OS_802_11_POWER_LEVELS
{
OS_POWER_LEVEL_ELP,
OS_POWER_LEVEL_PD,
OS_POWER_LEVEL_AWAKE
} OS_802_11_POWER_LEVELS;
typedef enum _OS_802_11_BEACON_FILTER_MODE
{
OS_BEACON_FILTER_MODE_INACTIVE,
OS_BEACON_FILTER_MODE_ACTIVE
} OS_802_11_BEACON_FILTER_MODE;
typedef enum _OS_802_11_SCAN_TYPES
{
OS_SCAN_TYPE_PASSIVE,
OS_SCAN_TYPE_BROADCAST,
OS_SCAN_TYPE_UNICAST
} OS_802_11_SCAN_TYPES;
typedef enum _OS_802_11_VOICE_DELIVERY_PROTOCOL
{
OS_VOICE_DELIVERY_PROTOCOL_DISABLED,
OS_VOICE_DELIVERY_PROTOCOL_PS_POLL
} OS_802_11_VOICE_DELIVERY_PROTOCOL;
typedef struct _OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS
{
TI_UINT32 uHighThreshold;
TI_UINT32 uLowThreshold;
TI_UINT32 TestInterval;
} OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS;
typedef struct{
TI_UINT32 uHighOrLowThresholdFlag; /* high or low */
TI_UINT32 uAboveOrBelowFlag; /* direction of crossing */
} OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_CROSS_INDICATION_PARAMS;
typedef TI_UINT8 OS_802_11_PMKID_VALUE[16];
typedef struct _OS_BSSIDInfo
{
TMacAddr BSSID;
OS_802_11_PMKID_VALUE PMKID;
} OS_BSSIDInfo, *POS_BSSIDInfo;
typedef struct _OS_802_11_PMKID
{
TI_UINT32 Length;
TI_UINT32 BSSIDInfoCount;
OS_BSSIDInfo osBSSIDInfo[1];
} OS_802_11_PMKID, *POS_802_11_PMKID;
typedef enum _OS_802_11_WEP_STATUS
{
os802_11WEPEnabled = 0,
os802_11Encryption1Enabled = os802_11WEPEnabled,
os802_11WEPDisabled,
os802_11EncryptionDisabled = os802_11WEPDisabled,
os802_11WEPKeyAbsent,
os802_11Encryption1KeyAbsent = os802_11WEPKeyAbsent,
os802_11WEPNotSupported,
os802_11EncryptionNotSupported = os802_11WEPNotSupported,
os802_11Encryption2Enabled,
os802_11Encryption2KeyAbsent,
os802_11Encryption3Enabled,
os802_11Encryption3KeyAbsent
} OS_802_11_WEP_STATUS, OS_802_11_ENCRYPTION_STATUS;
/*os802_11AuthModeOpen */
/* Specifies 802.11 open authentication mode. There are no checks when accepting */
/* clients in this mode. */
/*os802_11AuthModeShared */
/* Specifies 802.11 shared authentication that uses a pre-shared wired equivalent */
/* privacy (WEP) key. */
/*os802_11AuthModeAutoSwitch */
/* Specifies auto-switch mode. When using auto-switch mode, the NIC tries 802.11 shared */
/* authentication mode first. If shared mode fails, the NIC attempts to use 802.11 open */
/* authentication mode. */
typedef enum _OS_802_11_AUTHENTICATION_MODE
{
os802_11AuthModeOpen,
os802_11AuthModeShared,
os802_11AuthModeAutoSwitch,
os802_11AuthModeWPA,
os802_11AuthModeWPAPSK,
os802_11AuthModeWPANone,
os802_11AuthModeWPA2,
os802_11AuthModeWPA2PSK,
os802_11AuthModeMax
} OS_802_11_AUTHENTICATION_MODE;
/*os802_11PrivFilterAcceptAll */
/* Specifies an open mode. In this mode, the NIC accepts any packet if the packet */
/* is not encrypted or if the NIC successfully decrypts it. */
/*os802_11PrivFilter8021xWEP */
/* Specifies a filtering mode. In the 802.1X filtering mode, 802.1X packets are */
/* accepted even if they are not encrypted. However, the NIC accepts nothing else */
/* unless it is encrypted using WEP. */
typedef enum _OS_802_11_PRIVACY_FILTER
{
os802_11PrivFilterAcceptAll,
os802_11PrivFilter8021xWEP
} OS_802_11_PRIVACY_FILTER;
typedef enum _OS_802_11_RELOAD_DEFAULTS
{
os802_11ReloadWEPKeys
} OS_802_11_RELOAD_DEFAULTS, *POS_802_11_RELOAD_DEFAULTS;
typedef enum _OS_802_11_STATUS_TYPE
{
os802_11StatusType_Authentication,
os802_11StatusType_PMKID_CandidateList = 2,
os802_11StatusTypeMax /* not a real type, defined as an upper bound */
} OS_802_11_STATUS_TYPE, *POS_802_11_STATUS_TYPE;
typedef struct _OS_802_11_STATUS_INDICATION
{
OS_802_11_STATUS_TYPE StatusType;
} OS_802_11_STATUS_INDICATION, *POS_802_11_STATUS_INDICATION;
typedef struct _OS_802_11_AUTHENTICATION_REQUEST
{
TI_UINT32 Length; /* Length of this structure*/
TMacAddr BSSID;
TI_UINT32 Flags;
} OS_802_11_AUTHENTICATION_REQUEST, *POS_802_11_AUTHENTICATION_REQUEST;
typedef enum
{
OS_DISASSOC_STATUS_UNSPECIFIED = 0,
OS_DISASSOC_STATUS_AUTH_REJECT = 1,
OS_DISASSOC_STATUS_ASSOC_REJECT = 2,
OS_DISASSOC_STATUS_SECURITY_FAILURE = 3,
OS_DISASSOC_STATUS_AP_DEAUTHENTICATE = 4,
OS_DISASSOC_STATUS_AP_DISASSOCIATE = 5,
OS_DISASSOC_STATUS_ROAMING_TRIGGER = 6
} OS_802_11_DISASSOCIATE_REASON_E;
typedef struct
{
OS_802_11_DISASSOCIATE_REASON_E eDisAssocType;
TI_UINT32 uStatusCode;
} OS_802_11_DISASSOCIATE_REASON_T;
#define OS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLE 0x01
typedef struct _OS_802_11_PMKID_CANDIDATE
{
TMacAddr BSSID;
TI_UINT32 Flags;
} OS_802_11_PMKID_CANDIDATE, *POS_802_11_PMKID_CANDIDATE;
typedef struct _OS_802_11_PMKID_CANDIDATELIST
{
TI_UINT32 Version; /* Version of the structure*/
TI_UINT32 NumCandidates; /* No. of pmkid candidates*/
OS_802_11_PMKID_CANDIDATE CandidateList[1];
} OS_802_11_PMKID_CANDIDATELIST, *POS_802_11_PMKID_CANDIDATELIST;
typedef TI_UINT8 OS_802_11_MAC_PMKID_VALUE[16];
typedef struct _OS_802_11_BSSIDInfo
{
TMacAddr BSSID;
OS_802_11_MAC_PMKID_VALUE PMKID;
} OS_802_11_BSSIDInfo, *POS_802_11_BSSIDInfo;
typedef struct _OS_802_11_AUTH_ENCRYPTION
{
OS_802_11_AUTHENTICATION_MODE AuthModeSupported;
OS_802_11_ENCRYPTION_STATUS EncryptionStatusSupported;
} OS_802_11_AUTH_ENCRYPTION, *POS_802_11_AUTH_ENCRYPTION;
typedef struct _OS_802_11_CAPABILITY
{
TI_UINT32 Length;
TI_UINT32 Version;
TI_UINT32 NoOfPmKIDs;
TI_UINT32 NoOfAuthEncryptPairsSupported;
OS_802_11_AUTH_ENCRYPTION AuthEncryptionSupported[1];
} OS_802_11_CAPABILITY, *POS_802_11_CAPABILITY;
#define OID_CAPABILITY_VERSION 2
typedef enum _OS_802_11_REG_DOMAIN
{
os802_11_Domain_FCC = 0x10,
os802_11_Domain_IC = 0x20,
os802_11_Domain_ETSI = 0x30,
os802_11_Domain_Spain = 0x31,
os802_11_Domain_France = 0x32,
os802_11_Domain_MKK = 0x40,
os802_11_Domain_MKK1 = 0x41,
os802_11_Domain_US = 0x50,
os802_11_Domain_WB = 0x51,
os802_11_Domain_EXWB = 0x52
} OS_802_11_REG_DOMAIN;
#define OID_TI_VERSION 0xFF080001
/* propritary OIDs used by FUNK supplicant for WPA Mixed mode support*/
/* WPA2 MIxed mode OIDs */
#define CGUID_FSW_802_11_AVAILABLE_OPTIONS {0x1a905534, 0xe71f, 0x46d1, {0xa2, 0xcb, 0xa5, 0x57, 0x01, 0x76, 0x38, 0xfd}}
#define CGUID_FSW_802_11_OPTIONS {0xdc7a51b7, 0x2236, 0x467d, {0xb1, 0x55, 0x03, 0x50, 0x42, 0x04, 0xcf, 0x30}}
#define OID_FSW_802_11_AVAILABLE_OPTIONS 0xFF010237
#define OID_FSW_802_11_OPTIONS 0xFF010238
/**/
/* IEEE 802.11 OIDs*/
/**/
#define OID_802_11_BSSID 0x0D010101
#define OID_802_11_SSID 0x0D010102
#define OID_802_11_INFRASTRUCTURE_MODE 0x0D010108
#define OID_802_11_ADD_WEP 0x0D010113
#define OID_802_11_REMOVE_WEP 0x0D010114
#define OID_802_11_DISASSOCIATE 0x0D010115
#define OID_802_11_AUTHENTICATION_MODE 0x0D010118
#define OID_802_11_PRIVACY_FILTER 0x0D010119
#define OID_802_11_BSSID_LIST_SCAN 0x0D01011A
#define OID_802_11_WEP_STATUS 0x0D01011B
#define OID_802_11_RELOAD_DEFAULTS 0x0D01011C
#define OID_802_11_ADD_KEY 0x0D01011D
#define OID_802_11_REMOVE_KEY 0x0D01011E
#define OID_802_11_ASSOCIATION_INFORMATION 0x0D01011F
#define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0D010203
#define OID_802_11_NETWORK_TYPE_IN_USE 0x0D010204
#define OID_802_11_TX_POWER_LEVEL 0x0D010205
#define OID_802_11_RSSI 0x0D010206
#define OID_802_11_RSSI_TRIGGER 0x0D010207
#define OID_802_11_FRAGMENTATION_THRESHOLD 0x0D010209
#define OID_802_11_RTS_THRESHOLD 0x0D01020A
#define OID_802_11_NUMBER_OF_ANTENNAS 0x0D01020B
#define OID_802_11_RX_ANTENNA_SELECTED 0x0D01020C
#define OID_802_11_TX_ANTENNA_SELECTED 0x0D01020D
#define OID_802_11_SUPPORTED_RATES 0x0D01020E
#define OID_802_11_DESIRED_RATES 0x0D010210
#define OID_802_11_CONFIGURATION 0x0D010211
#define OID_802_11_STATISTICS 0x0D020212
#define OID_802_11_POWER_MODE 0x0D010216
#define OID_802_11_BSSID_LIST 0x0D010217
#ifndef _USER_MODE
#include "osdot11nousermode.h"
#endif
/* AnyWPA mode flags used in propritary FUNK suplicant OIDs*/
#define OS_802_11_OPTION_ENABLE_PROMOTE_MODE 0x00000001 /*bit 0*/
#define OS_802_11_OPTION_ENABLE_PROMOTE_CIPHER 0x00000002 /*bit 1*/
#define OS_802_11_OPTION_DISABLE_PROMOTE_MODE 0
#define OS_802_11_OPTION_ENABLE_ALL 0x00000003
#endif