Home | History | Annotate | Download | only in configMgr
      1 /** \file configMgr.h
      2  *  \brief config manager module internal header file
      3  *
      4  *  \see configMgr.c
      5  */
      6 /****************************************************************************
      7 **+-----------------------------------------------------------------------+**
      8 **|                                                                       |**
      9 **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
     10 **| All rights reserved.                                                  |**
     11 **|                                                                       |**
     12 **| Redistribution and use in source and binary forms, with or without    |**
     13 **| modification, are permitted provided that the following conditions    |**
     14 **| are met:                                                              |**
     15 **|                                                                       |**
     16 **|  * Redistributions of source code must retain the above copyright     |**
     17 **|    notice, this list of conditions and the following disclaimer.      |**
     18 **|  * Redistributions in binary form must reproduce the above copyright  |**
     19 **|    notice, this list of conditions and the following disclaimer in    |**
     20 **|    the documentation and/or other materials provided with the         |**
     21 **|    distribution.                                                      |**
     22 **|  * Neither the name Texas Instruments nor the names of its            |**
     23 **|    contributors may be used to endorse or promote products derived    |**
     24 **|    from this software without specific prior written permission.      |**
     25 **|                                                                       |**
     26 **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
     27 **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
     28 **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
     29 **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
     30 **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
     31 **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
     32 **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
     33 **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
     34 **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
     35 **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
     36 **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
     37 **|                                                                       |**
     38 **+-----------------------------------------------------------------------+**
     39 ****************************************************************************/
     40 
     41 /***************************************************************************/
     42 /*                                                                          */
     43 /*    MODULE:   configMgr.h                                                 */
     44 /*    PURPOSE:  Config manager module internal header file                          */
     45 /*                                                                          */
     46 /***************************************************************************/
     47 #ifndef __CONFIG_MGR_H__
     48 #define __CONFIG_MGR_H__
     49 
     50 #include "osTIType.h"
     51 #include "paramOut.h"
     52 #include "paramIn.h"
     53 #include "fsm.h"
     54 
     55 /* Config manager state machine defintions */
     56 typedef enum
     57 {
     58     CFG_MGR_STATE_IDLE              = 0,
     59     CFG_MGR_STATE_RUNNING           = 1,
     60     CFG_MGR_STATE_STOPPED           = 2,
     61 } stateCfg_e;
     62 
     63 typedef struct
     64 {
     65     paramFunc_t         set;
     66     paramFunc_t         get;
     67     TI_HANDLE           handle;
     68 } paramAccess_t;
     69 
     70 /* Configuration manager handle */
     71 typedef struct
     72 {
     73     UINT8               state;
     74     fsm_stateMachine_t  *pFsm;
     75 
     76     paramAccess_t       paramAccessTable[MAX_PARAM_MODULE_NUMBER];
     77 
     78     /* SME handles */
     79     TI_HANDLE           hSmeSm;
     80     TI_HANDLE           hSiteMgr;
     81     TI_HANDLE           hConn;
     82 
     83     /* MLME handles */
     84     TI_HANDLE           hMlmeSm;
     85     TI_HANDLE           hAuth;
     86     TI_HANDLE           hAssoc;
     87 
     88     /* Data handles */
     89     TI_HANDLE           hRxData;
     90     TI_HANDLE           hTxData;
     91     TI_HANDLE           hCtrlData;
     92 
     93     /* Traffic Monitor */
     94     TI_HANDLE           hTrafficMon;
     95 
     96     /* RSN handle */
     97     TI_HANDLE           hRsn;
     98 
     99     /* HAL handles */
    100     TI_HANDLE           hHalCtrl;
    101 
    102     /* Network Control */
    103     TI_HANDLE           hRegulatoryDomain;
    104     TI_HANDLE           hMeasurementMgr;
    105     TI_HANDLE           hSoftGemini;
    106 
    107     /* EXC Manager*/
    108     TI_HANDLE           hExcMngr;
    109 
    110     /* Roaming Manager */
    111     TI_HANDLE           hRoamingMngr;
    112 
    113     /* QOS Manager */
    114     TI_HANDLE           hQosMngr;
    115 
    116     /* Utils handles */
    117     TI_HANDLE           hReport;
    118     TI_HANDLE           hMemMgr;
    119 
    120     /* OS handle */
    121     TI_HANDLE           hOs;
    122 
    123     /* Power handles */
    124     TI_HANDLE           hPowerMgr;
    125     TI_HANDLE           hPowerSrv;
    126 
    127     /* Event Handler Handles */
    128     TI_HANDLE           hEvHandler;
    129 
    130     /* AP Connection Handles */
    131     TI_HANDLE           hAPConnection;
    132 
    133     /* Current BSS Handles */
    134     TI_HANDLE           hCurrBss;
    135 
    136     /* SwitchChannel Handles */
    137     TI_HANDLE           hSwitchChannel;
    138 
    139     /* Services handles */
    140     TI_HANDLE           hSCR;               /* SCR */
    141     TI_HANDLE           hMacServices;       /* MacServices */
    142 
    143     /* Management handles */
    144     TI_HANDLE           hScanCncn;          /* Scan Concentrator */
    145 
    146     /* Application handles */
    147     TI_HANDLE           hScanMngr;          /* Scan Manager */
    148 
    149     /* Health Monitor */
    150     TI_HANDLE           hHealthMonitor;
    151 
    152 	TI_HANDLE           hRecoveryMgr;
    153 
    154     /* Core Callbacks pointers to be used in the config phase */
    155     /*TI_HANDLE         hcoreCallbacks;*/
    156 
    157     TI_HANDLE           hTnetwDrv;
    158 
    159     /* Pointer to configuration parameters */
    160     initTable_t        *pInitTable;
    161 
    162     /* Pointer to driver's mac address */
    163     macAddress_t       *pMacAddr;
    164 
    165 } configMgr_t;
    166 
    167 #endif /* __CONFIG_MGR_H__ */
    168