IPC API
3.21.00.07
Main Page
Modules
Data Structures
Files
Related Pages
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
ti
ipc
SharedRegion.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2012-2013, 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
*/
101
#ifndef ti_ipc_SharedRegion__include
102
#define ti_ipc_SharedRegion__include
103
104
105
#if defined (__cplusplus)
106
extern
"C"
{
107
#endif
108
109
/* ============================================================================
110
* All success and failure codes for the module
111
* =============================================================================
112
*/
113
117
#define SharedRegion_S_BUSY 2
118
122
#define SharedRegion_S_ALREADYSETUP 1
123
127
#define SharedRegion_S_SUCCESS 0
128
132
#define SharedRegion_E_FAIL -1
133
137
#define SharedRegion_E_INVALIDARG -2
138
142
#define SharedRegion_E_MEMORY -3
143
147
#define SharedRegion_E_ALREADYEXISTS -4
148
152
#define SharedRegion_E_NOTFOUND -5
153
157
#define SharedRegion_E_TIMEOUT -6
158
162
#define SharedRegion_E_INVALIDSTATE -7
163
167
#define SharedRegion_E_OSFAILURE -8
168
172
#define SharedRegion_E_RESOURCE -9
173
177
#define SharedRegion_E_RESTART -10
178
179
/* =============================================================================
180
* Macros
181
* =============================================================================
182
*/
183
187
#define SharedRegion_INVALIDREGIONID (0xFFFF)
188
189
/* =============================================================================
190
* Structures & Enums
191
* =============================================================================
192
*/
193
197
typedef
Bits32
SharedRegion_SRPtr
;
198
202
typedef
struct
SharedRegion_Entry
{
203
Ptr
base
;
206
SizeT
len
;
213
UInt16
ownerProcId
;
220
Bool
isValid
;
223
Bool
cacheEnable
;
232
SizeT
cacheLineSize
;
240
Bool
createHeap
;
249
String
name
;
255
}
SharedRegion_Entry
;
256
257
258
/* =============================================================================
259
* SharedRegion Module-wide Functions
260
* =============================================================================
261
*/
262
284
Int
SharedRegion_clearEntry
(UInt16 regionId);
285
293
Void
SharedRegion_entryInit
(
SharedRegion_Entry
*entry);
294
304
SizeT
SharedRegion_getCacheLineSize
(UInt16 regionId);
305
318
Int
SharedRegion_getEntry
(UInt16 regionId,
SharedRegion_Entry
*entry);
319
346
Ptr
SharedRegion_getHeap
(UInt16 regionId);
347
355
UInt16
SharedRegion_getId
(Ptr addr);
356
364
UInt16
SharedRegion_getIdByName
(String name);
365
371
UInt16
SharedRegion_getNumRegions
(Void);
372
382
Ptr
SharedRegion_getPtr
(SharedRegion_SRPtr srptr);
383
394
SharedRegion_SRPtr
SharedRegion_getSRPtr
(Ptr addr, UInt16 regionId);
395
403
Bool
SharedRegion_isCacheEnabled
(UInt16 regionId);
404
433
Int
SharedRegion_setEntry
(UInt16 regionId,
SharedRegion_Entry
*entry);
434
440
Bool
SharedRegion_translateEnabled
(Void);
441
447
SharedRegion_SRPtr
SharedRegion_invalidSRPtr
(Void);
448
449
#if defined (__cplusplus)
450
}
451
#endif
/* defined (__cplusplus) */
452
453
#endif
/* ti_ipc_SharedRegion__include */
Copyright 2014, Texas Instruments Incorporated