X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=include%2Fwimlib%2Fcapture.h;h=88ca5e8d54544c1838182a6993657e732280f6a0;hp=ae2640a78ce6b9cded698c11773469f1e509fce0;hb=542225070ab6583b6f5915172425cac6e0326d77;hpb=79d279cf4581fc0295576e33a28faf65686bee2c diff --git a/include/wimlib/capture.h b/include/wimlib/capture.h index ae2640a7..88ca5e8d 100644 --- a/include/wimlib/capture.h +++ b/include/wimlib/capture.h @@ -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; @@ -22,12 +22,12 @@ struct capture_config { /* Common parameters to implementations of building an in-memory dentry tree * from an on-disk directory structure. */ struct capture_params { - /* Pointer to the lookup table of the WIM. */ - struct wim_lookup_table *lookup_table; + /* 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 capture_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; @@ -80,12 +76,10 @@ 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 capture_params *params); +try_exclude(const tchar *full_path, const struct capture_params *params); typedef int (*capture_tree_t)(struct wim_dentry **, const tchar *, struct capture_params *); @@ -93,9 +87,9 @@ typedef int (*capture_tree_t)(struct wim_dentry **, const tchar *, #ifdef WITH_NTFS_3G /* ntfs-3g_capture.c */ extern int -build_dentry_tree_ntfs(struct wim_dentry **root_p, - const tchar *device, - struct capture_params *params); +ntfs_3g_build_dentry_tree(struct wim_dentry **root_ret, + const tchar *device, + struct capture_params *params); #endif #ifdef __WIN32__ @@ -123,4 +117,11 @@ report_capture_error(struct capture_params *params, int error_code, 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 */