X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/5b1c1eefda8d7c0d13ddba5bfcbd9201a9946ee3..bec617b934dc2ef90b7acd1c7ef4b5db74821e91:/rsync.h diff --git a/rsync.h b/rsync.h index 1a4f6c12..e079a653 100644 --- a/rsync.h +++ b/rsync.h @@ -58,11 +58,12 @@ /* These flags are used in the live flist data. */ #define FLAG_TOP_DIR (1<<0) -#define FLAG_HLINK_EOL (1<<1) /* generator only */ -#define FLAG_MOUNT_POINT (1<<2) /* sender only */ -#define FLAG_NO_FUZZY (1<<2) /* generator only */ +#define FLAG_HLINK_EOL (1<<1) /* receiver/generator */ +#define FLAG_MOUNT_POINT (1<<2) /* sender */ +#define FLAG_NO_FUZZY (1<<2) /* generator */ #define FLAG_DEL_HERE (1<<3) /* receiver/generator */ -#define FLAG_SENT (1<<3) /* sender only */ +#define FLAG_SENT (1<<3) /* sender */ +#define FLAG_HLINK_TOL (1<<4) /* receiver/generator */ /* update this if you make incompatible changes */ #define PROTOCOL_VERSION 29 @@ -99,10 +100,11 @@ #define IOERR_GENERAL (1<<0) /* For backward compatibility, this must == 1 */ #define IOERR_VANISHED (1<<1) +#define IOERR_DEL_LIMIT (1<<2) #define MAX_ARGS 1000 - #define MAX_BASIS_DIRS 20 +#define MAX_SERVER_ARGS (MAX_BASIS_DIRS*2 + 100) #define MPLEX_BASE 7 @@ -137,18 +139,26 @@ #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) +#define ITEM_REPORT_XATTRS (1<<7) +#define ITEM_BASIS_TYPE_FOLLOWS (1<<11) +#define ITEM_XNAME_FOLLOWS (1<<12) +#define ITEM_IS_NEW (1<<13) +#define ITEM_LOCAL_CHANGE (1<<14) +#define ITEM_TRANSFER (1<<15) +/* These are outside the range of the transmitted flags. */ +#define ITEM_NO_DEST_AND_NO_UPDATE (1<<16) /* used by itemize() */ +#define ITEM_MISSING_DATA (1<<16) /* used by log_formatted() */ +#define ITEM_DELETED (1<<17) /* used by log_formatted() */ + +#define SIGNIFICANT_ITEM_FLAGS (~(\ + ITEM_BASIS_TYPE_FOLLOWS | ITEM_XNAME_FOLLOWS | ITEM_LOCAL_CHANGE)) -#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. */ @@ -298,7 +308,7 @@ enum msgcode { #ifdef MAJOR_IN_MKDEV #include -# if !defined makedev && defined mkdev +# if !defined makedev && (defined mkdev || defined _WIN32 || defined __WIN32__) # define makedev mkdev # endif #elif defined MAJOR_IN_SYSMACROS @@ -471,7 +481,7 @@ struct idev { #define HL_SKIP 1 struct hlink { - struct file_struct *next; + int next; int hlindex; }; @@ -664,8 +674,12 @@ extern char *sys_errlist[]; extern int errno; #endif -#define SUPPORT_LINKS HAVE_READLINK -#define SUPPORT_HARD_LINKS HAVE_LINK +#ifdef HAVE_READLINK +#define SUPPORT_LINKS 1 +#endif +#ifdef HAVE_LINK +#define SUPPORT_HARD_LINKS 1 +#endif #define SIGNAL_CAST (RETSIGTYPE (*)())