]> wimlib.net Git - wimlib/blobdiff - src/wimlib_internal.h
Various cleanups
[wimlib] / src / wimlib_internal.h
index d9c7775647063c3e3732c71338bd66b302ca874d..3ebf205ccf3617c01bbba84460b5fc1e492b407b 100644 (file)
@@ -206,7 +206,7 @@ struct wim_security_data {
        /* keep track of how many WIMs reference this security data (used when
         * exporting images between WIMs) */
        u32 refcnt;
-} WIMSecurityData;
+};
 
 struct link_group_table;
 
@@ -219,13 +219,13 @@ struct image_metadata {
        /* Pointer to the security data for the image. */
        struct wim_security_data *security_data;
 
+       /* Hard link group table */
+       struct link_group_table *lgt;
+
        /* A pointer to the lookup table entry for this image's metadata
         * resource. */
        struct lookup_table_entry *metadata_lte;
 
-       /* Hard link group table */
-       struct link_group_table *lgt;
-
        /* True if the filesystem of the image has been modified.  If this is
         * the case, the memory for the filesystem is not freed when switching
         * to a different WIM image. */
@@ -259,9 +259,6 @@ typedef struct WIMStruct {
         * WIM has a image metadata associated with it. */
        struct image_metadata     *image_metadata;
 
-       /* Name of the output directory for extraction. */
-       char  *output_dir;
-
        /* The header of the WIM file. */
        struct wim_header    hdr;
 
@@ -277,12 +274,7 @@ typedef struct WIMStruct {
         * image_metadata array. */
        int current_image;
 
-       union {
-               /* Set to true when extracting multiple images */
-               bool is_multi_image_extraction;
-
-               bool write_metadata;
-       };
+       bool write_metadata;
 } WIMStruct;
 
 
@@ -333,6 +325,7 @@ int link_group_table_insert(struct dentry *dentry,
                            struct link_group_table *table);
 void free_link_group_table(struct link_group_table *table);
 u64 assign_link_groups(struct link_group_table *table);
+int link_groups_free_duplicate_data(struct link_group_table *table);
 
 
 /* header.c */
@@ -411,7 +404,8 @@ extern void *make_symlink_reparse_data_buf(const char *symlink_target,
                                           size_t *len_ret);
 extern int dentry_set_symlink(struct dentry *dentry,
                              const char *target,
-                             struct lookup_table *lookup_table);
+                             struct lookup_table *lookup_table,
+                             struct lookup_table_entry **lte_ret);
 
 /* wim.c */
 extern WIMStruct *new_wim_struct();