diff --git a/include/coreinit/unitheap.h b/include/coreinit/unitheap.h new file mode 100644 index 0000000..e1f87cd --- /dev/null +++ b/include/coreinit/unitheap.h @@ -0,0 +1,41 @@ +#pragma once +#include + +WUT_LIB_HEADER_START + +typedef struct MEMUnitHeap MEMUnitHeap; + +struct MEMUnitHeap +{ +}; +UNKNOWN_SIZE(MEMUnitHeap); + +MEMUnitHeap * +MEMCreateUnitHeapEx(MEMUnitHeap *heap, + uint32_t size, + uint32_t blockSize, + int32_t alignment, + uint16_t flags); + +void * +MEMDestroyUnitHeap(MEMUnitHeap *heap); + +void * +MEMAllocFromUnitHeap(MEMUnitHeap *heap); + +void +MEMFreeToUnitHeap(MEMUnitHeap *heap, + void *block); + +void +MEMiDumpUnitHeap(MEMUnitHeap *heap); + +uint32_t +MEMCountFreeBlockForUnitHeap(MEMUnitHeap *heap); + +uint32_t +MEMCalcHeapSizeForUnitHeap(uint32_t blockSize, + uint32_t count, + int32_t alignment); + +WUT_LIB_HEADER_END diff --git a/rpl/libcoreinit/exports.h b/rpl/libcoreinit/exports.h index 17ac2ae..5ea25b9 100644 --- a/rpl/libcoreinit/exports.h +++ b/rpl/libcoreinit/exports.h @@ -218,3 +218,12 @@ EXPORT(OSGetTick); EXPORT(OSGetSystemTick); EXPORT(OSCalendarTimeToTicks); EXPORT(OSTicksToCalendarTime); + +// coreinit/unitheap.h +EXPORT(MEMCreateUnitHeapEx); +EXPORT(MEMDestroyUnitHeap); +EXPORT(MEMAllocFromUnitHeap); +EXPORT(MEMFreeToUnitHeap); +EXPORT(MEMiDumpUnitHeap); +EXPORT(MEMCountFreeBlockForUnitHeap); +EXPORT(MEMCalcHeapSizeForUnitHeap);