dirfd

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

NAME
       dirfd - get directory stream file descriptor

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

       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 versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION
       The  function  dirfd()  returns the file descriptor associated with the
       directory 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 de-
       pend 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 nonnegative file descriptor is returned.  On error, -1 is
       returned, and errno is set to indicate the cause of the error.

ERRORS
       POSIX.1-2008 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.

ATTRIBUTES
       For an  explanation  of  the  terms  used  in  this  section,  see  at-
       tributes(7).

       +----------+---------------+---------+
       |Interface | Attribute     | Value   |
       +----------+---------------+---------+
       |dirfd()   | Thread safety | MT-Safe |
       +----------+---------------+---------+
CONFORMING TO
       POSIX.1-2008.   This  function  was a BSD extension, present in 4.3BSD-
       Reno, not in 4.2BSD.

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 5.05 of the Linux man-pages project.  A
       description of the project, information about reporting bugs,  and  the
       latest     version     of     this    page,    can    be    found    at
       https://www.kernel.org/doc/man-pages/.

Linux                             2016-03-15                          DIRFD(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2024 Hurricane Electric. All Rights Reserved.