dirent.h ファイル
最大 DNAME_MAX (_N) 定数と 最大 PATH_MAX 定数は、すべてのタイプのファイル・システムにわたって、それぞれ最大のファイル名とパス名を指定します。 特定のファイルシステムによって定義された定数は、そのファイルシステムにのみ適用されます。 ファイル・システム固有の定数およびディレクトリー構造を使用すると、異なるタイプのファイル・システム間でコードを移植することが非常に困難になります。
目的
ファイル・システム独立ディレクトリー項目の形式を記述します。
説明
/usr/include/dirent.h ファイルは、基礎となるシステムのタイプを参照せずにディレクトリー・エントリーのフォーマットを記述します。
dirent.h ファイルに定義されている dirent 構造体は、ディレクトリー・アクセス操作に使用されます。 これらのアクセス操作と ディレンタル 構造体、およびそれに関連する定数とマクロを使用することにより、ディレクトリーの実装の詳細を保護し、すべてのタイプのファイル・システムにわたってディレクトリーへの一貫性のあるインターフェースを提供します。
ディレンタル 構造体には、各ディレクトリー項目ごとに以下のフィールドが含まれています。
ulong_t d_offset; /* actual offset of this entry */
ino_t d_ino; /* inode number of entry */
ushort_t d_reclen; /* length of this entry */
ushort_t d_namlen; /* length of string in d_name */
char d_name[_D_NAME_MAX+1]; /* name of entry (filename) */D_NAME_MAX (_D) は、すべてのファイル・システムのファイル名の最大バイト数を示す定数です。 (この定数に関連して、 最大 PATH_MAX 定数があります。これは、終了ヌル・バイトを含まない、ファイルの絶対パス名の最大バイト数を指定します。)
D_NAME_MAX (_D) 定数の値は、ファイル・システム・タイプのタイプごとに固有です。 これは、 パス構成 または FPATHCONF サブルーチンを使用して判別できます。
ディレンタル 構造体のサイズは、ファイル名のバイト数によって異なります。