Lines Matching refs:dirp

48 _readdir_unlocked(DIR *dirp, int flags)  in _readdir_unlocked()  argument
55 if (dirp->dd_loc >= dirp->dd_size) { in _readdir_unlocked()
56 if (dirp->dd_flags & __DTF_READALL) in _readdir_unlocked()
58 initial_loc = dirp->dd_loc; in _readdir_unlocked()
59 dirp->dd_flags &= ~__DTF_SKIPREAD; in _readdir_unlocked()
60 dirp->dd_loc = 0; in _readdir_unlocked()
62 if (dirp->dd_loc == 0 && in _readdir_unlocked()
63 !(dirp->dd_flags & (__DTF_READALL | __DTF_SKIPREAD))) { in _readdir_unlocked()
64 initial_seek = dirp->dd_seek; in _readdir_unlocked()
65 dirp->dd_size = _getdirentries(dirp->dd_fd, in _readdir_unlocked()
66 dirp->dd_buf, dirp->dd_len, &dirp->dd_seek); in _readdir_unlocked()
67 if (dirp->dd_size <= 0) in _readdir_unlocked()
69 _fixtelldir(dirp, initial_seek, initial_loc); in _readdir_unlocked()
71 dirp->dd_flags &= ~__DTF_SKIPREAD; in _readdir_unlocked()
72 dp = (struct dirent *)(dirp->dd_buf + dirp->dd_loc); in _readdir_unlocked()
76 dp->d_reclen > dirp->dd_len + 1 - dirp->dd_loc) in _readdir_unlocked()
78 dirp->dd_loc += dp->d_reclen; in _readdir_unlocked()
81 if (dp->d_type == DT_WHT && (dirp->dd_flags & DTF_HIDEW)) in _readdir_unlocked()
91 readdir(DIR *dirp) in readdir() argument
96 _pthread_mutex_lock(&dirp->dd_lock); in readdir()
97 dp = _readdir_unlocked(dirp, RDU_SKIP); in readdir()
99 _pthread_mutex_unlock(&dirp->dd_lock); in readdir()
104 __readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) in __readdir_r() argument
112 _pthread_mutex_lock(&dirp->dd_lock); in __readdir_r()
113 dp = _readdir_unlocked(dirp, RDU_SKIP | RDU_SHORT); in __readdir_r()
117 _pthread_mutex_unlock(&dirp->dd_lock); in __readdir_r()