Provided by: manpages-ja-dev_0.5.0.0.20131015+dfsg-2_all 

名前
scandirat - ディレクトリのファイルディスクリプタからの相対パスで指定されたディレクトリを走査する
書式
#define _GNU_SOURCE /* feature_test_macros(7) 参照 */ #include <fcntl.h> /* AT_* 定数の定義 */ #include <dirent.h> int scandirat(int dirfd, const char *dirp, struct dirent ***namelist, int (*filter)(const struct dirent *), int (*compar)(const struct dirent **, const struct dirent **));
説明
scandirat() システムコールは scandir() と全く同様の動作をする。 差分についてこのマニュアルページで説明す る。 dirp で指定されたパス名が相対パスの場合、ファイルディスクリプタ dirfd が参照するディレクトリからの相対パ スと解釈される (これに対して、scandir(3) の場合は、相対パス名は、呼び出したプロセスの カレントワーキング ディレクトリからの相対パスと解釈される)。 dirp が相対パスで dirfd が特別な値 AT_FDCWD の場合、 dirp は (scandir(3) と同様に) 呼び出したプロセスのカ レントワーキング ディレクトリからの相対パスと解釈される。 dirp が絶対パスの場合、dirfd は無視される。
返り値
成功した場合は、 scandirat() は選択されたディレクトリエントリ数を返す。 エラーの場合、 -1 が返され、 errno にエラーを示す値が設定される。
エラー
scandir(3) で発生するのと同じエラーが scandirat() でも発生する。 scandirat() では追加で以下のエラーも発生 する: EBADF dirfd が有効なファイルディスクリプタではない。 ENOTDIR dirp が相対パスで、dirfd がディレクトリ以外のファイルを参照している ファイルディスクリプタである。
バージョン
scandirat() は glibc バージョン 2.15 で追加された。
準拠
この関数は GNU による拡張である。
注意
scandirat() が必要な理由については openat(2) を参照すること。
関連項目
openat(2), scandir(3), path_resolution(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.54 の一部 である。プロジェクトの説明とバグ報告 に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。