term% cat index.txt DIRREAD(2)                    System Calls Manual                   DIRREAD(2)
NAME
       dirread - read directory
SYNOPSIS
       #include <u.h>
       #include <libc.h>
       int dirread(int fd, Dir *buf, long nbytes)
DESCRIPTION
       The  data returned by a read(2) on a directory is a set of complete di‐
       rectory entries in a machine-independent format, exactly equivalent  to
       the  result of a stat(2) on each file or subdirectory in the directory.
       Dirread decodes the directory entries into  a  machine-dependent  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 re‐
       turns a multiple of sizeof(Dir).
       Dirread returns the number of bytes filled in buf; the number  returned
       may  be less than the number requested.  The file offset is advanced by
       the number of bytes actually read.
SOURCE
       /sys/src/libc/9sys/dirread.c
SEE ALSO
       intro(2), open(2), read(2)
DIAGNOSTICS
       Sets errstr.
                                                                    DIRREAD(2)