diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-08-21 19:01:41 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-08-21 19:01:41 +0000 |
commit | 708a28a2f5bd2384e4c254a47d069ec4d9ef697e (patch) | |
tree | 72a6e227fbbf75cc04d5b4e5c560cb58964761b3 /src/wydawca.h | |
parent | 5d2f6b08d164d0106ef2377ceb01393226eeafef (diff) | |
download | wydawca-708a28a2f5bd2384e4c254a47d069ec4d9ef697e.tar.gz wydawca-708a28a2f5bd2384e4c254a47d069ec4d9ef697e.tar.bz2 |
Implement archiving and backups
git-svn-id: file:///svnroot/wydawca/trunk@282 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
Diffstat (limited to 'src/wydawca.h')
-rw-r--r-- | src/wydawca.h | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/src/wydawca.h b/src/wydawca.h index 7da2243..ec3ec51 100644 --- a/src/wydawca.h +++ b/src/wydawca.h @@ -36,6 +36,7 @@ #include "error.h" #include "xalloc.h" #include "progname.h" +#include "backupfile.h" #include "gsc.h" #define MIN_DIRECTIVE_VERSION 101 @@ -65,6 +66,20 @@ struct access_method } v; }; +enum archive_type + { + archive_none, + archive_directory, + archive_tar + }; + +struct archive_descr +{ + enum archive_type type; + char *name; + enum backup_type backup_type; +}; + struct directory_pair { char *source_dir; @@ -72,6 +87,7 @@ struct directory_pair time_t file_sweep_time; struct access_method verify_method; struct access_method gpg_key_method; + struct archive_descr archive; }; enum file_type @@ -103,8 +119,6 @@ struct file_register size_t tmpsize; }; -void register_directory_pair (struct directory_pair *dpair); - extern char *conffile; extern int debug_level; extern int dry_run_mode; @@ -113,7 +127,9 @@ extern int log_facility; extern char *syslog_tag; extern int unlink_invalid_files; extern time_t file_sweep_time; +extern char *tar_command_name; +void register_directory_pair (struct directory_pair *dpair); void logmsg (int prio, char *fmt, ...) GSC_PRINTFLIKE(2,3); void scan_directories (void); int test_dir (const char *name, int *ec); @@ -122,6 +138,8 @@ void enumerate_triplets (struct directory_pair *); void parse_config (void); +char *safe_file_name (char *file_name); + int method_init (struct access_method *method); int method_done (struct access_method *method); int method_run (struct access_method *method, const char *cmd); @@ -158,4 +176,10 @@ int process_directives (struct file_register *reg, char *create_directory (const char *base, const char *name, uid_t uid, gid_t gid); -int move_file (const char *file, const char *dst_dir, uid_t uid, gid_t gid); +int move_file (struct file_register *reg, enum file_type file_id, + const char *dst_dir, const char *reldir, + struct archive_descr *archive); + +FILE *start_prog (int argc, const char **argv, pid_t *ppid); +void log_output (int prio, const char *prog, FILE *fp); + |