DIRFD

Section: Linux Programmer's Manual (3)
Updated: 2020-04-11
Index JM Home Page
 

名前

dirfd - ディレクトリストリームのファイルディスクリプターを取得する  

書式

#include <sys/types.h>
#include <dirent.h>

int dirfd(DIR *dirp);

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

dirfd():

/* glibc 2.10 以降: */ _POSIX_C_SOURCE >= 200809L
    || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE
 

説明

関数 dirfd() はディレクトリストリーム dirp に関連付けられたファイルディスクリプターを返す。

このファイルディスクリプターはディレクトリストリームが内部で使用するものである。結果的に、この関数が役に立つのは、ファイルの位置に依存しない関数やその位置を変更しない関数 (fstat(2) や fchdir(2) など) においてだけである。このファイルディスクリプターは closedir(3) が呼ばれたときに自動的にクローズされる。  

返り値

成功すると、 dirfd() はファイルディスクリプター (非負の整数) を返す。エラーの場合、 -1 が返され、 errno にエラーの原因を示す値が設定される。  

エラー

POSIX.1-2008 では 2 つのエラーが規定されている。 現在の実装ではどちらのエラーも返されない。
EINVAL
dirp が有効なディレクトリストリームを参照していない。
ENOTSUP
この実装では、ファイルディスクリプターのディレクトリとの関連付けが サポートされていない。
 

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
dirfd() Thread safety MT-Safe
 

準拠

POSIX.1-2008. この関数は BSD 拡張であった。 4.3BSD-Reno には存在するが、4.2BSD には存在しない。  

関連項目

open(2), openat(2), closedir(3), opendir(3), readdir(3), rewinddir(3), scandir(3), seekdir(3), telldir(3)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

ストリーム   dirfd   関連   実装   types   dirent   検査   マクロ   要件   macros   内部   結果的   依存   自動的   クローズ   成功   整数   原因   規定   サポート   用語   allbox   インターフェース   属性   Thread

Linux マニュアル 一覧

関連するコマンド・関数

closedir.3   fdopendir.3   opendir.3   fflush.3   readdir.3   fcloseall.3
 

Index

名前
書式
説明
返り値
エラー
属性
準拠
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:28 GMT, October 11, 2026