X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fxml.h;h=c11138c927634bbde25e8ea044e95ba41cf1b884;hb=dc2ee3e3bc2668cb9fd1ca15f7769cded026c64c;hp=0d09bf64dcf9c9abff406c9678a289c416bb7d8c;hpb=e08e0d6d920e1f3f154270efc4849d51efd65593;p=wimlib diff --git a/include/wimlib/xml.h b/include/wimlib/xml.h index 0d09bf64..c11138c9 100644 --- a/include/wimlib/xml.h +++ b/include/wimlib/xml.h @@ -2,69 +2,73 @@ #define _WIMLIB_XML_H #include "wimlib/types.h" -#include "wimlib/file_io.h" -struct wim_info; -struct resource_entry; +/*****************************************************************************/ -extern u64 -wim_info_get_total_bytes(const struct wim_info *info); +struct wim_xml_info; -extern u64 -wim_info_get_image_hard_link_bytes(const struct wim_info *info, int image); +struct wim_xml_info * +xml_new_info_struct(void); -extern u64 -wim_info_get_image_total_bytes(const struct wim_info *info, int image); +void +xml_free_info_struct(struct wim_xml_info *info); -extern unsigned -wim_info_get_num_images(const struct wim_info *info); +/*****************************************************************************/ -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); +int +xml_get_image_count(const struct wim_xml_info *info); -extern size_t -xml_get_max_image_name_len(const WIMStruct *wim); +u64 +xml_get_total_bytes(const struct wim_xml_info *info); -extern void +u64 +xml_get_image_total_bytes(const struct wim_xml_info *info, int image); + +u64 +xml_get_image_hard_link_bytes(const struct wim_xml_info *info, int image); + +bool +xml_get_wimboot(const struct wim_xml_info *info, int image); + +u64 +xml_get_windows_build_number(const struct wim_xml_info *info, int image); + +int +xml_set_wimboot(struct wim_xml_info *info, int image); + +/*****************************************************************************/ + +int xml_update_image_info(WIMStruct *wim, int image); -extern void -xml_delete_image(struct wim_info **wim_info_p, int image); +int +xml_add_image(struct wim_xml_info *info, const tchar *name); -extern int -xml_add_image(WIMStruct *wim, const tchar *name); +int +xml_export_image(const struct wim_xml_info *src_info, int src_image, + struct wim_xml_info *dest_info, const tchar *dest_image_name, + const tchar *dest_image_description, bool wimboot); -extern void -free_wim_info(struct wim_info *info); +void +xml_delete_image(struct wim_xml_info *info, int image); -extern void -print_image_info(const struct wim_info *wim_info, int image); -#define WIM_TOTALBYTES_USE_EXISTING ((u64)0 - 1) -#define WIM_TOTALBYTES_OMIT ((u64)0 - 2) +void +xml_print_image_info(struct wim_xml_info *info, int image); -extern int -read_wim_xml_data(WIMStruct *wim); +/*****************************************************************************/ -extern int -write_wim_xml_data(WIMStruct *wim, int image, - u64 total_bytes, struct resource_entry *out_res_entry, - int write_resource_flags); +struct wim_reshdr; -extern void -libxml_global_init(void); +#define WIM_TOTALBYTES_USE_EXISTING ((u64)(-1)) +#define WIM_TOTALBYTES_OMIT ((u64)(-2)) -extern void -libxml_global_cleanup(void); +int +read_wim_xml_data(WIMStruct *wim); -#ifdef ENABLE_CUSTOM_MEMORY_ALLOCATOR -extern void -xml_set_memory_allocator(void *(*malloc_func)(size_t), - void (*free_func)(void *), - void *(*realloc_func)(void *, size_t)); -#endif +int +write_wim_xml_data(WIMStruct *wim, int image, + u64 total_bytes, struct wim_reshdr *out_reshdr, + int write_resource_flags); -#endif +#endif /* _WIMLIB_XML_H */