Manpages

名 前

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/ に 書 か れ て い る 。