Index: include/biosdefs.h
===================================================================
--- include/biosdefs.h	(revision bfc0072417012e9cf8877387e0040d6245a99117)
+++ include/biosdefs.h	(revision 05806159f2593192d6ed2fca28358480a2383c67)
@@ -6,6 +6,6 @@
 */
 
-extern	long	trap13();	/* BIOS linkage */
-extern	long	trap14();	/* XBIOS linkage */
+extern	long	trap13(short fun, ...);
+extern	long	trap14(short fun, ...);
 
 #define	BIOS	trap13
Index: include/cmeta.h
===================================================================
--- include/cmeta.h	(revision bfc0072417012e9cf8877387e0040d6245a99117)
+++ include/cmeta.h	(revision 05806159f2593192d6ed2fca28358480a2383c67)
@@ -6,9 +6,14 @@
 */
 
-extern	int	CMinit(), CMstat();
-extern	int	CMchr(), CMuchr();
-extern	int	CMstr(), CMustr();
-extern	int	CMlong(), CMdig();
-extern	int	CMlist(), CMulist();
+extern	void	CMinit(char *ip);
+extern	int	CMstat(char *msg);
+extern	int	CMchr(char c);
+extern	int	CMuchr(char c);
+extern	int	CMstr(char *s);
+extern	int	CMustr(char *s);
+extern	int	CMlong(void);
+extern	int	CMdig(void);
+extern	int	CMlist(char *l[]);
+extern	int	CMulist(char *l[]);
 
 extern	int	QQsw;
Index: include/ctype.h
===================================================================
--- include/ctype.h	(revision bfc0072417012e9cf8877387e0040d6245a99117)
+++ include/ctype.h	(revision 05806159f2593192d6ed2fca28358480a2383c67)
@@ -97,5 +97,5 @@
 #else	/* SYS5CODE */
 
-extern	char ___atab();		/* so the loader sees us ... */
+extern	void	___atab(void);
 extern	char __atab[];		/* character type table */
 
Index: include/glcfns.h
===================================================================
--- include/glcfns.h	(revision bfc0072417012e9cf8877387e0040d6245a99117)
+++ include/glcfns.h	(revision 05806159f2593192d6ed2fca28358480a2383c67)
@@ -6,7 +6,12 @@
 */
 
-extern	unsigned	GLCcrc(), GLCcxy();
-extern	short		GLCplot();
-extern	short		GLCinit(), GLCwrts(), GLCtext(), GLCdisp(), GLCcurs();
+extern	unsigned	GLCcrc(unsigned row, unsigned col);
+extern	unsigned	GLCcxy(unsigned x, unsigned y);
+extern	void	GLCplot(unsigned x, unsigned y, unsigned val);
+extern	void	GLCinit(void);
+extern	void	GLCwrts(char *s);
+extern	void	GLCtext(unsigned row, unsigned col, char *s);
+extern	void	GLCdisp(short dsp, short crs, short blk1, short blk2, short blk3);
+extern	void	GLCcurs(short crs);
 
 extern	unsigned	lcdx, lcdy, lcdbit, lcdrow, lcdcol, lcdbase;
Index: include/memory.h
===================================================================
--- include/memory.h	(revision bfc0072417012e9cf8877387e0040d6245a99117)
+++ include/memory.h	(revision 05806159f2593192d6ed2fca28358480a2383c67)
@@ -6,4 +6,10 @@
 */
 
-extern	char	*memccpy(), *memchr(), *memcpy(), *memset();
-extern	int	memcmp(), *memsetw(), *memcpyw(), memcmpu();
+extern	char	*memccpy(char *s1, char *s2, char c, int n);
+extern	char	*memchr(char *sp, char c, int n);
+extern	char	*memcpy(char *s1, char *s2, int n);
+extern	char	*memset(char *sp, char c, int n);
+extern	int	memcmp(char *s1, char *s2, int n);
+extern	short	*memsetw(short *sp, short w, short n);
+extern	short	*memcpyw(short *s1, short *s2, int n);
+extern	int	memcmpu(char *s1, char *s2, int n);
Index: include/rawio.h
===================================================================
--- include/rawio.h	(revision bfc0072417012e9cf8877387e0040d6245a99117)
+++ include/rawio.h	(revision 05806159f2593192d6ed2fca28358480a2383c67)
@@ -6,7 +6,9 @@
 */
 
