summaryrefslogtreecommitdiff
path: root/sys/src/ape/cmd/make/defs.h
diff options
context:
space:
mode:
authorTaru Karttunen <taruti@taruti.net>2011-03-30 15:46:40 +0300
committerTaru Karttunen <taruti@taruti.net>2011-03-30 15:46:40 +0300
commite5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch)
treed8d51eac403f07814b9e936eed0c9a79195e2450 /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-xsys/src/ape/cmd/make/defs.h213
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);