routine dir_readdir (
dir: file_t;
RPT
out data: data_t, dealloc[];
entry: int;
nentries: int;
bufsiz: vm_size_t;
out amount: int);
Read entries from the directory. Each entry is identified by an index number
starting at 0 and running through the file. This call fetches nentries (or
any convenient number if nentries is -1) entries starting at entry,
returning a series of struct dirent in data.
Note that due to the variable-size d_name field, d_reclen has to be used to
jump from one struct dirent to the other.
The number of entries
successfully read is returned in amount. If entry is bigger than the index
of the last entry, then 0 is returned in amount. If bufsize is nonzero,
never return more than bufsize bytes of data regardless.
