164064216a8433360745f69edddce19a606659163The Android Open Source Project/** \file siteHash.h
264064216a8433360745f69edddce19a606659163The Android Open Source Project *  \brief Hash & site table internal header file
364064216a8433360745f69edddce19a606659163The Android Open Source Project *
464064216a8433360745f69edddce19a606659163The Android Open Source Project *  \see siteHash.c
564064216a8433360745f69edddce19a606659163The Android Open Source Project */
664064216a8433360745f69edddce19a606659163The Android Open Source Project/****************************************************************************
764064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+**
864064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
964064216a8433360745f69edddce19a606659163The Android Open Source Project**| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
1064064216a8433360745f69edddce19a606659163The Android Open Source Project**| All rights reserved.                                                  |**
1164064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
1264064216a8433360745f69edddce19a606659163The Android Open Source Project**| Redistribution and use in source and binary forms, with or without    |**
1364064216a8433360745f69edddce19a606659163The Android Open Source Project**| modification, are permitted provided that the following conditions    |**
1464064216a8433360745f69edddce19a606659163The Android Open Source Project**| are met:                                                              |**
1564064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
1664064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Redistributions of source code must retain the above copyright     |**
1764064216a8433360745f69edddce19a606659163The Android Open Source Project**|    notice, this list of conditions and the following disclaimer.      |**
1864064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Redistributions in binary form must reproduce the above copyright  |**
1964064216a8433360745f69edddce19a606659163The Android Open Source Project**|    notice, this list of conditions and the following disclaimer in    |**
2064064216a8433360745f69edddce19a606659163The Android Open Source Project**|    the documentation and/or other materials provided with the         |**
2164064216a8433360745f69edddce19a606659163The Android Open Source Project**|    distribution.                                                      |**
2264064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Neither the name Texas Instruments nor the names of its            |**
2364064216a8433360745f69edddce19a606659163The Android Open Source Project**|    contributors may be used to endorse or promote products derived    |**
2464064216a8433360745f69edddce19a606659163The Android Open Source Project**|    from this software without specific prior written permission.      |**
2564064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
2664064216a8433360745f69edddce19a606659163The Android Open Source Project**| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
2764064216a8433360745f69edddce19a606659163The Android Open Source Project**| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
2864064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
2964064216a8433360745f69edddce19a606659163The Android Open Source Project**| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
3064064216a8433360745f69edddce19a606659163The Android Open Source Project**| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
3164064216a8433360745f69edddce19a606659163The Android Open Source Project**| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
3264064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
3364064216a8433360745f69edddce19a606659163The Android Open Source Project**| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
3464064216a8433360745f69edddce19a606659163The Android Open Source Project**| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
3564064216a8433360745f69edddce19a606659163The Android Open Source Project**| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
3664064216a8433360745f69edddce19a606659163The Android Open Source Project**| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
3764064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
3864064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+**
3964064216a8433360745f69edddce19a606659163The Android Open Source Project****************************************************************************/
4064064216a8433360745f69edddce19a606659163The Android Open Source Project
4164064216a8433360745f69edddce19a606659163The Android Open Source Project/***************************************************************************/
4264064216a8433360745f69edddce19a606659163The Android Open Source Project/*                                                                          */
4364064216a8433360745f69edddce19a606659163The Android Open Source Project/*    MODULE:   siteHash.h                                                  */
4464064216a8433360745f69edddce19a606659163The Android Open Source Project/*    PURPOSE:  Hash & site table internal header file                      */
4564064216a8433360745f69edddce19a606659163The Android Open Source Project/*                                                                          */
4664064216a8433360745f69edddce19a606659163The Android Open Source Project/***************************************************************************/
4764064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef __SITE_MGR_H__
4864064216a8433360745f69edddce19a606659163The Android Open Source Project#define __SITE_MGR_H__
4964064216a8433360745f69edddce19a606659163The Android Open Source Project
5064064216a8433360745f69edddce19a606659163The Android Open Source Project#include "osTIType.h"
5164064216a8433360745f69edddce19a606659163The Android Open Source Project#include "paramOut.h"
5264064216a8433360745f69edddce19a606659163The Android Open Source Project#include "paramIn.h"
5364064216a8433360745f69edddce19a606659163The Android Open Source Project#include "802_11Defs.h"
5464064216a8433360745f69edddce19a606659163The Android Open Source Project#include "DataCtrl_Api.h"
5564064216a8433360745f69edddce19a606659163The Android Open Source Project#include "whalCtrl_api.h"
5664064216a8433360745f69edddce19a606659163The Android Open Source Project
5764064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAX_RSN_IE          3
5864064216a8433360745f69edddce19a606659163The Android Open Source Project
5964064216a8433360745f69edddce19a606659163The Android Open Source Project/* site types */
6064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
6164064216a8433360745f69edddce19a606659163The Android Open Source Project{
6264064216a8433360745f69edddce19a606659163The Android Open Source Project    SITE_PRIMARY        = 0,
6364064216a8433360745f69edddce19a606659163The Android Open Source Project    SITE_SELF           = 1,
6464064216a8433360745f69edddce19a606659163The Android Open Source Project    SITE_REGULAR        = 2,
6564064216a8433360745f69edddce19a606659163The Android Open Source Project    SITE_NULL           = 3,
6664064216a8433360745f69edddce19a606659163The Android Open Source Project} siteType_e;
6764064216a8433360745f69edddce19a606659163The Android Open Source Project
6864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
6964064216a8433360745f69edddce19a606659163The Android Open Source Project{
7064064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8   hopPattern;
7164064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8   hopSet;
7264064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT16  dwellTime;
7364064216a8433360745f69edddce19a606659163The Android Open Source Project} FHParams_t;
7464064216a8433360745f69edddce19a606659163The Android Open Source Project
7564064216a8433360745f69edddce19a606659163The Android Open Source Project/* A site entry contains all the site attribute received in beacon and probes
7664064216a8433360745f69edddce19a606659163The Android Open Source Project    and data used to manage the site table and hash table */
7764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct siteEntry_t siteEntry_t;
7864064216a8433360745f69edddce19a606659163The Android Open Source Projectstruct siteEntry_t
7964064216a8433360745f69edddce19a606659163The Android Open Source Project{
8064064216a8433360745f69edddce19a606659163The Android Open Source Project    /* The following fields, in addition with the BSSID is used for entry management */
8164064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   index;
8264064216a8433360745f69edddce19a606659163The Android Open Source Project    siteType_e              siteType;
8364064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT32                  localTimeStamp;
8464064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT32                  dtimTimeStamp;
8564064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   tsfTimeStamp[TIME_STAMP_LEN];
8664064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT32                  osTimeStamp;
8764064216a8433360745f69edddce19a606659163The Android Open Source Project
8864064216a8433360745f69edddce19a606659163The Android Open Source Project
8964064216a8433360745f69edddce19a606659163The Android Open Source Project
9064064216a8433360745f69edddce19a606659163The Android Open Source Project    /* The following fields are used for the selection */
9164064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                    probeRecv;
9264064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                    beaconRecv;
9364064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                    beaconReceiveAfterJoin;
9464064216a8433360745f69edddce19a606659163The Android Open Source Project    macAddress_t            bssid;
9564064216a8433360745f69edddce19a606659163The Android Open Source Project    ssid_t                  ssid;
9664064216a8433360745f69edddce19a606659163The Android Open Source Project    bssType_e               bssType;
9764064216a8433360745f69edddce19a606659163The Android Open Source Project    rateMask_t              rateMask;
9864064216a8433360745f69edddce19a606659163The Android Open Source Project    rate_e                  maxBasicRate;
9964064216a8433360745f69edddce19a606659163The Android Open Source Project    rate_e                  maxActiveRate;
10064064216a8433360745f69edddce19a606659163The Android Open Source Project    modulationType_e        beaconModulation;
10164064216a8433360745f69edddce19a606659163The Android Open Source Project    modulationType_e        probeModulation;
10264064216a8433360745f69edddce19a606659163The Android Open Source Project    preamble_e              currentPreambleType;
10364064216a8433360745f69edddce19a606659163The Android Open Source Project    preamble_e              preambleAssRspCap;
10464064216a8433360745f69edddce19a606659163The Android Open Source Project    preamble_e              barkerPreambleType;
10564064216a8433360745f69edddce19a606659163The Android Open Source Project    slotTime_e              currentSlotTime;
10664064216a8433360745f69edddce19a606659163The Android Open Source Project    slotTime_e              newSlotTime;
10764064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                    useProtection;
10864064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                    NonErpPresent;
10964064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   channel;
11064064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   attemptsNumber;
11164064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   Not_Received;
11264064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT32                  matchingLevel;
11364064216a8433360745f69edddce19a606659163The Android Open Source Project
11464064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                    privacy;
11564064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                    agility;
11664064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT16                  capabilities;
11764064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT16                  beaconInterval;
11864064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   dtimPeriod;
11964064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   snr;
12064064216a8433360745f69edddce19a606659163The Android Open Source Project    rate_e                  rxRate;
12164064216a8433360745f69edddce19a606659163The Android Open Source Project    INT32                   rssi;
12264064216a8433360745f69edddce19a606659163The Android Open Source Project    dot11_4X_t              fourXParams;
12364064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                    fourXsupported;
12464064216a8433360745f69edddce19a606659163The Android Open Source Project
12564064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Power Constraint */
12664064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   powerConstraint;
12764064216a8433360745f69edddce19a606659163The Android Open Source Project
12864064216a8433360745f69edddce19a606659163The Android Open Source Project    /* AP Tx Power obtained from TPC Report */
12964064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   APTxPower;
13064064216a8433360745f69edddce19a606659163The Android Open Source Project
13164064216a8433360745f69edddce19a606659163The Android Open Source Project    /* QOS */
13264064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                    WMESupported;
13364064216a8433360745f69edddce19a606659163The Android Open Source Project    ACParameters_t          WMEParameters;
13464064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   lastWMEParameterCnt;
13564064216a8433360745f69edddce19a606659163The Android Open Source Project
13664064216a8433360745f69edddce19a606659163The Android Open Source Project    /* UPSD */
13764064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                    APSDSupport;
13864064216a8433360745f69edddce19a606659163The Android Open Source Project
13964064216a8433360745f69edddce19a606659163The Android Open Source Project    /* The following fields are never updated */
14064064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT16                  atimWindow;
14164064216a8433360745f69edddce19a606659163The Android Open Source Project    FHParams_t              FHParams;
14264064216a8433360745f69edddce19a606659163The Android Open Source Project    dot11_RSN_t             pRsnIe[MAX_RSN_IE];
14364064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   rsnIeLen;
14464064216a8433360745f69edddce19a606659163The Android Open Source Project
14564064216a8433360745f69edddce19a606659163The Android Open Source Project    mgmtStatus_e            failStatus;
14664064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                    prioritySite;
14764064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   probeRespBuffer[MAX_BEACON_BODY_LENGTH];
14864064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT16                  probeRespLength;
14964064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8                   beaconBuffer[MAX_BEACON_BODY_LENGTH];
15064064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT16                  beaconLength;
15164064216a8433360745f69edddce19a606659163The Android Open Source Project
15264064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                    detectedWhileMeasuring;
15364064216a8433360745f69edddce19a606659163The Android Open Source Project};
15464064216a8433360745f69edddce19a606659163The Android Open Source Project
15564064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
15664064216a8433360745f69edddce19a606659163The Android Open Source Project{
15764064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8           numOfSites;
15864064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8           maxNumOfSites;
15964064216a8433360745f69edddce19a606659163The Android Open Source Project    siteEntry_t     siteTable[MAX_SITES_BG_BAND];
16064064216a8433360745f69edddce19a606659163The Android Open Source Project}siteTablesParams_t;
16164064216a8433360745f69edddce19a606659163The Android Open Source Project
16264064216a8433360745f69edddce19a606659163The Android Open Source Project/* This struct is seperated from the above struct (siteTablesParams_t) for memory optimizations */
16364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
16464064216a8433360745f69edddce19a606659163The Android Open Source Project{
16564064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8           numOfSites;
16664064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8           maxNumOfSites;
16764064216a8433360745f69edddce19a606659163The Android Open Source Project    siteEntry_t     siteTable[MAX_SITES_A_BAND];
16864064216a8433360745f69edddce19a606659163The Android Open Source Project}siteTablesParamsBandA_t;
16964064216a8433360745f69edddce19a606659163The Android Open Source Project
17064064216a8433360745f69edddce19a606659163The Android Open Source Project/* Ths following structure is used to manage the sites */
17164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
17264064216a8433360745f69edddce19a606659163The Android Open Source Project{
17364064216a8433360745f69edddce19a606659163The Android Open Source Project    siteTablesParamsBandA_t  dot11A_sitesTables;
17464064216a8433360745f69edddce19a606659163The Android Open Source Project    siteTablesParams_t        dot11BG_sitesTables;
17564064216a8433360745f69edddce19a606659163The Android Open Source Project    siteTablesParams_t        *pCurrentSiteTable;
17664064216a8433360745f69edddce19a606659163The Android Open Source Project    siteEntry_t               *pPrimarySite;
17764064216a8433360745f69edddce19a606659163The Android Open Source Project    siteEntry_t               *pPrevPrimarySite;
17864064216a8433360745f69edddce19a606659163The Android Open Source Project} sitesMgmtParams_t;
17964064216a8433360745f69edddce19a606659163The Android Open Source Project
18064064216a8433360745f69edddce19a606659163The Android Open Source Project
18164064216a8433360745f69edddce19a606659163The Android Open Source Project/* Site manager handle */
18264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
18364064216a8433360745f69edddce19a606659163The Android Open Source Project{
18464064216a8433360745f69edddce19a606659163The Android Open Source Project    siteMgrInitParams_t *pDesiredParams;
18564064216a8433360745f69edddce19a606659163The Android Open Source Project    sitesMgmtParams_t   *pSitesMgmtParams;
18664064216a8433360745f69edddce19a606659163The Android Open Source Project
18764064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hConn;
18864064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hSmeSm;
18964064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hCtrlData;
19064064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hRxData;
19164064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hTxData;
19264064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hRsn;
19364064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hAuth;
19464064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hAssoc;
19564064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hRegulatoryDomain;
19664064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hMeasurementMgr;
19764064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hHalCtrl;
19864064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hMlmeSm;
19964064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hMemMgr;
20064064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hReport;
20164064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hOs;
20264064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hExcMngr;
20364064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hApConn;
20464064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hCurrBss;
20564064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hQosMngr;
20664064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hPowerMgr;
20764064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hEvHandler;
20864064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hMacServices;
20964064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hScr;
21064064216a8433360745f69edddce19a606659163The Android Open Source Project
21164064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT32              beaconSentCount;
21264064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT32              rxPacketsCount;
21364064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT32              txPacketsCount;
21464064216a8433360745f69edddce19a606659163The Android Open Source Project
21564064216a8433360745f69edddce19a606659163The Android Open Source Project    modulationType_e    chosenModulation;
21664064216a8433360745f69edddce19a606659163The Android Open Source Project    modulationType_e    currentDataModulation;
21764064216a8433360745f69edddce19a606659163The Android Open Source Project    dot11mode_e         siteMgrOperationalMode;
21864064216a8433360745f69edddce19a606659163The Android Open Source Project    radioBand_e         radioBand;
21964064216a8433360745f69edddce19a606659163The Android Open Source Project    radioBand_e         prevRadioBand;
22064064216a8433360745f69edddce19a606659163The Android Open Source Project
22164064216a8433360745f69edddce19a606659163The Android Open Source Project    macAddress_t        ibssBssid;
22264064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOLEAN             bPostponedDisconnectInProgress;
22364064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                isAgingEnable;
22464064216a8433360745f69edddce19a606659163The Android Open Source Project
22564064216a8433360745f69edddce19a606659163The Android Open Source Project    /* TX Power Adjust */
22664064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT32              siteMgrTxPowerCheckTime;
22764064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                bTempTxPowerEnabled;
22864064216a8433360745f69edddce19a606659163The Android Open Source Project
22964064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Scans procedures */
23064064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8               numOfBeaconFiltering;
23164064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                keepAliveEnable;
23264064216a8433360745f69edddce19a606659163The Android Open Source Project    /*UINT8             siteMgrDesiredBeaconFilterState;*/
23364064216a8433360745f69edddce19a606659163The Android Open Source Project    beaconFilterParams_t    beaconFilterParams; /*contains the desired state*/
23464064216a8433360745f69edddce19a606659163The Android Open Source Project
23564064216a8433360745f69edddce19a606659163The Android Open Source Project
23664064216a8433360745f69edddce19a606659163The Android Open Source Project    /*HW Request from Power Ctrl */
23764064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT32              DriverTestId;
23864064216a8433360745f69edddce19a606659163The Android Open Source Project
23964064216a8433360745f69edddce19a606659163The Android Open Source Project    BOOL                powerSaveLdMode;
24064064216a8433360745f69edddce19a606659163The Android Open Source Project} siteMgr_t;
24164064216a8433360745f69edddce19a606659163The Android Open Source Project
24264064216a8433360745f69edddce19a606659163The Android Open Source Project
24364064216a8433360745f69edddce19a606659163The Android Open Source Project
24464064216a8433360745f69edddce19a606659163The Android Open Source ProjectsiteEntry_t *findAndInsertSiteEntry(siteMgr_t       *pSiteMgr,
24564064216a8433360745f69edddce19a606659163The Android Open Source Project                                    macAddress_t    *bssid,
24664064216a8433360745f69edddce19a606659163The Android Open Source Project                                    radioBand_e     band);
24764064216a8433360745f69edddce19a606659163The Android Open Source Project
24864064216a8433360745f69edddce19a606659163The Android Open Source ProjectsiteEntry_t *findSiteEntry(siteMgr_t        *pSiteMgr,
24964064216a8433360745f69edddce19a606659163The Android Open Source Project                           macAddress_t     *bssid);
25064064216a8433360745f69edddce19a606659163The Android Open Source Project
25164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid removeSiteEntry(siteMgr_t *pSiteMgr, siteTablesParams_t *pCurrSiteTblParams,
25264064216a8433360745f69edddce19a606659163The Android Open Source Project                     siteEntry_t  *hashPtr);
25364064216a8433360745f69edddce19a606659163The Android Open Source Project
25464064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS removeEldestSite(siteMgr_t *pSiteMgr);
25564064216a8433360745f69edddce19a606659163The Android Open Source Project
25664064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS buildProbeReqTemplate(siteMgr_t *pSiteMgr, whalCtrl_setTemplate_t *pTemplate, ssid_t *pSsid,
25764064216a8433360745f69edddce19a606659163The Android Open Source Project								radioBand_e radioBand);
25864064216a8433360745f69edddce19a606659163The Android Open Source Project
25964064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS buildProbeRspTemplate(siteMgr_t *pSiteMgr, whalCtrl_setTemplate_t *pTemplate);
26064064216a8433360745f69edddce19a606659163The Android Open Source Project
26164064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS buildNullTemplate(siteMgr_t *pSiteMgr, whalCtrl_setTemplate_t *pTemplate);
26264064216a8433360745f69edddce19a606659163The Android Open Source Project
26364064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS buildPsPollTemplate(siteMgr_t *pSiteMgr, whalCtrl_setTemplate_t *pTemplate);
26464064216a8433360745f69edddce19a606659163The Android Open Source Project
26564064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS buildQosNullDataTemplate(siteMgr_t *pSiteMgr, whalCtrl_setTemplate_t *pTemplate, UINT8 userPriority);
26664064216a8433360745f69edddce19a606659163The Android Open Source Project
26764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* __SITE_MGR_H__ */
268