Handle separated devices and special files.
[rsync/rsync.git] / rsync.h
diff --git a/rsync.h b/rsync.h
index e6bff06..a5715a3 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -517,9 +517,9 @@ struct file_struct {
                struct hlink *links;
        } link_u;
        time_t modtime;
-       mode_t mode;
        uid_t uid;
        gid_t gid;
+       mode_t mode;
        uchar flags;    /* this item MUST remain last */
 };
 
@@ -787,7 +787,8 @@ extern int errno;
 #define INADDR_NONE 0xffffffff
 #endif
 
-#define IS_DEVICE(mode) (S_ISCHR(mode) || S_ISBLK(mode) || S_ISSOCK(mode) || S_ISFIFO(mode))
+#define IS_SPECIAL(mode) (S_ISSOCK(mode) || S_ISFIFO(mode))
+#define IS_DEVICE(mode) (S_ISCHR(mode) || S_ISBLK(mode))
 
 /* Initial mask on permissions given to temporary files.  Mask off setuid
      bits and group access because of potential race-condition security