FS_ReadFileAsync

構文

#include <nitro/fs.h>

s32 FS_ReadFileAsync( FSFile *p_file, void *dst, s32 len );

引数

p_file FSFile構造体のアドレス
dst 格納先バッファのアドレス
len 読み出すデータのバイト長

返り値

 データが正しく読み出せるなら成功時のバイト数を, そうでないなら -1 を返します。

説明

ファイルポインタの現在位置から指定サイズのデータを非同期モードで読み出します。 終端を越えるようにサイズ指定した場合、終端まで読み出してそのサイズを返します。

この関数はFS_ReadFile()とは異なり、制御をすぐに戻し非同期で実行されます。
処理の完了を確認するにはFS_IsBusy()を使用して定期的に返り値を判定するか、 あるいはFS_WaitAsync()によってスレッドを待機状態にする方法があります。

ROM アーカイブを使用してカードデータを読み出す際には、 CARD_ReadRomAsync()の説明も参照ください。

注意

 この関数は、処理を非同期に実行できないアーカイブの場合はFS_ReadFile()と同様に同期処理となります。そのようなアーカイブの場合はこの関数を割り込みハンドラ(IRQモード)から呼び出すことはできません。また、割り込みを禁止したままの状態にあると処理が完了しない場合がある点に注意して下さい。

参照

FSFile FS_ReadFile FS_WaitAsync FS_GetFileLength FS_GetFilePosition FS_SeekFile FS_SeekFileToBegin FS_SeekFileToEnd

履歴

2008/10/02 参照リストを一部更新
2005/08/28 説明文にCARD_ReadRomAsync()へのリンクを追加
2004/09/24 呼び出し時および完了の条件についての注意を記述追加
2004/07/13 説明をアーカイブ全般へのものへ修正
2004/05/14 初版