1981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*
2981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * CmdDispatcher.c
3981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
4981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
5981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * All rights reserved.
6981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
7981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Redistribution and use in source and binary forms, with or without
8981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * modification, are permitted provided that the following conditions
9981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * are met:
10981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
11981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Redistributions of source code must retain the above copyright
12981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    notice, this list of conditions and the following disclaimer.
13981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Redistributions in binary form must reproduce the above copyright
14981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    notice, this list of conditions and the following disclaimer in
15981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    the documentation and/or other materials provided with the
16981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    distribution.
17981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Neither the name Texas Instruments nor the names of its
18981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    contributors may be used to endorse or promote products derived
19981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    from this software without specific prior written permission.
20981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
21981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
33981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
34981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
35981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \file   CmdDispatcher.c
36981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  \brief  The CmdDispatcher module. Handles user commbands dispatching to the driver modules.
37981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
38981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  \see    CmdDispatcher.h
39981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
40981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
41981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define __FILE_ID__  FILE_ID_47
42981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "tidef.h"
43981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "osApi.h"
44981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "report.h"
45981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "DrvMain.h"
46981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "connApi.h"
47981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "siteMgrApi.h"
48653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt#include "smeApi.h"
49981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "SoftGeminiApi.h"
50981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "roamingMngrApi.h"
51981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "qosMngr_API.h"
52981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "PowerMgr_API.h"
53981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "ScanCncn.h"
54981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "scanMngrApi.h"
55981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "regulatoryDomainApi.h"
56981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "measurementMgrApi.h"
57981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "TWDriver.h"
58981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "debug.h"
59981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "DrvMainModules.h"
60981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "CmdDispatcher.h"
61981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "healthMonitor.h"
62653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt#include "currBssApi.h"
63981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef XCC_MODULE_INCLUDED
64981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "XCCMngr.h"
65981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif
66981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
67981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
68981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* Set/get params function prototype */
69981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef TI_STATUS (*TParamFunc) (TI_HANDLE handle, paramInfo_t *pParam);
70981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
71981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
72981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
73981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TParamFunc          set;
74981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TParamFunc          get;
75981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE           handle;
76981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
77981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TParamAccess;
78981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
79981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* The module's object */
80981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
81981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
82981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    /* Other modules handles */
83981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hOs;
84981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hReport;
85981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hAuth;
86981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hAssoc;
87981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hRxData;
88981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hTxCtrl;
89981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hCtrlData;
90981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hSiteMgr;
91981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hConn;
92981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hRsn;
93981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hSme;
94981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hScanCncn;
95981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hScanMngr;
96981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hMlmeSm;
97981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hRegulatoryDomain;
98981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hMeasurementMgr;
99981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hRoamingMngr;
100981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hSoftGemini;
101981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hQosMngr;
102981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hPowerMgr;
103981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hHealthMonitor;
104981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hTWD;
105653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt    TI_HANDLE    hCurrBss;
106981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef XCC_MODULE_INCLUDED
107981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_HANDLE    hXCCMngr;
108981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif
109981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
110981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    /* Table of params set/get functions */
111981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TParamAccess paramAccessTable[MAX_PARAM_MODULE_NUMBER];
112981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
113981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef TI_DBG
114981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TStadHandlesList *pStadHandles;  /* Save modules list pointer just for the debug functions */
115981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif
116981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
117981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TCmdDispatchObj;
118981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
119981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
120981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* Internal functions prototypes */
121981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void      cmdDispatch_ConfigParamsAccessTable (TCmdDispatchObj *pCmdDispatch);
122981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic TI_STATUS cmdDispatch_SetTwdParam  (TI_HANDLE hCmdDispatch, paramInfo_t *pParam);
123981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic TI_STATUS cmdDispatch_GetTwdParam  (TI_HANDLE hCmdDispatch, paramInfo_t *pParam);
124981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
125981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef TI_DBG
126981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic TI_STATUS cmdDispatch_DebugFuncSet (TI_HANDLE hCmdDispatch, paramInfo_t *pParam);
127981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic TI_STATUS cmdDispatch_DebugFuncGet (TI_HANDLE hCmdDispatch, paramInfo_t *pParam);	/*yael - this function is not in use*/
128981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif
129981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
130981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
131981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
132981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/**
133981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \fn     cmdDispatch_Create
134981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief  Create the module
135981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
136981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Create the Command-Dispatcher module
137981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
138981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \note
139981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  hOs - Handle to the Os Abstraction Layer
140981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return Handle to the allocated module (NULL if failed)
141981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
142981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
143981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_HANDLE cmdDispatch_Create (TI_HANDLE hOs)
144981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
145981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TCmdDispatchObj *pCmdDispatch;
146981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
147981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    /* allocate CmdDispatcher module */
148981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch = os_memoryAlloc (hOs, (sizeof(TCmdDispatchObj)));
149981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
150981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    if (!pCmdDispatch)
151981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    {
152981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        WLAN_OS_REPORT(("Error allocating the CmdDispatcher Module\n"));
153981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        return NULL;
154981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    }
155981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
156981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    /* Reset CmdDispatcher module */
157981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    os_memoryZero (hOs, pCmdDispatch, (sizeof(TCmdDispatchObj)));
158981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
159981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hOs = hOs;
160981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
161981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    return (TI_HANDLE)pCmdDispatch;
162981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
163981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
164981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
165981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/**
166981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \fn     cmdDispatch_Init
167981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief  Save modules handles and fill the configuration table
168981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
169981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Save other modules handles, and fill the configuration table
170981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *     with the Get/Set functions.
171981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
172981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \note
173981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  pStadHandles  - The driver modules handles
174981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return void
175981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
176981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
177981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtvoid cmdDispatch_Init (TStadHandlesList *pStadHandles)
178981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
179981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TCmdDispatchObj *pCmdDispatch = (TCmdDispatchObj *)(pStadHandles->hCmdDispatch);
180981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
181981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    /* Save modules handles */
182981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hReport           = pStadHandles->hReport;
183981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hAuth             = pStadHandles->hAuth;
184981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hAssoc            = pStadHandles->hAssoc;
185981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hRxData           = pStadHandles->hRxData;
186981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hTxCtrl           = pStadHandles->hTxCtrl;
187981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hCtrlData         = pStadHandles->hCtrlData;
188981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hSiteMgr          = pStadHandles->hSiteMgr;
189981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hConn             = pStadHandles->hConn;
190981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hRsn              = pStadHandles->hRsn;
191981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hSme              = pStadHandles->hSme;
192981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hScanCncn         = pStadHandles->hScanCncn;
193981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hScanMngr         = pStadHandles->hScanMngr;
194981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hMlmeSm           = pStadHandles->hMlmeSm;
195981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hRegulatoryDomain = pStadHandles->hRegulatoryDomain;
196981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hMeasurementMgr   = pStadHandles->hMeasurementMgr;
197981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hRoamingMngr      = pStadHandles->hRoamingMngr;
198981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hSoftGemini       = pStadHandles->hSoftGemini;
199981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hQosMngr          = pStadHandles->hQosMngr;
200981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hPowerMgr         = pStadHandles->hPowerMgr;
201981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hHealthMonitor    = pStadHandles->hHealthMonitor;
202981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hTWD              = pStadHandles->hTWD;
203653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt    pCmdDispatch->hCurrBss          = pStadHandles->hCurrBss;
204981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef XCC_MODULE_INCLUDED
205981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->hXCCMngr          = pStadHandles->hXCCMngr;
206981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif
207981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
208981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef TI_DBG
209981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->pStadHandles = pStadHandles;  /* Save modules list pointer just for the debug functions */
210981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif
211981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
212981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    /* Fill the configuration table with the Get/Set functions */
213981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    cmdDispatch_ConfigParamsAccessTable (pCmdDispatch);
214981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
215981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
216981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
217981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/**
218981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \fn     cmdDispatch_Destroy
219981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief  Destroy the module object
220981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
221981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Destroy the module object.
222981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
223981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \note
224981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  hCmdDispatch - The object
225981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK - Unload succesfull, TI_NOK - Unload unsuccesfull
226981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
227981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
228981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS cmdDispatch_Destroy (TI_HANDLE hCmdDispatch)
229981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
230981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TCmdDispatchObj  *pCmdDispatch = (TCmdDispatchObj *)hCmdDispatch;
231981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
232981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    /* Free the module object */
233981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    os_memoryFree (pCmdDispatch->hOs, pCmdDispatch, sizeof(TCmdDispatchObj));
234981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
235981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    return TI_OK;
236981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
237981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
238981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
239981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/**
240981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \fn     cmdDispatch_ConfigParamsAccessTable
241981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief  Fill the configuration table with the Get/Set functions
242981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
243981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Called in the configuration phase by the driver, performs the following:
244981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *   - for each module that supply a Get/Set services to his parameters,
245981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *        fill the corresponding entry in the params access table with the following:
246981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *          - Get function
247981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *          - Set function
248981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *          - Handle to the module
249981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * This table is used when Getting/Setting a parameter from the OS abstraction layer.
250981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
251981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \note
252981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  pCmdDispatch - The object
253981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return void
254981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
255981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
256981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void cmdDispatch_ConfigParamsAccessTable (TCmdDispatchObj *pCmdDispatch)
257981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
258981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(AUTH_MODULE_PARAM) - 1].set = auth_setParam;
259981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(AUTH_MODULE_PARAM) - 1].get = auth_getParam;
260981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(AUTH_MODULE_PARAM) - 1].handle = pCmdDispatch->hAuth;
261981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
262981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(ASSOC_MODULE_PARAM) - 1].set = assoc_setParam;
263981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(ASSOC_MODULE_PARAM) - 1].get = assoc_getParam;
264981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(ASSOC_MODULE_PARAM) - 1].handle = pCmdDispatch->hAssoc;
265981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
266981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(RX_DATA_MODULE_PARAM) - 1].set = rxData_setParam;
267981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(RX_DATA_MODULE_PARAM) - 1].get = rxData_getParam;
268981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(RX_DATA_MODULE_PARAM) - 1].handle = pCmdDispatch->hRxData;
269981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
270981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(TX_CTRL_MODULE_PARAM) - 1].set = txCtrlParams_setParam;
271981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(TX_CTRL_MODULE_PARAM) - 1].get = txCtrlParams_getParam;
272981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(TX_CTRL_MODULE_PARAM) - 1].handle = pCmdDispatch->hTxCtrl;
273981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
274981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(CTRL_DATA_MODULE_PARAM) - 1].set = ctrlData_setParam;
275981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(CTRL_DATA_MODULE_PARAM) - 1].get = ctrlData_getParam;
276981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(CTRL_DATA_MODULE_PARAM) - 1].handle = pCmdDispatch->hCtrlData;
277981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
278981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SITE_MGR_MODULE_PARAM) - 1].set = siteMgr_setParam;
279981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SITE_MGR_MODULE_PARAM) - 1].get = siteMgr_getParam;
280981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SITE_MGR_MODULE_PARAM) - 1].handle = pCmdDispatch->hSiteMgr;
281981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
282981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(CONN_MODULE_PARAM) - 1].set = conn_setParam;
283981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(CONN_MODULE_PARAM) - 1].get = conn_getParam;
284981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(CONN_MODULE_PARAM) - 1].handle = pCmdDispatch->hConn;
285981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
286981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(RSN_MODULE_PARAM) - 1].set = (TParamFunc)rsn_setParam;
287981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(RSN_MODULE_PARAM) - 1].get = (TParamFunc)rsn_getParam;
288981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(RSN_MODULE_PARAM) - 1].handle = pCmdDispatch->hRsn;
289981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
290981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(TWD_MODULE_PARAM) - 1].set = cmdDispatch_SetTwdParam;
291981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(TWD_MODULE_PARAM) - 1].get = cmdDispatch_GetTwdParam;
292981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(TWD_MODULE_PARAM) - 1].handle = (TI_HANDLE)pCmdDispatch;
293981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
294981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(REPORT_MODULE_PARAM) - 1].set = (TParamFunc)report_SetParam;
295981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(REPORT_MODULE_PARAM) - 1].get = (TParamFunc)report_GetParam;
296981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(REPORT_MODULE_PARAM) - 1].handle = pCmdDispatch->hReport;
297981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
298981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SME_MODULE_PARAM) - 1].set = sme_SetParam;
299981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SME_MODULE_PARAM) - 1].get = sme_GetParam;
300981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SME_MODULE_PARAM) - 1].handle = pCmdDispatch->hSme;
301981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
302981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SCAN_CNCN_PARAM) - 1].set = scanCncnApp_SetParam;
303981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SCAN_CNCN_PARAM) - 1].get = scanCncnApp_GetParam;
304981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SCAN_CNCN_PARAM) - 1].handle = pCmdDispatch->hScanCncn;
305981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
306981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SCAN_MNGR_PARAM) - 1].set = scanMngr_setParam;
307981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SCAN_MNGR_PARAM) - 1].get = scanMngr_getParam;
308981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SCAN_MNGR_PARAM) - 1].handle = pCmdDispatch->hScanMngr;
309981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
310981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(MLME_SM_MODULE_PARAM) - 1].set = mlme_setParam;
311981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(MLME_SM_MODULE_PARAM) - 1].get = mlme_getParam;
312981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(MLME_SM_MODULE_PARAM) - 1].handle = pCmdDispatch->hMlmeSm;
313981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
314981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(REGULATORY_DOMAIN_MODULE_PARAM) - 1].set = regulatoryDomain_setParam;
315981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(REGULATORY_DOMAIN_MODULE_PARAM) - 1].get = regulatoryDomain_getParam;
316981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(REGULATORY_DOMAIN_MODULE_PARAM) - 1].handle = pCmdDispatch->hRegulatoryDomain;
317981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
318981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(MEASUREMENT_MODULE_PARAM) - 1].set = measurementMgr_setParam;
319981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(MEASUREMENT_MODULE_PARAM) - 1].get = measurementMgr_getParam;
320981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(MEASUREMENT_MODULE_PARAM) - 1].handle = pCmdDispatch->hMeasurementMgr;
321981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
322981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef XCC_MODULE_INCLUDED
323981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(XCC_MANAGER_MODULE_PARAM) - 1].set = XCCMngr_setParam;
324981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(XCC_MANAGER_MODULE_PARAM) - 1].get = XCCMngr_getParam;
325981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(XCC_MANAGER_MODULE_PARAM) - 1].handle = pCmdDispatch->hXCCMngr;
326981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif
327981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
328981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(ROAMING_MANAGER_MODULE_PARAM) - 1].set = roamingMngr_setParam;
329981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(ROAMING_MANAGER_MODULE_PARAM) - 1].get = roamingMngr_getParam;
330981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(ROAMING_MANAGER_MODULE_PARAM) - 1].handle = pCmdDispatch->hRoamingMngr;
331981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
332981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SOFT_GEMINI_PARAM) - 1].set = SoftGemini_setParam;
333981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SOFT_GEMINI_PARAM) - 1].get = SoftGemini_getParam;
334981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(SOFT_GEMINI_PARAM) - 1].handle = pCmdDispatch->hSoftGemini;
335981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
336981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(QOS_MANAGER_PARAM) - 1].set = qosMngr_setParams;
337981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(QOS_MANAGER_PARAM) - 1].get = qosMngr_getParams;
338981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(QOS_MANAGER_PARAM) - 1].handle = pCmdDispatch->hQosMngr;
339981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
340981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(POWER_MANAGER_PARAM) - 1].set = powerMgr_setParam;
341981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(POWER_MANAGER_PARAM) - 1].get = powerMgr_getParam;
342981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(POWER_MANAGER_PARAM) - 1].handle = pCmdDispatch->hPowerMgr;
343981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
344981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef TI_DBG
345981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(MISC_MODULE_PARAM) - 1].set = cmdDispatch_DebugFuncSet;
346981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(MISC_MODULE_PARAM) - 1].get = cmdDispatch_DebugFuncGet;	/*yael - this function is not in use*/
347981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(MISC_MODULE_PARAM) - 1].handle = (TI_HANDLE)pCmdDispatch;
348981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif
349981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
350981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(HEALTH_MONITOR_MODULE_PARAM) - 1].set = healthMonitor_SetParam;
351981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(HEALTH_MONITOR_MODULE_PARAM) - 1].get = healthMonitor_GetParam;
352981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(HEALTH_MONITOR_MODULE_PARAM) - 1].handle = pCmdDispatch->hHealthMonitor;
353653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt
354653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(CURR_BSS_MODULE_PARAM) - 1].set = currBSS_setParam;
355653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(CURR_BSS_MODULE_PARAM) - 1].get = currBSS_getParam;
356653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt    pCmdDispatch->paramAccessTable[GET_PARAM_MODULE_NUMBER(CURR_BSS_MODULE_PARAM) - 1].handle = pCmdDispatch->hCurrBss;
357981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
358981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
359981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
360981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/**
361981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \fn     cmdDispatch_SetParam
362981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief  Set a driver parameter
363981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
364981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Called by the OS abstraction layer in order to set a parameter in the driver.
365981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * If the parameter can not be set from outside the driver it returns a failure status.
366981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * The parameters is set to the module that uses as its father in the system
367981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *     (refer to the file paramOut.h for more explanations).
368981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
369981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \note
370981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  hCmdDispatch - The object
371981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  param        - The parameter information
372981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return result of parameter setting
373981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
374981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
375981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS cmdDispatch_SetParam (TI_HANDLE hCmdDispatch, void *param)
376981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
377981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TCmdDispatchObj *pCmdDispatch = (TCmdDispatchObj *)hCmdDispatch;
378981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    paramInfo_t     *pParam = (paramInfo_t *)param;
379981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32        moduleNumber;
380981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
381981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    moduleNumber = GET_PARAM_MODULE_NUMBER(pParam->paramType);
382981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
383981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    if  (moduleNumber > MAX_PARAM_MODULE_NUMBER)
384981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    {
385981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        return PARAM_MODULE_NUMBER_INVALID;
386981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    }
387981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
388981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	if ((pCmdDispatch->paramAccessTable[moduleNumber - 1].set == 0) ||
389981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt		(pCmdDispatch->paramAccessTable[moduleNumber - 1].get == 0) ||
390981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt		(pCmdDispatch->paramAccessTable[moduleNumber - 1].handle == 0))
391981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	{
392981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	    WLAN_OS_REPORT(("cmdDispatch_SetParam(): NULL pointers!!!, return, ParamType=0x%x\n", pParam->paramType));
393981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt		return TI_NOK;
394981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	}
395981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
396981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TRACE2(pCmdDispatch->hReport, REPORT_SEVERITY_INFORMATION , "cmdDispatch_SetParam(): ParamType=0x%x, ModuleNumber=0x%x\n",							 pParam->paramType, moduleNumber);
397981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
398981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    return pCmdDispatch->paramAccessTable[moduleNumber - 1].set(pCmdDispatch->paramAccessTable[moduleNumber - 1].handle, pParam);
399981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
400981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
401981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
402981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/**
403981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \fn     cmdDispatch_GetParam
404981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief  Get a driver parameter
405981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
406981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Called by the OS abstraction layer in order to get a parameter the driver.
407981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * If the parameter can not be get from outside the driver it returns a failure status.
408981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * The parameter is get from the module that uses as its father in the system
409981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    (refer to the file paramOut.h for more explanations).
410981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
411981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \note
412981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  hCmdDispatch - The object
413981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  param        - The parameter information
414981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return result of parameter getting
415981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
416981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
417981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS cmdDispatch_GetParam (TI_HANDLE hCmdDispatch, void *param)
418981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
419981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TCmdDispatchObj *pCmdDispatch = (TCmdDispatchObj *) hCmdDispatch;
420981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    paramInfo_t     *pParam = (paramInfo_t *) param;
421981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32        moduleNumber;
422981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_STATUS        status;
423981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
424981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    moduleNumber = GET_PARAM_MODULE_NUMBER(pParam->paramType);
425981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
426981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    if  (moduleNumber > MAX_PARAM_MODULE_NUMBER)
427981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    {
428981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        return PARAM_MODULE_NUMBER_INVALID;
429981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    }
430981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
431981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	if ((pCmdDispatch->paramAccessTable[moduleNumber - 1].set == 0) ||
432981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt		(pCmdDispatch->paramAccessTable[moduleNumber - 1].get == 0) ||
433981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt		(pCmdDispatch->paramAccessTable[moduleNumber - 1].handle == 0))
434981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	{
435981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	    WLAN_OS_REPORT(("cmdDispatch_GetParam(): NULL pointers!!!, return, ParamType=0x%x\n", pParam->paramType));
436981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt		return TI_NOK;
437981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	}
438981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
439981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TRACE2(pCmdDispatch->hReport, REPORT_SEVERITY_INFORMATION , "cmdDispatch_GetParam(): ParamType=0x%x, ModuleNumber=0x%x\n",							 pParam->paramType, moduleNumber);
440981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
441981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    status = pCmdDispatch->paramAccessTable[moduleNumber - 1].get(pCmdDispatch->paramAccessTable[moduleNumber - 1].handle, pParam);
442981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
443981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    return status;
444981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
445981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
446981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
447981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/**
448981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \fn     cmdDispatch_SetTwdParam / cmdDispatch_GetParam
449981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief  Set/Get a TWD parameter
450981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
451981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Set/Get a TWD parameter.
452981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
453981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \note
454981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  hCmdDispatch - The object
455981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  param        - The parameter information
456981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return parameter set/get result
457981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
458981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
459981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic TI_STATUS cmdDispatch_SetTwdParam (TI_HANDLE hCmdDispatch, paramInfo_t *pParam)
460981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
461981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TCmdDispatchObj *pCmdDispatch = (TCmdDispatchObj *)hCmdDispatch;
462981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
463981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pParam->paramType &= ~(SET_BIT | GET_BIT | TWD_MODULE_PARAM | ASYNC_PARAM | ALLOC_NEEDED_PARAM);
464981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
465981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    return TWD_SetParam (pCmdDispatch->hTWD, (TTwdParamInfo *)pParam);
466981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
467981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
468981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic TI_STATUS cmdDispatch_GetTwdParam (TI_HANDLE hCmdDispatch, paramInfo_t *pParam)
469981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
470981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TCmdDispatchObj *pCmdDispatch = (TCmdDispatchObj *)hCmdDispatch;
471981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
472981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    pParam->paramType &= ~(SET_BIT | GET_BIT | TWD_MODULE_PARAM | ASYNC_PARAM | ALLOC_NEEDED_PARAM);
473981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
474981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    return TWD_GetParam (pCmdDispatch->hTWD, (TTwdParamInfo *)pParam);
475981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
476981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
477981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
478981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
479981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
480981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/**
481981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \fn     cmdDispatch_DebugFuncSet / cmdDispatch_DebugFuncGet
482981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief  Set/Get a debug function parameter
483981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
484981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Set/Get a debug function parameter.
485981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
486981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \note
487981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  hCmdDispatch - The object
488981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param  param        - The parameter information
489981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return parameter set/get result
490981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
491981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
492981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
493981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef TI_DBG
494981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
495981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic TI_STATUS cmdDispatch_DebugFuncSet (TI_HANDLE hCmdDispatch, paramInfo_t *pParam)
496981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
497981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TCmdDispatchObj *pCmdDispatch = (TCmdDispatchObj *)hCmdDispatch;
498981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
499981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    if (hCmdDispatch == NULL || pParam == NULL)
500981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    {
501981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        return TI_NOK;
502981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    }
503981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
504981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    switch (pParam->paramType)
505981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    {
506981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	case DEBUG_ACTIVATE_FUNCTION:
507981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt		debugFunction (pCmdDispatch->pStadHandles,
508981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt					   *(TI_UINT32*)&pParam->content,
509981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt                       (void*)((TI_UINT32*)&pParam->content + 1));
510981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt		break;
511981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	default:
512981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTRACE1(pCmdDispatch->hReport, REPORT_SEVERITY_ERROR, "cmdDispatch_DebugFuncSet bad param=%X\n", pParam->paramType);
513981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt		break;
514981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    }
515981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    return TI_OK;
516981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
517981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
518981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
519981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
520981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*yael - this function is not in use*/
521981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic TI_STATUS cmdDispatch_DebugFuncGet (TI_HANDLE hCmdDispatch, paramInfo_t *pParam)
522981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
523981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    if (hCmdDispatch == NULL || pParam == NULL)
524981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    {
525981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        return TI_NOK;
526981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    }
527981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
528981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	/*yael - no use for that function */
529981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
530981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    return TI_OK;
531981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}
532981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
533981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif  /* TI_DBG */
534981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
535981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
536