struct capture_config {
struct string_set exclusion_pats;
struct string_set exclusion_exception_pats;
- tchar *prefix;
- size_t prefix_num_tchars;
void *buf;
};
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;
* 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;
};
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);
+ 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 */
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