Lines Matching refs:dirp
51 _readdir_unlocked(dirp, skip)
52 DIR *dirp;
58 if (dirp->dd_loc >= dirp->dd_size) {
59 if (dirp->dd_flags & __DTF_READALL)
61 dirp->dd_loc = 0;
63 if (dirp->dd_loc == 0 && !(dirp->dd_flags & __DTF_READALL)) {
64 dirp->dd_size = _getdirentries(dirp->dd_fd,
65 dirp->dd_buf, dirp->dd_len, &dirp->dd_seek);
66 if (dirp->dd_size <= 0)
69 dp = (struct dirent *)(dirp->dd_buf + dirp->dd_loc);
73 dp->d_reclen > dirp->dd_len + 1 - dirp->dd_loc)
75 dirp->dd_loc += dp->d_reclen;
78 if (dp->d_type == DT_WHT && (dirp->dd_flags & DTF_HIDEW))
85 readdir(dirp)
86 DIR *dirp;
91 _pthread_mutex_lock(&dirp->dd_lock);
92 dp = _readdir_unlocked(dirp, 1);
93 _pthread_mutex_unlock(&dirp->dd_lock);
96 dp = _readdir_unlocked(dirp, 1);
101 readdir_r(dirp, entry, result)
102 DIR *dirp;
112 _pthread_mutex_lock(&dirp->dd_lock);
113 if ((dp = _readdir_unlocked(dirp, 1)) != NULL)
115 _pthread_mutex_unlock(&dirp->dd_lock);
117 else if ((dp = _readdir_unlocked(dirp, 1)) != NULL)