#include "wimlib/inode_table.h"
#include "wimlib/list.h"
#include "wimlib/security.h"
+#include "wimlib/textfile.h"
#include "wimlib/util.h"
struct wim_lookup_table;
struct wim_dentry;
struct wim_inode;
+struct capture_config {
+ struct string_set exclusion_pats;
+ struct string_set exclusion_exception_pats;
+ tchar *prefix;
+ size_t prefix_num_tchars;
+ tchar *buf;
+};
+
/* Common parameters to implementations of building an in-memory dentry tree
* from an on-disk directory structure. */
struct add_image_params {
* image so far. */
struct wim_sd_set sd_set;
- /* Pointer to the capture configuration, which indicates whether any
- * files should be excluded from capture or not. */
- struct wimlib_capture_config *config;
+ /* Pointer to the capture configuration. */
+ struct capture_config *config;
/* Flags that affect the capture operation (WIMLIB_ADD_FLAG_*) */
int add_flags;
do_capture_progress(struct add_image_params *params, int status,
const struct wim_inode *inode);
-extern bool
-exclude_path(const tchar *path, size_t path_len,
- const struct wimlib_capture_config *config,
- bool exclude_prefix);
-
-extern struct wimlib_capture_config *
-copy_capture_config(const struct wimlib_capture_config *config);
-
extern int
-copy_and_canonicalize_capture_config(const struct wimlib_capture_config *config,
- struct wimlib_capture_config **config_copy_ret);
+do_read_capture_config_file(const tchar *config_file, tchar *buf, size_t buflen,
+ struct capture_config *config);
extern void
-free_capture_config(struct wimlib_capture_config *config);
-
-/* hardlink.c */
+destroy_capture_config(struct capture_config *config);
-extern int
-init_inode_table(struct wim_inode_table *table, size_t capacity);
-
-extern int
-inode_table_new_dentry(struct wim_inode_table *table, const tchar *name,
- u64 ino, u64 devno, bool noshare,
- struct wim_dentry **dentry_ret);
-
-extern void
-inode_table_prepare_inode_list(struct wim_inode_table *table,
- struct list_head *head);
+extern bool
+exclude_path(const tchar *path, size_t path_len,
+ const struct capture_config *config,
+ bool exclude_prefix);
#ifdef WITH_NTFS_3G