/* $XConsortium: phigs.c_bind,v 5.5 94/04/17 20:41:04 hersh Exp $ */

/***********************************************************

Copyright (c) 1989, 1990, 1991  X Consortium

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of the X Consortium shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from the X Consortium.

Copyright 1989, 1990, 1991 by Sun Microsystems, Inc. 

                        All Rights Reserved

Permission to use, copy, modify, and distribute this software and its 
documentation for any purpose and without fee is hereby granted, 
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in 
supporting documentation, and that the name of Sun Microsystems,
not be used in advertising or publicity pertaining to distribution of 
the software without specific, written prior permission.  

SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT 
SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.

******************************************************************/

#include <stdio.h>
#include <phigs/phigs.h>

/* These are the base ws types */
Pint		phigs_ws_type_x_tool;
Pint		phigs_ws_type_x_drawable;

void
popen_ar_file( archive_id, archive_file)
    Pint	archive_id;	/* archive identifier	*/
    char	*archive_file;	/* archive file name	*/
{}
void
pclose_ar_file( archive_id)
    Pint	archive_id;	/* archive identifier	*/
{}
void
par_structs( archive_id, struct_ids)
    Pint	archive_id;	/* archive identifier	*/
    Pint_list	*struct_ids;	/* list of structure identifiers	*/
{}
void
par_struct_nets( archive_id, struct_ids)
    Pint	archive_id;	/* archive identifier	*/
    Pint_list	*struct_ids;	/* list of structure identifiers	*/
{}
void
par_all_structs( archive_id)
    Pint	archive_id;	/* archive identifier	*/
{}
void
pset_conf_res( archival_resolution, retrieval_resolution)
    Pconf_res	archival_resolution; /*archival conflict resolution*/
    Pconf_res	retrieval_resolution; /*retieval conflict resolution*/
{}
void
pret_struct_ids( archive_id, max_ids, start, ids, actual_ids)
    Pint	archive_id;	/* archive identifier	*/
    Pint	max_ids;	/* size of appl. archive id list	*/
    Pint	start;		/* start position of ids	*/
    Pint_list	*ids;		/* OUT list of structure ids	*/
    Pint	*actual_ids;	/* OUT actual number of ids in PHIGS	*/
{}
void
pret_structs( archive_id, struct_ids)
    Pint	archive_id;	/* archive identifier	*/
    Pint_list	*struct_ids;	/* list of structure identifiers	*/
{}
void
pret_struct_nets( archive_id, struct_ids)
    Pint	archive_id;	/* archive identifier	*/
    Pint_list	*struct_ids;	/* list of structure identifiers	*/
{}
void
pret_all_structs( archive_id)
    Pint	archive_id;	/* archive identifier	*/
{}
void
pdel_structs_ar( archive_id, struct_ids)
    Pint	archive_id;	/* archive identifier	*/
    Pint_list	*struct_ids;	/* list of structure identifiers	*/
{}
void
pdel_struct_nets_ar( archive_id, struct_ids)
    Pint	archive_id;	/* archive identifier	*/
    Pint_list	*struct_ids;	/* list of structure identifiers	*/
{}
void
pdel_all_structs_ar( archive_id)
    Pint	archive_id;	/* archive identifier	*/
{}
void
pinq_ar_st( archive_state)
    Par_st	*archive_state;	/* OUT archive state	*/
{}
void
pinq_ar_files( store, error_ind, ar_files)
    Pstore              store;          /* handle to Store object */
    Pint		*error_ind;	/* OUT error indicator	*/
    Par_file_list	**ar_files;     /* OUT list of archive file */
{}
void
pinq_conf_res( error_ind, archive, retrieval)
    Pint	*error_ind;	/* OUT error indicator	*/
    Pconf_res	*archive;	/* OUT archvival resolution	*/
    Pconf_res	*retrieval;	/* OUT retrieval resolution	*/
{}
void
pinq_all_conf_structs(ar_id, length, start, error_ind, ids, total_length)
Pint	ar_id;		/* archive identifier	*/
Pint	length;		/* length of application list	*/
Pint	start;		/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pint_list	*ids;	/* OUT list of conflicting structure ids	*/
Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pinq_conf_structs_net(ar_id, struct_id, src, length, start, error_ind, ids, total_length)
Pint	ar_id;		/* archive identifier	*/
Pint	struct_id;	/* structure identifier	*/
Pstruct_net_source	src;	/* structure network source	*/
Pint	length;		/* length of application list	*/
Pint	start;		/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pint_list	*ids;		/* OUT conflicting struct id list	*/
Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pret_paths_descs(ar_id, struct_id, po, pd, store, paths, status)
    Pint            		ar_id;		/* archive identifier */
    Pint	                struct_id;	/* structure identifier	*/
    Ppath_order     		po;     	/* path order */
    Pint            		pd;		/* path depth */
    Pstore              	store;          /* handle to Store object */
    Pelem_ref_list_list		**paths;	/* OUT path list */
    Pint			*status;	/* OUT status of retrieval */
{}
void
pret_paths_ances(ar_id, struct_id, po, pd, store, paths, status)
Pint             	ar_id;		/* archive identifier	*/
Pint            	struct_id;	/* structure identifier	*/
Ppath_order      	po;      	/* path order	*/
Pint            	pd;		/* path depth	*/
Pstore          	store;    	/* OUT store handle */
Pelem_ref_list_list	**paths;	/* OUT structure path list	*/
Pint                    *status;        /* OUT status of retrieval      */
{}
void
pcell_array3(parallelogram, colr_array)
Pparal		*parallelogram;	/* cell parallelogram: [0]=P; [1]=Q; [2]=R */
Ppat_rep	*colr_array;	/* colour array */
{}
void
pcell_array(rectangle, colr_array)
Prect		*rectangle;	/* cell rectangle	*/
Ppat_rep	*colr_array;	/* colour array */
{}
void
pcell_array3_plus(paral, dim, colour_model, colrs)
Pparal		*paral;	/* cell parallelogram: [0]=P; [1]=Q; [2]=R */
Pint_size    *dim;                   /* dimension of cell: DX and DY */
Pint    colour_model;           /* colour model */
Pcoval  *colrs;                 /* colour array   */
{}
void
pset_colr_rep( ws, index, rep)
    Pint	ws;	/* workstation identifier	*/
    Pint	index;	/* colour bundle index	*/
    Pcolr_rep	*rep;	/* colour representation pointer	*/
{}
void
pset_colr_model( ws, model)
    Pint	ws;	/* workstation identifier	*/
    Pint	model;	/* colour model	*/
{}
void
popen_xphigs( error_file, memory, xinfo_mask, xinfo )
    char		*error_file;	/* error file name */
    size_t		memory;
    unsigned long	xinfo_mask;
    Pxphigs_info	*xinfo;
{
}
void
popen_phigs( error_file, memory )
    char	*error_file;	/* error file name */
    size_t	memory;		/* NOT USED */
{}
void
pclose_phigs()
{}
void
pinq_sys_st(sys_state)
    Psys_st	*sys_state;	/* OUT the system state	*/
{}
void
pinq_phigs_facs(length, start, error_ind, open_ws, open_ar, num_names, char_sets, length_list, norm_filt, inv_filt)
Pint	length;	/* length of application list	*/
Pint	start;	/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pint	*open_ws;	/* OUT max. num. simultaneously open ws	*/
Pint	*open_ar;	/* OUT max. num. simultaneously open archive files */
Pint	*num_names;	/* OUT number of available names for name sets */
Pint_list *char_sets;	/* OUT list of character sets	*/
Pint    *length_list;   /* OUT length of list in PHIGS  */
Pint	*norm_filt;	/* OUT maximum length of normal filter list for ISS */
Pint	*inv_filt;	/* OUT maximum length of inverted filter list for ISS */
{}
void
pinq_gse_facs(length, start, error_ind, gse, total_length)
Pint    	length; 	/* length of application list	*/
Pint    	start;  	/* starting position	*/
Pint     	*error_ind;	/* OUT error indicator	*/
Pgse_id_dep_list *gse;  	/* OUT list of GSE ids and their dependencies	*/
Pint    	*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pinq_model_clip_facs(length, start, error_ind, num, ops, total_length)
Pint    	length; 	/* length of application list	*/
Pint    	start;   	/* starting position	*/
Pint    	*error_ind;	/* OUT error indicator	*/
Pint    	*num;   	/* OUT number of distinct planes in modelling clipping volume */
Pint_list	*ops;   	/* OUT list of operators	*/
Pint    	*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pemergency_close_phigs()
{}
void
pset_dcue_ind( index)
    Pint	index;	/* depth cue index	*/
{}   
/* SET DEPTH CUE REPRESENTATION */
void
pset_dcue_rep( ws, index, rep)
    Pint	ws;	/* workstation identifier	*/
    Pint	index;	/* depth cue bundle index	*/
    Pdcue_bundle *rep;	/* depth cue representation pointer	*/
{}
/* INQUIRE DEPTH CUE REPRESENTATION */
void
pinq_dcue_rep( ws, index, type, error_ind, rep)
    Pint	 ws;		/* workstation identifier	*/
    Pint	 index;		/* polyline index	*/
    Pinq_type	 type;		/* type of returned value	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pdcue_bundle *rep;		/* OUT depth cue representation	*/
{}
void
perr_hand( errnum, funcnum, fname)
    Pint	errnum;
    Pint	funcnum;
    char	*fname;
{}
void
pset_err_hand_mode( mode)
    Perr_mode	mode;	/* error handling mode	*/
{}
void
pset_err_hand( new_err_hand, old_err_hand )
    void        (*new_err_hand)();
    void        (**old_err_hand)();
{}
void
pinq_err_hand_mode( error_ind, mode)
    Pint	*error_ind;	/* OUT error indicator	*/
    Perr_mode	*mode;		/* OUT error mode	*/
{}
void
perr_log( errnum, funcnum, fname)
    Pint	errnum;
    Pint	funcnum;
    char	*fname;
{}
void
pescape( func_id, in, store, out )
    Pint        	func_id;	/* escape function identifier	*/
    Pescape_in_data	*in;		/* input data for the function	*/
    Pstore		store;
    Pescape_out_data	**out;		/* OUT output data of the function	*/
{}
/* FILL AREA 3 */
void
pfill_area3(point_list)
Ppoint_list3	*point_list;
{}
/* FILL AREA */
void
pfill_area(point_list)
Ppoint_list	*point_list;
{}
/* FILL AREA SET 3 */
void
pfill_area_set3(point_list_list)
Ppoint_list_list3	*point_list_list;	/* list of point lists */
{}
/* FILL AREA SET 3 WITH DATA */
void
pfill_area_set3_data(fflag, eflag, vflag, colour_model, fdata, nfa, edata, vdata)
Pint           	fflag;      	/* what data is specified per facet */
Pint           	eflag;          /* what data is specified per edge */
Pint           	vflag;          /* what data is specified per vertex */
Pint           	colour_model;   /* colour model */
Pfacet_data3     *fdata;     	/* facet data */
Pint		nfa;		/* number of fill areas in the set */
Pedge_data_list	*edata;		/* edge data list */
Pfacet_vdata_list3	*vdata;         /* facet vertex data list */
{}
/* FILL AREA SET */
void
pfill_area_set(point_list_list)
Ppoint_list_list	*point_list_list;	/* list of point lists */
{}
/* TRIANGLE STRIP 3 WITH DATA */
void
ptri_strip3_data(fflag, vflag, colour_model, nv, fdata, vdata)
Pint           	fflag;      	/* what data is specified per facet */
Pint           	vflag;          /* what data is specified per vertex */
Pint           	colour_model;   /* colour model */
Pint		nv;		/* number of vertices */
Pfacet_data_arr3  *fdata;     	/* facet data */
Pfacet_vdata_arr3 *vdata;         /* facet vertex data */
{}
/* QUADRILATERAL MESH 3 WITH DATA */
void
pquad_mesh3_data(fflag, vflag, colour_model, dim, fdata, vdata)
Pint           	fflag;      	/* what data is specified per facet */
Pint           	vflag;          /* what data is specified per vertex */
Pint           	colour_model;   /* colour model */
Pint_size	*dim;		/* dimension of vertices */
Pfacet_data_arr3  *fdata;     	/* facet data */
Pfacet_vdata_arr3	*vdata;         /* facet vertex data */
{}
/* SET OF FILL AREA SET 3 WITH DATA */
void
pset_of_fill_area_set3_data( fflag, eflag, vflag, colour_model, num_sets,
	fdata, edata, vlist, vdata )
    Pint		fflag;		/* data per facet flag */
    Pint		eflag;		/* data per edge flag */
    Pint		vflag;		/* data per vertex flag */
    Pint		colour_model;	/* colour model */
    Pint		num_sets;	/* number of fill area sets */
    Pfacet_data_arr3	*fdata;     	/* facet data */
    Pedge_data_list_list *edata;	/* array of L(L(E)) edge data */
    Pint_list_list	*vlist;		/* array of L(L(I)) vertex indices */
    Pfacet_vdata_list3	*vdata;         /* facet vertex data */
{}
/* SET INTERIOR INDEX */
void
pset_int_ind(index)
Pint	index;	/* interior index	*/
{}
/* SET EDGE INDEX */
void
pset_edge_ind(index)
Pint	index;	/* edge index	*/
{}
/* SET INTERIOR STYLE */
void
pset_int_style(style)
Pint_style	style;	/* interior style	*/
{}
/* SET BACK INTERIOR STYLE */
void
pset_back_int_style(style)
Pint_style	style;	/* back interior style	*/
{}
/* SET INTERIOR STYLE INDEX */
void
pset_int_style_ind(index)
Pint	index;	/* interior style index	*/
{}
/* SET BACK INTERIOR STYLE INDEX */
void
pset_back_int_style_ind(index)
Pint	index;	/* back interior sytle index	*/
{}
/* SET INTERIOR COLOUR INDEX */
void
pset_int_colr_ind(index)
Pint	index;	/* interior colour index	*/
{}
/* SET INTERIOR COLOUR */
void
pset_int_colr(colour)
Pgcolr	*colour;	/* interior colour */
{}
/* SET BACK INTERIOR COLOUR */
void
pset_back_int_colr(colour)
Pgcolr	*colour;	/* back interior colour */
{}
/* SET EDGE FLAG */
void
pset_edge_flag(edge_flag)
Pedge_flag	edge_flag;	/* edge flag	*/
{}
/* SET EDGE TYPE */
void
pset_edgetype(edgetype)
Pint	edgetype;	/* edgetype	*/
{}
/* SET EDGE WIDTH SCALE FACTOR */
void
pset_edgewidth(scale)
Pfloat	scale;	/* edgewidth scale factor	*/
{}
/* SET EDGE COLOUR INDEX */
void
pset_edge_colr_ind(index)
Pint	index;	/* edge colour index	*/
{}
/* SET EDGE COLOUR */
void
pset_edge_colr(colour)
Pgcolr	*colour;	/* edge colour */
{}
/* SET PATTERN SIZE */
void
pset_pat_size(size_x, size_y)
Pfloat	size_x;
Pfloat	size_y;
{}
/* SET PATTERN REFERENCE POINT VECTORS */
void
pset_pat_ref_point_vecs(ref_pt, pat_ref_vec)
Ppoint3	*ref_pt;	/* pattern reference point	*/
Pvec3	pat_ref_vec[2];/* direction vector 1; X axis of pattern	*/
{}
/* SET PATTERN REFERENCE POINT */
void
pset_pat_ref_point(ref_pt)
Ppoint	*ref_pt;	/* pattern reference point	*/
{}
/* SET INTERIOR REPRESENTATION */
void
pset_int_rep( ws, index, rep)
    Pint	ws;	/* workstation identifier	*/
    Pint	index;	/* interior bundle index	*/
    Pint_bundle	*rep;	/* interior representation pointer	*/
{}
/* SET EDGE REPRESENTATION */
void
pset_edge_rep( ws, index, rep)
    Pint	ws;	/* workstation identifier	*/
    Pint	index;	/* edge bundle index	*/
    Pedge_bundle	*rep;	/* edge representation pointer	*/
{}
/* SET EXTENDED EDGE REPRESENTATION */
void
pset_edge_rep_plus( ws, index, rep)
    Pint		ws;	/* workstation identifier	*/
    Pint		index;	/* edge bundle index	*/
    Pedge_bundle_plus	*rep;	/* edge representation pointer	*/
{}
/* SET PATTERN REPRESENTATION */
void
pset_pat_rep( ws, index, rep)
    Pint	ws;	/* workstation identifier	*/
    Pint	index;	/* pattern bundle index	*/
    Ppat_rep	*rep;	/* pattern representation pointer	*/
{}
/* SET EXTENDED PATTERN REPRESENTATION */
void
pset_pat_rep_plus( ws, index, rep)
    Pint		ws;	/* workstation identifier	*/
    Pint		index;	/* pattern bundle index	*/
    Ppat_rep_plus	*rep;	/* pattern representation pointer	*/
{}
/* SET INTERIOR SHADING METHOD */
void
pset_int_shad_meth( method )
    Pint	method;		/* shading method */
{}
/* SET BACK INTERIOR SHADING METHOD */
void
pset_back_int_shad_meth( method )
    Pint	method;		/* back shading method */
{}
/* SET EXTENDED INTERIOR REPRESENTATION */
void
pset_int_rep_plus( wsid, index, rep )
    Pint		wsid;	/* workstation id */
    Pint		index;	/* interior index */
    Pint_bundle_plus	*rep;	/* representation */
{}
void
pset_hlhsr_id(id)
Pint	id;	/* HLHSR identifier	*/
{}
void
pset_loc_mode(ws, dev, mode, echo)
    Pint	ws;	/* workstation identifier	*/
    Pint	dev;	/* locator device number	*/
    Pop_mode	mode;	/* operating mode	*/
    Pecho_switch	echo;	/* echo switch	*/
{}
void
pset_stroke_mode(ws, dev, mode, echo)
    Pint	ws;	/* workstation identifier	*/
    Pint	dev;	/* stroke device number	*/
    Pop_mode	mode;	/* operating mode	*/
    Pecho_switch	echo;	/* echo switch	*/
{}
void
pset_val_mode(ws, dev, mode, echo)
    Pint	ws;	/* workstation identifier	*/
    Pint	dev;	/* valuator device number	*/
    Pop_mode	mode;	/* operating mode	*/
    Pecho_switch	echo;	/* echo switch	*/
{}
void
pset_choice_mode(ws, dev, mode, echo)
    Pint	ws;	/* workstation identifier	*/
    Pint	dev;	/* choice device number	*/
    Pop_mode	mode;	/* operating mode	*/
    Pecho_switch	echo;	/* echo switch	*/
{}
void
pset_pick_mode(ws, dev, mode, echo)
    Pint	ws;	/* workstation identifier	*/
    Pint	dev;	/* pick device number	*/
    Pop_mode	mode;	/* operating mode	*/
    Pecho_switch	echo;	/* echo switch	*/
{}
void
pset_string_mode(ws, dev, mode, echo)
    Pint	ws;	/* workstation identifier	*/
    Pint	dev;	/* string device number	*/
    Pop_mode	mode;	/* operating mode	*/
    Pecho_switch	echo;	/* echo switch	*/
{}
void
pawait_event( timeout, ws_id, class,in_num)
    Pfloat	timeout;	/* timeout (seconds)	*/
    Pint        *ws_id;         /* OUT workstation identifier */
    Pin_class   *class;         /* OUT device class           */
    Pint        *in_num;        /* OUT logical input device number */
{}
void
pflush_events( ws, class, dev )
    Pint	ws;	/* workstation identifier	*/
    Pin_class	class;	/* device class	*/
    Pint	dev;	/* logical input device number	*/
{}
void
pget_loc3( view_ind, loc_pos )
    Pint        *view_ind;      /* OUT view index       */
    Ppoint3     *loc_pos;       /* OUT locator position */
{}
void
pget_loc( view_ind, loc_pos )
    Pint        *view_ind;      /* OUT view index       */
    Ppoint      *loc_pos;       /* OUT locator position */
{}
void
pget_stroke3( view_ind, stroke )
    Pint        *view_ind;      /* OUT view index       */
    Ppoint_list3 *stroke;       /* OUT stroke           */
{}
void
pget_stroke( view_ind, stroke )
    Pint        *view_ind;      /* OUT view index       */
    Ppoint_list *stroke;        /* OUT stroke           */
{}
void
pget_val( valuator )
    Pfloat	*valuator;	/* OUT valuator value	*/
{}
void
pget_choice( in_status, choice )
    Pin_status     *in_status;     /* OUT choice status */
    Pint        *choice;        /* OUT choice        */
{}
void
pget_pick( depth, in_status, rpick)
    Pint		depth;		/* depth of pick path to return	*/
    Pin_status             *in_status;     /* OUT pick status */
    Ppick_path          *rpick;          /* OUT pick path   */
{}
void
pget_string( string )
    char	*string;	/* OUT pointer to string of bufsiz for the
				 * device + 1 for the terminator. */
{}
void
psample_loc( ws, dev, view_ind, loc_pos)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* locator device number	*/
    Pint        *view_ind;      /* OUT view index       */
    Ppoint      *loc_pos;       /* OUT locator position */
{}
void
psample_loc3( ws, dev, view_ind, loc_pos)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* locator device number	*/
    Pint        *view_ind;      /* OUT view index       */
    Ppoint3     *loc_pos;       /* OUT locator position */
{}
void
psample_stroke( ws, dev, view_ind, stroke)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* stroke device number	*/
    Pint        *view_ind;      /* OUT view index       */
    Ppoint_list *stroke;       /* OUT locator position */
{}
void
psample_stroke3( ws, dev, view_ind, stroke)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* stroke device number	*/
    Pint        *view_ind;      /* OUT view index       */
    Ppoint_list3 *stroke;       /* OUT locator position */
{}
void
psample_val( ws, dev, value)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* valuator device number	*/
    Pfloat      *value;         /* OUT value            */
{}
void
psample_choice( ws, dev, choice_in_status, choice)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* choice device number	*/
    Pin_status     *choice_in_status; /* OUT choice input status */
    Pint	*choice;	/* OUT choice	*/
{}
void
psample_pick( ws, dev, depth, pick_in_status, rpick)
    Pint	ws;	/* workstation identifier	*/
    Pint	dev;	/* pick device number	*/
    Pint	depth;	/* max. depth of returned path	*/
    Pin_status     *pick_in_status; /* OUT pick input status */
    Ppick_path  *rpick;  /* OUT pick path        */
{}
void
psample_string( ws, dev, string )
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* string device number	*/
    char	*string;	/* OUT string	*/
{}
void
preq_loc3( ws, dev, in_status, view_ind, loc_pos)
    Pint	ws;	/* workstation identifier	*/
    Pint	dev;	/* locator device number	*/
    Pin_status     *in_status; /* OUT input status */
    Pint        *view_ind;  /* OUT view index   */
    Ppoint3      *loc_pos;   /* OUT locator position */
{}
void
preq_loc( ws, dev, in_status, view_ind, loc_pos)
    Pint	ws;	/* workstation identifier	*/
    Pint	dev;	/* locator device number	*/
    Pin_status     *in_status; /* OUT input status */
    Pint        *view_ind;  /* OUT view index   */
    Ppoint      *loc_pos;   /* OUT locator position */
{}
void
preq_stroke3( ws, dev, in_status, view_ind, stroke)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* stroke device number	*/
    Pin_status     *in_status;  /* OUT input status */
    Pint        *view_ind;   /* OUT view index   */
    Ppoint_list3 *stroke;     /* OUT stroke       */
{}
void
preq_stroke( ws, dev, in_status, view_ind, stroke)
    Pint	ws;	/* workstation identifier	*/
    Pint	dev;	/* stroke device number	*/
    Pin_status     *in_status;  /* OUT input status */
    Pint        *view_ind;   /* OUT view index   */
    Ppoint_list *stroke;     /* OUT stroke       */
{}
void
preq_val( ws, dev, in_status, value)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* valuator device number	*/
    Pin_status     *in_status;  /* OUT input status */
    Pfloat      *value;      /* OUT value        */
{}
void
preq_choice( ws, dev, in_status, choice)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* choice device number	*/
    Pin_status     *in_status;  /* OUT input status */
    Pint        *choice;     /* OUT choice       */
{}
void
preq_pick( ws, dev, depth, in_status, rpick)
    Pint	ws;	/* workstation identifier	*/
    Pint	dev;	/* pick device number	*/
    Pint	depth;	/* max. depth of returned path	*/
    Pin_status     *in_status;  /* OUT input status */
    Ppick_path  *rpick;       /* OUT pick         */
{}
void
preq_string( ws, dev, in_status, string )
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* string device number	*/
    Pin_status     *in_status;  /* OUT input status */
    char       *string;     /* OUT string       */
{}
void
pinit_loc3( ws, dev, init_view_ind, init_loc_pos, pet, echo_volume, record )
    Pint		ws;		/* workstation identifier */
    Pint		dev;		/* locator device number */
    Pint		init_view_ind;	/* initial view indicator */
    Ppoint3		*init_loc_pos;	/* initial locator position */
    Pint		pet;		/* prompt and echo type	*/
    Plimit3	*echo_volume;	/* echo volume pointer	*/
    Ploc_data3		*record;	/* data record pointer	*/
{}
void
pinit_loc( ws, dev, init_view_ind, init_loc_pos, pet, echo_area, record )
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* locator device number	*/
    Pint	init_view_ind;	/* initial view indicator */
    Ppoint	*init_loc_pos;	/* initial locator pointer	*/
    Pint	pet;		/* prompt and echo type	*/
    Plimit	*echo_area;	/* echo area pointer	*/
    Ploc_data	*record;	/* data record pointer	*/
{}
void
pinit_stroke3( ws, dev, init_view_ind, init_stroke, pet, echo_volume, rec )
    Pint	ws;		/* workstation identifier */
    Pint	dev;		/* stroke device number	  */
    Pint	init_view_ind;	/* initial view indicator */
    Ppoint_list3 *init_stroke;	/* initial stroke pointer */
    Pint	pet;		/* prompt and echo type	  */
    Plimit3	*echo_volume;	/* echo volume pointer	  */
    Pstroke_data3 *rec;		/* data record pointer	  */
{}
void
pinit_stroke(ws, dev, init_view_ind, init_stroke, pet, echo_area, record )
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* stroke device number	*/
    Pint	init_view_ind;	/* initial view indicator */
    Ppoint_list	*init_stroke;	/* initial stroke pointer	*/
    Pint	pet;		/* prompt and echo type	*/
    Plimit	*echo_area;	/* echo area pointer	*/
    Pstroke_data *record;	/* data record pointer	*/
{}
void
pinit_val3( ws, dev, init, pet, echo_volume, record )
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* valuator device number	*/
    Pfloat	init;		/* initial value	*/
    Pint	pet;		/* prompt and echo type	*/
    Plimit3	*echo_volume;	/* echo volume pointer	*/
    Pval_data3	*record;	/* data record pointer	*/
{}
void
pinit_val( ws, dev, init, pet, echo_area, record )
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* valuator device number	*/
    Pfloat	init;		/* initial value	*/
    Pint	pet;		/* prompt and echo type	*/
    Plimit	*echo_area;	/* echo area pointer	*/
    Pval_data	*record;	/* data record pointer	*/
{}
void
pinit_choice3( ws, dev, istat, init, pet, echo_volume, record )
    Pint		ws;		/* workstation identifier */
    Pint		dev;		/* choice device number	*/
    Pin_status     	istat;		/* initial choice status */
    Pint		init;		/* initial choice	*/
    Pint		pet;		/* prompt and echo type	*/
    Plimit3		*echo_volume;	/* echo volume pointer	*/
    Pchoice_data3	*record;	/* data record pointer	*/
{}
void 
pinit_choice( ws, dev, istat, init, pet, echo_area, record )
    Pint		ws;		/* workstation identifier */
    Pint		dev;		/* choice device number	*/
    Pin_status     	istat;		/* initial choice status */
    Pint		init;		/* initial choice	*/
    Pint		pet;		/* prompt and echo type	*/
    Plimit		*echo_area;	/* echo area pointer	*/
    Pchoice_data	*record;	/* data record pointer	*/
{}
void
pinit_pick3( ws, dev, istat, init, pet, echo_volume, record, order )
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* pick device number	*/
    Pin_status	istat;		/* initial pick status	*/
    Ppick_path	*init;		/* initial pick pointer	*/
    Pint	pet;		/* prompt and echo type	*/
    Plimit3	*echo_volume;	/* echo volume pointer	*/
    Ppick_data3	*record;	/* data record pointer	*/
    Ppath_order	order;		/* pick path order	*/
{}
void
pinit_pick( ws, dev, istat, init, pet, echo_area, record, order )
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* pick device number	*/
    Pin_status	istat;		/* initial pick status	*/
    Ppick_path	*init;		/* initial pick pointer	*/
    Pint	pet;		/* prompt and echo type	*/
    Plimit	*echo_area;	/* echo area pointer	*/
    Ppick_data	*record;	/* data record pointer	*/
    Ppath_order	order;		/* pick path order	*/
{}
void
pinit_string3( ws, dev, init, pet, echo_volume, record )
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* string device number	*/
    char	*init;		/* initial string	*/
    Pint	pet;		/* prompt and echo type	*/
    Plimit3	*echo_volume;	/* echo volume pointer	*/
    Pstring_data3 *record;	/* data record pointer	*/
{}
void
pinit_string( ws, dev, init, pet, echo_area, record )
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* string device number	*/
    char	*init;		/* initial string	*/
    Pint	pet;		/* prompt and echo type	*/
    Plimit	*echo_area;	/* echo area pointer	*/
    Pstring_data *record;	/* data record pointer	*/
{}
void
pset_pick_filter( ws, dev_num, filter)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev_num;	/* pick device number	*/
    Pfilter     *filter;        /* pick filter          */
{}
void
pinq_loc_st3( ws, dev, type, store, err, op_mode, echo_switch, init_view_ind,
	     init_loc_pos, prompt_echo, echo_vol, loc_data)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* locator device number	*/
    Pinq_type	type;		/* type of returned value	*/
    Pstore	store; 		/* store handle */
    Pint	*err;		/* OUT error indicator	*/
    Pop_mode    *op_mode;       /* OUT operating mode   */
    Pecho_switch       *echo_switch;   /* OUT echo switch      */
    Pint        *init_view_ind; /* OUT initial view indicator */
    Ppoint3     *init_loc_pos;  /* OUT initial locator position */
    Pint        *prompt_echo;   /* OUT prompt/echo type */
    Plimit3     *echo_vol;     /* OUT echo volume        */
    Ploc_data3  **loc_data;     /* OUT data record      */
{}
void
pinq_loc_st( ws, dev, type, store, err, op_mode, echo_switch, init_view_ind,
	    init_loc_pos, prompt_echo, echo_area, loc_data)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* locator device number	*/
    Pinq_type	type;		/* type of returned value	*/
    Pstore	store; 		/* pointer to buffer	*/
    Pint	*err;		/* OUT error indicator	*/
    Pop_mode    *op_mode;       /* OUT operating mode   */
    Pecho_switch       *echo_switch;   /* OUT echo switch      */
    Pint        *init_view_ind; /* OUT initial view indicator */
    Ppoint      *init_loc_pos;  /* OUT initial locator position */
    Pint        *prompt_echo;   /* OUT prompt/echo type */
    Plimit      *echo_area;     /* OUT echo area        */
    Ploc_data   **loc_data;       /* OUT data record      */
{}
void
pinq_stroke_st3( ws, dev, type, store, err, op_mode, echo_switch, init_view_ind,
	     init_stroke, prompt_echo, echo_vol, stroke_data)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* stroke device number	*/
    Pinq_type	type;		/* type of returned value	*/
    Pstore	store; 	/* handle to Store object */
    Pint	*err;		/* OUT error indicator	*/
    Pop_mode    *op_mode;       /* OUT operating mode   */
    Pecho_switch       *echo_switch;   /* OUT echo switch      */
    Pint        *init_view_ind; /* OUT initial view indicator */
    Ppoint_list3 **init_stroke;   /* OUT initial stroke   */
    Pint        *prompt_echo;   /* OUT prompt/echo type */
    Plimit3      *echo_vol;      /* OUT echo area        */
    Pstroke_data3 **stroke_data;  /* OUT data record      */
{}
void
pinq_stroke_st( ws, dev, type, store, err, op_mode, echo_switch, init_view_ind,
	     init_stroke, prompt_echo, echo_area, stroke_data)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* stroke device number	*/
    Pinq_type	type;		/* type of returned value	*/
    Pstore	store; 	/* handle to Store object */
    Pint	*err;		/* OUT error indicator	*/
    Pop_mode    *op_mode;       /* OUT operating mode   */
    Pecho_switch       *echo_switch;   /* OUT echo switch      */
    Pint        *init_view_ind; /* OUT initial view indicator */
    Ppoint_list **init_stroke;   /* OUT initial stroke   */
    Pint        *prompt_echo;   /* OUT prompt/echo type */
    Plimit      *echo_area;      /* OUT echo area        */
    Pstroke_data **stroke_data;  /* OUT data record      */
{}
void
pinq_val_st3( ws, dev, store, err, op_mode, echo_switch, init_value, 
	    prompt_echo, echo_vol, val_data)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* valuator device number	*/
    Pstore      store; 	/* OUT pointer to buffer	*/
    Pint	*err;		/* OUT error indicator	*/
    Pop_mode    *op_mode;       /* OUT operating mode   */
    Pecho_switch       *echo_switch;   /* OUT echo switch      */
    Pfloat      *init_value;    /* OUT initial value    */
    Pint        *prompt_echo;   /* OUT prompt/echo type */
    Plimit3     *echo_vol;      /* OUT echo area        */
    Pval_data3  **val_data;     /* OUT data record      */    
{}
void
pinq_val_st( ws, dev, store, err, op_mode, echo_switch, init_value, 
	    prompt_echo, echo_area, val_data)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* valuator device number	*/
    Pstore	store; 	/* OUT pointer to buffer	*/
    Pint	*err;		/* OUT error indicator	*/
    Pop_mode    *op_mode;       /* OUT operating mode   */
    Pecho_switch       *echo_switch;   /* OUT echo switch      */
    Pfloat      *init_value;    /* OUT initial value    */
    Pint        *prompt_echo;   /* OUT prompt/echo type */
    Plimit      *echo_area;      /* OUT echo area        */
    Pval_data   **val_data;     /* OUT data record      */    
{}
void
pinq_choice_st3( ws, dev, store, err, op_mode, echo_switch, init_status,
		init_choice, prompt_echo, echo_vol, choice_data)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* choice device number	*/
    Pstore	store; 	/* OUT pointer to buffer	*/
    Pint	*err;		/* OUT error indicator	*/
    Pop_mode    *op_mode;       /* OUT operating mode   */
    Pecho_switch       *echo_switch;   /* OUT echo switch      */
    Pin_status     *init_status;   /* OUT initial choice status */
    Pint        *init_choice;   /* OUT initial choice   */
    Pint        *prompt_echo;   /* OUT prompt/echo type */
    Plimit3     *echo_vol;      /* OUT echo area        */
    Pchoice_data3 **choice_data; /* OUT data record      */
{}
void
pinq_choice_st( ws, dev, store, err, op_mode, echo_switch, init_status,
	       init_choice, prompt_echo, echo_area, choice_data)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* choice device number	*/
    Pstore	store; 	/* OUT pointer to buffer	*/
    Pint	*err;		/* OUT error indicator	*/
    Pop_mode    *op_mode;       /* OUT operating mode   */
    Pecho_switch       *echo_switch;   /* OUT echo switch      */
    Pin_status     *init_status;   /* OUT initial choice status */
    Pint        *init_choice;   /* OUT initial choice   */
    Pint        *prompt_echo;   /* OUT prompt/echo type */
    Plimit      *echo_area;      /* OUT echo area        */
    Pchoice_data **choice_data; /* OUT data record      */    
{}
void
pinq_pick_st3( ws, dev, type, store, err, op_mode, echo_switch, filter,
    init_status, init_pick, prompt_echo, echo_vol, pick_data, path_order
)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* pick device number	*/
    Pinq_type	type;		/* type of returned value	*/
    Pstore	store; 	/* pointer to buffer	*/
    Pint	*err;		/* OUT error indicator	*/
    Pop_mode    *op_mode;       /* OUT operating mode   */
    Pecho_switch       *echo_switch;   /* OUT echo switch      */
    Pfilter	**filter;	/* OUT pick filter */
    Pin_status     *init_status;   /* OUT initial pick status */
    Ppick_path  **init_pick;     /* OUT initial pick path */
    Pint        *prompt_echo;   /* OUT prompt/echo type */
    Plimit3     *echo_vol;      /* OUT echo area        */
    Ppick_data3 **pick_data;    /* OUT data record      */
    Ppath_order	*path_order;	/* OUT path order */
{}
void
pinq_pick_st( ws, dev, type, store, err, op_mode, echo_switch, filter,
    init_status, init_pick, prompt_echo, echo_area, pick_data, path_order)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* pick device number	*/
    Pinq_type	type;		/* type of returned value	*/
    Pstore	store; 		/* pointer to buffer	*/
    Pint	*err;		/* OUT error indicator	*/
    Pop_mode    *op_mode;       /* OUT operating mode   */
    Pecho_switch       *echo_switch;   /* OUT echo switch      */
    Pfilter	**filter;	/* OUT pick filter */
    Pin_status     *init_status;   /* OUT initial pick status */
    Ppick_path  **init_pick;     /* OUT initial pick path */
    Pint        *prompt_echo;   /* OUT prompt/echo type */
    Plimit      *echo_area;      /* OUT echo area        */
    Ppick_data  **pick_data;    /* OUT data record      */
    Ppath_order	*path_order;	/* OUT path order */
{}
void
pinq_string_st3( ws, dev, store, err, op_mode, echo_switch, init_string,
	       prompt_echo, echo_vol, string_data)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* string device number	*/
    Pstore      store;         /* handle to Store object */
    Pint	*err;		/* OUT error indicator	*/
    Pop_mode    *op_mode;       /* OUT operating mode   */
    Pecho_switch       *echo_switch;   /* OUT echo switch      */
    char       **init_string;   /* OUT initial string   */
    Pint        *prompt_echo;   /* OUT prompt/echo type */
    Plimit3     *echo_vol;      /* OUT echo area        */
    Pstring_data3 **string_data;    /* OUT data record      */
{}
void
pinq_string_st( ws, dev, store, err, op_mode, echo_switch, init_string,
	       prompt_echo, echo_area, string_data)
    Pint	ws;		/* workstation identifier	*/
    Pint	dev;		/* string device number	*/
    Pstore	store; 	/* OUT pointer to buffer	*/
    Pint	*err;		/* OUT error indicator	*/
    Pop_mode    *op_mode;       /* OUT operating mode   */
    Pecho_switch       *echo_switch;   /* OUT echo switch      */
    char       **init_string;   /* OUT initial string   */
    Pint        *prompt_echo;   /* OUT prompt/echo type */
    Plimit      *echo_area;      /* OUT echo area        */
    Pstring_data **string_data;    /* OUT data record      */
{}
void
pinq_more_simult_events( error_ind, events )
    Pint        	*error_ind;	/* OUT error indicator	*/
    Pmore_simult_events	*events;	/* OUT simultaneous events	*/
{}
void
pinq_in_overf( error_ind, ws, class, dev )
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint	*ws;		/* OUT workstation identifier	*/
    Pin_class	*class;		/* OUT input class	*/
    Pint	*dev;		/* OUT input device number	*/
{}
/* COMPUTE FILL AREA SET GEOMERTY NORMAL */
void
pcomp_fill_area_set_gnorm(vflag, nfa, vdata, error_ind, normal)
Pint		vflag;
Pint		nfa;
Pfacet_vdata_list3 *vdata;
Pint            *error_ind;
Pvec3           *normal;
{}   
/* SET AREA PROPERTIES */
void
pset_refl_props(properties)
Prefl_props	*properties;	/* surface area properties */
{}   
/* SET BACK AREA PROPERTIES */
void
pset_back_refl_props(properties)
Prefl_props	*properties;	/* back surface area properties */
{}   
/* SET INTERIOR REFLECTANCE EQUATION */
void
pset_refl_eqn(equation)
Pint	equation;	/* reflectance equation */
{}
/* SET BACK INTERIOR REFLECTANCE EQUATION */
void
pset_back_refl_eqn(equation)
Pint	equation;	/* back reflectance equation */
{}
/* SET FACE DISTINGUISHING MODE */
void
pset_face_disting_mode(mode)
Pdisting_mode	mode;	/* distinguishing mode */
{}
/* SET FACE CULLING MODE */
void
pset_face_cull_mode(mode)
Pcull_mode	mode;	/* culling mode */
{}
/* SET LIGHT SOURCE STATE */
void
pset_light_src_state(activation, deactivation)
Pint_list	 *activation;	/* activation list */
Pint_list	 *deactivation;	/* deactivation list */
{}
/* SET LIGHT SOURCE REPRESENTATION */
void
pset_light_src_rep(ws, index, rep)
Pint	        	ws;	/* workstation identifier */
Pint	        	index;	/* light table index */
Plight_src_bundle	*rep;	/* light source representation */	
{}
/* INQUIRE LIGHT SOURCE REPRESENTATION */
void
pinq_light_src_rep( ws, index, type, error_ind, rep)
    Pint	 ws;		/* workstation identifier	*/
    Pint	 index;		/* light source index	*/
    Pinq_type	 type;		/* type of returned value	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Plight_src_bundle	*rep;		/* OUT depth cue representation	*/
{}
void
pwrite_item(ws, type, length, record)
Pint		ws;		/* workstation identifier	*/
Pint		type;		/* item type	*/
Pint		length;		/* item data record length	*/
Pitem_data	*record;	/* item data record	*/
{}
void
pget_item_type(ws, type, length)
Pint	ws;		/* workstation identifier	*/
Pint	*type;		/* OUT item type	*/
Pint	*length;	/* OUT item data record length	*/
{}

