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 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 suc-
cessful 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 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)