readdir
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)