#include <cafe/mem.h>

MEMHeapHandle MEMCreateExpHeapEx(
                    	void*       startAddress,
                    	u32         size,
                    	u16         optFlag );


startAddress Start address of the memory region to allocate to the heap.
size Size in bytes of the memory region allocated to the heap.
optFlag Heap options (explained below).

Return Values

Returns the heap handle when a heap was successfully created. Returns MEM_HEAP_INVALID_HANDLE (a null value) if a heap could not be created.


Creates the expanded heap. The heap region is a memory region with a size specified by size and a start address specified by startAddress.

Heap options can be specified with optFlag.

MEM_HEAP_OPT_0_CLEAR The allocated memory block is filled with zeroes upon allocation from the heap.
MEM_HEAP_OPT_DEBUG_FILL Upon heap creation or whenever memory blocks are allocated or freed, each is filled with different 32-bit values in the memory region. This flag is used for debugging to find memory access bugs caused by either a failure to initialize memory or invalid memory regions. This option is not valid for the FINALROM version of the library.
MEM_HEAP_OPT_THREAD_SAFE Enables exclusive processing between threads.

Do Not Call From

Multiple threads This function is not thread-safe.
Callbacks Do not call this function from any callback function.

See Also


Revision History

2013/05/08 Automated cleanup pass.
2010/11/01 Initial version.