| 1 | %ZOSV ;SFISC/AC - View commands & special functions. ;12:48 PM  30 Sep 1998 | 
|---|
| 2 | ;;22.0;VA FileMan;;Mar 30, 1999 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ACTJ() ; # active jobs | 
|---|
| 5 | Q $P($$JOBS^%SY,",",2) | 
|---|
| 6 | ; | 
|---|
| 7 | AVJ() ; # available jobs | 
|---|
| 8 | N Y S Y=$$JOBS^%SY Q +Y-$P(Y,",",2) | 
|---|
| 9 | ; | 
|---|
| 10 | T0 ; start RT clock | 
|---|
| 11 | S %ZH0=$ZH,%=$P(%ZH0,",",3) S:$E($ZV,10,12)>5.1 %=$E(%,13,23) S XRT0=+$H_","_($P(%,":")*3600+($P(%,":",2)*60)+$P(%,":",3)) Q | 
|---|
| 12 | ; | 
|---|
| 13 | T1 ; store RT datum w/ZHDIF | 
|---|
| 14 | S %ZH1=$ZH,%=$P(%ZH1,",",3) S:$E($ZV,10,12)>5.1 %=$E(%,13,23) S XRT1=+$H_","_($P(%,":")*3600+($P(%,":",2)*60)+$P(%,":",3)) | 
|---|
| 15 | S ^%ZRTL(3,XRTL,+XRT1,XRTN,$P(XRT1,",",2))=XRT0_"^^"_($P(%ZH1,",")-$P(%ZH0,","))_"^"_($P(%ZH1,",",7)-$P(%ZH0,",",7))_"^"_($P(%ZH1,",",8)-$P(%ZH0,",",8)) K XRT0,%ZH0,%ZH1 Q | 
|---|
| 16 | ; | 
|---|
| 17 | PASSALL ; | 
|---|
| 18 | S Y=$ZC(%SPAWN,"SET TERM/PASTHRU "_$I) U $I:NOTERM Q | 
|---|
| 19 | NOPASS ; | 
|---|
| 20 | S Y=$ZC(%SPAWN,"SET TERM/NOPASTHRU "_$I) U $I:TERM="" Q | 
|---|
| 21 | ; | 
|---|
| 22 | PRGMODE ; | 
|---|
| 23 | W ! S ZTPAC=$S($D(^VA(200,+DUZ,.1))#10:$P(^(.1),"^",5),1:""),XUVOL=^%ZOSF("VOL") | 
|---|
| 24 | S X="" X ^%ZOSF("EOFF") R:ZTPAC]"" !,"PAC: ",X:60 D LC^XUS X ^%ZOSF("EON") I X'=ZTPAC W "??",*7 Q | 
|---|
| 25 | K XMB,XMTEXT,XMY S XMB="XUPROGMODE",XMB(1)=DUZ,XMB(2)=$I D ^XMB:$L($T(^XMB)) D BYE^XUSCLEAN K ZTPAC,X,XMB | 
|---|
| 26 | I '$$PROGMODE() D UCI S XUCI=Y,XQZ="PRGM^ZUA[MGR]",XUSLNT=1 D DO^%XUCI ZESCAPE | 
|---|
| 27 | E  S $ECODE=",<<PROG>>," | 
|---|
| 28 | ; | 
|---|
| 29 | PROGMODE() ; | 
|---|
| 30 | Q ($V($V($V(0)))#2=0) | 
|---|
| 31 | ; | 
|---|
| 32 | UCI ; | 
|---|
| 33 | S Y=$ZC(%UCI),Y=$P(Y,",",1)_","_$P(Y,",",4) Q | 
|---|
| 34 | ; | 
|---|
| 35 | UCICHECK(X) ; | 
|---|
| 36 | N %,%1,U,V,Y | 
|---|
| 37 | I '(X?3U!(X?3U1","3U)) Q "" | 
|---|
| 38 | S U=$ZC(%UCI),V=$P(U,",",4),U=$P(U,","),%1=$P(X,",",2),%=$P(X,",") | 
|---|
| 39 | S Y=$ZC(%SETUCI,%,%1),Y=$S(Y:%_","_$S(%1]"":%1,1:V),1:""),V=$ZC(%SETUCI,U,V) | 
|---|
| 40 | Q Y | 
|---|
| 41 | ; | 
|---|
| 42 | PRIORITY ; | 
|---|
| 43 | Q  ;Q:X>10!(X<1)  S X=(X+1)\2-1,Y=$ZC(%SETPRI,X) Q  ;Let VSM do it's thing. | 
|---|
| 44 | ; | 
|---|
| 45 | PRIINQ() ; | 
|---|
| 46 | Q $ZC(%GETJPI,0,"PRIB")*2+2 | 
|---|
| 47 | ; | 
|---|
| 48 | BAUD ;S X="UNKNOWN" Q | 
|---|
| 49 | Q | 
|---|
| 50 | ; | 
|---|
| 51 | LGR() Q $ZR ;Last global ref. | 
|---|
| 52 | ; | 
|---|
| 53 | EC() Q $ZE ;Error code | 
|---|
| 54 | ; | 
|---|
| 55 | DOLRO ;SAVE ENTIRE SYMBOL TABLE IN LOCATION SPECIFIED BY X | 
|---|
| 56 | S Y="%" F  S Y=$ZSORT(@Y) Q:Y=""  D  ;code from DEC | 
|---|
| 57 | . I $D(@Y)#2 S @(X_"Y)="_Y) | 
|---|
| 58 | . I $D(@Y)>9 S %X=Y_"(",%Y=X_"Y," D %XY^%RCR | 
|---|
| 59 | K %X,%Y,Y Q | 
|---|
| 60 | ; | 
|---|
| 61 | ORDER ;SAVE PARTS OF SYMBOL TABLE IN LOCATION SPECIFIED BY X | 
|---|
| 62 | ;PARTS INDICATED BY X1("NAMESPACE*")="" ARRAY | 
|---|
| 63 | I $D(X1("*"))#2 D DOLRO Q | 
|---|
| 64 | S X1="" F  S X1=$O(X1(X1)) Q:X1=""  D | 
|---|
| 65 | . S (Y,Y1)=$P(X1,"*") I $D(@Y)=0 F  S Y=$ZSORT(@Y) Q:Y=""!(Y[Y1) | 
|---|
| 66 | . Q:Y=""  S %=$D(@Y) S:%#2 @(X_"Y)="_Y) I %>9 S %X=Y_"(",%Y=X_"Y," D %XY^%RCR | 
|---|
| 67 | . F  S Y=$ZSORT(@Y) Q:Y=""!(Y'[Y1)  S %=$D(@Y) S:%#2 @(X_"Y)="_Y) I %>9 S %X=Y_"(",%Y=X_"Y," D %XY^%RCR | 
|---|
| 68 | . Q | 
|---|
| 69 | K %,%X,%Y,Y,Y1 Q | 
|---|
| 70 | ; | 
|---|
| 71 | PARSIZ ; | 
|---|
| 72 | S X=3 Q | 
|---|
| 73 | ; | 
|---|
| 74 | NOLOG ; | 
|---|
| 75 | S Y=0 Q | 
|---|
| 76 | ; | 
|---|
| 77 | DEVOPN G DEVOPN^%ZOSV1 | 
|---|
| 78 | DEVOK G DEVOK^%ZOSV1 | 
|---|
| 79 | RES G RES^%ZOSV1 | 
|---|
| 80 | ; | 
|---|
| 81 | GETENV ;Get environment Return Y='UCI^VOL/DIR^NODE^BOX LOOKUP' | 
|---|
| 82 | S Y=$P($ZU(0),",",1)_"^"_$P($ZU(0),",",2)_"^"_$P($ZC(%GETSYI),",",4) | 
|---|
| 83 | S $P(Y,"^",4)=$P(Y,"^",2)_":"_$P(Y,"^",3) | 
|---|
| 84 | Q | 
|---|
| 85 | VERSION(X) ;return OS version, X=1 - return OS | 
|---|
| 86 | Q $S($G(X):$P($ZV," V"),1:$P($ZV," V",2)) | 
|---|
| 87 | ; | 
|---|
| 88 | SETNM(X) ;Set name, Trap dup's, Fall into SETENV | 
|---|
| 89 | N $ETRAP S $ETRAP="S $ECODE="""" Q" | 
|---|
| 90 | SETENV ;Set environment X='PROCESS NAME^ ' | 
|---|
| 91 | S %=$ZC(%SETPRN,$P(X,"^")) Q | 
|---|
| 92 | ; | 
|---|
| 93 | ZHDIF ;Display dif of two $ZH's | 
|---|
| 94 | W !," CPU=",$J($P(%ZH1,",")-$P(%ZH0,","),6,2),?14," ET=",$J($P(%ZH1,",",2)-$P(%ZH0,",",2),6,1),?27," DIO=",$J($P(%ZH1,",",7)-$P(%ZH0,",",7),5),?40," BIO=",$J($P(%ZH1,",",8)-$P(%ZH0,",",8),5),! Q | 
|---|
| 95 | ; | 
|---|
| 96 | LOGRSRC(OPT) ;record resource usage in ^XTMP("XUCP" | 
|---|
| 97 | N %,%D,%H,%M,%Y,C,H,U,X S C=",",U="^",%=$ZH,H=$P(%,C,3) S:$E($ZV,10,12)>5.1 H=$E(H,13,23) S H=$P($H,C)_C_($P(H,":")*3600+($P(H,":",2)*60)+$P(H,":",3)) | 
|---|
| 98 | S ^XTMP("XUCP",$P($ZC(%GETSYI),C,4),$P(H,C),$J,$P(H,C,2))=$P(%,C)_U_$P(%,C,7)_U_$P(%,C,8)_U_$P(%,C,4)_U_OPT_U_$P(%,C,3) | 
|---|
| 99 | S %H=$H I $P(%H,C,2)#1000=0 S %=(%H>21608)+(%H>94657)+%H-.1,%Y=%\365.25+141,%=%#365.25\1,%D=%+306#(%Y#4=0+365)#153#61#31+1,%M=%-%D\29+1,X=%Y_"00"+%M_"00"+%D,^XTMP("XUCP",0)=X+10000_U_X | 
|---|
| 100 | Q | 
|---|
| 101 | ; | 
|---|
| 102 | SETTRM(X) ;Turn on specified terminators. | 
|---|
| 103 | U $I:TERM=X | 
|---|
| 104 | Q 1 | 
|---|