]> wimlib.net Git - wimlib/blobdiff - include/wimlib/xml.h
xml.c: refactor to use document tree
[wimlib] / include / wimlib / xml.h
index 209bb8c123908ac4b6e2ce9e6135d465cc4ab34b..9ce52104093ea646686775448733672f43794613 100644 (file)
@@ -3,56 +3,65 @@
 
 #include "wimlib/types.h"
 
-struct wim_info;
-struct wim_reshdr;
+/*****************************************************************************/
 
-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);
+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_image_total_bytes(const struct wim_info *info, int image);
+xml_get_total_bytes(const struct wim_xml_info *info);
 
-extern unsigned
-wim_info_get_num_images(const struct wim_info *info);
+extern u64
+xml_get_image_total_bytes(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_image_hard_link_bytes(const struct wim_xml_info *info, int image);
 
 extern bool
-wim_info_get_wimboot(const struct wim_info *info, int image);
+xml_get_wimboot(const struct wim_xml_info *info, int image);
 
 extern u64
-wim_info_get_windows_build_number(const struct wim_info *info, int image);
+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);
@@ -62,11 +71,13 @@ 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),