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 */
56typedef enum
57{
58    CFG_MGR_STATE_IDLE              = 0,
59    CFG_MGR_STATE_RUNNING           = 1,
60    CFG_MGR_STATE_STOPPED           = 2,
61} stateCfg_e;
62
63typedef struct
64{
65    paramFunc_t         set;
66    paramFunc_t         get;
67    TI_HANDLE           handle;
68} paramAccess_t;
69
70/* Configuration manager handle */
71typedef 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