X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/195bd906a2bacbce7455405180bfecf60819a60d..38b02c13d0173fc4a1ee67d67ceefc7107eefdc0:/rsync.h diff --git a/rsync.h b/rsync.h index e3cbe570..47943f30 100644 --- a/rsync.h +++ b/rsync.h @@ -85,6 +85,16 @@ #define MPLEX_BASE 7 +#define NO_EXCLUDES 0 +#define SERVER_EXCLUDES 1 +#define ALL_EXCLUDES 2 + +#define MISSING_OK 0 +#define MISSING_FATAL 1 + +#define ADD_INCLUDE 1 +#define ADD_EXCLUDE 0 + /* Log values. I *think* what these mean is: FLOG goes to the server * logfile; FERROR and FINFO try to end up on the client, with * different levels of filtering. */ @@ -112,6 +122,10 @@ enum logcode {FNONE=0, FERROR=1, FINFO=2, FLOG=3 }; #ifdef HAVE_STDLIB_H #include +#else +#ifdef HAVE_MALLOC_H +#include +#endif #endif #ifdef HAVE_SYS_SOCKET_H @@ -122,10 +136,6 @@ enum logcode {FNONE=0, FERROR=1, FINFO=2, FLOG=3 }; #include #endif -#ifdef HAVE_MALLOC_H -#include -#endif - #ifdef TIME_WITH_SYS_TIME #include #include @@ -182,12 +192,6 @@ enum logcode {FNONE=0, FERROR=1, FINFO=2, FLOG=3 }; #endif #endif -#ifdef HAVE_FNMATCH -#include -#else -#include "lib/fnmatch.h" -#endif - #ifdef HAVE_GLOB_H #include #endif @@ -421,13 +425,16 @@ struct map_struct { OFF_T file_size, p_offset, p_fd_offset; }; +#define MATCHFLG_WILD 0x0001 /* pattern has '*', '[', and/or '?' */ +#define MATCHFLG_WILD2 0x0002 /* pattern has '**' */ +#define MATCHFLG_WILD2_PREFIX 0x0004 /* pattern starts with '**' */ +#define MATCHFLG_ABS_PATH 0x0008 /* path-match on absolute path */ struct exclude_struct { char *pattern; - int regular_exp; - int fnmatch_flags; + int match_flags; int include; int directory; - int local; + int slash_cnt; }; struct stats { @@ -454,6 +461,7 @@ static inline int flist_up(struct file_list *flist, int i) #include "byteorder.h" #include "lib/mdfour.h" +#include "lib/wildmatch.h" #include "lib/permstring.h" #include "lib/addrinfo.h" @@ -468,11 +476,13 @@ int asprintf(char **ptr, const char *format, ...); int vasprintf(char **ptr, const char *format, va_list ap); #endif -#if !defined(HAVE_VSNPRINTF) && !defined(HAVE_C99_VSNPRINTF) -int vsnprintf (char *str, size_t count, const char *fmt, va_list args); +#if !defined(HAVE_VSNPRINTF) || !defined(HAVE_C99_VSNPRINTF) +#define vsnprintf rsync_vsnprintf +int vsnprintf(char *str, size_t count, const char *fmt, va_list args); #endif -#if !defined(HAVE_SNPRINTF) && !defined(HAVE_C99_VSNPRINTF) +#if !defined(HAVE_SNPRINTF) || !defined(HAVE_C99_VSNPRINTF) +#define snprintf rsync_snprintf int snprintf(char *str,size_t count,const char *fmt,...); #endif