65 #ifndef ti_sysbios_heaps_HeapTrack__include 66 #define ti_sysbios_heaps_HeapTrack__include 83 #define ti_sysbios_heaps_HeapTrack_long_names 84 #include "HeapTrack_defs.h" 94 #define HeapTrack_A_doubleFree "Buffer already free" 100 #define HeapTrack_A_bufOverflow "Buffer overflow" 105 #define HeapTrack_A_notEmpty "Heap not empty" 110 #define HeapTrack_A_nullObject "HeapTrack_printHeap called with null obj" 171 #define ti_sysbios_heaps_HeapTrack_NOSCRIBBLE 0x05101920 172 #define ti_sysbios_heaps_HeapTrack_STARTSCRIBBLE 0xa5a5a5a5 184 #define ti_sysbios_heaps_HeapTrack_Handle_upCast(handle) ((IHeap_Handle)(handle)) 197 extern void HeapTrack_free(HeapTrack_Handle heap,
void * buf,
size_t size);
335 return ((HeapTrack_Handle)str);
344 extern void HeapTrack_init(
void);
345 #define HeapTrack_module ((HeapTrack_Module_State *) &(HeapTrack_Module_state)) 355 #undef ti_sysbios_heaps_HeapTrack_long_names 356 #include "HeapTrack_defs.h" void HeapTrack_destruct(HeapTrack_Struct *obj)
Destruct a HeapTrack heap.
HeapTrack_Handle HeapTrack_Object_first(void)
return handle of the first HeapTrack on HeapTrack list
Structure added to the end of each allocated block.
Definition: HeapTrack.h:140
uint32_t tick
Definition: HeapTrack.h:144
void HeapTrack_printHeap(HeapTrack_Handle heap)
Print details for a HeapTrack instance.
size_t size
Definition: HeapTrack.h:160
Queue_Struct trackQueue
Definition: HeapTrack.h:159
size_t size
Definition: HeapTrack.h:143
Static and run-time memory manager.
Definition: HeapTrack.h:148
Definition: HeapTrack.h:152
void HeapTrack_free(HeapTrack_Handle heap, void *buf, size_t size)
Free a block of memory back to the heap.
HeapTrack_Handle HeapTrack_Object_next(HeapTrack_Handle heap)
return handle of the next HeapTrack on HeapTrack list
Opaque queue element.
Definition: Queue.h:204
IHeap_Object iheap
Definition: HeapTrack.h:153
Queue_Elem queElem
Definition: HeapTrack.h:142
void HeapTrack_delete(HeapTrack_Handle *heap)
Delete a HeapTrack heap.
bool HeapTrack_isBlocking(HeapTrack_Handle heap)
Can this heap block the caller.
Error block.
Definition: Error.h:152
HeapTrack_Handle HeapTrack_construct(HeapTrack_Struct *obj, const HeapTrack_Params *params)
Construct a HeapTrack heap.
HeapTrack_Struct HeapTrack_Object
Definition: HeapTrack.h:175
void HeapTrack_Params_init(HeapTrack_Params *prms)
Initialize the HeapTrack_Params structure with default values.
Interface to heap functions.
void * HeapTrack_alloc(HeapTrack_Handle heap, size_t size, size_t align, Error_Block *eb)
Allocate a block of memory from the heap.
Queue_Struct objQ
Definition: HeapTrack.h:167
Task_Handle taskHandle
Definition: HeapTrack.h:145
Memory heap statistics.
Definition: Memory.h:94
struct HeapTrack_Struct * HeapTrack_Handle
uintptr_t scribble
Definition: HeapTrack.h:141
Definition: HeapTrack.h:166
size_t sizeWithoutTracker
Definition: HeapTrack.h:162
Queue_Elem objElem
Definition: HeapTrack.h:154
struct Task_Struct * Task_Handle
Definition: Task.h:526
HeapTrack_Handle HeapTrack_create(const HeapTrack_Params *params, Error_Block *eb)
Create a HeapTrack heap.
size_t peakWithoutTracker
Definition: HeapTrack.h:163
IHeap_Handle internalHeap
Heap to use with HeapTrack.
Definition: HeapTrack.h:158
void HeapTrack_getStats(HeapTrack_Handle heap, Memory_Stats *stats)
get memory stats for a HeapTrack object
size_t peak
Definition: HeapTrack.h:161
void HeapTrack_printTask(Task_Handle task)
Print out the blocks that are currently allocated by a task.
IHeap_Handle heap
Definition: HeapTrack.h:149