* that wimlib writes, currently), it will be 8 bytes. */
u32 total_length;
- /* The number of security descriptors in the array @descriptors, below. */
- u32 num_entries;
+ /* The number of security descriptors in the array @descriptors, below.
+ * It is really an unsigned int, but it must fit into an int because the
+ * security ID's are signed. (Not like you would ever have more than a
+ * few hundred security descriptors anyway). */
+ int32_t num_entries;
/* Array of sizes of the descriptors in the array @descriptors. */
u64 *sizes;
/* hardlink.c */
-struct link_group_table *new_link_group_table(u64 capacity);
+struct link_group_table *new_link_group_table(size_t capacity);
int link_group_table_insert(struct dentry *dentry,
void *__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);
+u64 assign_link_group_ids(struct link_group_table *table);
+int fix_link_groups(struct link_group_table *table);
/* header.c */
extern int extract_full_wim_resource_to_fd(const struct lookup_table_entry *lte,
int fd);
-extern int read_metadata_resource(FILE *fp, int wim_ctype,
+extern int read_metadata_resource(WIMStruct *w,
struct image_metadata *image_metadata);