1 void addrule(char*, Word*, char*, Word*, int, int, char*);
2 void addrules(Word*, Word*, char*, int, int, char*);
3 void addw(Word*, char*);
4 void assert(char*, int);
5 int assline(Biobuf *, Bufblock *);
6 long atimeof(int,char*);
8 void bufcpy(Bufblock *, char *, int);
9 Envy *buildenv(Job*, int);
10 void catchnotes(void);
11 char *charin(char *, char *);
14 char *copyq(char*, Rune, Bufblock*);
18 void dumpa(char*, Arc*);
19 void dumpj(char*, Job*, int);
20 void dumpn(char*, Node*);
21 void dumpr(char*, Rule*);
23 void dumpw(char*, Word*);
24 int escapetoken(Biobuf*, Bufblock*, int, int);
26 int execsh(char*, char*, Bufblock*, Envy*);
28 char *expandquote(char*, Rune, Bufblock*);
29 void expunge(int, char*);
30 void freebuf(Bufblock*);
33 void growbuf(Bufblock *);
35 void insert(Bufblock *, int);
38 void killchildren(char*);
41 int match(char*, char*, char*);
42 char *membername(char*, int, char*);
46 Arc *newarc(Node*, Rule*, char*, Resub*);
47 Bufblock *newbuf(void);
48 Job *newjob(Rule*, Node*, char*, char**, Word*, Word*, Word*, Word*);
50 int nextrune(Biobuf*, int);
54 int outofdate(Node*, Arc*, int);
55 void parse(char*, int, int);
56 int pipecmd(char*, Envy*, int*);
58 void rcopy(char**, Resub*, int);
60 void *Realloc(void*, int);
61 void rinsert(Bufblock *, Rune);
64 void setvar(char*, void*);
66 void shprint(char*, Envy*, Bufblock*);
68 void subst(char*, char*, char*);
69 void symdel(char*, int);
71 Symtab *symlook(char*, int, void*);
73 void symtraverse(int, void(*)(Symtab*));
75 long timeof(char*, int);
77 void update(int, Node*);
81 int waitup(int, int*);
83 int work(Node*, Node*, Arc*);
84 char *wtos(Word*, int);