dirfd(3) Library Functions Manual dirfd(3) NAME dirfd - get directory stream file descriptor LIBRARY Standard C library (libc, -lc) SYNOPSIS #include #include int dirfd(DIR *dirp); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): dirfd(): /* Since glibc 2.10: */ _POSIX_C_SOURCE >= 200809L || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE DESCRIPTION The function dirfd() returns the file descriptor associated with the direc- tory stream dirp. This file descriptor is the one used internally by the directory stream. As a result, it is useful only for functions which do not depend on or al- ter the file position, such as fstat(2) and fchdir(2). It will be automat- ically closed when closedir(3) is called. RETURN VALUE On success, dirfd() returns a file descriptor (a nonnegative integer). On error, -1 is returned, and errno is set to indicate the error. ERRORS POSIX.1-2008 specifies two errors, neither of which is returned by the cur- rent implementation. EINVAL dirp does not refer to a valid directory stream. ENOTSUP The implementation does not support the association of a file de- scriptor with a directory. ATTRIBUTES For an explanation of the terms used in this section, see attributes(7). allbox; lbx lb lb l l l. Interface Attribute Value T{ dirfd() T} Thread safety MT-Safe STANDARDS POSIX.1-2008. HISTORY 4.3BSD-Reno (not in 4.2BSD). SEE ALSO open(2), openat(2), closedir(3), opendir(3), readdir(3), rewinddir(3), scandir(3), seekdir(3), telldir(3) Linux man-pages 6.18 2026-02-08 dirfd(3)