mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-11-30 15:14:18 +01:00
f29a014ac0
usable size in mem1 region, also fixed a fatal bug in it, some bug is still in it...
45 lines
1.0 KiB
C++
45 lines
1.0 KiB
C++
// 1 MEM2 allocator, one for general purpose
|
|
// Aligned and padded to 32 bytes, as required by many functions
|
|
|
|
#ifndef __MEM2_HPP
|
|
#define __MEM2_HPP
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
#define MAX_MEM1_ARENA_LO ((void *)(0x81700000-size))
|
|
#define MEM2_PRIORITY_SIZE 0x1000
|
|
|
|
void MEM1_init(void *addr, void *end);
|
|
void MEM1_cleanup(void);
|
|
void MEM1_clear(void);
|
|
void *MEM1_alloc(unsigned int s);
|
|
void *MEM1_memalign(unsigned int a, unsigned int s);
|
|
void *MEM1_realloc(void *p, unsigned int s);
|
|
void MEM1_free(void *p);
|
|
unsigned int MEM1_usableSize(void *p);
|
|
unsigned int MEM1_freesize();
|
|
|
|
void MEM2_init(unsigned int mem2Size);
|
|
void MEM2_cleanup(void);
|
|
void MEM2_clear(void);
|
|
void MEM2_free(void *p);
|
|
void *MEM2_alloc(unsigned int s);
|
|
void *MEM2_memalign(unsigned int a, unsigned int s);
|
|
void *MEM2_realloc(void *p, unsigned int s);
|
|
unsigned int MEM2_usableSize(void *p);
|
|
unsigned int MEM2_freesize();
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
enum Alloc
|
|
{
|
|
ALLOC_MALLOC,
|
|
ALLOC_MEM2,
|
|
};
|
|
|
|
#endif // !defined(__MEM2_HPP)
|