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)
112 }
113 #endif /* defined (__cplusplus) */
116 #endif /* TIIPC_H_0xf2ba */