# OS_ClearExtraHeap

## 構文

      #include <nitro/os.h>

      void OS_ClearExtraHeap( OSArenaId id, OSHeapHandle heap );

## 引数

id | クリアする特殊ヒープが含まれるアリーナのアリーナID
heap | クリアする特殊ヒープのヒープハンドラ

## 返り値

なし。

## 説明

既にある特殊ヒープに対し、クリアして初期化を行ないます。

この関数は `OS_CreateExtraHeap()` で作成された特殊なヒープに対してクリア操作を行います。`OS_CreateHeap()` で作成された通常のヒープに対しては `OS_ClearHeap()` を使用してください。

アリーナID id は `OS_CreateExtraHeap()` したときの引数、ヒープハンドラ heap は `OS_CreateExtraHeap()` の返り値であるはずです。システム内部でも保持している特殊ヒープに対するパラメータと異なっている値が指定された場合は何も行いません。

ヒープに確保していたメモリブロックはすべて破棄されます。但しそれはメインメモリ先頭の 16KB についてであり、`OS_AddToHeap()` による飛び地がある場合、そこは初期化対象になりません。また、初期化によってその領域はヒープの一部から外れてしまいますので注意が必要です。

NITRO ROM や、TWL LIMITED ROM では、本関数を呼ぶことは出来ません。(HYBRID ROM ビルドでしか存在しませんのでコンパイルエラーとなります。) また、HYBRID ROM を TWL ハードウェア上で TWL モードで動作させているときには、本関数を呼んでも何も行いません。

## 参照

`OS_InitAlloc, OS_CreateExtraHeap, OS_AddExtraAreaToHeap
`

## 履歴

2009/04/03 初版