X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/65b4e4b2a93de8e5bff93b5c7a2a529613cbc5e8..d48810ba5b0b8d09b272092a70da1255c2346ab8:/rsync.h diff --git a/rsync.h b/rsync.h index 25922305..7f7e3531 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) */ @@ -77,6 +78,7 @@ #define FLAG_HLINK_DONE (1<<8) /* receiver/generator (checked on all types) */ #define FLAG_LENGTH64 (1<<9) /* sender/receiver/generator */ #define FLAG_SKIP_GROUP (1<<10) /* receiver/generator */ +#define FLAG_TIME_FAILED (1<<11)/* generator */ /* These flags are passed to functions but not stored. */ @@ -93,7 +95,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 16 +#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 @@ -165,8 +167,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) @@ -186,11 +189,14 @@ #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) + /* Log-message categories. FLOG only goes to the log file, not the client; * FCLIENT is the opposite. */ enum logcode { @@ -408,13 +414,13 @@ enum msgcode { #include "lib/pool_alloc.h" #ifndef HAVE_ID_T -typedef int id_t; +typedef unsigned int id_t; #endif #ifndef HAVE_PID_T typedef int pid_t; #endif #ifndef HAVE_MODE_T -typedef int mode_t; +typedef unsigned int mode_t; #endif #ifndef HAVE_OFF_T typedef long off_t; @@ -540,6 +546,7 @@ struct hashtable { void *nodes; int32 size, entries; uint32 node_size; + int key64; }; struct ht_int32_node { @@ -1103,6 +1110,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