

#define FS_ENTRY_SHORTNAME_MAX 16
#define FS_ENTRY_LONGNAME_MAX 260
typedef struct FSDirectoryEntryInfo
{
char shortname[FS_ENTRY_SHORTNAME_MAX];
u32 shortname_length;
char longname[FS_ENTRY_LONGNAME_MAX];
u32 longname_length;
u32 attributes;
FSDateTime atime;
FSDateTime mtime;
FSDateTime ctime;
u32 filesize;
u32 id;
}
FSDirectoryEntryInfo;
typedef struct FSDirectoryEntryInfoW
{
u32 attributes;
FSDateTime atime;
FSDateTime mtime;
FSDateTime ctime;
u32 filesize;
u32 id;
u32 shortname_length;
u32 longname_length;
char shortname[FS_ENTRY_SHORTNAME_MAX];
u16 longname[FS_ENTRY_LONGNAME_MAX];
}
FSDirectoryEntryInfoW;
FS_ReadDirectory()またはFS_ReadDirectoryW() で取得できるエントリ情報をあらわす構造体です。
各メンバの内容は以下の通りです。
| shortname | いわゆるFATフォーマットの8.3形式におけるエントリ名です。エントリが短縮された別名を持つ場合に限り、その文字列が格納されます。 そうでない場合は空文字列となります。 このフィールドの文字コードはファイルの作成環境に依存し、TWLで作成したファイルであればShift_JISになります。 |
| shortname_length | shortnameの有効文字数です。 shortnameは必ず終端に'\0'が付与されますが、利便性のために用意されています。 |
| longname | エントリ名です。 FSDirectoryEntryInfo構造体ではShift_JIS、FSDirectoryEntryInfoW構造体ではUTF16-LEとして格納されます。 |
| longname_length | longnameの有効文字数です。 longnameは必ず終端にL'\0'が付与されますが、利便性のために用意されています。 |
| attributes | エントリの属性です。各フラグの意味はFSPathInfoのattributesと同じです。 |
| mtime | FSDateTime型で表現されるエントリ最終更新時刻です。 時刻情報が有効でない場合は全てのメンバが0になります。 |
| filesize | ファイルサイズです。 エントリがファイルである場合にのみ有効です。 |
| id | ファイルまたはディレクトリのIDです。 得られた値は FS_OpenFileFast() などに使用することが出来ます。NANDアーカイブなど、ファイルIDやディレクトリIDをサポートしていない場合は常にFS_INVALID_FILE_IDとなります。 |
FS_CreateFile
FS_CreateDirectory
2008/09/02 Unicode版の構造体について追記。
2008/06/13 attributesフラグの説明をFSPathInfoと統合しリンク先を追加
2007/09/18 初版