Added "debug_type" to the exclude_list_struct.
[rsync/rsync.git] / rsync.h
diff --git a/rsync.h b/rsync.h
index 6a50597..fc99ced 100644 (file)
--- a/rsync.h
+++ b/rsync.h
 #define XMIT_SAME_NAME (1<<5)
 #define XMIT_LONG_NAME (1<<6)
 #define XMIT_SAME_TIME (1<<7)
-#define XMIT_SAME_HIGH_RDEV (1<<8)
+#define XMIT_SAME_RDEV_MAJOR (1<<8)
 #define XMIT_HAS_IDEV_DATA (1<<9)
 #define XMIT_SAME_DEV (1<<10)
+#define XMIT_RDEV_MINOR_IS_SMALL (1<<11)
 
 /* These flags are used in the live flist data. */
 
 #define SERVER_EXCLUDES        1
 #define ALL_EXCLUDES   2
 
-#define MISSING_OK    0
-#define MISSING_FATAL 1
-
-#define ADD_INCLUDE 1
-#define ADD_EXCLUDE 0
+#define XFLG_FATAL_ERRORS      (1<<0)
+#define XFLG_DEF_INCLUDE       (1<<1)
+#define XFLG_NO_PREFIXES       (1<<2)
+#define XFLG_WORD_SPLIT        (1<<3)
 
 #define FULL_FLUSH     1
 #define NORMAL_FLUSH   0
@@ -345,17 +345,14 @@ enum msgcode {
  * device numbers will be truncated.  But it's a kind of silly thing
  * to do anyhow.
  *
- * FIXME: In future, we should probable split the device number into
- * major/minor, and transfer the two parts as 32-bit ints.  That gives
- * you somewhat more of a chance that they'll come from a big machine
- * to a little one in a useful way.
- *
- * FIXME: Really we need an unsigned type, and we perhaps ought to
- * cope with platforms on which this is an unsigned int or even a
- * struct.  Later.
+ * FIXME: I don't think the code in flist.c has ever worked on a system
+ * where dev_t is a struct.
  */ 
-#define INO64_T uint64
-#define DEV64_T uint64
+
+struct idev {
+       uint64 inode;
+       uint64 dev;
+};
 
 #ifndef MIN
 #define MIN(a,b) ((a)<(b)?(a):(b))
@@ -401,11 +398,6 @@ struct hlink {
        struct file_struct *next;
 };
 
-struct idev {
-       INO64_T inode;
-       DEV64_T dev;
-};
-
 #define F_DEV  link_u.idev->dev
 #define F_INODE        link_u.idev->inode
 
@@ -414,9 +406,9 @@ struct idev {
 
 struct file_struct {
        union {
-               DEV64_T rdev;   /* The device number, if this is a device */
+               dev_t rdev;     /* The device number, if this is a device */
                char *sum;      /* Only a normal file can have a checksum */
-               char *link;     /* Holds symlink string, if a symlink */
+               char *link;     /* Points to symlink string, if a symlink */
        } u;
        OFF_T length;
        char *basename;
@@ -499,6 +491,7 @@ struct map_struct {
 #define MATCHFLG_WILD2_PREFIX  (1<<2) /* pattern starts with '**' */
 #define MATCHFLG_ABS_PATH      (1<<3) /* path-match on absolute path */
 struct exclude_struct {
+       struct exclude_struct *next;
        char *pattern;
        int match_flags;
        int include;
@@ -506,6 +499,12 @@ struct exclude_struct {
        int slash_cnt;
 };
 
+struct exclude_list_struct {
+       struct exclude_struct *head;
+       struct exclude_struct *tail;
+       char *debug_type;
+};
+
 struct stats {
        int64 total_size;
        int64 total_transferred_size;
@@ -762,7 +761,7 @@ int inet_pton(int af, const char *src, void *dst);
 const char *get_panic_action(void);
 #endif
 
-#ifndef _AIX
+#if !(defined(__hpux) || defined(_hpux) || defined (hpux))
 #define UNUSED(x) x __attribute__((__unused__))
 #else
 #define UNUSED(x) x