You are here : Cdirent.hopendir

opendir() - dirent.h

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.


Syntax

DIR *opendir(const char *dirname);


Example


Output / 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.
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.


Limitations

Available only for UNIX / UNIX based OS.


Alternatives / See Also


Reference