Home | History | Annotate | Download | only in inc
      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