opendir(3C)




NAME

     opendir, fdopendir - open directory


SYNOPSIS

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

     DIR *opendir(const char *dirname);

     DIR *fdopendir(int fildes);


DESCRIPTION

     The opendir() function opens a directory stream  correspond-
     ing to the directory named by the dirname argument.

     The fdopendir() function opens a directory  stream  for  the
     directory   file   descriptor  fildes.  The  directory  file
     discriptor should not be used or closed following a success-
     ful  function  call,  as  this might cause undefined results
     from future operations on the directory stream obtained from
     the call. Use closedir(3C) to close a directory stream.

     The directory stream is positioned at the  first  entry.  If
     the  type DIR is implemented using a file descriptor, appli-
     cations will  only  be  able  to  open  up  to  a  total  of
     {OPEN_MAX}  files  and directories. A successful call to any
     of the exec functions will close any directory streams  that
     are open in the calling process.  See exec(2).


RETURN VALUES

     Upon successful completion, opendir() and fdopendir() return
     a  pointer  to  an  object  of  type  DIR. Otherwise, a null
     pointer is returned and errno is set to indicate the error.


ERRORS

     The opendir() function will fail if:

     EACCES
           Search permission is denied for the component  of  the
           path  prefix  of  dirname or read permission is denied
           for dirname.

     ELOOP Too many symbolic links were encountered in  resolving
           path.

     ENAMETOOLONG
           The length of the dirname argument exceeds {PATH_MAX},
           or  a  path  name  component is longer than {NAME_MAX}
           while {_POSIX_NO_TRUNC} is in effect.

     ENOENT
           A component of  dirname  does  not  name  an  existing
           directory or dirname is an empty string.

     ENOTDIR
           A component of dirname is not a directory.

     The fdopendir() function will fail if:

     ENOTDIR
           The file descriptor fildes does not reference a direc-
           tory.

     The opendir() function may fail if:

     EMFILE
           There are {OPEN_MAX} file descriptors  currently  open
           in the calling process.

     ENAMETOOLONG
           Pathname resolution of a  symbolic  link  produced  an
           intermediate result whose length exceeds PATH_MAX.

     ENFILE
           Too many files are currently open on the system.


USAGE

     The opendir() and fdopendir() functions should  be  used  in
     conjunction with readdir(3C), closedir(3C) and rewinddir(3C)
     to examine the contents of the directory (see  the  EXAMPLES
     section in readdir(3C)). This method is recommended for por-
     tability.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
   |        ATTRIBUTE TYPE       |        ATTRIBUTE VALUE      |
   | ____________________________|_____________________________|_
   |  Interface Stability        |  opendir() is Standard; fdo-|
   |                             |  pendir() is Evolving       |
   |_____________________________|_____________________________|
   | MT-Level                    | Safe                        |
   |_____________________________|_____________________________|


SEE ALSO

     lstat(2),     symlink(2),     closedir(3C),     readdir(3C),
     rewinddir(3C), attributes(5)


Man(1) output converted with man2html