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 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
DIAGNOSTICS
Sets errstr.
Plan 9 — April 04, 1995