void
pread_item(ws, max_length, record)
Pint		ws;		/* workstation identifier	*/
Pint		max_length;	/* max item data record length	*/
Pitem_data	*record;	/* OUT item data record	*/
{}
void
pinterpret_item    (type, length, record)
Pint		type;		/* item type	*/
Pint		length;		/* item data record length	*/
Pitem_data	*record;	/* item data record	*/
{}
void
padd_names_set(set)
Pint_list	*set;	/* set of names to be added	*/
{}
void
premove_names_set(set)
Pint_list	*set;	/* set of names to be removed	*/
{}
/* NON-UNIFORM B-SPLINE CURVE */
void
pnuni_bsp_curv( order, knots, rationality, cpoints, min, max )
    Pint		order;		/* spline order */
    Pfloat_list		*knots;		/* list of knots */
    Prational		rationality;
    Ppoint_list34	*cpoints;	/* list of 3D or 4D  control points */
    Pfloat		min, max;	/* parameter range */
{}
/* SET CURVE APPROXIMATION CRITERIA */
void
pset_curve_approx( type, value )
    Pint            type;
    Pfloat          value;
{}
/* NON-UNIFORM B-SPLINE SURFACE */
void
pnuni_bsp_surf( uorder, vorder, uknots, vknots, rationality, grid,
    nloops, tloops )
    Pint		uorder;		/* U spline order */
    Pint		vorder;		/* V spline order */
    Pfloat_list		*uknots;	/* U knots */
    Pfloat_list		*vknots;	/* V knots */
    Prational		rationality;	/* rationality selector */
    Ppoint_grid34	*grid;		/* grid of 3D or 4D  control points */
    Pint		nloops;		/* number of trim curve loops */
    Ptrimcurve_list	*tloops;	/* trim curve loops */
{}
/* SET SURFACE APPROXIMATION CRITERIA */
void
pset_surf_approx( type, uvalue, vvalue )
    Pint	type;
    Pfloat	uvalue;
    Pfloat	vvalue;
{}
void
ppolyline3(point_list)
Ppoint_list3	*point_list;	/* list of points */
{}
void
ppolyline_set3_data(vflag, colour_model, npl, vdata)
Pint	        	vflag;		/* data per vertex flag */
Pint	        	colour_model;	/* colour model */
Pint	        	npl;		/* number of polylines in the set */
Pline_vdata_list3	*vdata;		/* pointer to line vertext data list */
{}
void
ppolyline(point_list)
Ppoint_list	*point_list;
{}   
void
pset_linetype(linetype)
Pint	linetype;	/* linetype	*/
{}   
void
pset_linewidth(width)
Pfloat	width;	/* linewidth scale factor	*/
{}   
void
pset_line_colr_ind(colour)
Pint	colour;	/* polyline colour index	*/
{}   
void
pset_line_colr(colour)
Pgcolr	*colour;	/* polyline colour */
{}   
void
pset_line_ind( index)
    Pint	index;	/* polyline index	*/
{}   
void
pset_line_rep( ws, index, rep)
    Pint	ws;	/* workstation identifier	*/
    Pint	index;	/* polyline bundle index	*/
    Pline_bundle *rep;	/* polyline representation pointer	*/
{}
void
pset_line_rep_plus( ws, index, rep)
    Pint	ws;	/* workstation identifier	*/
    Pint	index;	/* polyline bundle index	*/
    Pline_bundle_plus	*rep;	/* extended polyline representation pointer	*/
{}
void
pset_line_shad_meth( method )
   Pint		method;	/* shading method */
{}
void
pinq_line_rep( ws, index, type, error_ind, rep)
    Pint	 ws;		/* workstation identifier	*/
    Pint	 index;		/* polyline index	*/
    Pinq_type	 type;		/* type of returned value	*/
    Pint	 *error_ind;	/* OUT error indicator	*/
    Pline_bundle *rep;		/* OUT polyline representation	*/
{}
void
pinq_line_rep_plus( ws, index, type, error_ind, rep)
    Pint	 ws;		/* workstation identifier	*/
    Pint	 index;		/* polyline index	*/
    Pinq_type	 type;		/* type of returned value	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pline_bundle_plus	*rep;		/* OUT polyline representation	*/
{}
/* POLYMARKER 3 */
void
ppolymarker3(point_list)
Ppoint_list3	*point_list;
{}   
/* POLYMARKER */
void
ppolymarker(point_list)
Ppoint_list	*point_list;
{}   
/* SET POLYMARKER TYPE */
void
pset_marker_type(markertype)
Pint	markertype;	/* markertype	*/
{}   
/* SET POLYMARKER SCALE FACTOR */
void
pset_marker_size(size)
Pfloat	size;	/* markersize scale factor	*/
{}   
/* SET POLYMARKER COLOUR INDICES */
void
pset_marker_colr_ind(colour)
Pint	colour;	/* polymarker colour index	*/
{}   
/* SET POLYMARKER COLOUR */
void
pset_marker_colr(colour)
Pgcolr	*colour;	/* polymarker colour */
{}   
/* SET POLYMARKER INDEX */
void
pset_marker_ind(index)
Pint	index;	/* polymarker index	*/
{}   
/* SET POLYMARKER REPRESENTATION */
void
pset_marker_rep( ws, index, rep)
    Pint	ws;	/* workstation identifier	*/
    Pint	index;	/* polymarker bundle index	*/
    Pmarker_bundle	*rep;	/* polymarker representation pointer	*/
{}
/* SET EXTENDED POLYMARKER REPRESENTATION */
void
pset_marker_rep_plus( ws, index, rep)
    Pint	ws;	/* workstation identifier	*/
    Pint	index;	/* polymarker bundle index	*/
    Pmarker_bundle_plus	*rep;	/* polymarker representation pointer	*/
{}
/* INQUIRE POLYMARKER REPRESENTATION */
void
pinq_marker_rep( ws, index, type, error_ind, rep)
    Pint	 ws;		/* workstation identifier	*/
    Pint	 index;		/* polymarker index	*/
    Pinq_type	 type;		/* type of returned value	*/
    Pint	 *error_ind;	/* OUT error indicator	*/
    Pmarker_bundle *rep;		/* OUT polymarker representation	*/
{}
/* INQUIRE EXTENDED POLYMARKER REPRESENTATION */
void
pinq_marker_rep_plus( wsid, index, type, error_ind, rep)
    Pint	 wsid;		/* workstation identifier	 */
    Pint	 index;		/* polymarker index		 */
    Pinq_type	 type;		/* type of returned value	 */
    Pint	*error_ind;	/* OUT error indicator		 */
    Pmarker_bundle_plus	*rep;		/* OUT polymarker representation */
{}
void
popen_struct( struct_id)
    Pint	struct_id;	/* structure identifier	*/
{}
void
pclose_struct()
{}
void
pcopy_all_elems_struct( struct_id)
    Pint	struct_id;	/* structure identifier	*/
{}
void
pdel_elem()
{}
void
pdel_elem_range(ep1_value, ep2_value)
Pint	ep1_value;	/* element pointer 1 value	*/
Pint	ep2_value;	/* element pointer 2 value	*/
{}
void
pdel_elems_labels( label1_id, label2_id)
    Pint	label1_id;	/* label 1 identifier	*/
    Pint	label2_id;	/* label 2 identifier	*/
{}
void
pempty_struct( struct_id)
    Pint	struct_id;	/* structure id	*/
{}
void
pdel_struct( struct_id)
    Pint	struct_id;	/* structure identifier	*/
{}
void
pdel_struct_net( struct_id, ref_flag)
    Pint	struct_id;	/* structure identifier	*/
    Pref_flag	ref_flag;	/* reference handling flag	*/
{}
void
pdel_all_structs()
{}
void
pchange_struct_id( orig_struct_id, result_struct_id)
    Pint	orig_struct_id;		/* originial structure id	*/
    Pint	result_struct_id;	/* result structure id	*/
{}
void
pchange_struct_refs( orig_struct_id, result_struct_id)
    Pint	orig_struct_id;		/* originial structure id	*/
    Pint	result_struct_id;	/* result structure id	*/
{}
void
pchange_struct_id_refs( orig_struct_id, result_struct_id)
    Pint	orig_struct_id;		/* originial structure id	*/
    Pint	result_struct_id;	/* result structure id	*/
{}
void
pset_elem_ptr( ep_value)
    Pint	ep_value;	/* element pointer value	*/
{}
void
poffset_elem_ptr( ep_offset)
    Pint	ep_offset;	/* element pointer offset	*/
{}
void
pset_elem_ptr_label( label_id)
    Pint	label_id;	/* label identifier	*/
{}
void
pset_edit_mode( mode)
    Pedit_mode	mode;	/* edit mode	*/
{}
void
pinq_elem_ptr( error_ind, ep_value)
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint	*ep_value;	/* OUT element pointer value	*/
{}
void
pinq_edit_mode( error_ind, edit_mode)
    Pint	*error_ind;	/* OUT error indicator	*/
    Pedit_mode	*edit_mode;	/* OUT edit mode	*/
{}
void
pset_indiv_asf( att_id, att_source)
    Paspect	att_id;		/* attribute identifier	*/
    Pasf	att_source;	/* attribute source	*/
{}
void
pset_local_tran3(xform, compose_type)
Pmatrix3	xform;	/* transformation matrix	*/
Pcompose_type	compose_type;	/* composition type	*/
{}
void
pset_local_tran(xform, compose_type)
Pmatrix	xform;	/* transformation matrix	*/
Pcompose_type	compose_type;	/* composition type	*/
{}
void
pset_global_tran3(xform)
Pmatrix3	xform;	/* transformation matrix	*/
{}
void
pset_global_tran(xform)
Pmatrix	xform;	/* transformation matrix	*/
{}
void
pset_view_ind(index)
Pint	index;	/* view index	*/
{}
void
pexec_struct(struct_id)
Pint	struct_id;	/* structure identifier	*/
{}
void
plabel(label_id)
Pint	label_id;	/* label identifier	*/
{}
void
pappl_data(data)
Pdata	*data;	/* application data	*/
{}
void
pset_pick_id( pick_id)
    Pint	pick_id;	/* pick identifier	*/
{}
void
pset_model_clip_vol3( op, half_spaces)
    Pint		op;			/* operator	*/
    Phalf_space_list3	*half_spaces;	/* list of half spaces	*/
{}
void
pset_model_clip_vol( op, half_spaces)
    Pint		op;			/* operator	*/
    Phalf_space_list	*half_spaces;	/* list of half spaces	*/
{}
void
pset_model_clip_ind( ind)
    Pclip_ind	ind;	/* clipping indicator	*/
{}
void
prestore_model_clip_vol()
{}
void
pgdp3(point_list, gdp3_id, gdp_data)
    Ppoint_list3	*point_list;
    Pint		gdp3_id;	/* gdp function identifier	*/
    Pgdp_data3		*gdp_data;	/* data record pointer	*/
{}
void
pgdp(point_list, gdp_id, gdp_data)
    Ppoint_list	*point_list;	/* list of points */
    Pint	gdp_id;		/* gdp function identifier	*/
    Pgdp_data	*gdp_data;	/* data record pointer	*/
{}
void
pgse(id, gse)
Pint	id;	/* gse identifier	*/
Pgse_data	*gse;	/* gse data record	*/
{}
void
ppost_struct( ws_id, struct_id, priority)
    Pint	ws_id;		/* workstation identifier	*/
    Pint	struct_id;	/* structure identifier	*/
    Pfloat	priority;	/* priority	*/
{}
void
punpost_struct( ws_id, struct_id)
    Pint	ws_id;		/* workstation identifier	*/
    Pint	struct_id;	/* structure identifier	*/
{}
void
punpost_all_structs( ws_id)
    Pint	ws_id;	/* workstation identifier	*/
{}
void
pinq_struct_st( struct_state)
    Pstruct_st	*struct_state;	/* OUT structure state	*/
{}
void
pinq_open_struct( error_ind, status, struct_id)
    Pint		*error_ind;	/* OUT error indicator	*/
    Popen_struct_status	*status;	/* OUT status of open structure	*/
    Pint		*struct_id;	/* OUT structure identifier	*/
{}
void
pinq_struct_status( struct_id, error_ind, status)
    Pint		struct_id;	/* structure identifier	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pstruct_status	*status;	/* OUT existence status	*/
{}
void
pinq_cur_elem_type_size( error_ind, type, size)
    Pint	*error_ind;	/* OUT error indicator	*/
    Pelem_type	*type;		/* OUT element type	*/
    size_t	*size;		/* OUT element size	*/
{}
void
pinq_elem_type_size( struct_id, element, error_ind, type, size)
    Pint	struct_id;	/* structure identifier	*/
    Pint	element;	/* element number	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pelem_type	*type;		/* OUT element type	*/
    size_t	*size;		/* OUT element size	*/
{}
void
pinq_cur_elem_content( store, error_ind, data)
    Pstore      store;         /* handle to Store object       */
    Pint	*error_ind;	/* OUT error indicator	        */
    Pelem_data	**data;		/* OUT data record	*/
{}
void
pinq_elem_content( struct_id, element, store, error_ind, data)
    Pint	struct_id;	/* structure identifier	*/
    Pint	element;	/* element number	*/
    Pstore      store;         /* handle to Store object */
    Pint	*error_ind;	/* OUT error indicator	*/
    Pelem_data	**data;		/* OUT data record	*/
{}
void
pinq_struct_ids( length, start, error_ind, struct_ids, total_length)
    Pint	length;		/* length of appl. list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*struct_ids;	/* OUT list of structure ids	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pinq_paths_ances(struct_id, order, depth, store, error_ind, paths)
Pint            	struct_id;	/* structure identifier	*/
Ppath_order     	order;   	/* path order	*/
Pint            	depth;		/* path depth	*/
Pstore                  store;         /* handle to Store object */
Pint            	*error_ind;	/* OUT error indicator	*/
Pelem_ref_list_list	**paths;	/* OUT structure path list	*/
{}
void
pinq_paths_descs(struct_id, order, depth, store, error_ind, paths)
Pint            	struct_id;	/* structure identifier	*/
Ppath_order     	order;   	/* path order	*/
Pint            	depth;		/* path depth	*/
Pstore                  store;         /* handle to Store object      */
Pint            	*error_ind;	/* OUT error indicator	*/
Pelem_ref_list_list	**paths;	/* OUT structure path list	*/
{}
void
pinq_wss_posted(struct_id, length, start, error_ind, ws, total_length)
Pint     	struct_id;	/* structure identifier	*/
Pint    	length;		/* length of application list	*/
Pint    	start;		/* starting position	*/
Pint    	*error_ind;	/* OUT error indicator	*/
Pint_list	*ws;		/* OUT list of workstations	*/
Pint    	*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pelem_search(struct_id, start_el, dir, incl, excl, error_ind, status, found_el)
Pint		struct_id;	/* structure identifier	*/
Pint		start_el;	/* starting element pointer	*/
Psearch_dir	dir;	/* search direction	*/
Pelem_type_list	*incl;	/* element incl. list	*/
Pelem_type_list	*excl;	/* element excl. list	*/
Pint		*error_ind;	/* OUT error indicator	*/
Psearch_status	*status;	/* OUT search status	*/
Pint		*found_el;	/* OUT found element pointer	*/
{}
void
pincr_spa_search3(ref, dist, sp, mclip_flag, ceil, norm, inv, len, st, error_ind, fp, tot_len)
Ppoint3	        	*ref;		/* search reference point	*/
Pfloat	        	dist;		/* search distance	*/
Pelem_ref_list	*sp;		/* starting path list	*/
Pclip_ind		mclip_flag;	/* model clip flag */
Pint	        	ceil;		/* search ceiling index	*/
Pfilter_list    	*norm;		/* normal filter list	*/
Pfilter_list    	*inv;		/* inverted filter list	*/
Pint	        	len;		/* length of application list	*/
Pint	        	st;		/* starting position	*/
Pint	        	*error_ind;	/* OUT error indicator	*/
Pelem_ref_list	*fp;		/* OUT found path	*/
Pint	        	*tot_len;	/* OUT length of list in PHIGS	*/
{}
void
pincr_spa_search(ref, dist, sp, mclip_flag, ceil, norm, inv, len, st, error_ind, fp, tot_len)
Ppoint	        	*ref;		/* search reference point	*/
Pfloat	        	dist;		/* search distance	*/
Pelem_ref_list	*sp;		/* starting path list	*/
Pclip_ind		mclip_flag;	/* model clip flag */
Pint	        	ceil;		/* search ceiling index	*/
Pfilter_list    	*norm;		/* normal filter list	*/
Pfilter_list    	*inv;		/* inverted filter list	*/
Pint	        	len;		/* length of application list	*/
Pint	        	st;		/* starting position	*/
Pint	        	*error_ind;	/* OUT error indicator	*/
Pelem_ref_list	*fp;		/* OUT found path	*/
Pint	        	*tot_len;	/* OUT length of list in PHIGS	*/
{}
void
ptext3(text_pt, dir, text)
Ppoint3		*text_pt;	/* text point	*/
Pvec3   	dir[2];		/* directon vectors	*/
char		*text;		/* text string	*/
{}
void
ptext(text_pt, text)
Ppoint	*text_pt;	/* text point	*/
char	*text;		/* text string	*/
{}
void
pset_text_font(font)
Pint	font;	/* text font	*/
{}
void
pset_text_prec(precision)
Ptext_prec	precision;	/* text precision	*/
{}
void
pset_char_expan(exp_factor)
Pfloat	exp_factor;	/* character expansion factor	*/
{}
void
pset_char_space(spacing)
Pfloat	spacing;	/* character spacing	*/
{}
void
pset_text_colr_ind(colour)
Pint	colour;	/* text colour index	*/
{}
void
pset_text_colr(colour)
Pgcolr	*colour;	/* text colour */
{}
void
pset_char_ht(height)
Pfloat	height;	/* character height	*/
{}
void
pset_char_up_vec(up_vect)
Pvec	*up_vect;	/* character up vector	*/
{}
void
pset_text_path(path)
Ptext_path	path;	/* text path	*/
{}
void
pset_text_align(text_align)
Ptext_align	*text_align;	/* text alignment	*/
{}
void
pset_text_ind(index)
Pint	index;	/* text index	*/
{}   
void
pset_text_rep( ws, index, rep)
    Pint	ws;	/* workstation identifier	*/
    Pint	index;	/* text bundle index	*/
    Ptext_bundle	*rep;	/* text representation pointer	*/
{}
void
pset_text_rep_plus( ws, index, rep)
    Pint	ws;	/* workstation identifier	*/
    Pint	index;	/* text bundle index	*/
    Ptext_bundle_plus	*rep;	/* text representation pointer	*/
{}
void
pinq_text_extent( wst, font, exp, sp, ht, path, hor, ver, str,
    error_ind, rect, offset)
    Pint	wst;		/* workstation type	*/
    Pint	font;		/* text font	*/
    Pfloat	exp;		/* char expansion factor	*/
    Pfloat	sp;		/* char spacing	*/
    Pfloat	ht;		/* char height	*/
    Ptext_path	path;		/* text path	*/
    Phor_text_align	hor;	/* horizontal alignment	*/
    Pvert_text_align	ver;	/* vertical alignment	*/
    char	*str;		/* text string	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Prect	*rect;		/* OUT extent rectangle	*/
    Ppoint	*offset;	/* OUT concatenation offset	*/
{}
void
panno_text_rel3( ref_pt, anno_offset, text )
    Ppoint3	*ref_pt;	/* reference point	*/
    Pvec3	*anno_offset;	/* annotation offset	*/
    char	*text;		/* annotation text string	*/
{}
void
panno_text_rel( ref_pt, anno_offset, text )
    Ppoint	*ref_pt;	/* reference point	*/
    Pvec	*anno_offset;	/* annotation offset	*/
    char	*text;		/* annotation text string	*/
{}
void
pset_anno_char_ht(height)
Pfloat	height;	/* character height	*/
{}
void
pset_anno_char_up_vec(up_vect)
Pvec	*up_vect;	/* character up vector	*/
{}
void
pset_anno_path(path)
Ptext_path	path;	/* text path	*/
{}
void
pset_anno_align(text_align)
Ptext_align	*text_align;	/* text alignment	*/
{}
void
pset_anno_style(style)
Pint	style;	/* annotation style	*/
{}
void
pcreate_store( err, store )
    Pint		*err;
    Pstore		*store;
{}
void
pdel_store( store )
    Pstore		store;
{}
void
popen_ws(ws_id, conn_id, ws_type)
    Pint    ws_id;	/* workstation identifier */
    Pconnid conn_id;	/* connection identifier  */
    Pint    ws_type;	/* workstation type       */
{}
void
pclose_ws( ws_id)
    Pint    ws_id;  /* workstation identifier       */
{}
void
pmessage( ws, msg)
    Pint	ws;	/* workstation identifier	*/
    char	*msg;	/* message string	*/
{}
void
predraw_all_structs( ws, control_flag)
    Pint	ws;		/* workstation identifier	*/
    Pctrl_flag	control_flag;	/* controls the redraw of the structures */
{}
void
pupd_ws( ws, regen_flag)
    Pint	ws;		/* workstation identifier	*/
    Pregen_flag	regen_flag;	/* when to do the regeneration	*/
{}
void
pset_disp_upd_st( ws, def_mode, mod_mode)
    Pint	ws;		/* workstation identifier	*/
    Pdefer_mode	def_mode;	/* deferral mode	*/
    Pmod_mode	mod_mode;	/* modification mode	*/
{}
void
pset_view_rep3( ws, index, rep)
    Pint		ws;	/* workstation id	*/
    Pint		index;	/* view index	*/
    Pview_rep3	*rep;	/* view representation	*/
{}
void
pset_view_rep( ws, index, rep)
    Pint		ws;	/* workstation id	*/
    Pint		index;	/* view index	*/
    Pview_rep	*rep;	/* view representation	*/
{}
void
pset_view_tran_in_pri( ws, index, ref_index, priority)
    Pint	ws;		/* workstation id	*/
    Pint	index;		/* view index	*/
    Pint	ref_index;	/* reference view index	*/
    Prel_pri	priority;	/* relative priority	*/
{}
void
pset_ws_win3( ws, window)
    Pint		ws;		/* workstation id	*/
    Plimit3	*window;	/* workstation window limits	*/
{}
void
pset_ws_win( ws, window)
    Pint	ws;		/* workstation id	*/
    Plimit	*window;	/* workstation window limits	*/
{}
void
pset_ws_vp3( ws, viewport)
    Pint	ws;		/* workstation id	*/
    Plimit3	*viewport;	/* workstation viewport limits	*/
{}
void
pset_ws_vp( ws, viewport)
    Pint	ws;		/* workstation id	*/
    Plimit	*viewport;	/* workstation viewport limits	*/
{}
void
pset_highl_filter(ws, filter)
Pint	ws;	/* workstation identifier	*/
Pfilter *filter; /* highlighting filter          */
{}
void
pset_invis_filter(ws, filter)
Pint	ws;	/* workstation identifier	*/
Pfilter *filter; /* highlighting filter          */
{}
void
pset_hlhsr_mode( ws, mode)
    Pint	ws;	/* workstation id	*/
    Pint	mode;	/* HLHSR mode */
{}
void
pinq_ws_st(ws_state)
    Pws_st	*ws_state;	/* OUT workstation state	*/
{}
void
pinq_ws_conn_type( ws, store, error_ind, conn_id, ws_type )
    Pint	ws;		/* workstation identifier	*/
    Pstore	store;		/* handle to Store object	*/
    Pint	*error_ind;	/* OUT error indicator		*/
    Pconnid     *conn_id;	/* OUT connection identifier	*/
    Pint	*ws_type;	/* OUT workstation type		*/
{}
void
pinq_open_wss( length, start, error_ind, idlist, total_length)
    Pint	length;		/* length of application list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*idlist;	/* OUT list of ws ids	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pinq_list_view_inds( ws, length, start, error_ind, indices, total_length)
    Pint	ws;		/* workstation identifier	*/
    Pint	length;		/* length of application list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*indices;	/* OUT list of view indices	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pinq_posted_structs(ws, length, start, error_ind, list, total_length)
Pint	ws;		/* workstation identifier	*/
Pint	length;		/* length of application list	*/
Pint	start;		/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pposted_struct_list	*list;	/* OUT list of posted structures	*/
Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pinq_view_rep( ws, view_index, error_ind, update_state, cur_rep, req_rep)
    Pint	ws;		/* workstation identifier	*/
    Pint	view_index;	/* view index	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pupd_st	*update_state;	/* OUT transformation update state	*/
    Pview_rep3	*cur_rep;	/* OUT current view representation	*/
    Pview_rep3	*req_rep;	/* OUT requested view representation	*/
{}
void
pinq_ws_tran3( ws, error_ind, upd_st, req_win_lim, cur_win_lim, req_vp_lim, cur_vp_lim)
    Pint	ws;		/* workstation identifier	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pupd_st     *upd_st;        /* OUT update state             */
    Plimit3     *req_win_lim;   /* OUT requested workstation window */
    Plimit3     *cur_win_lim;   /* OUT current workstation window   */
    Plimit3     *req_vp_lim;    /* OUT requested workstation viewport */
    Plimit3     *cur_vp_lim;    /* OUT current workstation viewport */
{}
void
pinq_ws_tran( ws, error_ind, upd_st, req_win_lim, cur_win_lim, req_vp_lim, cur_vp_lim)
    Pint		ws;		/* workstation identifier	*/
    Pint		*error_ind;	/* OUT error indicator	        */
    Pupd_st             *upd_st;        /* OUT update state             */
    Plimit              *req_win_lim;   /* OUT requested workstation window */
    Plimit              *cur_win_lim;   /* OUT current workstation window   */
    Plimit              *req_vp_lim;    /* OUT requested workstation viewport */
    Plimit              *cur_vp_lim;    /* OUT current workstation viewport */
{}
void
pinq_disp_upd_st(ws, error_ind, def_mode, mod_mode, disp_empty, state)
Pint		 ws;		/* workstation identifier       */
Pint		*error_ind;	/* OUT error indicator  */
Pdefer_mode	*def_mode;	/* OUT deferral mode    */
Pmod_mode	*mod_mode;	/* OUT modification mode        */
Pdisp_surf_empty	*disp_empty;	/* OUT display surface empty    */
Pvisual_st	*state;		/* OUT state of visual representation   */
{}
/* INQUIRE LIST OF POLYLINE INDICES */
void
pinq_list_line_inds( ws, length, start, error_ind, indices, total_length)
    Pint	ws;		/* workstation identifier	*/
    Pint	length;		/* length of application list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*indices;	/* OUT list of polyline indices	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE LIST OF LIGHT SOURCE INDICES */
