X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/1e4f5f6342d983152c4771ed2c3fa4dfa3ab2246..53593085cf6dbaa141c3b8f45e1883523a8cfe8b:/rsync.h diff --git a/rsync.h b/rsync.h index 4d3facca..25cb5602 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 @@ -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;