1 | %ZOSV ;SFISC/AC,LL/DFH,sfisc/fyb ;2:33 PM 1 Oct 1998
|
---|
2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ; ** For DataTree **
|
---|
5 | ;
|
---|
6 | ACTJ() ; Active Jobs
|
---|
7 | Q $$njobs^%mjob("running")
|
---|
8 | ;
|
---|
9 | AVJ() ; Available Jobs
|
---|
10 | Q $$njobs^%mjob("free")
|
---|
11 | ;
|
---|
12 | T0 ; start RT clock
|
---|
13 | S XRT0=$H Q
|
---|
14 | T1 ; store RT datum
|
---|
15 | S ^%ZRTL(3,XRTL,+$H,XRTN,$P($H,",",2))=XRT0 K XRT0 Q
|
---|
16 | MAXJ ; Maximum # of Jobs
|
---|
17 | S Y=$$njobs^%mjob("total") Q
|
---|
18 | ;
|
---|
19 | BAUD ; Baud rate of device - used by BAUD field of the Device File
|
---|
20 | ; Internal entry of device is D0
|
---|
21 | ;ZETRAP BAUDERR
|
---|
22 | ;S X=$zdevspeed($P(^%ZIS(1,D0,0),"^",2)) Q
|
---|
23 | Q
|
---|
24 | BAUDERR S X="" Q
|
---|
25 | ;
|
---|
26 | LGR() Q $ZR ;Last global reference
|
---|
27 | ;
|
---|
28 | EC() Q $ZE ;Error code
|
---|
29 | ;
|
---|
30 | DEVOPN ;X=$J,Y=List of devices separated by a comma
|
---|
31 | G DEVOPN^%ZOSV1
|
---|
32 | ;
|
---|
33 | DEVOK ;X=Device $I, Y=0 if available, Y=999 if device is busy
|
---|
34 | ;Y=-1 if device is undefined.
|
---|
35 | G RES:$G(X1)="RES" I $E(X)="/"!($E(X)="\") S Y=0 Q
|
---|
36 | I $D(X)[0 S X=$I
|
---|
37 | I X=$I S Y=$J Q
|
---|
38 | I X<20,(X>9) S Y=0 D NULLDEV O X:("W":NULLDEV):0 C:$T X S:'$T Y=999 Q
|
---|
39 | ZETRAP NODEV
|
---|
40 | O X::0 I '$T S Y=999 Q
|
---|
41 | C X S Y=0
|
---|
42 | Q
|
---|
43 | RES S Y=0,%ZISD0=$O(^%ZISL(3.54,"B",X,0))
|
---|
44 | I '%ZISD0 S Y=-1,%ZISD0=%O(^%ZIS(1,"C",X)) Q:'%ZISD0 Q:'$D(^%ZIS(1,+%ZISD0,0)) Q:$P(^(0),"^")'=X Q:'$D(^("TYPE")) Q:^("TYPE")'="RES" S Y=0 Q
|
---|
45 | S X1=$S($D(^%ZISL(3.54,+%ZISD0,0)):^(0),1:"")
|
---|
46 | I $P(X1,"^",2)&(X=$P(X1,"^")) S Y=0 Q
|
---|
47 | S Y=999 F %ZISD1=0:0 S %ZISD1=$O(^%ZISL(3.54,%ZISD0,1,%ZISD1)) Q:%ZISD1'>0 I $D(^(%ZISD1,0)) S Y=$P(^(0),"^",3) Q
|
---|
48 | K %ZISD0,%ZISD1
|
---|
49 | Q
|
---|
50 | NULLDEV ; based on %device
|
---|
51 | K HWTYPE S NULLDEV="NUL",H=$V($S($P($ZVER,"/",2)<4:4,1:1),3,-1)
|
---|
52 | S HWTYPE=$S(H<10:"WS",H<20:"MF",H<64:"?",H<129:"PC",1:"?")
|
---|
53 | I HWTYPE'="PC" S NULLDEV="[NUL]"
|
---|
54 | K H,HWTYPE Q
|
---|
55 | ;
|
---|
56 | NODEV S Y=-1
|
---|
57 | Q
|
---|
58 | ;
|
---|
59 | DOLRO ;SAVE ENTIRE SYMBOL TABLE IN LOCATION SPECIFIED BY X
|
---|
60 | ;I $P($ZVER,"/",2)<4 D ^%VARLOG
|
---|
61 | S Y="%" F %=0:0 S Y=$O(@Y) Q:Y="" S %=$D(@Y) S:%#2 @(X_"Y)="_Y) I %>9 S %X=Y_"(",%Y=X_"Y," D %XY^%RCR
|
---|
62 | Q
|
---|
63 | ;
|
---|
64 | ORDER ; Save part of the symbol table in location specified by X
|
---|
65 | S (Y,Y1)=$P(Y,"*",1) I $D(@Y)=0 F %=0:0 S Y=$O(@Y) Q:Y=""!(Y[Y1)
|
---|
66 | Q:Y="" S %=$D(@Y) S:%#2 @(X_"Y)="_Y)
|
---|
67 | I %>9 S %X=Y_"(",%Y=X_"Y," D %XY^%RCR
|
---|
68 | F %=0:0 S Y=$O(@Y) Q:Y=""!(Y'[Y1) S %=$D(@Y) S:%#2 @(X_"Y)="_Y) I %>9 S %X=Y_"(",%Y=X_"Y," D %XY^%RCR
|
---|
69 | K %,X,Y,Y1 Q
|
---|
70 | ;
|
---|
71 | JOBPAR ; Returns job X's namespace
|
---|
72 | D JSTAT^%ZOSV1
|
---|
73 | I ($P($ZVER,"/",2)'<4)&($P($ZVER,"/",2)<4.3) S Y=$ZCONVERT($V(0,JA+908,-5),"U")
|
---|
74 | E S Y=$$jstat^%mjob(X),Y=$P(Y,"|",4)
|
---|
75 | Q
|
---|
76 | ;
|
---|
77 | ;
|
---|
78 | NOLOG ; No logins allowed
|
---|
79 | S Y=0 Q
|
---|
80 | ;
|
---|
81 | PARSIZ ;
|
---|
82 | S X=3 Q
|
---|
83 | ;
|
---|
84 | PRIINQ() ; Priority Inquire
|
---|
85 | N X,Y S X=$J ;D JSTAT^%ZOSV1
|
---|
86 | ;I ZVER S Y=$V(0,$V(1,(X-1*2)+100,-2)*16+5,-1)-128\2 S:Y Y=10-Y
|
---|
87 | S Y=$$jstat^%mjob(X),Y=$P(Y,"|",7) S:Y Y=10-Y
|
---|
88 | Q Y
|
---|
89 | ;
|
---|
90 | PRIORITY ; Set priority of job
|
---|
91 | I X<1!(X>10) Q
|
---|
92 | S Y=X,X=10-X ; convert Kernel to DTM priority
|
---|
93 | I $P($ZVER,"/",2)<4 V 64+$J:50:$C(128+X) Q
|
---|
94 | S X=X*2+128 zc #changepriority(X) V 2:5:$C(X)
|
---|
95 | Q
|
---|
96 | PRGMODE ;
|
---|
97 | W ! S ZTPAC=$S($D(^VA(200,+DUZ,.1))#10:$P(^(.1),"^",5),1:""),XUVOL=^%ZOSF("VOL")
|
---|
98 | I ZTPAC]"" X ^%ZOSF("EOFF") R !,"PAC: ",X:60 S X=$ZCONVERT(X,"U") X ^%ZOSF("EON") I X'=ZTPAC W "??",*7 Q
|
---|
99 | S XMB="XUPROGMODE",XMB(1)=DUZ,XMB(2)=$I D ^XMB:$L($T(^XMB)) D BYE^XUSCLEAN K ZTPAC,X,XMB
|
---|
100 | X ^%ZOSF("UCI") S XUCI=Y,XQZ="PRGM^ZUA[MGR]",XUSLNT=1 D DO^%XUCI
|
---|
101 | U:$I>99 $I:IXXLATE=2 D ^%mshell
|
---|
102 | ;
|
---|
103 | UCICHECK(X) ; The call to ns^%m for Version 4 is necessary
|
---|
104 | ; only if namespaces are password protected.
|
---|
105 | ZETRAP BADUCI N CURUCI
|
---|
106 | S X=$P(X,",")
|
---|
107 | S X=$ZCONVERT(X,"U"),CURUCI=$ZNSPACE
|
---|
108 | I $P($ZVER,"/",2)<4 ZNSPACE X ZNSPACE CURUCI Q X
|
---|
109 | D ns^%m(X,1) S ^UTILITY($J)="" ; *** force error if dataset not mounted
|
---|
110 | I CURUCI'=X D ns^%m(CURUCI,1)
|
---|
111 | Q X
|
---|
112 | BADUCI ; set flag and return to old namespace
|
---|
113 | S Y=0
|
---|
114 | I $P($ZVER,"/",2)<4 ZNSPACE CURUCI
|
---|
115 | E D ns^%m(CURUCI,1)
|
---|
116 | Q Y
|
---|
117 | ;
|
---|
118 | VERSION(X) ;return OS version, X=1 - return OS
|
---|
119 | Q $S($G(X):$P($ZV,"/"),1:$P($ZV,"/",2))
|
---|
120 | ;
|
---|
121 | SETNM(X) ;Set name, Fall into SETENV
|
---|
122 | SETENV ; Set environment
|
---|
123 | S XUENV=X_"^"
|
---|
124 | I $P($ZVER,"/",2)>4.2 V 2:374:$C($L(X))_X:$J#256 Q
|
---|
125 | S X1=X,X=$J D JSTAT^%ZOSV1
|
---|
126 | V 0:JA+374:$C($L(X1))_X1
|
---|
127 | Q
|
---|
128 | GETENV ; Get environment
|
---|
129 | S Y=$ZNSPACE_"^"_^%ZOSF("VOL")_"^^"_^%ZOSF("VOL")
|
---|
130 | Q
|
---|
131 | TRMON ;Turn terminators on
|
---|
132 | U $I:IXINTERP=2 N % S %=$$getall^%mixinterp()
|
---|
133 | I $A(%)'=35 F %=0:1:31,127 D set^%mixinterp(%,35)
|
---|
134 | Q
|
---|
135 | TRMOFF ;Turn terminators off
|
---|
136 | U $I:IXINTERP=$S($I>99:1,1:0)
|
---|
137 | Q
|
---|
138 | PASSALL ;Pass all characters
|
---|
139 | U $I:IXINTERP=3 N % S %=$$getall^%mixinterp()
|
---|
140 | I $A(%)'=18 F %=0:1:31,127 D set^%mixinterp(%,18)
|
---|
141 | Q
|
---|
142 | NOPASS ;Do not pass all characters
|
---|
143 | D TRMOFF
|
---|
144 | Q
|
---|
145 | ;
|
---|
146 | HFSREW(IO,IOPAR) ;Rewind Host File
|
---|
147 | S $ZT="HFSRWERR"
|
---|
148 | U IO:(LFA=0)
|
---|
149 | Q 1
|
---|
150 | HFSRWERR ;Error encountered.
|
---|
151 | Q 0
|
---|
152 | LOGRSRC(OPT) ;record resource usage in ^XUCP
|
---|
153 | Q
|
---|
154 | SETTRM(X) ;Turn on specified terminators.
|
---|
155 | U $I:TERM=X
|
---|
156 | Q 1
|
---|