X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/d9e92804a57c7c8dfee0bdf21ca4886dfc0e65f7..fdf74bede07402b9d72ed0613557f26f24de43bc:/rsync.h diff --git a/rsync.h b/rsync.h index 9403de33..e52e66aa 100644 --- a/rsync.h +++ b/rsync.h @@ -2,7 +2,7 @@ * Copyright (C) 1996, 2000 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras * Copyright (C) 2001, 2002 Martin Pool - * Copyright (C) 2003-2007 Wayne Davison + * Copyright (C) 2003-2008 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -67,7 +67,8 @@ #define FLAG_FILE_SENT (1<<1) /* sender/receiver/generator */ #define FLAG_DIR_CREATED (1<<1) /* generator */ #define FLAG_CONTENT_DIR (1<<2) /* sender/receiver/generator */ -#define FLAG_MOUNT_DIR (1<<3) /* sender/generator */ +#define FLAG_MOUNT_DIR (1<<3) /* sender/generator (dirs only) */ +#define FLAG_SKIP_HLINK (1<<3) /* receiver/generator (w/FLAG_HLINKED) */ #define FLAG_DUPLICATE (1<<4) /* sender */ #define FLAG_MISSING_DIR (1<<4) /* generator */ #define FLAG_HLINKED (1<<5) /* receiver/generator (checked on all types) */ @@ -82,6 +83,7 @@ /* These flags are passed to functions but not stored. */ #define FLAG_DIVERT_DIRS (1<<16)/* sender */ +#define FLAG_DOTDIR_NAME (1<<17)/* sender */ #define BITS_SET(val,bits) (((val) & (bits)) == (bits)) #define BITS_SETnUNSET(val,onbits,offbits) (((val) & ((onbits)|(offbits))) == (onbits)) @@ -94,7 +96,7 @@ /* This is used when working on a new protocol version in CVS, and should * be a new non-zero value for each CVS change that affects the protocol. * It must ALWAYS be 0 when the protocol goes final! */ -#define SUBPROTOCOL_VERSION 17 +#define SUBPROTOCOL_VERSION 0 /* 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 @@ -144,8 +146,9 @@ #define XFLG_FATAL_ERRORS (1<<0) #define XFLG_OLD_PREFIXES (1<<1) -#define XFLG_ANCHORED2ABS (1<<2) -#define XFLG_ABS_IF_SLASH (1<<3) +#define XFLG_ANCHORED2ABS (1<<2) /* leading slash indicates absolute */ +#define XFLG_ABS_IF_SLASH (1<<3) /* leading or interior slash is absolute */ +#define XFLG_DIR2WILD3 (1<<4) /* dir/ match gets trailing *** added */ #define ATTRS_REPORT (1<<0) #define ATTRS_SKIP_MTIME (1<<1) @@ -166,8 +169,9 @@ /* For use by the itemize_changes code */ #define ITEM_REPORT_ATIME (1<<0) -#define ITEM_REPORT_CHECKSUM (1<<1) -#define ITEM_REPORT_SIZE (1<<2) +#define ITEM_REPORT_CHANGE (1<<1) +#define ITEM_REPORT_SIZE (1<<2) /* regular files only */ +#define ITEM_REPORT_TIMEFAIL (1<<2) /* symlinks only */ #define ITEM_REPORT_TIME (1<<3) #define ITEM_REPORT_PERMS (1<<4) #define ITEM_REPORT_OWNER (1<<5) @@ -187,11 +191,17 @@ #define SIGNIFICANT_ITEM_FLAGS (~(\ ITEM_BASIS_TYPE_FOLLOWS | ITEM_XNAME_FOLLOWS | ITEM_LOCAL_CHANGE)) -#define CFN_KEEP_LEADING_DOT_DIR (1<<0) +#define CFN_KEEP_DOT_DIRS (1<<0) #define CFN_KEEP_TRAILING_SLASH (1<<1) #define CFN_DROP_TRAILING_DOT_DIR (1<<2) #define CFN_COLLAPSE_DOT_DOT_DIRS (1<<3) +#define SP_DEFAULT 0 +#define SP_KEEP_DOT_DIRS (1<<0) + +#define CD_NORMAL 0 +#define CD_SKIP_CHDIR 1 + /* Log-message categories. FLOG only goes to the log file, not the client; * FCLIENT is the opposite. */ enum logcode { @@ -331,10 +341,6 @@ enum msgcode { #endif #endif -#ifdef HAVE_GLOB_H -#include -#endif - /* these are needed for the uid/gid mapping code */ #include #include @@ -1105,6 +1111,11 @@ size_t strlcat(char *d, const char *s, size_t bufsize); #define MY_GID() getgid() #endif +#ifdef FORCE_FD_ZERO_MEMSET +#undef FD_ZERO +#define FD_ZERO(fdsetp) memset(fdsetp, 0, sizeof (fd_set)) +#endif + extern int verbose; #ifndef HAVE_INET_NTOP