Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Put 3 flist_struct items into a union: rdev, sum, and link (all
[rsync/rsync.git]
/
rsync.h
diff --git
a/rsync.h
b/rsync.h
index
cf018bb
..
e0fb182
100644
(file)
--- a/
rsync.h
+++ b/
rsync.h
@@
-42,16
+42,23
@@
#define FLAG_DELETE (1<<0)
#define SAME_MODE (1<<1)
#define FLAG_DELETE (1<<0)
#define SAME_MODE (1<<1)
-#define SAME_RDEV (1<<2)
+#define EXTENDED_FLAGS (1<<2)
+#define SAME_RDEV_pre28 EXTENDED_FLAGS /* Only use in protocols < 28 */
#define SAME_UID (1<<3)
#define SAME_GID (1<<4)
#define SAME_DIR (1<<5)
#define SAME_NAME SAME_DIR
#define LONG_NAME (1<<6)
#define SAME_TIME (1<<7)
#define SAME_UID (1<<3)
#define SAME_GID (1<<4)
#define SAME_DIR (1<<5)
#define SAME_NAME SAME_DIR
#define LONG_NAME (1<<6)
#define SAME_TIME (1<<7)
+#define SAME_HIGH_RDEV (1<<8)
+#define HAS_INODE_DATA (1<<9)
+#define SAME_DEV (1<<10)
+
+/* What flags are relevant after the transfer of the flist is complete? */
+#define LIVE_FLAGS (FLAG_DELETE|HAS_INODE_DATA)
/* update this if you make incompatible changes */
/* update this if you make incompatible changes */
-#define PROTOCOL_VERSION 2
7
+#define PROTOCOL_VERSION 2
8
/* 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
/* 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
@@
-70,7
+77,7
@@
* unlikely to begin by sending a byte between MIN_PROTOCL_VERSION and
* MAX_PROTOCOL_VERSION. */
* unlikely to begin by sending a byte between MIN_PROTOCL_VERSION and
* MAX_PROTOCOL_VERSION. */
-#define MIN_PROTOCOL_VERSION 1
7
+#define MIN_PROTOCOL_VERSION 1
9
#define OLD_PROTOCOL_VERSION 20
#define MAX_PROTOCOL_VERSION 40
#define OLD_PROTOCOL_VERSION 20
#define MAX_PROTOCOL_VERSION 40
@@
-362,25
+369,25
@@
enum logcode {FNONE=0, FERROR=1, FINFO=2, FLOG=3 };
#define IN_LOOPBACKNET 127
#endif
#define IN_LOOPBACKNET 127
#endif
+#define GID_NONE (gid_t) -1
+
struct file_struct {
struct file_struct {
- unsigned flags;
time_t modtime;
OFF_T length;
mode_t mode;
time_t modtime;
OFF_T length;
mode_t mode;
-
INO64_T inode;
INO64_T inode;
- /** Device this file lives upon */
DEV64_T dev;
DEV64_T dev;
-
- /** If this is a device node, the device number. */
- DEV64_T rdev;
+ union {
+ DEV64_T rdev; /* The device number, if this is a device */
+ char *sum; /* Only a normal file can have a checksum */
+ char *link; /* Holds symlink string, if a symlink */
+ } u;
uid_t uid;
gid_t gid;
char *basename;
char *dirname;
char *basedir;
uid_t uid;
gid_t gid;
char *basename;
char *dirname;
char *basedir;
- char *link;
- char *sum;
+ unsigned short flags;
};
};
@@
-402,7
+409,7
@@
struct file_list {
struct sum_buf {
OFF_T offset; /**< offset in file of this chunk */
struct sum_buf {
OFF_T offset; /**< offset in file of this chunk */
-
int len;
/**< length of chunk of file */
+
unsigned int len;
/**< length of chunk of file */
int i; /**< index of this chunk */
uint32 sum1; /**< simple checksum */
char sum2[SUM_LENGTH]; /**< checksum */
int i; /**< index of this chunk */
uint32 sum1; /**< simple checksum */
char sum2[SUM_LENGTH]; /**< checksum */
@@
-411,9
+418,9
@@
struct sum_buf {
struct sum_struct {
OFF_T flength; /**< total file length */
size_t count; /**< how many chunks */
struct sum_struct {
OFF_T flength; /**< total file length */
size_t count; /**< how many chunks */
-
size_t remainder; /**< flength %
block_length */
-
size_t blength; /**<
block_length */
-
size_t s2length;
/**< sum2_length */
+
unsigned int blength; /**<
block_length */
+
unsigned int remainder; /**< flength %
block_length */
+
int s2length;
/**< sum2_length */
struct sum_buf *sums; /**< points to info for each chunk */
};
struct sum_buf *sums; /**< points to info for each chunk */
};