glenda.party
term% ls -F
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)