# FSDirEntry

## 定義

  `#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 初版