OPENDIR(3) Library Functions Manual OPENDIR(3)

opendiropen a directory

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

DIR *opendir(const char *dirname);

The opendir() function opens a directory stream corresponding to the directory named by the dirname argument. The directory stream is positioned at the first entry. If the type DIR , is implemented using a file descriptor, applications 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.

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

The opendir() function will fail if:

Search permission is denied for the component of the path prefix of dirname or read permission is denied for dirname.
Too many symbolic links were encountered in resolving path .
The length of the dirname argument exceeds {PATH_MAX}, or a pathname component is longer than {NAME_MAX}.
A component of dirname does not name an existing directory or dirname is an empty string.
A component of dirname is not a directory.

The function may fail if:

{OPEN_MAX} file descriptors are currently open in the calling process.
Pathname resolution of a symbolic link produced an intermediate result whose length exceeds {PATH_MAX}.
Too many files are currently open in the system.

None.

The opendir() function should be used in conjunction with readdir(3) , closedir(3) and rewinddir(3) to examine the contents of the directory (see the EXAMPLES section in readdir(3) ). This method is recommended for portability.

None.

closedir(3) , lstat(3) , readdir(3) , rewinddir(3) , symlink(3) , <dirent.h> , <limits.h> , <sys/types.h> .

February 1997 posix.fail