]> wimlib.net Git - wimlib/blobdiff - src/dentry.h
implement WIMLIB_INIT_FLAG_ASSUME_UTF8
[wimlib] / src / dentry.h
index 28fdeaf27207570ac52cabaa0addaa219458e222..0021eeae2855c2167517562e7788e6316eb0fc9e 100644 (file)
@@ -81,11 +81,9 @@ struct wim_ads_entry {
        /* Stream name (UTF-16LE) */
        utf16lechar *stream_name;
 
-#ifdef WITH_FUSE
        /* Number to identify an alternate data stream even after it's possibly
         * been moved or renamed. */
        u32 stream_id;
-#endif
 };
 
 
@@ -265,7 +263,10 @@ struct wim_inode {
         * link_count of them) */
        struct list_head i_dentry;
 
-       struct hlist_node i_hlist;
+       union {
+               struct hlist_node i_hlist;
+               struct list_head i_list;
+       };
 
        union {
                /* Used during image extraction to build a list of inodes that
@@ -283,15 +284,14 @@ struct wim_inode {
         * noted in the @attributes field.) */
        struct rb_root i_children;
 
+       /* Next alternate data stream ID to be assigned */
+       u32 i_next_stream_id;
+
 #ifdef WITH_FUSE
        /* wimfs file descriptors table for the inode */
        u16 i_num_opened_fds;
        u16 i_num_allocated_fds;
        struct wimfs_fd **i_fds;
-
-       /* Next alternate data stream ID to be assigned */
-       u32 i_next_stream_id;
-
        /* This mutex protects the inode's file descriptors table during
         * read-only mounts.  Read-write mounts are still restricted to 1
         * thread. */
@@ -372,6 +372,9 @@ print_dentry(struct wim_dentry *dentry, void *lookup_table);
 extern int
 print_dentry_full_path(struct wim_dentry *entry, void *ignore);
 
+extern int
+calculate_dentry_full_path(struct wim_dentry *dentry);
+
 extern tchar *
 dentry_full_path(struct wim_dentry *dentry);