#define BLOCK_SIZE 700
#define RSYNC_RSH_ENV "RSYNC_RSH"
+#define RSYNC_RSH_IO_ENV "RSYNC_RSH_IO"
#define RSYNC_NAME "rsync"
#define RSYNCD_SYSCONF "/etc/rsyncd.conf"
* unlikely to begin by sending a byte between MIN_PROTOCL_VERSION and
* MAX_PROTOCOL_VERSION. */
-#define MIN_PROTOCOL_VERSION 17
+#define MIN_PROTOCOL_VERSION 19
#define OLD_PROTOCOL_VERSION 20
#define MAX_PROTOCOL_VERSION 40
#define MAX_MAP_SIZE (256*1024)
#define IO_BUFFER_SIZE (4092)
+#define IOERR_GENERAL (1<<0) /* For backward compatibility, this must == 1 */
+#define IOERR_VANISHED (1<<1)
+
#define MAX_ARGS 1000
#define MPLEX_BASE 7
#include "config.h"
-/* The default RSYNC_RSH is always set in config.h, either to "remsh",
- * "rsh", or otherwise something specified by the user. HAVE_REMSH
- * controls parameter munging for HP/UX, etc. */
+/* The default RSYNC_RSH is always set in config.h. */
#include <sys/types.h>
#define IN_LOOPBACKNET 127
#endif
+#define GID_NONE (gid_t) -1
+
struct file_struct {
unsigned flags;
time_t modtime;
struct sum_buf {
OFF_T offset; /**< offset in file of this chunk */
- int len; /**< length of chunk of file */
+ unsigned int len; /**< length of chunk of file */
int i; /**< index of this chunk */
uint32 sum1; /**< simple checksum */
char sum2[SUM_LENGTH]; /**< checksum */
struct sum_struct {
OFF_T flength; /**< total file length */
size_t count; /**< how many chunks */
- size_t remainder; /**< flength % block_length */
- size_t blength; /**< block_length */
- size_t s2length; /**< sum2_length */
+ unsigned int blength; /**< block_length */
+ unsigned int remainder; /**< flength % block_length */
+ int s2length; /**< sum2_length */
struct sum_buf *sums; /**< points to info for each chunk */
};
OFF_T p_fd_offset; /* offset of cursor in fd ala lseek */
};
-#define MATCHFLG_WILD 0x0001 /* pattern has '*', '[', and/or '?' */
-#define MATCHFLG_WILD2 0x0002 /* pattern has '**' */
-#define MATCHFLG_WILD2_PREFIX 0x0004 /* pattern starts with '**' */
-#define MATCHFLG_ABS_PATH 0x0008 /* path-match on absolute path */
+#define MATCHFLG_WILD (1<<0) /* pattern has '*', '[', and/or '?' */
+#define MATCHFLG_WILD2 (1<<1) /* pattern has '**' */
+#define MATCHFLG_WILD2_PREFIX (1<<2) /* pattern starts with '**' */
+#define MATCHFLG_ABS_PATH (1<<3) /* path-match on absolute path */
struct exclude_struct {
char *pattern;
int match_flags;