.\"
.\" $XConsortium: p145,v 5.2 94/04/17 20:56:06 rws Exp $
.\"
.\" 
$XMCOPY
.\" Copyright (c) 1990, 1991 by Sun Microsystems, Inc. and the X Consortium.
.\" 
.\"                         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 names of Sun Microsystems,
.\" and the X Consortium 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.
.TH "INQUIRE INTERIOR FACILITIES PLUS" 3P+ "29 February 1991"
.SH NAME
INQUIRE INTERIOR FACILITIES PLUS \- inquire extended
interior facilities of a workstation type
.IX "Inquiry functions" "INQUIRE INTERIOR FACILITIES PLUS"
.IX "PHIGS Extension Functions" "INQUIRE INTERIOR FACILITIES PLUS"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
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;	\fIworkstation type\fP
Pint	is_length;	\fIlength of application's interior style list\fP
Pint	is_start;	\fIstarting position\fP
Pint	hs_length;	\fIlength of application's hatch style list\fP
Pint	hs_start;	\fIstarting position\fP
Pint	re_length;	\fIlength of application's reflectance equation list\fP
Pint	re_start;	\fIstarting position\fP
Pint	sh_length;	\fIlength of application's shading method list\fP
Pint	sh_start;	\fIstarting position\fP
Pint	*error_ind;	\fIOUT error indicator\fP
Pint_facs_plus	*facil;	\fIOUT extended interior facilities\fP
Pint	*tot_is_length;	\fIOUT total length of interior styles list\fP
Pint	*tot_hs_length;	\fIOUT total length of hatch styles list\fP
Pint	*tot_re_length;	\fIOUT total length of reflectance equation list\fP
Pint	*tot_sh_length;	\fIOUT total length of shading method list\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, *, *, *)
.SH DESCRIPTION
.SS Purpose
\s-2INQUIRE INTERIOR FACILITIES PLUS\s+2
returns the
extended interior support available from a specified workstation type.
.SS C Input Parameters
All of the following data types are predefined in phigs.h.
.IP \fItype\fP
The workstation type in question.
.IP \fIis_length\fP
The number of entries to return from the list of
interior styles.
.IP \fIis_start\fP
Starting position of the portion of the list to return.
.IP \fIhs_length\fP
The number of entries to return from the list of
hatch styles.
.IP \fIhs_start\fP
Starting position of the portion of the list to return.
.IP \fIre_length\fP
The number of entries to return from the list of
reflectance equations.
.IP \fIre_start\fP
Starting position of the portion of the list to return.
.IP \fIsh_length\fP
The number of entries to return from the list of
interior shading method.
.IP \fIsh_start\fP
Starting position of the portion of the list to return.
.SS C Output Parameters
.IP \fIerror_ind\fP
A pointer to the location to store the error number of any error
detected by this function.
.IP \fIfacil\fP
A pointer to a Pint_facs_plus structure which returns the
requested information.
Pint_facs_plus is defined in phigs.h as follows:
.nf
.ta .5i +\w'Pint_style     'u +\w'num_int_styles;     'u
.sp .4
typedef struct {
.sp .2
	Pint	num_int_styles;		/* number of interior styles */
	Pint_style	*int_styles;	/* list of available interior styles */
	Pint_list	hatch_styles;	/* list of available hatch styles */
	Pint	num_pred_inds;		/* number of predefined interior indices */
	Pint_list	refl_eqns;		/* list of available reflectence equations */
	Pint_list	shad_meths;	/* list of available shading methods */
.sp .2
} Pint_facs_plus;
.fi
.IP
Pint_style is defined in phigs.h as follows:
.ta .5i
.nf
.sp .4
typedef enum {
.sp .2
	PSTYLE_HOLLOW,
	PSTYLE_SOLID,
	PSTYLE_PAT,
	PSTYLE_HATCH,
	PSTYLE_EMPTY,
.sp .2
} Pint_style;
.fi
.IP
Pint_list is defined in phigs.h as follows:
.nf
.ta .5i +\w'Pint     'u +\w'num_ints;     'u
.sp .4
typedef struct {
.sp .2
	Pint	num_ints;	/* number of Pints in list */
	Pint	*ints;	/* list of integers */
.sp .2
} Pint_list;
.fi
.IP
Prior to calling this function, the \fIints\fR field of the Pint_list
structures and interiors must contain a pointer to an application
supplied buffer. This buffer
must be at least as large as the corresponding \fIlength\fR parameter.
.IP \fItot_is_length\fP
A pointer to the location to store the total length of the interior style
list in the workstation description table.
.IP \fItot_hs_length\fP
A pointer to the location to store the total length of the
hatch style list in the workstation description table.
.IP \fItot_re_length\fP
A pointer to the location to store the total length of the
reflectance equation list in the workstation description table.
.IP \fItot_sh_length\fP
A pointer to the location to store the total length of the
interior shading method list in the workstation description table.
.SS Execution
.LP
If the inquired information is available, the error indicator is returned
as zero and the requested information is returned in the output parameters.
.LP
If the inquired information is not available, the values returned in the
output parameters are undefined and the error indicator is
set to one of the below error numbers to indicate the reason for
non-availability.
.LP
Since this is an inquiry function, \s-2ERROR HANDLING\s+2 is not invoked
when an error is detected by this function.
.SH ERRORS
.IP 002
Ignoring function, function requires state (\s-2PHOP, *, *, *\s+2)
.IP 052
Ignoring function, workstation type not recognized by the implementation
.IP 051
Ignoring function, this information is not yet available
for this workstation type; open a workstation of this type
and use the specific workstation type
.IP 059
Ignoring function, the specified workstation does not have output capability
(i.e. the workstation category is neither \s-2OUTPUT\s+2, \s-2OUTIN\s+2, nor \s-2MO\s+2)
.IP 062
Ignoring function, this information is not available for this
\s-2MO\s+2 workstation type
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "SET INTERIOR REPRESENTATION PLUS (3P+)"
.SM "INQUIRE INTERIOR REPRESENTATION PLUS (3P+)"
.SM "INQUIRE PREDEFINED INTERIOR REPRESENTATION PLUS (3P+)"
.fi
