change the order of chmod and chown calls so that setuid bits don't
[rsync/rsync.git] / rsync.h
diff --git a/rsync.h b/rsync.h
index 0368451..41f480e 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -41,7 +41,7 @@
 #define SAME_TIME (1<<7)
 
 /* update this if you make incompatible changes */
-#define PROTOCOL_VERSION 17
+#define PROTOCOL_VERSION 19
 #define MIN_PROTOCOL_VERSION 11
 #define MAX_PROTOCOL_VERSION 30
 
 #define SPARSE_WRITE_SIZE (1024)
 #define WRITE_SIZE (32*1024)
 #define CHUNK_SIZE (32*1024)
-#define MAX_MAP_SIZE (4*1024*1024)
+#define MAX_MAP_SIZE (1*1024*1024)
+#define IO_BUFFER_SIZE (4092)
+#define MAX_READ_BUFFER (1024*1024)
 
-#define MAX_ARGS 100
-
-#define BLOCKING_TIMEOUT 10
+#define MAX_ARGS 1000
 
+#define MPLEX_BASE 7
 #define FERROR 1
 #define FINFO 2
 
 #endif
 #include <errno.h>
 
-#ifdef HAVE_MMAP
+#if defined(HAVE_MMAP) && defined(HAVE_MUNMAP)
 #include <sys/mman.h>
+#define USE_MMAP 1
 #endif
 
 #ifdef HAVE_UTIME_H
 #include "lib/getopt.h"
 #endif
 
+#ifdef HAVE_GLOB
+#include <glob.h>
+#endif
+
 /* these are needed for the uid/gid mapping code */
 #include <pwd.h>
 #include <grp.h>
 #define MAXPATHLEN 1024
 #endif
 
+#ifndef INADDR_NONE
+#define INADDR_NONE 0xffffffff
+#endif
+
 struct file_struct {
        unsigned flags;
        time_t modtime;
@@ -270,9 +280,9 @@ struct file_struct {
 };
 
 struct file_list {
-  int count;
-  int malloced;
-  struct file_struct **files;
+       int count;
+       int malloced;
+       struct file_struct **files;
 };
 
 struct sum_buf {
@@ -297,6 +307,28 @@ struct map_struct {
        OFF_T size, p_offset;
 };
 
+struct exclude_struct {
+       char *orig;
+       char *pattern;
+       int regular_exp;
+       int include;
+       int directory;
+       int local;
+};
+
+struct stats {
+       int64 total_size;
+       int64 total_transferred_size;
+       int64 total_written;
+       int64 total_read;
+       int64 literal_data;
+       int64 matched_data;
+       int flist_size;
+       int num_files;
+       int num_transferred_files;
+};
+
+
 /* we need this function because of the silly way in which duplicate
    entries are handled in the file lists - we can't change this
    without breaking existing versions */