ZISETMSM ;IHS/MJ,ACC, SFISC/AC -- INITIALIZE DEVICE FILE FOR MSM-68 [ 05/02/89 4:42 PM ] ;4/9/92 14:17
;;7.1;KERNEL;;Jun 08, 1993
S %PC=$ZV["MSM-PC"
W !,"THIS ROUTINE TAKES INITIALIZES THE DEVICE FILE WITH CURRENT PORT NUMBERS",!
R "OK? ",X,!! G:X'?1"Y".E EXIT
L +^%ZIS:2 W:'$T !,"FILE IS IN USE. TRY AGAIN LATER!!!",*7 Q:'$T
I '$D(^%ZIS(1,0)) S ^%ZIS(1,0)="DEVICE^3.5"
S T=$P(^(0),"^",4),M=^%ZOSF("MGR"),%ZISV=$S($D(^%ZOSF("VOL")):^("VOL"),1:"") D FLST
QUES I %ZISV]"" W !,"Please Enter a Prefix for New Devices: "_%ZISV_"//" R %ZISV1:$S($D(DTIME):DTIME,1:300) G EXIT:%ZISV1="^"!'$T S:%ZISV1="" %ZISV1=%ZISV I %ZISV1?1"?"."?" D HLP G QUES
SYS S TYPE="",CONFIG=$P(^SYS("CONFIG"),";",1),CONFIG=+^SYS("CONFIG",CONFIG) ;DEFAULT SUBSCRIPTS TTY=0
S TTY=0
DDB S TTY=$O(^SYS(CONFIG,"DDB",TTY)) I TTY'="" S DEF=^(TTY),I=TTY D CHK G DDB
HFS ;INITIALIZE HOST FILE SERVER
S TYPE="HFS" F I=51:1:$S(%PC:52,1:54) D CHK
;S ^(0)=$P(^%ZIS(1,0),"^",1,2)_"^^"_TL
C K ^%ZIS("C") S ^%ZIS("C")="G ^%ZISC"
W !!,"ALL SETUP" G EXIT
CHK Q:$S(%ZISV]"":$S($O(^%ZIS(1,"G","SYS."_%ZISV_"."_I,0))>0:1,$O(^%ZIS(1,"CPU",%ZISV_"."_I,0))>0:1,1:0),$O(^%ZIS(1,"C",I,0))>0:1,1:0) S NM=$S(I=47:"MT",I=60:"SDP",1:I)
ADD I %ZISV]"" S LST=LST+1 G:$D(^%ZIS(1,+LST,0))#2 ADD S T=T+1,^%ZIS(1,"C",I,+LST)="",^%ZIS(1,+LST,0)=%ZISV1_NM_"^"_I_"^1^1^^^^^"_%ZISV_"^^1",^("TYPE")=$S(I=47:"MT",I=60:"SDP",1:"TRM"),^%ZIS(1,"B",%ZISV1_NM,+LST)="" D SETCNTR Q
ADD1 S LST=LST+1 G:$D(^%ZIS(1,+LST,0))#2 ADD1 S T=T+1,^%ZIS(1,"C",I,+LST)="",^%ZIS(1,+LST,0)=NM_"^"_I_"^1^1"
S ^("TYPE")=$S(I=47:"MT",I>58&(I<63):"SDP",TYPE="HFS":"HFS",1:"TRM"),^%ZIS(1,"B",NM,+LST)="",$P(^%ZIS(1,0),"^",3)=+LST,$P(^(0),"^",4)=T Q
Q
SETCNTR S ^%ZIS(1,"CPU",%ZISV_"."_I,+LST)="",^%ZIS(1,"G","SYS."_%ZISV_"."_I,+LST)="",$P(^%ZIS(1,0),"^",3)=+LST,$P(^(0),"^",4)=T Q
EXIT ;
L -^%ZIS K %PC,CONFIG,DEF,LST,M,NAME,NM,T,TTY,TYPE,X
Q
PEND K %,%F,%GBN,%GLB,%MAX,%OF,%UI,%USZ,%UT,%X,CC,GN,I,K,KEY,OF,TFL,TYP,UC
Q
FLST S X=$S($D(^%ZIS(1,0)):$P(^(0),"^",3),1:0),A=+X
F I=+X:0 S I=+$O(^%ZIS(1,I)) Q:I'>0 S A=I
S LST=A Q
HLP ;HELP FOR PREFIX QUESTION
W !,"There must be a prefix for a new device"
W !,"becuase the Device Name and the $I cannot"
W !,"be the same." Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HZISETMSM 2232 printed Nov 22, 2024@17:24:47 Page 2
ZISETMSM ;IHS/MJ,ACC, SFISC/AC -- INITIALIZE DEVICE FILE FOR MSM-68 [ 05/02/89 4:42 PM ] ;4/9/92 14:17
+1 ;;7.1;KERNEL;;Jun 08, 1993
+2 SET %PC=$ZV["MSM-PC"
+3 WRITE !,"THIS ROUTINE TAKES INITIALIZES THE DEVICE FILE WITH CURRENT PORT NUMBERS",!
+4 READ "OK? ",X,!!
if X'?1"Y".E
GOTO EXIT
+5 LOCK +^%ZIS:2
if '$TEST
WRITE !,"FILE IS IN USE. TRY AGAIN LATER!!!",*7
if '$TEST
QUIT
+6 IF '$DATA(^%ZIS(1,0))
SET ^%ZIS(1,0)="DEVICE^3.5"
+7 SET T=$PIECE(^(0),"^",4)
SET M=^%ZOSF("MGR")
SET %ZISV=$SELECT($DATA(^%ZOSF("VOL")):^("VOL"),1:"")
DO FLST
QUES IF %ZISV]""
WRITE !,"Please Enter a Prefix for New Devices: "_%ZISV_"//"
READ %ZISV1:$SELECT($DATA(DTIME):DTIME,1:300)
if %ZISV1="^"!'$TEST
GOTO EXIT
if %ZISV1=""
SET %ZISV1=%ZISV
IF %ZISV1?1"?"."?"
DO HLP
GOTO QUES
SYS ;DEFAULT SUBSCRIPTS TTY=0
SET TYPE=""
SET CONFIG=$PIECE(^SYS("CONFIG"),";",1)
SET CONFIG=+^SYS("CONFIG",CONFIG)
+1 SET TTY=0
DDB SET TTY=$ORDER(^SYS(CONFIG,"DDB",TTY))
IF TTY'=""
SET DEF=^(TTY)
SET I=TTY
DO CHK
GOTO DDB
HFS ;INITIALIZE HOST FILE SERVER
+1 SET TYPE="HFS"
FOR I=51:1:$SELECT(%PC:52,1:54)
DO CHK
+2 ;S ^(0)=$P(^%ZIS(1,0),"^",1,2)_"^^"_TL
C KILL ^%ZIS("C")
SET ^%ZIS("C")="G ^%ZISC"
+1 WRITE !!,"ALL SETUP"
GOTO EXIT
CHK if $SELECT(%ZISV]""
QUIT
SET NM=$SELECT(I=47:"MT",I=60:"SDP",1:I)
ADD IF %ZISV]""
SET LST=LST+1
if $DATA(^%ZIS(1,+LST,0))#2
GOTO ADD
SET T=T+1
SET ^%ZIS(1,"C",I,+LST)=""
SET ^%ZIS(1,+LST,0)=%ZISV1_NM_"^"_I_"^1^1^^^^^"_%ZISV_"^^1"
SET ^("TYPE")=$SELECT(I=47:"MT",I=60:"SDP",1:"TRM")
SET ^%ZIS(1,"B",%ZISV1_NM,+LST)=""
DO SETCNTR
QUIT
ADD1 SET LST=LST+1
if $DATA(^%ZIS(1,+LST,0))#2
GOTO ADD1
SET T=T+1
SET ^%ZIS(1,"C",I,+LST)=""
SET ^%ZIS(1,+LST,0)=NM_"^"_I_"^1^1"
+1 SET ^("TYPE")=$SELECT(I=47:"MT",I>58&(I<63):"SDP",TYPE="HFS":"HFS",1:"TRM")
SET ^%ZIS(1,"B",NM,+LST)=""
SET $PIECE(^%ZIS(1,0),"^",3)=+LST
SET $PIECE(^(0),"^",4)=T
QUIT
+2 QUIT
SETCNTR SET ^%ZIS(1,"CPU",%ZISV_"."_I,+LST)=""
SET ^%ZIS(1,"G","SYS."_%ZISV_"."_I,+LST)=""
SET $PIECE(^%ZIS(1,0),"^",3)=+LST
SET $PIECE(^(0),"^",4)=T
QUIT
EXIT ;
+1 LOCK -^%ZIS
KILL %PC,CONFIG,DEF,LST,M,NAME,NM,T,TTY,TYPE,X
+2 QUIT
PEND KILL %,%F,%GBN,%GLB,%MAX,%OF,%UI,%USZ,%UT,%X,CC,GN,I,K,KEY,OF,TFL,TYP,UC
+1 QUIT
FLST SET X=$SELECT($DATA(^%ZIS(1,0)):$PIECE(^(0),"^",3),1:0)
SET A=+X
+1 FOR I=+X:0
SET I=+$ORDER(^%ZIS(1,I))
if I'>0
QUIT
SET A=I
+2 SET LST=A
QUIT
HLP ;HELP FOR PREFIX QUESTION
+1 WRITE !,"There must be a prefix for a new device"
+2 WRITE !,"becuase the Device Name and the $I cannot"
+3 WRITE !,"be the same."
QUIT