

#include <nitro/fs.h>BOOL FS_LoadArchive(FSArchive *p_arc,
u32 base, u32 fat, u32 fat_size, u32 fnt, u32 fnt_size,
FS_ARCHIVE_READ_FUNC read_func,
FS_ARCHIVE_WRITE_FUNC write_func);| p_arc | FSArchive構造体のアドレス |
| base | アーカイブ固有のアドレス空間におけるベースオフセット値 これはアーカイブ実装の利便性のために用意されており、 FS_GetArchiveBase()で取得するだけのものです。 |
| fat | アーカイブ固有のアドレス空間におけるFATの先頭位置オフセット |
| fat_size | アーカイブのFATバイトサイズ |
| fnt | アーカイブ固有のアドレス空間におけるFNTの先頭位置オフセット |
| fnt_size | アーカイブのFNTバイトサイズ |
| read_func | アーカイブ固有のアドレス空間へリードアクセスするためのコールバック関数 このコールバックはアーカイブコマンドを内部で使用するFS関数の内部から呼び出されます。 |
| write_func | アーカイブ固有のアドレス空間へライトアクセスするためのコールバック関数 このコールバックはアーカイブコマンドを内部で使用するFS関数の内部から呼び出されます。 |
アーカイブが正しくファイルシステムにロードされた場合は TRUE を、そうでないなら FALSE を返します。
指定された実装のもとに、アーカイブをファイルシステムへロードします。
アーカイブは、FS_RegisterArchiveName() で前もって名前を登録してある必要があります。
ファイルシステムは与えられた引数の組み合わせから、アーカイブに以下の動作を仮定します。
・アーカイブは read_func および write_func でのみアクセス可能なリニアメモリ状の固有なデータ構造を持つ
・アーカイブはfatの位置からfat_sizeバイト分の領域にTwlROMフォーマット準拠のFAT情報を持ち、read_func によってアクセスできる
・アーカイブはfntの位置からfnt_sizeバイト分の領域にTwlROMフォーマット準拠のFNT情報を持ち、read_func によってアクセスできる
・アーカイブはFAT情報で指定されるすべての範囲の領域にファイルデータを持ち、read_funcによってアクセスできる
関数の成功後、アーカイブはファイルシステムからコールバック経由でアクセスされます。
ロードしたアーカイブは FS_UnloadArchive()でアンロードすることができます。
この関数を呼び出す前に FS_SuspendArchive() で明示的にサスペンド状態へ設定していない場合、
関数の成功とともにアーカイブはファイルシステム内で有効な状態になります。
FSArchive
FS_ARCHIVE_NAME_LEN_MAX
FS_ReleaseArchiveName
FS_UnloadArchive
2005/06/01 コールバックがFS関数の内部から呼び出される旨を補足
2004/11/02 リンク先訂正
2004/06/30 初版