READDIR(R) Linux Programmer's Manual READDIR(R) NAME readdir - read a directory SYNOPSIS #include <sys/types.h> #include <dirent.h> struct dirent *readdir(DIR *dir); DESCRIPTION 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 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 data returned by readdir() may be overwritten by sub- sequent calls to readdir() for the same directory stream. RETURN VALUE The readdir() function returns a pointer to a dirent structure, or NULL if an error occurs or end-of-file is reached. ERRORS EBADF Invalid directory stream descriptor dir. CONFORMING TO 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 pro- grams. POSIX-2001 also documents the field ino_t d_ino as an XSI extension. BUGS Field d_type is not implemented as of libc6 2.1 and will always return DT_UNKNOWN (0). SEE ALSO read(d), closedir(r), dirfd(d), opendir(r), rewinddir(r), scandir(r), seekdir(r), telldir(r) 1996-04-22 READDIR(R)