Pristine Ack-5.5
[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  textbytes;
73 extern  cons_t  databytes;
74 extern  FOFFSET dataoff;
75 extern  FOFFSET textoff;
76 extern  FOFFSET lastoff;
77 extern  int     datamode;
78 extern  int     datablocks;
79 extern  relc_t  *lastheader;
80 extern  cons_t  holbase;
81 extern  cons_t  holsize;
82 extern  int     unresolved;
83 extern  int     sourcelines;
84 extern  int     intflags;
85 /*
86  * some flags
87  */
88 extern  int     archmode;
89 extern  int     procflag;
90 #ifdef  DUMP
91 extern  int     c_flag;
92 extern  char    opcnt1[];
93 extern  char    opcnt2[];
94 extern  char    opcnt3[];
95 #endif
96 extern  int     d_flag;
97 extern  int     r_flag;
98 #ifdef JOHAN
99 extern  int     jflag;
100 #endif
101 extern  int     wflag;
102 extern  int     Uflag;
103 extern  int     eof_seen;
104 extern  int     mod_sizes;
105 /*
106  * miscellaneous
107  */
108 extern  cons_t  consiz;
109 extern  char    *progname;
110 extern  char    *curfile;
111 extern  char    *eout;
112 extern  arch_t  archhdr;
113 extern  siz_t  sizes[];
114
115 extern  char    linesize[];
116
117 /*
118  * from asstb.c
119  */
120
121 extern  char    *opindex[] ;
122 extern  char    opchoice[] ;
123 extern  int     maxinsl ;
124
125 /*
126  * types of value returning routines
127  */
128 #ifndef CPM
129 extern  int     tmpfil();
130 extern  FILE    *frewind();
131 #endif
132 extern  int     xgetc();
133 extern  unsigned get8();
134 extern  int     get16();
135 extern  cons_t  get32();
136 extern  cons_t  xgeta();
137 extern  cons_t  parval();
138 extern  cons_t  valsize();
139 extern  cons_t  xgetarb();
140 extern  char    *findnop();
141 extern  char    *findfit();
142 extern  glob_t  *glolookup();
143 extern  glob_t  *glo2lookup();
144 extern  glob_t  *xglolookup();
145 extern  locl_t  *loclookup();
146 extern  proc_t  *prolookup();
147 extern  proc_t  *enterproc();
148 extern  proc_t  *searchproc();
149 extern  relc_t  *text_reloc();
150 extern  relc_t  *data_reloc();
151 extern  area_t  getarea();
152
153 /*
154  * all used library routines
155  */
156 extern  char    *malloc();
157 extern  int     open();
158 extern  int     creat();
159 extern  int     getpid();
160 extern  int     unlink();
161 extern  int     close();
162 extern  int     strcmp();
163 extern  char    *strcpy();
164
165 #define void    int