From 0a7f7fc909c2bc0120002693a6b2052704a375fd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 18 Aug 2021 20:11:27 -0400 Subject: NNS_FND_allocator --- arm9/lib/libnns/src/NNS_FND_allocator.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 arm9/lib/libnns/src/NNS_FND_allocator.c (limited to 'arm9/lib/libnns/src/NNS_FND_allocator.c') diff --git a/arm9/lib/libnns/src/NNS_FND_allocator.c b/arm9/lib/libnns/src/NNS_FND_allocator.c new file mode 100644 index 00000000..31d0eb70 --- /dev/null +++ b/arm9/lib/libnns/src/NNS_FND_allocator.c @@ -0,0 +1,32 @@ +#include "nitro.h" +#include "NNS_FND_allocator.h" +#include "NNS_FND_expheap.h" + +void *AllocatorAllocForExpHeap(NNSFndAllocator * pAllocator, u32 size) +{ + return NNS_FndAllocFromExpHeapEx(pAllocator->pHeap, size, pAllocator->heapParam1); +} + +void AllocatorFreeForExpHeap(NNSFndAllocator * pAllocator, void *memBlock) +{ + NNS_FndFreeToExpHeap(pAllocator->pHeap, memBlock); +} + +void *NNS_FndAllocFromAllocator(NNSFndAllocator * pAllocator, u32 size) +{ + return pAllocator->pFunc->pfAlloc(pAllocator, size); +} + +void NNS_FndFreeToAllocator(NNSFndAllocator * pAllocator, void *memBlock) +{ + pAllocator->pFunc->pfFree(pAllocator, memBlock); +} + +void NNS_FndInitAllocatorForExpHeap(NNSFndAllocator * pAllocator, NNSFndHeapHandle pHeap, int alignment) +{ + static const NNSFndAllocatorFunc pFunc = {AllocatorAllocForExpHeap, AllocatorFreeForExpHeap}; + pAllocator->pFunc = &pFunc; + pAllocator->pHeap = pHeap; + pAllocator->heapParam1 = alignment; + pAllocator->heapParam2 = 0; +} -- cgit v1.2.3