1*65359Sbostic /***************************************************************************
2*65359Sbostic  * This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne.  JOVE *
3*65359Sbostic  * is provided to you without charge, and with no warranty.  You may give  *
4*65359Sbostic  * away copies of JOVE, including sources, provided that this notice is    *
5*65359Sbostic  * included in all the files.                                              *
6*65359Sbostic  ***************************************************************************/
7*65359Sbostic 
8*65359Sbostic extern char
9*65359Sbostic /* proc.c */
10*65359Sbostic 	*MakeName proto((char *command)),
11*65359Sbostic 
12*65359Sbostic /* ask.c */
13*65359Sbostic 	*ask_file proto((const char *prmt, char *def, char *buf)),
14*65359Sbostic 	*ask proto((char *, char *, ...)),
15*65359Sbostic 	*do_ask proto((char *, bool (*) proto((int)), char *, const char *, ...));
16*65359Sbostic 
17*65359Sbostic extern int
18*65359Sbostic 	yes_or_no_p proto((char *, ...));
19*65359Sbostic 
20*65359Sbostic extern void
21*65359Sbostic 	minib_add proto((char *str, bool movedown));
22*65359Sbostic 
23*65359Sbostic extern void
24*65359Sbostic 	isprocbuf proto((char *bufname)),
25*65359Sbostic 	DoAutoExec proto((char *new, char *old));
26*65359Sbostic 
27*65359Sbostic extern void
28*65359Sbostic 	/* extend.c */
29*65359Sbostic 	vpr_aux proto((const struct variable *, char *, size_t)),
30*65359Sbostic 
31*65359Sbostic 	/* proc.c */
32*65359Sbostic #ifndef	MSDOS
33*65359Sbostic 	dowait proto((int pid, int *status)),
34*65359Sbostic #endif
35*65359Sbostic 	get_FL_info proto((char *, char *)),
36*65359Sbostic 	ChkErrorLines proto((void)),
37*65359Sbostic 	ErrFree proto((void));
38*65359Sbostic 
39*65359Sbostic extern SIGRESULT
40*65359Sbostic /* jove.c */
41*65359Sbostic 	finish proto((int code));	/* doesn't return at all! */
42*65359Sbostic 
43*65359Sbostic extern int
44*65359Sbostic /* ctype.h */
45*65359Sbostic 	ismword proto((int c)),
46*65359Sbostic 
47*65359Sbostic /* proc.c */
48*65359Sbostic 	UnixToBuf proto((char *, char *, bool, int, bool, ...)),
49*65359Sbostic 
50*65359Sbostic /* extend.c */
51*65359Sbostic 	addgetc proto((void)),
52*65359Sbostic 	ask_int proto((char *prompt, int base)),
53*65359Sbostic 	chr_to_int proto((char *cp, int base, int allints, int *result)),
54*65359Sbostic 	complete proto((char **possible, const char *prompt, int flags)),
55*65359Sbostic 
56*65359Sbostic /* jove.c */
57*65359Sbostic #ifdef	MAC
58*65359Sbostic 	win_reshape proto((int /*junk*/)),
59*65359Sbostic #endif
60*65359Sbostic 	charp proto((void)),
61*65359Sbostic 	getch proto((void)),
62*65359Sbostic 	jgetchar proto((void)),
63*65359Sbostic 	getrawinchar proto((void));
64*65359Sbostic 
65*65359Sbostic #ifdef	LOAD_AV
66*65359Sbostic extern int
67*65359Sbostic 	get_la proto((void));	/* integer, units of .01 */
68*65359Sbostic 
69*65359Sbostic extern void
70*65359Sbostic 	closekmem proto((void));
71*65359Sbostic #endif	/* LOAD_AV */
72*65359Sbostic 
73*65359Sbostic extern bool
74*65359Sbostic 	joverc proto((char *file));
75*65359Sbostic 
76*65359Sbostic extern void
77*65359Sbostic 	raw_scream proto((const char *)),
78*65359Sbostic 	error proto((const char *, ...)),
79*65359Sbostic 	complain proto((const char *, ...)),
80*65359Sbostic 	raw_complain proto((const char *, ...)),
81*65359Sbostic 	confirm proto((const char *, ...)),
82*65359Sbostic 	ttyset proto((bool n)),
83*65359Sbostic 	tty_reset proto ((void)),
84*65359Sbostic 	Ungetc proto((int c));
85*65359Sbostic 
86*65359Sbostic 
87*65359Sbostic #ifdef	IBMPC
88*65359Sbostic extern bool
89*65359Sbostic 	rawkey_ready proto((void));
90*65359Sbostic extern char
91*65359Sbostic 	switchar proto((void));
92*65359Sbostic #endif
93*65359Sbostic 
94*65359Sbostic extern Bufpos
95*65359Sbostic /* insert.c */
96*65359Sbostic 	*DoYank proto((struct line *fline, int fchar, struct line *tline, int tchar, struct line *atline, int atchar, struct buffer *whatbuf));
97*65359Sbostic 
98*65359Sbostic extern void
99*65359Sbostic 	LineInsert proto((int num));
100*65359Sbostic 
101*65359Sbostic /* c.c */
102*65359Sbostic extern Bufpos
103*65359Sbostic 	*c_indent proto((int brace)),
104*65359Sbostic 	*m_paren proto((int p_type, int dir, int can_mismatch, int can_stop));
105*65359Sbostic 
106*65359Sbostic extern void
107*65359Sbostic 	mp_error proto((void));
108*65359Sbostic 
109*65359Sbostic extern unsigned char
110*65359Sbostic 	chpl proto((void)),
111*65359Sbostic 	lpp proto((void));
112*65359Sbostic 
113*65359Sbostic extern void
114*65359Sbostic 	DoJustify proto((struct line *l1, int c1, struct line *l2, int c2, bool scrunch, int indent)),
115*65359Sbostic 
116*65359Sbostic 	/* abbrev.c */
117*65359Sbostic #ifdef	ABBREV
118*65359Sbostic 	AbbrevExpand proto((void)),
119*65359Sbostic #endif
120*65359Sbostic 
121*65359Sbostic 	/* disp.c */
122*65359Sbostic 	message proto((char *)),
123*65359Sbostic 
124*65359Sbostic 	/* insert.c */
125*65359Sbostic #ifdef	ABBREV
126*65359Sbostic 	MaybeAbbrevExpand proto((void)),
127*65359Sbostic #endif
128*65359Sbostic 	GCchunks proto((void)),
129*65359Sbostic 
130*65359Sbostic 	/* fmt.c */
131*65359Sbostic 	format proto((char *buf, size_t len, const char *fmt, char *ap)),
132*65359Sbostic 	add_mess proto((const char *, ...)),
133*65359Sbostic 	f_mess proto((const char *, ...)),
134*65359Sbostic 	fwritef proto((struct FileStruct *, const char *, ...)),
135*65359Sbostic 	writef proto((const char *, ...)),
136*65359Sbostic 	s_mess proto((const char *, ...)),
137*65359Sbostic 	swritef proto((char *, size_t, const char *, ...)),
138*65359Sbostic 
139*65359Sbostic 	/* keymaps.c */
140*65359Sbostic 	InitKeymaps proto((void)),
141*65359Sbostic 
142*65359Sbostic 	/* paragraph.c */
143*65359Sbostic 	do_rfill proto((bool ulm)),
144*65359Sbostic 
145*65359Sbostic 	/* macros.c */
146*65359Sbostic 	mac_init proto((void)),
147*65359Sbostic 
148*65359Sbostic 	/* misc.c */
149*65359Sbostic 	skip_wht_space proto((void)),
150*65359Sbostic 	put_bufs proto((bool askp)),
151*65359Sbostic 
152*65359Sbostic 	/* term.c */
153*65359Sbostic #ifndef	IBMPC
154*65359Sbostic 	getTERM proto((void)),
155*65359Sbostic #endif
156*65359Sbostic 	putpad proto((char *str, int lines)),
157*65359Sbostic 	putargpad proto((char *str, int arg, int lines)),
158*65359Sbostic 	settout proto((char *ttbuf));
159*65359Sbostic 
160*65359Sbostic #ifdef	IBMPC
161*65359Sbostic extern void
162*65359Sbostic 	write_em proto((char *s)),
163*65359Sbostic 	write_emc proto((char *s, int n)),
164*65359Sbostic 	write_emif proto((char *s));
165*65359Sbostic #endif
166*65359Sbostic 
167*65359Sbostic #ifdef	MAC
168*65359Sbostic 
169*65359Sbostic extern int
170*65359Sbostic 	creat proto((char *, int)),
171*65359Sbostic 	open proto((const char *, int, ...)),
172*65359Sbostic 	close proto((int)),
173*65359Sbostic 	read proto((int, const char *, unsigned)),
174*65359Sbostic 	write proto((int, const char *, unsigned)),
175*65359Sbostic 	unlink proto((const char *)),
176*65359Sbostic 	chdir proto((const char *)),
177*65359Sbostic 	getArgs proto((char ***));
178*65359Sbostic 
179*65359Sbostic extern bool
180*65359Sbostic 	rawchkc proto((void));
181*65359Sbostic 
182*65359Sbostic extern long
183*65359Sbostic 	lseek proto((int, long, unsigned));
184*65359Sbostic 
185*65359Sbostic extern time_t
186*65359Sbostic 	time proto((time_t *));
187*65359Sbostic 
188*65359Sbostic #endif	/* MAC */
189*65359Sbostic 
190*65359Sbostic extern char
191*65359Sbostic 	*pwd proto((void)),
192*65359Sbostic #ifdef	MAC
193*65359Sbostic 	*getwd proto((void)),	/* OOPS: same name, different type! */
194*65359Sbostic #else
195*65359Sbostic 	*getwd proto((char *)),
196*65359Sbostic #endif
197*65359Sbostic 	*pfile proto((char *)),
198*65359Sbostic 	*gfile proto((char *));
199*65359Sbostic 
200*65359Sbostic #ifdef	MAC
201*65359Sbostic extern void
202*65359Sbostic 	MacInit proto((void)),
203*65359Sbostic 	InitBinds proto((void)),
204*65359Sbostic 	NPlacur proto((int, int)),
205*65359Sbostic 	i_lines proto((int, int, int)),
206*65359Sbostic 	d_lines proto((int, int, int)),
207*65359Sbostic 	clr_page proto((void)),
208*65359Sbostic 	clr_eoln proto((void)),
209*65359Sbostic 	docontrols proto((void)),
210*65359Sbostic 	RemoveScrollBar proto((Window *)),
211*65359Sbostic 	InitEvents proto((void)),
212*65359Sbostic 	menus_on proto((void)),
213*65359Sbostic 	menus_off proto((void));
214*65359Sbostic #endif
215*65359Sbostic 
216*65359Sbostic /* Wired Commands */
217*65359Sbostic 
218*65359Sbostic extern void
219*65359Sbostic 	UnbindC proto((void)),
220*65359Sbostic 	ShowVersion proto((void)),
221*65359Sbostic 	WVisSpace proto((void)),
222*65359Sbostic 	AppReg proto((void)),
223*65359Sbostic 	Apropos proto((void)),
224*65359Sbostic 	BackChar proto((void)),
225*65359Sbostic 	BList proto((void)),
226*65359Sbostic 	FList proto((void)),
227*65359Sbostic 	BUpList proto((void)),
228*65359Sbostic 	FDownList proto((void)),
229*65359Sbostic 	BSexpr proto((void)),
230*65359Sbostic 	BackWord proto((void)),
231*65359Sbostic 	Bof proto((void)),
232*65359Sbostic 	Bol proto((void)),
233*65359Sbostic 	Bos proto((void)),
234*65359Sbostic 	Bow proto((void)),
235*65359Sbostic 	BindAKey proto((void)),
236*65359Sbostic 	BindMac proto((void)),
237*65359Sbostic 	BufPos proto((void)),
238*65359Sbostic #ifdef	MSDOS
239*65359Sbostic 	Buf0Select proto((void)),
240*65359Sbostic 	Buf1Select proto((void)),
241*65359Sbostic 	Buf2Select proto((void)),
242*65359Sbostic 	Buf3Select proto((void)),
243*65359Sbostic 	Buf4Select proto((void)),
244*65359Sbostic 	Buf5Select proto((void)),
245*65359Sbostic 	Buf6Select proto((void)),
246*65359Sbostic 	Buf7Select proto((void)),
247*65359Sbostic 	Buf8Select proto((void)),
248*65359Sbostic 	Buf9Select proto((void)),
249*65359Sbostic 	Buf10Select proto((void)),
250*65359Sbostic #endif	/* MSDOS */
251*65359Sbostic 	CasRegLower proto((void)),
252*65359Sbostic 	CasRegUpper proto((void)),
253*65359Sbostic 	CapChar proto((void)),
254*65359Sbostic 	CapWord proto((void)),
255*65359Sbostic 	LowWord proto((void)),
256*65359Sbostic 	UppWord proto((void)),
257*65359Sbostic 	Chdir proto((void)),
258*65359Sbostic 	prCWD proto((void)),
259*65359Sbostic 	prDIRS proto((void)),
260*65359Sbostic 	Pushd proto((void)),
261*65359Sbostic 	Popd proto((void)),
262*65359Sbostic 	prCTIME proto((void)),
263*65359Sbostic 	ChrToOct proto((void)),
264*65359Sbostic 	ClAndRedraw proto((void)),
265*65359Sbostic #ifndef	MAC
266*65359Sbostic 	MakeErrors proto((void)),
267*65359Sbostic 	ErrParse proto((void)),
268*65359Sbostic #endif
269*65359Sbostic 	CopyRegion proto((void)),
270*65359Sbostic 	BufSelect proto((void)),
271*65359Sbostic 	DelBlnkLines proto((void)),
272*65359Sbostic 	DelNChar proto((void)),
273*65359Sbostic 	DelNWord proto((void)),
274*65359Sbostic 	OneWindow proto((void)),
275*65359Sbostic 	DelPChar proto((void)),
276*65359Sbostic 	DelPWord proto((void)),
277*65359Sbostic 	DelReg proto((void)),
278*65359Sbostic 	KillSome proto((void)),
279*65359Sbostic 	DelWtSpace proto((void)),
280*65359Sbostic 	DelCurWindow proto((void)),
281*65359Sbostic 	KeyDesc proto((void)),
282*65359Sbostic 	Digit proto((void)),
283*65359Sbostic 	Digit0 proto((void)),
284*65359Sbostic 	Digit1 proto((void)),
285*65359Sbostic 	Digit2 proto((void)),
286*65359Sbostic 	Digit3 proto((void)),
287*65359Sbostic 	Digit4 proto((void)),
288*65359Sbostic 	Digit5 proto((void)),
289*65359Sbostic 	Digit6 proto((void)),
290*65359Sbostic 	Digit7 proto((void)),
291*65359Sbostic 	Digit8 proto((void)),
292*65359Sbostic 	Digit9 proto((void)),
293*65359Sbostic 	DescBindings proto((void)),
294*65359Sbostic 	DescCom proto((void)),
295*65359Sbostic 	Eof proto((void)),
296*65359Sbostic 	Eol proto((void)),
297*65359Sbostic 	Eos proto((void)),
298*65359Sbostic 	Eow proto((void)),
299*65359Sbostic 	ForPara proto((void)),
300*65359Sbostic 	BackPara proto((void)),
301*65359Sbostic 	BufErase proto((void)),
302*65359Sbostic 	PtToMark proto((void)),
303*65359Sbostic 	Extend proto((void)),
304*65359Sbostic 	ExecMacro proto((void)),
305*65359Sbostic 	RunMacro proto((void)),
306*65359Sbostic 	Leave proto((void)),
307*65359Sbostic 	FindFile proto((void)),
308*65359Sbostic 	WindFind proto((void)),
309*65359Sbostic 	FindTag proto((void)),
310*65359Sbostic 	FDotTag proto((void)),
311*65359Sbostic 	ToIndent proto((void)),
312*65359Sbostic 	ForChar proto((void)),
313*65359Sbostic 	FSexpr proto((void)),
314*65359Sbostic 	ForWord proto((void)),
315*65359Sbostic 	TimesFour proto((void)),
316*65359Sbostic 	GoLine proto((void)),
317*65359Sbostic 	GrowWindowCmd proto((void)),
318*65359Sbostic 	IncFSearch proto((void)),
319*65359Sbostic 	IncRSearch proto((void)),
320*65359Sbostic 	InsFile proto((void)),
321*65359Sbostic 	Justify proto((void)),
322*65359Sbostic 	RegJustify proto((void)),
323*65359Sbostic 	SetLMargin proto((void)),
324*65359Sbostic 	SetRMargin proto((void)),
325*65359Sbostic 	LRShift proto((void)),
326*65359Sbostic 	RRShift proto((void)),
327*65359Sbostic 	BufKill proto((void)),
328*65359Sbostic 	KillBos proto((void)),
329*65359Sbostic 	KillEos proto((void)),
330*65359Sbostic 	KillEOL proto((void)),
331*65359Sbostic 	KillExpr proto((void)),
332*65359Sbostic 	BufList proto((void)),
333*65359Sbostic 	NotModified proto((void)),
334*65359Sbostic 	NameMac proto((void)),
335*65359Sbostic 	DelMacro proto((void)),
336*65359Sbostic 	Newline proto((void)),
337*65359Sbostic 	OpenLine proto((void)),
338*65359Sbostic 	LineAI proto((void)),
339*65359Sbostic #ifndef	MAC
340*65359Sbostic 	ShowErr proto((void)),
341*65359Sbostic 	NextError proto((void)),
342*65359Sbostic 	PrevError proto((void)),
343*65359Sbostic 	ParseAll proto((void)),
344*65359Sbostic #endif	/* MAC */
345*65359Sbostic #ifdef	MSDOS
346*65359Sbostic 	PageScrollUp proto((void)),
347*65359Sbostic 	PageScrollDown proto((void)),
348*65359Sbostic #endif	/* MSDOS */
349*65359Sbostic 	NextLine proto((void)),
350*65359Sbostic 	NextPage proto((void)),
351*65359Sbostic 	NextWindow proto((void)),
352*65359Sbostic 	Recur proto((void)),
353*65359Sbostic 	PopMark proto((void)),
354*65359Sbostic 	PageNWind proto((void)),
355*65359Sbostic 	Tab proto((void)),
356*65359Sbostic 	DoParen proto((void)),
357*65359Sbostic #ifdef	SPELL
358*65359Sbostic 	SpelWords proto((void)),
359*65359Sbostic #endif
360*65359Sbostic #ifdef	JOB_CONTROL
361*65359Sbostic 	PauseJove proto((void)),
362*65359Sbostic #endif
363*65359Sbostic 	PrevLine proto((void)),
364*65359Sbostic 	PrevPage proto((void)),
365*65359Sbostic 	PrevWindow proto((void)),
366*65359Sbostic #ifndef	MAC
367*65359Sbostic 	jcloseall proto((void)),
368*65359Sbostic 	Push proto((void)),
369*65359Sbostic #endif
370*65359Sbostic 	RegReplace proto((void)),
371*65359Sbostic 	QRepSearch proto((void)),
372*65359Sbostic 	QuotChar proto((void)),
373*65359Sbostic 	ReadFile proto((void)),
374*65359Sbostic 	DefKBDMac proto((void)),
375*65359Sbostic 	RedrawDisplay proto((void)),
376*65359Sbostic 	ReNamBuf proto((void)),
377*65359Sbostic 	RepSearch proto((void)),
378*65359Sbostic 	DownScroll proto((void)),
379*65359Sbostic 	UpScroll proto((void)),
380*65359Sbostic 	ForSearch proto((void)),
381*65359Sbostic 	FSrchND proto((void)),
382*65359Sbostic 	RevSearch proto((void)),
383*65359Sbostic 	RSrchND proto((void)),
384*65359Sbostic 	SelfInsert proto((void)),
385*65359Sbostic 	SetVar proto((void)),
386*65359Sbostic 	SetMark proto((void)),
387*65359Sbostic #ifndef	MAC
388*65359Sbostic 	ShellCom proto((void)),
389*65359Sbostic 	ShNoBuf proto((void)),
390*65359Sbostic 	Shtypeout proto((void)),
391*65359Sbostic 	ShToBuf proto((void)),
392*65359Sbostic 	FilterRegion proto((void)),
393*65359Sbostic #endif
394*65359Sbostic 	ShrWindow proto((void)),
395*65359Sbostic 	Source proto((void)),
396*65359Sbostic #ifdef	SPELL
397*65359Sbostic 	SpelBuffer proto((void)),
398*65359Sbostic #endif
399*65359Sbostic 	SplitWind proto((void)),
400*65359Sbostic 	GotoWind proto((void)),
401*65359Sbostic 	Remember proto((void)),
402*65359Sbostic 	Forget proto((void)),
403*65359Sbostic 	StrLength proto((void)),
404*65359Sbostic 	TransChar proto((void)),
405*65359Sbostic 	TransLines proto((void)),
406*65359Sbostic 	SaveFile proto((void)),
407*65359Sbostic 	WtModBuf proto((void)),
408*65359Sbostic 	WriteMacs proto((void)),
409*65359Sbostic 	XtermMouse proto((void)),
410*65359Sbostic 	WrtReg proto((void)),
411*65359Sbostic 	Yank proto((void)),
412*65359Sbostic 	YankPop proto((void)),
413*65359Sbostic 	PrVar proto((void)),
414*65359Sbostic 	WNumLines proto((void)),
415*65359Sbostic #ifdef	IPROCS
416*65359Sbostic 	ShellProc proto((void)),
417*65359Sbostic 	ProcInt proto((void)),
418*65359Sbostic 	ProcQuit proto((void)),
419*65359Sbostic 	ProcKill proto((void)),
420*65359Sbostic #  ifdef	PTYPROCS
421*65359Sbostic 	ProcEof proto((void)),
422*65359Sbostic 	ProcStop proto((void)),
423*65359Sbostic 	ProcCont proto((void)),
424*65359Sbostic 	ProcDStop proto((void)),
425*65359Sbostic #  endif
426*65359Sbostic 	ProcSendData proto((void)),
427*65359Sbostic 	ProcNewline proto((void)),
428*65359Sbostic 	ProcList proto((void)),
429*65359Sbostic 	ProcBind proto((void)),
430*65359Sbostic 	Iprocess proto((void)),
431*65359Sbostic 	DBXpoutput proto((void)),
432*65359Sbostic #endif
433*65359Sbostic 
434*65359Sbostic #ifdef	LISP
435*65359Sbostic 	GSexpr proto((void)),	/* Grind S Expression. */
436*65359Sbostic 	AddSpecial proto((void)),	/* add lisp special form */
437*65359Sbostic #endif
438*65359Sbostic 	CAutoExec proto((void)),
439*65359Sbostic 	MAutoExec proto((void)),
440*65359Sbostic 
441*65359Sbostic 	DefMAbbrev proto((void)),
442*65359Sbostic 	DefGAbbrev proto((void)),
443*65359Sbostic 	SaveAbbrevs proto((void)),
444*65359Sbostic 	RestAbbrevs proto((void)),
445*65359Sbostic 	EditAbbrevs proto((void)),
446*65359Sbostic 	BindMtoW proto((void)),
447*65359Sbostic 
448*65359Sbostic #ifdef	CMT_FMT
449*65359Sbostic 	Comment proto((void)),
450*65359Sbostic #endif
451*65359Sbostic 
452*65359Sbostic 	ScrollLeft proto((void)),
453*65359Sbostic 	ScrollRight proto((void)),
454*65359Sbostic 
455*65359Sbostic 	MakeKMap proto((void)),
456*65359Sbostic 	KmBind proto((void)),
457*65359Sbostic 	ProcKmBind proto((void)),
458*65359Sbostic 
459*65359Sbostic 	MacInter proto((void));		/* This is the last one. */
460*65359Sbostic 
461*65359Sbostic /*==== Declarations of Library/System Routines ====*/
462*65359Sbostic 
463*65359Sbostic extern int	errno;	/* Redundant if declared in <errno.h> -- DHR */
464*65359Sbostic extern char *strerror proto((int));	/* errno.h or string.h? */
465*65359Sbostic 
466*65359Sbostic /* General Utilities: <stdlib.h> */
467*65359Sbostic 
468*65359Sbostic extern int	abs proto((int));
469*65359Sbostic 
470*65359Sbostic extern void	abort proto((void));
471*65359Sbostic extern void	exit proto((int));
472*65359Sbostic 
473*65359Sbostic extern int	atoi proto((const char */*nptr*/));
474*65359Sbostic 
475*65359Sbostic extern void	qsort proto((UnivPtr /*base*/, size_t /*nmemb*/,
476*65359Sbostic 	size_t /*size*/, int (*/*compar*/)(UnivConstPtr, UnivConstPtr)));
477*65359Sbostic 
478*65359Sbostic extern char	*getenv proto((const char *));
479*65359Sbostic extern int	system proto((const char *));
480*65359Sbostic 
481*65359Sbostic extern void
482*65359Sbostic 	free proto((UnivPtr));
483*65359Sbostic 
484*65359Sbostic extern UnivPtr
485*65359Sbostic 	calloc proto((unsigned int, unsigned int)),
486*65359Sbostic 	malloc proto((size_t)),
487*65359Sbostic 	realloc proto((UnivPtr, size_t));
488*65359Sbostic 
489*65359Sbostic /* Date and Time <time.h> */
490*65359Sbostic 
491*65359Sbostic extern time_t	time proto((time_t */*tloc*/));
492*65359Sbostic extern char	*ctime proto((const time_t *));
493*65359Sbostic 
494*65359Sbostic /* UNIX */
495*65359Sbostic 
496*65359Sbostic #ifdef	IBMPC
497*65359Sbostic #define const	/* the const's in the following defs conflict with MSC 5.1 */
498*65359Sbostic #endif
499*65359Sbostic 
500*65359Sbostic #ifdef	POSIX_UNISTD
501*65359Sbostic # include <unistd.h>
502*65359Sbostic #else	/* !POSIX_UNISTD */
503*65359Sbostic extern int	chdir proto((const char */*path*/));
504*65359Sbostic extern int	access proto((const char */*path*/, int /*mode*/));
505*65359Sbostic extern int	creat proto((const char */*path*/, int /*mode*/));
506*65359Sbostic 	/* Open may have an optional third argument, int mode */
507*65359Sbostic extern int	open proto((const char */*path*/, int /*flags*/, ...));
508*65359Sbostic 
509*65359Sbostic 
510*65359Sbostic #ifdef	IBMPC
511*65359Sbostic extern int	read proto((int /*fd*/, char * /*buf*/, size_t /*nbytes*/));
512*65359Sbostic extern int	write proto((int /*fd*/, const char * /*buf*/, size_t /*nbytes*/));
513*65359Sbostic #else
514*65359Sbostic extern int	read proto((int /*fd*/, UnivPtr /*buf*/, size_t /*nbytes*/));
515*65359Sbostic extern int	write proto((int /*fd*/, UnivConstPtr /*buf*/, size_t /*nbytes*/));
516*65359Sbostic #endif
517*65359Sbostic 
518*65359Sbostic extern int	execl proto((const char */*name*/, const char */*arg0*/, ...));
519*65359Sbostic extern int	execlp proto((const char */*name*/, const char */*arg0*/, ...));
520*65359Sbostic extern int	execv proto((const char */*name*/, const char */*argv*/[]));
521*65359Sbostic extern int	execvp proto((const char */*name*/, const char */*argv*/[]));
522*65359Sbostic 
523*65359Sbostic #ifdef	IBMPC
524*65359Sbostic #undef const
525*65359Sbostic #endif
526*65359Sbostic 
527*65359Sbostic extern void	_exit proto((int));	/* exit(), without flush, etc */
528*65359Sbostic 
529*65359Sbostic extern unsigned	alarm proto((unsigned /*seconds*/));
530*65359Sbostic 
531*65359Sbostic extern int	pipe proto((int *));
532*65359Sbostic extern int	close proto((int));
533*65359Sbostic extern int	dup proto((int));
534*65359Sbostic extern int	dup2 proto((int /*old_fd*/, int /*new_fd*/));
535*65359Sbostic extern long	lseek proto((int /*fd*/, long /*offset*/, int /*whence*/));
536*65359Sbostic extern int	fchmod proto((int /*fd*/, int /*mode*/));
537*65359Sbostic extern int	fork proto((void));
538*65359Sbostic 
539*65359Sbostic extern int	getpid proto((void));
540*65359Sbostic extern int	getuid proto((void));
541*65359Sbostic 
542*65359Sbostic extern int	setuid proto((int));
543*65359Sbostic extern int	chown proto((const char *, int, int));
544*65359Sbostic 
545*65359Sbostic extern int	kill proto((int /*pid*/, int /*sig*/));
546*65359Sbostic extern void	perror proto((const char *));
547*65359Sbostic 
548*65359Sbostic #endif	/* POSIX_UNISTD */
549*65359Sbostic 
550*65359Sbostic extern int	unlink proto((const char */*path*/));
551*65359Sbostic extern int	fsync proto((int));
552*65359Sbostic 
553*65359Sbostic 
554*65359Sbostic extern char	*mktemp proto((char *));
555*65359Sbostic 
556*65359Sbostic 
557*65359Sbostic /* BSD UNIX
558*65359Sbostic  *
559*65359Sbostic  * Note: in most systems, declaration of a non-existant function is
560*65359Sbostic  * OK if the function is never actually called.  The parentheses around
561*65359Sbostic  * the name prevent any macro expansion.
562*65359Sbostic  */
563*65359Sbostic 
564*65359Sbostic extern int	UNMACRO(vfork) proto((void));
565*65359Sbostic 
566*65359Sbostic #ifdef	BSD_SIGS
567*65359Sbostic #ifndef BSD386
568*65359Sbostic extern int	UNMACRO(killpg) proto((int /*pgrp*/, int /*sig*/));
569*65359Sbostic #endif
570*65359Sbostic #endif
571*65359Sbostic 
572*65359Sbostic #ifndef BSD386
573*65359Sbostic extern int	UNMACRO(setpgrp) proto((int /*pid*/, int /*pgrp*/));	/* Sys V takes no arg */
574*65359Sbostic #endif
575*65359Sbostic 
576*65359Sbostic #ifdef	REALSTDC
577*65359Sbostic struct timeval;	/* forward declaration preventing prototype scoping */
578*65359Sbostic #endif
579*65359Sbostic 
580*65359Sbostic #ifndef BSD386
581*65359Sbostic extern int	UNMACRO(select) proto((int /*width*/, fd_set */*readfds*/, fd_set */*writefds*/,
582*65359Sbostic 	fd_set */*exceptfds*/, struct timeval */*timeout*/));
583*65359Sbostic #endif
584*65359Sbostic 
585*65359Sbostic extern void	UNMACRO(bcopy) proto((UnivConstPtr, UnivPtr, size_t));
586*65359Sbostic extern void	UNMACRO(bzero) proto((UnivPtr, size_t));
587*65359Sbostic 
588*65359Sbostic /* termcap */
589*65359Sbostic 
590*65359Sbostic extern int	UNMACRO(tgetent) proto((char */*buf*/, const char */*name*/));
591*65359Sbostic extern int	UNMACRO(tgetflag) proto((const char */*id*/));
592*65359Sbostic extern int	UNMACRO(tgetnum) proto((const char */*id*/));
593*65359Sbostic extern char	*UNMACRO(tgetstr) proto((const char */*id*/, char **/*area*/));
594*65359Sbostic extern void	UNMACRO(tputs) proto((const char *, int, void (*) proto((int))));
595*65359Sbostic extern char	*UNMACRO(tgoto) proto((const char *, int /*destcol*/, int /*destline*/));
596