70 #ifndef ti_ipc_HeapBufMP__include
71 #define ti_ipc_HeapBufMP__include
73 #if defined (__cplusplus)
87 #define HeapBufMP_S_BUSY 2
92 #define HeapBufMP_S_ALREADYSETUP 1
97 #define HeapBufMP_S_SUCCESS 0
102 #define HeapBufMP_E_FAIL -1
107 #define HeapBufMP_E_INVALIDARG -2
112 #define HeapBufMP_E_MEMORY -3
117 #define HeapBufMP_E_ALREADYEXISTS -4
122 #define HeapBufMP_E_NOTFOUND -5
127 #define HeapBufMP_E_TIMEOUT -6
132 #define HeapBufMP_E_INVALIDSTATE -7
137 #define HeapBufMP_E_OSFAILURE -8
142 #define HeapBufMP_E_RESOURCE -9
147 #define HeapBufMP_E_RESTART -10
330 Int HeapBufMP_openByAddr(Ptr sharedAddr, HeapBufMP_Handle *handlePtr);
386 Void *
HeapBufMP_alloc(HeapBufMP_Handle handle, SizeT size, SizeT align);
405 Void
HeapBufMP_free(HeapBufMP_Handle handle, Ptr block, SizeT size);
435 #if defined (__cplusplus)
SizeT blockSize
Size (in MAUs) of each block.
Definition: HeapBufMP.h:194
Void HeapBufMP_getExtendedStats(HeapBufMP_Handle handle, HeapBufMP_ExtendedStats *stats)
Get extended memory statistics.
HeapBufMP_Handle HeapBufMP_create(const HeapBufMP_Params *params)
Create a HeapBufMP instance.
struct GateMP_Object * GateMP_Handle
GateMP_Handle type.
Definition: GateMP.h:222
GateMP_Handle gate
GateMP used for critical region management of the shared memory.
Definition: HeapBufMP.h:232
struct HeapBufMP_Object * HeapBufMP_Handle
HeapBufMP_Handle type.
Definition: HeapBufMP.h:157
Int HeapBufMP_close(HeapBufMP_Handle *handlePtr)
Close a HeapBufMP instance.
UInt maxAllocatedBlocks
Definition: HeapBufMP.h:247
Stats structure for HeapBufMP_getExtendedStats()
Definition: HeapBufMP.h:246
struct HeapBufMP_Params HeapBufMP_Params
Structure defining parameters for the HeapBufMP module.
SizeT align
Alignment (in MAUs) of each block.
Definition: HeapBufMP.h:213
Multiple processor gate that provides local and remote context protection.
Void HeapBufMP_getStats(HeapBufMP_Handle handle, Ptr stats)
Get memory statistics.
struct HeapBufMP_ExtendedStats HeapBufMP_ExtendedStats
Stats structure for HeapBufMP_getExtendedStats()
Void HeapBufMP_free(HeapBufMP_Handle handle, Ptr block, SizeT size)
Frees a block of memory.
UInt16 regionId
Shared region ID.
Definition: HeapBufMP.h:176
Bool exact
Use exact matching.
Definition: HeapBufMP.h:224
String name
Name of this instance.
Definition: HeapBufMP.h:165
Void * HeapBufMP_alloc(HeapBufMP_Handle handle, SizeT size, SizeT align)
Allocate a block of memory of specified size and alignment.
UInt numBlocks
Number of fixed-size blocks.
Definition: HeapBufMP.h:207
Structure defining parameters for the HeapBufMP module.
Definition: HeapBufMP.h:164
Void HeapBufMP_Params_init(HeapBufMP_Params *params)
Initialize a HeapBufMP parameters struct.
Int HeapBufMP_delete(HeapBufMP_Handle *handlePtr)
Delete a created HeapBufMP instance.
UInt numAllocatedBlocks
Definition: HeapBufMP.h:252
Int HeapBufMP_open(String name, HeapBufMP_Handle *handlePtr)
Open a created HeapBufMP instance.