Reordered the items inside the file_struct so that alignment padding
[rsync/rsync.git] / rsync.h
diff --git a/rsync.h b/rsync.h
index 37a5d53..d37243a 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -80,8 +80,8 @@
  * unlikely to begin by sending a byte between MIN_PROTOCL_VERSION and
  * MAX_PROTOCOL_VERSION. */
 
-#define MIN_PROTOCOL_VERSION 19
-#define OLD_PROTOCOL_VERSION 20
+#define MIN_PROTOCOL_VERSION 20
+#define OLD_PROTOCOL_VERSION 25
 #define MAX_PROTOCOL_VERSION 40
 
 #define RSYNC_PORT 873
@@ -407,23 +407,23 @@ struct idev {
 #define F_NEXT link_u.links->next
 
 struct file_struct {
-       time_t modtime;
-       OFF_T length;
-       mode_t mode;
        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;
+       OFF_T length;
+       char *basename;
+       char *dirname;
+       char *basedir;
        union {
                struct idev *idev;
                struct hlink *links;
        } link_u;
-       char *basename;
-       char *dirname;
-       char *basedir;
+       time_t modtime;
        uid_t uid;
        gid_t gid;
+       mode_t mode;
        uchar flags;    /* this item MUST remain last */
 };
 
@@ -433,6 +433,7 @@ struct file_struct {
  */
 #define FLIST_START    (32 * 1024)
 #define FLIST_LINEAR   (FLIST_START * 512)
+
 /*
  * Extent size for allocation pools A minimum size of 128KB
  * is needed to mmap them so that freeing will release the
@@ -442,7 +443,6 @@ struct file_struct {
  * (when they happen) Smaller sizes increase the chance of
  * freed allocations freeing whole extents.
  */
-
 #define FILE_EXTENT    (256 * 1024)
 #define HLINK_EXTENT   (128 * 1024)