#include <nitro/fs.h>
/* file-and-directory entryr information structure. for FS_ReadDir() */
typedef struct
{
union {
FSFileID file_id; /* valid if !is_directory */
FSDirPos dir_id; /* valid if is_directory */
} ;
u32 is_directory; /* directory ? 1 : 0 */
u32 name_len; /* strlen(name) */
char name[FS_FILE_NAME_MAX + 1]; /* string with '\0' */
} FSDirEntry;
FS_ReadDir関数によってディレクトリエントリ情報を取得するための構造体です。
各メンバの内容は以下の通りです。
| file_id | is_directoryが0の場合に限り、有効なファイルIDを表します。 この値は、FS_OpenFileFast関数で使用します。 |
| dir_id | is_directoryが1の場合に限り、有効なディレクトリリスト位置を表します。 この値は、FS_SeekDir関数で使用します。 |
| is_directory | FS_ReadDir関数によってこの構造体へ格納された情報の種類を表します。 この値が0であればファイルを、1であればディレクトリを表します。 |
| name_len | nameへ格納されたファイル名またはディレクトリ名の文字数を表します。 この文字数には終端のNULは含まれません。 |
| name | ファイル名またはディレクトリ名の文字列を表します。 FS_ReadDir関数はこの文字列へ終端の"\0"を付加します。 |
この型のサイズは将来の拡張で変更される可能性があります。
現在の実装におけるサイズに依存したプログラミングは避けてください。
2004/11/02 構造体定義をヘッダファイルと同一に訂正
FSDirPos
FS_OpenFileFast
FS_ReadDir
FS_SeekDir
FS_FILE_NAME_MAX
2004/05/14 file_idの型をu32からFSFileIDへ変更
2004/04/01 初版