-int	getln(), getrln(), readln();
+int	getln(int unit, int nb, char *buf);
+int	getrln(int unit, int nb, char *buf);
+int	readln(int unit, int nc, char *ctl, int nb, char *buf);
 
 /* The following should really be void ... */
 
-int	writeln();
+void	writeln(int unit, char *buf);
Index: include/scfns.h
===================================================================
--- include/scfns.h	(revision bfc0072417012e9cf8877387e0040d6245a99117)
+++ include/scfns.h	(revision 05806159f2593192d6ed2fca28358480a2383c67)
@@ -8,12 +8,24 @@
 */
 
-extern	int	eh_ins(), eh_rmv(), sc_clr();
+extern	void	eh_ins(struct s_entry *ne, short et);
+extern	void	eh_rmv(struct s_entry *ev, short et);
+extern	void	sc_clr(short ns);
 
-extern	int	e_del(), selscor(), sc_goto();
+extern	short	e_del(struct s_entry *e1);
+extern	short	selscor(short ns);
+extern	int	sc_goto(long tval);
 
-extern	long	scinit(), evleft();
+extern	long	scinit(void);
+extern	long	evleft(void);
 
-extern	struct	s_entry	*e_alc(), *e_ins(), *e_rmv(), *e_clr(), *ehfind();
-extern	struct	s_entry *frfind(), *ep_adj(), *se_exec(), *findev();
+extern	struct	s_entry	*e_alc(short w);
+extern	struct	s_entry	*e_ins(struct s_entry *e1, struct s_entry *e2);
+extern	struct	s_entry	*e_rmv(struct s_entry *e1);
+extern	struct	s_entry	*e_clr(struct s_entry *e1);
+extern	struct	s_entry	*ehfind(short eh, long te, short d1, short d2);
+extern	struct	s_entry	*frfind(long tval, int sdir);
+extern	struct	s_entry	*ep_adj(struct s_entry *sep, int sdir, long tval);
+extern	struct	s_entry	*se_exec(struct s_entry *ep, short sd);
+extern	struct	s_entry	*findev(struct s_entry *ep, long te, short et, short d1, short d2);
 
 extern	char	ac_code;
Index: include/stdio.h
===================================================================
--- include/stdio.h	(revision bfc0072417012e9cf8877387e0040d6245a99117)
+++ include/stdio.h	(revision 05806159f2593192d6ed2fca28358480a2383c67)
@@ -41,7 +41,10 @@
 #endif
 
-extern	long	ftell();
-extern	char	*gets(), *fgets();
-extern	FILE	*fopen(), *fopena(), *fopenb();
+extern	long	ftell(FILE *fp);
+extern	char	*gets(char *line);
+extern	char	*fgets(char *s, int n, FILE *fp);
+extern	FILE	*fopen(char *name, char *mode);
+extern	FILE	*fopena(char *name, char *mode);
+extern	FILE	*fopenb(char *name, char *mode);
 
 #define	stdin	(&Cbuffs[0])
Index: include/strings.h
===================================================================
--- include/strings.h	(revision bfc0072417012e9cf8877387e0040d6245a99117)
+++ include/strings.h	(revision 05806159f2593192d6ed2fca28358480a2383c67)
@@ -6,9 +6,24 @@
 */
 
-extern	char	*strccpy(), *strcpy(), *strncpy(), *strcat(), *strncat();
-extern	char	*strchr(), *strrchr(), *strpbrk(), *strtok();
-extern	char	*index(), *rindex(), *str2lc(), *str2uc();
+extern	char	*strccpy(char *s1, char *s2, char c);
+extern	char	*strcpy(char *s1, char *s2);
+extern	char	*strncpy(char *s1, char *s2, int n);
+extern	char	*strcat(char *s1, char *s2);
+extern	char	*strncat(char *s1, char *s2, int n);
+extern	char	*strchr(char *sp, char c);
+extern	char	*strrchr(char *sp, char c);
+extern	char	*strpbrk(char *string, char *brkset);
+extern	char	*strtok(char *string, char *sepset);
+extern	char	*index(char *str, char c);
+extern	char	*rindex(char *str, char c);
+extern	char	*str2lc(char *s);
+extern	char	*str2uc(char *s);
 
