Annotation of researchv9/cmd/make/defs, revision 1.1

1.1     ! root        1: /* defs 4.2 85/10/28 */
        !             2: #include <stdio.h>
        !             3: #include <sys/param.h>
        !             4: #include <ctype.h>
        !             5: #ifdef VERSION8
        !             6: #      include <ndir.h>
        !             7: #else
        !             8: #      include <sys/dir.h>
        !             9: #endif
        !            10: 
        !            11: 
        !            12: #define SHELLCOM "/bin/sh"
        !            13: 
        !            14: typedef char flag;     /* represent a few bit flag */
        !            15: typedef long int TIMETYPE;
        !            16: 
        !            17: #ifdef unix
        !            18: /*  to install metering, add a statement like */
        !            19: #define METERFILE "/usr/sif/make/Meter"
        !            20: /* to turn metering on, set external variable meteron to 1 */
        !            21: #endif
        !            22: 
        !            23: /* define FSTATIC to be static on systems with C compilers
        !            24:    supporting file-static; otherwise define it to be null
        !            25: */
        !            26: #define FSTATIC static
        !            27: 
        !            28: #define NO     0
        !            29: #define YES    1
        !            30: 
        !            31: #define equal(a,b)     (! strcmp(a,b))
        !            32: #define HASHSIZE       1021
        !            33: #define NLEFTS 512
        !            34: #define NCHARS 500
        !            35: #define NINTS  250
        !            36: #define INMAX  5000
        !            37: #define OUTMAX 5000
        !            38: #define QBUFMAX        5000
        !            39: #define MAXDIR 10
        !            40: #define MAXPROC        100
        !            41: #define MAXINCLUDE     17
        !            42: #define PROCLIMIT      3
        !            43: 
        !            44: #define ALLDEPS        1
        !            45: #define SOMEDEPS       2
        !            46: 
        !            47: #define META   01
        !            48: #define TERMINAL       02
        !            49: extern char funny[128];
        !            50: 
        !            51: 
        !            52: #define ALLOC(x) (struct x *) ckalloc(sizeof(struct x))
        !            53: #define CHNULL (char *) NULL
        !            54: 
        !            55: extern int sigivalue;
        !            56: extern int sigqvalue;
        !            57: extern int dbgflag;
        !            58: extern int prtrflag;
        !            59: extern int silflag;
        !            60: extern int noexflag;
        !            61: extern int keepgoing;
        !            62: extern int noruleflag;
        !            63: extern int touchflag;
        !            64: extern int questflag;
        !            65: extern int oldflag;
        !            66: extern int ndocoms;
        !            67: extern int ignerr;
        !            68: extern int okdel;
        !            69: extern int forceshell;
        !            70: extern int inarglist;
        !            71: extern char **envpp;   /* points to slot in environment vector */
        !            72: extern char *prompt;
        !            73: extern int nopdir;
        !            74: 
        !            75: typedef struct nameblock *nameblkp;
        !            76: typedef struct depblock *depblkp;
        !            77: typedef struct lineblock *lineblkp;
        !            78: typedef struct chain *chainp;
        !            79: 
        !            80: struct nameblock
        !            81:        {
        !            82:        nameblkp nxtnameblock;
        !            83:        char *namep;
        !            84:        lineblkp linep;
        !            85:        flag done;
        !            86:        flag septype;
        !            87:        flag isarch;
        !            88:        flag isdir;
        !            89:        TIMETYPE modtime;
        !            90:        };
        !            91: 
        !            92: extern nameblkp mainname;
        !            93: extern nameblkp firstname;
        !            94: extern nameblkp *hashtab;
        !            95: extern int nhashed;
        !            96: extern int hashsize;
        !            97: extern int hashthresh;
        !            98: 
        !            99: struct lineblock
        !           100:        {
        !           101:        lineblkp nxtlineblock;
        !           102:        struct depblock *depp;
        !           103:        struct shblock *shp;
        !           104:        };
        !           105: extern lineblkp sufflist;
        !           106: 
        !           107: struct depblock
        !           108:        {
        !           109:        depblkp nxtdepblock;
        !           110:        nameblkp depname;
        !           111:        char nowait;
        !           112:        } ;
        !           113: 
        !           114: struct shblock
        !           115:        {
        !           116:        struct shblock *nxtshblock;
        !           117:        char *shbp;
        !           118:        };
        !           119: 
        !           120: struct varblock
        !           121:        {
        !           122:        struct varblock *nxtvarblock;
        !           123:        char *varname;
        !           124:        char *varval;
        !           125:        char **export;
        !           126:        flag noreset;
        !           127:        flag used;
        !           128:        };
        !           129: extern struct varblock *firstvar;
        !           130: 
        !           131: struct pattern
        !           132:        {
        !           133:        struct pattern *nxtpattern;
        !           134:        char *patval;
        !           135:        };
        !           136: extern struct pattern *firstpat;
        !           137: 
        !           138: struct dirhd
        !           139:        {
        !           140:        struct dirhd *nxtdirhd;
        !           141:        TIMETYPE dirtime;
        !           142:        int dirok;
        !           143:        DIR * dirfc;
        !           144:        char *dirn;
        !           145:        };
        !           146: extern struct dirhd *firstod;
        !           147: 
        !           148: 
        !           149: struct chain
        !           150:        {
        !           151:        chainp nextp;
        !           152:        char *datap;
        !           153:        };
        !           154: 
        !           155: struct wild
        !           156:        {
        !           157:        struct wild *next;
        !           158:        lineblkp linep;
        !           159:        char *left;
        !           160:        char *right;
        !           161:        int llen;
        !           162:        int rlen;
        !           163:        int totlen;
        !           164:        };
        !           165: 
        !           166: typedef struct wild *wildp;
        !           167: extern wildp firstwild;
        !           168: extern wildp lastwild;
        !           169: 
        !           170: 
        !           171: /* date for processes */
        !           172: extern int proclimit;  /* maximum spawned processes allowed alive at one time */
        !           173: extern int proclive;   /* number of spawned processes awaited */
        !           174: extern int nproc;      /* next slot in process stack to use */
        !           175: extern struct process
        !           176:        {
        !           177:        int pid;
        !           178:        flag nohalt;
        !           179:        flag nowait;
        !           180:        flag done;
        !           181:        } procstack[ ];
        !           182: 
        !           183: 
        !           184: char *copys(), *concat(), *subst();
        !           185: int *ckalloc();
        !           186: nameblkp srchname(), makename();
        !           187: TIMETYPE exists();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.