NAME
opendir — open a
directory
SYNOPSIS
#include <sys/types.h> #include <dirent.h> DIR *opendir(const char *dirname);
DESCRIPTION
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.
RETURN VALUE
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.
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 pathname component is longer than {NAME_MAX}.
- [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 opendir() function may fail if:
- [EMFILE]
- {OPEN_MAX} file descriptors are 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 in the system.
EXAMPLES
None.
APPLICATION USAGE
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.
FUTURE DIRECTIONS
None.
SEE ALSO
closedir(3) , lstat(3) , readdir(3) , rewinddir(3) , symlink(3) , <dirent.h> , <limits.h> , <sys/types.h> .