COHERENT manpages
This page displays the COHERENT manpage for opendir() [Open a directory stream].
List of available manpages
Index
opendir() -- General Function (libc) Open a directory stream #include <sys/types.h> #include <dirent.h> DIR *opendir (dirname) char *dirname; The COHERENT function opendir() is one of a set of COHERENT routines that manipulate directories in a device-independent manner. It opens a directory stream and connects the directory dirname with it. opendir() returns a pointer to the directory stream it has created. It returns NULL if it cannot access dirname, if dirname is not a directory, or if it cannot create the directory stream (perhaps due to insufficient memory). If an error occurs, opendir() exits and sets errno to an appropriate value. Example The following example searches the current working directory for entry FOO: #include <stddef.h> #include <sys/types.h> #include <dirent.h> main() { DIR *dirp struct dirent *dp; dirp = opendir( "." ); while ((dp = readdir( dirp )) != NULL ) { if ( strcmp( dp->d_name, "FOO" ) == 0 ) { printf("Found FOO\n"); (void) closedir(dirp); return FOUND; } } (void) closedir( dirp ); printf("FOO not found\n"); return NOT_FOUND; } See Also closedir(), dirent.h, getdents(), libc, readdir(), rewinddir(), seekdir(), telldir() POSIX Standard, §5.1.2 Notes The dirent routines buffer directories; and because directory entries can appear and disappear as other users manipulate the directory, your application should continually rescan a directory to keep an accurate picture of its active entries. The COHERENT implementation of the dirent routines was written by D. Gwynn.