Lines Matching refs:dirp

52 _readdir_unlocked(DIR *dirp, int flags)  in _readdir_unlocked()  argument
59 if (dirp->dd_loc >= dirp->dd_size) { in _readdir_unlocked()
60 if (dirp->dd_flags & __DTF_READALL) in _readdir_unlocked()
62 initial_loc = dirp->dd_loc; in _readdir_unlocked()
63 dirp->dd_flags &= ~__DTF_SKIPREAD; in _readdir_unlocked()
64 dirp->dd_loc = 0; in _readdir_unlocked()
66 if (dirp->dd_loc == 0 && in _readdir_unlocked()
67 !(dirp->dd_flags & (__DTF_READALL | __DTF_SKIPREAD))) { in _readdir_unlocked()
68 initial_seek = dirp->dd_seek; in _readdir_unlocked()
69 dirp->dd_size = _getdirentries(dirp->dd_fd, in _readdir_unlocked()
70 dirp->dd_buf, dirp->dd_len, &dirp->dd_seek); in _readdir_unlocked()
71 if (dirp->dd_size <= 0) in _readdir_unlocked()
73 _fixtelldir(dirp, initial_seek, initial_loc); in _readdir_unlocked()
75 dirp->dd_flags &= ~__DTF_SKIPREAD; in _readdir_unlocked()
76 dp = (struct dirent *)(dirp->dd_buf + dirp->dd_loc); in _readdir_unlocked()
80 dp->d_reclen > dirp->dd_len + 1 - dirp->dd_loc) in _readdir_unlocked()
82 dirp->dd_loc += dp->d_reclen; in _readdir_unlocked()
85 if (dp->d_type == DT_WHT && (dirp->dd_flags & DTF_HIDEW)) in _readdir_unlocked()
95 readdir(DIR *dirp) in readdir() argument
100 _pthread_mutex_lock(&dirp->dd_lock); in readdir()
101 dp = _readdir_unlocked(dirp, RDU_SKIP); in readdir()
103 _pthread_mutex_unlock(&dirp->dd_lock); in readdir()
108 __readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) in __readdir_r() argument
116 _pthread_mutex_lock(&dirp->dd_lock); in __readdir_r()
117 dp = _readdir_unlocked(dirp, RDU_SKIP | RDU_SHORT); in __readdir_r()
121 _pthread_mutex_unlock(&dirp->dd_lock); in __readdir_r()