OS_FreeToHeap

構文

#include <iris/os.h>
void OS_FreeToHeap( OSArenaId id, OSHeapHandle heap, void* ptr );

void OS_FreeToMain( void* ptr );
void OS_FreeToITCM( void* ptr );
void OS_FreeToDTCM( void* ptr );
void OS_FreeToShared( void* ptr );
void OS_FreeToWram( void* ptr );
void OS_FreeToMainEx( void* ptr );

void OS_Free( void* ptr );

引数

id メモリブロックを解放するヒープのアリーナのアリーナID
heap メモリブロックを解放するヒープのハンドル
ptr 解放するメモリブロックへのポインタ

返り値

なし。

説明

メモリブロックptr を解放して ヒープ heap に返します。
ヒープのあるアリーナを指定する必要があります。
アリーナはアリーナID で指定します。この値については OS_InitArena() を参照してください。
ヒープハンドルに OS_CURRENT_HEAP_HANDLE を指定すると、そのアリーナのカレントヒープが指定されたと見なします。

OS_FreeToMain() は OS_FreeToHeap( OS_ARENA_MAIN, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeToICTM() は OS_FreeToHeap( OS_ARENA_ITCM, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeToDTCM() は OS_FreeToHeap( OS_ARENA_DTCM, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeToShared() は OS_FreeToHeap( OS_ARENA_SHARED, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeToWram() は OS_FreeToHeap( OS_ARENA_WRAM, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeToMainEx() は OS_FreeToHeap( OS_ARENA_MAINEX, OS_CURRENT_HEAP_HANDLE, … ) の inline です。

OS_Free() は OS_FreeToHeap( OS_ARENA_MAIN, OS_CURRENT_HEAP_HANDLE, … ) の inline です。

参照

OS_IniteArena, OS_AllocFromHeap

履歴

2004/01/06 初版