diff options
author | Akira Akashi <rubenru09@aol.com> | 2021-06-03 02:48:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-03 02:48:35 +0100 |
commit | 33a7ec1fd719b9321357aa59460cbdb9f7779053 (patch) | |
tree | 993c0c156f6a3c310cccd2a3e0ac802b59ab149e /include/heap.h | |
parent | 7e32d3758e7e36d7a67a1442cdb9386f9aa18a6e (diff) | |
parent | 6e3af5fa580d0f6aca3bb310d979323bf2a09a84 (diff) |
Merge pull request #400 from PikalaxALT/doc_heap_etc
SDK-informed refactoring
Diffstat (limited to 'include/heap.h')
-rw-r--r-- | include/heap.h | 40 |
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 |