|
|
1.1 ! root 1: /* defs 4.6 83/07/01 */ ! 2: #include <stdio.h> ! 3: #include <ctype.h> ! 4: #include <sys/param.h> ! 5: #include <sys/dir.h> ! 6: ! 7: #define SHELLCOM "/bin/sh" ! 8: ! 9: typedef long int TIMETYPE; ! 10: ! 11: #ifdef unix ! 12: /* to install metering, add a statement like */ ! 13: #define METERFILE "/usr/sif/make/Meter" ! 14: /* to turn metering on, set external variable meteron to 1 */ ! 15: #endif ! 16: ! 17: /* define FSTATIC to be static on systems with C compilers ! 18: supporting file-static; otherwise define it to be null ! 19: */ ! 20: #define FSTATIC static ! 21: ! 22: #define NO 0 ! 23: #define YES 1 ! 24: ! 25: #define unequal strcmp ! 26: #define HASHSIZE 1021 ! 27: #define NLEFTS 512 ! 28: #define NCHARS 500 ! 29: #define NINTS 250 ! 30: #define INMAX 3500 ! 31: #define OUTMAX 3500 ! 32: #define QBUFMAX 2500 ! 33: #define MAXDIR 10 ! 34: ! 35: #define ALLDEPS 1 ! 36: #define SOMEDEPS 2 ! 37: ! 38: #define META 01 ! 39: #define TERMINAL 02 ! 40: extern char funny[128]; ! 41: ! 42: ! 43: #define ALLOC(x) (struct x *) ckalloc(sizeof(struct x)) ! 44: ! 45: extern int sigivalue; ! 46: extern int sigqvalue; ! 47: extern int waitpid; ! 48: extern int dbgflag; ! 49: extern int prtrflag; ! 50: extern int silflag; ! 51: extern int noexflag; ! 52: extern int keepgoing; ! 53: extern int noruleflag; ! 54: extern int touchflag; ! 55: extern int questflag; ! 56: extern int ndocoms; ! 57: extern int ignerr; ! 58: extern int okdel; ! 59: extern int inarglist; ! 60: extern char *prompt; ! 61: extern int nopdir; ! 62: extern char junkname[ ]; ! 63: ! 64: ! 65: ! 66: struct nameblock ! 67: { ! 68: struct nameblock *nxtnameblock; ! 69: char *namep; ! 70: struct lineblock *linep; ! 71: int done:3; ! 72: int septype:3; ! 73: TIMETYPE modtime; ! 74: }; ! 75: ! 76: extern struct nameblock *mainname ; ! 77: extern struct nameblock *firstname; ! 78: ! 79: struct lineblock ! 80: { ! 81: struct lineblock *nxtlineblock; ! 82: struct depblock *depp; ! 83: struct shblock *shp; ! 84: }; ! 85: extern struct lineblock *sufflist; ! 86: ! 87: struct depblock ! 88: { ! 89: struct depblock *nxtdepblock; ! 90: struct nameblock *depname; ! 91: }; ! 92: ! 93: struct shblock ! 94: { ! 95: struct shblock *nxtshblock; ! 96: char *shbp; ! 97: }; ! 98: ! 99: struct varblock ! 100: { ! 101: struct varblock *nxtvarblock; ! 102: char *varname; ! 103: char *varval; ! 104: int noreset:1; ! 105: int used:1; ! 106: }; ! 107: extern struct varblock *firstvar; ! 108: ! 109: struct pattern ! 110: { ! 111: struct pattern *nxtpattern; ! 112: char *patval; ! 113: }; ! 114: extern struct pattern *firstpat; ! 115: ! 116: struct dirhdr ! 117: { ! 118: struct dirhdr *nxtopendir; ! 119: DIR *dirfc; ! 120: char *dirn; ! 121: }; ! 122: extern struct dirhdr *firstod; ! 123: ! 124: ! 125: struct chain ! 126: { ! 127: struct chain *nextp; ! 128: char *datap; ! 129: }; ! 130: ! 131: char *copys(), *concat(), *subst(); ! 132: int *ckalloc(); ! 133: struct nameblock *srchname(), *makename(); ! 134: TIMETYPE exists();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.