* 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;
int add_flags;
int write_flags;
bool write_metadata;
- ntfs_volume *ntfs_vol;
};
+#ifdef WITH_NTFS_3G
+ ntfs_volume *ntfs_vol;
+#endif
/* The currently selected image, indexed starting at 1. If not 0,
* subtract 1 from this to get the index of the current image in the
struct pattern_list compression_exclusion_list;
struct pattern_list alignment_list;
char *config_str;
+ char *prefix;
+ size_t prefix_len;
};
/* 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 void destroy_image_metadata(struct image_metadata *imd,
struct lookup_table *lt);
extern bool exclude_path(const char *path,
- const struct capture_config *config);
+ const struct capture_config *config,
+ bool exclude_prefix);
extern int do_add_image(WIMStruct *w, const char *dir, const char *name,
- const char *description, const char *flags_element,
const char *config_str, size_t config_len,
int flags,
int (*capture_tree)(struct dentry **, const char *,
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);