1 564ca709 2004-04-19 devnull /* acid.h */
5 564ca709 2004-04-19 devnull Strsize = 4096,
6 564ca709 2004-04-19 devnull Hashsize = 128,
7 564ca709 2004-04-19 devnull Maxarg = 512,
8 564ca709 2004-04-19 devnull NFD = 100,
9 564ca709 2004-04-19 devnull Maxproc = 50,
10 564ca709 2004-04-19 devnull Maxval = 10,
11 564ca709 2004-04-19 devnull Mempergc = 1024*1024,
14 564ca709 2004-04-19 devnull /* #pragma varargck type "L" void */
16 564ca709 2004-04-19 devnull typedef struct Node Node;
17 564ca709 2004-04-19 devnull typedef struct String String;
18 564ca709 2004-04-19 devnull typedef struct Lsym Lsym;
19 564ca709 2004-04-19 devnull typedef struct List List;
20 564ca709 2004-04-19 devnull typedef struct Store Store;
21 564ca709 2004-04-19 devnull typedef struct Gc Gc;
22 564ca709 2004-04-19 devnull typedef struct Strc Strc;
23 564ca709 2004-04-19 devnull typedef struct Rplace Rplace;
24 564ca709 2004-04-19 devnull typedef struct Ptab Ptab;
25 564ca709 2004-04-19 devnull typedef struct Value Value;
26 564ca709 2004-04-19 devnull typedef struct Type Type;
27 564ca709 2004-04-19 devnull typedef struct Frtype Frtype;
29 564ca709 2004-04-19 devnull Extern int kernel;
30 564ca709 2004-04-19 devnull Extern int nlcount;
31 564ca709 2004-04-19 devnull Extern int remote;
32 564ca709 2004-04-19 devnull Extern int text;
33 564ca709 2004-04-19 devnull Extern int cor;
34 564ca709 2004-04-19 devnull Extern int silent;
35 564ca709 2004-04-19 devnull Extern Fhdr *fhdr;
36 564ca709 2004-04-19 devnull Extern Fhdr *chdr;
37 564ca709 2004-04-19 devnull Extern int line;
38 564ca709 2004-04-19 devnull Extern Biobuf* bout;
39 564ca709 2004-04-19 devnull Extern Biobuf* io[32];
40 564ca709 2004-04-19 devnull Extern int iop;
41 564ca709 2004-04-19 devnull Extern int pid;
42 564ca709 2004-04-19 devnull Extern char symbol[Strsize];
43 564ca709 2004-04-19 devnull Extern int interactive;
44 564ca709 2004-04-19 devnull Extern Node* code;
45 564ca709 2004-04-19 devnull Extern int na;
46 564ca709 2004-04-19 devnull Extern int wtflag;
47 564ca709 2004-04-19 devnull Extern Regs* correg;
48 564ca709 2004-04-19 devnull Extern Map* cormap;
49 564ca709 2004-04-19 devnull Extern Map* symmap;
50 564ca709 2004-04-19 devnull Extern Lsym* hash[Hashsize];
51 564ca709 2004-04-19 devnull Extern long dogc;
52 564ca709 2004-04-19 devnull Extern Rplace* ret;
53 564ca709 2004-04-19 devnull Extern char* symfil;
54 564ca709 2004-04-19 devnull Extern char* corfil;
55 564ca709 2004-04-19 devnull Extern int gotint;
56 564ca709 2004-04-19 devnull Extern long flen;
57 564ca709 2004-04-19 devnull Extern Gc* gcl;
58 564ca709 2004-04-19 devnull Extern int stacked;
59 13e66070 2004-04-20 devnull #define err aciderrjmp
60 564ca709 2004-04-19 devnull Extern jmp_buf err;
61 564ca709 2004-04-19 devnull Extern Node* prnt;
62 564ca709 2004-04-19 devnull Extern Node* fomt;
63 564ca709 2004-04-19 devnull Extern List* tracelist;
64 564ca709 2004-04-19 devnull Extern int initialising;
65 564ca709 2004-04-19 devnull Extern int quiet;
66 564ca709 2004-04-19 devnull Extern Fhdr* corhdr;
67 564ca709 2004-04-19 devnull Extern Fhdr* symhdr;
69 564ca709 2004-04-19 devnull extern void (*expop[])(Node*, Node*);
70 564ca709 2004-04-19 devnull #define expr(n, r) (r)->store.comt=0; (*expop[(unsigned char)((n)->op)])(n, r);
82 564ca709 2004-04-19 devnull struct Type
84 564ca709 2004-04-19 devnull Type* next;
85 564ca709 2004-04-19 devnull int offset;
86 564ca709 2004-04-19 devnull char fmt;
87 564ca709 2004-04-19 devnull char depth;
88 564ca709 2004-04-19 devnull Lsym* type;
89 564ca709 2004-04-19 devnull Lsym* tag;
90 564ca709 2004-04-19 devnull Lsym* base;
93 564ca709 2004-04-19 devnull struct Frtype
95 564ca709 2004-04-19 devnull Lsym* var;
96 564ca709 2004-04-19 devnull Type* type;
97 564ca709 2004-04-19 devnull Frtype* next;
100 564ca709 2004-04-19 devnull struct Ptab
102 564ca709 2004-04-19 devnull int pid;
103 564ca709 2004-04-19 devnull /* int ctl; */
105 564ca709 2004-04-19 devnull Extern Ptab ptab[Maxproc];
107 564ca709 2004-04-19 devnull struct Rplace
109 564ca709 2004-04-19 devnull jmp_buf rlab;
110 564ca709 2004-04-19 devnull Node* stak;
111 564ca709 2004-04-19 devnull Node* val;
112 564ca709 2004-04-19 devnull Lsym* local;
113 564ca709 2004-04-19 devnull Lsym** tail;
116 564ca709 2004-04-19 devnull struct Gc
118 564ca709 2004-04-19 devnull char gcmark;
119 564ca709 2004-04-19 devnull Gc* gclink;
122 564ca709 2004-04-19 devnull struct Store
124 564ca709 2004-04-19 devnull char fmt;
125 564ca709 2004-04-19 devnull Type* comt;
127 564ca709 2004-04-19 devnull vlong ival;
128 564ca709 2004-04-19 devnull double fval;
129 564ca709 2004-04-19 devnull String* string;
130 564ca709 2004-04-19 devnull List* l;
131 564ca709 2004-04-19 devnull Node* cc;
135 564ca709 2004-04-19 devnull struct List
138 564ca709 2004-04-19 devnull List* next;
139 564ca709 2004-04-19 devnull char type;
140 564ca709 2004-04-19 devnull Store store;
143 564ca709 2004-04-19 devnull struct Value
145 564ca709 2004-04-19 devnull char set;
146 564ca709 2004-04-19 devnull char type;
147 564ca709 2004-04-19 devnull Store store;
148 564ca709 2004-04-19 devnull Value* pop;
149 564ca709 2004-04-19 devnull Lsym* scope;
150 564ca709 2004-04-19 devnull Rplace* ret;
153 564ca709 2004-04-19 devnull struct Lsym
155 564ca709 2004-04-19 devnull char* name;
156 564ca709 2004-04-19 devnull int lexval;
157 564ca709 2004-04-19 devnull Lsym* hash;
158 564ca709 2004-04-19 devnull Value* v;
159 564ca709 2004-04-19 devnull Type* lt;
160 564ca709 2004-04-19 devnull Node* proc;
161 564ca709 2004-04-19 devnull Frtype* local;
162 564ca709 2004-04-19 devnull void (*builtin)(Node*, Node*);
165 564ca709 2004-04-19 devnull struct Node
168 564ca709 2004-04-19 devnull char op;
169 564ca709 2004-04-19 devnull char type;
170 564ca709 2004-04-19 devnull Node* left;
171 564ca709 2004-04-19 devnull Node* right;
172 564ca709 2004-04-19 devnull Lsym* sym;
173 564ca709 2004-04-19 devnull int builtin;
174 564ca709 2004-04-19 devnull Store store;
176 564ca709 2004-04-19 devnull #define ZN (Node*)0
178 564ca709 2004-04-19 devnull struct String
181 564ca709 2004-04-19 devnull char *string;
182 564ca709 2004-04-19 devnull int len;
185 564ca709 2004-04-19 devnull List* addlist(List*, List*);
186 564ca709 2004-04-19 devnull void addvarsym(Fhdr*);
187 564ca709 2004-04-19 devnull List* al(int);
188 564ca709 2004-04-19 devnull Node* an(int, Node*, Node*);
189 564ca709 2004-04-19 devnull void append(Node*, Node*, Node*);
190 564ca709 2004-04-19 devnull int bool(Node*);
191 564ca709 2004-04-19 devnull void build(Node*);
192 564ca709 2004-04-19 devnull void call(char*, Node*, Node*, Node*, Node*);
193 564ca709 2004-04-19 devnull void catcher(void*, char*);
194 564ca709 2004-04-19 devnull void checkqid(int, int);
195 564ca709 2004-04-19 devnull void cmd(void);
196 564ca709 2004-04-19 devnull Node* con(int);
197 564ca709 2004-04-19 devnull List* construct(Node*);
198 564ca709 2004-04-19 devnull void ctrace(int);
199 564ca709 2004-04-19 devnull void decl(Node*);
200 564ca709 2004-04-19 devnull void defcomplex(Node*, Node*);
201 564ca709 2004-04-19 devnull void deinstall(int);
202 564ca709 2004-04-19 devnull void delete(List*, int n, Node*);
203 564ca709 2004-04-19 devnull void delvarsym(char*);
204 564ca709 2004-04-19 devnull void dostop(int);
205 564ca709 2004-04-19 devnull Lsym* enter(char*, int);
206 564ca709 2004-04-19 devnull void error(char*, ...);
207 564ca709 2004-04-19 devnull void execute(Node*);
208 564ca709 2004-04-19 devnull void fatal(char*, ...);
209 564ca709 2004-04-19 devnull ulong findframe(ulong);
210 564ca709 2004-04-19 devnull void flatten(Node**, Node*);
211 564ca709 2004-04-19 devnull void gc(void);
212 564ca709 2004-04-19 devnull char* getstatus(int);
213 564ca709 2004-04-19 devnull void* gmalloc(long);
214 564ca709 2004-04-19 devnull void indir(Map*, ulong, char, Node*);
215 e637c944 2004-04-20 devnull void initexpr(void);
216 e637c944 2004-04-20 devnull void initprint(void);
217 564ca709 2004-04-19 devnull void installbuiltin(void);
218 564ca709 2004-04-19 devnull void kinit(void);
219 564ca709 2004-04-19 devnull int Zfmt(Fmt*);
220 564ca709 2004-04-19 devnull int listcmp(List*, List*);
221 564ca709 2004-04-19 devnull int listlen(List*);
222 564ca709 2004-04-19 devnull List* listvar(char*, long);
223 564ca709 2004-04-19 devnull void loadmodule(char*);
224 564ca709 2004-04-19 devnull void loadvars(void);
225 564ca709 2004-04-19 devnull Lsym* look(char*);
226 564ca709 2004-04-19 devnull void ltag(char*);
227 564ca709 2004-04-19 devnull void marklist(List*);
228 564ca709 2004-04-19 devnull Lsym* mkvar(char*);
229 564ca709 2004-04-19 devnull void msg(int, char*);
230 564ca709 2004-04-19 devnull void notes(int);
231 564ca709 2004-04-19 devnull int nproc(char**);
232 564ca709 2004-04-19 devnull void nthelem(List*, int, Node*);
233 564ca709 2004-04-19 devnull int numsym(char);
234 564ca709 2004-04-19 devnull void odot(Node*, Node*);
235 564ca709 2004-04-19 devnull void pcode(Node*, int);
236 564ca709 2004-04-19 devnull void pexpr(Node*);
237 564ca709 2004-04-19 devnull int popio(void);
238 564ca709 2004-04-19 devnull void pstr(String*);
239 564ca709 2004-04-19 devnull void pushfd(int);
240 564ca709 2004-04-19 devnull void pushfile(char*);
241 564ca709 2004-04-19 devnull void pushstr(Node*);
242 564ca709 2004-04-19 devnull ulong raddr(char*);
243 564ca709 2004-04-19 devnull void readtext(char*);
244 564ca709 2004-04-19 devnull void readcore(void);
245 564ca709 2004-04-19 devnull void restartio(void);
246 564ca709 2004-04-19 devnull String *runenode(Rune*);
247 564ca709 2004-04-19 devnull int scmp(String*, String*);
248 564ca709 2004-04-19 devnull void sproc(int);
249 564ca709 2004-04-19 devnull String* stradd(String*, String*);
250 564ca709 2004-04-19 devnull String* strnode(char*);
251 564ca709 2004-04-19 devnull String* strnodlen(char*, int);
252 564ca709 2004-04-19 devnull #define system acidsystem
253 564ca709 2004-04-19 devnull char* system(void);
254 564ca709 2004-04-19 devnull int trlist(Map*, Regs*, ulong, ulong, Symbol*, int);
255 564ca709 2004-04-19 devnull void unwind(void);
256 564ca709 2004-04-19 devnull void userinit(void);
257 564ca709 2004-04-19 devnull void varreg(void);
258 564ca709 2004-04-19 devnull void varsym(void);
259 564ca709 2004-04-19 devnull void whatis(Lsym*);
260 564ca709 2004-04-19 devnull void windir(Map*, Node*, Node*, Node*);
261 564ca709 2004-04-19 devnull void yyerror(char*, ...);
262 564ca709 2004-04-19 devnull int yylex(void);
263 564ca709 2004-04-19 devnull int yyparse(void);
298 564ca709 2004-04-19 devnull OCTRUCT,
303 564ca709 2004-04-19 devnull OAPPEND,
310 564ca709 2004-04-19 devnull OCOMPLEX,
311 564ca709 2004-04-19 devnull ODELETE,