OS_FreeAll[To*]

構文

#include <nitro/os.h>
void OS_FreeAllToHeap( OSArenaId id, OSHeapHandle heap );

void OS_FreeAllToMain( void );
void OS_FreeAllToSubPriv( void );
void OS_FreeAllToMainEx( void );
void OS_FreeAllToITCM( void );
void OS_FreeAllToDTCM( void );
void OS_FreeAllToShared( void );
void OS_FreeAllToWramMain( void );
void OS_FreeAllToWramSub( void );
void OS_FreeAllToSubPrivWram( void );

void OS_FreeAll( void );

引数

id すべてのメモリブロックを解放するヒープのアリーナのアリーナID
heap すべてのメモリブロックを解放するヒープのハンドル

返り値

なし。

説明

割り当てられているすべてのメモリブロックを解放して ヒープ heap に返します。

ヒープのあるアリーナを指定する必要があります。アリーナはアリーナID id で指定します。この値については OS_InitArena() を参照してください。

ヒープハンドル heap に OS_CURRENT_HEAP_HANDLE を指定すると、そのアリーナのカレントヒープが指定されたものと見なします。

OS_FreeAllToMain()OS_FreeAllToHeap( OS_ARENA_MAIN, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeAllToSubPriv()OS_FreeAllToHeap( OS_ARENA_MAIN_SUBPRIV, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeAllToMainEx() OS_FreeAllToHeap( OS_ARENA_MAINEX, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeAllToICTM()OS_FreeAllToHeap( OS_ARENA_ITCM, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeAllToDTCM()OS_FreeAllToHeap( OS_ARENA_DTCM, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeAllToShared()OS_FreeAllToHeap( OS_ARENA_SHARED, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeAllToWramMain()OS_FreeAllToHeap( OS_ARENA_WRAM_MAIN, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeAllToWramSub()OS_FreeAllToHeap( OS_ARENA_WRAM_SUB, OS_CURRENT_HEAP_HANDLE, … ) の inline です。
OS_FreeAllToSubPrivWram()OS_FreeAllToHeap( OS_ARENA_WRAM_SUBPRIV, OS_CURRENT_HEAP_HANDLE, … ) の inline です。

OS_FreeAll() は ARM9 では OS_FreeAllToHeap( OS_ARENA_MAIN, OS_CURRENT_HEAP_HANDLE, … ) の inline です。ARM7 では OS_FreeAllToHeap( OS_ARENA_MAIN_SUBPRIV, OS_CURRENT_HEA_HANDLE, … ) の inline です。

参照

OS_IniteArena, OS_AllocFromHeap, OS_FreeToHeap

履歴

2004/11/05 初版