1#ifndef RVL_SDK_MEM_EXP_HEAP_H
2#define RVL_SDK_MEM_EXP_HEAP_H
8#define MEM_EXP_HEAP_MIN_SIZE \
9 (sizeof(MEMiHeapHead) + sizeof(MEMiExpHeapHead) + \
10 sizeof(MEMiExpHeapMBlock) + 4)
16 MEM_EXP_HEAP_ALLOC_FAST,
19} MEMiExpHeapAllocMode;
49 u16 SHORT_0x12_0_15 : 15;
55MEMiHeapHead* MEMCreateExpHeapEx(
void* start, u32 size, u16 opt);
57void* MEMAllocFromExpHeapEx(
MEMiHeapHead* heap, u32 size, s32 align);
58u32 MEMResizeForMBlockExpHeap(
MEMiHeapHead* heap,
void* memBlock, u32 size);
59void MEMFreeToExpHeap(
MEMiHeapHead* heap,
void* memBlock);
60u32 MEMGetAllocatableSizeForExpHeapEx(
MEMiHeapHead* heap, s32 align);
63static MEMiHeapHead* MEMCreateExpHeap(
void* start, u32 size) {
64 return MEMCreateExpHeapEx(start, size, 0);
67static void* MEMAllocFromExpHeap(
MEMiHeapHead* heap, u32 size) {
68 return MEMAllocFromExpHeapEx(heap, size, 4);
71static u32 MEMGetAllocatableSizeForExpHeap(
MEMiHeapHead* heap) {
72 return MEMGetAllocatableSizeForExpHeapEx(heap, 4);