pokeplatinum/include/heap.h
2025-03-03 11:53:52 -03:00

27 lines
903 B
C

#ifndef POKEPLATINUM_UNK_02017E74_H
#define POKEPLATINUM_UNK_02017E74_H
#include <nnsys.h>
#include "constants/heap.h"
typedef struct HeapParam {
u32 size;
OSArenaId arena;
} HeapParam;
void Heap_InitSystem(const HeapParam *templates, u32 nTemplates, u32 totalNumHeaps, u32 preSize);
BOOL Heap_Create(u32 parent, u32 child, u32 size);
BOOL Heap_CreateAtEnd(u32 parent, u32 child, u32 size);
void Heap_Destroy(u32 heapID);
void *Heap_AllocFromHeap(u32 heapID, u32 size);
void *Heap_AllocFromHeapAtEnd(u32 heapID, u32 size);
void Heap_FreeToHeap(void *ptr);
void Heap_FreeToHeapExplicit(u32 heapID, void *ptr);
u32 Heap_FndGetTotalFreeSizeForExpHeap(u32 heapID);
void Heap_FndInitAllocatorForExpHeap(NNSFndAllocator *pAllocator, u32 heapID, int alignment);
void Heap_ReallocFromHeap(void *ptr, u32 newSize);
BOOL GF_heap_c_dummy_return_true(u32 heapID);
#endif // POKEPLATINUM_UNK_02017E74_H