opendir(3C)
NAME
opendir − open 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 VALUES
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} 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 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.
USAGE
The opendir() function 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 portability.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | Safe |
SEE ALSO
lstat(2), symlink(2), closedir(3C), readdir(3C), rewinddir(3C), attributes(5)
SunOS 5.6 — Last change: 29 Dec 1996