.\"##
.\" $XConsortium: p403,v 5.2 94/04/17 20:59:09 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 "WORKSTATION TYPE CREATE" 3P "29 February 1991"
.SH NAME
WORKSTATION TYPE CREATE \- create a new workstation type \(em
\s-2PEX-SI\s0
extension 
.IX "Implementation-Specific Functions" "WORKSTATION TYPE CREATE"
.IX "Nonstandard Functions" "WORKSTATION TYPE CREATE"
.IX "Workstation Types" "WORKSTATION TYPE CREATE"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
Pint
phigs_ws_type_create ( base, attributes)
Pint	base;	\fIbase workstation type\fP
Phigs_ws_type_attr	attributes;
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, *, *, *)
.SH DESCRIPTION
.SS Purpose
\s-2WORKSTATION TYPE CREATE\s+2 creates a new workstation type.
The new type is a copy of an existing type, possibly changed by any
attribute-value pairs specified by the second parameter.
.LP
A new workstation type is created by an application to obtain a type with
different workstation description table values from those of an
existing workstation type.  The workstation description table values
can be changed by specifying the desired values to this function or by a
subsequent call to \s-2WORKSTATION TYPE SET\s+2, passing it the workstation
type created by \s-2WORKSTATION TYPE CREATE\s+2.
.LP
The workstation type returned from this function can be used anywhere a
workstation type parameter is specified.
When created, it is added to the list of available
workstation types in the \s-2PHIGS\s+2 description table.
.LP
This is a \s-2PEX-SI\s0 addition, and is not
part of the 
\s-2PHIGS\s+2 standard.
.SS C Input Parameters
.IP \fIbase\fP
An existing workstation type from which to build the new type.
.IP \fIattributes\fP
A 0 terminated list of workstation type attributes and corresponding values.
As described in \s-2WORKSTATION TYPE SET\s+2, the workstation
description table fields of the new workstation type are modified according
to the contents of this list.
.SS C Output Parameters
If this function is successful, the new workstation type is returned as
the value of this function.
.SS Execution
The third argument to \s-2OPEN WORKSTATION\s+2 is a \fIworkstation type\fP.
Each workstation type has a \fIworkstation description table\fP
associated with it,
which contains both the \s-2PHIGS\s+2-specified data describing
workstation capabilities and some \s-2PEX-SI\s0-specific data describing
workstation characteristics.
The \s-2PEX-SI\s0-specific data, as well as some of the \s-2PHIGS\s+2 data,
can be changed by the application prior to opening a workstation.
\s-2WORKSTATION TYPE SET\s+2 describes the data that can be changed and how
to change it.
.LP
\s-2PEX-SI\s0 supplies a number of predefined workstation types.
These are described in \s-2OPEN WORKSTATION\s+2.
The predefined types cannot be operated on by \s-2WORKSTATION TYPE SET\s+2,
their description table values can not be changed.
Instead, it is necessary to create a new workstation type, based on one of
the predefined types, which can be modified by \s-2WORKSTATION TYPE SET\s+2.
Once created, the new workstation type can be used anywhere that
\s-2PHIGS\s+2 calls for a workstation type,
including the \fIbase type\fP parameter of this function.
The new type can be repeatedly edited by \s-2WORKSTATION TYPE SET\s+2 and
passed to \s-2OPEN WORKSTATION\s+2
This could be done, for instance,
to open workstations with only slightly
different description table values.
When the type is no longer needed it should be destroyed with
\s-2WORKSTATION TYPE DESTROY\s+2.
.LP
If a call to this function is successful the new workstation type will be
added to the \fIlist of available workstation types\fP in the \s-2PHIGS\s+2
description table.
.SH ERRORS
.IP 
No Error
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "WORKSTATION TYPE DESTROY (3P)"
.SM "WORKSTATION TYPE GET (3P)"
.SM "WORKSTATION TYPE SET (3P)"
.SM "OPEN WORKSTATION (3P)"
.SM "INQUIRE LIST OF AVAILABLE WORKSTATION TYPES (3P)"
.SM "INQUIRE WORKSTATION CONNECTION AND TYPE (3P)"
.SM "PHIGS WORKSTATION DESCRIPTION TABLE (7P)"
.fi
