X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/fc2dd77ec7186e19a84ca228be085ff7ffd0d673..ac98cd98e361d7703a9e8411aa7102613a6fb025:/rsync.h diff --git a/rsync.h b/rsync.h index 2a405320..cf48611d 100644 --- a/rsync.h +++ b/rsync.h @@ -117,8 +117,8 @@ #define XFLG_ANCHORED2ABS (1<<2) #define XFLG_ABS_IF_SLASH (1<<3) -#define PERMS_REPORT (1<<0) -#define PERMS_SKIP_MTIME (1<<1) +#define ATTRS_REPORT (1<<0) +#define ATTRS_SKIP_MTIME (1<<1) #define FULL_FLUSH 1 #define NORMAL_FLUSH 0 @@ -135,13 +135,15 @@ #define FNAMECMP_FUZZY 0x83 /* 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_TIME (1<<3) #define ITEM_REPORT_PERMS (1<<4) #define ITEM_REPORT_OWNER (1<<5) #define ITEM_REPORT_GROUP (1<<6) -#define ITEM_REPORT_XATTRS (1<<7) +#define ITEM_REPORT_ACL (1<<7) +#define ITEM_REPORT_XATTR (1<<8) #define ITEM_BASIS_TYPE_FOLLOWS (1<<11) #define ITEM_XNAME_FOLLOWS (1<<12) #define ITEM_IS_NEW (1<<13) @@ -158,14 +160,14 @@ /* Log-message categories. Only FERROR and FINFO get sent over the socket. * FLOG and FCLIENT are only used on the daemon side for custom logging, * while FNAME is only used on the client side. */ -enum logcode { FERROR=1, FINFO=2, FLOG=3, FCLIENT=4, FNAME=5 }; +enum logcode { FERROR=1, FINFO=2, FLOG=3, FCLIENT=4, FNAME=5, FSOCKERR=6 }; /* 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, /* remote logging */ - MSG_LOG=FLOG, /* sibling logging */ + MSG_LOG=FLOG, MSG_SOCKERR=FSOCKERR, /* sibling logging */ MSG_REDO=9, /* reprocess indicated flist index */ MSG_SUCCESS=100,/* successfully updated indicated flist index */ MSG_DELETED=101,/* successfully deleted a file on receiving side */ @@ -560,6 +562,7 @@ struct sum_buf { OFF_T offset; /**< offset in file of this chunk */ int32 len; /**< length of chunk of file */ uint32 sum1; /**< simple checksum */ + int32 chain; /**< next hash-table collision */ short flags; /**< flag bits */ char sum2[SUM_LENGTH]; /**< checksum */ }; @@ -640,6 +643,7 @@ struct stats { int current_file_index; }; +struct chmod_mode_struct; #include "byteorder.h" #include "lib/mdfour.h" @@ -647,6 +651,15 @@ struct stats { #include "lib/permstring.h" #include "lib/addrinfo.h" +#if !defined __GNUC__ || defined __APPLE__ +/* Apparently the OS X port of gcc gags on __attribute__. + * + * */ +#define __attribute__(x) +#endif + +#define UNUSED(x) x __attribute__((__unused__)) + #include "proto.h" /* We have replacement versions of these if they're missing. */ @@ -690,7 +703,12 @@ extern int errno; #define SUPPORT_HARD_LINKS 1 #endif -#define SIGNAL_CAST (RETSIGTYPE (*)()) +#ifdef HAVE_SIGACTION +#define SIGACTION(n,h) sigact.sa_handler=(h), sigaction((n),&sigact,NULL) +#define signal(n,h) we_need_to_call_SIGACTION_not_signal(n,h) +#else +#define SIGACTION(n,h) signal(n,h) +#endif #ifndef EWOULDBLOCK #define EWOULDBLOCK EAGAIN @@ -787,7 +805,8 @@ extern int errno; #define INADDR_NONE 0xffffffff #endif -#define IS_DEVICE(mode) (S_ISCHR(mode) || S_ISBLK(mode) || S_ISSOCK(mode) || S_ISFIFO(mode)) +#define IS_SPECIAL(mode) (S_ISSOCK(mode) || S_ISFIFO(mode)) +#define IS_DEVICE(mode) (S_ISCHR(mode) || S_ISBLK(mode)) /* Initial mask on permissions given to temporary files. Mask off setuid bits and group access because of potential race-condition security @@ -797,14 +816,6 @@ extern int errno; /* handler for null strings in printf format */ #define NS(s) ((s)?(s):"") -#if !defined __GNUC__ || defined __APPLE__ -/* Apparently the OS X port of gcc gags on __attribute__. - * - * */ -#define __attribute__(x) - -#endif - /* Convenient wrappers for malloc and realloc. Use them. */ #define new(type) ((type *)malloc(sizeof(type))) #define new_array(type, num) ((type *)_new_array(sizeof(type), (num))) @@ -869,7 +880,3 @@ int inet_pton(int af, const char *src, void *dst); #ifdef MAINTAINER_MODE const char *get_panic_action(void); #endif - -#define UNUSED(x) x __attribute__((__unused__)) - -extern const char *io_write_phase, *io_read_phase;