X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fxml.h;h=9ce52104093ea646686775448733672f43794613;hb=686c407415c8e6ec022bd64678db65004631b194;hp=18c60b989058298d53ad6800c1a24c463a01e030;hpb=86a852652706cfe53087ef839840171bed597ffd;p=wimlib diff --git a/include/wimlib/xml.h b/include/wimlib/xml.h index 18c60b98..9ce52104 100644 --- a/include/wimlib/xml.h +++ b/include/wimlib/xml.h @@ -2,52 +2,66 @@ #define _WIMLIB_XML_H #include "wimlib/types.h" -#include "wimlib/file_io.h" -struct wim_info; -struct wim_reshdr; +/*****************************************************************************/ + +struct wim_xml_info; + +extern struct wim_xml_info * +xml_new_info_struct(void); + +extern void +xml_free_info_struct(struct wim_xml_info *info); + +/*****************************************************************************/ + +extern int +xml_get_image_count(const struct wim_xml_info *info); extern u64 -wim_info_get_total_bytes(const struct wim_info *info); +xml_get_total_bytes(const struct wim_xml_info *info); extern u64 -wim_info_get_image_hard_link_bytes(const struct wim_info *info, int image); +xml_get_image_total_bytes(const struct wim_xml_info *info, int image); extern u64 -wim_info_get_image_total_bytes(const struct wim_info *info, int image); +xml_get_image_hard_link_bytes(const struct wim_xml_info *info, int image); -extern unsigned -wim_info_get_num_images(const struct wim_info *info); +extern bool +xml_get_wimboot(const struct wim_xml_info *info, int image); -extern void -wim_info_set_wimboot(struct wim_info *info, int image, bool value); +extern u64 +xml_get_windows_build_number(const struct wim_xml_info *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 tchar *dest_image_name, - const tchar *dest_image_description); +xml_set_wimboot(struct wim_xml_info *info, int image); -extern size_t -xml_get_max_image_name_len(const WIMStruct *wim); +/*****************************************************************************/ -extern void +extern int xml_update_image_info(WIMStruct *wim, int image); -extern void -xml_delete_image(struct wim_info **wim_info_p, int image); +extern int +xml_add_image(struct wim_xml_info *info, const tchar *name); extern int -xml_add_image(WIMStruct *wim, const tchar *name); +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); +xml_delete_image(struct wim_xml_info *info, int image); + extern void -print_image_info(const struct wim_info *wim_info, int image); +xml_print_image_info(struct wim_xml_info *info, int image); -#define WIM_TOTALBYTES_USE_EXISTING ((u64)0 - 1) -#define WIM_TOTALBYTES_OMIT ((u64)0 - 2) +/*****************************************************************************/ + +struct wim_reshdr; + +#define WIM_TOTALBYTES_USE_EXISTING ((u64)(-1)) +#define WIM_TOTALBYTES_OMIT ((u64)(-2)) extern int read_wim_xml_data(WIMStruct *wim); @@ -57,15 +71,17 @@ write_wim_xml_data(WIMStruct *wim, int image, u64 total_bytes, struct wim_reshdr *out_reshdr, int write_resource_flags); +/*****************************************************************************/ + extern void -libxml_global_init(void); +xml_global_init(void); extern void -libxml_global_cleanup(void); +xml_global_cleanup(void); extern void xml_set_memory_allocator(void *(*malloc_func)(size_t), void (*free_func)(void *), void *(*realloc_func)(void *, size_t)); -#endif +#endif /* _WIMLIB_XML_H */