no longer use mmap() in rsync because of the risk of a SIGBUS when
[rsync/rsync.git] / rsync.h
diff --git a/rsync.h b/rsync.h
index c7b43bd..af76aac 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -23,6 +23,8 @@
 #define RSYNC_NAME "rsync"
 #define RSYNCD_CONF "/etc/rsyncd.conf"
 
+#define URL_PREFIX "rsync://"
+
 #define BACKUP_SUFFIX "~"
 
 /* a non-zero CHAR_OFFSET makes the rolling sum stronger, but is
@@ -50,7 +52,7 @@
 #define SPARSE_WRITE_SIZE (1024)
 #define WRITE_SIZE (32*1024)
 #define CHUNK_SIZE (32*1024)
-#define MAX_MAP_SIZE (1*1024*1024)
+#define MAX_MAP_SIZE (256*1024)
 #define IO_BUFFER_SIZE (4092)
 #define MAX_READ_BUFFER (1024*1024)
 
@@ -61,6 +63,8 @@
 #define FINFO 2
 #define FLOG 3
 
+#include "errcode.h"
+
 #include "config.h"
 
 #if HAVE_REMSH
 #endif
 #include <errno.h>
 
-#if defined(HAVE_MMAP) && defined(HAVE_MUNMAP)
-#include <sys/mman.h>
-#define USE_MMAP 1
-#endif
-
 #ifdef HAVE_UTIME_H
 #include <utime.h>
 #endif
@@ -299,6 +298,7 @@ struct file_struct {
        char *sum;
 };
 
+
 struct file_list {
        int count;
        int malloced;
@@ -322,9 +322,9 @@ struct sum_struct {
 };
 
 struct map_struct {
-       char *map,*p;
+       char *p;
        int fd,p_size,p_len;
-       OFF_T size, p_offset;
+       OFF_T file_size, p_offset, p_fd_offset;
 };
 
 struct exclude_struct {
@@ -456,3 +456,28 @@ extern int errno;
 #ifndef ACCESSPERMS
 #define ACCESSPERMS 0777
 #endif
+
+/* handler for null strings in printf format */
+#define NS(s) ((s)?(s):"<NULL>")
+
+/* use magic gcc attributes to catch format errors */
+ void rprintf(int , const char *, ...)
+#ifdef __GNUC__
+     __attribute__ ((format (printf, 2, 3)))
+#endif
+;
+
+#ifdef REPLACE_INET_NTOA
+#define inet_ntoa rep_inet_ntoa
+#endif
+
+
+#ifndef HAVE_STRLCPY
+size_t strlcpy(char *d, const char *s, size_t bufsize);
+#endif
+
+#ifndef HAVE_STRLCAT
+size_t strlcat(char *d, const char *s, size_t bufsize);
+#endif
+
+#define exit_cleanup(code) _exit_cleanup(code, __FILE__, __LINE__)