Fixed the --compare-dest docs.
[rsync/rsync.git] / rsync.h
diff --git a/rsync.h b/rsync.h
index 49034ac..49bff0b 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -62,6 +62,7 @@
 #define FLAG_MOUNT_POINT (1<<2)        /* sender only */
 #define FLAG_NO_FUZZY (1<<2)   /* generator only */
 #define FLAG_DEL_HERE (1<<3)   /* receiver/generator */
+#define FLAG_SENT (1<<3)       /* sender only */
 
 /* update this if you make incompatible changes */
 #define PROTOCOL_VERSION 29
 #define FNAMECMP_FUZZY         0x83
 
 /* For calling delete_file() */
-#define DEL_DIR                (1<<0)
 #define DEL_NO_RECURSE         (1<<1)
 #define DEL_FORCE_RECURSE      (1<<2) /* recurse even w/o --force */
 #define DEL_TERSE              (1<<3)
 
+/* For use by the itemize_changes code */
+#define ITEM_UPDATING (1<<0)
+#define ITEM_REPORT_CHECKSUM (1<<1)
+#define ITEM_REPORT_SIZE (1<<2)
+#define ITEM_REPORT_TIME (1<<3)
+#define ITEM_REPORT_PERMS (1<<4)
+#define ITEM_REPORT_OWNER (1<<5)
+#define ITEM_REPORT_GROUP (1<<6)
+#define ITEM_IS_NEW (1<<7)
+#define ITEM_USING_ALT_BASIS (1<<8)
 
-/* Log-message categories.  FLOG is only used on the daemon side to
- * output messages to the log file. */
-enum logcode { FERROR=1, FINFO=2, FLOG=3 };
+#define ITEM_MISSING_DATA (1<<16) /* these are outside the transmitted flags */
+#define ITEM_DELETED (1<<17)
+
+/* Log-message categories.  FLOG and FCLIENT are only used on the daemon
+ * side for custom logging -- they don't get sent over the socket. */
+enum logcode { FERROR=1, FINFO=2, FLOG=3, FCLIENT=4 };
 
 /* Messages types that are sent over the message channel.  The logcode
  * values must all be present here with identical numbers. */
 enum msgcode {
-       MSG_DONE=5,     /* current phase is done */
-       MSG_REDO=4,     /* reprocess indicated flist index */
-       MSG_ERROR=FERROR, MSG_INFO=FINFO, MSG_LOG=FLOG, /* remote logging */
-       MSG_DATA=0      /* raw data on the multiplexed stream */
+       MSG_DATA=0,     /* raw data on the multiplexed stream */
+       MSG_ERROR=FERROR, MSG_INFO=FINFO, /* remote logging */
+       MSG_LOG=FLOG, MSG_FCLIENT=FCLIENT, /* sibling logging */
+       MSG_REDO=9,     /* reprocess indicated flist index */
+       MSG_SUCCESS=100,/* successfully updated indicated flist index */
+       MSG_DELETED=101,/* successfully deleted a file on receiving side */
+       MSG_DONE=86     /* current phase is done */
 };
 
 #include "errcode.h"
@@ -282,7 +298,7 @@ enum msgcode {
 
 #ifdef MAJOR_IN_MKDEV
 #include <sys/mkdev.h>
-# if !defined makedev && defined mkdev
+# if !defined makedev && (defined mkdev || defined _WIN32 || defined __WIN32__)
 #  define makedev mkdev
 # endif
 #elif defined MAJOR_IN_SYSMACROS
@@ -758,7 +774,7 @@ extern int errno;
 /* handler for null strings in printf format */
 #define NS(s) ((s)?safe_fname(s):"<NULL>")
 
-#if !defined __GNUC__ || defined APPLE
+#if !defined __GNUC__ || defined __APPLE__
 /* Apparently the OS X port of gcc gags on __attribute__.
  *
  * <http://www.opensource.apple.com/bugs/X/gcc/2512150.html> */