]> wimlib.net Git - wimlib/blobdiff - include/wimlib/capture.h
Update progress functions
[wimlib] / include / wimlib / capture.h
index aea3e3c9dfd8cd163793034a9857bdcf5b2c8e99..58e0eac3a80439675cabad9d5cd209c903c9bada 100644 (file)
@@ -15,8 +15,6 @@ struct wim_inode;
 struct capture_config {
        struct string_set exclusion_pats;
        struct string_set exclusion_exception_pats;
-       tchar *prefix;
-       size_t prefix_num_tchars;
        void *buf;
 };
 
@@ -47,20 +45,22 @@ struct add_image_params {
         * libntfs-3g capture.  */
        void *extra_arg;
 
-       u64 capture_root_ino;
-       u64 capture_root_dev;
-
        /* If non-NULL, the user-supplied progress function. */
-       wimlib_progress_func_t progress_func;
+       wimlib_progress_func_t progfunc;
+       void *progctx;
 
        /* Progress data.  */
        union wimlib_progress_info progress;
-};
 
+       /* Can be used by the capture implementation.  */
+       u64 capture_root_ino;
+       u64 capture_root_dev;
+       size_t capture_root_nchars;
+};
 
 /* capture_common.c */
 
-extern void
+extern int
 do_capture_progress(struct add_image_params *params, int status,
                    const struct wim_inode *inode);
 
@@ -68,22 +68,19 @@ extern int
 mangle_pat(tchar *pat, const tchar *path, unsigned long line_no);
 
 extern int
-do_read_capture_config_file(const tchar *config_file, const void *buf,
-                           size_t bufsize, struct capture_config *config);
+read_capture_config(const tchar *config_file, const void *buf,
+                   size_t bufsize, struct capture_config *config);
 
 extern void
 destroy_capture_config(struct capture_config *config);
 
 extern bool
-match_pattern(const tchar *path,
-             const tchar *path_basename,
-             const struct string_set *list);
+match_pattern_list(const tchar *path, size_t path_nchars,
+                  const struct string_set *list);
 
 extern bool
-exclude_path(const tchar *path, size_t path_len,
-            const struct capture_config *config,
-            bool exclude_prefix);
-
+should_exclude_path(const tchar *path, size_t path_nchars,
+                   const struct capture_config *config);
 
 typedef int (*capture_tree_t)(struct wim_dentry **, const tchar *,
                              struct add_image_params *);