Improve MessageQ recovery on DRA7xx QNX
[ipc/ipcdev.git] / qnx / src / ipc3x_dev / ti / syslink / ti-ipc / ti-ipc.h
1 /**
2  *  @file   ti-ipc.h
3  *
4  *  @brief      Definitions of ti-ipc internal types and structures.
5  *
6  *  ============================================================================
7  *
8  *  Copyright (c) 2013-2015, Texas Instruments Incorporated
9  *
10  *  Redistribution and use in source and binary forms, with or without
11  *  modification, are permitted provided that the following conditions
12  *  are met:
13  *
14  *  *  Redistributions of source code must retain the above copyright
15  *     notice, this list of conditions and the following disclaimer.
16  *
17  *  *  Redistributions in binary form must reproduce the above copyright
18  *     notice, this list of conditions and the following disclaimer in the
19  *     documentation and/or other materials provided with the distribution.
20  *
21  *  *  Neither the name of Texas Instruments Incorporated nor the names of
22  *     its contributors may be used to endorse or promote products derived
23  *     from this software without specific prior written permission.
24  *
25  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26  *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
27  *  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28  *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
29  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30  *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
32  *  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
33  *  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
34  *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
35  *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36  *  Contact information for paper mail:
37  *  Texas Instruments
38  *  Post Office Box 655303
39  *  Dallas, Texas 75265
40  *  Contact information:
41  *  http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
42  *  DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
43  *  ============================================================================
44  *
45  */
48 #ifndef TIIPC_H_0xf2ba
49 #define TIIPC_H_0xf2ba
52 #if defined (__cplusplus)
53 extern "C" {
54 #endif
57 /* =============================================================================
58  *  Macros and types
59  * =============================================================================
60  */
61 /*!
62  *  @brief  Max number of user processes supported
63  */
64 #define  MAX_PROCESSES          256u
66 /*!
67  *  @brief  Max number of connections supported
68  */
69 #define  MAX_CONNS              64
71 /*!
72  *  @brief  Number of event entries to cache
73  */
74 #define  CACHE_NUM              10
76 /*!
77  *  @brief  Structure that defines the MsgList elem
78  */
79 typedef struct MsgList {
80     int index;
81     int num_events;
82     struct MsgList *next;
83     struct MsgList *prev;
84 } MsgList_t;
86 /*!
87  *  @brief  Structure that defines the Waiting Readers list element
88  */
89 typedef struct WaitingReaders {
90     int rcvid;
91     struct WaitingReaders *next;
92 } WaitingReaders_t;
95 /* =============================================================================
96  *  Function Prototypes
97  * =============================================================================
98  */
99 /*!
100  *  @brief  Setup function for the ti-ipc module
101  */
102 int ti_ipc_setup (bool recover);
104 /*!
105  *  @brief  Destroy function for the ti-ipc module
106  */
107 void ti_ipc_destroy (bool recover);
111 #if defined (__cplusplus)
113 #endif /* defined (__cplusplus) */
116 #endif /* TIIPC_H_0xf2ba */