void
pinq_list_light_src_inds( ws, length, start, error_ind, indices, total_length)
    Pint	ws;		/* workstation identifier	*/
    Pint	length;		/* length of application list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*indices;	/* OUT list of polyline indices	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE LIST OF DEPTH CUE INDICES */
void
pinq_list_dcue_inds( ws, length, start, error_ind, indices, total_length)
    Pint	ws;		/* workstation identifier	*/
    Pint	length;		/* length of application list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*indices;	/* OUT list of polyline indices	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE LIST OF POLYMARKER INDICES */
void
pinq_list_marker_inds( ws, length, start, error_ind, indices, total_length)
    Pint	ws;		/* workstation identifier	*/
    Pint	length;		/* length of application list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*indices;	/* OUT list of polymarker indices	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE LIST OF TEXT INDICES */
void
pinq_list_text_inds( ws, length, start, error_ind, indices, total_length)
    Pint	ws;		/* workstation identifier	*/
    Pint	length;		/* length of application list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*indices;	/* OUT list of text indices	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE LIST OF INTERIOR INDICES */
void
pinq_list_int_inds( ws, length, start, error_ind, indices, total_length)
    Pint	ws;		/* workstation identifier	*/
    Pint	length;		/* length of application list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*indices;	/* OUT list of interior indices	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE LIST OF EDGE INDICES */
