X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/b0d791bb3525ce8d2f3f5af9a1606a0049c6bf7c..990ff150efe782b1f85af0c3b903f4e50e1757be:/rsync.h diff --git a/rsync.h b/rsync.h index 317c545f..d897b3d6 100644 --- a/rsync.h +++ b/rsync.h @@ -57,13 +57,19 @@ * people writing them to make sure that they don't send us anything * we won't understand. * + * Interoperation with old but supported protocol versions + * should cause a warning to be printed. At a future date + * the old protocol will become the minimum and + * compatibility code removed. + * * There are two possible explanations for the limit at thirty: either * to allow new major-rev versions that do not interoperate with us, * and (more likely) so that we can detect an attempt to connect rsync * to a non-rsync server, which is unlikely to begin by sending a byte * between 15 and 30. */ #define MIN_PROTOCOL_VERSION 15 -#define MAX_PROTOCOL_VERSION 30 +#define OLD_PROTOCOL_VERSION 20 +#define MAX_PROTOCOL_VERSION 40 #define RSYNC_PORT 873 @@ -273,6 +279,17 @@ enum logcode {FNONE=0, FERROR=1, FINFO=2, FLOG=3 }; #define NO_INT64 #endif +#if (SIZEOF_LONG == 8) +#define uint64 unsigned long +#elif (SIZEOF_INT == 8) +#define uint64 unsigned int +#elif HAVE_LONGLONG +#define uint64 unsigned long long +#else +/* As long as it gets... */ +#define uint64 unsigned off_t +#endif + /* Starting from protocol version 26, we always use 64-bit * ino_t and dev_t internally, even if this platform does not * allow files to have 64-bit inums. That's because the @@ -304,8 +321,8 @@ enum logcode {FNONE=0, FERROR=1, FINFO=2, FLOG=3 }; * cope with platforms on which this is an unsigned int or even a * struct. Later. */ -#define INO64_T int64 -#define DEV64_T int64 +#define INO64_T uint64 +#define DEV64_T uint64 #ifndef MIN #define MIN(a,b) ((a)<(b)?(a):(b)) @@ -327,6 +344,10 @@ enum logcode {FNONE=0, FERROR=1, FINFO=2, FLOG=3 }; #define MAXPATHLEN 1024 #endif +#ifndef NAME_MAX +#define NAME_MAX 255 +#endif + #ifndef INADDR_NONE #define INADDR_NONE 0xffffffff #endif @@ -602,6 +623,10 @@ void rsyserr(enum logcode, int, const char *, ...) #define inet_ntoa rep_inet_ntoa #endif +/* Make sure that the O_BINARY flag is defined. */ +#ifndef O_BINARY +#define O_BINARY 0 +#endif #ifndef HAVE_STRLCPY size_t strlcpy(char *d, const char *s, size_t bufsize);