Lines Matching defs:dir

61 static int websearchfs_create_gen(fs_volume *_volume, fs_node *dir, const char *name, int omode, int perms, ino_t *vnid, fs_node **node, struct attr_entry *iattrs, bool mkdir, bool uniq);
87 fs_node *dir = ns->root;
93 if (!ns || !dir)
96 err = websearchfs_create_gen(_volume, dir, "Search the Web", 0, 0444, NULL, &n, template_1_attrs, false, true);
101 err = websearchfs_create_gen(_volume, dir, "README", 0, 0444, NULL, &n, text_attrs, false, true);
108 err = websearchfs_create_gen(_volume, dir, "Author", 0, 0444, NULL, &n, mailto_me_bookmark_attrs, false, true);
154 /* create root dir */
165 new_lock(&(root->l), "websearchfs root dir");
331 } else if (!strcmp(file, ".")) { /* root dir */
337 } else if (base) { /* child of dir */
671 * @param dir the dir's fs_node we mkdir in
679 static int websearchfs_create_gen(fs_volume *_volume, fs_node *dir, const char *name, int omode, int perms, ino_t *vnid, fs_node **node, struct attr_entry *iattrs, bool mkdir, bool uniq)
682 //fs_node *dir = (fs_node *)_dir->private_node;
687 TRACE("create_gen(%" B_PRId32 ", %" B_PRId64 ", '%s', 0x%08x, %c, %c)\n", ns->nsid, dir->vnid, name, omode, mkdir?'t':'f', uniq?'t':'f');
691 err = LOCK(&dir->l);
695 if (!S_ISDIR(dir->st.st_mode))
697 n = (fs_node *)SLL_FIND(dir->children, next,
711 n = (fs_node *)SLL_FIND(dir->children, next,
739 new_lock(&(n->l), mkdir?"websearchfs dir":"websearchfs file");
748 err = SLL_INSERT(dir->children, next, n);
754 n->parent = dir;
755 dir->st.st_nlink++;
758 notify_entry_created(ns->nsid, dir->vnid, name, n->vnid);
779 UNLOCK(&dir->l);
786 fs_node *dir = (fs_node *)_dir->private_node;
790 TRACE("create(%" B_PRId32 ", %" B_PRId64 ", '%s', 0x%08x)\n", ns->nsid, dir->vnid, name, omode);
794 err = websearchfs_create_gen(_volume, dir, name, omode, perms, vnid, &n, NULL, false, false);
803 static int websearchfs_unlink_gen(fs_volume *_volume, fs_node *dir, const char *name)
808 TRACE("unlink(%" B_PRId32 ", %" B_PRId64 ", %s)\n", ns->nsid, dir->vnid, name);
809 //dprintf(PFS"unlink(%" B_PRId32 ", %" B_PRId64 ", %s)\n", ns->nsid, dir->vnid, name);
810 err = LOCK(&dir->l);
815 n = (fs_node *)SLL_FIND(dir->children, next,
827 SLL_REMOVE(dir->children, next, n);
828 notify_entry_removed(ns->nsid, dir->vnid, name, n->vnid);
829 //notify_listener(B_STAT_CHANGED, ns->nsid, 0LL, 0LL, dir->vnid, NULL);
834 UNLOCK(&dir->l);
841 //fs_node *dir = (fs_node *)_dir->private_node;
848 fs_node *dir = (fs_node *)_dir->private_node;
849 TRACE("rmdir(%" B_PRId32 ", %" B_PRId64 ", %s)\n", _volume->id, dir->vnid, name);
888 fs_node *dir = (fs_node *)_dir->private_node;
889 TRACE("mkdir(%" B_PRId32 ", %" B_PRId64 ", '%s', 0x%08x)\n", ns->nsid, dir->vnid, name, perms);
890 return websearchfs_create_gen(_volume, dir, name, O_EXCL, perms, NULL, NULL, folders_attrs, true, false);