man(1) Manual page archive

     DIRREAD(2)                                             DIRREAD(2)

          dirread - read directory

          int dirread(int fd, Dir *buf, long nbytes)

          The data returned by a read(2) on a directory is a set of
          complete directory entries in a machine-independent format,
          exactly equivalent to the result of a stat(2) on each file
          or subdirectory in the directory.  Dirread returns the
          entries decoded into an addressable form.  It reads from fd
          and unpacks the data into Dir structures in buf (see stat(2)
          for the layout of a Dir).  Nbytes is the size of buf; it
          should be a multiple of sizeof(Dir).  Directory entries have
          length DIRLEN (defined in <libc.h>) in machine-independent
          form.  A successful read of a directory always returns a
          multiple of DIRLEN; dirread always returns a multiple of

          Dirread returns the number of bytes filled in buf; the num-
          ber returned may be less than the number requested.  The
          file offset is advanced by the number of bytes actually

          intro(2), open(2), read(2)

          Sets errstr.