1 | ZU ;SF/GFT - For DTM, TIE ALL TERMINALS EXCEPT CONSOLE TO THIS ROUTINE!! ;10/31/95 09:51
|
---|
2 | ;;8.0;KERNEL;**13**;Jul 10, 1995
|
---|
3 | ; *** For DataTree ***
|
---|
4 | EN S $ZT="ERR^ZU"
|
---|
5 | ZITRAP CTRLC^ZU
|
---|
6 | S ZUGUI2=($I=1),ZUGUI=$G(ZUGUI1)&$G(ZUGUI2)
|
---|
7 | G ^XUS
|
---|
8 | ;
|
---|
9 | G ;Entry Point for GUI devices
|
---|
10 | S ZUGUI1=1 G EN
|
---|
11 | ERR S $ZT="" L ;Come here on error, save Y and $ZR
|
---|
12 | S ZUY=$S($D(Y)#2:Y,1:"undefined"),ZUZR=$ZR
|
---|
13 | B 0 X ^%ZOSF("PROGMODE") Q:Y
|
---|
14 | S $ZT="HALT^ZU"
|
---|
15 | I $G(IO)]"",$D(IO(1,IO)),$E($G(IOST))="P" U IO W @$S($D(IOF):IOF,1:"#")
|
---|
16 | G:$ZE["<INRPT>" CTRLC
|
---|
17 | I $ZE["NOPEN>^XUS" I $D(XUEXIT),XUEXIT D C^XUS H ; Trap <NOPEN> which appears to be due to modem control and breaking micom connection without logging it in ^%ZTER
|
---|
18 | I $D(IO)=11 U IO(0) W !!,"RECORDING THAT AN ERROR OCCURED ---",!!?10,$ZE,!!?15,"Sorry 'bout that",!!,*7
|
---|
19 | S %ZTERLRG=$ZR,%ZT("^XUTL(""XQ"",$J)")="" D ^%ZTER K %ZT S XUERF="" ; Capture symbol table first!
|
---|
20 | I $G(DUZ)'>0 HALT
|
---|
21 | ;
|
---|
22 | CTRLC I $D(IO)=11 U IO(0) C:IO'=IO(0) IO S IO=IO(0)
|
---|
23 | W:$ZE["<INRPT>" !,"--Interrupt Acknowledged",!
|
---|
24 | CTRLC2 G:$G(^XUTL("XQ",$J,"T"))<2 ^XUSCLEAN
|
---|
25 | S ^XUTL("XQ",$J,"T")=1,XQY=^(1),XQY0=$P(XQY,"^",2,99)
|
---|
26 | G:$P(XQY0,"^",4)'="M" CTRLC2
|
---|
27 | S XQPSM=$P(XQY,"^",1),XQY=+XQPSM,XQPSM=$P(XQPSM,XQY,2,3)
|
---|
28 | G:'XQY ^XUSCLEAN
|
---|
29 | S $ZT="ERR^ZU" G M1^XQ
|
---|
30 | ;
|
---|
31 | HALT S $ZT="" I $D(^XUTL("XQ",$J)) D BYE^XUSCLEAN
|
---|
32 | HALT
|
---|
33 | ;
|
---|