#define __FILES_H
#include "jcr.h"
+#include "fileopts.h"
#include "bfile.h"
#include "../filed/fd_plugins.h"
int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
#endif
-/*
- * Options saved int "options" of the include/exclude lists.
- * They are directly jammed ito "flag" of ff packet
- */
-#define FO_MD5 (1<<1) /* Do MD5 checksum */
-#define FO_GZIP (1<<2) /* Do Zlib compression */
-#define FO_NO_RECURSION (1<<3) /* no recursion in directories */
-#define FO_MULTIFS (1<<4) /* multiple file systems */
-#define FO_SPARSE (1<<5) /* do sparse file checking */
-#define FO_IF_NEWER (1<<6) /* replace if newer */
-#define FO_NOREPLACE (1<<7) /* never replace */
-#define FO_READFIFO (1<<8) /* read data from fifo */
-#define FO_SHA1 (1<<9) /* Do SHA1 checksum */
-#define FO_PORTABLE (1<<10) /* Use portable data format -- no BackupWrite */
-#define FO_MTIMEONLY (1<<11) /* Use mtime rather than mtime & ctime */
-#define FO_KEEPATIME (1<<12) /* Reset access time */
-#define FO_EXCLUDE (1<<13) /* Exclude file */
-#define FO_ACL (1<<14) /* Backup ACLs */
-#define FO_NO_HARDLINK (1<<15) /* don't handle hard links */
-#define FO_IGNORECASE (1<<16) /* Ignore file name case */
-#define FO_HFSPLUS (1<<17) /* Resource forks and Finder Info */
-#define FO_WIN32DECOMP (1<<18) /* Use BackupRead decomposition */
-#define FO_SHA256 (1<<19) /* Do SHA256 checksum */
-#define FO_SHA512 (1<<20) /* Do SHA512 checksum */
-#define FO_ENCRYPT (1<<21) /* Encrypt data stream */
-#define FO_NOATIME (1<<22) /* Use O_NOATIME to prevent atime change */
-#define FO_ENHANCEDWILD (1<<23) /* Enhanced wild card processing */
-#define FO_CHKCHANGES (1<<24) /* Check if file have been modified during backup */
-#define FO_STRIPPATH (1<<25) /* Check for stripping path */
-#define FO_HONOR_NODUMP (1<<26) /* honor NODUMP flag */
-#define FO_XATTR (1<<27) /* Backup Extended Attributes */
-#define FO_DELTA (1<<28) /* Do delta on file */
+/* For options FO_xxx values see src/fileopts.h */
struct s_included_file {
struct s_included_file *next;
uint32_t options; /* backup options */
+ uint32_t algo; /* compression algorithm. 4 letters stored as an interger */
int level; /* compression level */
int len; /* length of fname */
int pattern; /* set if wild card pattern */
/* File options structure */
struct findFOPTS {
uint32_t flags; /* options in bits */
- int GZIP_level; /* GZIP level */
+ uint32_t Compress_algo; /* compression algorithm. 4 letters stored as an interger */
+ int Compress_level; /* compression level */
int strip_path; /* strip path count */
char VerifyOpts[MAX_FOPTS]; /* verify options */
char AccurateOpts[MAX_FOPTS]; /* accurate mode options */
char BaseJobOpts[MAX_FOPTS]; /* basejob mode options */
+ char *plugin; /* Plugin that handle this section */
alist regex; /* regex string(s) */
alist regexdir; /* regex string(s) for directories */
alist regexfile; /* regex string(s) for files */
char *link; /* link if file linked */
char *object_name; /* Object name */
char *object; /* restore object */
+ char *plugin; /* Current Options{Plugin=} name */
POOLMEM *sys_fname; /* system filename */
POOLMEM *fname_save; /* save when stripping path */
POOLMEM *link_save; /* save when stripping path */
+ char *digest; /* set to file digest when the file is a hardlink */
struct stat statp; /* stat packet */
+ uint32_t digest_len; /* set to the digest len when the file is a hardlink*/
+ int32_t digest_stream; /* set to digest type when the file is hardlink */
int32_t FileIndex; /* FileIndex of this file */
int32_t LinkFI; /* FileIndex of main hard linked file */
int32_t delta_seq; /* Delta Sequence number */
int32_t object_index; /* Object index */
int32_t object_len; /* Object length */
int32_t object_compression; /* Type of compression for object */
- uint32_t delta_seq; /* Delta sequence number */
struct f_link *linked; /* Set if this file is hard linked */
int type; /* FT_ type from above */
int ff_errno; /* errno */
BFILE bfd; /* Bacula file descriptor */
time_t save_time; /* start of incremental time */
+ bool accurate_found; /* Found in the accurate hash (valid after check_changes()) */
bool dereference; /* follow links (not implemented) */
bool null_output_device; /* using null output device */
bool incremental; /* incremental save */
/* Values set by accept_file while processing Options */
uint32_t flags; /* backup options */
- int GZIP_level; /* compression level */
+ uint32_t Compress_algo; /* compression algorithm. 4 letters stored as an interger */
+ int Compress_level; /* compression level */
int strip_path; /* strip path count */
bool cmd_plugin; /* set if we have a command plugin */
+ bool opt_plugin; /* set if we have an option plugin */
alist fstypes; /* allowed file system types */
alist drivetypes; /* allowed drive types */