名 前
dirfd − デ ィ レ ク ト リ ス ト リ ー ム の フ ァ イ ル デ ィ ス ク リ プ タ ー を 取 得 す る
書 式
#include
<sys/types.h>
#include <dirent.h>
int dirfd(DIR *dirp);
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):
dirfd():
_BSD_SOURCE || _SVID_SOURCE
|| /* glibc 2.10 以 降 : */
(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)
説 明
関 数 dirfd() は デ ィ レ ク ト リ ス ト リ ー ム dirp に 関 連 づ け ら れ た フ ァ イ ル デ ィ ス ク リ プ タ ー を 返 す 。 こ の デ ィ ス ク リ プ タ ー は デ ィ レ ク ト リ ス ト リ ー ム が 内 部 で 使 用 す る も の で あ る 。 よ っ て 、 フ ァ イ ル の 位 置 に 依 存 せ ず 、 か つ そ の 位 置 を 変 更 し な い 関 数 fstat(2) や fchdir(2) な ど で し か 役 に 立 た な い 。 こ の デ ィ ス ク リ プ タ ー は closedir(3) が 呼 ば れ た と き に 自 動 的 に ク ロ ー ズ さ れ る 。
返 り 値
成 功 す る と 、 負 で な い 値 の フ ァ イ ル デ ィ ス ク リ プ タ ー が 返 さ れ る 。 エ ラ ー の 場 合 は −1 が 返 さ れ 、 errno に エ ラ ー の 原 因 を 示 す 値 が 設 定 さ れ る 。
エ ラ ー
POSIX.1−2008 で は 2 つ の エ ラ ー が 規 定 さ れ て い る 。 現 在 の 実 装 で は ど ち ら の エ ラ ー も 返 さ れ な い 。
EINVAL |
dirp が 有 効 な デ ィ レ ク ト リ ス ト リ ー ム を 参 照 し て い な い 。 |
ENOTSUP こ の 実 装 で は 、 フ ァ イ ル デ ィ ス ク リ プ タ ー の デ ィ レ ク ト リ と の 関 連 付 け が サ ポ ー ト さ れ て い な い 。
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 )
dirfd() 関 数 は ス レ ッ ド セ ー フ で あ る 。
準 拠
POSIX.1−2008. こ の 関 数 は BSD 拡 張 で あ っ た 。 4.3BSD−Reno に は 存 在 す る が 、 4.2BSD に は 存 在 し な い 。
注 意
dirfd() の プ ロ ト タ イ プ が 使 用 可 能 な の は 、 _BSD_SOURCE ま た は _SVID_SOURCE が 定 義 さ れ た と き の み で あ る 。
関 連 項 目
open(2), closedir(3), opendir(3), readdir(3), rewinddir(3), scandir(3), seekdir(3), telldir(3)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。