Fortran: 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: 01/01                                 *
C  *    TEST TITLE : Testing the system state value        *
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

C system state value
      INTEGER    PPHCL,     PPHOP
      PARAMETER (PPHCL = 0, PPHOP = 1)

      INTEGER SYSTRA

      CALL INITGL ('01/01')

C  Use <inquire system state value> to determine:
C      systra = system state value

      CALL SETMSG ('3', '<Inquire system state value> should return ' //
     1             'closed as the system state value before PHIGS '   //
     2             'is opened.')

      SYSTRA = -6
      CALL PQSYS (SYSTRA)
      CALL IFPF (SYSTRA .EQ. PPHCL)

      CALL SETMSG ('1 3', 'After opening PHIGS <inquire system '      //
     1             'state value> should return the system state '     //
     2             'value as open.')

      CALL XPOPPH (ERRFIL, MEMUN)
      CALL PQSYS (SYSTRA)
      CALL IFPF (SYSTRA .EQ. PPHOP)

      CALL SETMSG ('2 3', 'After closing PHIGS <inquire system '      //
     1             'state value> should return the system state '     //
     2             'value as closed.')

      CALL PCLPH
      CALL PQSYS (SYSTRA)
      CALL IFPF (SYSTRA .EQ. PPHCL)

      CALL SETMSG ('1 3', 'After reopening PHIGS <inquire system '    //
     1             'state value> should return the system state '     //
     2             'value as open.')

      CALL XPOPPH (ERRFIL, MEMUN)
      CALL PQSYS (SYSTRA)
      CALL IFPF (SYSTRA .EQ. PPHOP)

666   CONTINUE
C close PHIGS
      CALL PCLPH
      CALL WINDUP
      END