xref: /illumos-gate/usr/src/contrib/ast/src/cmd/INIT/proto.c (revision b30d1939)
1*b30d1939SAndy Fiddaman /***********************************************************************
2*b30d1939SAndy Fiddaman *                                                                      *
3*b30d1939SAndy Fiddaman *               This software is part of the ast package               *
4*b30d1939SAndy Fiddaman *          Copyright (c) 1990-2012 AT&T Intellectual Property          *
5*b30d1939SAndy Fiddaman *                      and is licensed under the                       *
6*b30d1939SAndy Fiddaman *                 Eclipse Public License, Version 1.0                  *
7*b30d1939SAndy Fiddaman *                    by AT&T Intellectual Property                     *
8*b30d1939SAndy Fiddaman *                                                                      *
9*b30d1939SAndy Fiddaman *                A copy of the License is available at                 *
10*b30d1939SAndy Fiddaman *          http://www.eclipse.org/org/documents/epl-v10.html           *
11*b30d1939SAndy Fiddaman *         (with md5 checksum b35adb5213ca9657e911e9befb180842)         *
12*b30d1939SAndy Fiddaman *                                                                      *
13*b30d1939SAndy Fiddaman *              Information and Software Systems Research               *
14*b30d1939SAndy Fiddaman *                            AT&T Research                             *
15*b30d1939SAndy Fiddaman *                           Florham Park NJ                            *
16*b30d1939SAndy Fiddaman *                                                                      *
17*b30d1939SAndy Fiddaman *                 Glenn Fowler <gsf@research.att.com>                  *
18*b30d1939SAndy Fiddaman *                                                                      *
19*b30d1939SAndy Fiddaman ***********************************************************************/
20*b30d1939SAndy Fiddaman 
21*b30d1939SAndy Fiddaman /* : : generated by proto : : */
22*b30d1939SAndy Fiddaman 
23*b30d1939SAndy Fiddaman #if !defined(__PROTO__)
24*b30d1939SAndy Fiddaman #  if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
25*b30d1939SAndy Fiddaman #    if defined(__cplusplus)
26*b30d1939SAndy Fiddaman #      define __LINKAGE__	"C"
27*b30d1939SAndy Fiddaman #    else
28*b30d1939SAndy Fiddaman #      define __LINKAGE__
29*b30d1939SAndy Fiddaman #    endif
30*b30d1939SAndy Fiddaman #    define __STDARG__
31*b30d1939SAndy Fiddaman #    define __PROTO__(x)	x
32*b30d1939SAndy Fiddaman #    define __OTORP__(x)
33*b30d1939SAndy Fiddaman #    define __PARAM__(n,o)	n
34*b30d1939SAndy Fiddaman #    if !defined(__STDC__) && !defined(__cplusplus)
35*b30d1939SAndy Fiddaman #      if !defined(c_plusplus)
36*b30d1939SAndy Fiddaman #      	define const
37*b30d1939SAndy Fiddaman #      endif
38*b30d1939SAndy Fiddaman #      define signed
39*b30d1939SAndy Fiddaman #      define void		int
40*b30d1939SAndy Fiddaman #      define volatile
41*b30d1939SAndy Fiddaman #      define __V_		char
42*b30d1939SAndy Fiddaman #    else
43*b30d1939SAndy Fiddaman #      define __V_		void
44*b30d1939SAndy Fiddaman #    endif
45*b30d1939SAndy Fiddaman #  else
46*b30d1939SAndy Fiddaman #    define __PROTO__(x)	()
47*b30d1939SAndy Fiddaman #    define __OTORP__(x)	x
48*b30d1939SAndy Fiddaman #    define __PARAM__(n,o)	o
49*b30d1939SAndy Fiddaman #    define __LINKAGE__
50*b30d1939SAndy Fiddaman #    define __V_		char
51*b30d1939SAndy Fiddaman #    define const
52*b30d1939SAndy Fiddaman #    define signed
53*b30d1939SAndy Fiddaman #    define void		int
54*b30d1939SAndy Fiddaman #    define volatile
55*b30d1939SAndy Fiddaman #  endif
56*b30d1939SAndy Fiddaman #  define __MANGLE__	__LINKAGE__
57*b30d1939SAndy Fiddaman #  if defined(__cplusplus) || defined(c_plusplus)
58*b30d1939SAndy Fiddaman #    define __VARARG__	...
59*b30d1939SAndy Fiddaman #  else
60*b30d1939SAndy Fiddaman #    define __VARARG__
61*b30d1939SAndy Fiddaman #  endif
62*b30d1939SAndy Fiddaman #  if defined(__STDARG__)
63*b30d1939SAndy Fiddaman #    define __VA_START__(p,a)	va_start(p,a)
64*b30d1939SAndy Fiddaman #  else
65*b30d1939SAndy Fiddaman #    define __VA_START__(p,a)	va_start(p)
66*b30d1939SAndy Fiddaman #  endif
67*b30d1939SAndy Fiddaman #  if !defined(__INLINE__)
68*b30d1939SAndy Fiddaman #    if defined(__cplusplus)
69*b30d1939SAndy Fiddaman #      define __INLINE__	extern __MANGLE__ inline
70*b30d1939SAndy Fiddaman #    else
71*b30d1939SAndy Fiddaman #      if defined(_WIN32) && !defined(__GNUC__)
72*b30d1939SAndy Fiddaman #      	define __INLINE__	__inline
73*b30d1939SAndy Fiddaman #      endif
74*b30d1939SAndy Fiddaman #    endif
75*b30d1939SAndy Fiddaman #  endif
76*b30d1939SAndy Fiddaman #endif
77*b30d1939SAndy Fiddaman #if !defined(__LINKAGE__)
78*b30d1939SAndy Fiddaman #define __LINKAGE__		/* 2004-08-11 transition */
79*b30d1939SAndy Fiddaman #endif
80*b30d1939SAndy Fiddaman #line 1 "proto.c"
81*b30d1939SAndy Fiddaman 
82*b30d1939SAndy Fiddaman 
83*b30d1939SAndy Fiddaman #line 151
84*b30d1939SAndy Fiddaman # ifndef __STDC__
85*b30d1939SAndy Fiddaman # ifndef creat
86*b30d1939SAndy Fiddaman # define creat		_huh_creat
87*b30d1939SAndy Fiddaman # endif
88*b30d1939SAndy Fiddaman # if 1
89*b30d1939SAndy Fiddaman # ifndef access
90*b30d1939SAndy Fiddaman # define access		_huh_access
91*b30d1939SAndy Fiddaman # endif
92*b30d1939SAndy Fiddaman # ifndef ctime
93*b30d1939SAndy Fiddaman # define ctime		_huh_ctime
94*b30d1939SAndy Fiddaman # endif
95*b30d1939SAndy Fiddaman # ifndef mkdir
96*b30d1939SAndy Fiddaman # define mkdir		_huh_mkdir
97*b30d1939SAndy Fiddaman # endif
98*b30d1939SAndy Fiddaman # endif
99*b30d1939SAndy Fiddaman # endif
100*b30d1939SAndy Fiddaman 
101*b30d1939SAndy Fiddaman # include <sys/types.h>
102*b30d1939SAndy Fiddaman # include <sys/stat.h>
103*b30d1939SAndy Fiddaman # include <fcntl.h>
104*b30d1939SAndy Fiddaman # if 1
105*b30d1939SAndy Fiddaman # include <stdio.h>
106*b30d1939SAndy Fiddaman # else
107*b30d1939SAndy Fiddaman # include <time.h>
108*b30d1939SAndy Fiddaman # endif
109*b30d1939SAndy Fiddaman 
110*b30d1939SAndy Fiddaman # ifndef __STDC__
111*b30d1939SAndy Fiddaman # undef	access
112*b30d1939SAndy Fiddaman # undef	ctime
113*b30d1939SAndy Fiddaman # undef	creat
114*b30d1939SAndy Fiddaman # undef	mkdir
115*b30d1939SAndy Fiddaman # endif
116*b30d1939SAndy Fiddaman 
117*b30d1939SAndy Fiddaman # ifndef O_RDONLY
118*b30d1939SAndy Fiddaman # define O_RDONLY	0
119*b30d1939SAndy Fiddaman # endif
120*b30d1939SAndy Fiddaman 
121*b30d1939SAndy Fiddaman # ifndef S_IRUSR
122*b30d1939SAndy Fiddaman # define S_IRUSR		0400
123*b30d1939SAndy Fiddaman # endif
124*b30d1939SAndy Fiddaman # ifndef S_IWUSR
125*b30d1939SAndy Fiddaman # define S_IWUSR		0200
126*b30d1939SAndy Fiddaman # endif
127*b30d1939SAndy Fiddaman # ifndef S_IXUSR
128*b30d1939SAndy Fiddaman # define S_IXUSR		0100
129*b30d1939SAndy Fiddaman # endif
130*b30d1939SAndy Fiddaman # ifndef S_IRGRP
131*b30d1939SAndy Fiddaman # define S_IRGRP		0040
132*b30d1939SAndy Fiddaman # endif
133*b30d1939SAndy Fiddaman # ifndef S_IWGRP
134*b30d1939SAndy Fiddaman # define S_IWGRP		0020
135*b30d1939SAndy Fiddaman # endif
136*b30d1939SAndy Fiddaman # ifndef S_IXGRP
137*b30d1939SAndy Fiddaman # define S_IXGRP		0010
138*b30d1939SAndy Fiddaman # endif
139*b30d1939SAndy Fiddaman # ifndef S_IROTH
140*b30d1939SAndy Fiddaman # define S_IROTH		0004
141*b30d1939SAndy Fiddaman # endif
142*b30d1939SAndy Fiddaman # ifndef S_IWOTH
143*b30d1939SAndy Fiddaman # define S_IWOTH		0002
144*b30d1939SAndy Fiddaman # endif
145*b30d1939SAndy Fiddaman # ifndef S_IXOTH
146*b30d1939SAndy Fiddaman # define S_IXOTH		0001
147*b30d1939SAndy Fiddaman # endif
148*b30d1939SAndy Fiddaman 
149*b30d1939SAndy Fiddaman # ifndef __STDC__
150*b30d1939SAndy Fiddaman # if !_WIN32 && !_WINIX
151*b30d1939SAndy Fiddaman # define remove(x)	unlink(x)
152*b30d1939SAndy Fiddaman # define rename(x,y)	((link(x,y)||remove(x))?-1:0)
153*b30d1939SAndy Fiddaman # endif
154*b30d1939SAndy Fiddaman 
155*b30d1939SAndy Fiddaman # if 1
156*b30d1939SAndy Fiddaman extern __MANGLE__ int	access __PROTO__((const char*, int));
157*b30d1939SAndy Fiddaman extern __MANGLE__ int	mkdir __PROTO__((const char*, int));
158*b30d1939SAndy Fiddaman # endif
159*b30d1939SAndy Fiddaman 
160*b30d1939SAndy Fiddaman # endif
161*b30d1939SAndy Fiddaman 
162*b30d1939SAndy Fiddaman # if 1
163*b30d1939SAndy Fiddaman extern __MANGLE__ int	utime __PROTO__((const char*, time_t*));
164*b30d1939SAndy Fiddaman # endif
165*b30d1939SAndy Fiddaman 
166*b30d1939SAndy Fiddaman 
167*b30d1939SAndy Fiddaman 
168*b30d1939SAndy Fiddaman 
169*b30d1939SAndy Fiddaman 
170*b30d1939SAndy Fiddaman 
171*b30d1939SAndy Fiddaman int
__OTORP__(const char * newfile;const char * oldfile;int preserve;)172*b30d1939SAndy Fiddaman replace __PARAM__((const char* newfile, const char* oldfile, int preserve), (newfile, oldfile, preserve)) __OTORP__(const char* newfile; const char* oldfile; int preserve;){
173*b30d1939SAndy Fiddaman 	struct stat	st;
174*b30d1939SAndy Fiddaman 	time_t		ut[2];
175*b30d1939SAndy Fiddaman 
176*b30d1939SAndy Fiddaman 	if (stat(oldfile, &st))
177*b30d1939SAndy Fiddaman 	{
178*b30d1939SAndy Fiddaman 		if (preserve)
179*b30d1939SAndy Fiddaman 			return -1;
180*b30d1939SAndy Fiddaman 		st.st_mode = 0;
181*b30d1939SAndy Fiddaman 	}
182*b30d1939SAndy Fiddaman 	if (remove(oldfile) || rename(newfile, oldfile))
183*b30d1939SAndy Fiddaman 		return -1;
184*b30d1939SAndy Fiddaman 	if (st.st_mode &= (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH))
185*b30d1939SAndy Fiddaman 		chmod(oldfile, st.st_mode);
186*b30d1939SAndy Fiddaman 	if (preserve)
187*b30d1939SAndy Fiddaman 	{
188*b30d1939SAndy Fiddaman 		ut[0] = st.st_atime;
189*b30d1939SAndy Fiddaman 		ut[1] = st.st_mtime;
190*b30d1939SAndy Fiddaman 		preserve = utime(oldfile, ut);
191*b30d1939SAndy Fiddaman 	}
192*b30d1939SAndy Fiddaman 	return preserve;
193*b30d1939SAndy Fiddaman }
194*b30d1939SAndy Fiddaman 
195*b30d1939SAndy Fiddaman # undef	utime
196*b30d1939SAndy Fiddaman # define utime		______utime
197*b30d1939SAndy Fiddaman 
198*b30d1939SAndy Fiddaman #line 1 "../../lib/libpp/ppproto.c"
199*b30d1939SAndy Fiddaman 
200*b30d1939SAndy Fiddaman #line 13
201*b30d1939SAndy Fiddaman static const char id[] = "\n@(#)$Id: proto (AT&T Research) 2012-04-14 $\000\n";
202*b30d1939SAndy Fiddaman 
203*b30d1939SAndy Fiddaman #line 1 "../../lib/libpp/ppfsm.c"
204*b30d1939SAndy Fiddaman 
205*b30d1939SAndy Fiddaman #line 1 "../../lib/libpp/pplib.h"
206*b30d1939SAndy Fiddaman 
207*b30d1939SAndy Fiddaman #line 108
208*b30d1939SAndy Fiddaman struct ppsymbol;
209*b30d1939SAndy Fiddaman struct ppindex;
210*b30d1939SAndy Fiddaman 
211*b30d1939SAndy Fiddaman typedef char*	(*PPBUILTIN) __PROTO__((char*, const char*, const char*));
212*b30d1939SAndy Fiddaman typedef void	(*PPCOMMENT) __PROTO__((const char*, const char*, const char*, int));
213*b30d1939SAndy Fiddaman typedef void	(*PPINCREF) __PROTO__((const char*, const char*, int, int));
214*b30d1939SAndy Fiddaman typedef void	(*PPLINESYNC) __PROTO__((int, const char*));
215*b30d1939SAndy Fiddaman typedef void	(*PPMACREF) __PROTO__((struct ppsymbol*, const char*, int, int, unsigned long));
216*b30d1939SAndy Fiddaman typedef int	(*PPOPTARG) __PROTO__((int, int, const char*));
217*b30d1939SAndy Fiddaman typedef void	(*PPPRAGMA) __PROTO__((const char*, const char*, const char*, const char*, int));
218*b30d1939SAndy Fiddaman 
219*b30d1939SAndy Fiddaman struct ppinstk
220*b30d1939SAndy Fiddaman {
221*b30d1939SAndy Fiddaman 	char*		nextchr;
222*b30d1939SAndy Fiddaman 	struct ppinstk*	next;
223*b30d1939SAndy Fiddaman 	struct ppinstk*	prev;
224*b30d1939SAndy Fiddaman 	long*		control;
225*b30d1939SAndy Fiddaman 	char*		buffer;
226*b30d1939SAndy Fiddaman 	char*		file;
227*b30d1939SAndy Fiddaman 	char*		prefix;
228*b30d1939SAndy Fiddaman 	struct ppsymbol* symbol;
229*b30d1939SAndy Fiddaman 
230*b30d1939SAndy Fiddaman 	struct ppindex*	index;
231*b30d1939SAndy Fiddaman 	int		buflen;
232*b30d1939SAndy Fiddaman 
233*b30d1939SAndy Fiddaman 	int		line;
234*b30d1939SAndy Fiddaman 	int		vendor;
235*b30d1939SAndy Fiddaman 	short		fd;
236*b30d1939SAndy Fiddaman 	short		hide;
237*b30d1939SAndy Fiddaman 	short		flags;
238*b30d1939SAndy Fiddaman 	char		type;
239*b30d1939SAndy Fiddaman };
240*b30d1939SAndy Fiddaman 
241*b30d1939SAndy Fiddaman 
242*b30d1939SAndy Fiddaman 
243*b30d1939SAndy Fiddaman 
244*b30d1939SAndy Fiddaman 
245*b30d1939SAndy Fiddaman 
246*b30d1939SAndy Fiddaman 
247*b30d1939SAndy Fiddaman 
248*b30d1939SAndy Fiddaman 
249*b30d1939SAndy Fiddaman struct pplist
250*b30d1939SAndy Fiddaman {
251*b30d1939SAndy Fiddaman 	char*		value;
252*b30d1939SAndy Fiddaman 	struct pplist*	next;
253*b30d1939SAndy Fiddaman };
254*b30d1939SAndy Fiddaman 
255*b30d1939SAndy Fiddaman struct oplist
256*b30d1939SAndy Fiddaman {
257*b30d1939SAndy Fiddaman 	int		op;
258*b30d1939SAndy Fiddaman 	char*		value;
259*b30d1939SAndy Fiddaman 	struct oplist*	next;
260*b30d1939SAndy Fiddaman };
261*b30d1939SAndy Fiddaman 
262*b30d1939SAndy Fiddaman struct pphide
263*b30d1939SAndy Fiddaman {
264*b30d1939SAndy Fiddaman 	struct ppmacro*	macro;
265*b30d1939SAndy Fiddaman 	unsigned long	flags;
266*b30d1939SAndy Fiddaman 	int		level;
267*b30d1939SAndy Fiddaman };
268*b30d1939SAndy Fiddaman 
269*b30d1939SAndy Fiddaman struct ppmacstk
270*b30d1939SAndy Fiddaman {
271*b30d1939SAndy Fiddaman 	struct ppmacstk* next;
272*b30d1939SAndy Fiddaman 	struct ppmacstk* prev;
273*b30d1939SAndy Fiddaman 	int		line;
274*b30d1939SAndy Fiddaman 	char*		arg[1];
275*b30d1939SAndy Fiddaman };
276*b30d1939SAndy Fiddaman 
277*b30d1939SAndy Fiddaman struct ppmember
278*b30d1939SAndy Fiddaman {
279*b30d1939SAndy Fiddaman 	struct ppdirs*	archive;
280*b30d1939SAndy Fiddaman 	unsigned long	offset;
281*b30d1939SAndy Fiddaman 	unsigned long	size;
282*b30d1939SAndy Fiddaman };
283*b30d1939SAndy Fiddaman 
284*b30d1939SAndy Fiddaman struct counter
285*b30d1939SAndy Fiddaman {
286*b30d1939SAndy Fiddaman 	int		candidate;
287*b30d1939SAndy Fiddaman 	int		function;
288*b30d1939SAndy Fiddaman 	int		macro;
289*b30d1939SAndy Fiddaman 	int		pplex;
290*b30d1939SAndy Fiddaman 	int		push;
291*b30d1939SAndy Fiddaman 	int		terminal;
292*b30d1939SAndy Fiddaman 	int		token;
293*b30d1939SAndy Fiddaman };
294*b30d1939SAndy Fiddaman 
295*b30d1939SAndy Fiddaman struct pptuple
296*b30d1939SAndy Fiddaman {
297*b30d1939SAndy Fiddaman 	struct pptuple*	nomatch;
298*b30d1939SAndy Fiddaman 	struct pptuple*	match;
299*b30d1939SAndy Fiddaman 	char		token[1];
300*b30d1939SAndy Fiddaman };
301*b30d1939SAndy Fiddaman 
302*b30d1939SAndy Fiddaman struct ppfileid
303*b30d1939SAndy Fiddaman {
304*b30d1939SAndy Fiddaman 	unsigned long	st_dev;
305*b30d1939SAndy Fiddaman 	unsigned long	st_ino;
306*b30d1939SAndy Fiddaman };
307*b30d1939SAndy Fiddaman 
308*b30d1939SAndy Fiddaman struct pathid
309*b30d1939SAndy Fiddaman {
310*b30d1939SAndy Fiddaman 	char*		path;
311*b30d1939SAndy Fiddaman 	struct ppfileid	id;
312*b30d1939SAndy Fiddaman };
313*b30d1939SAndy Fiddaman 
314*b30d1939SAndy Fiddaman #line 1 "../../lib/libpp/pp.h"
315*b30d1939SAndy Fiddaman 
316*b30d1939SAndy Fiddaman #line 206
317*b30d1939SAndy Fiddaman 
318*b30d1939SAndy Fiddaman #line 217
319*b30d1939SAndy Fiddaman 
320*b30d1939SAndy Fiddaman #line 329
321*b30d1939SAndy Fiddaman struct ppdirs
322*b30d1939SAndy Fiddaman {
323*b30d1939SAndy Fiddaman 	char*		name;
324*b30d1939SAndy Fiddaman 	struct ppdirs*	next;
325*b30d1939SAndy Fiddaman 
326*b30d1939SAndy Fiddaman 
327*b30d1939SAndy Fiddaman 	unsigned char c; unsigned char index; unsigned char type; union { char* buffer; char* sp; struct ppdirs* subdir; } info; struct ppfileid id;
328*b30d1939SAndy Fiddaman 
329*b30d1939SAndy Fiddaman 
330*b30d1939SAndy Fiddaman };
331*b30d1939SAndy Fiddaman 
332*b30d1939SAndy Fiddaman struct ppkeyword
333*b30d1939SAndy Fiddaman {
334*b30d1939SAndy Fiddaman 	char*		name;
335*b30d1939SAndy Fiddaman 	int		value;
336*b30d1939SAndy Fiddaman };
337*b30d1939SAndy Fiddaman 
338*b30d1939SAndy Fiddaman struct ppmacro
339*b30d1939SAndy Fiddaman {
340*b30d1939SAndy Fiddaman 	int		arity;
341*b30d1939SAndy Fiddaman 	char*		value;
342*b30d1939SAndy Fiddaman 
343*b30d1939SAndy Fiddaman 
344*b30d1939SAndy Fiddaman 	struct pptuple* tuple; char* formals; int size;
345*b30d1939SAndy Fiddaman 
346*b30d1939SAndy Fiddaman 
347*b30d1939SAndy Fiddaman };
348*b30d1939SAndy Fiddaman 
349*b30d1939SAndy Fiddaman struct ppsymbol
350*b30d1939SAndy Fiddaman {
351*b30d1939SAndy Fiddaman 	int hash_header;
352*b30d1939SAndy Fiddaman 	unsigned long	flags;
353*b30d1939SAndy Fiddaman 	struct ppmacro*	macro;
354*b30d1939SAndy Fiddaman 	__V_*		value;
355*b30d1939SAndy Fiddaman 
356*b30d1939SAndy Fiddaman 
357*b30d1939SAndy Fiddaman 	struct pphide* hidden;
358*b30d1939SAndy Fiddaman 
359*b30d1939SAndy Fiddaman 
360*b30d1939SAndy Fiddaman };
361*b30d1939SAndy Fiddaman 
362*b30d1939SAndy Fiddaman #line 378
363*b30d1939SAndy Fiddaman struct ppglobals
364*b30d1939SAndy Fiddaman {
365*b30d1939SAndy Fiddaman 	const char*	version;
366*b30d1939SAndy Fiddaman 	char*		lineid;
367*b30d1939SAndy Fiddaman 	char*		outfile;
368*b30d1939SAndy Fiddaman 	char*		pass;
369*b30d1939SAndy Fiddaman 	char*		token;
370*b30d1939SAndy Fiddaman 	struct ppsymbol* symbol;
371*b30d1939SAndy Fiddaman 
372*b30d1939SAndy Fiddaman 
373*b30d1939SAndy Fiddaman 
374*b30d1939SAndy Fiddaman 	char*		outb;
375*b30d1939SAndy Fiddaman 	char*		outbuf;
376*b30d1939SAndy Fiddaman 	char*		outp;
377*b30d1939SAndy Fiddaman 	char*		oute;
378*b30d1939SAndy Fiddaman 	unsigned long	offset;
379*b30d1939SAndy Fiddaman 
380*b30d1939SAndy Fiddaman 
381*b30d1939SAndy Fiddaman 	struct ppdirs* lcldirs; struct ppdirs* stddirs; int flags; char* symtab;
382*b30d1939SAndy Fiddaman 
383*b30d1939SAndy Fiddaman 
384*b30d1939SAndy Fiddaman 
385*b30d1939SAndy Fiddaman 	struct ppcontext* context; long state; long mode; long option; long test; struct { char* sp; long flags; } filedeps; struct ppdirs* firstdir; struct ppdirs* lastdir; int hide; int column; int pending; char* firstfile; char* lastfile; char* ignore; char* probe; char* filtab; char* prdtab; char* date; char* time; char* maps; long ro_state; long ro_mode; long ro_option; long ro_op[2]; struct pathid cdir; struct pathid hostdir; char* ppdefault; struct ppindex* firstindex; struct ppindex* lastindex; struct oplist* firstop; struct oplist* lastop; struct oplist* firsttx; struct oplist* lasttx; unsigned char arg_file; unsigned char arg_mode; unsigned char arg_style; unsigned char c; unsigned char hosted; unsigned char ignoresrc; unsigned char initialized; unsigned char standalone; unsigned char spare_1;
386*b30d1939SAndy Fiddaman 
387*b30d1939SAndy Fiddaman 
388*b30d1939SAndy Fiddaman 
389*b30d1939SAndy Fiddaman 	char* checkpoint; int constack; struct ppinstk* in; char* addp; char* args; char* addbuf; char* catbuf; char* hdrbuf; char* hidebuf; char* path; char* tmpbuf; char* valbuf; char* optflags; int lastout; char* include; char* prefix; struct ppmember* member; int hidden; int hiding; int level; struct { int input; int output; } pool; struct { long ro_state; long