X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/af107f6c08d011ea6810de9a1e087b6ecf918ad6..efd5ee57867a5de86692dff3ec0067c4113980fa:/rsync.h diff --git a/rsync.h b/rsync.h index e9dc490f..9a165071 100644 --- a/rsync.h +++ b/rsync.h @@ -104,11 +104,13 @@ #define SERVER_EXCLUDES 1 #define ALL_EXCLUDES 2 -#define MISSING_OK 0 -#define MISSING_FATAL 1 +#define XFLG_FATAL_ERRORS (1<<0) +#define XFLG_DEF_INCLUDE (1<<1) +#define XFLG_WORDS_ONLY (1<<2) +#define XFLG_WORD_SPLIT (1<<3) -#define ADD_INCLUDE 1 -#define ADD_EXCLUDE 0 +#define PERMS_REPORT (1<<0) +#define PERMS_SKIP_MTIME (1<<1) #define FULL_FLUSH 1 #define NORMAL_FLUSH 0 @@ -121,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_REDO=4, /* reprocess indicated flist index */ MSG_DONE=5, /* current phase is done */ + MSG_REDO=4, /* reprocess indicated flist index */ + MSG_ERROR=FERROR, MSG_INFO=FINFO, MSG_LOG=FLOG, /* remote logging */ + MSG_DATA=0 /* raw data on the multiplexed stream */ }; #include "errcode.h" @@ -346,11 +348,14 @@ enum msgcode { * device numbers will be truncated. But it's a kind of silly thing * to do anyhow. * - * 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 + +struct idev { + uint64 inode; + uint64 dev; +}; #ifndef MIN #define MIN(a,b) ((a)<(b)?(a):(b)) @@ -386,7 +391,7 @@ enum msgcode { #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 @@ -396,11 +401,6 @@ struct hlink { struct file_struct *next; }; -struct idev { - INO64_T inode; - dev_t dev; -}; - #define F_DEV link_u.idev->dev #define F_INODE link_u.idev->inode @@ -493,14 +493,22 @@ 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; }; +struct exclude_list_struct { + struct exclude_struct *head; + struct exclude_struct *tail; + char *debug_type; +}; + struct stats { int64 total_size; int64 total_transferred_size; @@ -757,10 +765,6 @@ int inet_pton(int af, const char *src, void *dst); const char *get_panic_action(void); #endif -#if !(defined(__hpux) || defined(_hpux) || defined (hpux)) #define UNUSED(x) x __attribute__((__unused__)) -#else -#define UNUSED(x) x -#endif extern const char *io_write_phase, *io_read_phase;