void
pinq_list_edge_inds( ws, length, start, error_ind, indices, total_length)
    Pint	ws;		/* workstation identifier	*/
    Pint	length;		/* length of application list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*indices;	/* OUT list of edge indices	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE LIST OF PATTERN INDICES */
void
pinq_list_pat_inds( ws, length, start, error_ind, indices, total_length)
    Pint	ws;		/* workstation identifier	*/
    Pint	length;		/* length of application list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*indices;	/* OUT list of pattern indices	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE LIST OF COLOUR INDICES */
void
pinq_list_colr_inds( ws, length, start, error_ind, indices, total_length)
    Pint	ws;		/* workstation identifier	*/
    Pint	length;		/* length of application list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*indices;	/* OUT list of colour indices	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE TEXT REPRESENTATION */
void
pinq_text_rep( ws, index, type, error_ind, rep)
    Pint	 ws;		/* workstation identifier	*/
    Pint	 index;		/* text index	*/
    Pinq_type	 type;		/* type of returned value	*/
    Pint	 *error_ind;	/* OUT error indicator	*/
    Ptext_bundle *rep;		/* OUT text representation	*/
{}
/* INQUIRE EXTENDED TEXT REPRESENTATION */
void
pinq_text_rep_plus( ws, index, type, error_ind, rep)
    Pint	 ws;		/* workstation identifier	*/
    Pint	 index;		/* text index	*/
    Pinq_type	 type;		/* type of returned value	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Ptext_bundle_plus	*rep;		/* OUT extended text representation	*/
{}
/* INQUIRE INTERIOR REPRESENTATION */
void
pinq_int_rep( ws, index, type, error_ind, rep)
    Pint	 ws;		/* workstation identifier	*/
    Pint	 index;		/* interior index	*/
    Pinq_type	 type;		/* type of returned value	*/
    Pint	 *error_ind;	/* OUT error indicator	*/
    Pint_bundle	 *rep;		/* OUT interior representation	*/
{}
/* INQUIRE EXTENDED INTERIOR REPRESENTATION */
void
pinq_int_rep_plus( ws, index, type, error_ind, rep)
    Pint	 	ws;		/* workstation identifier	*/
    Pint	 	index;		/* interior index	*/
    Pinq_type	 	type;		/* type of returned value	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pint_bundle_plus	*rep;		/* OUT interior representation	*/
{}
/* INQUIRE EDGE REPRESENTATION */
void
pinq_edge_rep( ws, index, type, error_ind, rep)
    Pint	 ws;		/* workstation identifier	*/
    Pint	 index;		/* edge index	*/
    Pinq_type	 type;		/* type of returned value	*/
    Pint	 *error_ind;	/* OUT error indicator	*/
    Pedge_bundle *rep;		/* OUT edge representation	*/
{}
/* INQUIRE EXTENDED EDGE REPRESENTATION */
void
pinq_edge_rep_plus( ws, index, type, error_ind, rep)
    Pint	 	ws;		/* workstation identifier	*/
    Pint	 	index;		/* edge index	*/
    Pinq_type	 	type;		/* type of returned value	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pedge_bundle_plus	*rep;		/* OUT edge representation	*/
{}
void
pinq_colr_rep( ws, index, type, error_ind, rep)
    Pint	 ws;		/* workstation identifier	*/
    Pint	 index;		/* colour index	*/
    Pinq_type	 type;		/* type of returned value	*/
    Pint	 *error_ind;	/* OUT error indicator	*/
    Pcolr_rep *rep;		/* OUT colour representation	*/
{}
/* INQUIRE PATTERN REPRESENTATION */
void
pinq_pat_rep(ws, index, type, store, error_ind, rep)
Pint		 ws;		/* workstation identifier	*/
Pint		 index;		/* pattern index		*/
Pinq_type	 type;		/* type of returned value	*/
Pstore		 store;		/* handle to Store object       */
Pint		*error_ind;	/* OUT error indicator		*/
Ppat_rep	**rep;		/* OUT pattern representation	*/
{}
void
pinq_pat_rep_plus(ws, index, type, store, error_ind, rep)
Pint		 ws;		/* workstation identifier	*/
Pint		 index;		/* pattern index		*/
Pinq_type	 type;		/* type of returned value	*/
Pstore		 store;		/* OUT pointer to buffer	*/
Pint		*error_ind;	/* OUT error indicator		*/
Ppat_rep_plus	**rep;		/* OUT pattern representation	*/
{}
void
pinq_highl_filter( ws, store, error_ind, highl_filter)
    Pint	 ws;		/* workstation identifier	*/
    Pstore       store;        /* handle to Store object       */
    Pint	 *error_ind;	/* OUT error indicator	        */
    Pfilter      **highl_filter;/* OUT highlighting filter      */
{}
void
pinq_invis_filter( ws, store, error_ind, invis_filter)
    Pint	ws;		/* workstation identifier	*/
    Pstore       store;        /* handle to Store object       */
    Pint	 *error_ind;	/* OUT error indicator	        */
    Pfilter      **invis_filter;/* OUT invisibility filter      */
{}
void
pinq_colr_model( ws, error_ind, model )
    Pint	ws;		/* workstation identifier	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint	*model;		/* OUT current colour model	*/
{}
void
pinq_hlhsr_mode( ws, error_ind, state, cur_mode, req_mode )
    Pint	ws;		/* workstation identifier	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pupd_st	*state;		/* OUT HLHSR update state	*/
    Pint	*cur_mode;	/* OUT current HLHSR mode	*/
    Pint	*req_mode;	/* OUT requested HLHSR mode	*/
{}
/*VARARGS2*/
caddr_t
phigs_ws_type_set( wst, attributes )
    Pint	wst;
    Phigs_ws_type_attr	attributes;
{}
/*VARARGS2*/
caddr_t
phigs_ws_type_get( wst, attr, arg)
    Pint		wst;
    Phigs_ws_type_attr	attr;
    char		*arg;
{}
/*VARARGS2*/
Pint
phigs_ws_type_create( base, attributes )
    Pint		base;
    Phigs_ws_type_attr	attributes;
{}
void
phigs_ws_type_destroy( wst)
    Pint	wst;
{}
void
pinq_list_avail_ws_types( length, start, error_ind, types, length_list)
    Pint                length;         /* length of application list */
    Pint                start;      /* starting position    */
    Pint		*error_ind;	/* OUT error indicator	*/
    Pint_list		*types;		/* OUT list of ws types	*/
    Pint		*length_list;	/* OUT length of list in PHIGS */
{}
void
pinq_num_disp_pris( wst, error_ind, num_pri)
    Pint	wst;		/* workstation type	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint	*num_pri;	/* OUT number of display priorities	*/
{}
void
pinq_ws_cat(type, error_ind, category)
Pint	type;		/* workstation type	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pws_cat	*category;	/* OUT workstation category	*/
{}
void
pinq_disp_space_size3(type, error_ind, size)
Pint		type;		/* workstation type	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pdisp_space_size3	*size;		/* OUT display size	*/
{}
void
pinq_disp_space_size(type, error_ind, size)
Pint		type;		/* workstation type	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pdisp_space_size	*size;		/* OUT display size	*/
{}
void
pinq_hlhsr_id_facs( type, length, start, error_ind, ids, length_list )
    Pint	type;		/* workstation type	*/
    Pint	length;		/* length of id list	*/
    Pint	start;		/* starting position of id list	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*ids;		/* OUT list of HLHSR ids	*/
    Pint	*length_list;	/* OUT len of id list in PHIGS	*/
{}
void
pinq_hlhsr_mode_facs( type, length, start, error_ind, modes, length_list )
    Pint	type;		/* workstation type	*/
    Pint	length;		/* length of id list	*/
    Pint	start;		/* starting position of id list	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*modes;		/* OUT list of HLHSR modes	*/
    Pint	*length_list;	/* OUT len of id list in PHIGS	*/
{}
void
pinq_view_facs(type, error_ind, num)
Pint	type;		/* workstation type	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pint	*num;		/* OUT number of predefined view indices	*/
{}
void
pinq_pred_view_rep(type, index, error_ind, rep)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined view index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pview_rep3  	*rep;		/* OUT view representation	*/
{}
void
pinq_ws_class(type, error_ind, class)
Pint		type;		/* workstation type	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pws_class	*class;		/* OUT workstation class	*/
{}
void
pinq_dyns_ws_attrs(type, error_ind, attr)
Pint	type;		/* workstation type	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pdyns_ws_attrs	*attr;		/* OUT attributes dynamics 	*/
{}
void
pinq_def_disp_upd_st(type, error_ind, def_mode, mod_mode)
Pint		type;		/* workstation type	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pdefer_mode     *def_mode;      /* OUT deferral mode    */
Pmod_mode       *mod_mode;      /* OUT modification mode */
{}
/* INQUIRE POLYLINE FACILITIES */
void
pinq_line_facs(type, length, start, error_ind, facilities, total_length)
Pint	type;		/* workstation type	*/
Pint	length;		/* length of application list	*/
Pint	start;		/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pline_facs *facilities;	/* OUT polyline facilities	*/
Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pinq_line_facs_plus(type, lt_length, lt_start, sm_length, sm_start, error_ind, 
		 tot_lt_length, tot_sm_length, facilities)
