From:	CRDGW2::CRDGW2::MRGATE::"SMTP::CRVAX.SRI.COM::RELAY-INFO-VAX" 29-AUG-1989 17:06
To:	MRGATE::"ARISIA::EVERHART"
Subj:	SNAP part 4 of 8

Message-Id:  <8908292056.AA29291@crdgw1.ge.com>
Received: From KL.SRI.COM by CRVAX.SRI.COM with TCP; Tue, 29 AUG 89 13:18:37 PDT
Received: from drcvax.af.mil by KL.SRI.COM with TCP; Tue, 29 Aug 89 12:50:07 PDT
Date: 29 Aug 89 15:34:00 EST
From: "Daniel J. Graham" <graham@drcvax.af.mil>
Subject: SNAP part 4 of 8
To: "info-vax" <info-vax@kl.sri.com>

-+-+-+-+-+-+-+-+ START OF PART 4 -+-+-+-+-+-+-+-+
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_UP .AND. LINE_COUNT .GT. 18`032
X`0091`009.AND. SCROLL_TOP .GT. 1) THEN
X`009    `009AMT_TO_SCR = SCROLL_TOP - 1
X`009`009IF (AMT_TO_SCR .GT. 18) AMT_TO_SCR = 18
X`009`009STATUS = SMG$SCROLL_DISPLAY_AREA (VD2_ID,,,,,SMG$M_DOWN,
X`0091`009    AMT_TO_SCR)
X`009`009SCROLL_TOP = SCROLL_TOP - AMT_TO_SCR
X`009`009IF (SCROLL_TOP .LT. 1) SCROLL_TOP = 1
X`009`009SCROLL_BOTTOM = SCROLL_BOTTOM - AMT_TO_SCR
X`009`009DO I = 1,AMT_TO_SCR
X`009`009    STATUS = SMG$SET_CURSOR_ABS (VD2_ID,I,%REF(1))
X`009`009    STATUS = SMG$PUT_LINE (VD2_ID,DATA_LINE((SCROLL_TOP+I)-1))
X`009`009ENDDO
X`009`009IF (IPAGES .GT. 1) IPAGES = IPAGES - 1
X`009`009STATUS = OTS$CVT_L_TI (IPAGES,IPGCOUNT)
X`009    `009PROC_COUNT = 'Procs: seen = '//PCOUNT//', total = '//PROC_CNTP//
V', Page '//IPGCOUNT//' of '//PGCOUNT
X`009    `009STATUS = SMG$PUT_CHARS (VD1_ID,PROC_COUNT,%REF(1),%REF(32),,,)
X`009`009STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(1))
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_MINUS .AND. LINE_COUNT .GT. 18
X`0091`009.AND. SCROLL_TOP .GT. 1) THEN
X`009`009SCROLL_TOP = 1
X`009`009SCROLL_BOTTOM = 18
X`009`009STATUS = SMG$SCROLL_DISPLAY_AREA (VD2_ID,,,,,SMG$M_UP,
X`0091`009    %REF(18))
X`009`009DO I=1,18
X`009`009    STATUS = SMG$SET_CURSOR_ABS (VD2_ID,I,%REF(1))
X`009`009    STATUS = SMG$PUT_LINE (VD2_ID,DATA_LINE(I))
X`009`009ENDDO
X`009`009IPAGES = 1
X`009`009STATUS = OTS$CVT_L_TI (IPAGES,IPGCOUNT)
X`009    `009PROC_COUNT = 'Procs: seen = '//PCOUNT//', total = '//PROC_CNTP//
V', Page '//IPGCOUNT//' of '//PGCOUNT
X`009    `009STATUS = SMG$PUT_CHARS (VD1_ID,PROC_COUNT,%REF(1),%REF(32),,,)
X`009`009STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(1))
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_DOWN .AND. LINE_COUNT .GT. 18
X`0091`009.AND. SCROLL_BOTTOM .LT. LINE_COUNT) THEN
X`009`009IF (LINE_COUNT - SCROLL_BOTTOM .LT. 18) THEN
X`009    `009    AMT_TO_SCR = LINE_COUNT - SCROLL_BOTTOM
X`009`009ELSE
X`009    `009    AMT_TO_SCR = 18
X`009`009ENDIF
X`009`009STATUS = SMG$SCROLL_DISPLAY_AREA (VD2_ID,,,,,SMG$M_UP,
X`0091`009    AMT_TO_SCR)
X`009`009DO I=1,AMT_TO_SCR
X`009`009    STATUS = SMG$SET_CURSOR_ABS (VD2_ID,((18-AMT_TO_SCR)+I),%REF(1))
X`009`009    STATUS = SMG$PUT_LINE (VD2_ID,DATA_LINE(SCROLL_BOTTOM+I))
X`009`009ENDDO
X`009`009SCROLL_BOTTOM = SCROLL_BOTTOM + AMT_TO_SCR
X`009`009IF (SCROLL_BOTTOM .GT. LINE_COUNT) SCROLL_BOTTOM = LINE_COUNT
X`009`009SCROLL_TOP = SCROLL_TOP + AMT_TO_SCR
X`009`009IF (IPAGES .LT. PAGES) IPAGES = IPAGES + 1
X`009`009STATUS = OTS$CVT_L_TI (IPAGES,IPGCOUNT)
X`009    `009PROC_COUNT = 'Procs: seen = '//PCOUNT//', total = '//PROC_CNTP//
V', Page '//IPGCOUNT//' of '//PGCOUNT
X`009    `009STATUS = SMG$PUT_CHARS (VD1_ID,PROC_COUNT,%REF(1),%REF(32),,,)
X`009`009STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(1))
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_COMMA .AND. LINE_COUNT .GT. 18
X`0091`009.AND. SCROLL_BOTTOM .LT. LINE_COUNT) THEN
X`009`009SCROLL_TOP = LINE_COUNT - 18
X`009`009SCROLL_BOTTOM = LINE_COUNT
X`009`009STATUS = SMG$SCROLL_DISPLAY_AREA (VD2_ID,,,,,SMG$M_UP,
X`0091`009    %REF(18))
X`009`009DO I=1,18
X`009`009    STATUS = SMG$SET_CURSOR_ABS (VD2_ID,I,%REF(1))
X`009`009    STATUS = SMG$PUT_LINE (VD2_ID,DATA_LINE(SCROLL_TOP+I))
X`009`009ENDDO
X`009`009IPAGES = PAGES
X`009`009STATUS = OTS$CVT_L_TI (IPAGES,IPGCOUNT)
X`009    `009PROC_COUNT = 'Procs: seen = '//PCOUNT//', total = '//PROC_CNTP//
V', Page '//IPGCOUNT//' of '//PGCOUNT
X`009    `009STATUS = SMG$PUT_CHARS (VD1_ID,PROC_COUNT,%REF(1),%REF(32),,,)
X`009`009STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(1))
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_RIGHT) THEN
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009    %REF(1),%REF(8),SMG$M_NORMAL)
X`009`009CUR_COL = CUR_COL + 8
X`009`009IF (CUR_COL .GT. 65) THEN
X`009`009    CUR_COL = 1
X`009`009    STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(1))
X`009`009    STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(7),SMG$M_REVERSE)
X`009`009ELSE
X`009`009    STATUS = SMG$SET_CURSOR_REL (VD1_ID,,%REF(8))
X`009`009    STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(7),SMG$M_REVERSE)
X`009`009ENDIF
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_LEFT) THEN
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009    %REF(1),%REF(8),SMG$M_NORMAL)
X`009`009CUR_COL = CUR_COL - 8
X`009`009IF (CUR_COL .LT. 1) THEN
X`009`009    CUR_COL = 65
X`009`009    STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(65))
X`009`009    STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(7),SMG$M_REVERSE)
X`009`009ELSE
X`009`009    STATUS = SMG$SET_CURSOR_REL (VD1_ID,,%REF(-8))
X`009`009    STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(7),SMG$M_REVERSE)
X`009`009ENDIF
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_UPPERCASE_A .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_KP1 .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_LOWERCASE_A) THEN
X`009`009STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(1))
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(8),SMG$M_NORMAL)
X`009`009CUR_COL = 1
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(7),SMG$M_REVERSE)
X`009`009TERM_CODE = 13
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_UPPERCASE_D .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_KP2 .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_LOWERCASE_D) THEN
X`009`009STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(9))
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(8),SMG$M_NORMAL)
X`009`009CUR_COL = 9
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(7),SMG$M_REVERSE)
X`009`009TERM_CODE = 13
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_UPPERCASE_F .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_KP3 .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_LOWERCASE_F) THEN
X`009`009STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(17))
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(8),SMG$M_NORMAL)
X`009`009CUR_COL = 17
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(7),SMG$M_REVERSE)
X`009`009TERM_CODE = 13
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_UPPERCASE_V .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_KP4 .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_LOWERCASE_V) THEN
X`009`009STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(25))
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(8),SMG$M_NORMAL)
X`009`009CUR_COL = 25
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(7),SMG$M_REVERSE)
X`009`009TERM_CODE = 13
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_UPPERCASE_S .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_KP5 .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_LOWERCASE_S) THEN
X`009`009STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(33))
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(8),SMG$M_NORMAL)
X`009`009CUR_COL = 33
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(7),SMG$M_REVERSE)
X`009`009TERM_CODE = 13
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_UPPERCASE_C .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_KP6 .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_LOWERCASE_C) THEN
X`009`009STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(41))
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(8),SMG$M_NORMAL)
X`009`009CUR_COL = 41
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(7),SMG$M_REVERSE)
X`009`009TERM_CODE = 13
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_UPPERCASE_M .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_KP7 .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_LOWERCASE_M) THEN
X`009`009STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(49))
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(8),SMG$M_NORMAL)
X`009`009CUR_COL = 49
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(7),SMG$M_REVERSE)
X`009`009TERM_CODE = 13
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_UPPERCASE_U .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_KP8 .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_LOWERCASE_U) THEN
X`009`009STATUS = SMG$SET_CURSOR_ABS(VD1_ID,%REF(24),%REF(57))
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(8),SMG$M_NORMAL)
X`009`009CUR_COL = 57
X`009`009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009      %REF(1),%REF(7),SMG$M_REVERSE)
X`009`009TERM_CODE = 13
X`009    ENDIF
X`009ENDDO
X`009STATUS = SMG$GET_CHAR_AT_PHYSICAL_CURSOR (PB_ID,%REF(CHOICE))
X
XC`032
XC Process the 'Again" choice
XC
X`009IF (CHOICE .EQ. 'A') THEN
X`009    FLAG = ' '
X`009    STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009%REF(1),%REF(8),SMG$M_NORMAL)
X`009    STATUS = SMG$ERASE_DISPLAY (VD2_ID)
X`009    GOTO 5
X`009ENDIF
X
XC`032
XC Process the 'Exit" choice
XC
X`009IF (CHOICE .EQ. 'E') GOTO 999
X
X`009STATUS = SMG$PUT_CHARS (VD1_ID,'Use arrows to underline desired process,
V then press RETURN...',
X`0091    %REF(23),%REF(6),,,)
X`009STATUS = SMG$SET_CURSOR_ABS(VD2_ID,%REF(1),%REF(1))
X`009STATUS = SMG$CHANGE_RENDITION(VD2_ID,%REF(1),%REF(1),
X`0091`009%REF(1),%REF(78),SMG$M_UNDERLINE)
X`009CUR_ROW = 1
X`009MIN_CUR = 1
X`009MAX_CUR = LINE_COUNT
X`009IF (LINE_COUNT .GT. 18) MAX_CUR = 18
X`009TERM_CODE = 0
X`009DO WHILE (TERM_CODE .NE. 13 .AND. TERM_CODE .NE. SMG$K_TRM_ENTER)
X`009    STATUS = SMG$READ_KEYSTROKE (KB_ID,TERM_CODE)
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_CTRLW) STATUS = SMG$REPAINT_SCREEN (PB_
VID)
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_UPPERCASE_E .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_UPPERCASE_Q .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_CTRLZ .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_PF4 .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_LOWERCASE_E .OR.
X`0091`009TERM_CODE .EQ. SMG$K_TRM_LOWERCASE_Q) THEN
X`009    `009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009%REF(1),%REF(8),SMG$M_NORMAL)
X`009    `009STATUS = SMG$ERASE_DISPLAY (VD2_ID)
X`009    `009GOTO 5
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_UP) THEN
X`009`009CUR_ROW = CUR_ROW - 1
X`009`009IF (CUR_ROW .GE. MIN_CUR) THEN
X`009`009    STATUS = SMG$CHANGE_RENDITION(VD2_ID,CUR_ROW+1,%REF(1),
X`0091`009        %REF(1),%REF(78),SMG$M_NORMAL)
X`009`009    STATUS = SMG$CHANGE_RENDITION(VD2_ID,CUR_ROW,%REF(1),
X`0091`009        %REF(1),%REF(78),SMG$M_UNDERLINE)
X`009`009    STATUS = SMG$SET_CURSOR_REL (
X`0091`009`009VD2_ID,%REF(-1))
X`009`009ELSE
X`009`009    CUR_ROW = MIN_CUR
X`009`009    STATUS = SMG$RING_BELL (VD2_ID)
X`009`009ENDIF
X`009    ENDIF
X`009    IF (TERM_CODE .EQ. SMG$K_TRM_DOWN) THEN
X`009`009CUR_ROW = CUR_ROW + 1
X`009`009IF (CUR_ROW .LE. MAX_CUR) THEN
X`009`009    STATUS = SMG$CHANGE_RENDITION(VD2_ID,CUR_ROW-1,%REF(1),
X`0091`009        %REF(1),%REF(78),SMG$M_NORMAL)
X`009`009    STATUS = SMG$CHANGE_RENDITION(VD2_ID,CUR_ROW,%REF(1),
X`0091`009        %REF(1),%REF(78),SMG$M_UNDERLINE)
X`009`009    STATUS = SMG$SET_CURSOR_REL (
X`0091`009`009VD2_ID,%REF(+1))
X`009`009ELSE
X`009`009    CUR_ROW = MAX_CUR
X`009`009    STATUS = SMG$RING_BELL (VD2_ID)
X`009`009ENDIF
X`009    ENDIF
X`009ENDDO
X`009PIDTOALTER = (CUR_ROW + SCROLL_TOP) - 1
X`009STATUS = SMG$ERASE_CHARS (VD1_ID,%REF(80),%REF(23),%REF(1))
XC
XC DELETE A SELECTED PROCESS
XC
X`009IF (CHOICE .EQ. 'D') THEN
X`009    STATUS = SYS$DELPRC(ALTPID(PIDTOALTER),)
X`009    IF (.NOT. STATUS) THEN
X`009        STATUS = SMG$PUT_CHARS (VD1_ID,'    ERROR - process NOT deleted
V - press RETURN to continue...',
X`0091`009  %REF(23),%REF(1),,,)
X`009    `009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009%REF(1),%REF(8),SMG$M_NORMAL)
X`009        STATUS = SMG$READ_KEYSTROKE (KB_ID,DUMMY)
X`009    `009STATUS = SMG$ERASE_DISPLAY (VD2_ID)
X`009    `009GOTO 5
X`009    ENDIF
X`009    STATUS = SMG$CHANGE_RENDITION(VD2_ID,CUR_ROW,%REF(1),
X`0091   `009%REF(1),%REF(78),SMG$M_REVERSE)
X`009    STATUS = SMG$PUT_CHARS (VD1_ID,'    Process deleted - press RETURN t
Vo continue...',
X`0091`009%REF(23),%REF(1),,,)
X`009    STATUS = SMG$READ_KEYSTROKE (KB_ID,TERM_CODE)
X`009ENDIF
XC
XC Force an image exit on a process
XC
X`009IF (CHOICE .EQ. 'F') THEN
X`009    STATUS = SYS$FORCEX(ALTPID(PIDTOALTER),,)
X`009    IF (.NOT. STATUS) THEN
X`009        STATUS = SMG$PUT_CHARS (VD1_ID,'ERROR - No forced exit',
X`0091`009  %REF(23),%REF(1),,,)
X`009    `009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009%REF(1),%REF(8),SMG$M_NORMAL)
X`009        STATUS = SMG$READ_KEYSTROKE (KB_ID,DUMMY)
X`009    `009STATUS = SMG$ERASE_DISPLAY (VD2_ID)
X`009    `009GOTO 5
X`009    ENDIF
X`009    STATUS = SMG$CHANGE_RENDITION(VD2_ID,CUR_ROW,%REF(1),
X`0091   `009%REF(1),%REF(78),SMG$M_REVERSE)
X`009    STATUS = SMG$PUT_CHARS (VD1_ID,'    Successful forced image exit - p
Vress RETURN to continue...',
X`0091`009%REF(23),%REF(1),,,)
X`009    STATUS = SMG$READ_KEYSTROKE (KB_ID,TERM_CODE)
X`009ENDIF
XC
XC To do a SHOW CONTINUOUS on a process, must spawn a command file with the`0
V32
XC command in it, alter the DCLCMD to point to that file.  The command file`0
V32
XC must then rerun this program
XC
X`009IF (CHOICE .EQ. 'C') THEN
X`009    CALL OTS$CVT_L_TZ(ALTPID(PIDTOALTER),HEXPID,,)
X`009    DCLCMD = 'SHOW PROC/CONT/ID='//HEXPID
X`009    CALL LIB$SPAWN(%DESCR(DCLCMD),,,%REF(6),,,,,,,,)
X`009    STATUS = SMG$REPAINT_SCREEN (PB_ID)
X`009ENDIF
XC
XC Watch a terminal, won't accept RTA devices, they cause an immediate`032
XC crash.
XC
X`009IF (CHOICE .EQ. 'V') THEN
X`009    STATUS = SYS$GETJPIW(,ALTPID(PIDTOALTER),,JPI_LIST,,,)
X`009    STATUS = SYS$GETDVIW(,,TERMINAL,DVI_LIST,,,,)
X`009    TERMINAL = PHY_TERM(2:)
X`009    IF (TERMINAL(1:3) .EQ. 'RTA') THEN
X`009        STATUS = SMG$PUT_CHARS (VD1_ID,'    ERROR - Cannot view a DECnet
V device - press RETURN to continue...',
X`0091`009  %REF(23),%REF(1),,,)
X`009    `009STATUS = SMG$CHANGE_RENDITION(VD1_ID,%REF(24),CUR_COL,
X`0091   `009%REF(1),%REF(8),SMG$M_NORMAL)
X`009        STATUS = SMG$READ_KEYSTROKE (KB_ID,DUMMY)
+-+-+-+-+-+-+-+-  END  OF PART 4 +-+-+-+-+-+-+-+-


