MI_InitCache

構文

#include <nitro/mi.h>

void MI_InitCache(MICache *cache, u32 page, void *buffer, u32 length);

引数

cache 初期化するMICache構造体へのポインタ
page キャッシュ1ページあたりの大きさ
このサイズは4バイト以上かつ2のべき乗である必要があります。
buffer キャッシュページ管理情報として使用するバッファ
length bufferのバイトサイズ
ライブラリは、指定されたサイズで可能な限り多くのキャッシュページを用意します。
詳細は後述の「説明」をご参照ください。

返り値

なし。

説明

管理情報用のバッファとページサイズを指定してMICache構造体を初期化します。
この構造体は、与えられたバッファを使用して内部でキャッシュページのリストを用意します。
この構造体を使用してMI_ReadCache()およびMI_LoadCache()を呼び出すことができます。

管理情報用バッファのサイズは用途に応じて任意のサイズを指定することが可能です。
ライブラリは、指定された page と length に対して

length / ( sizeof(MICachePage) + page )

で計算されるページ数を自動的に算出し、リスト構造として内部で管理します。
逆に、ページサイズと総数から所要バイト数を算出したい場合には

MI_CACHE_BUFFER_WORKSIZE(page, total)

のマクロで必要なサイズを取得することができます。

この機能は、デバイス読み込みアクセスを効率よく行うためのユーティリティです。
詳細はMICache構造体のリファレンスをご参照ください。

参照

MI_ReadCache MI_LoadCache MI_IsCacheLoading
MICache

履歴

2007/05/16 初版