X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fdentry.h;h=a2735e5ef3e02fa5a8c00072f9279fcb2e7aaa92;hb=6c7b1783191ffe324953aad63735843feda9f901;hp=2a40ef42ff64828c6b9861de27365e5ba0dd495d;hpb=41ae41d4dbe9a5c8413304b5e9ae02eec76d69b1;p=wimlib diff --git a/include/wimlib/dentry.h b/include/wimlib/dentry.h index 2a40ef42..a2735e5e 100644 --- a/include/wimlib/dentry.h +++ b/include/wimlib/dentry.h @@ -159,6 +159,12 @@ struct wim_dentry { * characters). Otherwise this will always be 0. */ u8 extraction_skipped : 1; + /* For extraction operations, this flag will be set on dentries in the + * tree being extracted. */ + u8 in_extraction_tree : 1; + + /* During extraction extractions, this flag will be set after the + * "skeleton" of the dentry has been extracted. */ u8 skeleton_extracted : 1; /* When capturing from a NTFS volume using NTFS-3g, this flag is set on @@ -224,10 +230,6 @@ struct wim_dentry { * alias file_name. */ tchar *extraction_name; size_t extraction_name_nchars; - - /* (Extraction only) List head for building a list of dentries that - * contain a certain stream. */ - struct list_head extraction_stream_list; }; #define rbnode_dentry(node) container_of(node, struct wim_dentry, rb_node) @@ -294,7 +296,7 @@ struct wim_inode { /* Number of dentries that are aliases for this inode. */ u32 i_nlink; - /* Number of alternate data streams associated with this inode */ + /* Number of alternate data streams (ADS) associated with this inode */ u16 i_num_ads; /* Flag that indicates whether this inode's streams have been @@ -316,6 +318,10 @@ struct wim_inode { /* Set if the DOS name of an inode has already been extracted. */ u8 i_dos_name_extracted : 1; + /* 1 iff all ADS entries of this inode are named or if this inode + * has no ADS entries */ + u8 i_canonical_streams : 1; + /* Pointer to a malloc()ed array of i_num_ads alternate data stream * entries for this inode. */ struct wim_ads_entry *i_ads_entries; @@ -414,7 +420,7 @@ dentry_is_first_in_inode(const struct wim_dentry *dentry) } extern u64 -dentry_correct_total_length(const struct wim_dentry *dentry); +dentry_out_total_length(const struct wim_dentry *dentry); extern int for_dentry_in_tree(struct wim_dentry *root,