FDSDSIZE
endoff = (nentries + 2) * FDSDSIZE;
if (uiop->uio_offset < 2*FDSDSIZE) {
MIN(uiop->uio_resid, 2*FDSDSIZE - uiop->uio_offset),
minfd = (uiop->uio_offset - 2*FDSDSIZE)/FDSDSIZE;
maxfd = (uiop->uio_offset + uiop->uio_resid - 1)/FDSDSIZE;
modoff = uiop->uio_offset % FDSDSIZE;
MIN(uiop->uio_resid, FDSDSIZE - modoff),
((P_FINFO(curproc)->fi_nfiles + 2) * FDSDSIZE);
(uiop->uio_offset % FDSDSIZE) != 0)
} else if (off == FDSDSIZE) { /* ".." */
if ((n = (off-2*FDSDSIZE)/FDSDSIZE) >= nentries)
dirent->d_off = (offset_t)(uiop->uio_offset + FDSDSIZE);
uiop->uio_offset = off + FDSDSIZE;
*eofp = ((uiop->uio_offset-2*FDSDSIZE)/FDSDSIZE >= nentries);