+extern u64
+dentry_correct_total_length(const struct wim_dentry *dentry);
+
+extern int
+for_dentry_in_tree(struct wim_dentry *root,
+ int (*visitor)(struct wim_dentry*, void*),
+ void *args);
+
+extern int
+for_dentry_in_rbtree(struct rb_node *node,
+ int (*visitor)(struct wim_dentry *, void *),
+ void *arg);
+
+static inline int
+for_dentry_child(const struct wim_dentry *dentry,
+ int (*visitor)(struct wim_dentry *, void *),
+ void *arg)
+{
+ return for_dentry_in_rbtree(dentry->d_inode->i_children.rb_node,
+ visitor,
+ arg);
+}
+
+extern int
+for_dentry_in_tree_depth(struct wim_dentry *root,
+ int (*visitor)(struct wim_dentry*, void*),
+ void *args);
+
+extern int
+calculate_dentry_full_path(struct wim_dentry *dentry, void *ignore);
+
+extern void
+calculate_subdir_offsets(struct wim_dentry *dentry, u64 *subdir_offset_p);
+
+extern int
+set_dentry_name(struct wim_dentry *dentry, const mbchar *new_name);
+
+extern struct wim_dentry *
+get_dentry(struct WIMStruct *w, const mbchar *path);
+
+extern struct wim_inode *
+wim_pathname_to_inode(struct WIMStruct *w, const mbchar *path);
+
+extern struct wim_dentry *
+get_dentry_child_with_name(const struct wim_dentry *dentry,
+ const mbchar *name);
+
+extern struct wim_dentry *
+get_dentry_child_with_utf16le_name(const struct wim_dentry *dentry,
+ const utf16lechar *name,
+ size_t name_nbytes);
+
+extern struct wim_dentry *
+get_parent_dentry(struct WIMStruct *w, const mbchar *path);
+
+extern int
+print_dentry(struct wim_dentry *dentry, void *lookup_table);
+
+extern int
+print_dentry_full_path(struct wim_dentry *entry, void *ignore);