#define FLAG_DELETE (1<<0)
#define SAME_MODE (1<<1)
#define EXTENDED_FLAGS (1<<2)
-#define OLD_SAME_RDEV EXTENDED_FLAGS
+#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 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 */
#define PROTOCOL_VERSION 28
time_t modtime;
OFF_T length;
mode_t mode;
-
INO64_T inode;
- /** Device this file lives upon */
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;
- char *link;
- char *sum;
unsigned short flags;
};