mirror of
https://github.com/ToyB-Chan/minimal-heap.git
synced 2026-07-13 21:51:16 +02:00
added free list test
This commit is contained in:
@@ -69,8 +69,9 @@ typedef struct _MIHP_HeapMemoryAreaHeader
|
||||
struct _MIHP_HeapMemoryAreaHeader* NextArea;
|
||||
struct _MIHP_HeapMemoryAreaHeader* PreviousArea;
|
||||
|
||||
struct _MIHP_Heap* OwningHeap;
|
||||
struct _MIHP_HeapSegmentHeader* FirstSegment;
|
||||
struct _MIHP_Heap* OwningHeap;
|
||||
struct _MIHP_HeapSegmentHeader* FirstSegment;
|
||||
struct _MIHP_HeapSegmentHeaderFreePayload* FirstFreeSegment;
|
||||
|
||||
|
||||
uint32_t Checksum; // Checksum must be the last member !
|
||||
@@ -92,6 +93,12 @@ typedef struct _MIHP_HeapSegmentHeader
|
||||
|
||||
} MIHP_HeapSegmentHeader;
|
||||
|
||||
typedef struct _MIHP_HeapSegmentHeaderFreePayload
|
||||
{
|
||||
struct _MIHP_HeapSegmentHeaderFreePayload* PreviousFreeSegment;
|
||||
struct _MIHP_HeapSegmentHeaderFreePayload* NextFreeSegment;
|
||||
} MIHP_HeapSegmentHeaderFreePayload;
|
||||
|
||||
typedef struct _MIHP_HeapCorruptionInfo
|
||||
{
|
||||
uint8_t Type;
|
||||
@@ -134,6 +141,12 @@ bool MIHP_UninitializeHeapSegment(MIHP_HeapSegmentHeader* segment);
|
||||
bool MIHP_SplitHeapSegment(MIHP_HeapSegmentHeader* sourceSegment, size_t newSegmentSize, MIHP_HeapSegmentHeader** outNewSegment);
|
||||
bool MIHP_MergeHeapSegments(MIHP_HeapSegmentHeader* sourceSegment, MIHP_HeapSegmentHeader* segmentToAbsorb);
|
||||
|
||||
void MIHP_AddSegmentToFreeList(MIHP_Heap* heap, MIHP_HeapSegmentHeader* segment);
|
||||
void MIHP_RemoveSegmentFromFreeList(MIHP_Heap* heap, MIHP_HeapSegmentHeader* segment);
|
||||
|
||||
void* MIHP_GetSegmentPayloadPtr(MIHP_Heap* heap, MIHP_HeapSegmentHeader* segment);
|
||||
MIHP_HeapSegmentHeader* MIHP_GetSegmentHeaderPtr(MIHP_Heap* heap, void* payloadPtr);
|
||||
|
||||
size_t MIHP_GetHeapAlignedSize(const MIHP_Heap* heap, size_t size);
|
||||
|
||||
uint32_t MIHP_HashMemoryRegion(const void* data, size_t size);
|
||||
|
||||
Reference in New Issue
Block a user