summaryrefslogtreecommitdiff
path: root/include/SDK/MEM/mem_expHeap.h
blob: f28b02c14e6782d7b45fa8e83ed4110c515b618a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef POKEREVO_MEM_EXPHEAP_H
#define POKEREVO_MEM_EXPHEAP_H


#ifdef __cplusplus
extern "C" {
#endif

// TODO: replace void* with type definition
typedef void *MEMHeapHandle;
typedef void (*MEMHeapVisitor)(void *memBlock, MEMHeapHandle heap, u32 userParam);

extern MEMHeapHandle lbl_8063E8E8;
extern MEMHeapHandle lbl_8063E8EC;

MEMHeapHandle MEMCreateExpHeapEx(void* p1, u32 p2, u16 p3);
u16 MEMSetGroupIDForExpHeap(MEMHeapHandle heap, u16 groupID);
void *MEMAllocFromExpHeapEx(MEMHeapHandle heap, u32 size, int alignment);
u32 MEMResizeForMBlockExpHeap(MEMHeapHandle heap, void *memBlock, u32 size);
void MEMFreeToExpHeap(MEMHeapHandle heap, void *memBlock);
u32 MEMGetSizeForMBlockExpHeap(const void *memBlock);
u32 MEMGetTotalFreeSizeForExpHeap(MEMHeapHandle heap);
u16 MEMGetGroupIDForMBlockExpHeap(const void *memBlock);
void MEMVisitAllocatedForExpHeap(MEMHeapHandle heap, MEMHeapVisitor visitor, u32 userParam);


#ifdef __cplusplus
}
#endif

#endif //POKEREVO_MEM_EXPHEAP_H