diff -r 000000000000 -r 10c42ec6c05f utils/osDot11.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utils/osDot11.h Tue Jun 29 12:34:26 2010 +0100 @@ -0,0 +1,690 @@ +/* + * osDot11.h + * + * Copyright(c) 1998 - 2010 Texas Instruments. All rights reserved. + * All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 or BSD License which accompanies + * this distribution. The Eclipse Public License is available at + * http://www.eclipse.org/legal/epl-v10.html and the BSD License is as below. + * + * 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 && \ + (str)[0] < OS_802_11_SSID_FIRST_VALID_CHAR && \ + (str)[1] < OS_802_11_SSID_FIRST_VALID_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; + TI_UINT16 reserved; /* added for packing */ + +} 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 +