added -r option to remove extra files.
[unix-history] / usr / src / usr.bin / rdist / defs.h
index 0ab56e9..2ee3d1e 100644 (file)
@@ -1,4 +1,4 @@
-/*     defs.h  4.1     83/09/07        */
+/*     defs.h  4.5     83/10/20        */
 
 #include <stdio.h>
 #include <ctype.h>
 
 #include <stdio.h>
 #include <ctype.h>
 #include <sys/time.h>
 #include <netinet/in.h>
 
 #include <sys/time.h>
 #include <netinet/in.h>
 
-#define        MAILCMD         "/usr/lib/sendmail -i -t"
+#define        MAILCMD         "/usr/lib/sendmail -oi -t"
 
        /* defines for yacc */
 
        /* defines for yacc */
-#define EQUAL 1
-#define ARROW 2
-#define LP 3
-#define RP 4
-#define NAME 5
-#define INSTALL 6
-#define VERIFY 7
-#define NOTIFY 8
-#define EXCEPT 9
+#define EQUAL  1
+#define LP     2
+#define RP     3
+#define SM     4
+#define ARROW  5
+#define DCOLON 6
+#define NAME   7
+#define INSTALL        8
+#define NOTIFY 9
+#define EXCEPT 10
+#define OPTION 11
+#define VAR    12
+
+       /* lexical definitions */
+#define        QUOTE   0200            /* used internally for quoted characters */
+#define        TRIM    0177            /* Mask to strip quote bit */
 
        /* table sizes */
 
        /* table sizes */
-#define HASHSIZE 1021
-#define INMAX 3500
+#define HASHSIZE       1021
+#define INMAX  3500
+#define NCARGS 10240
+#define GAVSIZ NCARGS / 6
+#define NSTAMPS        15
+
+       /* option flags */
+#define VERIFY 0x1
+#define WHOLE  0x2
+#define YOUNGER        0x4
+#define STRIP  0x8
+#define REMOVE 0x10
+
+#define ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
 
 #define ALLOC(x) (struct x *) malloc(sizeof(struct x))
 
 struct block {
 
 #define ALLOC(x) (struct x *) malloc(sizeof(struct x))
 
 struct block {
-       int     b_type;
+       short   b_type;
+       short   b_options;
        char    *b_name;
        struct  block *b_next;
        struct  block *b_args;
        char    *b_name;
        struct  block *b_next;
        struct  block *b_args;
@@ -41,15 +61,14 @@ struct block {
 extern int debug;              /* debugging flag */
 extern int nflag;              /* NOP flag, don't execute commands */
 extern int qflag;              /* Quiet. don't print messages */
 extern int debug;              /* debugging flag */
 extern int nflag;              /* NOP flag, don't execute commands */
 extern int qflag;              /* Quiet. don't print messages */
-extern int vflag;              /* verify only */
-extern int yflag;              /* update iff remote younger than master */
+extern int options;            /* global options */
 
 extern int errs;               /* number of errors seen */
 extern int rem;                        /* remote file descriptor */
 extern int iamremote;          /* acting as remote server */
 extern int filec;              /* number of files to update */
 extern char **filev;           /* list of files/directories to update */
 
 extern int errs;               /* number of errors seen */
 extern int rem;                        /* remote file descriptor */
 extern int iamremote;          /* acting as remote server */
 extern int filec;              /* number of files to update */
 extern char **filev;           /* list of files/directories to update */
-extern char *tmpfile;          /* file name for logging changes */
+extern char tmpfile[];         /* file name for logging changes */
 extern char host[];            /* host name of master copy */
 extern char *rhost;            /* host name of remote being updated */
 extern struct block *except;   /* list of files to exclude */
 extern char host[];            /* host name of master copy */
 extern char *rhost;            /* host name of remote being updated */
 extern struct block *except;   /* list of files to exclude */
@@ -58,5 +77,8 @@ extern int errno;             /* system error number */
 extern char *sys_errlist[];
 
 struct block *lookup();
 extern char *sys_errlist[];
 
 struct block *lookup();
+struct block *makeblock();
 struct block *expand();
 struct block *expand();
+char *malloc();
 char *rindex();
 char *rindex();
+char *index();