1#ifndef RVL_SDK_MEM_FRAME_HEAP_H 
    2#define RVL_SDK_MEM_FRAME_HEAP_H 
    8#define MEM_FRM_HEAP_MIN_SIZE (sizeof(MEMiHeapHead) + sizeof(MEMiFrmHeapHead)) 
   15    MEM_FRM_HEAP_FREE_TO_HEAD = (1 << 0),
 
   16    MEM_FRM_HEAP_FREE_TO_TAIL = (1 << 1),
 
   17    MEM_FRM_HEAP_FREE_ALL =
 
   18        MEM_FRM_HEAP_FREE_TO_HEAD | MEM_FRM_HEAP_FREE_TO_TAIL
 
   35MEMiHeapHead* MEMCreateFrmHeapEx(
void* start, u32 size, u16 opt);
 
   37void* MEMAllocFromFrmHeapEx(
MEMiHeapHead* heap, u32 size, s32 align);
 
   39u32 MEMGetAllocatableSizeForFrmHeapEx(
MEMiHeapHead* heap, s32 align);
 
   40BOOL MEMRecordStateForFrmHeap(
MEMiHeapHead* heap, u32 
id);
 
   43u32 MEMResizeForMBlockFrmHeap(
MEMiHeapHead* heap, 
void* memBlock, u32 size);
 
   45static MEMiHeapHead* MEMCreateFrmHeap(
void* start, u32 size) {
 
   46    return MEMCreateFrmHeapEx(start, size, 0);
 
   49static void* MEMAllocFromFrmHeap(
MEMiHeapHead* heap, u32 size) {
 
   50    return MEMAllocFromFrmHeapEx(heap, size, 4);
 
   53static u32 MEMGetAllocatableSizeForFrmHeap(
MEMiHeapHead* heap) {
 
   54    return MEMGetAllocatableSizeForFrmHeapEx(heap, 4);