The function dirfd() returns the file descriptor associated with the directory stream dir.
This descriptor is the one used internally by the directory stream. As a result, it is only useful for functions which do not depend on or alter the file position, such as fstat(2) and fchdir(2). It will be automatically closed when closedir(3) is called.
On error -1 is returned.
The prototype for dirfd is only available if _BSD_SOURCE or _SVID_SOURCE is defined (either explicitly, or implicitly, by not defining _POSIX_SOURCE or compiling with the -ansi flag).
This is a BSD extension, present in 4.3BSD-Reno, not in 4.2BSD. Present in libc5 (since 5.1.2) and in glibc2.
open(2), closedir(3), opendir(3), readdir(3), rewinddir(3), scandir(3), seekdir(3), telldir(3)