wut  v1.5.0
Wii U Toolchain
Data Structures | Typedefs | Enumerations | Functions
Expanded Heap
Collaboration diagram for Expanded Heap:

Data Structures

struct  MEMExpHeapBlock
 
struct  MEMExpHeapBlockList
 
struct  MEMExpHeap
 

Typedefs

typedef struct MEMExpHeap MEMExpHeap
 
typedef struct MEMExpHeapBlock MEMExpHeapBlock
 
typedef struct MEMExpHeapBlockList MEMExpHeapBlockList
 
typedef void(* MEMExpHeapBlockVisitor) (void *block, MEMHeapHandle heap, void *context)
 
typedef enum MEMExpHeapMode MEMExpHeapMode
 
typedef enum MEMExpHeapDirection MEMExpHeapDirection
 
typedef enum MEMExpHeapCheckFlags MEMExpHeapCheckFlags
 

Enumerations

enum  MEMExpHeapMode {
  MEM_EXP_HEAP_MODE_FIRST_FREE = 0 ,
  MEM_EXP_HEAP_MODE_NEAREST_SIZE = 1
}
 
enum  MEMExpHeapDirection {
  MEM_EXP_HEAP_DIR_FROM_TOP = 0 ,
  MEM_EXP_HEAP_DIR_FROM_BOTTOM = 1
}
 
enum  MEMExpHeapCheckFlags {
  MEM_EXP_HEAP_CHECK_FLAGS_NONE = 0 ,
  MEM_EXP_HEAP_CHECK_FLAGS_LOG_ERRORS = 1
}
 

Functions

MEMHeapHandle MEMCreateExpHeapEx (void *heap, uint32_t size, uint16_t flags)
 
void * MEMDestroyExpHeap (MEMHeapHandle heap)
 
void * MEMAllocFromExpHeapEx (MEMHeapHandle heap, uint32_t size, int alignment)
 
void MEMFreeToExpHeap (MEMHeapHandle heap, void *block)
 
MEMExpHeapMode MEMSetAllocModeForExpHeap (MEMHeapHandle heap, MEMExpHeapMode mode)
 
MEMExpHeapMode MEMGetAllocModeForExpHeap (MEMHeapHandle heap)
 
uint32_t MEMAdjustExpHeap (MEMHeapHandle heap)
 
uint32_t MEMResizeForMBlockExpHeap (MEMHeapHandle heap, void *block, uint32_t size)
 
uint32_t MEMGetTotalFreeSizeForExpHeap (MEMHeapHandle heap)
 
uint32_t MEMGetAllocatableSizeForExpHeapEx (MEMHeapHandle heap, int alignment)
 
uint16_t MEMSetGroupIDForExpHeap (MEMHeapHandle heap, uint16_t id)
 
uint16_t MEMGetGroupIDForExpHeap (MEMHeapHandle heap)
 
uint32_t MEMGetSizeForMBlockExpHeap (void *block)
 
uint16_t MEMGetGroupIDForMBlockExpHeap (void *block)
 
MEMExpHeapDirection MEMGetAllocDirForMBlockExpHeap (void *block)
 
void MEMVisitAllocatedForExpHeap (MEMHeapHandle heap, MEMExpHeapBlockVisitor callback, void *context)
 
BOOL MEMCheckExpHeap (MEMHeapHandle handle, MEMExpHeapCheckFlags mode)
 

Detailed Description


Data Structure Documentation

◆ MEMExpHeapBlock

struct MEMExpHeapBlock

Definition at line 40 of file memexpheap.h.

Data Fields
uint32_t attribs
uint32_t blockSize
MEMExpHeapBlock * prev
MEMExpHeapBlock * next
uint16_t tag

◆ MEMExpHeapBlockList

struct MEMExpHeapBlockList

Definition at line 56 of file memexpheap.h.

Data Fields
MEMExpHeapBlock * head
MEMExpHeapBlock * tail

◆ MEMExpHeap

struct MEMExpHeap

Definition at line 65 of file memexpheap.h.

Data Fields
MEMHeapHeader header
MEMExpHeapBlockList freeList
MEMExpHeapBlockList usedList
uint16_t groupId
uint16_t attribs

Typedef Documentation

