- Changed prev_name into a buffer so that there is no chance that its
[rsync/rsync.git] / rsync.h
diff --git a/rsync.h b/rsync.h
index 5ac914f..e52e66a 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -67,7 +67,8 @@
 #define FLAG_FILE_SENT (1<<1)  /* sender/receiver/generator */
 #define FLAG_DIR_CREATED (1<<1)        /* generator */
 #define FLAG_CONTENT_DIR (1<<2)        /* sender/receiver/generator */
-#define FLAG_MOUNT_DIR (1<<3)  /* sender/generator */
+#define FLAG_MOUNT_DIR (1<<3)  /* sender/generator (dirs only) */
+#define FLAG_SKIP_HLINK (1<<3) /* receiver/generator (w/FLAG_HLINKED) */
 #define FLAG_DUPLICATE (1<<4)  /* sender */
 #define FLAG_MISSING_DIR (1<<4)        /* generator */
 #define FLAG_HLINKED (1<<5)    /* receiver/generator (checked on all types) */
@@ -82,6 +83,7 @@
 /* These flags are passed to functions but not stored. */
 
 #define FLAG_DIVERT_DIRS (1<<16)/* sender */
+#define FLAG_DOTDIR_NAME (1<<17)/* sender */
 
 #define BITS_SET(val,bits) (((val) & (bits)) == (bits))
 #define BITS_SETnUNSET(val,onbits,offbits) (((val) & ((onbits)|(offbits))) == (onbits))
 
 #define XFLG_FATAL_ERRORS      (1<<0)
 #define XFLG_OLD_PREFIXES      (1<<1)
-#define XFLG_ANCHORED2ABS      (1<<2)
-#define XFLG_ABS_IF_SLASH      (1<<3)
+#define XFLG_ANCHORED2ABS      (1<<2) /* leading slash indicates absolute */
+#define XFLG_ABS_IF_SLASH      (1<<3) /* leading or interior slash is absolute */
+#define XFLG_DIR2WILD3         (1<<4) /* dir/ match gets trailing *** added */
 
 #define ATTRS_REPORT           (1<<0)
 #define ATTRS_SKIP_MTIME       (1<<1)
 
 /* For use by the itemize_changes code */
 #define ITEM_REPORT_ATIME (1<<0)
-#define ITEM_REPORT_CHECKSUM (1<<1)
-#define ITEM_REPORT_SIZE (1<<2)
+#define ITEM_REPORT_CHANGE (1<<1)
+#define ITEM_REPORT_SIZE (1<<2)     /* regular files only */
+#define ITEM_REPORT_TIMEFAIL (1<<2) /* symlinks only */
 #define ITEM_REPORT_TIME (1<<3)
 #define ITEM_REPORT_PERMS (1<<4)
 #define ITEM_REPORT_OWNER (1<<5)
 #define SIGNIFICANT_ITEM_FLAGS (~(\
        ITEM_BASIS_TYPE_FOLLOWS | ITEM_XNAME_FOLLOWS | ITEM_LOCAL_CHANGE))
 
-#define CFN_KEEP_LEADING_DOT_DIR (1<<0)
+#define CFN_KEEP_DOT_DIRS (1<<0)
 #define CFN_KEEP_TRAILING_SLASH (1<<1)
 #define CFN_DROP_TRAILING_DOT_DIR (1<<2)
 #define CFN_COLLAPSE_DOT_DOT_DIRS (1<<3)
 
+#define SP_DEFAULT 0
+#define SP_KEEP_DOT_DIRS (1<<0)
+
+#define CD_NORMAL 0
+#define CD_SKIP_CHDIR 1
+
 /* Log-message categories.  FLOG only goes to the log file, not the client;
  * FCLIENT is the opposite. */
 enum logcode {
@@ -331,10 +341,6 @@ enum msgcode {
 #endif
 #endif
 
-#ifdef HAVE_GLOB_H
-#include <glob.h>
-#endif
-
 /* these are needed for the uid/gid mapping code */
 #include <pwd.h>
 #include <grp.h>
@@ -1105,6 +1111,11 @@ size_t strlcat(char *d, const char *s, size_t bufsize);
 #define MY_GID() getgid()
 #endif
 
+#ifdef FORCE_FD_ZERO_MEMSET
+#undef FD_ZERO
+#define FD_ZERO(fdsetp) memset(fdsetp, 0, sizeof (fd_set))
+#endif
+
 extern int verbose;
 
 #ifndef HAVE_INET_NTOP