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