Pint	  type;		  /* workstation type	*/
Pint	  lt_length;	  /* number of line types to return */
Pint	  lt_start;	  /* starting position	*/
Pint  	  sm_length;	  /* number of shading methods to return */
Pint	  sm_start;	  /* starting position	*/
Pint	  *error_ind;	  /* OUT error indicator	*/
Pint	  *tot_lt_length; /* OUT length of line type list in PHIGS	*/
Pint	  *tot_sm_length; /* OUT length of shading method list in PHIGS	*/
Pline_facs_plus *facilities;	  /* OUT extended polyline facilities	*/
{}
/* INQUIRE PREDEFINED POLYLINE REPRESENTATION */
void
pinq_pred_line_rep(type, index, error_ind, bundle)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pline_bundle	*bundle;	/* OUT predefined polyline rep	*/
{}
/* INQUIRE PREDEFINED EXTENDED POLYLINE REPRESENTATION */
void
pinq_pred_line_rep_plus(type, index, error_ind, bundle)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pline_bundle_plus	*bundle;	/* OUT predefined polyline rep	*/
{}
void
pinq_marker_facs(type, length, start, error_ind, facilities, total_length)
Pint	type;		/* workstation type	*/
Pint	length;		/* length of application list	*/
Pint	start;		/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pmarker_facs	*facilities;	/* OUT polymarker facilities	*/
Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE PREDEDINED POLYMARKER REPRESENTATION */
void
pinq_pred_marker_rep(type, index, error_ind, bundle)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pmarker_bundle	*bundle;	/* OUT predefined polymarker rep	*/
{}
/* INQUIRE PREDEDINED EXTENDED POLYMARKER REPRESENTATION */
void
pinq_pred_marker_rep_plus(type, index, error_ind, bundle)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pmarker_bundle_plus	*bundle;	/* OUT predefined polymarker rep	*/
{}
void
pinq_text_facs(type, length, start, error_ind, facilities, total_length)
Pint	type;		/* workstation type	*/
Pint	length;		/* length of application list	*/
Pint	start;		/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Ptext_facs *facilities;	/* OUT text facilities	*/
Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE PREDEFINED TEXT REPRESENTATION */
void
pinq_pred_text_rep(type, index, error_ind, bundle)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Ptext_bundle	*bundle;	/* OUT predefined text rep	*/
{}
/* INQUIRE PREDEFINED EXTENDED TEXT REPRESENTATION */
void
pinq_pred_text_rep_plus(type, index, error_ind, bundle)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Ptext_bundle_plus	*bundle;	/* OUT predefined text rep	*/
{}
void
pinq_anno_facs(type, length, start, error_ind, styles, total_length, num_char_hts, min_char_ht, max_char_ht)
Pint	type;		/* workstation type	*/
Pint	length;		/* length of application list	*/
Pint	start;		/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pint_list *styles;	/* OUT list annotation styles	*/
Pint	*total_length;	/* OUT length of list in PHIGS	*/
Pint    *num_char_hts;     /* OUT number of character heights */
Pfloat  *min_char_ht;
Pfloat  *max_char_ht;
{}
/* INQUIRE INTERIOR FACILITIES */
void
pinq_int_facs(type, h_len, h_st, error_ind, facil, tot_h_len)
Pint		type;		/* workstation type	*/
Pint		h_len;		/* length of hatch style list	*/
Pint		h_st;		/* starting position	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pint_facs	*facil;		/* OUT interior facilities	*/
Pint		*tot_h_len;	/* OUT len of hatch list in PHIGS	*/
{}
/* INQUIRE EXTENDED INTERIOR FACILITIES */
void
pinq_int_facs_plus( type, is_length, is_start, hs_length, hs_start,
    re_length, re_start, sh_length, sh_start, error_ind, facil,
    tot_is_length, tot_hs_length, tot_re_length, tot_sh_length )
    Pint	type;		/* workstation type */
    Pint	is_length;	/* length of application's interior style list*/
    Pint        is_start;	/* starting position */
    Pint	hs_length;	/* length of application's hatch style list */
    Pint        hs_start;	/* starting position */
    Pint	re_length;	/* length of application's reflectance
				   equation list */
    Pint        re_start;	/* starting position */
    Pint	sh_length;	/* length of application's shading method list*/
    Pint        sh_start;	/* starting position */
    Pint	*error_ind;	/* OUT error indicator */
    Pint_facs_plus	*facil;	/* extended interior facilities */
    Pint	*tot_is_length;	/* total length of interior styles list */
    Pint	*tot_hs_length;	/* total length of hatch styles list */
    Pint	*tot_re_length;	/* total length of reflectance equation list */
    Pint	*tot_sh_length;	/* total length of shading method list */
{}
/* INQUIRE PREDEFINED INTERIOR REPRESENTATION */
void
pinq_pred_int_rep(type, index, error_ind, bundle)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pint_bundle	*bundle;	/* OUT predefined interior rep	*/
{}
/* INQUIRE PREDEFINED EXTENDED INTERIOR REPRESENTATION */
void
pinq_pred_int_rep_plus( type, index, error_ind, rep )
    Pint		type;		/* workstation type */
    Pint		index;		/* interior index */
    Pint		*error_ind;	/* OUT error indicator */
    Pint_bundle_plus	*rep;		/* OUT extended interior rep */
{}
/* INQUIRE EDGE FACILITIES */
void
pinq_edge_facs(type, length, start, error_ind, facilities, total_length)
Pint		type;		/* workstation type	*/
Pint		length;		/* length of application list	*/
Pint		start;		/* starting position	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pedge_facs	*facilities;	/* OUT edge facilities	*/
Pint		*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE PREDEFINED EDGE REPRESENTATION */
void
pinq_pred_edge_rep(type, index, error_ind, bundle)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pedge_bundle	*bundle;	/* OUT predefined edge rep	*/
{}
/* INQUIRE PREDEFINED EXTENDED EDGE REPRESENTATION */
void
pinq_pred_edge_rep_plus(type, index, error_ind, bundle)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pedge_bundle_plus	*bundle;	/* OUT predefined edge rep	*/
{}
/* INQUIRE PATTERN FACILITIES */
void
pinq_pat_facs(type, error_ind, predefined)
Pint	type;		/* workstation type	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pint	*predefined;	/* OUT number of predefined pattern indices	*/
{}
/* INQUIRE PREDEFINED PATTERN REPRESENTATION */
void
pinq_pred_pat_rep(type, index, store, error_ind, rep)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pstore          store;         /* handle to Store object */
Pint		*error_ind;	/* OUT error indicator	*/
Ppat_rep	**rep;		/* OUT predefined pattern rep	*/
{}
/* INQUIRE PREDEFINED EXTENDED PATTERN REPRESENTATION */
void
pinq_pred_pat_rep_plus(type, index, store, error_ind, rep)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pstore		store; 		/* handle to Store object */
Pint		*error_ind;	/* OUT error indicator	*/
Ppat_rep_plus	**rep;	/* OUT predefined pattern rep	*/
{}
/* INQUIRE COLOUR MODEL FACILITIES */
void
pinq_colr_model_facs(type, length, start, error_ind, models, total_length, def)
Pint	type;		/* workstation type	*/
Pint	length;		/* length of application list	*/
Pint	start;		/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pint	*total_length;	/* OUT length of list in PHIGS	*/
Pint_list *models;	/* OUT list of colour models	*/
Pint	*def;		/* OUT default colour model	*/
{}
/* INQUIRE DIRECT COLOUR MODEL FACILITIES */
void
pinq_direct_colr_model_facs(type, length, start, error_ind, 
			   total_length, models)
