aboutsummaryrefslogtreecommitdiff
path: root/src/wydawca.h
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2007-08-21 19:01:41 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2007-08-21 19:01:41 +0000
commit708a28a2f5bd2384e4c254a47d069ec4d9ef697e (patch)
tree72a6e227fbbf75cc04d5b4e5c560cb58964761b3 /src/wydawca.h
parent5d2f6b08d164d0106ef2377ceb01393226eeafef (diff)
downloadwydawca-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.h30
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);
+

Return to:

Send suggestions and report system problems to the System administrator.