Restored write_ndx_and_attrs() and made it public.
[rsync/rsync.git] / rsync.h
diff --git a/rsync.h b/rsync.h
index 54ed2d4..d2e328e 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -513,14 +513,14 @@ struct hlink {
 struct file_struct {
        union {
                dev_t rdev;     /* The device number, if this is a device */
-               char *sum;      /* Only a normal file can have a checksum */
-               char *link;     /* Points to symlink string, if a symlink */
+               const char *sum;/* Only a normal file can have a checksum */
+               const char *link;/* Points to symlink string, if a symlink */
        } u;
        OFF_T length;
-       char *basename;         /* The current item's name (AKA filename) */
-       char *dirname;          /* The directory info inside the transfer */
+       const char *basename;   /* The current item's name (AKA filename) */
+       const char *dirname;    /* The directory info inside the transfer */
        union {
-               char *root;     /* Sender-side dir info outside transfer */
+               const char *root;/* Sender-side dir info outside transfer */
                int depth;      /* Receiver-side directory depth info */
        } dir;
        union {
@@ -616,10 +616,12 @@ struct map_struct {
 #define MATCHFLG_SENDER_SIDE   (1<<16)/* rule applies to the sending side */
 #define MATCHFLG_RECEIVER_SIDE (1<<17)/* rule applies to the receiving side */
 #define MATCHFLG_CLEAR_LIST    (1<<18)/* this item is the "!" token */
+#define MATCHFLG_PERISHABLE    (1<<19)/* perishable if parent dir goes away */
 
 #define MATCHFLGS_FROM_CONTAINER (MATCHFLG_ABS_PATH | MATCHFLG_INCLUDE \
                                | MATCHFLG_DIRECTORY | MATCHFLG_SENDER_SIDE \
-                               | MATCHFLG_NEGATE | MATCHFLG_RECEIVER_SIDE)
+                               | MATCHFLG_NEGATE | MATCHFLG_RECEIVER_SIDE \
+                               | MATCHFLG_PERISHABLE)
 
 struct filter_struct {
        struct filter_struct *next;
@@ -646,7 +648,7 @@ struct stats {
        int64 matched_data;
        int64 flist_buildtime;
        int64 flist_xfertime;
-       int flist_size;
+       int64 flist_size;
        int num_files;
        int num_transferred_files;
        int current_file_index;
@@ -662,10 +664,15 @@ struct chmod_mode_struct;
 
 #ifndef __GNUC__
 #define __attribute__(x)
+# if __GNUC__ <= 2
+# define NORETURN
+# endif
 #endif
 
 #define UNUSED(x) x __attribute__((__unused__))
+#ifndef NORETURN
 #define NORETURN __attribute__((__noreturn__))
+#endif
 
 #include "proto.h"