SysLink API Reference
2.21.03.11
Main Page
Data Structures
Files
Related Pages
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
ti
ipc
SharedRegion.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2012, 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
118
#define SharedRegion_S_BUSY 2
119
124
#define SharedRegion_S_ALREADYSETUP 1
125
130
#define SharedRegion_S_SUCCESS 0
131
136
#define SharedRegion_E_FAIL -1
137
142
#define SharedRegion_E_INVALIDARG -2
143
148
#define SharedRegion_E_MEMORY -3
149
154
#define SharedRegion_E_ALREADYEXISTS -4
155
160
#define SharedRegion_E_NOTFOUND -5
161
166
#define SharedRegion_E_TIMEOUT -6
167
172
#define SharedRegion_E_INVALIDSTATE -7
173
178
#define SharedRegion_E_OSFAILURE -8
179
184
#define SharedRegion_E_RESOURCE -9
185
190
#define SharedRegion_E_RESTART -10
191
192
/* =============================================================================
193
* Macros
194
* =============================================================================
195
*/
196
201
#define SharedRegion_INVALIDREGIONID (0xFFFF)
202
203
/* =============================================================================
204
* Structures & Enums
205
* =============================================================================
206
*/
207
211
typedef
Bits32
SharedRegion_SRPtr
;
212
216
typedef
struct
SharedRegion_Entry
{
217
Ptr
base
;
220
SizeT
len
;
227
UInt16
ownerProcId
;
234
Bool
isValid
;
237
Bool
cacheEnable
;
246
SizeT
cacheLineSize
;
254
Bool
createHeap
;
263
String
name
;
269
}
SharedRegion_Entry
;
270
271
272
/* =============================================================================
273
* SharedRegion Module-wide Functions
274
* =============================================================================
275
*/
276
298
Int
SharedRegion_clearEntry
(
UInt16
regionId);
299
307
Void
SharedRegion_entryInit
(
SharedRegion_Entry
*entry);
308
318
SizeT
SharedRegion_getCacheLineSize
(
UInt16
regionId);
319
332
Int
SharedRegion_getEntry
(
UInt16
regionId,
SharedRegion_Entry
*entry);
333
370
Ptr
SharedRegion_getHeap
(
UInt16
regionId);
371
379
UInt16
SharedRegion_getId
(
Ptr
addr);
380
388
UInt16
SharedRegion_getIdByName
(
String
name);
389
395
UInt16
SharedRegion_getNumRegions
(
Void
);
396
406
Ptr
SharedRegion_getPtr
(SharedRegion_SRPtr srptr);
407
418
SharedRegion_SRPtr
SharedRegion_getSRPtr
(
Ptr
addr,
UInt16
regionId);
419
427
Bool
SharedRegion_isCacheEnabled
(
UInt16
regionId);
428
457
Int
SharedRegion_setEntry
(
UInt16
regionId,
SharedRegion_Entry
*entry);
458
464
Bool
SharedRegion_translateEnabled
(
Void
);
465
471
SharedRegion_SRPtr
SharedRegion_invalidSRPtr
(
Void
);
472
473
#if defined (__cplusplus)
474
}
475
#endif
/* defined (__cplusplus) */
476
477
#endif
/* ti_ipc_SharedRegion__include */
478
479
/*
480
* @(#) ti.ipc; 1, 0, 0, 0,; 11-7-2012 13:07:52; /db/vtree/library/trees/ipc/ipc-i09/src/ xlibrary
481
482
*/
483
Copyright 2014, Texas Instruments Incorporated