summaryrefslogtreecommitdiff
path: root/include/heap.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/heap.h')
-rw-r--r--include/heap.h40
1 files changed, 17 insertions, 23 deletions
diff --git a/include/heap.h b/include/heap.h
index de1f5f18..36c747a7 100644
--- a/include/heap.h
+++ b/include/heap.h
@@ -2,36 +2,30 @@
#define POKEDIAMOND_HEAP_H
#include "global.h"
+#include "NNS_FND_expheap.h"
+#include "NNS_FND_allocator.h"
-struct UnkStruct_020166C8
+struct HeapParam
{
- void **unk00;
- void **unk04;
- void **unk08;
- u16 *unk0c;
- u8 *unk10;
- u16 unk14;
- u16 unk16;
- u16 unk18;
- u16 unk1a;
+ u32 size;
+ OSArenaId arena;
};
-
-void FUN_020166C8(u32 *param0, u32 param1, u32 param2, u32 pre_size);
-s32 FUN_020167F4();
-u32 FUN_0201681C(u32 param0, u32 heap_id, u32 param2);
-u32 FUN_02016828(u32 param0, u32 param1, u32 param2);
-u32 FUN_02016834(u32 param0, u32 param1, u32 param2, s32 param3);
-void FUN_020168D0(u32 heap_id);
-u32 *FUN_02016944(void *param0, u32 param1, s32 param2, u32 param3);
-void FUN_02016988();
+void InitHeapSystem(const struct HeapParam *templates, u32 nTemplates, u32 totalNumHeaps, u32 pre_size);
+s32 FindFirstAvailableHeapHandle();
+BOOL CreateHeap(u32 parent, u32 child, u32 size);
+BOOL CreateHeapAtEnd(u32 parent, u32 child, u32 size);
+BOOL CreateHeapInternal(u32 parent, u32 child, u32 size, s32 alignment);
+void DestroyHeap(u32 heap_id);
+void *AllocFromHeapInternal(NNSFndHeapHandle heap, u32 size, s32 alignment, u32 heap_id);
+void AllocFail();
void *AllocFromHeap(u32 heap_id, u32 size);
void *AllocFromHeapAtEnd(u32 heap_id, u32 size);
void FreeToHeap(void *ptr);
void FreeToHeapExplicit(u32 heap_id, void * ptr);
-u32 FUN_02016AF8(u32 param0);
-void FUN_02016B20(u32 param0, u32 param1, u32 param2);
-void FUN_02016B44(void *ptr, u32 param1);
-u32 FUN_02016B90(u32 param0);
+u32 GF_ExpHeap_FndGetTotalFreeSize(u32 heap_id);
+void GF_ExpHeap_FndInitAllocator(NNSFndAllocator * pAllocator, u32 heap_id, int alignment);
+void ReallocFromHeap(void *ptr, u32 newSize);
+BOOL GF_heap_c_dummy_return_true(u32 heap_id);
#endif //POKEDIAMOND_HEAP_H