X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fwimlib_internal.h;h=ec1f2807597a6cdd9b3330e492a627f2accbde8a;hb=da2c501c4ca54063126290c2103f607e926c9989;hp=b59b05493d33ab052828331f8ce08bcb5e82259c;hpb=d977c5b4f348208e47fd2922f202f3eb60d5d5cb;p=wimlib diff --git a/src/wimlib_internal.h b/src/wimlib_internal.h index b59b0549..ec1f2807 100644 --- a/src/wimlib_internal.h +++ b/src/wimlib_internal.h @@ -208,6 +208,9 @@ struct wim_security_data { u32 refcnt; } WIMSecurityData; +struct link_group_table; + + /* Metadata resource for an image. */ struct image_metadata { /* Pointer to the root dentry for the image. */ @@ -220,6 +223,9 @@ struct image_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. */ @@ -320,6 +326,14 @@ static inline void print_hash(const u8 hash[]) print_byte_field(hash, WIM_HASH_SIZE); } +/* hardlink.c */ + +struct link_group_table *new_link_group_table(u64 capacity); +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); + /* header.c */ extern int read_header(FILE *fp, struct wim_header *hdr, int split_ok);