◆ MEMExpHeap

typedef struct MEMExpHeap MEMExpHeap

Definition at line 1 of file memexpheap.h.

◆ MEMExpHeapBlock

Definition at line 1 of file memexpheap.h.

◆ MEMExpHeapBlockList

Definition at line 1 of file memexpheap.h.

◆ MEMExpHeapBlockVisitor

typedef void(* MEMExpHeapBlockVisitor) (void *block, MEMHeapHandle heap, void *context)

Definition at line 19 of file memexpheap.h.

◆ MEMExpHeapMode

◆ MEMExpHeapDirection

◆ MEMExpHeapCheckFlags

Enumeration Type Documentation

◆ MEMExpHeapMode

Enumerator
MEM_EXP_HEAP_MODE_FIRST_FREE 
MEM_EXP_HEAP_MODE_NEAREST_SIZE 

Definition at line 22 of file memexpheap.h.

◆ MEMExpHeapDirection

Enumerator
MEM_EXP_HEAP_DIR_FROM_TOP 
MEM_EXP_HEAP_DIR_FROM_BOTTOM 

Definition at line 28 of file memexpheap.h.

◆ MEMExpHeapCheckFlags

Enumerator
MEM_EXP_HEAP_CHECK_FLAGS_NONE 
MEM_EXP_HEAP_CHECK_FLAGS_LOG_ERRORS 

Definition at line 34 of file memexpheap.h.

Function Documentation

◆ MEMCreateExpHeapEx()

MEMHeapHandle MEMCreateExpHeapEx ( void *  heap,
uint32_t  size,
uint16_t  flags 
)

◆ MEMDestroyExpHeap()

void* MEMDestroyExpHeap ( MEMHeapHandle  heap)

◆ MEMAllocFromExpHeapEx()

void* MEMAllocFromExpHeapEx ( MEMHeapHandle  heap,
uint32_t  size,
int  alignment 
)

◆ MEMFreeToExpHeap()

void MEMFreeToExpHeap ( MEMHeapHandle  heap,
void *  block 
)

◆ MEMSetAllocModeForExpHeap()

MEMExpHeapMode MEMSetAllocModeForExpHeap ( MEMHeapHandle  heap,
MEMExpHeapMode  mode 
)

◆ MEMGetAllocModeForExpHeap()

MEMExpHeapMode MEMGetAllocModeForExpHeap ( MEMHeapHandle  heap)

◆ MEMAdjustExpHeap()

uint32_t MEMAdjustExpHeap ( MEMHeapHandle  heap)

◆ MEMResizeForMBlockExpHeap()

uint32_t MEMResizeForMBlockExpHeap ( MEMHeapHandle  heap,
void *  block,
uint32_t  size 
)

◆ MEMGetTotalFreeSizeForExpHeap()

uint32_t MEMGetTotalFreeSizeForExpHeap ( MEMHeapHandle  heap)

◆ MEMGetAllocatableSizeForExpHeapEx()

uint32_t MEMGetAllocatableSizeForExpHeapEx ( MEMHeapHandle  heap,
int  alignment 
)

◆ MEMSetGroupIDForExpHeap()

uint16_t MEMSetGroupIDForExpHeap ( MEMHeapHandle  heap,
uint16_t  id 
)

◆ MEMGetGroupIDForExpHeap()

uint16_t MEMGetGroupIDForExpHeap ( MEMHeapHandle  heap)

◆ MEMGetSizeForMBlockExpHeap()

uint32_t MEMGetSizeForMBlockExpHeap ( void *  block)

◆ MEMGetGroupIDForMBlockExpHeap()

uint16_t MEMGetGroupIDForMBlockExpHeap ( void *  block)

◆ MEMGetAllocDirForMBlockExpHeap()

MEMExpHeapDirection MEMGetAllocDirForMBlockExpHeap ( void *  block)

◆ MEMVisitAllocatedForExpHeap()

void MEMVisitAllocatedForExpHeap ( MEMHeapHandle  heap,
MEMExpHeapBlockVisitor  callback,
void *  context 
)

◆ MEMCheckExpHeap()

BOOL MEMCheckExpHeap ( MEMHeapHandle  handle,
MEMExpHeapCheckFlags  mode 
)