]> wimlib.net Git - wimlib/blobdiff - include/wimlib/capture.h
Add new helper function for attaching newly scanned dentry tree
[wimlib] / include / wimlib / capture.h
index b2938d510b6a59d622d8f6f8f0f7dba6cc44c3ef..88ca5e8d54544c1838182a6993657e732280f6a0 100644 (file)
@@ -9,7 +9,7 @@
 #include "wimlib/textfile.h"
 #include "wimlib/util.h"
 
-struct wim_lookup_table;
+struct blob_table;
 struct wim_dentry;
 struct wim_inode;
 
@@ -21,13 +21,13 @@ struct capture_config {
 
 /* Common parameters to implementations of building an in-memory dentry tree
  * from an on-disk directory structure. */
-struct add_image_params {
-       /* Pointer to the lookup table of the WIM.  */
-       struct wim_lookup_table *lookup_table;
+struct capture_params {
+       /* Pointer to the blob table of the WIM.  */
+       struct blob_table *blob_table;
 
-       /* List of streams that have been added so far, but without their SHA1
+       /* List of blobs that have been added so far, but without their SHA-1
         * message digests being calculated (as a shortcut).  */
-       struct list_head *unhashed_streams;
+       struct list_head *unhashed_blobs;
 
        /* Hash table of inodes that have been captured for this tree so far. */
        struct wim_inode_table *inode_table;
@@ -42,10 +42,6 @@ struct add_image_params {
        /* Flags that affect the capture operation (WIMLIB_ADD_FLAG_*) */
        int add_flags;
 
-       /* Extra argument; set to point to a pointer to the ntfs_volume for
-        * libntfs-3g capture.  */
-       void *extra_arg;
-
        /* If non-NULL, the user-supplied progress function. */
        wimlib_progress_func_t progfunc;
        void *progctx;
@@ -66,7 +62,7 @@ struct add_image_params {
 /* capture_common.c */
 
 extern int
-do_capture_progress(struct add_image_params *params, int status,
+do_capture_progress(struct capture_params *params, int status,
                    const struct wim_inode *inode);
 
 extern int
@@ -80,22 +76,20 @@ extern void
 destroy_capture_config(struct capture_config *config);
 
 extern bool
-match_pattern_list(const tchar *path, size_t path_nchars,
-                  const struct string_set *list);
+match_pattern_list(const tchar *path, const struct string_set *list);
 
 extern int
-try_exclude(const tchar *full_path, size_t full_path_nchars,
-           const struct add_image_params *params);
+try_exclude(const tchar *full_path, const struct capture_params *params);
 
 typedef int (*capture_tree_t)(struct wim_dentry **, const tchar *,
-                             struct add_image_params *);
+                             struct capture_params *);
 
 #ifdef WITH_NTFS_3G
 /* ntfs-3g_capture.c */
 extern int
-build_dentry_tree_ntfs(struct wim_dentry **root_p,
-                      const tchar *device,
-                      struct add_image_params *params);
+ntfs_3g_build_dentry_tree(struct wim_dentry **root_ret,
+                         const tchar *device,
+                         struct capture_params *params);
 #endif
 
 #ifdef __WIN32__
@@ -103,24 +97,31 @@ build_dentry_tree_ntfs(struct wim_dentry **root_p,
 extern int
 win32_build_dentry_tree(struct wim_dentry **root_ret,
                        const tchar *root_disk_path,
-                       struct add_image_params *params);
+                       struct capture_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);
+                      struct capture_params *params);
 #define platform_default_capture_tree unix_build_dentry_tree
 #endif
 
 #define WIMLIB_ADD_FLAG_ROOT   0x80000000
 
 static inline int
-report_capture_error(struct add_image_params *params, int error_code,
+report_capture_error(struct capture_params *params, int error_code,
                     const tchar *path)
 {
        return report_error(params->progfunc, params->progctx, error_code, path);
 }
 
+extern bool
+should_ignore_filename(const tchar *name, int name_nchars);
+
+extern void
+attach_scanned_tree(struct wim_dentry *parent, struct wim_dentry *child,
+                   struct blob_table *blob_table);
+
 #endif /* _WIMLIB_CAPTURE_H */