名称
dirent.h ― ディレクトリストリームとディレクトリエントリーの書式
構文
#include <sys/types.h>
#include <dirent.h>
説明
このヘッダファイルは directory(3C) に記述されたディレクトリ
ストリームルーチンで使うデータ型を 定義しています。
以降のデータ型が定義されています。
| DIR | | オープンされたディレクトリストリームに関する情報を格納する
構造体 |
| struct dirent | | readdir 関数で返されるエントリーの書式を定義する構造体
( directory(3C) を参照) |
struct dirent 構造体には以下の要素があります。
char d_name[MAXNAMLEN+1]; /* name of directory entry */
ino_t d_ino; /* file serial number */
short d_namlen; /* length of string in d_name */
short d_reclen; /* length of this record */
MAXNAMLEN は <dirent.h> で定義されています。
d_reclen エントリーは、現在のエントリーから次の正しいエントリーまでのオフセット
を表現するのに内部的に使用しています。 そのため、 d_reclen は現在のエントリーの長さではなく、エントリーに
現在のエントリーと次の正しいエントリーとの間でまだ使われていないスペース
を合わせたレコードの長さです。 正しい dirent の間の使用されていないスペースは、ファイルや別のディレクトリ
の削除などの、ディレクトリの内容の変化によってできたものです。
このファイルには、 directory(3C) パッケージの中の関数のための外部宣言もあります。
警告
32 ビットアプリケーションでは、 d_ino フィールドが 64 ビット値を使用するファイルシステムでオーバーフローすることがあります。
この場合エラーは起こらず、最上位バイトが切り捨てられ、値がユニークにならないことがあります。
著者
<dirent.h> は AT&T と HP で開発されました。
標準準拠
<dirent.h>: AES, SVID2, SVID3,
XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1