DIRFD(3)

NAME
dirfd - get directory stream file descriptor

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

int dirfd(DIR *dir);

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

dirfd(): _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION
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.

ERRORS
On error -1 is returned.

CONFORMING TO
This is a BSD extension, present in 4.3BSD-Reno, not in 4.2BSD. It is present in libc5 (since 5.1.2) and in glibc2. This function is under consideration for inclusion in a future version of POSIX.1.

NOTES
The prototype for dirfd() is only available if _BSD_SOURCE or _SVID_SOURCE is defined.

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