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
dd3aa98
..
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
@@
-368,20
+375,18
@@
struct file_struct {
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;
};
unsigned short flags;
};