X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/4c4d61b0468f000d7c028da773d38783e20249aa..28deecca55ff109d6eff7fc09bac7843559b7d5c:/rsync.h diff --git a/rsync.h b/rsync.h index ea8667c2..d5485079 100644 --- a/rsync.h +++ b/rsync.h @@ -109,6 +109,9 @@ #define XFLG_WORDS_ONLY (1<<2) #define XFLG_WORD_SPLIT (1<<3) +#define PERMS_REPORT (1<<0) +#define PERMS_SKIP_MTIME (1<<1) + #define FULL_FLUSH 1 #define NORMAL_FLUSH 0 @@ -120,10 +123,10 @@ enum logcode { FERROR=1, FINFO=2, FLOG=3 }; /* Messages types that are sent over the message channel. The logcode * values must all be present here with identical numbers. */ enum msgcode { - MSG_DATA=0, /* raw data on the multiplexed stream */ - MSG_ERROR=FERROR, MSG_INFO=FINFO, MSG_LOG=FLOG, /* remote logging */ + MSG_DONE=5, /* current phase is done */ MSG_REDO=4, /* reprocess indicated flist index */ - MSG_DONE=5 /* current phase is done */ + MSG_ERROR=FERROR, MSG_INFO=FINFO, MSG_LOG=FLOG, /* remote logging */ + MSG_DATA=0 /* raw data on the multiplexed stream */ }; #include "errcode.h" @@ -309,7 +312,7 @@ enum msgcode { #else /* As long as it gets... */ #define int64 off_t -#define NO_INT64 +#define INT64_IS_OFF_T #endif #if (SIZEOF_LONG == 8) @@ -388,7 +391,7 @@ struct idev { #define IN_LOOPBACKNET 127 #endif -#define GID_NONE (gid_t) -1 +#define GID_NONE ((gid_t)-1) #define HL_CHECK_MASTER 0 #define HL_SKIP 1 @@ -455,11 +458,13 @@ struct file_list { struct file_struct **files; }; +#define SUMFLG_SAME_OFFSET (1<<0) + struct sum_buf { OFF_T offset; /**< offset in file of this chunk */ unsigned int len; /**< length of chunk of file */ - int i; /**< index of this chunk */ uint32 sum1; /**< simple checksum */ + short flags; /**< flag bits */ char sum2[SUM_LENGTH]; /**< checksum */ }; @@ -475,11 +480,9 @@ struct sum_struct { struct map_struct { char *p; /* Window pointer */ int fd; /* File Descriptor */ - int p_size; /* Window size at allocation */ - int p_len; /* Window size after fill */ - /* p_size and p_len could be - * consolodated by using a local - * variable in map_ptr() */ + int p_size; /* Largest window size we allocated */ + int p_len; /* Latest (rounded) window size */ + int def_window_size; /* Default window size */ int status; /* first errno from read errors */ OFF_T file_size; /* File size (from stat) */ OFF_T p_offset; /* Window start */ @@ -490,12 +493,13 @@ struct map_struct { #define MATCHFLG_WILD2 (1<<1) /* pattern has '**' */ #define MATCHFLG_WILD2_PREFIX (1<<2) /* pattern starts with '**' */ #define MATCHFLG_ABS_PATH (1<<3) /* path-match on absolute path */ +#define MATCHFLG_INCLUDE (1<<4) /* this is an include, not an exclude */ +#define MATCHFLG_DIRECTORY (1<<5) /* this matches only directories */ +#define MATCHFLG_CLEAR_LIST (1<<6) /* this item is the "!" token */ struct exclude_struct { struct exclude_struct *next; char *pattern; - int match_flags; - int include; - int directory; + unsigned int match_flags; int slash_cnt; };