Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ZOSVDTM

ZOSVDTM.m

Go to the documentation of this file.
  1. %ZOSV ;SFISC/AC,LL/DFH,sfisc/fyb ;10/31/95 10:04 [ 04/02/2003 8:29 AM ]
  1. ;;8.0;KERNEL;**1002,1003,1004,1005,1007**;APR 1, 2003
  1. ;;8.0;KERNEL;**13**;Jul 10, 1995
  1. ; ** For DataTree **
  1. ;
  1. ACTJ() ; Active Jobs
  1. Q $$njobs^%mjob("running")
  1. ;
  1. AVJ() ; Available Jobs
  1. Q $$njobs^%mjob("free")
  1. ;
  1. T0 ; start RT clock
  1. S XRT0=$H Q
  1. T1 ; store RT datum
  1. S ^%ZRTL(3,XRTL,+$H,XRTN,$P($H,",",2))=XRT0 K XRT0 Q
  1. MAXJ ; Maximum # of Jobs
  1. S Y=$$njobs^%mjob("total") Q
  1. ;
  1. BAUD ; Baud rate of device - used by BAUD field of the Device File
  1. ; Internal entry of device is D0
  1. ZETRAP BAUDERR
  1. S X=$zdevspeed($P(^%ZIS(1,D0,0),"^",2)) Q
  1. BAUDERR S X="" Q
  1. ;
  1. LGR() Q $ZR ;Last global reference
  1. ;
  1. EC() Q $ZE ;Error code
  1. ;
  1. DEVOPN ;X=$J,Y=List of devices separated by a comma
  1. G DEVOPN^%ZOSV1
  1. ;
  1. DEVOK ;X=Device $I, Y=0 if available, Y=999 if device is busy
  1. ;Y=-1 if device is undefined.
  1. G RES:$G(X1)="RES" I $E(X)="/"!($E(X)="\") S Y=0 Q
  1. I $D(X)[0 S X=$I
  1. I X=$I S Y=$J Q
  1. I X<20,(X>9) S Y=0 D NULLDEV O X:("W":NULLDEV):0 C:$T X S:'$T Y=999 Q
  1. ZETRAP NODEV
  1. O X::0 I '$T S Y=999 Q
  1. C X S Y=0
  1. Q
  1. RES S Y=0,%ZISD0=$O(^%ZISL(3.54,"B",X,0))
  1. 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
  1. S X1=$S($D(^%ZISL(3.54,+%ZISD0,0)):^(0),1:"")
  1. I $P(X1,"^",2)&(X=$P(X1,"^")) S Y=0 Q
  1. 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
  1. K %ZISD0,%ZISD1
  1. Q
  1. NULLDEV ; based on %device
  1. K HWTYPE S NULLDEV="NUL",H=$V($S($P($ZVER,"/",2)<4:4,1:1),3,-1)
  1. S HWTYPE=$S(H<10:"WS",H<20:"MF",H<64:"?",H<129:"PC",1:"?")
  1. I HWTYPE'="PC" S NULLDEV="[NUL]"
  1. K H,HWTYPE Q
  1. ;
  1. NODEV S Y=-1
  1. Q
  1. ;
  1. DOLRO ;SAVE ENTIRE SYMBOL TABLE IN LOCATION SPECIFIED BY X
  1. ;I $P($ZVER,"/",2)<4 D ^%VARLOG
  1. 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
  1. Q
  1. ;
  1. ORDER ; Save part of the symbol table in location specified by X
  1. S (Y,Y1)=$P(Y,"*",1) I $D(@Y)=0 F %=0:0 S Y=$O(@Y) Q:Y=""!(Y[Y1)
  1. Q:Y="" S %=$D(@Y) S:%#2 @(X_"Y)="_Y)
  1. I %>9 S %X=Y_"(",%Y=X_"Y," D %XY^%RCR
  1. 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
  1. K %,X,Y,Y1 Q
  1. ;
  1. JOBPAR ; Returns job X's namespace
  1. D JSTAT^%ZOSV1
  1. I ($P($ZVER,"/",2)'<4)&($P($ZVER,"/",2)<4.3) S Y=$ZCONVERT($V(0,JA+908,-5),"U")
  1. E S Y=$$jstat^%mjob(X),Y=$P(Y,"|",4)
  1. Q
  1. ;
  1. ;
  1. NOLOG ; No logins allowed
  1. S Y=0 Q
  1. ;
  1. PARSIZ ;
  1. S X=3 Q
  1. ;
  1. PRIINQ() ; Priority Inquire
  1. N X,Y S X=$J ;D JSTAT^%ZOSV1
  1. ;I ZVER S Y=$V(0,$V(1,(X-1*2)+100,-2)*16+5,-1)-128\2 S:Y Y=10-Y
  1. S Y=$$jstat^%mjob(X),Y=$P(Y,"|",7) S:Y Y=10-Y
  1. Q Y
  1. ;
  1. PRIORITY ; Set priority of job
  1. I X<1!(X>10) Q
  1. S Y=X,X=10-X ; convert Kernel to DTM priority
  1. I $P($ZVER,"/",2)<4 V 64+$J:50:$C(128+X) Q
  1. S X=X*2+128 zc #changepriority(X) V 2:5:$C(X)
  1. Q
  1. PRGMODE ;
  1. W ! S ZTPAC=$S($D(^VA(200,+DUZ,.1))#10:$P(^(.1),"^",5),1:""),XUVOL=^%ZOSF("VOL")
  1. I ZTPAC]"" X ^%ZOSF("EOFF") R !,"PAC: ",X:60 S X=$ZCONVERT(X,"U") X ^%ZOSF("EON") I X'=ZTPAC W "??",*7 Q
  1. S XMB="XUPROGMODE",XMB(1)=DUZ,XMB(2)=$I D ^XMB:$L($T(^XMB)) D BYE^XUSCLEAN K ZTPAC,X,XMB
  1. X ^%ZOSF("UCI") S XUCI=Y,XQZ="PRGM^ZUA[MGR]",XUSLNT=1 D DO^%XUCI
  1. U:$I>99 $I:IXXLATE=2 D ^%mshell
  1. ;
  1. UCICHECK(X) ; The call to ns^%m for Version 4 is necessary
  1. ; only if namespaces are password protected.
  1. ZETRAP BADUCI N CURUCI
  1. S X=$P(X,",")
  1. S X=$ZCONVERT(X,"U"),CURUCI=$ZNSPACE
  1. I $P($ZVER,"/",2)<4 ZNSPACE X ZNSPACE CURUCI Q X
  1. D ns^%m(X,1) S ^UTILITY($J)="" ; *** force error if dataset not mounted
  1. I CURUCI'=X D ns^%m(CURUCI,1)
  1. Q X
  1. BADUCI ; set flag and return to old namespace
  1. S Y=0
  1. I $P($ZVER,"/",2)<4 ZNSPACE CURUCI
  1. E D ns^%m(CURUCI,1)
  1. Q Y
  1. ;
  1. VERSION(X) ;return OS version, X=1 - return OS
  1. Q $S($G(X):$P($ZV,"/"),1:$P($ZV,"/",2))
  1. ;
  1. SETNM(X) ;Set name, Fall into SETENV
  1. SETENV ; Set environment
  1. S XUENV=X_"^"
  1. I $P($ZVER,"/",2)>4.2 V 2:374:$C($L(X))_X:$J#256 Q
  1. S X1=X,X=$J D JSTAT^%ZOSV1
  1. V 0:JA+374:$C($L(X1))_X1
  1. Q
  1. GETENV ; Get environment
  1. S Y=$ZNSPACE_"^"_^%ZOSF("VOL")_"^^"_^%ZOSF("VOL")
  1. Q
  1. TRMON ;Turn terminators on
  1. U $I:IXINTERP=2 N % S %=$$getall^%mixinterp()
  1. I $A(%)'=35 F %=0:1:31,127 D set^%mixinterp(%,35)
  1. Q
  1. TRMOFF ;Turn terminators off
  1. U $I:IXINTERP=$S($I>99:1,1:0)
  1. Q
  1. PASSALL ;Pass all characters
  1. U $I:IXINTERP=3 N % S %=$$getall^%mixinterp()
  1. I $A(%)'=18 F %=0:1:31,127 D set^%mixinterp(%,18)
  1. Q
  1. NOPASS ;Do not pass all characters
  1. D TRMOFF
  1. Q
  1. ;
  1. HFSREW(IO,IOPAR) ;Rewind Host File
  1. S $ZT="HFSRWERR"
  1. U IO:(LFA=0)
  1. Q 1
  1. HFSRWERR ;Error encountered.
  1. Q 0
  1. LOGRSRC(OPT) ;record resource usage in ^XUCP
  1. Q
  1. SETTRM(X) ;Turn on specified terminators.
  1. U $I:TERM=X
  1. Q 1