Lines Matching defs:dirp
40 _readdir_unlocked(DIR *dirp, struct dirent **result)
46 if (dirp->dd_loc >= dirp->dd_size) {
47 dirp->dd_loc = 0;
48 dirp->dd_size = getdents(dirp->dd_fd, dirp->dd_buf,
49 dirp->dd_len);
50 if (dirp->dd_size == 0)
52 if (dirp->dd_size < 0)
55 dp = (struct dirent *)(dirp->dd_buf + dirp->dd_loc);
58 dp->d_reclen > dirp->dd_len + 1 - dirp->dd_loc) {
62 dirp->dd_loc += dp->d_reclen;
65 dirp->dd_curpos = dp->d_off;
72 readdir(DIR *dirp)
76 _MUTEX_LOCK(&dirp->dd_lock);
77 _readdir_unlocked(dirp, &dp);
78 _MUTEX_UNLOCK(&dirp->dd_lock);