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.