Pint	type;		/* workstation type	*/
Pint	length;		/* length of application list	*/
Pint	start;		/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pint_list	*models;	/* OUT list of colour models	*/
Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE COLOUR FACILITIES */
void
pinq_colr_facs(type, error_ind, facilities)
Pint 	type;		/* workstation type	*/
Pint    	*error_ind;	/* OUT error indicator	*/
Pcolr_facs	*facilities;	/* OUT colour facilities	*/
{}
/* INQUIRE PREDEFINED COLOUR REPRESENTATION */
void
pinq_pred_colr_rep(type, index, error_ind, bundle)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pcolr_rep	*bundle;	/* OUT predefined colour rep	*/
{}
/* INQUIRE LIST OF AVAILABLE GDP 3 */
void
pinq_list_avail_gdp3(type, length, start, error_ind, gdps, total_length)
Pint	type;		/* workstation type	*/
Pint	length;		/* length of application list	*/
Pint	start;		/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pint_list	*gdps;		/* OUT list of GDPs	*/
Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE LIST OF AVAILABLE GDP */
void
pinq_list_avail_gdp(type, length, start, error_ind, gdps, total_length)
Pint	type;		/* workstation type	*/
Pint	length;		/* length of application list	*/
Pint	start;		/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pint_list	*gdps;		/* OUT list of GDPs	*/
Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pinq_gdp3( ws_type, gdp, error_ind, num_attrs, attrs )
    Pint	ws_type;		/* workstation type	*/
    Pint	gdp;		/* GDP function number	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint	*num_attrs;	/* OUT number of attributes */
    Pattrs	attrs[5];	/* OUT list of attributes */
{}
void
pinq_gdp( ws_type, gdp, error_ind, num_attrs, attrs )
    Pint	ws_type;		/* workstation type	*/
    Pint	gdp;		/* GDP function number	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint	*num_attrs;	/* OUT number of attributes */
    Pattrs	attrs[5];		/* OUT list of attributes */
{}
void
pinq_list_avail_gse(type, length, start, error_ind, gses, total_length)
Pint	type;		/* workstation type	*/
Pint	length;		/* length of application list	*/
Pint	start;		/* starting position	*/
Pint	*error_ind;	/* OUT error indicator	*/
Pint_list	*gses;		/* OUT list of GSEs	*/
Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE WORKSTATION TABLE LENGTHS */
void
pinq_ws_st_table(type, error_ind, lengths)
Pint		type;		/* workstation type	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pws_st_tables	*lengths;	/* OUT lengths of workstation tables	*/
{}
/* INQUIRE EXTENDED WORKSTATION TABLE LENGTHS */
void
pinq_ws_st_table_plus(type, error_ind, lengths)
Pint		type;		/* workstation type	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pws_tables_plus	*lengths;	/* OUT lengths of workstation tables	*/
{}
void
pinq_dyns_structs(type, error_ind, dynamics)
Pint		type;		/* workstation type	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pdyns_structs	*dynamics;	/* OUT structure dynamics	*/
{}
void
pinq_num_avail_in(type, error_ind, numbers)
Pint 	type;		/* workstation type	*/
Pint    	*error_ind;	/* OUT error indicator	*/
Pnum_in	*numbers;	/* OUT number of input devices	*/
{}
void
pinq_def_loc_data3(type, device, store, error_ind, loc_pos, pets, echo_vol, loc_data)
Pint		type;		/* workstation type	             */
Pint		device;		/* logical input device number	     */
Pstore		store;		/* handle to Store object            */
Pint		*error_ind;	/* OUT error indicator	             */
Ppoint3         *loc_pos;       /* OUT default initial position      */
Pint_list       **pets;         /* OUT list of prompt and echo types */
Plimit3         *echo_vol;      /* OUT default echo volume           */
Ploc_data3      **loc_data;     /* OUT default data record           */
{}
void
pinq_def_loc_data(type, device, store, error_ind, loc_pos, pets, echo_area,
    loc_data)
