Lines Matching refs:dir
196 static void cleanup_dir(DIR *dir, mode_t mask, int depth) {
202 for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
207 if (fstatat(dirfd(dir), dent->d_name, &stats, AT_SYMLINK_NOFOLLOW) != 0)
214 dir2 = fdopendir(openat(dirfd(dir), dent->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC));
218 (void) unlinkat(dirfd(dir), dent->d_name, AT_REMOVEDIR);
220 (void) unlinkat(dirfd(dir), dent->d_name, 0);
225 DIR *dir;
229 dir = opendir(UDEV_ROOT_RUN "/udev/data");
230 if (dir != NULL) {
231 cleanup_dir(dir, S_ISVTX, 1);
232 closedir(dir);
235 dir = opendir(UDEV_ROOT_RUN "/udev/links");
236 if (dir != NULL) {
237 cleanup_dir(dir, 0, 2);
238 closedir(dir);
241 dir = opendir(UDEV_ROOT_RUN "/udev/tags");
242 if (dir != NULL) {
243 cleanup_dir(dir, 0, 2);
244 closedir(dir);
247 dir = opendir(UDEV_ROOT_RUN "/udev/static_node-tags");
248 if (dir != NULL) {
249 cleanup_dir(dir, 0, 2);
250 closedir(dir);
253 dir = opendir(UDEV_ROOT_RUN "/udev/watch");
254 if (dir != NULL) {
255 cleanup_dir(dir, 0, 1);
256 closedir(dir);