1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
void Abort(void);
int Chdir(char*);
void Close(int);
void Closedir(void*);
int Creat(char*);
int Dup(int, int);
int Dup1(int);
int Eintr(void);
int Executable(char*);
void Exec(char**);
void Exit(void);
char* Errstr(void);
char* Freeword(word*);
int Fork(void);
char* Getstatus(void);
int Isatty(int);
word* Newword(char*,word*);
void Noerror(void);
int Open(char*, int);
void* Opendir(char*);
word* Poplist(void);
char* Popword(void);
word* Pushword(char*);
long Read(int, void*, long);
char* Readdir(void*, int);
long Seek(int, long, long);
void Setstatus(char*);
void Trapinit(void);
void Updenv(void);
void Vinit(void);
int Waitfor(int);
long Write(int, void*, long);
void addwaitpid(int);
void clearwaitpids(void);
void codefree(code*);
int compile(tree*);
int count(word*);
char* deglob(char*);
void delwaitpid(int);
void dotrap(void);
void freenodes(void);
void freewords(word*);
void globword(word*);
int havewaitpid(int);
int idchr(int);
void inttoascii(char*, int);
void kinit(void);
int mapfd(int);
int match(char*, char*, int);
char* makepath(char*, char*);
void panic(char*, int);
void pfln(io*, char*, int);
void poplist(void);
void popword(void);
void pprompt(void);
void Prompt(char*);
void psubst(io*, unsigned char*);
void pushlist(void);
void pushredir(int, int, int);
word* pushword(char*);
void readhere(io*);
void heredoc(tree*);
void setstatus(char*);
void skipnl(void);
void start(code*, int, var*, redir*);
int truestatus(void);
void usage(char*);
int wordchr(int);
void yyerror(char*);
int yylex(void);
int yyparse(void);
|