.\"##
.\" $XConsortium: p217,v 5.2 94/04/17 20:56:57 rws Exp $
.\"##
.\"## 
$XMCOPY
.\"## Copyright (c) 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.
.TH "INQUIRE TEXT FACILITIES" 3P "29 February 1991"
.SH NAME
INQUIRE TEXT FACILITIES \- inquire list of workstation text facilities
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
void
pinq_text_facs ( type, length, start, error_ind, facilities, total_length )
Pint	type;	\fIworkstation type\fP
Pint	length;	\fIlength of application list\fP
Pint	start;	\fIstarting position\fP
Pint	*error_ind;	\fIOUT error indicator\fP
Ptext_facs	*facilities;	\fIOUT text facilities\fP
Pint	*total_length;	\fIOUT length of list in PHIGS\fP
.ft R
.SS Required PHIGS Operating States
(PHOP, *, *, *)
.SH DESCRIPTION
.SS Purpose
Use \s-2INQUIRE TEXT FACILITIES\s+2 to obtain a list of the text facilities available on the specified workstation type.
.SS C Input Parameters
.IP \fItype\fP
Workstation type.
.IP \fIlength\fP
The \fIlength\fP is
the number 
of text font and precision (fps) pairs which the \fIfacilities\fP output
parameter can return in 
the allocated memory space.  A length of zero may be specified 
in order to have \fItotal_length\fP 
return the total number of elements in the workstation list of available 
font and precision pairs.
.IP \fIstart\fP
Starting position in the list of font and precision pairs in the 
workstation description table at which to begin the inquiry.
.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 \fIfacilities\fP
A pointer to a Ptext_facs data structure in which the system returns a listing of 
the text facilities available on this type of workstation. Ptext_facs is defined 
in phigs.h as:
.nf
.ta .5i +1.0i +1.5i
.sp .4
typedef struct {
.sp .2
	Pint	num_font_precs;	/* number of fonts and precisions */
	Ptext_font_prec	*font_precs;	/* list of fonts and precisions */
	Pint	num_char_hts;	/* number of character heights */
	Pfloat	min_char_ht;	/* minimum height */
	Pfloat	max_char_ht;	/* maximum height */
	Pint	num_char_expans;	/* number of character expansion factors */
	Pfloat	min_char_expan;	/* minimum expansion factor */
	Pfloat	max_char_expan; 	/* maximum expansion factor */
	Pint	num_pred_inds;	/* number of predefined bundles */ 
.sp .2
} Ptext_facs;
.fi
.sp .4
Ptext_font_prec is defined in phigs.h as follows:
.nf
.ta .5i +1.0i +1.5i
.sp .4
typedef struct {
.sp .2
	Pint	font;	/* text font */
	Ptext_prec	prec;	/* text precision */
.sp .2
} Ptext_font_prec;
.sp .4
.fi
Ptext_prec is an enumerated type with the following values:
.nf
.ta .5i
typedef enum {
.sp .2
	PPREC_STRING,
	PPREC_CHAR,
	PPREC_STROKE
.sp .2
} Ptext_prec;
.fi
.IP \fItotal_length\fP
An integer pointer in which the system returns the total number of items in 
the list of available font and precision pairs on the workstation description
table. This is the value required for \fIlength\fP if all the items in the 
workstation list are to be returned.
.IP
The application must allocate memory for the text facilities list of
fonts and precisions.
.SS Execution
.LP
If the inquired information is available, the error indicator is returned
as zero and values are 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
nonavailability.
.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 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 052
Ignoring function, workstation type not recognized by the implementation
.IP 059
Ignoring function, the specified workstation does not have
output capability (that is, 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 "INQUIRE PREDEFINED TEXT REPRESENTATION (3P)"
.fi
