164064216a8433360745f69edddce19a606659163The Android Open Source Project/****************************************************************************
264064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+**
364064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
464064216a8433360745f69edddce19a606659163The Android Open Source Project**| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
564064216a8433360745f69edddce19a606659163The Android Open Source Project**| All rights reserved.                                                  |**
664064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
764064216a8433360745f69edddce19a606659163The Android Open Source Project**| Redistribution and use in source and binary forms, with or without    |**
864064216a8433360745f69edddce19a606659163The Android Open Source Project**| modification, are permitted provided that the following conditions    |**
964064216a8433360745f69edddce19a606659163The Android Open Source Project**| are met:                                                              |**
1064064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
1164064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Redistributions of source code must retain the above copyright     |**
1264064216a8433360745f69edddce19a606659163The Android Open Source Project**|    notice, this list of conditions and the following disclaimer.      |**
1364064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Redistributions in binary form must reproduce the above copyright  |**
1464064216a8433360745f69edddce19a606659163The Android Open Source Project**|    notice, this list of conditions and the following disclaimer in    |**
1564064216a8433360745f69edddce19a606659163The Android Open Source Project**|    the documentation and/or other materials provided with the         |**
1664064216a8433360745f69edddce19a606659163The Android Open Source Project**|    distribution.                                                      |**
1764064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Neither the name Texas Instruments nor the names of its            |**
1864064216a8433360745f69edddce19a606659163The Android Open Source Project**|    contributors may be used to endorse or promote products derived    |**
1964064216a8433360745f69edddce19a606659163The Android Open Source Project**|    from this software without specific prior written permission.      |**
2064064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
2164064216a8433360745f69edddce19a606659163The Android Open Source Project**| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
2264064216a8433360745f69edddce19a606659163The Android Open Source Project**| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
2364064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
2464064216a8433360745f69edddce19a606659163The Android Open Source Project**| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
2564064216a8433360745f69edddce19a606659163The Android Open Source Project**| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
2664064216a8433360745f69edddce19a606659163The Android Open Source Project**| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
2764064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
2864064216a8433360745f69edddce19a606659163The Android Open Source Project**| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
2964064216a8433360745f69edddce19a606659163The Android Open Source Project**| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
3064064216a8433360745f69edddce19a606659163The Android Open Source Project**| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
3164064216a8433360745f69edddce19a606659163The Android Open Source Project**| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
3264064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
3364064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+**
3464064216a8433360745f69edddce19a606659163The Android Open Source Project****************************************************************************/
3564064216a8433360745f69edddce19a606659163The Android Open Source Project
3664064216a8433360745f69edddce19a606659163The Android Open Source Project/*--------------------------------------------------------------------------*/
3764064216a8433360745f69edddce19a606659163The Android Open Source Project/* Module:		osDot11.h                                           */
3864064216a8433360745f69edddce19a606659163The Android Open Source Project/*                                                                          */
3964064216a8433360745f69edddce19a606659163The Android Open Source Project/* Purpose:                                                                 */
4064064216a8433360745f69edddce19a606659163The Android Open Source Project/*                                                                          */
4164064216a8433360745f69edddce19a606659163The Android Open Source Project/*--------------------------------------------------------------------------*/
4264064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef __OSDOT11_H__
4364064216a8433360745f69edddce19a606659163The Android Open Source Project#define __OSDOT11_H__
4464064216a8433360745f69edddce19a606659163The Android Open Source Project
4564064216a8433360745f69edddce19a606659163The Android Open Source Project#include "osTIType.h"
4664064216a8433360745f69edddce19a606659163The Android Open Source Project#include "tiQosTypes.h"
4764064216a8433360745f69edddce19a606659163The Android Open Source Project/*#include "public_types.h"*/
4864064216a8433360745f69edddce19a606659163The Android Open Source Project
4964064216a8433360745f69edddce19a606659163The Android Open Source Project
5064064216a8433360745f69edddce19a606659163The Android Open Source Project#define     MAC_ADDR_LEN            6
5164064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( macAddress_t,
5264064216a8433360745f69edddce19a606659163The Android Open Source Project
5364064216a8433360745f69edddce19a606659163The Android Open Source Project  UINT8 addr[MAC_ADDR_LEN];
5464064216a8433360745f69edddce19a606659163The Android Open Source Project);
5564064216a8433360745f69edddce19a606659163The Android Open Source Project
5664064216a8433360745f69edddce19a606659163The Android Open Source Project
5764064216a8433360745f69edddce19a606659163The Android Open Source Project
5864064216a8433360745f69edddce19a606659163The Android Open Source Project#define	OS_STATUS_MEDIA_SPECIFIC_INDICATION	((NDIS_STATUS)0x40010012L)
5964064216a8433360745f69edddce19a606659163The Android Open Source Project
6064064216a8433360745f69edddce19a606659163The Android Open Source Project#define OS_802_11_REQUEST_REAUTH					0x01
6164064216a8433360745f69edddce19a606659163The Android Open Source Project#define OS_802_11_REQUEST_KEYUPDATE					0x02
6264064216a8433360745f69edddce19a606659163The Android Open Source Project#define OS_802_11_REQUEST_PAIRWISE_ERROR			0x06
6364064216a8433360745f69edddce19a606659163The Android Open Source Project#define OS_802_11_REQUEST_GROUP_ERROR				0x0E
6464064216a8433360745f69edddce19a606659163The Android Open Source Project
6564064216a8433360745f69edddce19a606659163The Android Open Source Project/**/
6664064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Per-packet information for Ieee8021QInfo.*/
6764064216a8433360745f69edddce19a606659163The Android Open Source Project/**/
6864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct _OS_PACKET_8021Q_INFO
6964064216a8433360745f69edddce19a606659163The Android Open Source Project{
7064064216a8433360745f69edddce19a606659163The Android Open Source Project    union
7164064216a8433360745f69edddce19a606659163The Android Open Source Project    {
7264064216a8433360745f69edddce19a606659163The Android Open Source Project        struct
7364064216a8433360745f69edddce19a606659163The Android Open Source Project        {
7464064216a8433360745f69edddce19a606659163The Android Open Source Project            UINT32      UserPriority:3;         /* 802.1p priority*/
7564064216a8433360745f69edddce19a606659163The Android Open Source Project            UINT32      CanonicalFormatId:1;    /* always 0*/
7664064216a8433360745f69edddce19a606659163The Android Open Source Project            UINT32      VlanId:12;              /* VLAN Identification*/
7764064216a8433360745f69edddce19a606659163The Android Open Source Project            UINT32      Reserved:16;            /* set to 0*/
7864064216a8433360745f69edddce19a606659163The Android Open Source Project        }   TagHeader;
7964064216a8433360745f69edddce19a606659163The Android Open Source Project
8064064216a8433360745f69edddce19a606659163The Android Open Source Project        PVOID  Value;
8164064216a8433360745f69edddce19a606659163The Android Open Source Project    }u;
8264064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_PACKET_8021Q_INFO, *POS_PACKET_8021Q_INFO;
8364064216a8433360745f69edddce19a606659163The Android Open Source Project
8464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef tiUINT8 OS_802_11_MAC_ADDRESS[6];
8564064216a8433360745f69edddce19a606659163The Android Open Source Project
8664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef tiULONGLONG OS_802_11_KEY_RSC;
8764064216a8433360745f69edddce19a606659163The Android Open Source Project
8864064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_SSID,
8964064216a8433360745f69edddce19a606659163The Android Open Source Project
9064064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 SsidLength;
9164064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT8  Ssid[32];
9264064216a8433360745f69edddce19a606659163The Android Open Source Project);
9364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_SSID OS_802_11_SSID, *POS_802_11_SSID;
9464064216a8433360745f69edddce19a606659163The Android Open Source Project
9564064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_NETWORK_TYPE
9664064216a8433360745f69edddce19a606659163The Android Open Source Project{
9764064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11FH,
9864064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11DS,
9964064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11OFDM5,
10064064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11OFDM24,
10164064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11Automode,
10264064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11NetworkTypeMax
10364064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_NETWORK_TYPE;
10464064216a8433360745f69edddce19a606659163The Android Open Source Project
10564064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_NETWORK_TYPE_LIST ,
10664064216a8433360745f69edddce19a606659163The Android Open Source Project
10764064216a8433360745f69edddce19a606659163The Android Open Source Project  tiUINT32                  NumberOfItems;
10864064216a8433360745f69edddce19a606659163The Android Open Source Project  OS_802_11_NETWORK_TYPE NetworkType [1];
10964064216a8433360745f69edddce19a606659163The Android Open Source Project);
11064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_NETWORK_TYPE_LIST OS_802_11_NETWORK_TYPE_LIST, *POS_802_11_NETWORK_TYPE_LIST;
11164064216a8433360745f69edddce19a606659163The Android Open Source Project
11264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_POWER_MODE
11364064216a8433360745f69edddce19a606659163The Android Open Source Project{
11464064216a8433360745f69edddce19a606659163The Android Open Source Project  /*Continuous access mode (CAM). */
11564064216a8433360745f69edddce19a606659163The Android Open Source Project  /*When the power mode is set to CAM, the device is always on. */
11664064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11PowerModeCAM,
11764064216a8433360745f69edddce19a606659163The Android Open Source Project
11864064216a8433360745f69edddce19a606659163The Android Open Source Project  /*Specifies maximum (MAX) power saving. A power mode of MAX */
11964064216a8433360745f69edddce19a606659163The Android Open Source Project  /*results in the greatest power savings for the 802.11 NIC radio. */
12064064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11PowerModeMAX_PSP,
12164064216a8433360745f69edddce19a606659163The Android Open Source Project
12264064216a8433360745f69edddce19a606659163The Android Open Source Project  /*Specifies fast power-saving mode. This power mode provides */
12364064216a8433360745f69edddce19a606659163The Android Open Source Project  /*the best combination of network performance and power usage. */
12464064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11PowerModeFast_PSP,
12564064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11PowerModeMax
12664064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_POWER_MODE;
12764064216a8433360745f69edddce19a606659163The Android Open Source Project
12864064216a8433360745f69edddce19a606659163The Android Open Source Project/*specified in milliwatts (mW).*/
12964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef tiUINT32 OS_802_11_TX_POWER_LEVEL;
13064064216a8433360745f69edddce19a606659163The Android Open Source Project
13164064216a8433360745f69edddce19a606659163The Android Open Source Project/*Normal value from -10 and -200*/
13264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef INT32 OS_802_11_RSSI;
13364064216a8433360745f69edddce19a606659163The Android Open Source Project
13464064216a8433360745f69edddce19a606659163The Android Open Source Project/*Length */
13564064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies the length of the OS_802_11_CONFIGURATION_FH structure in bytes. */
13664064216a8433360745f69edddce19a606659163The Android Open Source Project/*HopPattern*/
13764064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies the hop pattern used to determine the hop sequence. */
13864064216a8433360745f69edddce19a606659163The Android Open Source Project/*  As defined by the 802.11 standard, the layer management entity (LME) of */
13964064216a8433360745f69edddce19a606659163The Android Open Source Project/*  the physical layer uses a hop pattern to determine the hop sequence. */
14064064216a8433360745f69edddce19a606659163The Android Open Source Project/*HopSet*/
14164064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies a set of patterns. The LME of the physical layer uses these */
14264064216a8433360745f69edddce19a606659163The Android Open Source Project/*  patterns to determine the hop sequence. */
14364064216a8433360745f69edddce19a606659163The Android Open Source Project/*DwellTime*/
14464064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies the maximum period of time during which the transmitter */
14564064216a8433360745f69edddce19a606659163The Android Open Source Project/*  should remain fixed on a channel. This interval is described in Kµsec (1024 µsec). */
14664064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_CONFIGURATION_FH ,
14764064216a8433360745f69edddce19a606659163The Android Open Source Project
14864064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32  Length;
14964064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32  HopPattern;
15064064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32  HopSet;
15164064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32  DwellTime;
15264064216a8433360745f69edddce19a606659163The Android Open Source Project);
15364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_CONFIGURATION_FH OS_802_11_CONFIGURATION_FH, *POS_802_11_CONFIGURATION_FH;
15464064216a8433360745f69edddce19a606659163The Android Open Source Project
15564064216a8433360745f69edddce19a606659163The Android Open Source Project/*Length */
15664064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies the length of the NDIS_802_11_CONFIGURATION structure in bytes. */
15764064216a8433360745f69edddce19a606659163The Android Open Source Project/*BeaconPeriod */
15864064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies the interval between beacon message transmissions. */
15964064216a8433360745f69edddce19a606659163The Android Open Source Project/*  This value is specified in Kµsec (1024 µsec). */
16064064216a8433360745f69edddce19a606659163The Android Open Source Project/*ATIMWindow */
16164064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies the announcement traffic information message (ATIM) window in */
16264064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Kµsec (1024 µsec). The ATIM window is a short time period immediately */
16364064216a8433360745f69edddce19a606659163The Android Open Source Project/*  after the transmission of each beacon in an IBSS configuration. */
16464064216a8433360745f69edddce19a606659163The Android Open Source Project/*  During the ATIM window, any station can indicate the need to transfer data */
16564064216a8433360745f69edddce19a606659163The Android Open Source Project/*  to another station during the following data-transmission window. */
16664064216a8433360745f69edddce19a606659163The Android Open Source Project/*DSConfig */
16764064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies the frequency of the selected channel in kHz. */
16864064216a8433360745f69edddce19a606659163The Android Open Source Project/*FHConfig */
16964064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies the frequency hopping configuration in an OS_802_11_CONFIGURATION_FH structure. */
17064064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS
17164064216a8433360745f69edddce19a606659163The Android Open Source Project#else
17264064216a8433360745f69edddce19a606659163The Android Open Source Project  PACKED_STRUCT( _OS_802_11_CONFIGURATION ,
17364064216a8433360745f69edddce19a606659163The Android Open Source Project
17464064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 Length;
17564064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 BeaconPeriod;
17664064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 ATIMWindow;
17764064216a8433360745f69edddce19a606659163The Android Open Source Project     PACKED_UNION(Union,
17864064216a8433360745f69edddce19a606659163The Android Open Source Project        tiUINT32 DSConfig;
17964064216a8433360745f69edddce19a606659163The Android Open Source Project        tiUINT32 channel;
18064064216a8433360745f69edddce19a606659163The Android Open Source Project     );
18164064216a8433360745f69edddce19a606659163The Android Open Source Project
18264064216a8433360745f69edddce19a606659163The Android Open Source Project  OS_802_11_CONFIGURATION_FH FHConfig;
18364064216a8433360745f69edddce19a606659163The Android Open Source Project  );
18464064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
18564064216a8433360745f69edddce19a606659163The Android Open Source Project
18664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_CONFIGURATION OS_802_11_CONFIGURATION, *POS_802_11_CONFIGURATION;
18764064216a8433360745f69edddce19a606659163The Android Open Source Project
18864064216a8433360745f69edddce19a606659163The Android Open Source Project/*Ndis802_11IBSS */
18964064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies the independent basic service set (IBSS) mode. */
19064064216a8433360745f69edddce19a606659163The Android Open Source Project/*  This mode is also known as ad hoc mode. */
19164064216a8433360745f69edddce19a606659163The Android Open Source Project/*Ndis802_11Infrastructure */
19264064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies the infrastructure mode. */
19364064216a8433360745f69edddce19a606659163The Android Open Source Project/*Ndis802_11AutoUnknown */
19464064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies an automatic mode. In this mode, the 802.11 NIC can switch */
19564064216a8433360745f69edddce19a606659163The Android Open Source Project/*  between ad hoc and infrastructure modes as required. */
19664064216a8433360745f69edddce19a606659163The Android Open Source Project/*Ndis802_11HighSpeedIBSS*/
19764064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies proprietary ad hoc mode that works only PBCC.*/
19864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_NETWORK_MODE
19964064216a8433360745f69edddce19a606659163The Android Open Source Project{
20064064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11IBSS,
20164064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11Infrastructure,
20264064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11AutoUnknown,
20364064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11HighSpeedIBSS,
20464064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11InfrastructureMax
20564064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_NETWORK_MODE, OS_802_11_NETWORK_INFRASTRUCTURE,*POS_802_11_NETWORK_INFRASTRUCTURE;
20664064216a8433360745f69edddce19a606659163The Android Open Source Project
20764064216a8433360745f69edddce19a606659163The Android Open Source Project/**/
20864064216a8433360745f69edddce19a606659163The Android Open Source Project/*The rates array contains a set of eight octets. */
20964064216a8433360745f69edddce19a606659163The Android Open Source Project/*Each octet contains a desired data rate in units of .5 Mbps.*/
21064064216a8433360745f69edddce19a606659163The Android Open Source Project/**/
21164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef tiUINT8 OS_802_11_RATES[8];
21264064216a8433360745f69edddce19a606659163The Android Open Source Project
21364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef tiUINT8 OS_802_11_RATES_EX[16];
21464064216a8433360745f69edddce19a606659163The Android Open Source Project
21564064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_FIXED_IEs ,
21664064216a8433360745f69edddce19a606659163The Android Open Source Project
21764064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT8  TimeStamp[8];
21864064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT16 BeaconInterval;
21964064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT16 Capabilities;
22064064216a8433360745f69edddce19a606659163The Android Open Source Project);
22164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_FIXED_IEs OS_802_11_FIXED_IEs, *POS_802_11_FIXED_IEs;
22264064216a8433360745f69edddce19a606659163The Android Open Source Project
22364064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_VARIABLE_IEs ,
22464064216a8433360745f69edddce19a606659163The Android Open Source Project
22564064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT8 ElementID;
22664064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT8 Length;	/* Number of bytes in data field*/
22764064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT8 data[1];
22864064216a8433360745f69edddce19a606659163The Android Open Source Project);
22964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_VARIABLE_IEs OS_802_11_VARIABLE_IEs, *POS_802_11_VARIABLE_IEs;
23064064216a8433360745f69edddce19a606659163The Android Open Source Project
23164064216a8433360745f69edddce19a606659163The Android Open Source Project/*#pragma pack(push)*/
23264064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS
23364064216a8433360745f69edddce19a606659163The Android Open Source Project#else
23464064216a8433360745f69edddce19a606659163The Android Open Source Project  PACKED_STRUCT( _OS_802_11_BSSID	,
23564064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 Length;
23664064216a8433360745f69edddce19a606659163The Android Open Source Project   OS_802_11_MAC_ADDRESS  MacAddress;
23764064216a8433360745f69edddce19a606659163The Android Open Source Project    PACKED_UNION(Union,
23864064216a8433360745f69edddce19a606659163The Android Open Source Project        tiUINT8  Reserved[2];
23964064216a8433360745f69edddce19a606659163The Android Open Source Project        tiUINT16 Capabilities;
24064064216a8433360745f69edddce19a606659163The Android Open Source Project    );
24164064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_SSID  Ssid;
24264064216a8433360745f69edddce19a606659163The Android Open Source Project      tiUINT32                  Privacy;
24364064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_RSSI  Rssi;
24464064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_NETWORK_TYPE  NetworkTypeInUse;
24564064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_CONFIGURATION  Configuration;
24664064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_NETWORK_MODE   InfrastructureMode;
24764064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_RATES  SupportedRates;
24864064216a8433360745f69edddce19a606659163The Android Open Source Project    /*tiUINT32           channel;*/
24964064216a8433360745f69edddce19a606659163The Android Open Source Project  );
25064064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
25164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_BSSID OS_802_11_BSSID, *POS_802_11_BSSID;
25264064216a8433360745f69edddce19a606659163The Android Open Source Project
25364064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_BSSID_LIST ,
25464064216a8433360745f69edddce19a606659163The Android Open Source Project
25564064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32          NumberOfItems;
25664064216a8433360745f69edddce19a606659163The Android Open Source Project  OS_802_11_BSSID  Bssid[1];
25764064216a8433360745f69edddce19a606659163The Android Open Source Project);
25864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_BSSID_LIST OS_802_11_BSSID_LIST, *POS_802_11_BSSID_LIST;
25964064216a8433360745f69edddce19a606659163The Android Open Source Project
26064064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS
26164064216a8433360745f69edddce19a606659163The Android Open Source Project#else
26264064216a8433360745f69edddce19a606659163The Android Open Source Project
26364064216a8433360745f69edddce19a606659163The Android Open Source Project  PACKED_STRUCT( _OS_802_11_BSSID_EX ,
26464064216a8433360745f69edddce19a606659163The Android Open Source Project
26564064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT32                  Length;
26664064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_MAC_ADDRESS  MacAddress;
26764064216a8433360745f69edddce19a606659163The Android Open Source Project	PACKED_UNION(Union,
26864064216a8433360745f69edddce19a606659163The Android Open Source Project		tiUINT8  Reserved[2];
26964064216a8433360745f69edddce19a606659163The Android Open Source Project		tiUINT16 Capabilities;
27064064216a8433360745f69edddce19a606659163The Android Open Source Project	);
27164064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_SSID  Ssid;
27264064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT32                  Privacy;
27364064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_RSSI  Rssi;
27464064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_NETWORK_TYPE  NetworkTypeInUse;
27564064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_CONFIGURATION  Configuration;
27664064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_NETWORK_MODE   InfrastructureMode;
27764064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_RATES_EX  SupportedRates;
27864064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT32                  IELength;
27964064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT8                   IEs[1];
28064064216a8433360745f69edddce19a606659163The Android Open Source Project  );
28164064216a8433360745f69edddce19a606659163The Android Open Source Project
28264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
28364064216a8433360745f69edddce19a606659163The Android Open Source Project
28464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_BSSID_EX OS_802_11_BSSID_EX, *POS_802_11_BSSID_EX, OS_WLAN_BSSID_EX, *POS_WLAN_BSSID_EX;
28564064216a8433360745f69edddce19a606659163The Android Open Source Project
28664064216a8433360745f69edddce19a606659163The Android Open Source Project
28764064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_BSSID_LIST_EX	,
28864064216a8433360745f69edddce19a606659163The Android Open Source Project
28964064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32              NumberOfItems;
29064064216a8433360745f69edddce19a606659163The Android Open Source Project  OS_802_11_BSSID_EX  Bssid[1];
29164064216a8433360745f69edddce19a606659163The Android Open Source Project);
29264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_BSSID_LIST_EX OS_802_11_BSSID_LIST_EX, *POS_802_11_BSSID_LIST_EX;
29364064216a8433360745f69edddce19a606659163The Android Open Source Project
29464064216a8433360745f69edddce19a606659163The Android Open Source Project/*#pragma pack(pop)*/
29564064216a8433360745f69edddce19a606659163The Android Open Source Project
29664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef tiUINT32 OS_802_11_FRAGMENTATION_THRESHOLD;
29764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef tiUINT32 OS_802_11_RTS_THRESHOLD;
29864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef tiUINT32 OS_802_11_ANTENNA;
29964064216a8433360745f69edddce19a606659163The Android Open Source Project
30064064216a8433360745f69edddce19a606659163The Android Open Source Project
30164064216a8433360745f69edddce19a606659163The Android Open Source Project/*Length */
30264064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies the length of the NDIS_802_11_WEP structure in bytes. */
30364064216a8433360745f69edddce19a606659163The Android Open Source Project/*KeyIndex */
30464064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies which key to add or remove. The global keys are represented */
30564064216a8433360745f69edddce19a606659163The Android Open Source Project/*  by values of zero to n. When the most significant bit is set to 1, */
30664064216a8433360745f69edddce19a606659163The Android Open Source Project/*  it indicates the key used to transmit to the access point. */
30764064216a8433360745f69edddce19a606659163The Android Open Source Project/*KeyLength */
30864064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies the length of the KeyMaterial character array in bytes. */
30964064216a8433360745f69edddce19a606659163The Android Open Source Project/*KeyMaterial */
31064064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies an arraythat identifies the WEP key. The length of this array is */
31164064216a8433360745f69edddce19a606659163The Android Open Source Project/*  variable and depends upon the value of the KeyLength member. */
31264064216a8433360745f69edddce19a606659163The Android Open Source Project
31364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef tiUINT32 OS_802_11_KEY_INDEX;
31464064216a8433360745f69edddce19a606659163The Android Open Source Project
31564064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_WEP ,
31664064216a8433360745f69edddce19a606659163The Android Open Source Project
31764064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 Length;
31864064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 KeyIndex;
31964064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 KeyLength;
32064064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT8  KeyMaterial [32];
32164064216a8433360745f69edddce19a606659163The Android Open Source Project);
32264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_WEP OS_802_11_WEP, *POS_802_11_WEP;
32364064216a8433360745f69edddce19a606659163The Android Open Source Project
32464064216a8433360745f69edddce19a606659163The Android Open Source Project/* Key mapping keys require a BSSID*/
32564064216a8433360745f69edddce19a606659163The Android Open Source Project/*typedef tiUINT64 OS_802_11_KEY_RSC;*/
32664064216a8433360745f69edddce19a606659163The Android Open Source Project
32764064216a8433360745f69edddce19a606659163The Android Open Source Project/*#pragma pack(0)*/
32864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct _OS_802_11_KEY
32964064216a8433360745f69edddce19a606659163The Android Open Source Project{
33064064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32                  Length;             /* Length of this structure*/
33164064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32                  KeyIndex;
33264064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32                  KeyLength;          /* length of key in bytes*/
33364064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_MAC_ADDRESS BSSID;
33464064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_KEY_RSC KeyRSC;
33564064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT8                   KeyMaterial[32];     /* variable length depending on above field*/
33664064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_KEY, *POS_802_11_KEY;
33764064216a8433360745f69edddce19a606659163The Android Open Source Project/*#pragma pack()*/
33864064216a8433360745f69edddce19a606659163The Android Open Source Project
33964064216a8433360745f69edddce19a606659163The Android Open Source Project/*#pragma pack(1)*/
34064064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_REMOVE_KEY ,
34164064216a8433360745f69edddce19a606659163The Android Open Source Project
34264064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32                  Length;             /* Length of this structure*/
34364064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32                  KeyIndex;
34464064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_MAC_ADDRESS BSSID;
34564064216a8433360745f69edddce19a606659163The Android Open Source Project);
34664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_REMOVE_KEY OS_802_11_REMOVE_KEY, *POS_802_11_REMOVE_KEY;
34764064216a8433360745f69edddce19a606659163The Android Open Source Project/*#pragma pack()*/
34864064216a8433360745f69edddce19a606659163The Android Open Source Project
34964064216a8433360745f69edddce19a606659163The Android Open Source Project#define OS_802_11_AI_REQFI_CAPABILITIES     1
35064064216a8433360745f69edddce19a606659163The Android Open Source Project#define OS_802_11_AI_REQFI_LISTENINTERVAL   2
35164064216a8433360745f69edddce19a606659163The Android Open Source Project#define OS_802_11_AI_REQFI_CURRENTAPADDRESS 4
35264064216a8433360745f69edddce19a606659163The Android Open Source Project
35364064216a8433360745f69edddce19a606659163The Android Open Source Project
35464064216a8433360745f69edddce19a606659163The Android Open Source Project#define OS_802_11_AI_RESFI_CAPABILITIES     1
35564064216a8433360745f69edddce19a606659163The Android Open Source Project#define OS_802_11_AI_RESFI_STATUSCODE       2
35664064216a8433360745f69edddce19a606659163The Android Open Source Project#define OS_802_11_AI_RESFI_ASSOCIATIONID    4
35764064216a8433360745f69edddce19a606659163The Android Open Source Project
35864064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef GWSI_LIB
35964064216a8433360745f69edddce19a606659163The Android Open Source Project
36064064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _WINDOWS
36164064216a8433360745f69edddce19a606659163The Android Open Source Project#pragma pack(1)
36264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* ifndef _WINDOWS */
36364064216a8433360745f69edddce19a606659163The Android Open Source Project
36464064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS // TRS:AS "reserved field added to OS_802_11_AI_REQFI and OS_802_11_AI_RESFI
36564064216a8433360745f69edddce19a606659163The Android Open Source Project                // structures conflicts with WM expectations and cause a problem with WPA.
36664064216a8433360745f69edddce19a606659163The Android Open Source Project#else  /* ifdef _WINDOWS */
36764064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( OS_802_11_AI_REQFI ,
36864064216a8433360745f69edddce19a606659163The Android Open Source Project
36964064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT16 Capabilities;
37064064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT16 ListenInterval;
37164064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_MAC_ADDRESS  CurrentAPAddress;
37264064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT16 reserved; /* added for packing */
37364064216a8433360745f69edddce19a606659163The Android Open Source Project);
37464064216a8433360745f69edddce19a606659163The Android Open Source Project
37564064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( OS_802_11_AI_RESFI ,
37664064216a8433360745f69edddce19a606659163The Android Open Source Project
37764064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT16 Capabilities;
37864064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT16 StatusCode;
37964064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT16 AssociationId;
38064064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT16 reserved; /* added for packing */
38164064216a8433360745f69edddce19a606659163The Android Open Source Project);
38264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* ifdef _WINDOWS */
38364064216a8433360745f69edddce19a606659163The Android Open Source Project
38464064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_ASSOCIATION_INFORMATION ,
38564064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 Length;
38664064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT16 AvailableRequestFixedIEs;
38764064216a8433360745f69edddce19a606659163The Android Open Source Project/*    struct _OS_802_11_AI_REQFI
38864064216a8433360745f69edddce19a606659163The Android Open Source Project   {
38964064216a8433360745f69edddce19a606659163The Android Open Source Project       tiUINT16 Capabilities;
39064064216a8433360745f69edddce19a606659163The Android Open Source Project       tiUINT16 ListenInterval;
39164064216a8433360745f69edddce19a606659163The Android Open Source Project       OS_802_11_MAC_ADDRESS  CurrentAPAddress;
39264064216a8433360745f69edddce19a606659163The Android Open Source Project   } RequestFixedIEs;
39364064216a8433360745f69edddce19a606659163The Android Open Source Project*/
39464064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_AI_REQFI RequestFixedIEs;
39564064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 RequestIELength;
39664064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 OffsetRequestIEs;
39764064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT16 AvailableResponseFixedIEs;
39864064216a8433360745f69edddce19a606659163The Android Open Source Project/*    struct _OS_802_11_AI_RESFI
39964064216a8433360745f69edddce19a606659163The Android Open Source Project      {
40064064216a8433360745f69edddce19a606659163The Android Open Source Project		tiUINT16 Capabilities;
40164064216a8433360745f69edddce19a606659163The Android Open Source Project		tiUINT16 StatusCode;
40264064216a8433360745f69edddce19a606659163The Android Open Source Project		tiUINT16 AssociationId;
40364064216a8433360745f69edddce19a606659163The Android Open Source Project      } ResponseFixedIEs;
40464064216a8433360745f69edddce19a606659163The Android Open Source Project*/
40564064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_AI_RESFI ResponseFixedIEs;
40664064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 ResponseIELength;
40764064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 OffsetResponseIEs;
40864064216a8433360745f69edddce19a606659163The Android Open Source Project
40964064216a8433360745f69edddce19a606659163The Android Open Source Project);
41064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_ASSOCIATION_INFORMATION OS_802_11_ASSOCIATION_INFORMATION, *POS_802_11_ASSOCIATION_INFORMATION;
41164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _WINDOWS
41264064216a8433360745f69edddce19a606659163The Android Open Source Project#pragma pack()
41364064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* ifndef _WINDOWS */
41464064216a8433360745f69edddce19a606659163The Android Open Source Project
41564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
41664064216a8433360745f69edddce19a606659163The Android Open Source Project
41764064216a8433360745f69edddce19a606659163The Android Open Source Project/* supported EAP types*/
41864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_EAP_TYPES
41964064216a8433360745f69edddce19a606659163The Android Open Source Project{
42064064216a8433360745f69edddce19a606659163The Android Open Source Project        OS_EAP_TYPE_NONE                                = -1,
42164064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_EAP_TYPE_MD5_CHALLENGE		= 4,
42264064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_EAP_TYPE_GENERIC_TOKEN_CARD	= 6,
42364064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_EAP_TYPE_TLS					= 13,
42464064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_EAP_TYPE_LEAP				= 17,
42564064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_EAP_TYPE_TTLS				= 21,
42664064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_EAP_TYPE_PEAP				= 25,
42764064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_EAP_TYPE_MS_CHAP_V2			= 26,
42864064216a8433360745f69edddce19a606659163The Android Open Source Project        OS_EAP_TYPE_FAST                = 43
42964064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_EAP_TYPES;
43064064216a8433360745f69edddce19a606659163The Android Open Source Project
43164064216a8433360745f69edddce19a606659163The Android Open Source Project/* encryption type*/
43264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_ENCRYPTION_TYPES
43364064216a8433360745f69edddce19a606659163The Android Open Source Project{
43464064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_ENCRYPTION_TYPE_NONE = 0,
43564064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_ENCRYPTION_TYPE_WEP,
43664064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_ENCRYPTION_TYPE_TKIP,
43764064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_ENCRYPTION_TYPE_AES
43864064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_ENCRYPTION_TYPES;
43964064216a8433360745f69edddce19a606659163The Android Open Source Project
44064064216a8433360745f69edddce19a606659163The Android Open Source Project/* Key type*/
44164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_KEY_TYPES
44264064216a8433360745f69edddce19a606659163The Android Open Source Project{
44364064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_KEY_TYPE_STATIC = 0,
44464064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_KEY_TYPE_DYNAMIC
44564064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_KEY_TYPES;
44664064216a8433360745f69edddce19a606659163The Android Open Source Project
44764064216a8433360745f69edddce19a606659163The Android Open Source Project/* ELP mode*/
44864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_ELP_MODES
44964064216a8433360745f69edddce19a606659163The Android Open Source Project{
45064064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_ELP_MODE_DISABLE,
45164064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_ELP_MODE_SYNC,
45264064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_ELP_MODE_NON_SYNC
45364064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_ELP_MODES;
45464064216a8433360745f69edddce19a606659163The Android Open Source Project
45564064216a8433360745f69edddce19a606659163The Android Open Source Project/* Roaming mode*/
45664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_ROAMING_MODES
45764064216a8433360745f69edddce19a606659163The Android Open Source Project{
45864064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_ROAMING_MODE_DISABLE,
45964064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_ROAMING_MODE_ENABLE
46064064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_ROAMING_MODES;
46164064216a8433360745f69edddce19a606659163The Android Open Source Project
46264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_POWER_PROFILE
46364064216a8433360745f69edddce19a606659163The Android Open Source Project{
46464064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_POWER_MODE_AUTO,
46564064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_POWER_MODE_ACTIVE,
46664064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_POWER_MODE_SHORT_DOZE,
46764064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_POWER_MODE_LONG_DOZE
46864064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_POWER_PROFILE;
46964064216a8433360745f69edddce19a606659163The Android Open Source Project
47064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_POWER_LEVELS
47164064216a8433360745f69edddce19a606659163The Android Open Source Project{
47264064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_POWER_LEVEL_ELP,
47364064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_POWER_LEVEL_PD,
47464064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_POWER_LEVEL_AWAKE,
47564064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_POWER_LEVELS;
47664064216a8433360745f69edddce19a606659163The Android Open Source Project
47764064216a8433360745f69edddce19a606659163The Android Open Source Project
47864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_BEACON_FILTER_MODE
47964064216a8433360745f69edddce19a606659163The Android Open Source Project{
48064064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_BEACON_FILTER_MODE_INACTIVE,
48164064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_BEACON_FILTER_MODE_ACTIVE,
48264064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_BEACON_FILTER_MODE;
48364064216a8433360745f69edddce19a606659163The Android Open Source Project
48464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_SCAN_TYPES
48564064216a8433360745f69edddce19a606659163The Android Open Source Project{
48664064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_SCAN_TYPE_PASSIVE,
48764064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_SCAN_TYPE_BROADCAST,
48864064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_SCAN_TYPE_UNICAST
48964064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_SCAN_TYPES;
49064064216a8433360745f69edddce19a606659163The Android Open Source Project
49164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_VOICE_DELIVERY_PROTOCOL
49264064216a8433360745f69edddce19a606659163The Android Open Source Project{
49364064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_VOICE_DELIVERY_PROTOCOL_DISABLED,
49464064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_VOICE_DELIVERY_PROTOCOL_PS_POLL
49564064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_VOICE_DELIVERY_PROTOCOL;
49664064216a8433360745f69edddce19a606659163The Android Open Source Project
49764064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS ,
49864064216a8433360745f69edddce19a606659163The Android Open Source Project
49964064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 uHighThreshold;
50064064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT32 uLowThreshold;
50164064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 TestInterval;
50264064216a8433360745f69edddce19a606659163The Android Open Source Project);
50364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS;
50464064216a8433360745f69edddce19a606659163The Android Open Source Project
50564064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct{
50664064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT32 uHighOrLowThresholdFlag;                /* high or low */
50764064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT32 uAboveOrBelowFlag;       /* direction of crossing */
50864064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_CROSS_INDICATION_PARAMS;
50964064216a8433360745f69edddce19a606659163The Android Open Source Project
51064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef tiUINT8   OS_802_11_PMKID_VALUE[16];
51164064216a8433360745f69edddce19a606659163The Android Open Source Project
51264064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_BSSIDInfo ,
51364064216a8433360745f69edddce19a606659163The Android Open Source Project
51464064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_MAC_ADDRESS   BSSID;
51564064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_PMKID_VALUE   PMKID;
51664064216a8433360745f69edddce19a606659163The Android Open Source Project);
51764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_BSSIDInfo OS_BSSIDInfo, *POS_BSSIDInfo;
51864064216a8433360745f69edddce19a606659163The Android Open Source Project
51964064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_PMKID	,
52064064216a8433360745f69edddce19a606659163The Android Open Source Project
52164064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32        Length;
52264064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32        BSSIDInfoCount;
52364064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_BSSIDInfo    osBSSIDInfo[1];
52464064216a8433360745f69edddce19a606659163The Android Open Source Project);
52564064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_PMKID OS_802_11_PMKID, *POS_802_11_PMKID;
52664064216a8433360745f69edddce19a606659163The Android Open Source Project
52764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_WEP_STATUS
52864064216a8433360745f69edddce19a606659163The Android Open Source Project{
52964064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11WEPEnabled = 0,
53064064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11Encryption1Enabled = os802_11WEPEnabled,
53164064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11WEPDisabled,
53264064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11EncryptionDisabled = os802_11WEPDisabled,
53364064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11WEPKeyAbsent,
53464064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11Encryption1KeyAbsent = os802_11WEPKeyAbsent,
53564064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11WEPNotSupported,
53664064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11EncryptionNotSupported = os802_11WEPNotSupported,
53764064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11Encryption2Enabled,
53864064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11Encryption2KeyAbsent,
53964064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11Encryption3Enabled,
54064064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11Encryption3KeyAbsent
54164064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_WEP_STATUS, OS_802_11_ENCRYPTION_STATUS;
54264064216a8433360745f69edddce19a606659163The Android Open Source Project
54364064216a8433360745f69edddce19a606659163The Android Open Source Project/*os802_11AuthModeOpen */
54464064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies 802.11 open authentication mode. There are no checks when accepting */
54564064216a8433360745f69edddce19a606659163The Android Open Source Project/*  clients in this mode. */
54664064216a8433360745f69edddce19a606659163The Android Open Source Project/*os802_11AuthModeShared */
54764064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies 802.11 shared authentication that uses a pre-shared wired equivalent */
54864064216a8433360745f69edddce19a606659163The Android Open Source Project/*  privacy (WEP) key. */
54964064216a8433360745f69edddce19a606659163The Android Open Source Project/*os802_11AuthModeAutoSwitch */
55064064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies auto-switch mode. When using auto-switch mode, the NIC tries 802.11 shared */
55164064216a8433360745f69edddce19a606659163The Android Open Source Project/*  authentication mode first. If shared mode fails, the NIC attempts to use 802.11 open */
55264064216a8433360745f69edddce19a606659163The Android Open Source Project/*  authentication mode. */
55364064216a8433360745f69edddce19a606659163The Android Open Source Project
55464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_AUTHENTICATION_MODE
55564064216a8433360745f69edddce19a606659163The Android Open Source Project{
55664064216a8433360745f69edddce19a606659163The Android Open Source Project    os802_11AuthModeOpen,
55764064216a8433360745f69edddce19a606659163The Android Open Source Project    os802_11AuthModeShared,
55864064216a8433360745f69edddce19a606659163The Android Open Source Project    os802_11AuthModeAutoSwitch,
55964064216a8433360745f69edddce19a606659163The Android Open Source Project    os802_11AuthModeWPA,
56064064216a8433360745f69edddce19a606659163The Android Open Source Project    os802_11AuthModeWPAPSK,
56164064216a8433360745f69edddce19a606659163The Android Open Source Project    os802_11AuthModeWPANone,
56264064216a8433360745f69edddce19a606659163The Android Open Source Project    os802_11AuthModeWPA2,
56364064216a8433360745f69edddce19a606659163The Android Open Source Project    os802_11AuthModeWPA2PSK,
56464064216a8433360745f69edddce19a606659163The Android Open Source Project    os802_11AuthModeMax
56564064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_AUTHENTICATION_MODE;
56664064216a8433360745f69edddce19a606659163The Android Open Source Project
56764064216a8433360745f69edddce19a606659163The Android Open Source Project
56864064216a8433360745f69edddce19a606659163The Android Open Source Project/*os802_11PrivFilterAcceptAll */
56964064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies an open mode. In this mode, the NIC accepts any packet if the packet */
57064064216a8433360745f69edddce19a606659163The Android Open Source Project/*  is not encrypted or if the NIC successfully decrypts it. */
57164064216a8433360745f69edddce19a606659163The Android Open Source Project/*os802_11PrivFilter8021xWEP */
57264064216a8433360745f69edddce19a606659163The Android Open Source Project/*  Specifies a filtering mode. In the 802.1X filtering mode, 802.1X packets are */
57364064216a8433360745f69edddce19a606659163The Android Open Source Project/*  accepted even if they are not encrypted. However, the NIC accepts nothing else */
57464064216a8433360745f69edddce19a606659163The Android Open Source Project/*  unless it is encrypted using WEP. */
57564064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_PRIVACY_FILTER
57664064216a8433360745f69edddce19a606659163The Android Open Source Project{
57764064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11PrivFilterAcceptAll,
57864064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11PrivFilter8021xWEP
57964064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_PRIVACY_FILTER;
58064064216a8433360745f69edddce19a606659163The Android Open Source Project
58164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_RELOAD_DEFAULTS
58264064216a8433360745f69edddce19a606659163The Android Open Source Project{
58364064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11ReloadWEPKeys
58464064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_RELOAD_DEFAULTS, *POS_802_11_RELOAD_DEFAULTS;
58564064216a8433360745f69edddce19a606659163The Android Open Source Project
58664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_STATUS_TYPE
58764064216a8433360745f69edddce19a606659163The Android Open Source Project{
58864064216a8433360745f69edddce19a606659163The Android Open Source Project    os802_11StatusType_Authentication,
58964064216a8433360745f69edddce19a606659163The Android Open Source Project    os802_11StatusType_PMKID_CandidateList = 2,
59064064216a8433360745f69edddce19a606659163The Android Open Source Project    os802_11StatusTypeMax       /* not a real type, defined as an upper bound */
59164064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_STATUS_TYPE, *POS_802_11_STATUS_TYPE;
59264064216a8433360745f69edddce19a606659163The Android Open Source Project
59364064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_STATUS_INDICATION	 ,
59464064216a8433360745f69edddce19a606659163The Android Open Source Project
59564064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_STATUS_TYPE StatusType;
59664064216a8433360745f69edddce19a606659163The Android Open Source Project);
59764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_STATUS_INDICATION OS_802_11_STATUS_INDICATION, *POS_802_11_STATUS_INDICATION;
59864064216a8433360745f69edddce19a606659163The Android Open Source Project
59964064216a8433360745f69edddce19a606659163The Android Open Source Project
60064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct _OS_802_11_AUTHENTICATION_REQUEST
60164064216a8433360745f69edddce19a606659163The Android Open Source Project{
60264064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32           		Length;             /* Length of this structure*/
60364064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_MAC_ADDRESS 	BSSID;
60464064216a8433360745f69edddce19a606659163The Android Open Source Project	tiUINT32				Flags;
60564064216a8433360745f69edddce19a606659163The Android Open Source Project}OS_802_11_AUTHENTICATION_REQUEST, *POS_802_11_AUTHENTICATION_REQUEST;
60664064216a8433360745f69edddce19a606659163The Android Open Source Project
60764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
60864064216a8433360745f69edddce19a606659163The Android Open Source Project{
60964064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_DISASSOC_STATUS_UNSPECIFIED      		=   0,
61064064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_DISASSOC_STATUS_AUTH_REJECT				=   1,
61164064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_DISASSOC_STATUS_ASSOC_REJECT				=   2,
61264064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_DISASSOC_STATUS_SECURITY_FAILURE 		=   3,
61364064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_DISASSOC_STATUS_AP_DEAUTHENTICATE		=   4,
61464064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_DISASSOC_STATUS_AP_DISASSOCIATE			=   5,
61564064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_DISASSOC_STATUS_ROAMING_TRIGGER			=   6
61664064216a8433360745f69edddce19a606659163The Android Open Source Project
61764064216a8433360745f69edddce19a606659163The Android Open Source Project}	OS_802_11_DISASSOCIATE_REASON_E;
61864064216a8433360745f69edddce19a606659163The Android Open Source Project
61964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
62064064216a8433360745f69edddce19a606659163The Android Open Source Project{
62164064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_DISASSOCIATE_REASON_E  eDisAssocType;
62264064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT32							 uStatusCode;
62364064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_DISASSOCIATE_REASON_T;
62464064216a8433360745f69edddce19a606659163The Android Open Source Project
62564064216a8433360745f69edddce19a606659163The Android Open Source Project#define OS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLE   0x01
62664064216a8433360745f69edddce19a606659163The Android Open Source Project
62764064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_PMKID_CANDIDATE  ,
62864064216a8433360745f69edddce19a606659163The Android Open Source Project
62964064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_MAC_ADDRESS BSSID;
63064064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32              Flags;
63164064216a8433360745f69edddce19a606659163The Android Open Source Project);
63264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_PMKID_CANDIDATE OS_802_11_PMKID_CANDIDATE, *POS_802_11_PMKID_CANDIDATE;
63364064216a8433360745f69edddce19a606659163The Android Open Source Project
63464064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_PMKID_CANDIDATELIST ,
63564064216a8433360745f69edddce19a606659163The Android Open Source Project
63664064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32                   Version;       /* Version of the structure*/
63764064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32                   NumCandidates; /* No. of pmkid candidates*/
63864064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_PMKID_CANDIDATE  CandidateList[1];
63964064216a8433360745f69edddce19a606659163The Android Open Source Project);
64064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_PMKID_CANDIDATELIST OS_802_11_PMKID_CANDIDATELIST, *POS_802_11_PMKID_CANDIDATELIST;
64164064216a8433360745f69edddce19a606659163The Android Open Source Project
64264064216a8433360745f69edddce19a606659163The Android Open Source Project
64364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef UINT8 OS_802_11_MAC_PMKID_VALUE[16];
64464064216a8433360745f69edddce19a606659163The Android Open Source Project
64564064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_BSSIDInfo	,
64664064216a8433360745f69edddce19a606659163The Android Open Source Project
64764064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_MAC_ADDRESS 	BSSID;
64864064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_MAC_PMKID_VALUE  PMKID;
64964064216a8433360745f69edddce19a606659163The Android Open Source Project);
65064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_BSSIDInfo OS_802_11_BSSIDInfo, *POS_802_11_BSSIDInfo;
65164064216a8433360745f69edddce19a606659163The Android Open Source Project
65264064216a8433360745f69edddce19a606659163The Android Open Source Project
65364064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_AUTH_ENCRYPTION ,
65464064216a8433360745f69edddce19a606659163The Android Open Source Project
65564064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_AUTHENTICATION_MODE AuthModeSupported;
65664064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_ENCRYPTION_STATUS   EncryptionStatusSupported;
65764064216a8433360745f69edddce19a606659163The Android Open Source Project);
65864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_AUTH_ENCRYPTION OS_802_11_AUTH_ENCRYPTION, *POS_802_11_AUTH_ENCRYPTION;
65964064216a8433360745f69edddce19a606659163The Android Open Source Project
66064064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( _OS_802_11_CAPABILITY  ,
66164064216a8433360745f69edddce19a606659163The Android Open Source Project
66264064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 Length;
66364064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 Version;
66464064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 NoOfPmKIDs;
66564064216a8433360745f69edddce19a606659163The Android Open Source Project    tiUINT32 NoOfAuthEncryptPairsSupported;
66664064216a8433360745f69edddce19a606659163The Android Open Source Project    OS_802_11_AUTH_ENCRYPTION AuthEncryptionSupported[1];
66764064216a8433360745f69edddce19a606659163The Android Open Source Project
66864064216a8433360745f69edddce19a606659163The Android Open Source Project);
66964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef _OS_802_11_CAPABILITY OS_802_11_CAPABILITY, *POS_802_11_CAPABILITY;
67064064216a8433360745f69edddce19a606659163The Android Open Source Project
67164064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_CAPABILITY_VERSION 2
67264064216a8433360745f69edddce19a606659163The Android Open Source Project
67364064216a8433360745f69edddce19a606659163The Android Open Source Project
67464064216a8433360745f69edddce19a606659163The Android Open Source Project
67564064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum _OS_802_11_REG_DOMAIN
67664064216a8433360745f69edddce19a606659163The Android Open Source Project{
67764064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11_Domain_FCC = 0x10,
67864064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11_Domain_IC = 0x20,
67964064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11_Domain_ETSI = 0x30,
68064064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11_Domain_Spain = 0x31,
68164064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11_Domain_France = 0x32,
68264064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11_Domain_MKK = 0x40,
68364064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11_Domain_MKK1 = 0x41,
68464064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11_Domain_US	= 0x50,
68564064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11_Domain_WB	= 0x51,
68664064216a8433360745f69edddce19a606659163The Android Open Source Project  os802_11_Domain_EXWB	= 0x52,
68764064216a8433360745f69edddce19a606659163The Android Open Source Project} OS_802_11_REG_DOMAIN;
68864064216a8433360745f69edddce19a606659163The Android Open Source Project
68964064216a8433360745f69edddce19a606659163The Android Open Source Project
69064064216a8433360745f69edddce19a606659163The Android Open Source Project
69164064216a8433360745f69edddce19a606659163The Android Open Source Project#define     MAX_SSID_LEN            32
69264064216a8433360745f69edddce19a606659163The Android Open Source Project
69364064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT(ssid_t ,
69464064216a8433360745f69edddce19a606659163The Android Open Source Project
69564064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8       len;
69664064216a8433360745f69edddce19a606659163The Android Open Source Project    char        ssidString[MAX_SSID_LEN];
69764064216a8433360745f69edddce19a606659163The Android Open Source Project);
69864064216a8433360745f69edddce19a606659163The Android Open Source Project
69964064216a8433360745f69edddce19a606659163The Android Open Source Project
70064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
70164064216a8433360745f69edddce19a606659163The Android Open Source Project{
70264064216a8433360745f69edddce19a606659163The Android Open Source Project    RADIO_BAND_2_4_GHZ      = 0,
70364064216a8433360745f69edddce19a606659163The Android Open Source Project    RADIO_BAND_5_0_GHZ      = 1,
70464064216a8433360745f69edddce19a606659163The Android Open Source Project    RADIO_BAND_DUAL         = 2,
70564064216a8433360745f69edddce19a606659163The Android Open Source Project    RADIO_BAND_NUM_OF_BANDS = 2
70664064216a8433360745f69edddce19a606659163The Android Open Source Project} radioBand_e;
70764064216a8433360745f69edddce19a606659163The Android Open Source Project
70864064216a8433360745f69edddce19a606659163The Android Open Source Project
70964064216a8433360745f69edddce19a606659163The Android Open Source Project
71064064216a8433360745f69edddce19a606659163The Android Open Source Project
71164064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_TI_VERSION							0xFF080001
71264064216a8433360745f69edddce19a606659163The Android Open Source Project
71364064216a8433360745f69edddce19a606659163The Android Open Source Project
71464064216a8433360745f69edddce19a606659163The Android Open Source Project/* propritary OIDs used by FUNK supplicant for WPA Mixed mode support*/
71564064216a8433360745f69edddce19a606659163The Android Open Source Project/* WPA2 MIxed mode OIDs */
71664064216a8433360745f69edddce19a606659163The Android Open Source Project#define CGUID_FSW_802_11_AVAILABLE_OPTIONS      {0x1a905534, 0xe71f, 0x46d1, {0xa2, 0xcb, 0xa5, 0x57, 0x01, 0x76, 0x38, 0xfd}}
71764064216a8433360745f69edddce19a606659163The Android Open Source Project#define CGUID_FSW_802_11_OPTIONS 				{0xdc7a51b7, 0x2236, 0x467d, {0xb1, 0x55, 0x03, 0x50, 0x42, 0x04, 0xcf, 0x30}}
71864064216a8433360745f69edddce19a606659163The Android Open Source Project
71964064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_FSW_802_11_AVAILABLE_OPTIONS        0xFF010237
72064064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_FSW_802_11_OPTIONS                  0xFF010238
72164064216a8433360745f69edddce19a606659163The Android Open Source Project
72264064216a8433360745f69edddce19a606659163The Android Open Source Project
72364064216a8433360745f69edddce19a606659163The Android Open Source Project
72464064216a8433360745f69edddce19a606659163The Android Open Source Project/**/
72564064216a8433360745f69edddce19a606659163The Android Open Source Project/* IEEE 802.11 OIDs*/
72664064216a8433360745f69edddce19a606659163The Android Open Source Project/**/
72764064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_BSSID                        0x0D010101
72864064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_SSID                         0x0D010102
72964064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_INFRASTRUCTURE_MODE          0x0D010108
73064064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_ADD_WEP                      0x0D010113
73164064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_REMOVE_WEP                   0x0D010114
73264064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_DISASSOCIATE                 0x0D010115
73364064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_AUTHENTICATION_MODE          0x0D010118
73464064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_PRIVACY_FILTER               0x0D010119
73564064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_BSSID_LIST_SCAN              0x0D01011A
73664064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_WEP_STATUS                   0x0D01011B
73764064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_RELOAD_DEFAULTS              0x0D01011C
73864064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_ADD_KEY                      0x0D01011D
73964064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_REMOVE_KEY                   0x0D01011E
74064064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_ASSOCIATION_INFORMATION      0x0D01011F
74164064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_NETWORK_TYPES_SUPPORTED      0x0D010203
74264064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_NETWORK_TYPE_IN_USE          0x0D010204
74364064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_TX_POWER_LEVEL               0x0D010205
74464064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_RSSI                         0x0D010206
74564064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_RSSI_TRIGGER                 0x0D010207
74664064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_FRAGMENTATION_THRESHOLD      0x0D010209
74764064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_RTS_THRESHOLD                0x0D01020A
74864064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_NUMBER_OF_ANTENNAS           0x0D01020B
74964064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_RX_ANTENNA_SELECTED          0x0D01020C
75064064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_TX_ANTENNA_SELECTED          0x0D01020D
75164064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_SUPPORTED_RATES              0x0D01020E
75264064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_DESIRED_RATES                0x0D010210
75364064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_CONFIGURATION                0x0D010211
75464064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_STATISTICS                   0x0D020212
75564064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_POWER_MODE                   0x0D010216
75664064216a8433360745f69edddce19a606659163The Android Open Source Project#define OID_802_11_BSSID_LIST                   0x0D010217
75764064216a8433360745f69edddce19a606659163The Android Open Source Project
75864064216a8433360745f69edddce19a606659163The Android Open Source Project//#ifndef _USER_MODE
75964064216a8433360745f69edddce19a606659163The Android Open Source Project//#define OID_802_11_CAPABILITY					0x0D010218
76064064216a8433360745f69edddce19a606659163The Android Open Source Project//#define OID_802_11_PMKID						0x0D010219
76164064216a8433360745f69edddce19a606659163The Android Open Source Project//#endif
76264064216a8433360745f69edddce19a606659163The Android Open Source Project
76364064216a8433360745f69edddce19a606659163The Android Open Source Project
76464064216a8433360745f69edddce19a606659163The Android Open Source Project
76564064216a8433360745f69edddce19a606659163The Android Open Source Project/* AnyWPA mode flags used in propritary FUNK suplicant OIDs*/
76664064216a8433360745f69edddce19a606659163The Android Open Source Project
76764064216a8433360745f69edddce19a606659163The Android Open Source Project#define     OS_802_11_OPTION_ENABLE_PROMOTE_MODE        0x00000001 /*bit 0*/
76864064216a8433360745f69edddce19a606659163The Android Open Source Project#define     OS_802_11_OPTION_ENABLE_PROMOTE_CIPHER      0x00000002 /*bit 1*/
76964064216a8433360745f69edddce19a606659163The Android Open Source Project
77064064216a8433360745f69edddce19a606659163The Android Open Source Project#define     OS_802_11_OPTION_ENABLE_ALL                 0x00000003
77164064216a8433360745f69edddce19a606659163The Android Open Source Project
77264064216a8433360745f69edddce19a606659163The Android Open Source Project
77364064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
77464064216a8433360745f69edddce19a606659163The Android Open Source Project
775