SCANDIRAT(3) | Linux Programmer's Manual | SCANDIRAT(3) |
名前
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 **));
int (* compar )(const struct dirent **, const struct dirent **));
説明
scandirat() システムコールは scandir() と全く同様の動作をする。差分についてこのマニュアルページで説明する。返り値
成功した場合は、 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.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2012-03-17 | Linux |