unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Page:
Section:
Apropos / Subsearch:
optional field

DIRFD(3)                   Linux Programmer's Manual                  DIRFD(3)



NAME
       dirfd - get directory stream file descriptor

SYNOPSIS
       #include <&lt;sys/types.h>&gt;
       #include <&lt;dirent.h>&gt;

       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.

RETURN VALUE
       On  success,  a non-negative file descriptor is returned.  On error, -1
       is returned.

ERRORS
       The upcoming POSIX.1 revision specifies two errors, neither of which is
       returned by the current implementation.

       EINVAL dirp does not refer to a valid directory stream.

       ENOTSUP
              The  implementation  does  not support the association of a file
              descriptor with a directory.

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)

COLOPHON
       This page is part of release 3.05 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.



Linux                             2008-07-02                          DIRFD(3)