xref: /plan9/sys/src/ape/cmd/pdksh/proto.h (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
1*7dd7cddfSDavid du Colombier /*
2*7dd7cddfSDavid du Colombier  * prototypes for PD-KSH
3*7dd7cddfSDavid du Colombier  * originally generated using "cproto.c 3.5 92/04/11 19:28:01 cthuang "
4*7dd7cddfSDavid du Colombier  * $Id: proto.h,v 1.3 1994/05/19 18:32:40 michael Exp michael $
5*7dd7cddfSDavid du Colombier  */
6*7dd7cddfSDavid du Colombier 
7*7dd7cddfSDavid du Colombier /* alloc.c */
8*7dd7cddfSDavid du Colombier Area *	ainit		ARGS((Area *ap));
9*7dd7cddfSDavid du Colombier void 	afreeall	ARGS((Area *ap));
10*7dd7cddfSDavid du Colombier void *	alloc		ARGS((size_t size, Area *ap));
11*7dd7cddfSDavid du Colombier void *	aresize		ARGS((void *ptr, size_t size, Area *ap));
12*7dd7cddfSDavid du Colombier void 	afree		ARGS((void *ptr, Area *ap));
13*7dd7cddfSDavid du Colombier /* c_ksh.c */
14*7dd7cddfSDavid du Colombier int 	c_hash		ARGS((char **wp));
15*7dd7cddfSDavid du Colombier int 	c_cd		ARGS((char **wp));
16*7dd7cddfSDavid du Colombier int 	c_pwd		ARGS((char **wp));
17*7dd7cddfSDavid du Colombier int 	c_print		ARGS((char **wp));
18*7dd7cddfSDavid du Colombier int 	c_whence	ARGS((char **wp));
19*7dd7cddfSDavid du Colombier int 	c_command	ARGS((char **wp));
20*7dd7cddfSDavid du Colombier int 	c_typeset	ARGS((char **wp));
21*7dd7cddfSDavid du Colombier int 	c_alias		ARGS((char **wp));
22*7dd7cddfSDavid du Colombier int 	c_unalias	ARGS((char **wp));
23*7dd7cddfSDavid du Colombier int 	c_let		ARGS((char **wp));
24*7dd7cddfSDavid du Colombier int 	c_jobs		ARGS((char **wp));
25*7dd7cddfSDavid du Colombier int 	c_fgbg		ARGS((char **wp));
26*7dd7cddfSDavid du Colombier int 	c_kill		ARGS((char **wp));
27*7dd7cddfSDavid du Colombier void	getopts_reset	ARGS((int val));
28*7dd7cddfSDavid du Colombier int	c_getopts	ARGS((char **wp));
29*7dd7cddfSDavid du Colombier int 	c_bind		ARGS((char **wp));
30*7dd7cddfSDavid du Colombier /* c_sh.c */
31*7dd7cddfSDavid du Colombier int 	c_label		ARGS((char **wp));
32*7dd7cddfSDavid du Colombier int 	c_shift		ARGS((char **wp));
33*7dd7cddfSDavid du Colombier int 	c_umask		ARGS((char **wp));
34*7dd7cddfSDavid du Colombier int 	c_dot		ARGS((char **wp));
35*7dd7cddfSDavid du Colombier int 	c_wait		ARGS((char **wp));
36*7dd7cddfSDavid du Colombier int 	c_read		ARGS((char **wp));
37*7dd7cddfSDavid du Colombier int 	c_eval		ARGS((char **wp));
38*7dd7cddfSDavid du Colombier int 	c_trap		ARGS((char **wp));
39*7dd7cddfSDavid du Colombier int 	c_brkcont	ARGS((char **wp));
40*7dd7cddfSDavid du Colombier int 	c_exitreturn	ARGS((char **wp));
41*7dd7cddfSDavid du Colombier int 	c_set		ARGS((char **wp));
42*7dd7cddfSDavid du Colombier int 	c_unset		ARGS((char **wp));
43*7dd7cddfSDavid du Colombier int 	c_ulimit	ARGS((char **wp));
44*7dd7cddfSDavid du Colombier int 	c_times		ARGS((char **wp));
45*7dd7cddfSDavid du Colombier int 	timex		ARGS((struct op *t, int f));
46*7dd7cddfSDavid du Colombier void	timex_hook	ARGS((struct op *t, char ** volatile *app));
47*7dd7cddfSDavid du Colombier int 	c_exec		ARGS((char **wp));
48*7dd7cddfSDavid du Colombier int 	c_builtin	ARGS((char **wp));
49*7dd7cddfSDavid du Colombier /* c_test.c */
50*7dd7cddfSDavid du Colombier int 	c_test		ARGS((char **wp));
51*7dd7cddfSDavid du Colombier /* edit.c: most prototypes in edit.h */
52*7dd7cddfSDavid du Colombier void 	x_init		ARGS((void));
53*7dd7cddfSDavid du Colombier int 	x_read		ARGS((char *buf, size_t len));
54*7dd7cddfSDavid du Colombier void	set_editmode	ARGS((const char *ed));
55*7dd7cddfSDavid du Colombier /* emacs.c: most prototypes in edit.h */
56*7dd7cddfSDavid du Colombier int 	x_bind		ARGS((const char *a1, const char *a2, int macro,
57*7dd7cddfSDavid du Colombier 			      int list));
58*7dd7cddfSDavid du Colombier /* eval.c */
59*7dd7cddfSDavid du Colombier char *	substitute	ARGS((const char *cp, int f));
60*7dd7cddfSDavid du Colombier char **	eval		ARGS((char **ap, int f));
61*7dd7cddfSDavid du Colombier char *	evalstr		ARGS((char *cp, int f));
62*7dd7cddfSDavid du Colombier char *	evalonestr	ARGS((char *cp, int f));
63*7dd7cddfSDavid du Colombier char	*debunk		ARGS((char *dp, const char *sp));
64*7dd7cddfSDavid du Colombier void	expand		ARGS((char *cp, XPtrV *wp, int f));
65*7dd7cddfSDavid du Colombier int glob_str		ARGS((char *cp, XPtrV *wp, int markdirs));
66*7dd7cddfSDavid du Colombier /* exec.c */
67*7dd7cddfSDavid du Colombier int	fd_clexec	ARGS((int fd));
68*7dd7cddfSDavid du Colombier int 	execute		ARGS((struct op * volatile t, volatile int flags));
69*7dd7cddfSDavid du Colombier int 	shcomexec	ARGS((char **wp));
70*7dd7cddfSDavid du Colombier struct tbl * findfunc	ARGS((const char *name, unsigned int h, int create));
71*7dd7cddfSDavid du Colombier int 	define		ARGS((const char *name, struct op *t));
72*7dd7cddfSDavid du Colombier void 	builtin		ARGS((const char *name, int (*func)(char **)));
73*7dd7cddfSDavid du Colombier struct tbl *	findcom	ARGS((const char *name, int flags));
74*7dd7cddfSDavid du Colombier void 	flushcom	ARGS((int all));
75*7dd7cddfSDavid du Colombier char *	search		ARGS((const char *name, const char *path, int mode,
76*7dd7cddfSDavid du Colombier 			      int *errnop));
77*7dd7cddfSDavid du Colombier int	search_access	ARGS((const char *path, int mode, int *errnop));
78*7dd7cddfSDavid du Colombier int	pr_menu		ARGS((char *const *ap));
79*7dd7cddfSDavid du Colombier /* expr.c */
80*7dd7cddfSDavid du Colombier int 	evaluate	ARGS((const char *expr, long *rval, int error_ok));
81*7dd7cddfSDavid du Colombier int	v_evaluate	ARGS((struct tbl *vp, const char *expr, volatile int error_ok));
82*7dd7cddfSDavid du Colombier /* history.c */
83*7dd7cddfSDavid du Colombier void	init_histvec	ARGS((void));
84*7dd7cddfSDavid du Colombier void 	hist_init	ARGS((Source *s));
85*7dd7cddfSDavid du Colombier void 	hist_finish	ARGS((void));
86*7dd7cddfSDavid du Colombier void	histsave	ARGS((int lno, const char *cmd, int dowrite));
87*7dd7cddfSDavid du Colombier #ifdef HISTORY
88*7dd7cddfSDavid du Colombier int 	c_fc	 	ARGS((register char **wp));
89*7dd7cddfSDavid du Colombier void	sethistsize	ARGS((int n));
90*7dd7cddfSDavid du Colombier void	sethistfile	ARGS((const char *name));
91*7dd7cddfSDavid du Colombier # ifdef EASY_HISTORY
92*7dd7cddfSDavid du Colombier void 	histappend	ARGS((const char *cmd, int nl_separate));
93*7dd7cddfSDavid du Colombier # endif
94*7dd7cddfSDavid du Colombier char **	histpos	 	ARGS((void));
95*7dd7cddfSDavid du Colombier int 	histN	 	ARGS((void));
96*7dd7cddfSDavid du Colombier int 	histnum	 	ARGS((int n));
97*7dd7cddfSDavid du Colombier int	findhist	ARGS((int start, int fwd, const char *str,
98*7dd7cddfSDavid du Colombier 			      int anchored));
99*7dd7cddfSDavid du Colombier #endif /* HISTORY */
100*7dd7cddfSDavid du Colombier /* io.c */
101*7dd7cddfSDavid du Colombier void 	errorf		ARGS((const char *fmt, ...))
102*7dd7cddfSDavid du Colombier 				GCC_FUNC_ATTR2(noreturn, format(printf, 1, 2));
103*7dd7cddfSDavid du Colombier void 	warningf	ARGS((int fileline, const char *fmt, ...))
104*7dd7cddfSDavid du Colombier 				GCC_FUNC_ATTR(format(printf, 2, 3));
105*7dd7cddfSDavid du Colombier void 	bi_errorf	ARGS((const char *fmt, ...))
106*7dd7cddfSDavid du Colombier 				GCC_FUNC_ATTR(format(printf, 1, 2));
107*7dd7cddfSDavid du Colombier void 	internal_errorf	ARGS((int jump, const char *fmt, ...))
108*7dd7cddfSDavid du Colombier 				GCC_FUNC_ATTR(format(printf, 2, 3));
109*7dd7cddfSDavid du Colombier void	error_prefix	ARGS((int fileline));
110*7dd7cddfSDavid du Colombier void 	shellf		ARGS((const char *fmt, ...))
111*7dd7cddfSDavid du Colombier 				GCC_FUNC_ATTR(format(printf, 1, 2));
112*7dd7cddfSDavid du Colombier void 	shprintf	ARGS((const char *fmt, ...))
113*7dd7cddfSDavid du Colombier 				GCC_FUNC_ATTR(format(printf, 1, 2));
114*7dd7cddfSDavid du Colombier #ifdef KSH_DEBUG
115*7dd7cddfSDavid du Colombier void 	kshdebug_init_	ARGS((void));
116*7dd7cddfSDavid du Colombier void 	kshdebug_printf_ ARGS((const char *fmt, ...))
117*7dd7cddfSDavid du Colombier 				GCC_FUNC_ATTR(format(printf, 1, 2));
118*7dd7cddfSDavid du Colombier void 	kshdebug_dump_	ARGS((const char *str, const void *mem, int nbytes));
119*7dd7cddfSDavid du Colombier #endif /* KSH_DEBUG */
120*7dd7cddfSDavid du Colombier int	can_seek	ARGS((int fd));
121*7dd7cddfSDavid du Colombier void	initio		ARGS((void));
122*7dd7cddfSDavid du Colombier int	ksh_dup2	ARGS((int ofd, int nfd, int errok));
123*7dd7cddfSDavid du Colombier int 	savefd		ARGS((int fd, int noclose));
124*7dd7cddfSDavid du Colombier void 	restfd		ARGS((int fd, int ofd));
125*7dd7cddfSDavid du Colombier void 	openpipe	ARGS((int *pv));
126*7dd7cddfSDavid du Colombier void 	closepipe	ARGS((int *pv));
127*7dd7cddfSDavid du Colombier int	check_fd	ARGS((char *name, int mode, const char **emsgp));
128*7dd7cddfSDavid du Colombier #ifdef KSH
129*7dd7cddfSDavid du Colombier void	coproc_init	ARGS((void));
130*7dd7cddfSDavid du Colombier void	coproc_read_close ARGS((int fd));
131*7dd7cddfSDavid du Colombier void	coproc_readw_close ARGS((int fd));
132*7dd7cddfSDavid du Colombier void	coproc_write_close ARGS((int fd));
133*7dd7cddfSDavid du Colombier int	coproc_getfd	ARGS((int mode, const char **emsgp));
134*7dd7cddfSDavid du Colombier void	coproc_cleanup	ARGS((int reuse));
135*7dd7cddfSDavid du Colombier #endif /* KSH */
136*7dd7cddfSDavid du Colombier struct temp *maketemp	ARGS((Area *ap, Temp_type type, struct temp **tlist));
137*7dd7cddfSDavid du Colombier /* jobs.c */
138*7dd7cddfSDavid du Colombier void 	j_init		ARGS((int mflagset));
139*7dd7cddfSDavid du Colombier void 	j_exit		ARGS((void));
140*7dd7cddfSDavid du Colombier void 	j_change	ARGS((void));
141*7dd7cddfSDavid du Colombier int 	exchild		ARGS((struct op *t, int flags, int close_fd));
142*7dd7cddfSDavid du Colombier void 	startlast	ARGS((void));
143*7dd7cddfSDavid du Colombier int 	waitlast	ARGS((void));
144*7dd7cddfSDavid du Colombier int 	waitfor		ARGS((const char *cp, int *sigp));
145*7dd7cddfSDavid du Colombier int 	j_kill		ARGS((const char *cp, int sig));
146*7dd7cddfSDavid du Colombier int 	j_resume	ARGS((const char *cp, int bg));
147*7dd7cddfSDavid du Colombier int 	j_jobs		ARGS((const char *cp, int slp, int nflag));
148*7dd7cddfSDavid du Colombier void 	j_notify	ARGS((void));
149*7dd7cddfSDavid du Colombier pid_t	j_async		ARGS((void));
150*7dd7cddfSDavid du Colombier int 	j_stopped_running	ARGS((void));
151*7dd7cddfSDavid du Colombier /* lex.c */
152*7dd7cddfSDavid du Colombier int 	yylex		ARGS((int cf));
153*7dd7cddfSDavid du Colombier void 	yyerror		ARGS((const char *fmt, ...))
154*7dd7cddfSDavid du Colombier 				GCC_FUNC_ATTR2(noreturn, format(printf, 1, 2));
155*7dd7cddfSDavid du Colombier Source * pushs		ARGS((int type, Area *areap));
156*7dd7cddfSDavid du Colombier void	set_prompt	ARGS((int to, Source *s));
157*7dd7cddfSDavid du Colombier void 	pprompt		ARGS((const char *cp, int ntruncate));
158*7dd7cddfSDavid du Colombier /* mail.c */
159*7dd7cddfSDavid du Colombier #ifdef KSH
160*7dd7cddfSDavid du Colombier void 	mcheck		ARGS((void));
161*7dd7cddfSDavid du Colombier void 	mcset		ARGS((long interval));
162*7dd7cddfSDavid du Colombier void 	mbset		ARGS((char *p));
163*7dd7cddfSDavid du Colombier void 	mpset		ARGS((char *mptoparse));
164*7dd7cddfSDavid du Colombier #endif /* KSH */
165*7dd7cddfSDavid du Colombier /* main.c */
166*7dd7cddfSDavid du Colombier int 	include		ARGS((const char *name, int argc, char **argv,
167*7dd7cddfSDavid du Colombier 			      int intr_ok));
168*7dd7cddfSDavid du Colombier int 	command		ARGS((const char *comm));
169*7dd7cddfSDavid du Colombier int 	shell		ARGS((Source *volatile s, int volatile toplevel));
170*7dd7cddfSDavid du Colombier void 	unwind		ARGS((int i)) GCC_FUNC_ATTR(noreturn);
171*7dd7cddfSDavid du Colombier void 	newenv		ARGS((int type));
172*7dd7cddfSDavid du Colombier void 	quitenv		ARGS((void));
173*7dd7cddfSDavid du Colombier void	cleanup_parents_env ARGS((void));
174*7dd7cddfSDavid du Colombier void	cleanup_proc_env ARGS((void));
175*7dd7cddfSDavid du Colombier void 	aerror		ARGS((Area *ap, const char *msg))
176*7dd7cddfSDavid du Colombier 				GCC_FUNC_ATTR(noreturn);
177*7dd7cddfSDavid du Colombier /* misc.c */
178*7dd7cddfSDavid du Colombier void 	setctypes	ARGS((const char *s, int t));
179*7dd7cddfSDavid du Colombier void 	initctypes	ARGS((void));
180*7dd7cddfSDavid du Colombier char *	ulton		ARGS((unsigned long n, int base));
181*7dd7cddfSDavid du Colombier char *	str_save	ARGS((const char *s, Area *ap));
182*7dd7cddfSDavid du Colombier char *	str_nsave	ARGS((const char *s, int n, Area *ap));
183*7dd7cddfSDavid du Colombier int	option		ARGS((const char *n));
184*7dd7cddfSDavid du Colombier char *	getoptions	ARGS((void));
185*7dd7cddfSDavid du Colombier void	change_flag	ARGS((enum sh_flag f, int what, int newval));
186*7dd7cddfSDavid du Colombier int	parse_args	ARGS((char **argv, int what, int *setargsp));
187*7dd7cddfSDavid du Colombier int 	getn		ARGS((const char *as, int *ai));
188*7dd7cddfSDavid du Colombier int 	bi_getn		ARGS((const char *as, int *ai));
189*7dd7cddfSDavid du Colombier char *	strerror	ARGS((int i));
190*7dd7cddfSDavid du Colombier int 	gmatch		ARGS((const char *s, const char *p, int isfile));
191*7dd7cddfSDavid du Colombier int	has_globbing	ARGS((const char *xp, const char *xpe));
192*7dd7cddfSDavid du Colombier const unsigned char *pat_scan ARGS((const unsigned char *p,
193*7dd7cddfSDavid du Colombier 				const unsigned char *pe, int match_sep));
194*7dd7cddfSDavid du Colombier void 	qsortp		ARGS((void **base, size_t n, int (*f)(void *, void *)));
195*7dd7cddfSDavid du Colombier int 	xstrcmp		ARGS((void *p1, void *p2));
196*7dd7cddfSDavid du Colombier void	ksh_getopt_reset ARGS((Getopt *go, int));
197*7dd7cddfSDavid du Colombier int	ksh_getopt	ARGS((char **argv, Getopt *go, const char *options));
198*7dd7cddfSDavid du Colombier void	print_value_quoted ARGS((const char *s));
199*7dd7cddfSDavid du Colombier void	print_columns	ARGS((struct shf *shf, int n,
200*7dd7cddfSDavid du Colombier 			      char *(*func)(void *, int, char *, int),
201*7dd7cddfSDavid du Colombier 			      void *arg, int max_width));
202*7dd7cddfSDavid du Colombier int	strip_nuls	ARGS((char *buf, int nbytes));
203*7dd7cddfSDavid du Colombier char	*str_zcpy	ARGS((char *dst, const char *src, int dsize));
204*7dd7cddfSDavid du Colombier int	blocking_read	ARGS((int fd, char *buf, int nbytes));
205*7dd7cddfSDavid du Colombier int	reset_nonblock	ARGS((int fd));
206*7dd7cddfSDavid du Colombier char	*ksh_get_wd	ARGS((char *buf, int bsize));
207*7dd7cddfSDavid du Colombier /* path.c */
208*7dd7cddfSDavid du Colombier int	make_path	ARGS((const char *cwd, const char *file,
209*7dd7cddfSDavid du Colombier 			      char **pathlist, XString *xsp, int *phys_pathp));
210*7dd7cddfSDavid du Colombier void	simplify_path	ARGS((char *path));
211*7dd7cddfSDavid du Colombier char	*get_phys_path	ARGS((const char *path));
212*7dd7cddfSDavid du Colombier void	set_current_wd	ARGS((char *path));
213*7dd7cddfSDavid du Colombier /* syn.c */
214*7dd7cddfSDavid du Colombier void 	initkeywords	ARGS((void));
215*7dd7cddfSDavid du Colombier struct op * compile	ARGS((Source *s));
216*7dd7cddfSDavid du Colombier /* table.c */
217*7dd7cddfSDavid du Colombier unsigned int 	hash	ARGS((const char *n));
218*7dd7cddfSDavid du Colombier void 	tinit		ARGS((struct table *tp, Area *ap, int tsize));
219*7dd7cddfSDavid du Colombier struct tbl *	tsearch	ARGS((struct table *tp, const char *n, unsigned int h));
220*7dd7cddfSDavid du Colombier struct tbl *	tenter	ARGS((struct table *tp, const char *n, unsigned int h));
221*7dd7cddfSDavid du Colombier void 	tdelete		ARGS((struct tbl *p));
222*7dd7cddfSDavid du Colombier void 	twalk		ARGS((struct tstate *ts, struct table *tp));
223*7dd7cddfSDavid du Colombier struct tbl *	tnext	ARGS((struct tstate *ts));
224*7dd7cddfSDavid du Colombier struct tbl **	tsort	ARGS((struct table *tp));
225*7dd7cddfSDavid du Colombier /* trace.c */
226*7dd7cddfSDavid du Colombier /* trap.c */
227*7dd7cddfSDavid du Colombier void	inittraps	ARGS((void));
228*7dd7cddfSDavid du Colombier #ifdef KSH
229*7dd7cddfSDavid du Colombier void	alarm_init	ARGS((void));
230*7dd7cddfSDavid du Colombier #endif /* KSH */
231*7dd7cddfSDavid du Colombier Trap *	gettrap		ARGS((const char *name, int igncase));
232*7dd7cddfSDavid du Colombier RETSIGTYPE trapsig	ARGS((int i));
233*7dd7cddfSDavid du Colombier void	intrcheck	ARGS((void));
234*7dd7cddfSDavid du Colombier int	fatal_trap_check ARGS((void));
235*7dd7cddfSDavid du Colombier int	trap_pending	ARGS((void));
236*7dd7cddfSDavid du Colombier void 	runtraps	ARGS((int intr));
237*7dd7cddfSDavid du Colombier void 	runtrap		ARGS((Trap *p));
238*7dd7cddfSDavid du Colombier void 	cleartraps	ARGS((void));
239*7dd7cddfSDavid du Colombier void 	restoresigs	ARGS((void));
240*7dd7cddfSDavid du Colombier void	settrap		ARGS((Trap *p, char *s));
241*7dd7cddfSDavid du Colombier int	block_pipe	ARGS((void));
242*7dd7cddfSDavid du Colombier void	restore_pipe	ARGS((int restore_dfl));
243*7dd7cddfSDavid du Colombier int	setsig		ARGS((Trap *p, handler_t f, int flags));
244*7dd7cddfSDavid du Colombier void	setexecsig	ARGS((Trap *p, int restore));
245*7dd7cddfSDavid du Colombier /* tree.c */
246*7dd7cddfSDavid du Colombier int 	fptreef		ARGS((struct shf *f, int indent, const char *fmt, ...));
247*7dd7cddfSDavid du Colombier char *	snptreef	ARGS((char *s, int n, const char *fmt, ...));
248*7dd7cddfSDavid du Colombier struct op *	tcopy	ARGS((struct op *t, Area *ap));
249*7dd7cddfSDavid du Colombier char *	wdcopy		ARGS((const char *wp, Area *ap));
250*7dd7cddfSDavid du Colombier char *	wdscan		ARGS((const char *wp, int c));
251*7dd7cddfSDavid du Colombier char *	wdstrip		ARGS((const char *wp));
252*7dd7cddfSDavid du Colombier void 	tfree		ARGS((struct op *t, Area *ap));
253*7dd7cddfSDavid du Colombier /* var.c */
254*7dd7cddfSDavid du Colombier void 	newblock	ARGS((void));
255*7dd7cddfSDavid du Colombier void 	popblock	ARGS((void));
256*7dd7cddfSDavid du Colombier void	initvar		ARGS((void));
257*7dd7cddfSDavid du Colombier struct tbl *	global	ARGS((const char *n));
258*7dd7cddfSDavid du Colombier struct tbl *	local	ARGS((const char *n, bool_t copy));
259*7dd7cddfSDavid du Colombier char *	str_val		ARGS((struct tbl *vp));
260*7dd7cddfSDavid du Colombier long 	intval		ARGS((struct tbl *vp));
261*7dd7cddfSDavid du Colombier int 	setstr		ARGS((struct tbl *vq, const char *s, int error_ok));
262*7dd7cddfSDavid du Colombier struct tbl *setint_v	ARGS((struct tbl *vq, struct tbl *vp));
263*7dd7cddfSDavid du Colombier void 	setint		ARGS((struct tbl *vq, long n));
264*7dd7cddfSDavid du Colombier int	getint		ARGS((struct tbl *vp, long *nump));
265*7dd7cddfSDavid du Colombier struct tbl *	typeset	ARGS((const char *var, Tflag set, Tflag clr, int field, int base));
266*7dd7cddfSDavid du Colombier void 	unset		ARGS((struct tbl *vp, int array_ref));
267*7dd7cddfSDavid du Colombier char  * skip_varname	ARGS((const char *s, int aok));
268*7dd7cddfSDavid du Colombier char	*skip_wdvarname ARGS((const char *s, int aok));
269*7dd7cddfSDavid du Colombier int	is_wdvarname	ARGS((const char *s, int aok));
270*7dd7cddfSDavid du Colombier int	is_wdvarassign	ARGS((const char *s));
271*7dd7cddfSDavid du Colombier char **	makenv		ARGS((void));
272*7dd7cddfSDavid du Colombier void	change_random	ARGS((void));
273*7dd7cddfSDavid du Colombier int	array_ref_len	ARGS((const char *cp));
274*7dd7cddfSDavid du Colombier char *	arrayname	ARGS((const char *str));
275*7dd7cddfSDavid du Colombier void    set_array	ARGS((const char *var, int reset, char **vals));
276*7dd7cddfSDavid du Colombier /* version.c */
277*7dd7cddfSDavid du Colombier /* vi.c: see edit.h */
278*7dd7cddfSDavid du Colombier 
279*7dd7cddfSDavid du Colombier 
280*7dd7cddfSDavid du Colombier /* Hack to avoid billions of compile warnings on SunOS 4.1.x */
281*7dd7cddfSDavid du Colombier #if defined(MUN) && defined(sun) && !defined(__svr4__)
282*7dd7cddfSDavid du Colombier extern void bcopy ARGS((const void *src, void *dst, size_t size));
283*7dd7cddfSDavid du Colombier extern int fclose ARGS((FILE *fp));
284*7dd7cddfSDavid du Colombier extern int fprintf ARGS((FILE *fp, const char *fmt, ...));
285*7dd7cddfSDavid du Colombier extern int fread ARGS((void *buf, int size, int num, FILE *fp));
286*7dd7cddfSDavid du Colombier extern int ioctl ARGS((int fd, int request, void *arg));
287*7dd7cddfSDavid du Colombier extern int killpg ARGS((int pgrp, int sig));
288*7dd7cddfSDavid du Colombier extern int nice ARGS((int n));
289*7dd7cddfSDavid du Colombier extern int readlink ARGS((const char *path, char *buf, int bufsize));
290*7dd7cddfSDavid du Colombier extern int setpgrp ARGS((int pid, int pgrp));
291*7dd7cddfSDavid du Colombier extern int strcasecmp ARGS((const char *s1, const char *s2));
292*7dd7cddfSDavid du Colombier extern int tolower ARGS((int));
293*7dd7cddfSDavid du Colombier extern int toupper ARGS((int));
294*7dd7cddfSDavid du Colombier /*  Include files aren't included yet */
295*7dd7cddfSDavid du Colombier extern int getrlimit ARGS(( /* int resource, struct rlimit *rpl */ ));
296*7dd7cddfSDavid du Colombier extern int getrusage ARGS(( /* int who, struct rusage *rusage */ ));
297*7dd7cddfSDavid du Colombier extern int gettimeofday ARGS(( /* struct timeval *tv, struct timezone *tz */ ));
298*7dd7cddfSDavid du Colombier extern int setrlimit ARGS(( /* int resource, struct rlimit *rlp */ ));
299*7dd7cddfSDavid du Colombier extern int lstat ARGS(( /* const char *path, struct stat *buf */ ));
300*7dd7cddfSDavid du Colombier #endif
301