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 /* */ 39 /* MODULE: CmdMBox_api.h */ 40 /* PURPOSE: CmdMBox api h file */ 41 /* */ 42 /**********************************************************************************/ 43 #ifndef _CMDMBOX_API_H_ 44 #define _CMDMBOX_API_H_ 45 46 #include "whalCommon.h" 47 #include "public_commands.h" 48 49 /***************************************************************************** 50 ** Defines ** 51 *****************************************************************************/ 52 53 /***************************************************************************** 54 ** Enums ** 55 *****************************************************************************/ 56 57 /***************************************************************************** 58 ** Types ** 59 *****************************************************************************/ 60 typedef int (*CmdMBox_CB_t )(TI_HANDLE objectHandle); 61 62 63 /***************************************************************************** 64 ** API functions definitions ** 65 *****************************************************************************/ 66 TI_HANDLE CmdMBox_Create(TI_HANDLE hOs); 67 int CmdMBox_Destroy(TI_HANDLE hCmdMBox); 68 int CmdMBox_Config(TI_HANDLE hCmdMBox, TI_HANDLE hTNETWIF, TI_HANDLE hFwEvent, TI_HANDLE hCmdQueue, TI_HANDLE hReport); 69 TI_STATUS CmdMBox_ConfigHw(TI_HANDLE hCmdMBox, UINT8 module_id, fnotify_t fCb, TI_HANDLE hCb); 70 int CmdMBox_SetModeNormal(TI_HANDLE hCmdMBox); 71 int CmdMBox_Restart(TI_HANDLE hCmdMBox); 72 int CmdMBox_SendCmd(TI_HANDLE hCmdMBox, Command_e cmdType, UINT8* pParamsBuf, UINT32 paramsLen); 73 int CmdMBox_GetResult(TI_HANDLE hCmdMBox, UINT8* pParamsBuf, UINT32 paramsLen, UINT32* status); 74 TI_STATUS CmdMBox_CmdCmplt(TI_HANDLE hCmdMBox); 75 TI_STATUS CmdMBox_GetStatus(TI_HANDLE hCmdMBox); 76 #endif 77