diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
commit | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch) | |
tree | d8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/ape/cmd/make/defs.h |
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/ape/cmd/make/defs.h')
-rwxr-xr-x | sys/src/ape/cmd/make/defs.h | 213 |
1 files changed, 213 insertions, 0 deletions
diff --git a/sys/src/ape/cmd/make/defs.h b/sys/src/ape/cmd/make/defs.h new file mode 100755 index 000000000..d7ce537f5 --- /dev/null +++ b/sys/src/ape/cmd/make/defs.h @@ -0,0 +1,213 @@ +/* defs 4.2 85/10/28 */ +#define _POSIX_SOURCE +#define _RESEARCH_SOURCE + +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> +#include <unistd.h> +#include <signal.h> +#include <time.h> +#include <dirent.h> +#include <limits.h> +#include <stdio.h> +#include <ctype.h> + +#ifndef SHELLCOM +#define SHELLCOM "/bin/sh" +#endif + +typedef char flag; /* represent a few bit flag */ + +#define NO 0 +#define YES 1 + +#define equal(a,b) (! strcmp(a,b)) +#define HASHSIZE 1021 +#define NLEFTS 512 +#define NCHARS 500 +#define NINTS 250 +#define INMAX 20000 +#define OUTMAX 20000 +#define QBUFMAX 20000 +#define MAXDIR 10 +#define MAXPROC 100 +#define MAXINCLUDE 17 +#define PROCLIMIT 3 + +#define ALLDEPS 1 +#define SOMEDEPS 2 + +#define META 01 +#define TERMINAL 02 +extern char funny[128]; + + +#define ALLOC(x) (struct x *) ckalloc(sizeof(struct x)) +#define CHNULL (char *) NULL + +extern int sigivalue; +extern int sigqvalue; +extern int dbgflag; +extern int prtrflag; +extern int silflag; +extern int noexflag; +extern int keepgoing; +extern int noruleflag; +extern int touchflag; +extern int questflag; +extern int oldflag; +extern int ndocoms; +extern int ignerr; +extern int okdel; +extern int forceshell; +extern int inarglist; +extern char **envpp; /* points to slot in environment vector */ +extern char *prompt; +extern int nopdir; + +typedef struct nameblock *nameblkp; +typedef struct depblock *depblkp; +typedef struct lineblock *lineblkp; +typedef struct chain *chainp; + +struct nameblock + { + nameblkp nxtnameblock; + char *namep; + lineblkp linep; + flag done; + flag septype; + flag isarch; + flag isdir; + time_t modtime; + }; + +extern nameblkp mainname; +extern nameblkp firstname; +extern nameblkp *hashtab; +extern int nhashed; +extern int hashsize; +extern int hashthresh; + +struct lineblock + { + lineblkp nxtlineblock; + struct depblock *depp; + struct shblock *shp; + }; +extern lineblkp sufflist; + +struct depblock + { + depblkp nxtdepblock; + nameblkp depname; + char nowait; + } ; + +struct shblock + { + struct shblock *nxtshblock; + char *shbp; + }; + +struct varblock + { + struct varblock *nxtvarblock; + char *varname; + char *varval; + char **export; + flag noreset; + flag used; + }; +extern struct varblock *firstvar; + +struct pattern + { + struct pattern *nxtpattern; + char *patval; + }; +extern struct pattern *firstpat; + +struct dirhd + { + struct dirhd *nxtdirhd; + time_t dirtime; + int dirok; + DIR * dirfc; + char *dirn; + }; +extern struct dirhd *firstod; + + +struct chain + { + chainp nextp; + char *datap; + }; + +struct wild + { + struct wild *next; + lineblkp linep; + char *left; + char *right; + int llen; + int rlen; + int totlen; + }; + +typedef struct wild *wildp; +extern wildp firstwild; +extern wildp lastwild; + + +/* date for processes */ +extern int proclimit; /* maximum spawned processes allowed alive at one time */ +extern int proclive; /* number of spawned processes awaited */ +extern int nproc; /* next slot in process stack to use */ +extern struct process + { + int pid; + flag nohalt; + flag nowait; + flag done; + } procstack[ ]; + +extern void intrupt(int); +extern void enbint(void (*)(int)); +extern int doname(nameblkp, int, time_t *, int); +extern int docom(struct shblock *, int, int); +extern int dosys(char *, int, int, char *); +extern int waitstack(int); +extern void touch(int, char*); +extern time_t exists(char *); +extern time_t prestime(void); +extern depblkp srchdir(char*, int, depblkp); +extern time_t lookarch(char *); +extern void dirsrch(char *); +extern void baddirs(void); +extern nameblkp srchname(char *); +extern nameblkp makename(char *); +extern int hasparen(char *); +extern void newhash(int); +extern nameblkp chkname(char *); +extern char *copys(char *); +extern char *concat(char *, char *, char *); +extern int suffix(char *, char *, char *); +extern int *ckalloc(int); +extern char *subst(char *, char *); +extern void setvar(char *, char *, int); +extern void set3var(char *, char *); +extern int eqsign(char *); +extern struct varblock *varptr(char *); +extern int dynmacro(char *); +extern void fatal1(char *, char *); +extern void fatal(char *); +extern chainp appendq(chainp, char *); +extern char *mkqlist(chainp, char *); +extern wildp iswild(char *); +extern char *wildmatch(wildp, char *, int); +extern char *wildsub(char *, char *); +extern int parse(char *); +extern int yylex(void); |