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