99 #ifndef ti_ipc_HeapMultiBufMP__include
100 #define ti_ipc_HeapMultiBufMP__include
102 #if defined (__cplusplus)
116 #define HeapMultiBufMP_S_BUSY 2
121 #define HeapMultiBufMP_S_ALREADYSETUP 1
126 #define HeapMultiBufMP_S_SUCCESS 0
131 #define HeapMultiBufMP_E_FAIL -1
136 #define HeapMultiBufMP_E_INVALIDARG -2
141 #define HeapMultiBufMP_E_MEMORY -3
146 #define HeapMultiBufMP_E_ALREADYEXISTS -4
151 #define HeapMultiBufMP_E_NOTFOUND -5
156 #define HeapMultiBufMP_E_TIMEOUT -6
161 #define HeapMultiBufMP_E_INVALIDSTATE -7
165 #define HeapMultiBufMP_E_OSFAILURE -8
169 #define HeapMultiBufMP_E_RESOURCE -9
173 #define HeapMultiBufMP_E_RESTART -10
183 #define HeapMultiBufMP_MAXBUCKETS ((UInt)8)
379 Int HeapMultiBufMP_openByAddr(Ptr sharedAddr, HeapMultiBufMP_Handle *handlePtr);
463 #if defined (__cplusplus)
Void * HeapMultiBufMP_alloc(HeapMultiBufMP_Handle handle, SizeT size, SizeT align)
Allocate a block of memory of specified size and alignment.
Structure defining parameters for the HeapMultiBufMP module.
Definition: HeapMultiBufMP.h:213
UInt numBlocks[((UInt) 8)]
Definition: HeapMultiBufMP.h:291
UInt numBuckets
Definition: HeapMultiBufMP.h:288
Stats structure for the HeapMultiBufMP_getExtendedStats() API.
Definition: HeapMultiBufMP.h:287
struct GateMP_Object * GateMP_Handle
GateMP_Handle type.
Definition: GateMP.h:224
SizeT align
Definition: HeapMultiBufMP.h:207
struct HeapMultiBufMP_ExtendedStats HeapMultiBufMP_ExtendedStats
Stats structure for the HeapMultiBufMP_getExtendedStats() API.
Bool exact
Use exact matching.
Definition: HeapMultiBufMP.h:221
GateMP_Handle gate
GateMP used for critical region management of the shared memory.
Definition: HeapMultiBufMP.h:214
struct HeapMultiBufMP_Params HeapMultiBufMP_Params
Structure defining parameters for the HeapMultiBufMP module.
UInt blockSize[((UInt) 8)]
Definition: HeapMultiBufMP.h:294
HeapMultiBufMP_Bucket * bucketEntries
Bucket Entries.
Definition: HeapMultiBufMP.h:245
Multiple processor gate that provides local and remote context protection.
Void HeapMultiBufMP_getStats(HeapMultiBufMP_Handle handle, Ptr stats)
Get memory statistics.
Int HeapMultiBufMP_delete(HeapMultiBufMP_Handle *handlePtr)
Delete a created HeapMultiBufMP instance.
Structure for bucket configuration.
Definition: HeapMultiBufMP.h:204
String name
Name of this instance.
Definition: HeapMultiBufMP.h:228
Void HeapMultiBufMP_getExtendedStats(HeapMultiBufMP_Handle handle, HeapMultiBufMP_ExtendedStats *stats)
Get extended memory statistics.
Int numBuckets
Number of buckets in HeapMultiBufMP_Params.bucketEntries.
Definition: HeapMultiBufMP.h:239
UInt16 regionId
Shared region ID.
Definition: HeapMultiBufMP.h:263
#define HeapMultiBufMP_MAXBUCKETS
Maximum number of buffer buckets supported.
Definition: HeapMultiBufMP.h:183
UInt numAllocatedBlocks[((UInt) 8)]
Definition: HeapMultiBufMP.h:305
Void HeapMultiBufMP_free(HeapMultiBufMP_Handle handle, Ptr block, SizeT size)
Frees a block of memory.
HeapMultiBufMP_Handle HeapMultiBufMP_create(const HeapMultiBufMP_Params *params)
Create a HeapMultiBufMP instance.
UInt numBlocks
Definition: HeapMultiBufMP.h:206
UInt align[((UInt) 8)]
Definition: HeapMultiBufMP.h:297
UInt maxAllocatedBlocks[((UInt) 8)]
Definition: HeapMultiBufMP.h:300
Int HeapMultiBufMP_open(String name, HeapMultiBufMP_Handle *handlePtr)
Open a created HeapMultiBufMP instance.
Int HeapMultiBufMP_close(HeapMultiBufMP_Handle *handlePtr)
Close a HeapMultiBufMP instance.
struct HeapMultiBufMP_Object * HeapMultiBufMP_Handle
HeapMultiBufMP_Handle type.
Definition: HeapMultiBufMP.h:193
struct HeapMultiBufMP_Bucket HeapMultiBufMP_Bucket
Structure for bucket configuration.
Void HeapMultiBufMP_Params_init(HeapMultiBufMP_Params *params)
Initialize a HeapMultiBufMP parameters struct.
SizeT blockSize
Definition: HeapMultiBufMP.h:205