Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ escape_-16(3P) — PHIGS 1.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ESCAPE(3P)

TYPE(3P)

SET(3P)

GET(3P)

ESCAPE -16(3P)  —  SUNPHIGS LIBRARY

NAME

ESCAPE -16 − inquire workstation type support

SYNOPSIS

C Syntax

void
pescape ( func_id, in, out )
Pintfunc_id;escape funcion identifier
Pint∗in;input data for the function
Pint∗out;OUT output data of the function

FORTRAN Syntax

SUBROUTINE pesc ( FCTID, LIDR, IDR, MLODR, LODR, ODR )
INTEGERFCTIDfunction identification
INTEGERLIDRdimension of input data record array
CHARACTER∗80IDR(LIDR) input data record
INTEGERMLODRmaximum length of output data record
INTEGERLODROUT number of array elements used in ODR
CHARACTER∗80ODR(MLODR) OUT output data record

Required PHIGS Operating States

(PHOP,WSOP,∗,∗)

DESCRIPTION

Purpose

ESCAPE -16 retrieves the values of how certain features are supported on a workstation: whether they are suppoted in hardware, software, or not at all. Since SunPHIGS provides many features in software when they are not present in hardware, this allows a performance-sensitive application to avoid use of those features. 

C Input Parameters

func_id
The function identifier for this escape is PUESC_INQ_WS_TYPE_SUPPORT, defined in phigs.h to have the value -16. 

inA pointer to a Pescapein union containing the input data record uesc16_idatarec by this escape function.  It is defined as:

typedef struct {
Pwstypewst;/∗ workstation type identifier ∗/
} Puesc0016_idatarec;

wstThe workstation type returned from INQUIRE WORKSTATION CONNECTION AND TYPE. 

C Output Parameters

outA pointer to a Pescapeout union containing the output data record uesc16_odatarec to be filled  by this escape function.  It is defined as:

typedef struct {
Pinterror_ind;/∗ error indicator ∗/
Phigs_ws_type_supportwst_sup;/∗ workstation type support ∗/
} Puesc0016_odatarec;

error_ind
The error indicator of any error detected by this escape.  See the Errors section below for possible values. 

wst_sup
A structure Phigs_ws_type_support, containing three structures on the input, input/output, and output workstations.  Phigs_ws_type_support is defined in phigs.h as follows:

typedef struct {
Phigs_ws_input_supportin_sup;/∗ input workstation ∗/
Phigs_ws_in_out_supportin_out_sup;/∗ input/output workstation ∗/
Phigs_ws_output_supportout_sup;/∗ output workstation ∗/
} Phigs_ws_type_support;

The in_sup component specifies the support of input.  Currently, this field is reserved for future use.  The content of this component is subject to change in the future.  The structure Phigs_ws_input_support is specified as follows:

typedef struct {
Phigs_support_levelreserved;
} Phigs_ws_input_support;

The Phigs_support_level is specified as follows:

typedef enum {
PHIGS_NOT_SUPPORTED,/∗ not supported ∗/
PHIGS_SOFTWARE,/∗ software or inefficient support ∗/
PHIGS_ACCELERATED/∗ hardware or microcode support ∗/
} Phigs_support_level;

The in_out_sup component specifies the support of input/output workstations.  The content of this component is subject to change in the future. The structure of Phigs_ws_in_out_support is as follows:

typedef struct {
Phigs_support_levelpicking;/∗ picking support ∗/
} Phigs_ws_in_out_support;

The out_sup component specifies the support of output.  The content of this component is subject to change in the future.  The structure of Phigs_ws_out_support is as follows:

typedef struct {
Phigs_support_leveldouble_buffer;/∗ hardware double buffering ∗/
Phigs_support_levelzbuff_hlhsr;/∗ z-buffer hlhsr ∗/
Phigs_support_levelindexed_colour;/∗ indexed colour ∗/
Phigs_support_leveltrue_colour;/∗ true colour ∗/
Phigs_support_leveldepth_cueing;/∗ depth cueing ∗/
Phigs_support_levellighting;/∗ lighting ∗/
Phigs_support_levelshading;/∗ shading ∗/
Phigs_support_levelanti_aliasing;/∗ anti aliasing lines ∗/
} Phigs_ws_output_support;

FORTRAN Input Parameters

FCTID
The function identifier of this escape is PUESCINQWSTSUP which is defined in phigs77.h to be -16. 

LIDRThe dimension of IDR (returned by PACK DATA RECORD). 

IDR(LIDR)
An ESCAPE data record packed by PACK DATA RECORD called with these arguments:

ILThe number of integers = 2. 

IAContains two integer values. 

Element 1 is the workstation type. 

Element 2 is the specific type support to inquire.  Valid values are defined in phigs77.h as follows:

PHIGSINOUTSUPPICKINGPicking Support
PHIGSOUTSUPDBLBUFFHardware Double Buffering
PHIGSOUTSUPZBUFFHLHSRZ-buffer HLHSR
PHIGSOUTSUPINDEXCOLOURIndexed Colour
PHIGSOUTSUPTRUECOLOURTrue Colour
PHIGSOUTSUPDEPTHCUEINGDepth Cueing
PHIGSOUTSUPLIGHTINGLighting
PHIGSOUTSUPSHADINGShading
PHIGSOUTSUPANTIALIASINGAnti-Aliased Lines

RLThe number of real values = 0. 

SLThe number of strings = 0. 

MLODR
The maximum length of the output data record, ODR. 

FORTRAN Output Parameters

LODRThe length used in the output data record array, ODR. 

ODR(MLODR)
The output data record is stored in this array.  When the output data record is passed to UNPACK DATA RECORD , the following fields should be returned:

ILThe number of integers = 2. 

IAContains two integer values. 

Element 1 is the error indicator. 

Element 2 is the support level of the inquired type.  Valid values are defined in phigs77.h as follows:

PHIGSNOTSUPNot Supported
PHIGSSUPSWSoftware or Inefficient Support
PHIGSSUPACCHardware or Microcode Support

RLThe number of real values = 0.

SLThe number of strings = 0.

Execution

Currently it is necessary to have the workstation open before the inquiry can be made.  In future releases, this might not be necessary.  It is also necessary to make a call to INQUIRE WORKSTATION CONNECTION AND TYPE to get the specific opened workstation’s type before calling this function. Otherwise, Error 051 is returned. 

ERRORS

003Ignoring function, function requires state (PHOP, WSOP, ∗, ∗)

051Ignoring function, this information is not yet available for this generic workstation type; open a workstation of this type and use the specific workstation type

052Ignoring function, workstation type not recognized by the implementation

SEE ALSO

ESCAPE(3P)
INQUIRE WORKSTATION CONNECTION AND TYPE(3P)
WORKSTATION TYPE SET(3P)
WORKSTATION TYPE GET(3P)
Example program WHAT_HW

 

Sun Release 4.0  —  Last change: 27 July 1989

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026