164064216a8433360745f69edddce19a606659163The Android Open Source Project/** \file configMgr.h
264064216a8433360745f69edddce19a606659163The Android Open Source Project *  \brief config manager module internal header file
364064216a8433360745f69edddce19a606659163The Android Open Source Project *
464064216a8433360745f69edddce19a606659163The Android Open Source Project *  \see configMgr.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:   configMgr.h                                                 */
4464064216a8433360745f69edddce19a606659163The Android Open Source Project/*    PURPOSE:  Config manager module internal header file                          */
4564064216a8433360745f69edddce19a606659163The Android Open Source Project/*                                                                          */
4664064216a8433360745f69edddce19a606659163The Android Open Source Project/***************************************************************************/
4764064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef __CONFIG_MGR_H__
4864064216a8433360745f69edddce19a606659163The Android Open Source Project#define __CONFIG_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 "fsm.h"
5464064216a8433360745f69edddce19a606659163The Android Open Source Project
5564064216a8433360745f69edddce19a606659163The Android Open Source Project/* Config manager state machine defintions */
5664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
5764064216a8433360745f69edddce19a606659163The Android Open Source Project{
5864064216a8433360745f69edddce19a606659163The Android Open Source Project    CFG_MGR_STATE_IDLE              = 0,
5964064216a8433360745f69edddce19a606659163The Android Open Source Project    CFG_MGR_STATE_RUNNING           = 1,
6064064216a8433360745f69edddce19a606659163The Android Open Source Project    CFG_MGR_STATE_STOPPED           = 2,
6164064216a8433360745f69edddce19a606659163The Android Open Source Project} stateCfg_e;
6264064216a8433360745f69edddce19a606659163The Android Open Source Project
6364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
6464064216a8433360745f69edddce19a606659163The Android Open Source Project{
6564064216a8433360745f69edddce19a606659163The Android Open Source Project    paramFunc_t         set;
6664064216a8433360745f69edddce19a606659163The Android Open Source Project    paramFunc_t         get;
6764064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           handle;
6864064216a8433360745f69edddce19a606659163The Android Open Source Project} paramAccess_t;
6964064216a8433360745f69edddce19a606659163The Android Open Source Project
7064064216a8433360745f69edddce19a606659163The Android Open Source Project/* Configuration manager handle */
7164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
7264064216a8433360745f69edddce19a606659163The Android Open Source Project{
7364064216a8433360745f69edddce19a606659163The Android Open Source Project    UINT8               state;
7464064216a8433360745f69edddce19a606659163The Android Open Source Project    fsm_stateMachine_t  *pFsm;
7564064216a8433360745f69edddce19a606659163The Android Open Source Project
7664064216a8433360745f69edddce19a606659163The Android Open Source Project    paramAccess_t       paramAccessTable[MAX_PARAM_MODULE_NUMBER];
7764064216a8433360745f69edddce19a606659163The Android Open Source Project
7864064216a8433360745f69edddce19a606659163The Android Open Source Project    /* SME handles */
7964064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hSmeSm;
8064064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hSiteMgr;
8164064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hConn;
8264064216a8433360745f69edddce19a606659163The Android Open Source Project
8364064216a8433360745f69edddce19a606659163The Android Open Source Project    /* MLME handles */
8464064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hMlmeSm;
8564064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hAuth;
8664064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hAssoc;
8764064216a8433360745f69edddce19a606659163The Android Open Source Project
8864064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Data handles */
8964064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hRxData;
9064064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hTxData;
9164064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hCtrlData;
9264064216a8433360745f69edddce19a606659163The Android Open Source Project
9364064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Traffic Monitor */
9464064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hTrafficMon;
9564064216a8433360745f69edddce19a606659163The Android Open Source Project
9664064216a8433360745f69edddce19a606659163The Android Open Source Project    /* RSN handle */
9764064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hRsn;
9864064216a8433360745f69edddce19a606659163The Android Open Source Project
9964064216a8433360745f69edddce19a606659163The Android Open Source Project    /* HAL handles */
10064064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hHalCtrl;
10164064216a8433360745f69edddce19a606659163The Android Open Source Project
10264064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Network Control */
10364064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hRegulatoryDomain;
10464064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hMeasurementMgr;
10564064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hSoftGemini;
10664064216a8433360745f69edddce19a606659163The Android Open Source Project
10764064216a8433360745f69edddce19a606659163The Android Open Source Project    /* EXC Manager*/
10864064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hExcMngr;
10964064216a8433360745f69edddce19a606659163The Android Open Source Project
11064064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Roaming Manager */
11164064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hRoamingMngr;
11264064216a8433360745f69edddce19a606659163The Android Open Source Project
11364064216a8433360745f69edddce19a606659163The Android Open Source Project    /* QOS Manager */
11464064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hQosMngr;
11564064216a8433360745f69edddce19a606659163The Android Open Source Project
11664064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Utils handles */
11764064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hReport;
11864064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hMemMgr;
11964064216a8433360745f69edddce19a606659163The Android Open Source Project
12064064216a8433360745f69edddce19a606659163The Android Open Source Project    /* OS handle */
12164064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hOs;
12264064216a8433360745f69edddce19a606659163The Android Open Source Project
12364064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Power handles */
12464064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hPowerMgr;
12564064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hPowerSrv;
12664064216a8433360745f69edddce19a606659163The Android Open Source Project
12764064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Event Handler Handles */
12864064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hEvHandler;
12964064216a8433360745f69edddce19a606659163The Android Open Source Project
13064064216a8433360745f69edddce19a606659163The Android Open Source Project    /* AP Connection Handles */
13164064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hAPConnection;
13264064216a8433360745f69edddce19a606659163The Android Open Source Project
13364064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Current BSS Handles */
13464064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hCurrBss;
13564064216a8433360745f69edddce19a606659163The Android Open Source Project
13664064216a8433360745f69edddce19a606659163The Android Open Source Project    /* SwitchChannel Handles */
13764064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hSwitchChannel;
13864064216a8433360745f69edddce19a606659163The Android Open Source Project
13964064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Services handles */
14064064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hSCR;               /* SCR */
14164064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hMacServices;       /* MacServices */
14264064216a8433360745f69edddce19a606659163The Android Open Source Project
14364064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Management handles */
14464064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hScanCncn;          /* Scan Concentrator */
14564064216a8433360745f69edddce19a606659163The Android Open Source Project
14664064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Application handles */
14764064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hScanMngr;          /* Scan Manager */
14864064216a8433360745f69edddce19a606659163The Android Open Source Project
14964064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Health Monitor */
15064064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hHealthMonitor;
15164064216a8433360745f69edddce19a606659163The Android Open Source Project
15264064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_HANDLE           hRecoveryMgr;
15364064216a8433360745f69edddce19a606659163The Android Open Source Project
15464064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Core Callbacks pointers to be used in the config phase */
15564064216a8433360745f69edddce19a606659163The Android Open Source Project    /*TI_HANDLE         hcoreCallbacks;*/
15664064216a8433360745f69edddce19a606659163The Android Open Source Project
15764064216a8433360745f69edddce19a606659163The Android Open Source Project    TI_HANDLE           hTnetwDrv;
15864064216a8433360745f69edddce19a606659163The Android Open Source Project
15964064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Pointer to configuration parameters */
16064064216a8433360745f69edddce19a606659163The Android Open Source Project    initTable_t        *pInitTable;
16164064216a8433360745f69edddce19a606659163The Android Open Source Project
16264064216a8433360745f69edddce19a606659163The Android Open Source Project    /* Pointer to driver's mac address */
16364064216a8433360745f69edddce19a606659163The Android Open Source Project    macAddress_t       *pMacAddr;
16464064216a8433360745f69edddce19a606659163The Android Open Source Project
16564064216a8433360745f69edddce19a606659163The Android Open Source Project} configMgr_t;
16664064216a8433360745f69edddce19a606659163The Android Open Source Project
16764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* __CONFIG_MGR_H__ */
168