.\"##
.\" $XConsortium: p128,v 5.2 94/04/17 20:55:54 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 EDGE FACILITIES" 3P "29 February 1991"
.SH NAME
INQUIRE EDGE FACILITIES \- inquire list of workstation edge facilities
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
void
pinq_edge_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;	\fI\s-2OUT\s+2 error indicator\fP
Pedge_facs	*facilities;	\fI\s-2OUT\s+2 edge facilities\fP
Pint	*total_length;	\fI\s-2OUT\s+2 length of list in \s-2PHIGS\s+2\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, *, *, *)
.SH DESCRIPTION
.SS Purpose
Use \s-2INQUIRE EDGE FACILITIES\s+2 to obtain a list of the edge facilities available for the specified type of workstation.
.SS C Input Parameters
.IP \fItype\fP
Workstation type.
.IP \fIlength\fP
The number of elements for which the application has allocated memory
in the output parameter list of integers.
If a value of zero is used, no data will be returned in this list, but the 
total number of elements in the workstation list of available edge types
will be returned in \fItotal_length\fP.
.IP \fIstart\fP
Starting position in the list of available edge types in the workstation
description table at which to begin the inquiry.
The elements of the workstation list of available edge types, beginning
with the item number specified by \fIstart\fP, are copied sequentially
into the list of integers until it is full or all
the items on the workstation list have been copied.
.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 Pedge_facs structure in which the system returns a list
of the edge facilities available for the specified workstation type.
Pedgefac is defined in phigs.h as follows:
.sp .4
.nf
.ta .5i +1.0i +1.25i
typedef struct {
.sp .2
	Pint_list	types;	/* list of edge types */
	Pint	num_widths;	/* number of available edge widths */
	Pfloat	nom_width;	/* nominal edge width */
	Pfloat	min_width;	/* minimum edge width */
	Pfloat	max_width;	/* maximum edge width */
	Pint	num_pred_inds;	/* number of predefined bundles */
.sp .2
} Pedge_facs;
.fi
.sp
And Pint_list is defined as follows:
.sp .4
.nf
.ta .5i +\w'Pint     'u +\w'*num_ints;     'u
typedef struct {
.sp .2
	Pint	num_ints;	/* number of Pints in list */
	Pint	*ints;	/* list of integers */
.sp .2
} Pint_list;
.fi
.sp
The application must allocate memory for \fIlength\fP elements in the
list of integers.
.IP \fItotal_length\fP
A pointer to an integer in which the system returns the total number of
items in the list of available edge types. This is the value required for
\fIlength\fP if all the items on the workstation list are to be
returned.
.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 "PHIGS WORKSTATION DESCRIPTION TABLE (7P)"
.SM "INQUIRE PREDEFINED EDGE REPRESENTATION (3P)"
.SM "INQUIRE PREDEFINED EDGE REPRESENTATION PLUS (3P+)"
.fi
