]> wimlib.net Git - wimlib/blobdiff - src/wimlib_internal.h
calculate_sha1sum_of_staging_file
[wimlib] / src / wimlib_internal.h
index 86b0716d0d3b148efb817cf106a87e2fe53eefc2..40ff8427675f133de03b90b44f21b6631a749136 100644 (file)
@@ -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 */
@@ -409,6 +402,10 @@ ssize_t dentry_readlink(const struct dentry *dentry, char *buf, size_t buf_len,
                        const WIMStruct *w);
 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_entry **lte_ret);
 
 /* wim.c */
 extern WIMStruct *new_wim_struct();