Blob


1 #undef waitfor
2 #define waitfor mkwaitfor
4 void addrule(char*, Word*, char*, Word*, int, int, char*);
5 void addrules(Word*, Word*, char*, int, int, char*);
6 void addw(Word*, char*);
7 void assert(char*, int);
8 int assline(Biobuf *, Bufblock *);
9 long atimeof(int,char*);
10 void atouch(char*);
11 void bufcpy(Bufblock *, char *, int);
12 Envy *buildenv(Job*, int);
13 void catchnotes(void);
14 int chgtime(char*);
15 void clrmade(Node*);
16 void delete(char*);
17 void delword(Word*);
18 int dorecipe(Node*);
19 void dumpa(char*, Arc*);
20 void dumpj(char*, Job*, int);
21 void dumpn(char*, Node*);
22 void dumpr(char*, Rule*);
23 void dumpv(char*);
24 void dumpw(char*, Word*);
25 void execinit(void);
26 int execsh(char*, char*, Bufblock*, Envy*, Shell*, Word*);
27 void Exit(void);
28 void expunge(int, char*);
29 void freebuf(Bufblock*);
30 void front(char*);
31 Node *graph(char*);
32 void growbuf(Bufblock *);
33 void initenv(void);
34 void initshell(void);
35 void insert(Bufblock *, int);
36 void ipop(void);
37 void ipush(void);
38 void killchildren(char*);
39 void *Malloc(int);
40 char *maketmp(int*);
41 int match(char*, char*, char*, Shell*);
42 char *membername(char*, int, char*);
43 void mk(char*);
44 unsigned long mkmtime(char*);
45 long mtime(char*);
46 Arc *newarc(Node*, Rule*, char*, Resub*);
47 Bufblock *newbuf(void);
48 Job *newjob(Rule*, Node*, char*, char**, Word*, Word*, Word*, Word*);
49 Word *newword(char*);
50 int nextrune(Biobuf*, int);
51 int nextslot(void);
52 void nproc(void);
53 void nrep(void);
54 int outofdate(Node*, Arc*, int);
55 void parse(char*, int, int);
56 int pipecmd(char*, Envy*, int*, Shell*, Word*);
57 void popshell(void);
58 void prusage(void);
59 void pushshell(void);
60 void rcopy(char**, Resub*, int);
61 void readenv(void);
62 void *Realloc(void*, int);
63 void rinsert(Bufblock *, Rune);
64 char *rulecnt(void);
65 void run(Job*);
66 char *setshell(Word*);
67 void setvar(char*, void*);
68 int shargv(Word*, int, char***);
69 char *shname(char*);
70 void shprint(char*, Envy*, Bufblock*, Shell*);
71 Word *stow(char*);
72 void subst(char*, char*, char*);
73 void symdel(char*, int);
74 void syminit(void);
75 Symtab *symlook(char*, int, void*);
76 void symstat(void);
77 void symtraverse(int, void(*)(Symtab*));
78 void timeinit(char*);
79 long timeof(char*, int);
80 void touch(char*);
81 void update(int, Node*);
82 void usage(void);
83 Word *varsub(char**);
84 int waitfor(char*);
85 int waitup(int, int*);
86 Word *wdup(Word*);
87 int work(Node*, Node*, Arc*);
88 char *wtos(Word*, int);