readdir - read a directory
#include <sys/types.h>
#include <dirent.h>
struct dirent *readdir(DIR *dir);
The readdir() function returns a pointer to a dirent structure representing
the next directory entry in the directory stream pointed to by
dir. It returns NULL on reaching the end-of-file or if an error
occurred.
The data returned by readdir() is overwritten by subsequent calls to
readdir() for the same directory stream.
The dirent structure is defined as follows:
struct dirent {
long d_ino; /* inode number */
off_t d_off; /* offset to the next dirent */
unsigned short d_reclen;/* length of this record */
unsigned char d_type; /* type of file */
char d_name[256]; /* filename */
};
The readdir() function returns a pointer to a dirent structure, or NULL
if an error occurs or end-of-file is reached.
EBADF Invalid directory stream descriptor dir.
SVID 3, POSIX, BSD 4.3
According to POSIX, the dirent structure contains a field char d_name[]
of unspecified size, with at most NAME_MAX characters preceding the
terminating null character. Use of other fields will harm the portability
of your programs.
Field d_type is not implemented as of libc6 2.1 and will always return
DT_UNKNOWN (0).
read(2), opendir(3), closedir(3), rewinddir(3), seekdir(3), telldir(3),
scandir(3)
1996-04-22 READDIR(3)
[ Back ] |