Another stab at uint64 because some platforms seem to have
[rsync/rsync.git] / rsync.h
diff --git a/rsync.h b/rsync.h
index beddf51..a7f1f79 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -265,19 +265,24 @@ enum logcode {FNONE=0, FERROR=1, FINFO=2, FLOG=3 };
 #define STRUCT_STAT struct stat
 #endif
 
-#if HAVE_OFF64_T
-#define int64 off64_t
-#elif (SIZEOF_LONG == 8) 
+#if (SIZEOF_LONG == 8) 
 #define int64 long
+#define uint64 unigned long
 #elif (SIZEOF_INT == 8) 
 #define int64 int
+#define uint64 unsigned int
 #elif HAVE_LONGLONG
 #define int64 long long
+#define uint64 unsigned long long
 #else
 /* As long as it gets... */
 #define int64 off_t
+#define uint64 unsigned off_t
 #define NO_INT64
 #endif
+#if HAVE_OFF64_T
+#define int64 off64_t
+#endif
 
 /* Starting from protocol version 26, we always use 64-bit
  * ino_t and dev_t internally, even if this platform does not
@@ -310,8 +315,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))