Project
1.0
Main Page
Data Structures
Files
Related Pages
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
exports
ipc_1_25_02_12
packages
ti
ipc
SharedRegion.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 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
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,; 1-23-2013 13:22:43; /db/vtree/library/trees/ipc/ipc-i12/src/ xlibrary
481
482
*/
483
Copyright 2013, Texas Instruments Incorporated