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: eventMbox_api.h : event Mail Box API 39 * PURPOSE: Notify EventMbox in case of an incoming event from the FW 40 * 41 ****************************************************************************/ 42 #ifndef _EVENT_MBOX_API_H 43 #define _EVENT_MBOX_API_H 44 45 /* 46 * whal_hwMboxDataEvCB : This Call back is for EventMbox Client 47 * that expect an event with Data associated 48 * str: The Data String 49 * strLen : The Length of the Data 50 */ 51 typedef void (*whal_hwMboxDataEvCB)(void *pObj, char* str, UINT32 strLen); 52 53 /* 54 * whal_hwMboxDataEvCB : This Call back is for EventMbox Client 55 * that expect an event without any Data 56 */ 57 typedef void (*whal_hwMboxEvCB)(void *pObj); 58 59 60 /***************************************************************************** 61 ** API ** 62 *****************************************************************************/ 63 64 TI_HANDLE eventMbox_Create (TI_HANDLE hOs); 65 void eventMbox_Destroy (TI_HANDLE hEventMbox); 66 void eventMbox_Config (TI_HANDLE hEventMbox, TI_HANDLE hTNETWIF, TI_HANDLE hHwIntr, 67 TI_HANDLE hReport, TI_HANDLE hFwEvent, TI_HANDLE hWhalCtrl); 68 TI_STATUS eventMbox_ConfigHw (TI_HANDLE hEventMbox, UINT8 module_id, fnotify_t fCb, TI_HANDLE hCb); 69 void eventMbox_InitComplete (TI_HANDLE hEventMbox); 70 int eventMbox_RegisterEventCB (TI_HANDLE hEventMbox, UINT32 EvID, void* CbFunc, TI_HANDLE CbObj); 71 TI_STATUS eventMbox_Event (TI_HANDLE hEventMbox); 72 int eventMbox_EvMask (TI_HANDLE hEventMbox, UINT32 EvID); 73 int eventMbox_EvUnMask (TI_HANDLE hEventMbox, UINT32 EvID); 74 void eventMbox_Print (TI_HANDLE hEventMbox); 75 76 int eventMbox_Stop(TI_HANDLE hEventMbox); 77 78 #endif /* _EVENT_MBOX_API_H */ 79