Add em22 compile, change EM machine executable format to put proc table in text
[Ack-5.5.git] / util / ass / assex.h
1 /*
2  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
3  * See the copyright notice in the ACK home directory, in the file "Copyright".
4  */
5 /*
6  * global data
7  */
8
9 #define RCS_EX  "$Id: assex.h,v 2.5 1994/06/24 10:15:36 ceriel Exp $"
10
11 extern  int     wordsize;
12 extern  int     ptrsize;
13 extern  cons_t  maxadr;
14 extern  cons_t  maxint;
15 extern  cons_t  maxdint;
16 extern  cons_t  maxunsig;
17 extern  cons_t  maxdunsig;
18
19 /*
20  * tables loaded from em_libraries
21  */
22 extern  char    em_flag[];
23
24 /*
25         The structure containing used for procedure environment stacking
26  */
27 extern  stat_t  pstate ;
28
29 /*
30  * pointers to not yet allocated storage
31  */
32 extern  glob_t  *mglobs;
33 extern  glob_t  *xglobs;
34 extern  proc_t  *mprocs;
35 extern  proc_t  *xprocs;
36 extern  ptab_t  *proctab;
37
38 extern  FILE    *ifile;
39 extern  FILE    *tfile;
40 extern  FILE    *dfile;
41 extern  FILE    *rtfile;
42 extern  FILE    *rdfile;
43 extern  char    string[];
44
45 /*
46  * some other pointers
47  */
48 extern  glob_t  *lastglosym;
49 extern  glob_t  *curglosym;
50 extern  siz_t  *oursize;
51 extern  relc_t  *f_data;
52 extern  relc_t  *l_data;
53 extern  relc_t  *f_text;
54 extern  relc_t  *l_text;
55
56 /*
57  * some indices
58  */
59 extern  int     strlngth;
60 extern  FOFFSET inpoff;
61 extern  FOFFSET libeof;
62
63 /*
64  * some other counters
65  */
66 extern  int     procnum;
67 extern  cons_t  prog_size;
68 extern  int     max_bytes;
69 extern  int     pass;
70 extern  int     line_num;
71 extern  int     nerrors;
72 extern  cons_t  procbytes;
73 extern  cons_t  textbytes;
74 extern  cons_t  databytes;
75 extern  FOFFSET dataoff;
76 extern  FOFFSET textoff;
77 extern  FOFFSET lastoff;
78 extern  int     datamode;
79 extern  int     datablocks;
80 extern  relc_t  *lastheader;
81 extern  cons_t  holbase;
82 extern  cons_t  holsize;
83 extern  int     unresolved;
84 extern  int     sourcelines;
85 extern  int     intflags;
86 /*
87  * some flags
88  */
89 extern  int     archmode;
90 extern  int     procflag;
91 #ifdef  DUMP
92 extern  int     c_flag;
93 extern  char    opcnt1[];
94 extern  char    opcnt2[];
95 extern  char    opcnt3[];
96 #endif
97 extern  int     d_flag;
98 extern  int     r_flag;
99 #ifdef JOHAN
100 extern  int     jflag;
101 #endif
102 extern  int     wflag;
103 extern  int     Uflag;
104 extern  int     eof_seen;
105 extern  int     mod_sizes;
106 /*
107  * miscellaneous
108  */
109 extern  cons_t  consiz;
110 extern  char    *progname;
111 extern  char    *curfile;
112 extern  char    *eout;
113 extern  arch_t  archhdr;
114 extern  siz_t  sizes[];
115
116 extern  char    linesize[];
117
118 /*
119  * from asstb.c
120  */
121
122 extern  char    *opindex[] ;
123 extern  char    opchoice[] ;
124 extern  int     maxinsl ;
125
126 /*
127  * types of value returning routines
128  */
129 #ifndef CPM
130 extern  int     tmpfil();
131 extern  FILE    *frewind();
132 #endif
133 extern  int     xgetc();
134 extern  unsigned get8();
135 extern  int     get16();
136 extern  cons_t  get32();
137 extern  cons_t  xgeta();
138 extern  cons_t  parval();
139 extern  cons_t  valsize();
140 extern  cons_t  xgetarb();
141 extern  char    *findnop();
142 extern  char    *findfit();
143 extern  glob_t  *glolookup();
144 extern  glob_t  *glo2lookup();
145 extern  glob_t  *xglolookup();
146 extern  locl_t  *loclookup();
147 extern  proc_t  *prolookup();
148 extern  proc_t  *enterproc();
149 extern  proc_t  *searchproc();
150 extern  relc_t  *text_reloc();
151 extern  relc_t  *data_reloc();
152 extern  area_t  getarea();
153
154 /*
155  * all used library routines
156  */
157 extern  char    *malloc();
158 extern  int     open();
159 extern  int     creat();
160 extern  int     getpid();
161 extern  int     unlink();
162 extern  int     close();
163 extern  int     strcmp();
164 extern  char    *strcpy();
165
166 #define void    int