summaryrefslogtreecommitdiff
path: root/include/egg
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2024-10-01 14:48:49 +0200
committerGitHub <noreply@github.com>2024-10-01 08:48:49 -0400
commitd75f4c92efc8f0ca868b2f77f34fda49ce8c219d (patch)
treef87b0a45d2608f5a643bbbd04e3315326fd50fd9 /include/egg
parent4d9806f2fc9fcc78d80f2102d8c0b755682342b4 (diff)
d_heap OK (#47)
* d_heap OK * wibo workaround
Diffstat (limited to 'include/egg')
-rw-r--r--include/egg/core/eggHeap.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/egg/core/eggHeap.h b/include/egg/core/eggHeap.h
index e0730703..956a8bfd 100644
--- a/include/egg/core/eggHeap.h
+++ b/include/egg/core/eggHeap.h
@@ -145,6 +145,38 @@ public:
return mName;
}
+ struct AllocCallbackBundle {
+ HeapAllocCallback AllocCallback;
+ void *AllocCallbackArg;
+ };
+
+ struct FreeCallbackBundle {
+ HeapFreeCallback FreeCallback;
+ void *FreeCallbackArg;
+ };
+
+ static inline AllocCallbackBundle setAllocCallback(HeapAllocCallback AllocCallback, void *AllocCallbackArg) {
+ AllocCallbackBundle ret;
+
+ ret.AllocCallback = sAllocCallback;
+ ret.AllocCallbackArg = sAllocCallbackArg;
+ sAllocCallback = AllocCallback;
+ sAllocCallbackArg = AllocCallbackArg;
+
+ return ret;
+ }
+
+ static inline FreeCallbackBundle setFreeCallback(HeapFreeCallback FreeCallback, void *FreeCallbackArg) {
+ FreeCallbackBundle ret;
+
+ ret.FreeCallback = sFreeCallback;
+ ret.FreeCallbackArg = sFreeCallbackArg;
+ sFreeCallback = FreeCallback;
+ sFreeCallbackArg = FreeCallbackArg;
+
+ return ret;
+ }
+
/* 80673ae8 */ static nw4r::ut::List sHeapList;
/* 80673af8 */ static OSMutex sRootMutex;
/* 80576740 */ static Heap *sCurrentHeap;