Fixed the interaction of --fake-super with --link-dest & --xattrs.
[rsync/rsync.git] / rsync.h
diff --git a/rsync.h b/rsync.h
index 39aa491..5ac914f 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -2,7 +2,7 @@
  * Copyright (C) 1996, 2000 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
  * Copyright (C) 2001, 2002 Martin Pool <mbp@samba.org>
- * Copyright (C) 2003-2007 Wayne Davison
+ * Copyright (C) 2003-2008 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -32,6 +32,9 @@
 #define DEFAULT_LOCK_FILE "/var/run/rsyncd.lock"
 #define URL_PREFIX "rsync://"
 
+#define SYMLINK_PREFIX "/rsyncd-munged/"
+#define SYMLINK_PREFIX_LEN ((int)sizeof SYMLINK_PREFIX - 1)
+
 #define BACKUP_SUFFIX "~"
 
 /* a non-zero CHAR_OFFSET makes the rolling sum stronger, but is
@@ -74,6 +77,7 @@
 #define FLAG_HLINK_DONE (1<<8) /* receiver/generator (checked on all types) */
 #define FLAG_LENGTH64 (1<<9)   /* sender/receiver/generator */
 #define FLAG_SKIP_GROUP (1<<10)        /* receiver/generator */
+#define FLAG_TIME_FAILED (1<<11)/* generator */
 
 /* These flags are passed to functions but not stored. */
 
@@ -90,7 +94,7 @@
 /* This is used when working on a new protocol version in CVS, and should
  * be a new non-zero value for each CVS change that affects the protocol.
  * It must ALWAYS be 0 when the protocol goes final! */
-#define SUBPROTOCOL_VERSION 15
+#define SUBPROTOCOL_VERSION 0
 
 /* We refuse to interoperate with versions that are not in this range.
  * Note that we assume we'll work with later versions: the onus is on
@@ -405,13 +409,13 @@ enum msgcode {
 #include "lib/pool_alloc.h"
 
 #ifndef HAVE_ID_T
-typedef int id_t;
+typedef unsigned int id_t;
 #endif
 #ifndef HAVE_PID_T
 typedef int pid_t;
 #endif
 #ifndef HAVE_MODE_T
-typedef int mode_t;
+typedef unsigned int mode_t;
 #endif
 #ifndef HAVE_OFF_T
 typedef long off_t;
@@ -537,6 +541,7 @@ struct hashtable {
        void *nodes;
        int32 size, entries;
        uint32 node_size;
+       int key64;
 };
 
 struct ht_int32_node {
@@ -720,7 +725,7 @@ struct file_list {
        int used, malloced;
        int low, high;  /* 0-relative index values excluding empties */
        int ndx_start;  /* the start offset for inc_recurse mode */
-       int ndx_end;    /* the end offset for inc_recurse mode */
+       int flist_num;  /* 1-relative file_list number or 0 */
        int parent_ndx; /* dir_flist index of parent directory */
        int in_progress, to_redo;
 };
@@ -811,7 +816,6 @@ struct stats {
        int64 flist_size;
        int num_files;
        int num_transferred_files;
-       int current_file_index;
 };
 
 struct chmod_mode_struct;