IPC API  3.30.01.12
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
MultiProc.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012-2014, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
69 #ifndef ti_ipc_MultiProc__include
70 #define ti_ipc_MultiProc__include
71 
72 #if defined (__cplusplus)
73 extern "C" {
74 #endif
75 
76 /* =============================================================================
77  * All success and failure codes for the module
78  * =============================================================================
79  */
80 
84 #define MultiProc_S_BUSY (2)
85 
89 #define MultiProc_S_ALREADYSETUP (1)
90 
94 #define MultiProc_S_SUCCESS (0)
95 
99 #define MultiProc_E_FAIL (-1)
100 
104 #define MultiProc_E_INVALIDARG (-2)
105 
109 #define MultiProc_E_MEMORY (-3)
110 
114 #define MultiProc_E_ALREADYEXISTS (-4)
115 
119 #define MultiProc_E_NOTFOUND (-5)
120 
124 #define MultiProc_E_TIMEOUT (-6)
125 
129 #define MultiProc_E_INVALIDSTATE (-7)
130 
134 #define MultiProc_E_OSFAILURE (-8)
135 
139 #define MultiProc_E_RESOURCE (-9)
140 
144 #define MultiProc_E_RESTART (-10)
145 
146 /* =============================================================================
147  * Macros
148  * =============================================================================
149  */
150 
154 #define MultiProc_INVALIDID (0xFFFF)
155 
156 /* =============================================================================
157  * MultiProc Module-wide Functions
158  * =============================================================================
159  */
160 
170 UInt16 MultiProc_getBaseIdOfCluster(Void);
171 
184 UInt16 MultiProc_getId(String name);
185 
197 String MultiProc_getName(UInt16 id);
198 
204 UInt16 MultiProc_getNumProcessors(Void);
205 
211 UInt16 MultiProc_getNumProcsInCluster(Void);
212 
220 UInt16 MultiProc_self(Void);
221 
240 Int MultiProc_setLocalId(UInt16 id);
241 
242 #if defined (__cplusplus)
243 }
244 #endif /* defined (__cplusplus) */
245 
246 #endif /* ti_ipc_MultiProc__include */
UInt16 MultiProc_getNumProcsInCluster(Void)
Gets the number of processors in the cluster.
String MultiProc_getName(UInt16 id)
Gets the name of a processor.
UInt16 MultiProc_getId(String name)
Gets the MultiProc id.
UInt16 MultiProc_getNumProcessors(Void)
Gets the number of processors.
UInt16 MultiProc_self(Void)
Gets executing processor's MultiProc id.
UInt16 MultiProc_getBaseIdOfCluster(Void)
Gets the base MultiProc id of the cluster.
Int MultiProc_setLocalId(UInt16 id)
Sets executing processor's MultiProc id.
Copyright 2014, Texas Instruments Incorporated