• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2 **+-----------------------------------------------------------------------+**
3 **|                                                                       |**
4 **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
5 **| All rights reserved.                                                  |**
6 **|                                                                       |**
7 **| Redistribution and use in source and binary forms, with or without    |**
8 **| modification, are permitted provided that the following conditions    |**
9 **| are met:                                                              |**
10 **|                                                                       |**
11 **|  * Redistributions of source code must retain the above copyright     |**
12 **|    notice, this list of conditions and the following disclaimer.      |**
13 **|  * Redistributions in binary form must reproduce the above copyright  |**
14 **|    notice, this list of conditions and the following disclaimer in    |**
15 **|    the documentation and/or other materials provided with the         |**
16 **|    distribution.                                                      |**
17 **|  * Neither the name Texas Instruments nor the names of its            |**
18 **|    contributors may be used to endorse or promote products derived    |**
19 **|    from this software without specific prior written permission.      |**
20 **|                                                                       |**
21 **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
22 **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
23 **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
24 **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
25 **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
26 **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
27 **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
28 **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
29 **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
30 **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
31 **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
32 **|                                                                       |**
33 **+-----------------------------------------------------------------------+**
34 ****************************************************************************/
35 
36 /****************************************************************************
37  *
38  *   MODULE:  whalHwMboxCmd.h
39  *   PURPOSE: wlan hardware commands handler
40  *
41  ****************************************************************************/
42 
43 #ifndef _WHAL_HW_MBOX_CMD_H
44 #define _WHAL_HW_MBOX_CMD_H
45 
46 
47 #include "whalCommon.h"
48 #include "whalParams.h"
49 #include "public_infoele.h"
50 
51 typedef struct _HwMboxCmd_T
52 {
53 	TI_HANDLE		hCmdMboxQueue;
54 	WhalParams_T	*pWhalParams;
55 
56 	TI_HANDLE		hOs;
57 	TI_HANDLE		hReport;
58 
59 } HwMboxCmd_T;
60 
61 extern HwMboxCmd_T *whal_hwMboxCmd_Create(TI_HANDLE hOs, WhalParams_T *pWhalParams);
62 extern int whal_hwMboxCmd_Destroy		(HwMboxCmd_T *pHwMboxCmd);
63 extern int whal_hwMboxCmd_Config		(HwMboxCmd_T *pHwMboxCmd,TI_HANDLE hCmdMboxQueue, TI_HANDLE hReport);
64 extern int whal_hwMboxCmd_Reset				(HwMboxCmd_T *pHwMboxCmd);
65 extern int whal_hwMboxCmd_RxReset			(HwMboxCmd_T *pHwMboxCmd);
66 extern int whal_hwMboxCmd_StartBss          (HwMboxCmd_T *pHwMboxCmd, BSS_e BssType, void *JoinCompleteCB, TI_HANDLE CB_handle);
67 extern int whal_hwMboxCmd_EnableRx			(HwMboxCmd_T *pHwMboxCmd);
68 extern int whal_hwMboxCmd_LNAControl		(HwMboxCmd_T *pHwMboxCmd, UINT8 LNAControlField);
69 extern int whal_hwMboxCmd_EnableTx			(HwMboxCmd_T *pHwMboxCmd,UINT8 channel);
70 extern int whal_hwMboxCmd_DisableRx			(HwMboxCmd_T *pHwMboxCmd);
71 extern int whal_hwMboxCmd_DisableTx			(HwMboxCmd_T *pHwMboxCmd);
72 extern int whal_hwMboxCmd_InitMemory		(HwMboxCmd_T *pHwMboxCmd);
73 extern int whal_hwMboxCmd_ConfigureTemplateFrame(HwMboxCmd_T *pHwMboxCmd, UINT8 *pFrame, UINT16 FrameSize,
74                                                  Command_e templateType, void *CBFunc,TI_HANDLE CBObj);
75 extern int whal_hwMboxCmd_TimTemplate		(HwMboxCmd_T *pHwMboxCmd, char BmapControl, char *PartialBmapVec, int PartialBmapLen);
76 extern int whal_hwMboxCmd_StartScan         (HwMboxCmd_T *pHwMboxCmd, ScanParameters_t* pScanParams ,void* ScanCommandResponseCB, TI_HANDLE CB_handle);
77 extern int whal_hwMboxCmd_StartSPSScan      (HwMboxCmd_T *pHwMboxCmd, ScheduledScanParameters_t* pScanParams, void* ScanCommandResponseCB, TI_HANDLE CB_handle);
78 
79 extern int whal_hwMboxCmd_StopScan			(HwMboxCmd_T *pHwMboxCmd, void *ScanCommandResponseCB, TI_HANDLE CB_handle);
80 extern int whal_hwMboxCmd_StopSPSScan       (HwMboxCmd_T *pHwMboxCmd, void* ScanCommandResponseCB, TI_HANDLE CB_handle);
81 extern int whal_hwMboxCmd_GenCmd			(HwMboxCmd_T *pHwMboxCmd,short CmdId, char* pBuf, UINT32 Length);
82 extern int whal_hwMboxCmd_WriteMemory		(HwMboxCmd_T *pHwMboxCmd, UINT32 Address, UINT32 Size,PVOID  pValue);
83 extern int whal_hwMboxCmd_NoiseHistogramCmd (HwMboxCmd_T *pHwMboxCmd, whalCtrl_noiseHistogram_t* pNoiseHistParams);
84 
85 extern int whal_hwMboxCmd_SwitchChannelCmd (HwMboxCmd_T *pHwMboxCmd, whalCtrl_switchChannelCmd_t *pSwitchChannelCmd);
86 extern int whal_hwMboxCmd_SwitchChannelCancelCmd (HwMboxCmd_T *pHwMboxCmd);
87 extern int whal_hwMboxCmd_SetKey(HwMboxCmd_T *pHwMboxCmd, int Action, char *MacAddr, int KeySize,
88 				int KeyType, int KeyId, char *Key, UINT16 SecuritySeqNumLow, UINT32 SecuritySeqNumHigh,
89 				void *CB_Func, TI_HANDLE CB_handle);
90 extern int whal_hwMboxCmd_PowerMgmtConfiguration (HwMboxCmd_T *pHwMboxCmd, whalCtrl_powerSaveParams_t* powerSaveParams);
91 /*	whalCtrl_powerMgmtConfig_t* pPowerMgmtParams); */
92 extern int whal_hwMboxCmd_StartNewScan (HwMboxCmd_T *pHwMboxCmd, whalCtrl_scan_t* pScanParams);
93 extern int whal_hwMboxCmd_FwDisconnect(HwMboxCmd_T *pHwMboxCmd, uint32 ConfigOptions, uint32 FilterOptions);
94 
95 extern int whal_hwMboxCmd_measurement (HwMboxCmd_T *pHwMboxCmd, whalCtrl_MeasurementParameters_t* pMeasurementParams,
96 									   void* MeasureCommandResponseCB, TI_HANDLE CB_handle);
97 extern int whal_hwMboxCmd_measurementStop (HwMboxCmd_T *pHwMboxCmd, void* MeasureCommandResponseCB, TI_HANDLE CB_handle);
98 extern int whal_hwMboxCmd_ApDiscovery (HwMboxCmd_T *pHwMboxCmd, whalCtrl_ApDiscoveryParameters_t* pMeasurementParams);
99 extern int whal_hwMboxCmd_ApDiscoveryStop (HwMboxCmd_T *pHwMboxCmd);
100 extern int whal_hwMboxCmd_HealthCheck(HwMboxCmd_T *pHwMboxCmd);
101 
102 
103 #endif
104