--- a/joe/bw.h
+++ b/joe/bw.h
@@ -5,8 +5,6 @@
  *
  *	This file is part of JOE (Joe's Own Editor)
  */
-#ifndef _JOE_BW_H
-#define _JOE_BW_H 1
 
 /* A buffer window: there are several kinds, depending on what is in 'object' */
 
@@ -15,9 +13,9 @@
 	B	*b;
 	P	*top;
 	P	*cursor;
-	long	offset;
+	off_t	offset;
 	Screen	*t;
-	int	h, w, x, y;
+	ptrdiff_t	h, w, x, y;
 
 	OPTIONS	o;
 	void	*object;
@@ -26,44 +24,42 @@
 	int	top_changed;	/* Top changed */
 	struct lattr_db *db;	/* line attribute database */
 	int	shell_flag;	/* Cursor should follow shell cursor in this window */
-	unsigned char *prompt;
+	char	*prompt;
 	int promptofst;
 	int promptlen;
 };
 
 extern int dspasis;	/* Display characters above 127 as-is */
-extern int mid;		/* Controls how window scrolls: when set, scroll window enough so that line with cursor becomes centered */
+extern int opt_mid;	/* Controls how window scrolls: when set, scroll window enough so that line with cursor becomes centered */
 
 extern int selectmask;	/* Attribute mask for selected text */
 extern int selectatr;	/* Attribute value for selected text */
 
-void bwfllw PARAMS((BW *w));
-void bwfllwt PARAMS((BW *w));
-void bwfllwh PARAMS((BW *w));
-void bwins PARAMS((BW *w, long int l, long int n, int flg));
-void bwdel PARAMS((BW *w, long int l, long int n, int flg));
-void bwgen PARAMS((BW *w, int linums));
-void bwgenh PARAMS((BW *w));
-BW *bwmk PARAMS((W *window, B *b, int prompt, unsigned char *ps));
-void bwmove PARAMS((BW *w, int x, int y));
-void bwresz PARAMS((BW *w, int wi, int he));
-void bwrm PARAMS((BW *w));
-int ustat PARAMS((BW *bw));
-int ucrawll PARAMS((BW *bw));
-int ucrawlr PARAMS((BW *bw));
-void orphit PARAMS((BW *bw));
+void bwfllw(W *w);
+void bwfllwt(W *w);
+void bwfllwh(W *w);
+void bwins(BW *w, off_t l, off_t n, int flg);
+void bwdel(BW *w, off_t l, off_t n, int flg);
+void bwgen(BW *w, int linums);
+void bwgenh(BW *w);
+BW *bwmk(W *window, B *b, int prompt, const char *ps);
+void bwmove(BW *w, ptrdiff_t x, ptrdiff_t y);
+void bwresz(BW *w, ptrdiff_t wi, ptrdiff_t he);
+void bwrm(BW *w);
+int ustat(W *w, int k);
+int ucrawll(W *w, int k);
+int ucrawlr(W *w, int k);
+void orphit(BW *bw);
 
 extern int marking;	/* Anchored block marking mode */
 
-void save_file_pos PARAMS((FILE *f));
-void load_file_pos PARAMS((FILE *f));
-long get_file_pos PARAMS((unsigned char *name));
-void set_file_pos PARAMS((unsigned char *name, long pos));
+void save_file_pos(FILE *f);
+void load_file_pos(FILE *f);
+off_t get_file_pos(const char *name);
+void set_file_pos(const char *name, off_t pos);
 
 extern int restore_file_pos;
 
-void set_file_pos_all PARAMS((Screen *t));
+void set_file_pos_all(Screen *t);
 
 BW *vtmaster(Screen *t, B *b);
-
-#endif