X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fxml.h;h=54993cba13e935f66022010011fbf279932ec70d;hb=ebd6c0ec0ff47ac18af4ef918fd78fb8d9f19540;hp=cf949f30207d5fa706e0ca03dfd3ef8d11f6ab99;hpb=885632f08c75c1d7bb5d25436231c78f6ad7e0c0;p=wimlib diff --git a/src/xml.h b/src/xml.h index cf949f30..54993cba 100644 --- a/src/xml.h +++ b/src/xml.h @@ -6,14 +6,14 @@ /* A struct wim_info structure corresponds to the entire XML data for a WIM file. */ struct wim_info { u64 total_bytes; - u64 num_images; - /* Array of WIMImageInfos, one for each image in the WIM that is + int num_images; + /* Array of `struct image_info's, one for each image in the WIM that is * mentioned in the XML data. */ struct image_info *images; }; /* xml.c */ -extern int xml_export_image(const struct wim_info *old_wim_info, int image, +extern int xml_export_image(const struct wim_info *old_wim_info, int image, struct wim_info **new_wim_info_p, const char *dest_image_name, const char *dest_image_description); @@ -24,18 +24,20 @@ extern void xml_update_image_info(WIMStruct *w, int image); extern void xml_delete_image(struct wim_info **wim_info_p, int image); -extern int xml_add_image(WIMStruct *w, struct dentry *root_dentry, - const char *name, const char *description, - const char *flags); +extern int xml_add_image(WIMStruct *w, const char *name); extern void free_wim_info(struct wim_info *info); extern void print_image_info(const struct wim_info *wim_info, int image); -extern int read_xml_data(FILE *fp, const struct resource_entry *res, +extern int read_xml_data(FILE *fp, const struct resource_entry *res, u8 **xml_data_ret, struct wim_info **info_ret); -extern int write_xml_data(const struct wim_info *wim_info, int image, FILE *out); +extern int write_xml_data(const struct wim_info *wim_info, int image, FILE *out, + u64 total_bytes, struct resource_entry *out_res_entry); + +extern void libxml_global_init(); +extern void libxml_global_cleanup(); static inline u64 wim_info_get_total_bytes(const struct wim_info *info) {