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)