X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fxml.h;h=d784db145e189f445d013962cab59e736d537ffe;hp=fb296000c855edc48a32ce4cd6c02570615661d6;hb=4f8059f2d0a74a9922128b162d9c9343b305999c;hpb=e2bc2608477392685affc2d8e0a46088a8e1ef1c diff --git a/src/xml.h b/src/xml.h index fb296000..d784db14 100644 --- a/src/xml.h +++ b/src/xml.h @@ -6,43 +6,59 @@ /* 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, - struct wim_info **new_wim_info_p, - const char *dest_image_name, - const char *dest_image_description); +extern int +xml_export_image(const struct wim_info *old_wim_info, int image, + struct wim_info **new_wim_info_p, + const tchar *dest_image_name, + const tchar *dest_image_description); -extern size_t xml_get_max_image_name_len(const WIMStruct *w); +extern size_t +xml_get_max_image_name_len(const WIMStruct *w); -extern void xml_update_image_info(WIMStruct *w, int image); +extern void +xml_update_image_info(WIMStruct *w, int image); -extern void xml_delete_image(struct wim_info **wim_info_p, 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); +extern int +xml_add_image(WIMStruct *w, const tchar *name); -extern void free_wim_info(struct wim_info *info); +extern void +free_wim_info(struct wim_info *info); -extern void print_image_info(const struct wim_info *wim_info, int image); +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, - u8 **xml_data_ret, struct wim_info **info_ret); +extern int +read_xml_data(int in_fd, const struct resource_entry *res, + struct wim_info **info_ret); -extern int write_xml_data(const struct wim_info *wim_info, int image, FILE *out, - u64 total_bytes); +extern int +write_xml_data(const struct wim_info *wim_info, int image, int out_fd, + u64 total_bytes, struct resource_entry *out_res_entry); -static inline u64 wim_info_get_total_bytes(const struct wim_info *info) +extern void +libxml_global_init(); + +extern void +libxml_global_cleanup(); + +static inline u64 +wim_info_get_total_bytes(const struct wim_info *info) { return info->total_bytes; } -static inline unsigned wim_info_get_num_images(const struct wim_info *info) +static inline unsigned +wim_info_get_num_images(const struct wim_info *info) { return info->num_images; }