X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/2dc7b8bd0e8d4a2d91334b9bb458df146b1700e8..d521e1c2a1980d241b0ca611d71c78d51bf255f5:/rsync.h diff --git a/rsync.h b/rsync.h index 7e9fccf0..d2e328e3 100644 --- a/rsync.h +++ b/rsync.h @@ -67,7 +67,7 @@ #define FLAG_MISSING (1<<6) /* generator */ /* update this if you make incompatible changes */ -#define PROTOCOL_VERSION 29 +#define PROTOCOL_VERSION 30 /* We refuse to interoperate with versions that are not in this range. * Note that we assume we'll work with later versions: the onus is on @@ -153,6 +153,7 @@ /* These are outside the range of the transmitted flags. */ #define ITEM_MISSING_DATA (1<<16) /* used by log_formatted() */ #define ITEM_DELETED (1<<17) /* used by log_formatted() */ +#define ITEM_MATCHED (1<<18) /* used by itemize() */ #define SIGNIFICANT_ITEM_FLAGS (~(\ ITEM_BASIS_TYPE_FOLLOWS | ITEM_XNAME_FOLLOWS | ITEM_LOCAL_CHANGE)) @@ -512,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 { @@ -615,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; @@ -645,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; @@ -661,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"