15752Smckusick /* Copyright (c) 1982 Regents of the University of California */ 25752Smckusick 3*5928Smckusic static char sccsid[] = "@(#)seekdir.c 1.2 02/21/82"; 45752Smckusick 55752Smckusick #include <sys/types.h> 65752Smckusick #include <ndir.h> 75752Smckusick 85752Smckusick /* 9*5928Smckusic * seek to an entry in a directory. 10*5928Smckusic * Only values returned by ``telldir'' should be passed to seekdir. 115752Smckusick */ 125752Smckusick void 13*5928Smckusic seekdir(dirp, loc) 14*5928Smckusic register DIR *dirp; 15*5928Smckusic long loc; 165752Smckusick { 17*5928Smckusic lseek(dirp->dd_fd, loc & ~(DIRBLKSIZ - 1), 0); 18*5928Smckusic dirp->dd_loc = loc % DIRBLKSIZ; 19*5928Smckusic if (dirp->dd_loc != 0) 20*5928Smckusic dirp->dd_size = read(dirp->dd_fd, dirp->dd_buf, DIRBLKSIZ); 215752Smckusick } 22