home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | VERSIONS | CONFORMING TO | NOTES | SEE ALSO | COLOPHONThe Linux Programming Interface


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

NAME         top

       opendir, fdopendir - open a directory

SYNOPSIS         top

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

       DIR *opendir(const char *name);
       DIR *fdopendir(int fd);

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

       fdopendir():
           Since glibc 2.10:
               _XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
           Before glibc 2.10:
               _GNU_SOURCE

DESCRIPTION         top

       The opendir() function opens a directory stream corresponding to the directory
       name, and returns a pointer to the directory stream.  The stream is positioned
       at the first entry in the directory.

       The fdopendir() function is like opendir(), but returns a directory stream for
       the directory referred to by the open file descriptor fd.  After a successful
       call to fdopendir(), fd is used internally by the implementation, and should
       not otherwise be used by the application.

RETURN VALUE         top

       The opendir() and fdopendir() functions return a pointer to the directory
       stream.  On error, NULL is returned, and errno is set appropriately.

ERRORS         top

       EACCES Permission denied.

       EBADF  fd is not a valid file descriptor opened for reading.

       EMFILE Too many file descriptors in use by process.

       ENFILE Too many files are currently open in the system.

       ENOENT Directory does not exist, or name is an empty string.

       ENOMEM Insufficient memory to complete the operation.

       ENOTDIR
              name is not a directory.

VERSIONS         top

       fdopendir() is available in glibc since version 2.4.

CONFORMING TO         top

       opendir() is present on SVr4, 4.3BSD, and specified in POSIX.1-2001.
       fdopendir() is specified in POSIX.1-2008.

NOTES         top

       The underlying file descriptor of the directory stream can be obtained using
       dirfd(3).

       The opendir() function sets the close-on-exec flag for the file descriptor
       underlying the DIR *.  The fdopendir() function leaves the setting of the
       close-on-exec flag unchanged for the file descriptor, fd.  POSIX.1-200x leaves
       it unspecified whether a successful call to fdopendir() will set the close-on-
       exec flag for the file descriptor, fd.

SEE ALSO         top

       open(2), closedir(3), dirfd(3), readdir(3), rewinddir(3), scandir(3),
       seekdir(3), telldir(3)

COLOPHON         top

       This page is part of release 3.32 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/.

GNU                                   2010-06-20                           OPENDIR(3)

HTML rendering created 2010-12-03 by Michael Kerrisk, author of The Linux Programming Interface

customisable
counter