[comp.sources.sun] v01i056: Diffs to make 4.0.1 SunView Headers ANSI compliant, Part01/03

mcgrew@dartagnan.rutgers.edu (Charles Mcgrew) (08/25/89)

Submitted-by: P{r Emanuelsson <pell@isy.liu.se>
Posting-number: Volume 1, Issue 56
Archive-name: ansi-sunview/part01


This is a submission for comp.sources.sun in three parts.
Here are patches for SunView header files under SunOS 4.0.1 to make them
ANSI compliant. Works fine with e.g. GCC or G++ from the FSF.
See the README file for more information.

#!/bin/sh
# shar:	Shell Archiver  (v1.22)
#
# This is part 1 of a multipart archive                                    
# do not concatenate these parts, unpack them in order with /bin/sh        
#
#	Run the following text with /bin/sh to create:
#	  README-sunviewpatches
#	  build-sunview-4.0.1
#	  PATCH-pixrect
#	  PATCH-suntool
#	  PATCH-sunwindow
#
if test -r s2_seq_.tmp
then echo "Must unpack archives in sequence!"
     next=`cat s2_seq_.tmp`; echo "Please unpack part $next next"
     exit 1; fi
echo "x - extracting README-sunviewpatches (Text)"
sed 's/^X//' << 'SHAR_EOF' > README-sunviewpatches &&
X			       ANSI SunView
X			       ------------
X
XThis is a patch set for making certain SunView (tm SUN Microsystems) header
Xfiles ANSI compliant, e.g. real function prototypes.
X
XThese should work with SunOS 4.0.1 and probably 4.0. Don't know about 4.0.3.
XI'm still waiting for the tapes. :-( Let me know if 4.0.3 is different! 
X
XSince SUN doesn't have an ANSI compiler (yet) I imagine that most people will
Xuse the GCC or G++ compilers from the Free Software Foundation. I have myself
Xtested these new header files successfully on a Sun386i with G++. Of course,
XI may have introduced some bugs, but they should be very simple to correct,
Xif they exist at all.
X
XNaturally, I couldn't come up with prototypes for some strange, unknown
Xfunctions but I think that no one uses these anyway. If I'm wrong, though,
XI'd like to hear about it.
X
XNote that newer versions of G++ have the -fno-strict-prototype flag as well
Xas the 'EXTERN "C"' construct, making this work almost unnecessary. But I
Xthink it would feel good not having to use these features. One other problem
Xwith G++ is that it insists on complaining about lazy function declarations,
Xi.e. "void func(...)". Sometimes this was necessary due to sloppy/strange
XSUN code. There is no way to shut it up short of editing the parser, which
XI did...
X
XINSTALLATION
X------------
X
XIf you have both GCC and G++ installed there are two places where this could
Xbe installed; either in gcc-include or in g++-include. Choose one of them
Xand make symbolic links in the other to the directories "suntool", 
X"sunwindow" and "pixrect", created by the build-script.
X
X1. cd to your chosen directory and unpack this archive, or move the files
X   "build-sunview-<version>" and "PATCH-*" to this directory. You should
X   delete them when the installation is finished.
X
X2. Do "sh build-sunview-<version>". This will create the directories "suntool", 
X   "sunwindow" and "pixrect", copy include files from /usr/include and,
X   finally, patch the files in each directory.
X
X3. Look for any *.rej files, e.g. "ls */*.rej". These means failed patches!
X   Problems! Try to find out!
X   But NOTE that on a Sun386i you will get two failed patches,
X	suntool/panel.h		and
X	pixrect/memvar.h
X   This is because SUN has already fixed some things in those files for the
X   386i! No need to worry!
X
X4. Delete all the *.orig files. And that's it!
X
XSome problems that might arise:
X
X- You don't have the "patch" program: Get it from e.g. uunet.
X- Some patches fail: Dont know what could cause this, besides applying them
X  on the wrong SunOS version or the 386i peculiarity above. Please find out
X  and tell me!
X- Directories could not be created: You don't have write access to the
X  GCC (or G++) include directory! This you must have.
X
XI make no promises or take no responsibilities, but I will gladly answer
Xquestions by mail, if time permits.
X
XTHANKS to the FSF for writing a great C++ compiler!
X
X--
XP{r Emanuelsson, pell@isy.liu.se, ...!uunet!isy.liu.se!pell
SHAR_EOF
chmod 0644 README-sunviewpatches || echo "restore of README-sunviewpatches fails"
echo "x - extracting build-sunview-4.0.1 (Text)"
sed 's/^X//' << 'SHAR_EOF' > build-sunview-4.0.1 &&
X#!/bin/sh
X
Xecho 'Making directories...'
Xmkdir suntool sunwindow pixrect
X
Xecho 'Copying suntool files...'
Xfor file in alert.h canvas.h emptysw.h frame.h fullscreen.h gfxsw.h \
X	icon.h icon_load.h image.h menu.h msgsw.h panel.h scrollbar.h \
X	selection.h selection_svc.h tek.h teksw.h textsw.h tool_struct.h \
X	tty.h ttysw.h ttytlsw.h walkmenu.h window.h
Xdo
X  cp /usr/include/suntool/$file suntool/
Xdone
X
Xecho 'Copying sunwindow files...'
Xfor file in attr.h hashfn.h io_stream.h notify.h pixwin.h \
X	pw_dblbuf.h pw_util.h rect.h rectlist.h string_utils.h win_cursor.h \
X	win_environ.h win_input.h win_keymap.h win_notify.h win_struct.h
Xdo
X  cp /usr/include/sunwindow/$file sunwindow/
Xdone
X
Xecho 'Copying pixrect files...'
Xfor file in memvar.h pixfont.h pixrect.h pr_io.h pr_planegroups.h
Xdo
X  cp /usr/include/pixrect/$file pixrect/
Xdone
X
Xecho 'Patching suntool files...'
Xpatch -p < PATCH-suntool
X
Xecho 'Patching sunwindow files...'
Xpatch -p < PATCH-sunwindow
X
Xecho 'Patching pixrect files...'
Xpatch -p < PATCH-pixrect
SHAR_EOF
chmod 0644 build-sunview-4.0.1 || echo "restore of build-sunview-4.0.1 fails"
echo "x - extracting PATCH-pixrect (Text)"
sed 's/^X//' << 'SHAR_EOF' > PATCH-pixrect &&
Xdiff -rc2 /usr/include/pixrect/memvar.h pixrect/memvar.h
X*** /usr/include/pixrect/memvar.h	Sat Apr  9 10:36:41 1988
X--- pixrect/memvar.h	Fri Jul 28 20:07:12 1989
X***************
X*** 81,89 ****
X  #define	mprs_skew(mprs)		_mprs_skew((struct pr_prpos *)&(mprs))
X  
X! #if !defined lint || !defined KERNEL || defined(sun2)
X! short	*_mprs_addr();
X  u_char	*_mprs8_addr();
X  int	_mprs_skew();
X- #endif
X  
X  /*
X--- 81,87 ----
X  #define	mprs_skew(mprs)		_mprs_skew((struct pr_prpos *)&(mprs))
X  
X! short	*_mprs_addr();		/* What are these? /Pell */
X  u_char	*_mprs8_addr();
X  int	_mprs_skew();
X  
X  /*
X***************
X*** 97,119 ****
X   */
X  
X- /* First a pair of utility macros that allow concatenation in a fashion that
X-  * won't annoy lint (These belong in a standard header file!):
X-  */
X- #ifndef	CAT
X- #undef	IDENT
X- #define IDENT(x)	x
X- #define	CAT(a,b)	IDENT(a)b
X- #endif
X- 
X  #define mpr_static(name, w, h, d, image) \
X! 	struct mpr_data CAT(name,_data) = \
X  	    {mpr_linebytes(w,d), (short *)(image), {0, 0}, 0, 0}; \
X! 	Pixrect name = {&mem_ops, w, h, d, (caddr_t)&CAT(name,_data)}
X  
X  /* static pixrect with variables declared "static" */
X  #define	mpr_static_static(name, w, h, d, image) \
X! 	static struct mpr_data CAT(name,_data) = \
X  	    {mpr_linebytes(w,d), (short *)(image), {0, 0}, 0, 0}; \
X! 	static Pixrect name = {&mem_ops, w, h, d, (caddr_t)&CAT(name,_data)}
X  
X  /*
X--- 95,108 ----
X   */
X  
X  #define mpr_static(name, w, h, d, image) \
X! 	struct mpr_data name ## _data = \
X  	    {mpr_linebytes(w,d), (short *)(image), {0, 0}, 0, 0}; \
X! 	Pixrect name = {&mem_ops, w, h, d, (void *)& name ## _data }
X  
X  /* static pixrect with variables declared "static" */
X  #define	mpr_static_static(name, w, h, d, image) \
X! 	static struct mpr_data name ## _data = \
X  	    {mpr_linebytes(w,d), (short *)(image), {0, 0}, 0, 0}; \
X! 	static Pixrect name = {&mem_ops, w, h, d, (void *)& name ## _data }
X  
X  /*
X***************
X*** 125,134 ****
X  extern struct pixrectops mem_ops;
X  
X  int	mem_rop();
X- #ifndef KERNEL
X  int	mem_stencil();
X  int	mem_batchrop();
X! Pixrect *mem_create();		/* General mpr create routine */
X! Pixrect *mem_point();		/* Even more general mpr create */
X  int	mem_destroy();
X  int	mem_get();
X--- 114,127 ----
X  extern struct pixrectops mem_ops;
X  
X+ /* I don't know much about these. When are they used?! 
X+    Probably internally in the pixrect library... /Pell */
X+ 
X  int	mem_rop();
X  int	mem_stencil();
X  int	mem_batchrop();
X! /* Unfortunately, sometimes this is called with parameters cast as a
X!    structure. Lose, lose /Pell */
X! Pixrect *mem_create(...);		/* General mpr create routine */
X! Pixrect *mem_point(int, int, int, short *); /* Even more general mpr create */
X  int	mem_destroy();
X  int	mem_get();
X***************
X*** 136,146 ****
X  int	mem_vector();
X  Pixrect *mem_region();
X- #endif KERNEL
X  int	mem_putcolormap();
X  int	mem_putattributes();
X- #ifndef KERNEL
X  int	mem_getcolormap();
X  int	mem_getattributes();
X- #endif KERNEL
X  
X  #endif	!memvar_DEFINED
X--- 129,136 ----
Xdiff -rc2 /usr/include/pixrect/pixfont.h pixrect/pixfont.h
X*** /usr/include/pixrect/pixfont.h	Sat Apr  9 10:36:41 1988
X--- pixrect/pixfont.h	Fri Jul 28 19:21:52 1989
X***************
X*** 38,42 ****
X  
X  /* structured text macros */
X- #ifndef lint
X  #define	prs_text(prpos, op, pf, str) \
X  	pr_text((prpos).pr, (prpos).pos.x, (prpos).pos.y, pf, str)
X--- 38,41 ----
X***************
X*** 44,54 ****
X  #define	prs_ttext(prpos, op, pf, str) \
X  	pr_ttext((prpos).pr, (prpos).pos.x, (prpos).pos.y, pf, str)
X- #endif lint
X  
X! Pixfont	*pf_open();
X! Pixfont	*pf_open_private();
X  Pixfont	*pf_default();
X! struct	pr_size pf_textbatch();
X! struct	pr_size pf_textwidth();
X  
X  #define	PIXFONT	Pixfont
X--- 43,53 ----
X  #define	prs_ttext(prpos, op, pf, str) \
X  	pr_ttext((prpos).pr, (prpos).pos.x, (prpos).pos.y, pf, str)
X  
X! Pixfont	*pf_open(const char *);
X! Pixfont	*pf_open_private(const char *);
X  Pixfont	*pf_default();
X! int	 pf_close(Pixfont *);
X! struct	pr_size pf_textbatch(struct pr_prpos *, int *, Pixfont *, char *);
X! struct	pr_size pf_textwidth(int, Pixfont *, char *);
X  
X  #define	PIXFONT	Pixfont
Xdiff -rc2 /usr/include/pixrect/pixrect.h pixrect/pixrect.h
X*** /usr/include/pixrect/pixrect.h	Sat Apr  9 10:36:42 1988
X--- pixrect/pixrect.h	Fri Jul 28 20:10:51 1989
X***************
X*** 64,68 ****
X  	struct	pr_size pr_size;	/* pixels per dimension */
X  	int	pr_depth;		/* bits per pixel */
X! 	caddr_t	pr_data;		/* device-dependent data */
X  } Pixrect;
X  #define pr_width	pr_size.x
X--- 64,68 ----
X  	struct	pr_size pr_size;	/* pixels per dimension */
X  	int	pr_depth;		/* bits per pixel */
X! 	void *	pr_data;		/* device-dependent data */
X  } Pixrect;
X  #define pr_width	pr_size.x
X***************
X*** 101,110 ****
X  #endif
X  
X- #ifndef KERNEL
X  /*
X   * Takes device file name.  This is how a screen pixrect is created.
X   */
X! extern Pixrect *pr_open();
X! #endif !KERNEL
X  
X  /*
X--- 101,108 ----
X  #endif
X  
X  /*
X   * Takes device file name.  This is how a screen pixrect is created.
X   */
X! extern Pixrect *pr_open(char *);
X  
X  /*
X***************
X*** 112,139 ****
X   * device dependent function for the destination pixrect.
X   */
X  struct pixrectops {
X! 	int	(*pro_rop)();
X! #ifndef KERNEL
X! 	int	(*pro_stencil)();
X! 	int	(*pro_batchrop)();
X! 	int	(*pro_nop)();		/* place holder */
X! 	int	(*pro_destroy)();
X! 	int	(*pro_get)();
X! 	int	(*pro_put)();
X! 	int	(*pro_vector)();
X! 	Pixrect * (*pro_region)();
X! #endif !KERNEL
X! 	int	(*pro_putcolormap)();
X! #ifndef KERNEL
X! 	int	(*pro_getcolormap)();
X! #endif !KERNEL
X! 	int	(*pro_putattributes)();
X! #ifndef KERNEL
X! 	int	(*pro_getattributes)();
X! #endif !KERNEL
X  };
X  
X- #if !defined(lint) || defined(KERNEL)
X- 
X  #define pr_rop(dpr, dx, dy, w, h, op, spr, sx, sy)		\
X  	(*(dpr)->pr_ops->pro_rop)(dpr, dx, dy, w, h, op, spr, sx, sy)
X--- 110,133 ----
X   * device dependent function for the destination pixrect.
X   */
X+  /* Unfortunately, this is also used for all pixwin calls, so we have to
X+   * declare things as losing void* /Pell
X+   */
X  struct pixrectops {
X! 	int	(*pro_rop)(void *, int, int, int, int, int, void *, int, int);
X! 	int	(*pro_stencil)(void *, int, int, int, int, int,
X! 			       void *, int, int, void *, int, int);
X! 	int	(*pro_batchrop)(void *, int, int, int, struct pr_prpos *, int);
X! 	int	(*pro_nop)();	/* place holder. (What to do with this? /Pell) */
X! 	int	(*pro_destroy)(void *);
X! 	int	(*pro_get)(void *, int, int);
X! 	int	(*pro_put)(void *, int, int, int);
X! 	int	(*pro_vector)(void *, int, int, int, int, int, int);
X! 	void * (*pro_region)(void *, int, int, int, int);
X! 	int	(*pro_putcolormap)(void *, int, int, u_char *, u_char *, u_char *);
X! 	int	(*pro_getcolormap)(void *, int, int, u_char *, u_char *, u_char *);
X! 	int	(*pro_putattributes)(void *, int *);
X! 	int	(*pro_getattributes)(void *, int *);
X  };
X  
X  #define pr_rop(dpr, dx, dy, w, h, op, spr, sx, sy)		\
X  	(*(dpr)->pr_ops->pro_rop)(dpr, dx, dy, w, h, op, spr, sx, sy)
X***************
X*** 143,148 ****
X  	(*(pr)->pr_ops->pro_putattributes)(pr, planes)
X  
X- #ifndef KERNEL
X- 
X  #define pr_stencil(dpr, dx, dy, w, h, op, stpr, stx, sty, spr, sx, sy)	\
X  	(*(dpr)->pr_ops->pro_stencil)(dpr,dx,dy,w,h,op,stpr,stx,sty,spr,sx,sy)
X--- 137,140 ----
X***************
X*** 164,186 ****
X  	(*(pr)->pr_ops->pro_getattributes)(pr, planes)
X  
X- #endif !KERNEL
X  
X- #else !lint || KERNEL
X- 
X- extern pr_rop();
X- extern pr_stencil();
X- extern pr_batchrop();
X- extern pr_destroy();
X- extern pr_get();
X- extern pr_put();
X- extern pr_vector();
X- extern Pixrect *pr_region();
X- extern pr_putcolormap();
X- extern pr_getcolormap();
X- extern pr_putattributes();
X- extern pr_getattributes();
X- 
X- #endif lint
X- 
X  /*
X   * Several of the above operations return a common, distinguished value when
X--- 156,160 ----
X***************
X*** 226,231 ****
X   */
X  
X- #if !defined(lint) || defined(KERNEL)
X- 
X  #define prs_rop(dstreg, op, srcprpos) \
X  	pr_rop((dstreg).pr, (dstreg).pos.x, (dstreg).pos.y, \
X--- 200,203 ----
X***************
X*** 269,293 ****
X  #define pr_line(pr, x0, y0, x1, y1, brush, tex, op) \
X  	pro_line(pr, x0, y0, x1, y1, brush, tex, op, 0) 
X- 
X- #else !lint || KERNEL
X- 
X- extern prs_rop();
X- extern prs_stencil();
X- extern prs_batchrop();
X- extern prs_destroy();
X- extern prs_get();
X- extern prs_put();
X- extern prs_vector();
X- extern Pixrect *prs_region();
X- extern prs_putcolormap();
X- extern prs_getcolormap();
X- extern prs_putattributes();
X- extern prs_getattributes();
X- 
X- extern prs_replrop();
X- extern pr_close();
X- extern pr_line();
X- 
X- #endif lint
X  
X  #endif	pixrect_DEFINED
X--- 241,244 ----
Xdiff -rc2 /usr/include/pixrect/pr_io.h pixrect/pr_io.h
X*** /usr/include/pixrect/pr_io.h	Sat Apr  9 10:36:44 1988
X--- pixrect/pr_io.h	Fri Jul 28 19:17:22 1989
X***************
X*** 43,55 ****
X  
X  /* declarations */
X! extern int pr_dump();
X! extern int pr_dump_header();
X! extern int pr_dump_image();
X! extern Pixrect * pr_dump_init();
X! extern Pixrect * pr_load();
X! extern int pr_load_colormap();
X! extern int pr_load_header();
X! extern Pixrect * pr_load_image();
X! extern Pixrect * pr_load_std_image();
X  
X  #endif pr_io_DEFINED
X--- 43,58 ----
X  
X  /* declarations */
X! /* All these void * should really be FILE *. Unfortunately there's no guarantee
X!    that the user really wants stdio and includes it. /Pell */
X! 
X! extern int pr_dump(Pixrect *, void *, colormap_t *, int, int);
X! extern int pr_dump_header(void *, struct rasterfile *, colormap_t *);
X! extern int pr_dump_image(Pixrect *, void *, struct rasterfile *);
X! extern Pixrect * pr_dump_init(Pixrect *, struct rasterfile *);
X! extern Pixrect * pr_load(void *, colormap_t *);
X! extern int pr_load_colormap(void *, struct rasterfile *, colormap_t *);
X! extern int pr_load_header(void *, struct rasterfile *);
X! extern Pixrect * pr_load_image(void *, struct rasterfile *, colormap_t *);
X! extern Pixrect * pr_load_std_image(void *, struct rasterfile *);
X  
X  #endif pr_io_DEFINED
Xdiff -rc2 /usr/include/pixrect/pr_planegroups.h pixrect/pr_planegroups.h
X*** /usr/include/pixrect/pr_planegroups.h	Sat Apr  9 10:36:45 1988
X--- pixrect/pr_planegroups.h	Fri Jul 28 19:08:40 1989
X***************
X*** 28,35 ****
X  
X  /* Plane groups functions */
X! extern int pr_available_plane_groups();
X! extern int pr_get_plane_group();
X! extern void pr_set_plane_group();
X! extern void pr_set_planes();
X  
X  #endif	pr_planegroups_DEFINED
X--- 28,35 ----
X  
X  /* Plane groups functions */
X! extern int pr_available_plane_groups(Pixrect *, int, char *);
X! extern int pr_get_plane_group(Pixrect *);
X! extern void pr_set_plane_group(Pixrect *, int);
X! extern void pr_set_planes(Pixrect *, int, int);
X  
X  #endif	pr_planegroups_DEFINED
SHAR_EOF
chmod 0644 PATCH-pixrect || echo "restore of PATCH-pixrect fails"
echo "x - extracting PATCH-suntool (Text)"
sed 's/^X//' << 'SHAR_EOF' > PATCH-suntool &&
Xdiff -rc2 /usr/include/suntool/alert.h suntool/alert.h
X*** /usr/include/suntool/alert.h	Sat Apr  9 10:01:31 1988
X--- suntool/alert.h	Fri Jul 28 18:04:23 1989
X***************
X*** 36,40 ****
X  } Alert_attribute;
X  
X! #define alert_attr_next(attr) (Alert_attribute *)attr_next((caddr_t *)attr)
X  
X  /* ------------------------------------------------------------------ */
X--- 36,40 ----
X  } Alert_attribute;
X  
X! #define alert_attr_next(attr) (Alert_attribute *)attr_next((void **)attr)
X  
X  /* ------------------------------------------------------------------ */
X***************
X*** 68,72 ****
X  
X  extern int
X! alert_prompt(/*client_frame, event, attr_list*/);
X  
X  #endif ~alert_DEFINED
X--- 68,72 ----
X  
X  extern int
X! alert_prompt(Frame, Event * ...);
X  
X  #endif ~alert_DEFINED
Xdiff -rc2 /usr/include/suntool/canvas.h suntool/canvas.h
X*** /usr/include/suntool/canvas.h	Sat Apr  9 09:59:33 1988
X--- suntool/canvas.h	Fri Jul 28 18:04:41 1989
X***************
X*** 10,14 ****
X  #include <sunwindow/attr.h>
X  
X! typedef caddr_t	Canvas;
X  
X  #define	CANVAS_ATTR(type, ordinal)	ATTR(ATTR_PKG_CANVAS, type, ordinal)
X--- 10,14 ----
X  #include <sunwindow/attr.h>
X  
X! typedef void *	Canvas;
X  
X  #define	CANVAS_ATTR(type, ordinal)	ATTR(ATTR_PKG_CANVAS, type, ordinal)
X***************
X*** 34,47 ****
X  /* useful macros
X   */
X! #define	canvas_pixwin(canvas)	(Pixwin *) (LINT_CAST(window_get(canvas, CANVAS_PIXWIN)))
X  
X  /* useful functions
X   */
X! extern Event			*canvas_event();
X! extern Event			*canvas_window_event();
X  
X  /* canvas creation routine */
X  #define	CANVAS			canvas_window_object
X! extern caddr_t			canvas_window_object();
X  
X  /* canvas window type */
X--- 34,47 ----
X  /* useful macros
X   */
X! #define	canvas_pixwin(canvas)	(Pixwin *) (window_get(canvas, CANVAS_PIXWIN))
X  
X  /* useful functions
X   */
X! extern Event		*canvas_event(Canvas, struct inputevent *);
X! extern Event		*canvas_window_event(Canvas, struct inputevent *);
X  
X  /* canvas creation routine */
X  #define	CANVAS			canvas_window_object
X! extern void *			canvas_window_object(Window ...);
X  
X  /* canvas window type */
Xdiff -rc2 /usr/include/suntool/emptysw.h suntool/emptysw.h
X*** /usr/include/suntool/emptysw.h	Sat Apr  9 10:00:06 1988
X--- suntool/emptysw.h	Sat Jan 21 15:04:10 1989
X***************
X*** 17,27 ****
X  typedef struct emptysubwindow Emptysw;
X  
X- extern	Emptysw *esw_begin();
X- 
X- extern	Emptysw *esw_init();
X- extern	int esw_handlesigwinch();
X- extern	struct toolsw *esw_createtoolsubwindow();
X- 
X- #ifdef	cplus
X  /*
X   * C Library routines specifically related to empty subwindow functions.
X--- 17,20 ----
X***************
X*** 34,43 ****
X   * subwindow.
X   */
X! Emptysw *esw_begin(Tool *tool, char *name, short width, height);
X  
X  
X! Emptysw *esw_init(int windowfd);
X! void	esw_handlesigwinch(struct emptysubwindow *esw);
X! void	esw_done(struct emptysubwindow *esw);
X  
X  /*
X--- 27,36 ----
X   * subwindow.
X   */
X! Emptysw *esw_begin(Tool *, char *, short, short);
X  
X  
X! Emptysw *esw_init(int);
X! void	esw_handlesigwinch(struct emptysubwindow *);
X! void	esw_done(struct emptysubwindow *);
X  
X  /*
X***************
X*** 44,49 ****
X   * Utility for initializing toolsw as empty subwindow in suntool environment
X   */
X! struct	toolsw *esw_createtoolsubwindow(
X! 	Tool *tool, char *name, short width, height);
X! #endif
X! 
X--- 37,39 ----
X   * Utility for initializing toolsw as empty subwindow in suntool environment
X   */
X! struct	toolsw *esw_createtoolsubwindow(Tool *, char *, short, short);
Xdiff -rc2 /usr/include/suntool/frame.h suntool/frame.h
X*** /usr/include/suntool/frame.h	Sat Apr  9 09:59:27 1988
X--- suntool/frame.h	Fri Jul 28 18:04:46 1989
X***************
X*** 17,25 ****
X  #define FRAME_TYPE	ATTR_PKG_FRAME
X  
X! typedef	caddr_t 	Frame;
X  #define FRAME		frame_window_object
X  #define	ROOT_FRAME	((Frame)0)
X  
X! extern caddr_t frame_window_object();
X  
X  /***********************************************************************/
X--- 17,25 ----
X  #define FRAME_TYPE	ATTR_PKG_FRAME
X  
X! typedef	void * 	Frame;
X  #define FRAME		frame_window_object
X  #define	ROOT_FRAME	((Frame)0)
X  
X! extern void * frame_window_object(Window ...);
X  
X  /***********************************************************************/
X***************
X*** 94,97 ****
X--- 94,105 ----
X  
X  /***********************************************************************/
X+ /*      external declarations                                          */
X+ /***********************************************************************/
X+ /* Added by Pell, moved from window.h */
X+ 
X+ extern void		window_main_loop(Frame);
X+ extern void *		window_loop(Frame);
X+ 
X+ /***********************************************************************/
X  /* macros                                                              */
X  /***********************************************************************/
X***************
X*** 107,116 ****
X  
X  #define frame_done_proc(frame) \
X!    (((void (*)())(LINT_CAST(window_get(frame, FRAME_DONE_PROC))))(frame))
X  
X  
X  #define frame_default_done_proc(frame) \
X!    (((void (*)())(LINT_CAST(window_get(frame, FRAME_DEFAULT_PROC))))(frame))
X  
X  /***********************************************************************/
X! #endif ~frame_DEFINED
X--- 115,124 ----
X  
X  #define frame_done_proc(frame) \
X!    (((void (*)())(window_get(frame, FRAME_DONE_PROC)))(frame))
X  
X  
X  #define frame_default_done_proc(frame) \
X!    (((void (*)())(window_get(frame, FRAME_DEFAULT_PROC)))(frame))
X  
X  /***********************************************************************/
X! #endif /* ~frame_DEFINED */
Xdiff -rc2 /usr/include/suntool/fullscreen.h suntool/fullscreen.h
X*** /usr/include/suntool/fullscreen.h	Sat Apr  9 10:00:07 1988
X--- suntool/fullscreen.h	Sat Jan 21 14:59:29 1989
X***************
X*** 37,43 ****
X  };
X  
X! extern	struct fullscreen *fullscreen_init(), *fsglobal;
X  
X- #ifdef	cplus
X  /*
X   * C Library routines specifically related to full screen functions.
X--- 37,42 ----
X  };
X  
X! extern	struct fullscreen *fsglobal;
X  
X  /*
X   * C Library routines specifically related to full screen functions.
X***************
X*** 47,52 ****
X   * Full screen operations.
X   */
X! struct	fullscreen *fullscreen_init(int windowfd);
X! void	fullscreen_destroy(struct fullscreen *fs);
X! #endif
X! 
X--- 46,49 ----
X   * Full screen operations.
X   */
X! struct	fullscreen *fullscreen_init(int);
X! void	fullscreen_destroy(struct fullscreen *);
Xdiff -rc2 /usr/include/suntool/gfxsw.h suntool/gfxsw.h
X*** /usr/include/suntool/gfxsw.h	Sat Apr  9 09:59:39 1988
X--- suntool/gfxsw.h	Fri Jul 28 18:04:48 1989
X***************
X*** 30,42 ****
X  	struct	pixwin *gfx_pixwin;
X  	struct	rect gfx_rect;
X! 	caddr_t	gfx_takeoverdata;
X  };
X  
X- extern	struct gfxsubwindow *gfxsw_init();
X- #ifdef	TOOL_DONE
X- extern	struct toolsw *gfxsw_createtoolsubwindow();
X- #endif
X- 
X- #ifdef	cplus
X  /*
X   * C Library routines specifically related to gfx subwindow functions.
X--- 30,36 ----
X  	struct	pixwin *gfx_pixwin;
X  	struct	rect gfx_rect;
X! 	void *	gfx_takeoverdata;
X  };
X  
X  /*
X   * C Library routines specifically related to gfx subwindow functions.
X***************
X*** 46,52 ****
X   * Empty subwindow operations.
X   */
X! struct	gfxsubwindow *gfxsw_init(int windowfd, char **argv);
X! void	gfxsw_handlesigwinch(struct gfxsubwindow *gfxsw);
X! void	gfxsw_done(struct gfxsubwindow *gfxsw);
X  
X  /*
X--- 40,46 ----
X   * Empty subwindow operations.
X   */
X! struct	gfxsubwindow *gfxsw_init(int, char **);
X! void	gfxsw_handlesigwinch(struct gfxsubwindow *);
X! void	gfxsw_done(struct gfxsubwindow *);
X  
X  /*
X***************
X*** 53,58 ****
X   * Utility for initializing toolsw as gfx subwindow in suntool environment
X   */
X! struct	toolsw *gfxsw_createtoolsubwindow(
X! 	struct tool *tool, char *name, short width, height, char **argv);
X  
X  /*
X--- 47,54 ----
X   * Utility for initializing toolsw as gfx subwindow in suntool environment
X   */
X! #ifdef	TOOL_DONE
X! struct	toolsw *gfxsw_createtoolsubwindow(struct tool *, char *,
X! 					  short, short, char **);
X! #endif
X  
X  /*
X***************
X*** 59,63 ****
X   * Utility used by client that wants to explicitly have a retained window.
X   */
X! gfxsw_getretained(struct gfxsubwindow *gfx);
X  
X  /*
X--- 55,59 ----
X   * Utility used by client that wants to explicitly have a retained window.
X   */
X! int gfxsw_getretained(struct gfxsubwindow *);
X  
X  /*
X***************
X*** 64,68 ****
X   * Called by "non-takeover" graphics programs when recieve SIGWINCH.
X   */
X! void	gfxsw_interpretesigwinch(struct gfxsubwindow *gfx);
X  /*
X   * Used implicitly by "takeover" programs as SIGWINCH signal handler instead
X--- 60,64 ----
X   * Called by "non-takeover" graphics programs when recieve SIGWINCH.
X   */
X! void	gfxsw_interpretesigwinch(struct gfxsubwindow *);
X  /*
X   * Used implicitly by "takeover" programs as SIGWINCH signal handler instead
X***************
X*** 77,82 ****
X   * Used explicitely by "takeover" programs as substitute for tool_select call.
X   */
X! void	gfxsw_select(struct  gfxsubwindow *gfx, int (*selected)(),
X! 	    int inputmask, outputmask, exceptmask, struct timeval *timer);
X  /*
X   * When in selected routine (see gfxsw_select) call this if want to return from
X--- 73,78 ----
X   * Used explicitely by "takeover" programs as substitute for tool_select call.
X   */
X! void	gfxsw_select(struct  gfxsubwindow *, int (*)(),
X! 	    int, int, int, struct timeval *);
X  /*
X   * When in selected routine (see gfxsw_select) call this if want to return from
X***************
X*** 83,87 ****
X   * gfxsw_select call.
X   */
X! void	gfxsw_selectdone(struct gfxsubwindow *gfx);
X  /*
X   * Calling sequence of selected routine (see gfxsw_select).
X--- 79,83 ----
X   * gfxsw_select call.
X   */
X! void	gfxsw_selectdone(struct gfxsubwindow *);
X  /*
X   * Calling sequence of selected routine (see gfxsw_select).
X***************
X*** 88,97 ****
X   * Can be called only if gfx->gfx_flags has GFX_RESTART bit set.
X   */
X! gfxsw_selected(struct gfxsubwindow *gfx; int *ibits, *obits, *ebits;
X! 	    struct timeval **timer);
X  {
X- #endif
X- 
X- 
X- 
X- 
X--- 84,88 ----
X   * Can be called only if gfx->gfx_flags has GFX_RESTART bit set.
X   */
X! gfxsw_selected(struct gfxsubwindow *, int *, int *, int *,
X! 	    struct timeval **);
X  {
Xdiff -rc2 /usr/include/suntool/icon.h suntool/icon.h
X*** /usr/include/suntool/icon.h	Sat Apr  9 10:00:28 1988
X--- suntool/icon.h	Fri Jul 28 18:05:30 1989
X***************
X*** 31,35 ****
X  } Icon_attribute;
X  
X! #define icon_attr_next(attr) (Icon_attribute *)attr_next((caddr_t *)attr)
X  
X  /*****************************************************************************/
X--- 31,35 ----
X  } Icon_attribute;
X  
X! #define icon_attr_next(attr) (Icon_attribute *)attr_next((void **)attr)
X  
X  /*****************************************************************************/
X***************
X*** 63,67 ****
X  /*****************************************************************************/
X  
X! typedef caddr_t      Icon;
X  typedef struct icon *icon_handle;
X  
X--- 63,67 ----
X  /*****************************************************************************/
X  
X! typedef void *      Icon;
X  typedef struct icon *icon_handle;
X  
X***************
X*** 70,78 ****
X  /*****************************************************************************/
X  
X! extern Icon	icon_create();
X! extern caddr_t	icon_get();
X! extern int	icon_set();
X! extern int	icon_destroy();
X! extern void	icon_display(); /* how are icons undisplayed? */
X  
X  /*****************************************************************************/
X--- 70,79 ----
X  /*****************************************************************************/
X  
X! extern Icon	icon_create(...);
X! extern void *	icon_get(Icon, Icon_attribute);
X! extern int	icon_set(Icon ...);
X! extern int	icon_destroy(Icon);
X! extern void	icon_display(struct icon *, struct pixwin *, int, int);
X! 		/* how are icons undisplayed? */
X  
X  /*****************************************************************************/
X***************
X*** 87,91 ****
X  	static struct pixrect CAT(name,_mpr) = {			\
X  	    &mem_ops, ICON_DEFAULT_WIDTH, ICON_DEFAULT_HEIGHT, 1,	\
X! 	    (caddr_t)&CAT(name,_data)};					\
X  	static struct icon name = {					\
X  	    ICON_DEFAULT_WIDTH, ICON_DEFAULT_HEIGHT,			\
X--- 88,92 ----
X  	static struct pixrect CAT(name,_mpr) = {			\
X  	    &mem_ops, ICON_DEFAULT_WIDTH, ICON_DEFAULT_HEIGHT, 1,	\
X! 	    (void *)&CAT(name,_data)};					\
X  	static struct icon name = {					\
X  	    ICON_DEFAULT_WIDTH, ICON_DEFAULT_HEIGHT,			\
X***************
X*** 105,109 ****
X  	static struct pixrect CAT(name,_mpr) = {			\
X  	    &mem_ops, ICON_DEFAULT_WIDTH, ICON_DEFAULT_HEIGHT, 1,	\
X! 	    (caddr_t)&CAT(name,_data)};					\
X  	static struct icon name = {					\
X  	    ICON_DEFAULT_WIDTH, ICON_DEFAULT_HEIGHT,			\
X--- 106,110 ----
X  	static struct pixrect CAT(name,_mpr) = {			\
X  	    &mem_ops, ICON_DEFAULT_WIDTH, ICON_DEFAULT_HEIGHT, 1,	\
X! 	    (void *)&CAT(name,_data)};					\
X  	static struct icon name = {					\
X  	    ICON_DEFAULT_WIDTH, ICON_DEFAULT_HEIGHT,			\
Xdiff -rc2 /usr/include/suntool/icon_load.h suntool/icon_load.h
X*** /usr/include/suntool/icon_load.h	Sat Apr  9 10:00:29 1988
X--- suntool/icon_load.h	Sat Jan 21 14:44:17 1989
X***************
X*** 130,138 ****
X  typedef icon_header_object	*icon_header_handle;
X  
X! extern int			 icon_load();
X! extern int			 icon_init_from_pr();
X! extern struct pixrect		*icon_load_mpr();
X! extern int			 icon_read_pr();
X! extern FILE			*icon_open_header();
X  
X  #endif
X--- 130,139 ----
X  typedef icon_header_object	*icon_header_handle;
X  
X! extern int		 icon_load(struct icon *, char *, char *);
X! extern int		 icon_init_from_pr(struct icon *, struct pixrect *);
X! extern struct pixrect	*icon_load_mpr(char *, char *);
X! extern int	       	 icon_read_pr(FILE *, icon_header_handle,
X! 				      struct pixrect *);
X! extern FILE	       	*icon_open_header(char *, char *, icon_header_handle);
X  
X  #endif
Xdiff -rc2 /usr/include/suntool/image.h suntool/image.h
X*** /usr/include/suntool/image.h	Sat Apr  9 10:01:13 1988
X--- suntool/image.h	Fri Jul 28 18:05:36 1989
X***************
X*** 65,69 ****
X  /***********************************************************************/
X  
X! typedef	caddr_t 	Image;
X  
X  #define	IMAGE_NULL	((Image)0)
X--- 65,69 ----
X  /***********************************************************************/
X  
X! typedef	void * 	Image;
X  
X  #define	IMAGE_NULL	((Image)0)
X***************
X*** 75,79 ****
X  /* 
X     extern Image		 image_create(av_list);
X!    extern caddr_t	 image_get(image|image_item, attr{, data});
X     extern int		 image_set(image|image_item, attr{, data}, value);
X     extern void		 image_destroy(image|image_item);
X--- 75,79 ----
X  /* 
X     extern Image		 image_create(av_list);
X!    extern void *	 image_get(image|image_item, attr{, data});
X     extern int		 image_set(image|image_item, attr{, data}, value);
X     extern void		 image_destroy(image|image_item);
X***************
X*** 81,89 ****
X   */
X  
X!    extern Image		 image_create();
X!    extern caddr_t	 image_get();
X!    extern int		 image_set();
X!    extern void		 image_destroy();
X!    extern void		 image_render();
X  
X  /***********************************************************************/
X--- 81,89 ----
X   */
X  
X!    extern Image		 image_create(...);
X!    extern void *	 image_get(struct image *, struct image * ...);
X!    extern int		 image_set(struct image * ...);
X!    extern void		 image_destroy(struct image *);
X!    extern void		 image_render(struct image *, struct image * ...);
X  
X  /***********************************************************************/
Xdiff -rc2 /usr/include/suntool/menu.h suntool/menu.h
X*** /usr/include/suntool/menu.h	Sat Apr  9 10:00:08 1988
X--- suntool/menu.h	Fri Jul 28 18:05:45 1989
X***************
X*** 47,55 ****
X  #define	MENU_IMAGESTRING	0x00	/* imagedata is char * */
X  #define MENU_GRAPHIC            0x01    /* imagedata is pixrect * */
X! 	caddr_t	m_imagedata;		/* pointer to display data for header */
X  	int	m_itemcount;		/* number of menuitems in m_items */
X  	struct	menuitem *m_items;	/* array of menuitems */
X  	struct	menu *m_next;		/* link to another menu */
X! 	caddr_t	m_data;			/* menu private data (initialize to 0)*/
X  };
X  
X--- 47,55 ----
X  #define	MENU_IMAGESTRING	0x00	/* imagedata is char * */
X  #define MENU_GRAPHIC            0x01    /* imagedata is pixrect * */
X! 	void *	m_imagedata;		/* pointer to display data for header */
X  	int	m_itemcount;		/* number of menuitems in m_items */
X  	struct	menuitem *m_items;	/* array of menuitems */
X  	struct	menu *m_next;		/* link to another menu */
X! 	void *	m_data;			/* menu private data (initialize to 0)*/
X  };
X  
X***************
X*** 56,61 ****
X  struct	menuitem {
X  	int	mi_imagetype;		/* interpretation of mi_imagedata */
X! 	caddr_t	mi_imagedata;		/* pointer to display data for item */
X! 	caddr_t	mi_data;		/* item specific data */
X  };
X  
X--- 56,61 ----
X  struct	menuitem {
X  	int	mi_imagetype;		/* interpretation of mi_imagedata */
X! 	void *	mi_imagedata;		/* pointer to display data for item */
X! 	void *	mi_data;		/* item specific data */
X  };
X  
X***************
X*** 68,74 ****
X  };
X  
X- extern	struct menuitem *menu_display();
X- 
X- #ifdef	cplus
X  /*
X   * C Library routines that implement this menu interface.
X--- 68,71 ----
X***************
X*** 75,83 ****
X   */
X  
X! struct	menuitem *menu_display(struct menu **menuptr,
X! 	    struct inputevent *event, int iowindowfd);
X! void	menu_prompt(struct prompt *prompt,
X! 	    struct inputevent *event, int iowindowfd);
X! 
X! #endif
X! 
X--- 72,75 ----
X   */
X  
X! struct	menuitem *menu_display(struct menu **, struct inputevent *, int);
X! void	menu_prompt(struct prompt *, struct inputevent *, int);
Xdiff -rc2 /usr/include/suntool/msgsw.h suntool/msgsw.h
X*** /usr/include/suntool/msgsw.h	Sat Apr  9 10:00:08 1988
X--- suntool/msgsw.h	Fri Jan 20 21:52:32 1989
X***************
X*** 23,29 ****
X  #define MSGSW_NULL      ((Msgsw *)0)
X  
X- extern	Msgsw *msgsw_create();
X- 
X- #ifdef	cplus
X  /*
X   * C Library routines specifically related to msg subwindow functions.
X--- 23,26 ----
X***************
X*** 33,52 ****
X   * Empty subwindow operations.
X   */
X- Msgsw	*msgsw_create(struct tool *tool, char *name, short width, height,
X- 	    char *string, struct pixfont *font);
X- void	msgsw_setstring(Msgsw *msgsw, char *string);
X- void	msgsw_display(Msgsw *msgsw);
X- void	msgsw_done(Msgsw *msgsw);
X  
X! /*
X!  * Obsolete (but implemented) operations:
X!  */
X! struct	msgsubwindow *msgsw_init(
X! 	    int windowfd, char *string, struct pixfont *font);
X! struct	toolsw *msgsw_createtoolsubwindow(
X! 	    struct tool *tool, char *name, short width, height,
X! 	    char *string, struct pixfont *font);
X! void	msgsw_handlesigwinch(struct msgsubwindow *msgsw);
X! #endif
X  
X  /*
X--- 30,39 ----
X   * Empty subwindow operations.
X   */
X  
X! extern	Msgsw *msgsw_create(struct tool *, char *, short, short, char *,
X! 			    struct pixfont *);
X! void	msgsw_setstring(Msgsw *, char *);
X! void	msgsw_display(Msgsw *);
X! void	msgsw_done(Msgsw *);
X  
X  /*
X***************
X*** 53,58 ****
X   * Obsolete (but implemented) operations:
X   */
X! extern	struct msgsubwindow *msgsw_init();
X! extern	int msgsw_handlesigwinch();
X! extern	struct toolsw *msgsw_createtoolsubwindow();
X! 
X--- 40,45 ----
X   * Obsolete (but implemented) operations:
X   */
X! struct	msgsubwindow *msgsw_init(int, char *, struct pixfont *);
X! struct	toolsw *msgsw_createtoolsubwindow(struct tool *, char *, short, short,
X! 					  char *, struct pixfont *);
X! void	msgsw_handlesigwinch(struct msgsubwindow *);
Xdiff -rc2 /usr/include/suntool/panel.h suntool/panel.h
X*** /usr/include/suntool/panel.h	Sat Apr  9 10:01:24 1988
X--- suntool/panel.h	Fri Jul 28 21:56:21 1989
X***************
X*** 11,14 ****
X--- 11,17 ----
X  
X  #include <sunwindow/attr.h>
X+ #					ifndef tool_struct_DEFINED
X+ #include <suntool/tool_struct.h>
X+ #					endif
X  
X  /***********************************************************************/
X***************
X*** 33,41 ****
X  
X  /* new attributes should start at PANEL_LAST_ATTR + 1 */
X- #ifdef ecd.color
X  #define	PANEL_LAST_ATTR			127
X- #else
X- #define	PANEL_LAST_ATTR			125
X- #endif
X  
X  typedef enum {
X--- 36,40 ----
X***************
X*** 183,191 ****
X      /* pixwin pointers */  
X      PANEL_PIXWIN		= PANEL_ATTR(ATTR_PIXWIN_PTR, 111),
X- #ifdef ecd.color
X      /* color panel item attributes */
X      PANEL_ITEM_COLOR		= PANEL_ATTR(ATTR_INT,126),
X      PANEL_PAINT_PIXWIN		= PANEL_ATTR(ATTR_PIXWIN_PTR,127),
X- #endif
X  
X      /* opaque pointers */
X--- 182,188 ----
X***************
X*** 236,242 ****
X  /***********************************************************************/
X  
X! typedef	caddr_t 	Panel;
X! typedef	caddr_t 	Panel_item;
X! typedef	caddr_t 	Panel_attribute_value;
X  
X  /***********************************************************************/
X--- 233,239 ----
X  /***********************************************************************/
X  
X! typedef	void * 	Panel;
X! typedef	void * 	Panel_item;
X! typedef	void * 	Panel_attribute_value;
X  
X  /***********************************************************************/
X***************
X*** 247,251 ****
X  #define PANEL panel_window_object
X  #define PANEL_TYPE ATTR_PKG_PANEL
X! extern caddr_t panel_window_object();
X  
X  /* for PANEL_CYCLE choice item */
X--- 244,248 ----
X  #define PANEL panel_window_object
X  #define PANEL_TYPE ATTR_PKG_PANEL
X! extern void * panel_window_object(Window);
X  
X  /* for PANEL_CYCLE choice item */
X***************
X*** 253,283 ****
X  
X  /* Panel routines */
X! extern Panel		 panel_begin();
X! extern caddr_t		 panel_advance_caret();
X! extern caddr_t		 panel_backup_caret();
X  
X  /* Panel & Panel_item routines */
X! extern Panel_attribute_value panel_get();
X! extern int               panel_set();
X! extern                   panel_paint();
X! extern			 panel_free();
X! extern			 panel_destroy_item();
X  
X  /* event mapping routines */
X! extern			 panel_handle_event();
X! extern			 panel_default_handle_event();
X! extern			 panel_cancel();
X  
X  /* Panel_item action routines */
X! extern			 panel_begin_preview();
X! extern			 panel_update_preview();
X! extern			 panel_accept_preview();
X! extern			 panel_cancel_preview();
X! extern			 panel_accept_menu();
X! extern			 panel_accept_key();
X  
X  /* utilities */
X! extern Panel_setting	 panel_text_notify();
X! extern struct pixrect   *panel_button_image();
X  
X  /* routines to translate event coordinates
X--- 250,280 ----
X  
X  /* Panel routines */
X! extern Panel		 panel_begin(Tool *);
X! extern void *		 panel_advance_caret(Panel_item);
X! extern void *		 panel_backup_caret(Panel_item);
X  
X  /* Panel & Panel_item routines */
X! extern Panel_attribute_value panel_get(Panel, Panel_attribute);
X! extern int               panel_set(Panel ...);
X! extern                   panel_paint(Panel, Panel_setting);
X! extern			 panel_free(Panel);
X! extern			 panel_destroy_item(Panel_item);
X  
X  /* event mapping routines */
X! extern			 panel_handle_event(Panel_item, Event *);
X! extern			 panel_default_handle_event(Panel_item, Event *);
X! extern			 panel_cancel(Panel_item, Event *);
X  
X  /* Panel_item action routines */
X! extern			 panel_begin_preview(Panel_item, Event *);
X! extern			 panel_update_preview(Panel_item, Event *);
X! extern			 panel_accept_preview(Panel_item, Event *);
X! extern			 panel_cancel_preview(Panel_item, Event *);
X! extern			 panel_accept_menu(Panel_item, Event *);
X! extern			 panel_accept_key(Panel_item, Event *);
X  
X  /* utilities */
X! extern Panel_setting	 panel_text_notify(Panel_item, Event *);
X! extern struct pixrect   *panel_button_image(Panel, char *, int, Pixfont *);
X  
X  /* routines to translate event coordinates
X***************
X*** 286,291 ****
X   * releases.
X   */
X! extern struct inputevent	*panel_window_event();
X! extern struct inputevent	*panel_event();
X  
X  
X--- 283,288 ----
X   * releases.
X   */
X! extern struct inputevent	*panel_window_event(Panel_item, Event *);
X! extern struct inputevent	*panel_event(Panel_item, Event *);
X  
X  
X***************
X*** 294,305 ****
X  /***********************************************************************/
X  
X! extern Panel_item	panel_create_item();
X! extern Panel_item	panel_button();
X! extern Panel_item	panel_choice();
X! extern Panel_item 	panel_message();
X! extern Panel_item	panel_slider();
X! extern Panel_item	panel_text();
X! extern Panel_item	panel_line();
X  
X  /***********************************************************************/
X  /* Values for type argument to panel_create_item()                     */
X--- 291,305 ----
X  /***********************************************************************/
X  
X! typedef void *panel_item_handle;
X  
X+ extern Panel_item panel_create_item(Panel,
X+ 				    Panel_item (*)(panel_item_handle ...) ...);
X+ extern Panel_item panel_button(panel_item_handle ...);
X+ extern Panel_item panel_choice(panel_item_handle ...);
X+ extern Panel_item panel_message(panel_item_handle ...);
X+ extern Panel_item panel_slider(panel_item_handle ...);
X+ extern Panel_item panel_text(panel_item_handle ...);
X+ extern Panel_item panel_line(panel_item_handle ...);
X+ 
X  /***********************************************************************/
X  /* Values for type argument to panel_create_item()                     */
X***************
X*** 342,347 ****
X  
X  /* functions for backward compatability */
X! extern struct toolsw	*panel_create();
X! extern caddr_t          *panel_make_list();
X  
X  /* PANEL_CU() is provided for backward 
X--- 342,347 ----
X  
X  /* functions for backward compatability */
X! extern struct toolsw	*panel_create(Tool * ...);
X! extern void *          *panel_make_list();
X  
X  /* PANEL_CU() is provided for backward 
Xdiff -rc2 /usr/include/suntool/scrollbar.h suntool/scrollbar.h
X*** /usr/include/suntool/scrollbar.h	Sat Apr  9 09:59:46 1988
X--- suntool/scrollbar.h	Thu Jul 27 23:13:00 1989
X***************
X*** 95,99 ****
X  #define SCROLL_EAST	SCROLL_MAX
X  
X! typedef caddr_t	Scrollbar;
X  
X  /****************************************************************************/
X--- 95,99 ----
X  #define SCROLL_EAST	SCROLL_MAX
X  
X! typedef void *	Scrollbar;
X  
X  /****************************************************************************/
X***************
X*** 137,141 ****
X     long unsigned	bar_length;
X     long unsigned	bar_offset;
X!    caddr_t		object;
X     Scrollbar_setting	direction;
X     Scroll_motion  	motion;
X--- 137,141 ----
X     long unsigned	bar_length;
X     long unsigned	bar_offset;
X!    void *		object;
X     Scrollbar_setting	direction;
X     Scroll_motion  	motion;
X***************
X*** 146,163 ****
X  /****************************************************************************/
X  
X! extern Scrollbar 	scrollbar_build(); /*old style: should remove */
X! extern Scrollbar 	scrollbar_create();
X! extern int		scrollbar_destroy();
X! extern caddr_t          scrollbar_get();
X! extern int              scrollbar_set();
X  
X! extern int 		scrollbar_paint();
X! extern int 		scrollbar_paint_clear();
X! extern int 		scrollbar_paint_all();
X! extern int 		scrollbar_paint_all_clear();
X! extern int 		scrollbar_paint_bubble();
X! extern int 		scrollbar_clear_bubble();
X  
X! extern void 		scrollbar_scroll_to();
X  
X  #endif
X--- 146,163 ----
X  /****************************************************************************/
X  
X! extern Scrollbar 	scrollbar_build(...); /*old style: should remove */
X! extern Scrollbar 	scrollbar_create(...);
X! extern int		scrollbar_destroy(Scrollbar);
X! extern void *           scrollbar_get(Scrollbar, Scrollbar_attribute);
X! extern int              scrollbar_set(Scrollbar ...);
X  
X! extern int 		scrollbar_paint(Scrollbar);
X! extern int 		scrollbar_paint_clear(Scrollbar);
X! extern int 		scrollbar_paint_all(struct pixwin *);
X! extern int 		scrollbar_paint_all_clear(struct pixwin *);
X! extern int 		scrollbar_paint_bubble(Scrollbar);
X! extern int 		scrollbar_clear_bubble(Scrollbar);
X  
X! extern void 		scrollbar_scroll_to(Scrollbar, long);
X  
X  #endif
Xdiff -rc2 /usr/include/suntool/selection.h suntool/selection.h
X*** /usr/include/suntool/selection.h	Sat Apr  9 10:00:19 1988
X--- suntool/selection.h	Fri Jul 28 18:06:00 1989
X***************
X*** 10,14 ****
X  		sel_itembytes,
X  		sel_pubflags;
X! 	caddr_t	sel_privdata;
X  };
X  
X--- 10,14 ----
X  		sel_itembytes,
X  		sel_pubflags;
X! 	void *	sel_privdata;
X  };
X  
X***************
X*** 32,57 ****
X  #define	SEL_SECONDARY	0X02	/* Secondary selection */
X  
X- #ifdef	cplus
X  /*
X   * Create the selection
X   */
X! void	selection_set(struct selection *sel, int (*sel_write)(), (*sel_clear)(),
X! 	    windowfd);
X  /*
X   * Fetch the selection
X   */
X! void	selection_get(int (*sel_read)(), windowfd);
X  /*
X   * Clear the selection
X   */
X! void	selection_clear(windowfd);
X  /*
X   * Write the bits of the selection
X   */
X! void	sel_write(struct selection *sel, FILE *file);
X  /*
X   * Read the bits of the selection
X   */
X! void	sel_read(struct selection *sel, FILE *file);
X  /*
X   * As the owner of the selection you should clear your hiliting because
X--- 32,55 ----
X  #define	SEL_SECONDARY	0X02	/* Secondary selection */
X  
X  /*
X   * Create the selection
X   */
X! void	selection_set(struct selection *, int (*)(...), int (*)(...), int);
X  /*
X   * Fetch the selection
X   */
X! void	selection_get(int (*)(...), int);
X  /*
X   * Clear the selection
X   */
X! void	selection_clear(int);
X  /*
X   * Write the bits of the selection
X   */
X! void	sel_write(struct selection *, FILE *);
X  /*
X   * Read the bits of the selection
X   */
X! void	sel_read(struct selection *, FILE *);
X  /*
X   * As the owner of the selection you should clear your hiliting because
X***************
X*** 58,62 ****
X   * you are no longer the selection owner.
X   */
X! void	sel_clear(struct selection *sel, int windowfd);
X! #endif	cplus
X! 
X--- 56,58 ----
X   * you are no longer the selection owner.
X   */
X! void	sel_clear(struct selection *, int);
Xdiff -rc2 /usr/include/suntool/selection_svc.h suntool/selection_svc.h
X*** /usr/include/suntool/selection_svc.h	Sat Apr  9 10:00:20 1988
X--- suntool/selection_svc.h	Fri Jul 28 18:03:20 1989
X***************
X*** 129,133 ****
X  
X  typedef struct	{
X!     Seln_result	       (*consume)();
X      char		*context;
X  }	Seln_requester;
X--- 129,133 ----
X  
X  typedef struct	{
X!     Seln_result	       (*consume)(...);
X      char		*context;
X  }	Seln_requester;
X***************
X*** 157,168 ****
X  
X  
X! Seln_client     seln_create();
X! void            seln_destroy();
X  
X  Seln_function_buffer
X! 		seln_inform();
X  
X  
X! Seln_holder     seln_inquire();
X  
X  Seln_holders_all
X--- 157,168 ----
X  
X  
X! Seln_client     seln_create(void (*)(...), Seln_result (*)(...), char *);
X! void            seln_destroy(char *);
X  
X  Seln_function_buffer
X! 		seln_inform(Seln_client, Seln_function, int);
X  
X  
X! Seln_holder     seln_inquire(Seln_rank);
X  
X  Seln_holders_all
X***************
X*** 169,186 ****
X  		seln_inquire_all();
X  
X! Seln_rank       seln_acquire();
X  
X! Seln_request   *seln_ask();
X  
X! Seln_response	seln_figure_response();
X  
X! Seln_result     seln_done(),
X! 		seln_functions_state(),
X! 		seln_hold_file(),
X! 		seln_query(),
X! 		seln_request(),
X! 		seln_stop();
X  
X! void            seln_report_event(),
X  		seln_yield_all();
X  
X--- 169,186 ----
X  		seln_inquire_all();
X  
X! Seln_rank       seln_acquire(Seln_client, Seln_rank);
X  
X! Seln_request   *seln_ask(Seln_holder ...);
X  
X! Seln_response	seln_figure_response(Seln_function_buffer *, Seln_holder **);
X  
X! Seln_result     seln_done(Seln_client, Seln_rank),
X! 		seln_functions_state(Seln_functions_state),
X! 		seln_hold_file(Seln_rank, char *),
X! 		seln_query(Seln_holder *, Seln_result (*)(...), char * ...),
X! 		seln_request(Seln_holder *, Seln_request *),
X! 		seln_stop(int);
X  
X! void            seln_report_event(Seln_client, struct inputevent *),
X  		seln_yield_all();
X  
X***************
X*** 187,201 ****
X  /*	possibly useful predicates	*/
X  
X! int		seln_get_function_state();
X  
X  #define		seln_holder_is_me(client, holder)	\
X  			(seln_holder_same_client(client, holder))
X! int		seln_holder_same_client(),
X! 	 	seln_holder_same_process(),
X! 		seln_secondary_made(),
X! 		seln_secondary_exists(),
SHAR_EOF
echo "End of part 1"
echo "File PATCH-suntool is continued in part 2"
echo "2" > s2_seq_.tmp
exit 0