-#define WIM_FILE_ATTRIBUTE_READONLY 0x00000001
-#define WIM_FILE_ATTRIBUTE_HIDDEN 0x00000002
-#define WIM_FILE_ATTRIBUTE_SYSTEM 0x00000004
-#define WIM_FILE_ATTRIBUTE_DIRECTORY 0x00000010
-#define WIM_FILE_ATTRIBUTE_ARCHIVE 0x00000020
-#define WIM_FILE_ATTRIBUTE_DEVICE 0x00000040
-#define WIM_FILE_ATTRIBUTE_NORMAL 0x00000080
-#define WIM_FILE_ATTRIBUTE_TEMPORARY 0x00000100
-#define WIM_FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
-#define WIM_FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
-#define WIM_FILE_ATTRIBUTE_COMPRESSED 0x00000800
-#define WIM_FILE_ATTRIBUTE_OFFLINE 0x00001000
-#define WIM_FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
-#define WIM_FILE_ATTRIBUTE_ENCRYPTED 0x00004000
-#define WIM_FILE_ATTRIBUTE_VIRTUAL 0x00010000
-
-extern void stbuf_to_dentry(const struct stat *stbuf, struct dentry *dentry);
-
-extern void dentry_to_stbuf(const struct dentry *dentry, struct stat *stbuf,
- const struct lookup_table *table);
-
-extern int for_dentry_in_tree(struct dentry *root,
- int (*visitor)(struct dentry*, void*),
- void *args);
-
-extern int for_dentry_in_tree_depth(struct dentry *root,
- int (*visitor)(struct dentry*, void*),
- void *args);
-
-extern int calculate_dentry_full_path(struct dentry *dentry, void *ignore);
-extern void calculate_subdir_offsets(struct dentry *dentry, u64 *subdir_offset_p);
-extern int change_dentry_name(struct dentry *dentry, const char *new_name);
-
-extern void unlink_dentry(struct dentry *dentry);
-extern void link_dentry(struct dentry *dentry, struct dentry *parent);
-
-extern int print_dentry(struct dentry *dentry, void *lookup_table);
-extern int print_dentry_full_path(struct dentry *entry, void *ignore);
-
-extern struct dentry *get_dentry(WIMStruct *w, const char *path);
-extern struct dentry *get_parent_dentry(WIMStruct *w, const char *path);
-extern struct dentry *get_dentry_child_with_name(const struct dentry *dentry,
- const char *name);
-extern void dentry_update_all_timestamps(struct dentry *dentry);
-extern void init_dentry(struct dentry *dentry, const char *name);
-extern struct dentry *new_dentry(const char *name);
-
-extern void free_dentry(struct dentry *dentry);
-extern void free_dentry_tree(struct dentry *root,
- struct lookup_table *lookup_table,
- bool lt_decrement_refcnt);
-extern int increment_dentry_refcnt(struct dentry *dentry, void *ignore);
-extern int decrement_dentry_refcnt(struct dentry *dentry, void *ignore);
-
-extern void calculate_dir_tree_statistics(struct dentry *root,
- struct lookup_table *table,
- u64 *dir_count_ret,
- u64 *file_count_ret,
- u64 *total_bytes_ret,
- u64 *hard_link_bytes_ret);
-
-extern int read_dentry(const u8 metadata_resource[], u64 metadata_resource_len,
- u64 offset, struct dentry *dentry);
-
-extern int read_dentry_tree(const u8 metadata_resource[],
- u64 metadata_resource_len, struct dentry *dentry);
-
-extern u8 *write_dentry_tree(const struct dentry *tree, u8 *p);
-
-/* Inline utility functions for WIMDentries */