/* keep track of how many WIMs reference this security data (used when
* exporting images between WIMs) */
u32 refcnt;
-} WIMSecurityData;
+};
struct link_group_table;
/* 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. */
* 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;
* 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;
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 */
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();