Fortran: 02.01/P01
This is Fortran source code, based on the
abstract design
for this program. You may return to the
documentation
for the module containing this program, or to the
entire hierarchical table of
topics covered by the PVT.
C *********************************************************
C * *
C * TEST NUMBER: 02.01/01 *
C * TEST TITLE : Inquiring about structure identifiers *
C * *
C * PHIGS Validation Tests, produced by NIST *
C * *
C *********************************************************
COMMON /GLOBNU/ CTLHND, ERRSIG, ERRFIL, IERRCT, UNERR,
1 TESTCT, IFLERR, PASSSW, ERRSW, MAXLIN,
2 CONID, MEMUN, WKID, WTYPE, GLBLUN, INDLUN,
3 DUMINT, DUMRL
INTEGER CTLHND, ERRSIG, ERRFIL, IERRCT, UNERR,
1 TESTCT, IFLERR, PASSSW, ERRSW, MAXLIN,
2 CONID, MEMUN, WKID, WTYPE, GLBLUN, INDLUN,
3 DUMINT(20), ERRIND
REAL DUMRL(20)
COMMON /GLOBCH/ PIDENT, GLBERR, TSTMSG, FUNCID,
1 DUMCH
CHARACTER PIDENT*40, GLBERR*60, TSTMSG*900, FUNCID*80,
1 DUMCH(20)*20
INTEGER LASI(20), IX, IDUM, NSTR
LOGICAL SETIS
CALL INITGL ('02.01/01')
C open PHIGS
CALL XPOPPH (ERRFIL, MEMUN)
C Use <open structure> and <execute structure> to set up
C the CSS as follows:
C
C 101 106 108
C / | \ /
C / | \ 1/
C 1/ 2| 3\ /
C / | \ /
C / | 107
C / |
C 102 103
C | \ / \\
C | \ 1/ \\
C 1| 2\ / 2\\3
C | \/ \\
C | 104 105
C | | /
C | 1| 1/
C \ | /
C \ | /
C \ | /
C \ | /
C 109
C common setup routine here
CALL CSSPTH
CALL SETMSG ('1 2', '<Inquire structure identifiers> should ' //
1 'retrieve all identifiers as created by <open ' //
2 'structure> and <execute structure>.')
C get list of all structure identifiers = lasi
CALL PQSID (0, ERRIND, NSTR, IDUM)
CALL CHKINQ ('pqsid', ERRIND)
C full list should contain exactly 9 elements
IF (NSTR .NE. 9) THEN
CALL FAIL
GOTO 100
ENDIF
C get entire list
DO 50 IX = 1,NSTR
CALL PQSID (IX, ERRIND, IDUM, LASI(IX) )
CALL CHKINQ ('pqsid', ERRIND)
50 CONTINUE
C full list should contain exactly: 101, 102, 103, 104, 105, 106,
C 107, 108, 109
CALL IFPF (SETIS (LASI, '101,102,103,104,105,106,107,108,109'))
100 CONTINUE
CALL ENDIT
END