-extern	int	strcmp(), strlcmp(), strncmp(), strlen(), strspn(), strcspn();
+extern	int	strcmp(char *s1, char *s2);
+extern	int	strlcmp(char *s, char *l[]);
+extern	int	strncmp(char *s1, char *s2, int n);
+extern	int	strlen(char *s);
+extern	int	strspn(char *string, char *charset);
+extern	int	strcspn(char *string, char *charset);
 
-extern	long	strtol();
+extern	long	strtol(char *str, char **ptr, int base);
Index: include/vsddsw.h
===================================================================
--- include/vsddsw.h	(revision bfc0072417012e9cf8877387e0040d6245a99117)
+++ include/vsddsw.h	(revision 05806159f2593192d6ed2fca28358480a2383c67)
@@ -9,11 +9,26 @@
 /* functions */
 
-extern	unsigned	vbank();
-extern	int	vputp(), vwputp();
+extern	void	vbank(unsigned b);
+extern	void	vputp(struct octent *octad, int xloc, int yloc, int val);
+extern	void	vwputp(struct octent *octad, int xloc, int yloc, int val);
 
 /* these should be voids ... */
 
-extern	int	vfwait(), vputs(), vputsa(), vputc(), VHinit();
-extern	int	objclr(), objon(), objoff();
-extern	int	vcputs(), vwputs(), vwputm(), vmput(), vmputa(), VSinit();
-extern	int	SelObj(), SetPri(), SetObj(), CpyObj();
+extern	void	vfwait(void);
+extern	void	vputs(uint *sbase, uint row, uint col, uint attrib, char *str);
+extern	void	vputsa(uint *sbase, uint row, uint col, uint *attrib, char *str);
+extern	void	vputc(unsigned *sbase, unsigned row, unsigned col, unsigned c, unsigned attrib);
+extern	void	VHinit(void);
+extern	void	objclr(unsigned obj);
+extern	void	objon(unsigned obj, unsigned line, unsigned num);
+extern	void	objoff(unsigned obj, unsigned line, unsigned num);
+extern	void	vcputs(int *obase, int nw, int fg, int bg, int row, int col, char *str);
+extern	void	vwputs(int *obase, int nw, int fg, int bg, int row, int col, char *str);
+extern	void	vwputm(unsigned int *obase, int nw, int fg, int bg, int row, int col, char *ml[]);
+extern	void	vmput(uint *sbase, uint row, uint col, uint ma, char *ms[]);
+extern	void	vmputa(uint *sbase, uint row, uint col, uint *ma[], char *ms[]);
+extern	void	VSinit(void);
+extern	void	SelObj(int obj);
+extern	void	SetPri(int obj, int pri);
+extern	void	SetObj(int obj, int type, int bank, int xpix, int ypix, int x0, int y0, int flags, int pri, unsigned int *base);
+extern	void	CpyObj(unsigned *from, unsigned *to, unsigned w, unsigned h, unsigned sw);
Index: include/wordq.h
===================================================================
--- include/wordq.h	(revision bfc0072417012e9cf8877387e0040d6245a99117)
+++ include/wordq.h	(revision 05806159f2593192d6ed2fca28358480a2383c67)
@@ -18,5 +18,6 @@
 
 #ifndef	WORDQHDR
-extern short	putwq(), getwq();
-extern unsigned short setwq();
+extern	short	putwq(struct wordq *qp, unsigned short c);
+extern	short	getwq(struct wordq *qp, unsigned short *p);
+extern	unsigned	short	setwq(struct wordq *qp, unsigned short *qadr, unsigned short qsiz, unsigned short hi, unsigned short lo);
 #endif
