165359Sbostic /***************************************************************************
265359Sbostic  * This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne.  JOVE *
365359Sbostic  * is provided to you without charge, and with no warranty.  You may give  *
465359Sbostic  * away copies of JOVE, including sources, provided that this notice is    *
565359Sbostic  * included in all the files.                                              *
665359Sbostic  ***************************************************************************/
765359Sbostic 
865359Sbostic extern char
965359Sbostic /* proc.c */
1065359Sbostic 	*MakeName proto((char *command)),
1165359Sbostic 
1265359Sbostic /* ask.c */
1365359Sbostic 	*ask_file proto((const char *prmt, char *def, char *buf)),
1465359Sbostic 	*ask proto((char *, char *, ...)),
1565359Sbostic 	*do_ask proto((char *, bool (*) proto((int)), char *, const char *, ...));
1665359Sbostic 
1765359Sbostic extern int
1865359Sbostic 	yes_or_no_p proto((char *, ...));
1965359Sbostic 
2065359Sbostic extern void
2165359Sbostic 	minib_add proto((char *str, bool movedown));
2265359Sbostic 
2365359Sbostic extern void
2465359Sbostic 	isprocbuf proto((char *bufname)),
2565359Sbostic 	DoAutoExec proto((char *new, char *old));
2665359Sbostic 
2765359Sbostic extern void
2865359Sbostic 	/* extend.c */
2965359Sbostic 	vpr_aux proto((const struct variable *, char *, size_t)),
3065359Sbostic 
3165359Sbostic 	/* proc.c */
3265359Sbostic #ifndef	MSDOS
3365359Sbostic 	dowait proto((int pid, int *status)),
3465359Sbostic #endif
3565359Sbostic 	get_FL_info proto((char *, char *)),
3665359Sbostic 	ChkErrorLines proto((void)),
3765359Sbostic 	ErrFree proto((void));
3865359Sbostic 
3965359Sbostic extern SIGRESULT
4065359Sbostic /* jove.c */
4165359Sbostic 	finish proto((int code));	/* doesn't return at all! */
4265359Sbostic 
4365359Sbostic extern int
4465359Sbostic /* ctype.h */
4565359Sbostic 	ismword proto((int c)),
4665359Sbostic 
4765359Sbostic /* proc.c */
4865359Sbostic 	UnixToBuf proto((char *, char *, bool, int, bool, ...)),
4965359Sbostic 
5065359Sbostic /* extend.c */
5165359Sbostic 	addgetc proto((void)),
5265359Sbostic 	ask_int proto((char *prompt, int base)),
5365359Sbostic 	chr_to_int proto((char *cp, int base, int allints, int *result)),
5465359Sbostic 	complete proto((char **possible, const char *prompt, int flags)),
5565359Sbostic 
5665359Sbostic /* jove.c */
5765359Sbostic #ifdef	MAC
5865359Sbostic 	win_reshape proto((int /*junk*/)),
5965359Sbostic #endif
6065359Sbostic 	charp proto((void)),
6165359Sbostic 	getch proto((void)),
6265359Sbostic 	jgetchar proto((void)),
6365359Sbostic 	getrawinchar proto((void));
6465359Sbostic 
6565359Sbostic #ifdef	LOAD_AV
6665359Sbostic extern int
6765359Sbostic 	get_la proto((void));	/* integer, units of .01 */
6865359Sbostic 
6965359Sbostic extern void
7065359Sbostic 	closekmem proto((void));
7165359Sbostic #endif	/* LOAD_AV */
7265359Sbostic 
7365359Sbostic extern bool
7465359Sbostic 	joverc proto((char *file));
7565359Sbostic 
7665359Sbostic extern void
7765359Sbostic 	raw_scream proto((const char *)),
7865359Sbostic 	error proto((const char *, ...)),
7965359Sbostic 	complain proto((const char *, ...)),
8065359Sbostic 	raw_complain proto((const char *, ...)),
8165359Sbostic 	confirm proto((const char *, ...)),
8265359Sbostic 	ttyset proto((bool n)),
8365359Sbostic 	tty_reset proto ((void)),
8465359Sbostic 	Ungetc proto((int c));
8565359Sbostic 
8665359Sbostic 
8765359Sbostic #ifdef	IBMPC
8865359Sbostic extern bool
8965359Sbostic 	rawkey_ready proto((void));
9065359Sbostic extern char
9165359Sbostic 	switchar proto((void));
9265359Sbostic #endif
9365359Sbostic 
9465359Sbostic extern Bufpos
9565359Sbostic /* insert.c */
9665359Sbostic 	*DoYank proto((struct line *fline, int fchar, struct line *tline, int tchar, struct line *atline, int atchar, struct buffer *whatbuf));
9765359Sbostic 
9865359Sbostic extern void
9965359Sbostic 	LineInsert proto((int num));
10065359Sbostic 
10165359Sbostic /* c.c */
10265359Sbostic extern Bufpos
10365359Sbostic 	*c_indent proto((int brace)),
10465359Sbostic 	*m_paren proto((int p_type, int dir, int can_mismatch, int can_stop));
10565359Sbostic 
10665359Sbostic extern void
10765359Sbostic 	mp_error proto((void));
10865359Sbostic 
10965359Sbostic extern unsigned char
11065359Sbostic 	chpl proto((void)),
11165359Sbostic 	lpp proto((void));
11265359Sbostic 
11365359Sbostic extern void
11465359Sbostic 	DoJustify proto((struct line *l1, int c1, struct line *l2, int c2, bool scrunch, int indent)),
11565359Sbostic 
11665359Sbostic 	/* abbrev.c */
11765359Sbostic #ifdef	ABBREV
11865359Sbostic 	AbbrevExpand proto((void)),
11965359Sbostic #endif
12065359Sbostic 
12165359Sbostic 	/* disp.c */
12265359Sbostic 	message proto((char *)),
12365359Sbostic 
12465359Sbostic 	/* insert.c */
12565359Sbostic #ifdef	ABBREV
12665359Sbostic 	MaybeAbbrevExpand proto((void)),
12765359Sbostic #endif
12865359Sbostic 	GCchunks proto((void)),
12965359Sbostic 
13065359Sbostic 	/* fmt.c */
13165359Sbostic 	format proto((char *buf, size_t len, const char *fmt, char *ap)),
13265359Sbostic 	add_mess proto((const char *, ...)),
13365359Sbostic 	f_mess proto((const char *, ...)),
13465359Sbostic 	fwritef proto((struct FileStruct *, const char *, ...)),
13565359Sbostic 	writef proto((const char *, ...)),
13665359Sbostic 	s_mess proto((const char *, ...)),
13765359Sbostic 	swritef proto((char *, size_t, const char *, ...)),
13865359Sbostic 
13965359Sbostic 	/* keymaps.c */
14065359Sbostic 	InitKeymaps proto((void)),
14165359Sbostic 
14265359Sbostic 	/* paragraph.c */
14365359Sbostic 	do_rfill proto((bool ulm)),
14465359Sbostic 
14565359Sbostic 	/* macros.c */
14665359Sbostic 	mac_init proto((void)),
14765359Sbostic 
14865359Sbostic 	/* misc.c */
14965359Sbostic 	skip_wht_space proto((void)),
15065359Sbostic 	put_bufs proto((bool askp)),
15165359Sbostic 
15265359Sbostic 	/* term.c */
15365359Sbostic #ifndef	IBMPC
15465359Sbostic 	getTERM proto((void)),
15565359Sbostic #endif
15665359Sbostic 	putpad proto((char *str, int lines)),
15765359Sbostic 	putargpad proto((char *str, int arg, int lines)),
15865359Sbostic 	settout proto((char *ttbuf));
15965359Sbostic 
16065359Sbostic #ifdef	IBMPC
16165359Sbostic extern void
16265359Sbostic 	write_em proto((char *s)),
16365359Sbostic 	write_emc proto((char *s, int n)),
16465359Sbostic 	write_emif proto((char *s));
16565359Sbostic #endif
16665359Sbostic 
16765359Sbostic #ifdef	MAC
16865359Sbostic 
16965359Sbostic extern int
17065359Sbostic 	creat proto((char *, int)),
17165359Sbostic 	open proto((const char *, int, ...)),
17265359Sbostic 	close proto((int)),
17365359Sbostic 	read proto((int, const char *, unsigned)),
17465359Sbostic 	write proto((int, const char *, unsigned)),
17565359Sbostic 	unlink proto((const char *)),
17665359Sbostic 	chdir proto((const char *)),
17765359Sbostic 	getArgs proto((char ***));
17865359Sbostic 
17965359Sbostic extern bool
18065359Sbostic 	rawchkc proto((void));
18165359Sbostic 
18265359Sbostic extern long
18365359Sbostic 	lseek proto((int, long, unsigned));
18465359Sbostic 
18565359Sbostic extern time_t
18665359Sbostic 	time proto((time_t *));
18765359Sbostic 
18865359Sbostic #endif	/* MAC */
18965359Sbostic 
19065359Sbostic extern char
19165359Sbostic 	*pwd proto((void)),
19265359Sbostic #ifdef	MAC
19365359Sbostic 	*getwd proto((void)),	/* OOPS: same name, different type! */
19465359Sbostic #else
19565359Sbostic 	*getwd proto((char *)),
19665359Sbostic #endif
19765359Sbostic 	*pfile proto((char *)),
19865359Sbostic 	*gfile proto((char *));
19965359Sbostic 
20065359Sbostic #ifdef	MAC
20165359Sbostic extern void
20265359Sbostic 	MacInit proto((void)),
20365359Sbostic 	InitBinds proto((void)),
20465359Sbostic 	NPlacur proto((int, int)),
20565359Sbostic 	i_lines proto((int, int, int)),
20665359Sbostic 	d_lines proto((int, int, int)),
20765359Sbostic 	clr_page proto((void)),
20865359Sbostic 	clr_eoln proto((void)),
20965359Sbostic 	docontrols proto((void)),
21065359Sbostic 	RemoveScrollBar proto((Window *)),
21165359Sbostic 	InitEvents proto((void)),
21265359Sbostic 	menus_on proto((void)),
21365359Sbostic 	menus_off proto((void));
21465359Sbostic #endif
21565359Sbostic 
21665359Sbostic /* Wired Commands */
21765359Sbostic 
21865359Sbostic extern void
21965359Sbostic 	UnbindC proto((void)),
22065359Sbostic 	ShowVersion proto((void)),
22165359Sbostic 	WVisSpace proto((void)),
22265359Sbostic 	AppReg proto((void)),
22365359Sbostic 	Apropos proto((void)),
22465359Sbostic 	BackChar proto((void)),
22565359Sbostic 	BList proto((void)),
22665359Sbostic 	FList proto((void)),
22765359Sbostic 	BUpList proto((void)),
22865359Sbostic 	FDownList proto((void)),
22965359Sbostic 	BSexpr proto((void)),
23065359Sbostic 	BackWord proto((void)),
23165359Sbostic 	Bof proto((void)),
23265359Sbostic 	Bol proto((void)),
23365359Sbostic 	Bos proto((void)),
23465359Sbostic 	Bow proto((void)),
23565359Sbostic 	BindAKey proto((void)),
23665359Sbostic 	BindMac proto((void)),
23765359Sbostic 	BufPos proto((void)),
23865359Sbostic #ifdef	MSDOS
23965359Sbostic 	Buf0Select proto((void)),
24065359Sbostic 	Buf1Select proto((void)),
24165359Sbostic 	Buf2Select proto((void)),
24265359Sbostic 	Buf3Select proto((void)),
24365359Sbostic 	Buf4Select proto((void)),
24465359Sbostic 	Buf5Select proto((void)),
24565359Sbostic 	Buf6Select proto((void)),
24665359Sbostic 	Buf7Select proto((void)),
24765359Sbostic 	Buf8Select proto((void)),
24865359Sbostic 	Buf9Select proto((void)),
24965359Sbostic 	Buf10Select proto((void)),
25065359Sbostic #endif	/* MSDOS */
25165359Sbostic 	CasRegLower proto((void)),
25265359Sbostic 	CasRegUpper proto((void)),
25365359Sbostic 	CapChar proto((void)),
25465359Sbostic 	CapWord proto((void)),
25565359Sbostic 	LowWord proto((void)),
25665359Sbostic 	UppWord proto((void)),
25765359Sbostic 	Chdir proto((void)),
25865359Sbostic 	prCWD proto((void)),
25965359Sbostic 	prDIRS proto((void)),
26065359Sbostic 	Pushd proto((void)),
26165359Sbostic 	Popd proto((void)),
26265359Sbostic 	prCTIME proto((void)),
26365359Sbostic 	ChrToOct proto((void)),
26465359Sbostic 	ClAndRedraw proto((void)),
26565359Sbostic #ifndef	MAC
26665359Sbostic 	MakeErrors proto((void)),
26765359Sbostic 	ErrParse proto((void)),
26865359Sbostic #endif
26965359Sbostic 	CopyRegion proto((void)),
27065359Sbostic 	BufSelect proto((void)),
27165359Sbostic 	DelBlnkLines proto((void)),
27265359Sbostic 	DelNChar proto((void)),
27365359Sbostic 	DelNWord proto((void)),
27465359Sbostic 	OneWindow proto((void)),
27565359Sbostic 	DelPChar proto((void)),
27665359Sbostic 	DelPWord proto((void)),
27765359Sbostic 	DelReg proto((void)),
27865359Sbostic 	KillSome proto((void)),
27965359Sbostic 	DelWtSpace proto((void)),
28065359Sbostic 	DelCurWindow proto((void)),
28165359Sbostic 	KeyDesc proto((void)),
28265359Sbostic 	Digit proto((void)),
28365359Sbostic 	Digit0 proto((void)),
28465359Sbostic 	Digit1 proto((void)),
28565359Sbostic 	Digit2 proto((void)),
28665359Sbostic 	Digit3 proto((void)),
28765359Sbostic 	Digit4 proto((void)),
28865359Sbostic 	Digit5 proto((void)),
28965359Sbostic 	Digit6 proto((void)),
29065359Sbostic 	Digit7 proto((void)),
29165359Sbostic 	Digit8 proto((void)),
29265359Sbostic 	Digit9 proto((void)),
29365359Sbostic 	DescBindings proto((void)),
29465359Sbostic 	DescCom proto((void)),
29565359Sbostic 	Eof proto((void)),
29665359Sbostic 	Eol proto((void)),
29765359Sbostic 	Eos proto((void)),
29865359Sbostic 	Eow proto((void)),
29965359Sbostic 	ForPara proto((void)),
30065359Sbostic 	BackPara proto((void)),
30165359Sbostic 	BufErase proto((void)),
30265359Sbostic 	PtToMark proto((void)),
30365359Sbostic 	Extend proto((void)),
30465359Sbostic 	ExecMacro proto((void)),
30565359Sbostic 	RunMacro proto((void)),
30665359Sbostic 	Leave proto((void)),
30765359Sbostic 	FindFile proto((void)),
30865359Sbostic 	WindFind proto((void)),
30965359Sbostic 	FindTag proto((void)),
31065359Sbostic 	FDotTag proto((void)),
31165359Sbostic 	ToIndent proto((void)),
31265359Sbostic 	ForChar proto((void)),
31365359Sbostic 	FSexpr proto((void)),
31465359Sbostic 	ForWord proto((void)),
31565359Sbostic 	TimesFour proto((void)),
31665359Sbostic 	GoLine proto((void)),
31765359Sbostic 	GrowWindowCmd proto((void)),
31865359Sbostic 	IncFSearch proto((void)),
31965359Sbostic 	IncRSearch proto((void)),
32065359Sbostic 	InsFile proto((void)),
32165359Sbostic 	Justify proto((void)),
32265359Sbostic 	RegJustify proto((void)),
32365359Sbostic 	SetLMargin proto((void)),
32465359Sbostic 	SetRMargin proto((void)),
32565359Sbostic 	LRShift proto((void)),
32665359Sbostic 	RRShift proto((void)),
32765359Sbostic 	BufKill proto((void)),
32865359Sbostic 	KillBos proto((void)),
32965359Sbostic 	KillEos proto((void)),
33065359Sbostic 	KillEOL proto((void)),
33165359Sbostic 	KillExpr proto((void)),
33265359Sbostic 	BufList proto((void)),
33365359Sbostic 	NotModified proto((void)),
33465359Sbostic 	NameMac proto((void)),
33565359Sbostic 	DelMacro proto((void)),
33665359Sbostic 	Newline proto((void)),
33765359Sbostic 	OpenLine proto((void)),
33865359Sbostic 	LineAI proto((void)),
33965359Sbostic #ifndef	MAC
34065359Sbostic 	ShowErr proto((void)),
34165359Sbostic 	NextError proto((void)),
34265359Sbostic 	PrevError proto((void)),
34365359Sbostic 	ParseAll proto((void)),
34465359Sbostic #endif	/* MAC */
34565359Sbostic #ifdef	MSDOS
34665359Sbostic 	PageScrollUp proto((void)),
34765359Sbostic 	PageScrollDown proto((void)),
34865359Sbostic #endif	/* MSDOS */
34965359Sbostic 	NextLine proto((void)),
35065359Sbostic 	NextPage proto((void)),
35165359Sbostic 	NextWindow proto((void)),
35265359Sbostic 	Recur proto((void)),
35365359Sbostic 	PopMark proto((void)),
35465359Sbostic 	PageNWind proto((void)),
35565359Sbostic 	Tab proto((void)),
35665359Sbostic 	DoParen proto((void)),
35765359Sbostic #ifdef	SPELL
35865359Sbostic 	SpelWords proto((void)),
35965359Sbostic #endif
36065359Sbostic #ifdef	JOB_CONTROL
36165359Sbostic 	PauseJove proto((void)),
36265359Sbostic #endif
36365359Sbostic 	PrevLine proto((void)),
36465359Sbostic 	PrevPage proto((void)),
36565359Sbostic 	PrevWindow proto((void)),
36665359Sbostic #ifndef	MAC
36765359Sbostic 	jcloseall proto((void)),
36865359Sbostic 	Push proto((void)),
36965359Sbostic #endif
37065359Sbostic 	RegReplace proto((void)),
37165359Sbostic 	QRepSearch proto((void)),
37265359Sbostic 	QuotChar proto((void)),
37365359Sbostic 	ReadFile proto((void)),
37465359Sbostic 	DefKBDMac proto((void)),
37565359Sbostic 	RedrawDisplay proto((void)),
37665359Sbostic 	ReNamBuf proto((void)),
37765359Sbostic 	RepSearch proto((void)),
37865359Sbostic 	DownScroll proto((void)),
37965359Sbostic 	UpScroll proto((void)),
38065359Sbostic 	ForSearch proto((void)),
38165359Sbostic 	FSrchND proto((void)),
38265359Sbostic 	RevSearch proto((void)),
38365359Sbostic 	RSrchND proto((void)),
38465359Sbostic 	SelfInsert proto((void)),
38565359Sbostic 	SetVar proto((void)),
38665359Sbostic 	SetMark proto((void)),
38765359Sbostic #ifndef	MAC
38865359Sbostic 	ShellCom proto((void)),
38965359Sbostic 	ShNoBuf proto((void)),
39065359Sbostic 	Shtypeout proto((void)),
39165359Sbostic 	ShToBuf proto((void)),
39265359Sbostic 	FilterRegion proto((void)),
39365359Sbostic #endif
39465359Sbostic 	ShrWindow proto((void)),
39565359Sbostic 	Source proto((void)),
39665359Sbostic #ifdef	SPELL
39765359Sbostic 	SpelBuffer proto((void)),
39865359Sbostic #endif
39965359Sbostic 	SplitWind proto((void)),
40065359Sbostic 	GotoWind proto((void)),
40165359Sbostic 	Remember proto((void)),
40265359Sbostic 	Forget proto((void)),
40365359Sbostic 	StrLength proto((void)),
40465359Sbostic 	TransChar proto((void)),
40565359Sbostic 	TransLines proto((void)),
40665359Sbostic 	SaveFile proto((void)),
40765359Sbostic 	WtModBuf proto((void)),
40865359Sbostic 	WriteMacs proto((void)),
40965359Sbostic 	XtermMouse proto((void)),
41065359Sbostic 	WrtReg proto((void)),
41165359Sbostic 	Yank proto((void)),
41265359Sbostic 	YankPop proto((void)),
41365359Sbostic 	PrVar proto((void)),
41465359Sbostic 	WNumLines proto((void)),
41565359Sbostic #ifdef	IPROCS
41665359Sbostic 	ShellProc proto((void)),
41765359Sbostic 	ProcInt proto((void)),
41865359Sbostic 	ProcQuit proto((void)),
41965359Sbostic 	ProcKill proto((void)),
42065359Sbostic #  ifdef	PTYPROCS
42165359Sbostic 	ProcEof proto((void)),
42265359Sbostic 	ProcStop proto((void)),
42365359Sbostic 	ProcCont proto((void)),
42465359Sbostic 	ProcDStop proto((void)),
42565359Sbostic #  endif
42665359Sbostic 	ProcSendData proto((void)),
42765359Sbostic 	ProcNewline proto((void)),
42865359Sbostic 	ProcList proto((void)),
42965359Sbostic 	ProcBind proto((void)),
43065359Sbostic 	Iprocess proto((void)),
43165359Sbostic 	DBXpoutput proto((void)),
43265359Sbostic #endif
43365359Sbostic 
43465359Sbostic #ifdef	LISP
43565359Sbostic 	GSexpr proto((void)),	/* Grind S Expression. */
43665359Sbostic 	AddSpecial proto((void)),	/* add lisp special form */
43765359Sbostic #endif
43865359Sbostic 	CAutoExec proto((void)),
43965359Sbostic 	MAutoExec proto((void)),
44065359Sbostic 
44165359Sbostic 	DefMAbbrev proto((void)),
44265359Sbostic 	DefGAbbrev proto((void)),
44365359Sbostic 	SaveAbbrevs proto((void)),
44465359Sbostic 	RestAbbrevs proto((void)),
44565359Sbostic 	EditAbbrevs proto((void)),
44665359Sbostic 	BindMtoW proto((void)),
44765359Sbostic 
44865359Sbostic #ifdef	CMT_FMT
44965359Sbostic 	Comment proto((void)),
45065359Sbostic #endif
45165359Sbostic 
45265359Sbostic 	ScrollLeft proto((void)),
45365359Sbostic 	ScrollRight proto((void)),
45465359Sbostic 
45565359Sbostic 	MakeKMap proto((void)),
45665359Sbostic 	KmBind proto((void)),
45765359Sbostic 	ProcKmBind proto((void)),
45865359Sbostic 
45965359Sbostic 	MacInter proto((void));		/* This is the last one. */
46065359Sbostic 
46165359Sbostic /*==== Declarations of Library/System Routines ====*/
46265359Sbostic 
46365359Sbostic extern int	errno;	/* Redundant if declared in <errno.h> -- DHR */
46465359Sbostic extern char *strerror proto((int));	/* errno.h or string.h? */
46565359Sbostic 
46665359Sbostic /* General Utilities: <stdlib.h> */
46765359Sbostic 
46865359Sbostic extern int	abs proto((int));
46965359Sbostic 
47065359Sbostic extern void	abort proto((void));
47165359Sbostic extern void	exit proto((int));
47265359Sbostic 
47365359Sbostic extern int	atoi proto((const char */*nptr*/));
47465359Sbostic 
47565359Sbostic extern void	qsort proto((UnivPtr /*base*/, size_t /*nmemb*/,
47665359Sbostic 	size_t /*size*/, int (*/*compar*/)(UnivConstPtr, UnivConstPtr)));
47765359Sbostic 
47865359Sbostic extern char	*getenv proto((const char *));
47965359Sbostic extern int	system proto((const char *));
48065359Sbostic 
48165359Sbostic extern void
48265359Sbostic 	free proto((UnivPtr));
48365359Sbostic 
48465359Sbostic extern UnivPtr
48565359Sbostic 	calloc proto((unsigned int, unsigned int)),
48665359Sbostic 	malloc proto((size_t)),
48765359Sbostic 	realloc proto((UnivPtr, size_t));
48865359Sbostic 
48965359Sbostic /* Date and Time <time.h> */
49065359Sbostic 
49165359Sbostic extern time_t	time proto((time_t */*tloc*/));
49265359Sbostic extern char	*ctime proto((const time_t *));
49365359Sbostic 
49465359Sbostic /* UNIX */
49565359Sbostic 
49665359Sbostic #ifdef	IBMPC
49765359Sbostic #define const	/* the const's in the following defs conflict with MSC 5.1 */
49865359Sbostic #endif
49965359Sbostic 
50065359Sbostic #ifdef	POSIX_UNISTD
50165359Sbostic # include <unistd.h>
50265359Sbostic #else	/* !POSIX_UNISTD */
50365359Sbostic extern int	chdir proto((const char */*path*/));
50465359Sbostic extern int	access proto((const char */*path*/, int /*mode*/));
50565359Sbostic extern int	creat proto((const char */*path*/, int /*mode*/));
50665359Sbostic 	/* Open may have an optional third argument, int mode */
50765359Sbostic extern int	open proto((const char */*path*/, int /*flags*/, ...));
50865359Sbostic 
50965359Sbostic 
51065359Sbostic #ifdef	IBMPC
51165359Sbostic extern int	read proto((int /*fd*/, char * /*buf*/, size_t /*nbytes*/));
51265359Sbostic extern int	write proto((int /*fd*/, const char * /*buf*/, size_t /*nbytes*/));
51365359Sbostic #else
51465359Sbostic extern int	read proto((int /*fd*/, UnivPtr /*buf*/, size_t /*nbytes*/));
51565359Sbostic extern int	write proto((int /*fd*/, UnivConstPtr /*buf*/, size_t /*nbytes*/));
51665359Sbostic #endif
51765359Sbostic 
51865359Sbostic extern int	execl proto((const char */*name*/, const char */*arg0*/, ...));
51965359Sbostic extern int	execlp proto((const char */*name*/, const char */*arg0*/, ...));
52065359Sbostic extern int	execv proto((const char */*name*/, const char */*argv*/[]));
52165359Sbostic extern int	execvp proto((const char */*name*/, const char */*argv*/[]));
52265359Sbostic 
52365359Sbostic #ifdef	IBMPC
52465359Sbostic #undef const
52565359Sbostic #endif
52665359Sbostic 
52765359Sbostic extern void	_exit proto((int));	/* exit(), without flush, etc */
52865359Sbostic 
52965359Sbostic extern unsigned	alarm proto((unsigned /*seconds*/));
53065359Sbostic 
53165359Sbostic extern int	pipe proto((int *));
53265359Sbostic extern int	close proto((int));
53365359Sbostic extern int	dup proto((int));
53465359Sbostic extern int	dup2 proto((int /*old_fd*/, int /*new_fd*/));
53565359Sbostic extern long	lseek proto((int /*fd*/, long /*offset*/, int /*whence*/));
53665359Sbostic extern int	fchmod proto((int /*fd*/, int /*mode*/));
53765359Sbostic extern int	fork proto((void));
53865359Sbostic 
53965359Sbostic extern int	getpid proto((void));
54065359Sbostic extern int	getuid proto((void));
54165359Sbostic 
54265359Sbostic extern int	setuid proto((int));
54365359Sbostic extern int	chown proto((const char *, int, int));
54465359Sbostic 
54565359Sbostic extern int	kill proto((int /*pid*/, int /*sig*/));
54665359Sbostic extern void	perror proto((const char *));
54765359Sbostic 
54865359Sbostic #endif	/* POSIX_UNISTD */
54965359Sbostic 
55065359Sbostic extern int	unlink proto((const char */*path*/));
55165359Sbostic extern int	fsync proto((int));
55265359Sbostic 
55365359Sbostic 
55465359Sbostic extern char	*mktemp proto((char *));
55565359Sbostic 
55665359Sbostic 
55765359Sbostic /* BSD UNIX
55865359Sbostic  *
55965359Sbostic  * Note: in most systems, declaration of a non-existant function is
56065359Sbostic  * OK if the function is never actually called.  The parentheses around
56165359Sbostic  * the name prevent any macro expansion.
56265359Sbostic  */
56365359Sbostic 
564*65815Sbostic extern pid_t	UNMACRO(vfork) proto((void));
56565359Sbostic 
56665359Sbostic #ifdef	BSD_SIGS
56765359Sbostic #ifndef BSD386
56865359Sbostic extern int	UNMACRO(killpg) proto((int /*pgrp*/, int /*sig*/));
56965359Sbostic #endif
57065359Sbostic #endif
57165359Sbostic 
57265359Sbostic #ifndef BSD386
57365359Sbostic extern int	UNMACRO(setpgrp) proto((int /*pid*/, int /*pgrp*/));	/* Sys V takes no arg */
57465359Sbostic #endif
57565359Sbostic 
57665359Sbostic #ifdef	REALSTDC
57765359Sbostic struct timeval;	/* forward declaration preventing prototype scoping */
57865359Sbostic #endif
57965359Sbostic 
58065359Sbostic #ifndef BSD386
58165359Sbostic extern int	UNMACRO(select) proto((int /*width*/, fd_set */*readfds*/, fd_set */*writefds*/,
58265359Sbostic 	fd_set */*exceptfds*/, struct timeval */*timeout*/));
58365359Sbostic #endif
58465359Sbostic 
58565359Sbostic extern void	UNMACRO(bcopy) proto((UnivConstPtr, UnivPtr, size_t));
58665359Sbostic extern void	UNMACRO(bzero) proto((UnivPtr, size_t));
58765359Sbostic 
58865359Sbostic /* termcap */
58965359Sbostic 
59065359Sbostic extern int	UNMACRO(tgetent) proto((char */*buf*/, const char */*name*/));
59165359Sbostic extern int	UNMACRO(tgetflag) proto((const char */*id*/));
59265359Sbostic extern int	UNMACRO(tgetnum) proto((const char */*id*/));
59365359Sbostic extern char	*UNMACRO(tgetstr) proto((const char */*id*/, char **/*area*/));
59465359Sbostic extern void	UNMACRO(tputs) proto((const char *, int, void (*) proto((int))));
59565359Sbostic extern char	*UNMACRO(tgoto) proto((const char *, int /*destcol*/, int /*destline*/));
596