summaryrefslogtreecommitdiff
path: root/arm9/lib/include/NNS_FND_allocator.h
diff options
context:
space:
mode:
authorGogume1er <gogume1er@gmail.com>2021-06-05 12:06:24 +0200
committerGogume1er <gogume1er@gmail.com>2021-06-05 12:06:24 +0200
commite242303ff5f56ef258bef9ea7608b6db28889096 (patch)
treeb3e2d485e4428aac6294e03b26365d36c91d4528 /arm9/lib/include/NNS_FND_allocator.h
parent2288e6d101397143b08ff64a38baaeedd7f2c3dd (diff)
parent33a7ec1fd719b9321357aa59460cbdb9f7779053 (diff)
Merge branch 'master' into unkk_020851B8
# Conflicts: # arm9/asm/unk_020851B8.s
Diffstat (limited to 'arm9/lib/include/NNS_FND_allocator.h')
-rw-r--r--arm9/lib/include/NNS_FND_allocator.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/arm9/lib/include/NNS_FND_allocator.h b/arm9/lib/include/NNS_FND_allocator.h
new file mode 100644
index 00000000..48df282a
--- /dev/null
+++ b/arm9/lib/include/NNS_FND_allocator.h
@@ -0,0 +1,34 @@
+#ifndef GUARD_NNS_FND_ALLOCATOR_H
+#define GUARD_NNS_FND_ALLOCATOR_H
+
+#include "NNS_FND_heapcommon.h"
+
+typedef struct NNSFndAllocator NNSFndAllocator;
+
+typedef void* (*NNSFndFuncAllocatorAlloc)(
+ NNSFndAllocator* pAllocator,
+ u32 size);
+
+typedef void (*NNSFndFuncAllocatorFree)(
+ NNSFndAllocator* pAllocator,
+ void* memBlock);
+
+typedef struct NNSFndAllocatorFunc NNSFndAllocatorFunc;
+
+struct NNSFndAllocatorFunc
+{
+ NNSFndFuncAllocatorAlloc pfAlloc;
+ NNSFndFuncAllocatorFree pfFree;
+};
+
+struct NNSFndAllocator
+{
+ NNSFndAllocatorFunc const * pFunc;
+ void* pHeap;
+ u32 heapParam1;
+ u32 heapParam2;
+};
+
+void NNS_FndInitAllocatorForExpHeap(NNSFndAllocator * pAllocator, NNSFndHeapHandle heap, int alignment);
+
+#endif //GUARD_NNS_FND_ALLOCATOR_H