Pint	   type;		/* workstation type	*/
Pint	   device;		/* logical input device number	*/
Pstore	   store;		/* handle to Store object       */
Pint	   *error_ind;      	/* OUT error indicator	*/
Ppoint     *loc_pos;            /* OUT default initial position  */
Pint_list  **pets;              /* OUT list of prompt and echo types */
Plimit     *echo_area;          /* OUT default echo volume       */
Ploc_data  **loc_data;          /* OUT default data record       */
{}
void
pinq_def_stroke_data3( type, device, store, error_ind, max_buf_size, pets, echo_volume, stroke_data )
Pint		type;		/* workstation type	*/
Pint		device;		/* logical input device number	*/
Pstore          store;          /* handle to Store object       */
Pint            *error_ind;     /* OUT error indicator          */
Pint            *max_buf_size;  /* OUT max. input buffer size   */
Pint_list       **pets;         /* OUT list of prompt and echo types */
Plimit3         *echo_volume;   /* OUT default echo volume      */
Pstroke_data3   **stroke_data;  /* OUT default data record      */
{}
void
pinq_def_stroke_data(type, device, store, error_ind, max_buf_size, pets, echo_area, stroke_data)
Pint		type;		/* workstation type	*/
Pint		device;		/* logical input device number	*/
Pstore          store;          /* handle to Store object       */
Pint            *error_ind;     /* OUT error indicator          */
Pint            *max_buf_size;  /* OUT max. input buffer size   */
Pint_list       **pets;         /* OUT list of prompt and echo types */
Plimit          *echo_area;     /* OUT default echo volume      */
Pstroke_data    **stroke_data;  /* OUT default data record      */
{}
void
pinq_def_val_data3(type, device, store, error_ind, def_value, pets, echo_vol, val_data)
Pint		type;		/* workstation type	*/
Pint		device;		/* logical input device number	*/
Pstore          store;          /* handle to Store object       */
Pint            *error_ind;     /* OUT error indicator          */
Pfloat          *def_value;     /* OUT default initial value    */
Pint_list       **pets;         /* OUT list of prompt and echo types */
Plimit3         *echo_vol;      /* OUT default echo volume      */
Pval_data3      **val_data;     /* OUT default data record      */
{}
void
pinq_def_val_data(type, device, store, error_ind, def_value, pets, echo_area, val_data)
Pint 	type;		/* workstation type	*/
Pint    	device;		/* logical input device number	*/
Pstore          store;          /* handle to Store object       */
Pint            *error_ind;     /* OUT error indicator          */
Pfloat          *def_value;     /* OUT default initial value    */
Pint_list       **pets;         /* OUT list of prompt and echo types */
Plimit          *echo_area;     /* OUT default echo volume      */
Pval_data       **val_data;     /* OUT default data record      */
{}
void
pinq_def_choice_data3(type, device, store, error_ind, max_choices, pets, echo_vol, choice_data)
Pint		type;		/* workstation type	*/
Pint		device;		/* logical input device number	*/
Pstore          store;          /* handle to Store object       */
Pint            *error_ind;     /* OUT error indicator          */
Pint            *max_choices;   /* OUT max. number of choices   */
Pint_list       **pets;         /* OUT list of prompt and echo types */
Plimit3         *echo_vol;      /* OUT default echo volume      */
Pchoice_data3   **choice_data;  /* OUT default data record      */
{}
void
pinq_def_choice_data(type, device, store, error_ind, max_choices, pets, echo_area, choice_data)
Pint		type;		/* workstation type	*/
Pint		device;		/* logical input device number	*/
Pstore          store;          /* handle to Store object       */
Pint            *error_ind;     /* OUT error indicator          */
Pint            *max_choices;   /* OUT max. number of choices   */
Pint_list       **pets;         /* OUT list of prompt and echo types */
Plimit          *echo_area;     /* OUT default echo volume      */
Pchoice_data    **choice_data;  /* OUT default data record      */
{}
void
pinq_def_pick_data3(type, device, store, error_ind, pets, echo_vol, pick_data)
Pint		type;		/* workstation type	*/
Pint		device;		/* logical input device number	*/
Pstore          store;          /* handle to Store object       */
Pint            *error_ind;     /* OUT error indicator          */
Pint_list       **pets;         /* OUT list of prompt and echo types */
Plimit3         *echo_vol;      /* OUT default echo volume      */
Ppick_data3     **pick_data;    /* OUT default data record      */
{}
void
pinq_def_pick_data(type, device, store, error_ind, pets, echo_area, pick_data)
Pint		type;		/* workstation type	*/
Pint		device;		/* logical input device number	*/
Pstore          store;          /* handle to Store object       */
Pint            *error_ind;     /* OUT error indicator          */
Pint_list       **pets;         /* OUT list of prompt and echo types */
Plimit          *echo_area;     /* OUT default echo volume      */
Ppick_data      **pick_data;    /* OUT default data record      */
{}
void
pinq_def_string_data3(type, device, store, error_ind, max_buf_size, pets, echo_vol, string_data)
Pint		type;		/* workstation type	*/
Pint		device;		/* logical input device number	*/
Pstore          store;          /* handle to Store object       */
Pint            *error_ind;     /* OUT error indicator          */
Pint            *max_buf_size;  /* OUT max. input buffer size   */
Pint_list       **pets;         /* OUT list of prompt and echo types */
Plimit3         *echo_vol;      /* OUT default echo volume      */
Pstring_data3   **string_data;  /* OUT default data record      */
{}
void
pinq_def_string_data(type, device, store, error_ind, max_buf_size, pets, echo_area, string_data)
Pint		type;		/* workstation type	*/
Pint		device;		/* logical input device number	*/
Pstore          store;          /* handle to Store object       */
Pint            *error_ind;     /* OUT error indicator          */
Pint            *max_buf_size;  /* OUT max. input buffer size   */
Pint_list       **pets;         /* OUT list of prompt and echo types */
Plimit          *echo_area;     /* OUT default echo volume      */
Pstring_data    **string_data;  /* OUT default data record      */
{}
void
pinq_curv_surf_facs( type, cat_len, cat_st, sat_len, sat_st, tcat_len,
	tcat_st, psc_len, psc_st, error_ind, facil, tot_cat_len, 
	tot_sat_len, tot_tcat_len, tot_psc_len )
    Pint		type;		/* workstation type */
    Pint		cat_len;	/* length of curve approx types list */
    Pint		cat_st;		/* starting position */
    Pint		sat_len;	/* length of surface approx types list*/
    Pint		sat_st;		/* starting position */
    Pint		tcat_len;	/* length of trim curve approx types
					   list*/
    Pint		tcat_st;	/* starting position */
    Pint                psc_len;        /* length of parametric surface
					    characteristics list */
    Pint                psc_st;         /* starting position */
    Pint		*error_ind;	/* OUT: error indidator */
    Pcurvsurf_facs	*facil;		/* OUT: curve and surface facilities */
    Pint		*tot_cat_len;	/* OUT: total length of curve approx
						types list */
    Pint		*tot_sat_len;	/* OUT: total length of surface approx
						types list */
    Pint		*tot_tcat_len;	/* OUT: total length of trim curve
						approx types list */
    Pint                *tot_psc_len;  /* OUT: total length of parametric
                                                surface characteristics list */
{}
/* INQUIRE DEPTH CUE FACILITIES */
void
pinq_dcue_facs(type, error_ind, facilities)
Pint		type;		/* workstation type	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pint		*facilities;	/* OUT depth cue facilities	*/
{}
/* INQUIRE PREDEFINED DEPTH CUE REPRESENTATION */
void
pinq_pred_dcue_rep(type, index, error_ind, bundle)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Pdcue_bundle	*bundle;	/* OUT predefined depth cue rep	*/
{}
/* INQUIRE LIGHT SOURCE FACILITIES */
void
pinq_light_src_facs(type, length, start, error_ind, facilities, total_length)
Pint		type;		/* workstation type	*/
Pint		length;		/* length of application list	*/
Pint		start;		/* starting position	*/
Pint		*error_ind;	/* OUT error indicator	*/
Plight_src_facs	*facilities;	/* OUT light source facilities	*/
Pint		*total_length;	/* OUT length of list in PHIGS	*/
{}
/* INQUIRE PREDEFINED LIGHT SOURCE REPRESENTATION */
void
pinq_pred_light_src_rep(type, index, error_ind, bundle)
Pint		type;		/* workstation type	*/
Pint		index;		/* predefined index	*/
Pint		*error_ind;	/* OUT error indicator	*/
Plight_src_bundle	*bundle;	/* OUT predefined light source rep */
{}
void
ptranslate3( trans_vector, error_ind, m)
    Pvec3		*trans_vector;	/* translation vector	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pmatrix3	m;		/* OUT transformation matrix	*/
{}
void
ptranslate( trans_vector, error_ind, m)
    Pvec		*trans_vector;	/* translation vector	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pmatrix	m;		/* OUT transformation matrix	*/
{}
void
pscale3( scale_vector, error_ind, m)
    Pvec3		*scale_vector;	/* scale factor vector	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pmatrix3	m;		/* OUT transformation matrix	*/
{}
void
pscale( scale_vector, error_ind, m)
    Pvec		*scale_vector;	/* scale factor vector	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pmatrix	m;		/* OUT transformation matrix	*/
{}
void
protate_x( angle, error_ind, m)
    Pfloat		angle;		/* rotation angle	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pmatrix3	m;		/* OUT transformation matrix	*/
{}
void
protate_y( angle, error_ind, m)
    Pfloat		angle;		/* rotation angle	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pmatrix3	m;		/* OUT transformation matrix	*/
{}
void
protate_z( angle, error_ind, m)
    Pfloat		angle;		/* rotation angle	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pmatrix3	m;		/* OUT transformation matrix	*/
{}
void
protate( angle, error_ind, m)
    Pfloat		angle;		/* rotation angle	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pmatrix	m;		/* OUT transformation matrix	*/
{}
void
pcompose_matrix3( a, b, error_ind, m)
    Pmatrix3	a;		/* matrix a	*/
    Pmatrix3	b;		/* matrix b	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pmatrix3	m;		/* OUT result matrix	*/
{}
void
pcompose_matrix( a, b, error_ind, m)
    Pmatrix	a;		/* matrix a	*/
    Pmatrix	b;		/* matrix b	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pmatrix	m;		/* OUT result matrix	*/
{}
void
ptran_point3( p, m, error_ind, r)
    Ppoint3	*p;		/* point	*/
    Pmatrix3	m;		/* transformation matrix	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Ppoint3		*r;		/* OUT transformed point	*/
{}
void
ptran_point( p, m, error_ind, r)
    Ppoint	*p;		/* point	*/
    Pmatrix	m;		/* transformation matrix	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Ppoint		*r;		/* OUT transformed point	*/
{}
void
pbuild_tran_matrix3( pt, shift, x_angle, y_angle, z_angle, scale, error_ind, matrix)
    Ppoint3	*pt;		/* fixed point	*/
    Pvec3	*shift;		/* shift vector	*/
    Pfloat	x_angle;	/* rotation angle X	*/
    Pfloat	y_angle;	/* rotation angle Y	*/
    Pfloat	z_angle;	/* rotation angle Z	*/
    Pvec3	*scale;		/* scale vector	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pmatrix3	matrix;		/* OUT transformation matrix	*/
{}
void
pbuild_tran_matrix( pt, shift, angle, scale, error_ind, matrix)
    Ppoint	*pt;		/* fixed point	*/
    Pvec	*shift;		/* shift vector	*/
    Pfloat	angle;		/* rotation angle	*/
    Pvec	*scale;		/* scale vector	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pmatrix	matrix;		/* OUT transformation matrix	*/
{}
void
pcompose_tran_matrix3( m, pt, shift, x_ang, y_ang, z_ang, scale, error_ind, result)
    Pmatrix3	m;		/* transformation matrix	*/
    Ppoint3	*pt;		/* fixed point	*/
    Pvec3	*shift;		/* shift vector	*/
    Pfloat	x_ang;		/* rotation angle X	*/
    Pfloat	y_ang;		/* rotation angle Y	*/
    Pfloat	z_ang;		/* rotation angle Z	*/
    Pvec3	*scale;		/* scale vector	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pmatrix3	result;		/* OUT transformation matrix	*/
{}
void
pcompose_tran_matrix( m, pt, shift, angle, scale, error_ind, result)
    Pmatrix	m;	/* transformation matrix	*/
    Ppoint	*pt;	/* fixed point	*/
    Pvec	*shift;	/* shift vector	*/
    Pfloat	angle;	/* rotation angle	*/
    Pvec	*scale;	/* scale vector	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pmatrix	result;	/* OUT transformation matrix	*/
{}
void
peval_view_ori_matrix3( vrp, vpn, vup, error_ind, m)
    Ppoint3		*vrp;		/* view reference point	*/
    Pvec3	*vpn;		/* view plane normal	*/
    Pvec3		*vup;		/* view up vector	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pmatrix3		m;		/* OUT view orientation matrix	*/
{}
void
peval_view_ori_matrix( vrp, vup, error_ind, m)
    Ppoint		*vrp;		/* view reference point	*/
    Pvec	*vup;		/* view up vector	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pmatrix	m;		/* OUT view orientation matrix	*/
{}
void
peval_view_map_matrix( map, error_ind, m)
    Pview_map	*map;		/* view mapping	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pmatrix	m;		/* OUT view mapping matrix	*/
{}
void
peval_view_map_matrix3( map, error_ind, m)
    Pview_map3  	*map;		/* view mapping	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pmatrix3	m;		/* OUT view mapping matrix	*/
{}
void
pset_rendering_colr_model( colour_model )
    Pint	colour_model;	/* colour model	*/
{}
void
pset_para_surf_characs( psc_type, data )
    Pint		psc_type;	/* type	*/
    Ppara_surf_characs	*data;		/* data record */
{}
void
pinq_rendering_colr_model_facs( type, length, start, error_ind, models, total_length )                          
    Pint     type;           /* workstation type */
    Pint        length;         /* length of application's list */
    Pint        start;          /* starting position */   
    Pint        *error_ind;     /* OUT: error indidator */
    Pint_list   *models;        /* OUT: rendering colour models */
    Pint        *total_length;  /* OUT: total number of rendering
                                   colour models available */
{}
void
pinq_dyns_ws_attrs_plus( ws_type, err_ind, attr )
    Pint		ws_type;	/* IN: workstation type */
    Pint		*err_ind;	/* OUT: error indicator */
    Pdyns_ws_attrs_plus	*attr;		/* OUT: dynamic mod attributes */
{}
void
pset_colr_map_ind( index )
    Pint	index;	/* colour mapping index	*/
{}
void
pset_colr_map_rep( ws, index, map_method, map_data )
    Pint		ws;		/* workstation identifier	*/
    Pint		index;		/* colour mapping index	*/
    Pint		map_method;	/* mapping method */
    Pcolr_map_data	*map_data;	/* data record */
{}
void
pinq_list_colr_map_inds( ws, length, start, error_ind, indices, total_length)
    Pint	ws;		/* workstation identifier	*/
    Pint	length;		/* length of application list	*/
    Pint	start;		/* starting position	*/
    Pint	*error_ind;	/* OUT error indicator	*/
    Pint_list	*indices;	/* OUT list of view indices	*/
    Pint	*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pinq_colr_map_rep( ws, index, type, store, error_ind, map_method, map_data)
    Pint	 	ws;		/* workstation identifier	*/
    Pint	 	index;		/* colour mapping index	*/
    Pinq_type	 	type;		/* type of returned value	*/
    Pstore		store;		/* store object */
    Pint		*error_ind;	/* OUT error indicator	*/
    Pint		*map_method;	/* OUT: mapping method */
    Pcolr_map_data	**map_data;	/* OUT: data record pointer */
{}
void
pinq_colr_map_facs(type, length, start, error_ind, facilities, total_length)
    Pint		type;		/* workstation type	*/
    Pint		length;		/* length of application list	*/
    Pint		start;		/* starting position	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pcolr_map_facs	*facilities;	/* OUT colour mapping facilities */
    Pint		*total_length;	/* OUT length of list in PHIGS	*/
{}
void
pinq_pred_colr_map_rep( ws_type, index, store, error_ind, map_method, map_data)
    Pint		ws_type;	/* IN */
    Pint	 	index;		/* representation index	*/
    Pstore		store;		/* store object */
    Pint		*error_ind;	/* OUT error indicator	*/
    Pint		*map_method;	/* OUT: mapping method */
    Pcolr_map_data	**map_data;	/* OUT: data record pointer */
{}
void
pinq_colr_map_method_facs(type, map_method, error_ind, map_st)
    Pint		type;		/* workstation type	*/
    Pint		map_method;	/* mapping method	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pcolr_map_st	*map_st;	/* OUT mapping state	*/
{}
void
pinq_colr_map_st(ws, map_method, error_ind, map_st)
    Pint		ws;		/* workstation id	*/
    Pint		map_method;	/* mapping method	*/
    Pint		*error_ind;	/* OUT error indicator	*/
    Pcolr_map_st	*map_st;	/* OUT mapping state	*/
{}
