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 int assline(Biobuf *, Bufblock *); 5 ulong atimeof(int,char*); 6 void atouch(char*); 7 void bufcpy(Bufblock *, char *, int); 8 Envy *buildenv(Job*, int); 9 void catchnotes(void); 10 char *charin(char *, char *); 11 int chgtime(char*); 12 void clrmade(Node*); 13 char *copyq(char*, Rune, Bufblock*); 14 void delete(char*); 15 void delword(Word*); 16 int dorecipe(Node*); 17 void dumpa(char*, Arc*); 18 void dumpj(char*, Job*, int); 19 void dumpn(char*, Node*); 20 void dumpr(char*, Rule*); 21 void dumpv(char*); 22 void dumpw(char*, Word*); 23 int escapetoken(Biobuf*, Bufblock*, int, int); 24 void execinit(void); 25 int execsh(char*, char*, Bufblock*, Envy*); 26 void Exit(void); 27 char *expandquote(char*, Rune, Bufblock*); 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 insert(Bufblock *, int); 35 void ipop(void); 36 void ipush(void); 37 void killchildren(char*); 38 void *Malloc(int); 39 char *maketmp(void); 40 int match(char*, char*, char*); 41 void mk(char*); 42 ulong mkmtime(char*, int); 43 ulong mtime(char*); 44 Arc *newarc(Node*, Rule*, char*, Resub*); 45 Bufblock *newbuf(void); 46 Job *newjob(Rule*, Node*, char*, char**, Word*, Word*, Word*, Word*); 47 Word *newword(char*); 48 int nextrune(Biobuf*, int); 49 int nextslot(void); 50 void nproc(void); 51 void nrep(void); 52 int outofdate(Node*, Arc*, int); 53 void parse(char*, int, int); 54 int pipecmd(char*, Envy*, int*); 55 void prusage(void); 56 void rcopy(char**, Resub*, int); 57 void readenv(void); 58 void *Realloc(void*, int); 59 void rinsert(Bufblock *, Rune); 60 char *rulecnt(void); 61 void run(Job*); 62 void setvar(char*, void*); 63 char *shname(char*); 64 void shprint(char*, Envy*, Bufblock*); 65 Word *stow(char*); 66 void subst(char*, char*, char*, int); 67 void symdel(char*, int); 68 void syminit(void); 69 Symtab *symlook(char*, int, void*); 70 void symstat(void); 71 void symtraverse(int, void(*)(Symtab*)); 72 void timeinit(char*); 73 ulong timeof(char*, int); 74 void touch(char*); 75 void update(int, Node*); 76 void usage(void); 77 Word *varsub(char**); 78 int waitfor(char*); 79 int waitup(int, int*); 80 Word *wdup(Word*); 81 int work(Node*, Node*, Arc*); 82 char *wtos(Word*, int); 83