]> wimlib.net Git - wimlib/blobdiff - include/wimlib/capture.h
A couple cleanups from last commits
[wimlib] / include / wimlib / capture.h
index aa9c4cda46697ba5e1d13aa2acf1da538f615e15..d0c7a3245dc2d56cf68dd77846184dddff5c2c0c 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;
 };
 
@@ -31,11 +29,11 @@ struct add_image_params {
        struct list_head *unhashed_streams;
 
        /* Hash table of inodes that have been captured for this tree so far. */
-       struct wim_inode_table inode_table;
+       struct wim_inode_table *inode_table;
 
        /* The set of security descriptors that have been captured for this
         * image so far. */
-       struct wim_sd_set sd_set;
+       struct wim_sd_set *sd_set;
 
        /* Pointer to the capture configuration.  */
        struct capture_config *config;
@@ -47,14 +45,17 @@ 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;
 
        /* 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;
 };
 
 
@@ -75,15 +76,15 @@ 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);
+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 *);
 
 #ifdef WITH_NTFS_3G
 /* ntfs-3g_capture.c */
@@ -99,12 +100,14 @@ extern int
 win32_build_dentry_tree(struct wim_dentry **root_ret,
                        const tchar *root_disk_path,
                        struct add_image_params *params);
+#define platform_default_capture_tree win32_build_dentry_tree
 #else
 /* unix_capture.c */
 extern int
 unix_build_dentry_tree(struct wim_dentry **root_ret,
                       const tchar *root_disk_path,
                       struct add_image_params *params);
+#define platform_default_capture_tree unix_build_dentry_tree
 #endif
 
 #define WIMLIB_ADD_FLAG_ROOT   0x80000000