1 564ca709 2004-04-19 devnull /* acid.h */
2 5a2237bb 2005-02-11 devnull #undef OAPPEND
7 62faed57 2005-11-29 devnull Strsize = 65536,
8 564ca709 2004-04-19 devnull Hashsize = 128,
9 564ca709 2004-04-19 devnull Maxarg = 512,
10 564ca709 2004-04-19 devnull NFD = 100,
11 564ca709 2004-04-19 devnull Maxproc = 50,
12 564ca709 2004-04-19 devnull Maxval = 10,
13 cbeb0b26 2006-04-01 devnull Mempergc = 1024*1024
16 564ca709 2004-04-19 devnull /* #pragma varargck type "L" void */
18 564ca709 2004-04-19 devnull typedef struct Node Node;
19 564ca709 2004-04-19 devnull typedef struct String String;
20 564ca709 2004-04-19 devnull typedef struct Lsym Lsym;
21 564ca709 2004-04-19 devnull typedef struct List List;
22 564ca709 2004-04-19 devnull typedef struct Store Store;
23 564ca709 2004-04-19 devnull typedef struct Gc Gc;
24 564ca709 2004-04-19 devnull typedef struct Strc Strc;
25 564ca709 2004-04-19 devnull typedef struct Rplace Rplace;
26 564ca709 2004-04-19 devnull typedef struct Ptab Ptab;
27 564ca709 2004-04-19 devnull typedef struct Value Value;
28 564ca709 2004-04-19 devnull typedef struct Type Type;
29 564ca709 2004-04-19 devnull typedef struct Frtype Frtype;
31 564ca709 2004-04-19 devnull Extern int kernel;
32 564ca709 2004-04-19 devnull Extern int nlcount;
33 564ca709 2004-04-19 devnull Extern int remote;
34 564ca709 2004-04-19 devnull Extern int text;
35 564ca709 2004-04-19 devnull Extern int cor;
36 564ca709 2004-04-19 devnull Extern int silent;
37 564ca709 2004-04-19 devnull Extern Fhdr *fhdr;
38 564ca709 2004-04-19 devnull Extern Fhdr *chdr;
39 564ca709 2004-04-19 devnull Extern int line;
40 564ca709 2004-04-19 devnull Extern Biobuf* bout;
41 564ca709 2004-04-19 devnull Extern Biobuf* io[32];
42 564ca709 2004-04-19 devnull Extern int iop;
43 564ca709 2004-04-19 devnull Extern int pid;
44 564ca709 2004-04-19 devnull Extern char symbol[Strsize];
45 564ca709 2004-04-19 devnull Extern int interactive;
46 564ca709 2004-04-19 devnull Extern Node* code;
47 564ca709 2004-04-19 devnull Extern int na;
48 564ca709 2004-04-19 devnull Extern int wtflag;
49 4f2ac1b7 2005-01-23 devnull Extern Regs* acidregs;
50 564ca709 2004-04-19 devnull Extern Regs* correg;
51 564ca709 2004-04-19 devnull Extern Map* cormap;
52 564ca709 2004-04-19 devnull Extern Map* symmap;
53 564ca709 2004-04-19 devnull Extern Lsym* hash[Hashsize];
54 564ca709 2004-04-19 devnull Extern long dogc;
55 564ca709 2004-04-19 devnull Extern Rplace* ret;
56 564ca709 2004-04-19 devnull Extern char* symfil;
57 564ca709 2004-04-19 devnull Extern char* corfil;
58 564ca709 2004-04-19 devnull Extern int gotint;
59 564ca709 2004-04-19 devnull Extern long flen;
60 564ca709 2004-04-19 devnull Extern Gc* gcl;
61 564ca709 2004-04-19 devnull Extern int stacked;
62 13e66070 2004-04-20 devnull #define err aciderrjmp
63 564ca709 2004-04-19 devnull Extern jmp_buf err;
64 564ca709 2004-04-19 devnull Extern Node* prnt;
65 564ca709 2004-04-19 devnull Extern Node* fomt;
66 564ca709 2004-04-19 devnull Extern List* tracelist;
67 564ca709 2004-04-19 devnull Extern int initialising;
68 564ca709 2004-04-19 devnull Extern int quiet;
69 564ca709 2004-04-19 devnull Extern Fhdr* corhdr;
70 564ca709 2004-04-19 devnull Extern Fhdr* symhdr;
72 564ca709 2004-04-19 devnull extern void (*expop[])(Node*, Node*);
73 564ca709 2004-04-19 devnull #define expr(n, r) (r)->store.comt=0; (*expop[(unsigned char)((n)->op)])(n, r);
87 564ca709 2004-04-19 devnull struct Type
89 564ca709 2004-04-19 devnull Type* next;
90 564ca709 2004-04-19 devnull int offset;
91 564ca709 2004-04-19 devnull char fmt;
92 564ca709 2004-04-19 devnull char depth;
93 564ca709 2004-04-19 devnull Lsym* type;
94 564ca709 2004-04-19 devnull Lsym* tag;
95 564ca709 2004-04-19 devnull Lsym* base;
98 564ca709 2004-04-19 devnull struct Frtype
100 564ca709 2004-04-19 devnull Lsym* var;
101 564ca709 2004-04-19 devnull Type* type;
102 564ca709 2004-04-19 devnull Frtype* next;
105 564ca709 2004-04-19 devnull struct Ptab
107 564ca709 2004-04-19 devnull int pid;
108 564ca709 2004-04-19 devnull /* int ctl; */
110 564ca709 2004-04-19 devnull Extern Ptab ptab[Maxproc];
112 564ca709 2004-04-19 devnull struct Rplace
114 564ca709 2004-04-19 devnull jmp_buf rlab;
115 564ca709 2004-04-19 devnull Node* stak;
116 564ca709 2004-04-19 devnull Node* val;
117 564ca709 2004-04-19 devnull Lsym* local;
118 564ca709 2004-04-19 devnull Lsym** tail;
121 564ca709 2004-04-19 devnull struct Gc
123 564ca709 2004-04-19 devnull char gcmark;
124 564ca709 2004-04-19 devnull Gc* gclink;
127 564ca709 2004-04-19 devnull struct Store
129 564ca709 2004-04-19 devnull char fmt;
130 564ca709 2004-04-19 devnull Type* comt;
132 564ca709 2004-04-19 devnull vlong ival;
133 564ca709 2004-04-19 devnull double fval;
134 564ca709 2004-04-19 devnull String* string;
135 564ca709 2004-04-19 devnull List* l;
136 564ca709 2004-04-19 devnull Node* cc;
137 281c90a5 2005-02-11 devnull struct {
138 281c90a5 2005-02-11 devnull char *name;
139 281c90a5 2005-02-11 devnull uint thread;
141 4f2ac1b7 2005-01-23 devnull Node* con;
145 564ca709 2004-04-19 devnull struct List
148 564ca709 2004-04-19 devnull List* next;
149 564ca709 2004-04-19 devnull char type;
150 564ca709 2004-04-19 devnull Store store;
153 564ca709 2004-04-19 devnull struct Value
155 564ca709 2004-04-19 devnull char set;
156 564ca709 2004-04-19 devnull char type;
157 564ca709 2004-04-19 devnull Store store;
158 564ca709 2004-04-19 devnull Value* pop;
159 564ca709 2004-04-19 devnull Lsym* scope;
160 564ca709 2004-04-19 devnull Rplace* ret;
163 564ca709 2004-04-19 devnull struct Lsym
165 564ca709 2004-04-19 devnull char* name;
166 564ca709 2004-04-19 devnull int lexval;
167 564ca709 2004-04-19 devnull Lsym* hash;
168 564ca709 2004-04-19 devnull Value* v;
169 564ca709 2004-04-19 devnull Type* lt;
170 564ca709 2004-04-19 devnull Node* proc;
171 564ca709 2004-04-19 devnull Frtype* local;
172 564ca709 2004-04-19 devnull void (*builtin)(Node*, Node*);
175 564ca709 2004-04-19 devnull struct Node
178 564ca709 2004-04-19 devnull char op;
179 564ca709 2004-04-19 devnull char type;
180 564ca709 2004-04-19 devnull Node* left;
181 564ca709 2004-04-19 devnull Node* right;
182 564ca709 2004-04-19 devnull Lsym* sym;
183 564ca709 2004-04-19 devnull int builtin;
184 564ca709 2004-04-19 devnull Store store;
186 564ca709 2004-04-19 devnull #define ZN (Node*)0
188 564ca709 2004-04-19 devnull struct String
191 564ca709 2004-04-19 devnull char *string;
192 564ca709 2004-04-19 devnull int len;
195 4f2ac1b7 2005-01-23 devnull int acidregsrw(Regs*, char*, ulong*, int);
196 564ca709 2004-04-19 devnull List* addlist(List*, List*);
197 564ca709 2004-04-19 devnull void addvarsym(Fhdr*);
198 564ca709 2004-04-19 devnull List* al(int);
199 564ca709 2004-04-19 devnull Node* an(int, Node*, Node*);
200 564ca709 2004-04-19 devnull void append(Node*, Node*, Node*);
201 564ca709 2004-04-19 devnull int bool(Node*);
202 564ca709 2004-04-19 devnull void build(Node*);
203 564ca709 2004-04-19 devnull void call(char*, Node*, Node*, Node*, Node*);
204 564ca709 2004-04-19 devnull void catcher(void*, char*);
205 564ca709 2004-04-19 devnull void checkqid(int, int);
206 564ca709 2004-04-19 devnull void cmd(void);
207 564ca709 2004-04-19 devnull Node* con(int);
208 564ca709 2004-04-19 devnull List* construct(Node*);
209 564ca709 2004-04-19 devnull void ctrace(int);
210 564ca709 2004-04-19 devnull void decl(Node*);
211 564ca709 2004-04-19 devnull void defcomplex(Node*, Node*);
212 564ca709 2004-04-19 devnull void deinstall(int);
213 564ca709 2004-04-19 devnull void delete(List*, int n, Node*);
214 564ca709 2004-04-19 devnull void delvarsym(char*);
215 564ca709 2004-04-19 devnull void dostop(int);
216 564ca709 2004-04-19 devnull Lsym* enter(char*, int);
217 564ca709 2004-04-19 devnull void error(char*, ...);
218 564ca709 2004-04-19 devnull void execute(Node*);
219 564ca709 2004-04-19 devnull void fatal(char*, ...);
220 564ca709 2004-04-19 devnull ulong findframe(ulong);
221 564ca709 2004-04-19 devnull void flatten(Node**, Node*);
222 564ca709 2004-04-19 devnull void gc(void);
223 564ca709 2004-04-19 devnull char* getstatus(int);
224 564ca709 2004-04-19 devnull void* gmalloc(long);
225 564ca709 2004-04-19 devnull void indir(Map*, ulong, char, Node*);
226 4f2ac1b7 2005-01-23 devnull void indirreg(Regs*, char*, char, Node*);
227 e637c944 2004-04-20 devnull void initexpr(void);
228 e637c944 2004-04-20 devnull void initprint(void);
229 564ca709 2004-04-19 devnull void installbuiltin(void);
230 564ca709 2004-04-19 devnull void kinit(void);
231 564ca709 2004-04-19 devnull int Zfmt(Fmt*);
232 564ca709 2004-04-19 devnull int listcmp(List*, List*);
233 564ca709 2004-04-19 devnull int listlen(List*);
234 564ca709 2004-04-19 devnull List* listvar(char*, long);
235 564ca709 2004-04-19 devnull void loadmodule(char*);
236 564ca709 2004-04-19 devnull void loadvars(void);
237 564ca709 2004-04-19 devnull Lsym* look(char*);
238 564ca709 2004-04-19 devnull void ltag(char*);
239 564ca709 2004-04-19 devnull void marklist(List*);
240 564ca709 2004-04-19 devnull Lsym* mkvar(char*);
241 564ca709 2004-04-19 devnull void msg(int, char*);
242 564ca709 2004-04-19 devnull void notes(int);
243 564ca709 2004-04-19 devnull int nproc(char**);
244 564ca709 2004-04-19 devnull void nthelem(List*, int, Node*);
245 564ca709 2004-04-19 devnull int numsym(char);
246 564ca709 2004-04-19 devnull void odot(Node*, Node*);
247 564ca709 2004-04-19 devnull void pcode(Node*, int);
248 564ca709 2004-04-19 devnull void pexpr(Node*);
249 564ca709 2004-04-19 devnull int popio(void);
250 564ca709 2004-04-19 devnull void pstr(String*);
251 564ca709 2004-04-19 devnull void pushfd(int);
252 564ca709 2004-04-19 devnull void pushfile(char*);
253 564ca709 2004-04-19 devnull void pushstr(Node*);
254 564ca709 2004-04-19 devnull ulong raddr(char*);
255 564ca709 2004-04-19 devnull void readtext(char*);
256 564ca709 2004-04-19 devnull void readcore(void);
257 564ca709 2004-04-19 devnull void restartio(void);
258 564ca709 2004-04-19 devnull String *runenode(Rune*);
259 564ca709 2004-04-19 devnull int scmp(String*, String*);
260 564ca709 2004-04-19 devnull void sproc(int);
261 564ca709 2004-04-19 devnull String* stradd(String*, String*);
262 564ca709 2004-04-19 devnull String* strnode(char*);
263 564ca709 2004-04-19 devnull String* strnodlen(char*, int);
264 564ca709 2004-04-19 devnull #define system acidsystem
265 564ca709 2004-04-19 devnull char* system(void);
266 564ca709 2004-04-19 devnull int trlist(Map*, Regs*, ulong, ulong, Symbol*, int);
267 564ca709 2004-04-19 devnull void unwind(void);
268 564ca709 2004-04-19 devnull void userinit(void);
269 564ca709 2004-04-19 devnull void varreg(void);
270 564ca709 2004-04-19 devnull void varsym(void);
271 564ca709 2004-04-19 devnull void whatis(Lsym*);
272 4f2ac1b7 2005-01-23 devnull void windir(Map*, Node, Node*, Node*);
273 4f2ac1b7 2005-01-23 devnull void windirreg(Regs*, char*, Node*, Node*);
274 564ca709 2004-04-19 devnull void yyerror(char*, ...);
275 564ca709 2004-04-19 devnull int yylex(void);
276 564ca709 2004-04-19 devnull int yyparse(void);
311 564ca709 2004-04-19 devnull OCTRUCT,
316 564ca709 2004-04-19 devnull OAPPEND,
323 564ca709 2004-04-19 devnull OCOMPLEX,
324 564ca709 2004-04-19 devnull ODELETE,