diff options
| author | robojumper <robojumper@gmail.com> | 2024-10-01 14:48:49 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-01 08:48:49 -0400 |
| commit | d75f4c92efc8f0ca868b2f77f34fda49ce8c219d (patch) | |
| tree | f87b0a45d2608f5a643bbbd04e3315326fd50fd9 /include/egg | |
| parent | 4d9806f2fc9fcc78d80f2102d8c0b755682342b4 (diff) | |
d_heap OK (#47)
* d_heap OK
* wibo workaround
Diffstat (limited to 'include/egg')
| -rw-r--r-- | include/egg/core/eggHeap.h | 32 |
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; |
