TELLDIR(3)

名前
telldir - ディレクトリストリーム中の現在位置を返す

書式
#include <dirent.h>

long telldir(DIR *dirp);

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

telldir():
 _XOPEN_SOURCE
    || /* glibc 2.19 以降: */ _DEFAULT_SOURCE
    || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE

説明
telldir() 関数は、ディレクトリストリーム dirp の現在位置を返す。

返り値
成功した場合、 telldir() 関数はディレクトリストリーム中の現在位置を返す。 エラーの場合、-1 が返り、 errno が適切に設定される。

エラー

EBADF
    ディレクトリストリームディスクリプター dirp が無効である。

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

準拠
POSIX.1-2001, POSIX.1-2008, 4.3BSD.

注意
バージョン 2.1.1 以前の glibc では、 telldir() の返り値の型は off_t であった。 POSIX.1-2001 では long と規定されており、glibc 2.1.2 以降では long になっている。

初期のファイルシステムでは、 telldir() が返す値は単なるディレクトリ内のファイルオフセットであった。最近のファイルシステムでは、ディレクトリを表現するのに、フラットなテーブルではなく、ツリー構造やハッシュ構造が使用されている。このようなファイルシステムでは、 telldir() が返す値 (および readdir(3) が内部で使用する値) は、ファイルシステム実装がディレクトリ内での位置を得るのに使用する "cookie" となる。アプリケーションプログラムでは、必ずこの値を内容の意識せず単なる値として扱うべきであり、その内容について前提を持つべきでは「ない」。

関連項目
closedir(3), opendir(3), readdir(3), rewinddir(3), scandir(3), seekdir(3)

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