DIRREAD(2) 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 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 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 returns
a multiple of sizeof(Dir).
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
read.
SOURCE
/sys/src/libc/9sys/dirread.c
SEE ALSO
intro(2), open(2), read(2)
DIAGNOSTICS
Sets errstr.
Page 1 Plan 9 (printed 12/14/25)