-extern int verify_swm_set(WIMStruct *w,
- WIMStruct **additional_swms,
- unsigned num_additional_swms);
-/* modify.c */
-extern void destroy_image_metadata(struct image_metadata *imd,
- struct lookup_table *lt);
-extern bool exclude_path(const char *path,
- const struct capture_config *config,
- bool exclude_prefix);
-extern int do_add_image(WIMStruct *w, const char *dir, const char *name,
- const char *config_str, size_t config_len,
- int flags,
- int (*capture_tree)(struct dentry **, const char *,
- struct lookup_table *,
- struct wim_security_data *,
- const struct capture_config *,
- int, void *),
- void *extra_arg);
+/* metadata_resource.c */
+
+extern int read_metadata_resource(WIMStruct *w,
+ struct wim_image_metadata *image_metadata);
+extern int write_metadata_resource(WIMStruct *w);
+
+/* ntfs-apply.c */
+
+struct apply_args {
+ WIMStruct *w;
+ const char *target;
+ int extract_flags;
+ unsigned num_lutimes_warnings;
+ struct list_head *stream_list;
+ union wimlib_progress_info progress;
+#ifdef WITH_NTFS_3G
+ struct _ntfs_volume *vol;
+#endif
+ wimlib_progress_func_t progress_func;
+ int (*apply_dentry)(struct wim_dentry *, void *);
+};
+
+extern int apply_dentry_ntfs(struct wim_dentry *dentry, void *arg);
+extern int apply_dentry_timestamps_ntfs(struct wim_dentry *dentry, void *arg);
+
+/* ntfs-capture.c */
+extern int build_dentry_tree_ntfs(struct wim_dentry **root_p,
+ const char *device,
+ struct wim_lookup_table *lookup_table,
+ struct wim_security_data *sd,
+ const struct capture_config *config,
+ int add_image_flags,
+ wimlib_progress_func_t progress_func,
+ void *extra_arg);