Changeset 636 for FOIAVistA/tag/r/KERNEL-XU-A4A7-USC-XG-XLF-XNOA-XPD-XQ-XVIR-ZI-ZOSF-ZOSV-ZT-ZU-%Z-XIP--XQAB--XUC--XUR--ZIN--ZTED/_ZIS4.m
- Timestamp:
- Dec 4, 2009, 8:26:01 PM (14 years ago)
- Location:
- FOIAVistA/tag/r
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
FOIAVistA/tag/r/KERNEL-XU-A4A7-USC-XG-XLF-XNOA-XPD-XQ-XVIR-ZI-ZOSF-ZOSV-ZT-ZU-%Z-XIP--XQAB--XUC--XUR--ZIN--ZTED/_ZIS4.m
r628 r636 1 %ZIS4 ;ISF/RWF,DW - DEVICE HANDLER SPECIFIC CODE (GT.M for Unix/VMS) ; 1/24/08 16:082 ;;8.0;KERNEL;**275,425 ,440**;Jul 10, 1995;Build 133 ; Per VHA Directive 2004-038, this routine should not be modified1 %ZIS4 ;ISF/RWF,DW - DEVICE HANDLER SPECIFIC CODE (GT.M for Unix/VMS) ;03/07/2007 2 ;;8.0;KERNEL;**275,425**;Jul 10, 1995;Build 18 3 ; 4 4 OPEN ;From %ZIS3 for TRM 5 5 G OPN2:$D(IO(1,IO)) … … 13 13 Q 14 14 ;Why no open paraneters??? 15 OP1 N $E T S $ET="G OPNERR^%ZIS4"16 I $D(%ZISLOCK) L +@%ZISLOCK:5 E S POP=1 Q17 O IO::%ZISTO S:$T IO(1,IO)="" S:'$T POP=1 15 OP1 N $ES,$ET S $ET="G OPNERR^%ZIS4" 16 L:$D(%ZISLOCK) +@%ZISLOCK:60 17 O IO::%ZISTO S:$T IO(1,IO)="" S:'$T POP=1 L:$D(%ZISLOCK) -@%ZISLOCK 18 18 Q 19 19 OPNERR ;Open Error 20 S POP=1,IO("LASTERR")=$G(IO("ERROR")),IO("ERROR")=$$EC^%ZOSV,$EC="" 21 Q 20 S POP=1,IO("LASTERR")=$G(IO("ERROR")),IO("ERROR")=$$EC^%ZOSV,$EC="" Q 22 21 ; 23 O ;From %ZIS6 for alltypes.22 O ;From %ZIS6 for other types. 24 23 D:%IS["L" ZIO 25 I $D(IO("S")),$D(^%ZIS(2,IO("S"),10)),^(10)]"" U IO(0) D X10^ZISX ;Open Printer Port 24 LCKGBL ;Lock Global 25 I %ZTYPE="CHAN" N % S %=$G(^%ZIS(1,+%E,"GBL")) I $L(%) L @("+^"_%_":0") S:'$T POP=1 I POP W:'$D(IOP) !,?5,*7,"[DEVICE IS BUSY]" Q 26 I $D(IO("S")),$D(^%ZIS(2,IO("S"),10)),^(10)]"" U IO(0) D X10^ZISX 26 27 OPAR I $D(IOP),%ZTYPE="HFS",$D(%IS("HFSIO")),$D(%IS("IOPAR")),%IS("HFSIO")]"" S IO=%IS("HFSIO"),%ZISOPAR=%IS("IOPAR") 27 28 I %ZTYPE="CHAN" D TCPIP Q:POP G OXECUTE^%ZIS6 28 S %A=%ZISOPAR_$S(%ZISOPAR["):":"", 1:":"_%ZISTO)29 S %A=%ZISOPAR_$S(%ZISOPAR["):":"",%ZTYPE["CHAN"&($P(%ZTIME,"^",3)="n"):"",1:":"_%ZISTO) 29 30 N % S %(IO)="",%=$P($P($NA(%(IO)),"(",2),")") 30 31 S %A=%_$E(":",%A]"")_%A … … 39 40 ; 40 41 O1 N $ES,$ET S $ET="G OPNERR^%ZIS4" 41 I $D(%ZISLOCK) L +@%ZISLOCK:5 E S POP=1 Q42 O @%A S:'$T&(%A?.E1":".N) POP=1 S:'POP IO(1,IO)="" 42 L:$D(%ZISLOCK) +@%ZISLOCK:60 43 O @%A S:'$T&(%A?.E1":".N) POP=1 S:'POP IO(1,IO)="" L:$D(%ZISLOCK) -@%ZISLOCK 43 44 S IO("ERROR")="" Q 44 45 ; … … 53 54 Q 54 55 ; 55 TCPIP ;For TCP/IP devices , should use ^%ZISTCP56 TCPIP ;For TCP/IP devices 56 57 N %S 57 58 S %ZISTO=$G(%ZISTO,3) … … 66 67 I $D(ZISDA) W:'$D(IOP) !?5,*7,"You may not Spool the printing of a Spool document" G N 67 68 I $D(DUZ)[0 W:'$D(IOP) !,"Must be a valid user." G N 68 R S %ZY=-1 D NEWDOC^ZISPL1 G N:%ZY'>0 69 S %ZDA=+%ZY,%ZFN=$P(%ZY(0),U,2),IO("DOC")=$P(%ZY(0),U,1) G OK:$D(IO("Q")) 70 G:'%ZISB OK I '$P(%ZY,"^",3),$L(%ZFN) O %ZFN:(append:nowrap):2 G DOC 69 R S %ZY=-1 D NEWDOC^ZISPL1 G N:%ZY'>0 S %ZDA=+%ZY,%ZFN=$P(%ZY(0),U,2),IO("DOC")=$P(%ZY(0),U,1) G OK:$D(IO("Q")) 70 G:'%ZISB OK I '$P(%ZY,"^",3),%ZFN]"" D SPL3 G N:%ZFN']"",DOC 71 71 S %ZFN=IO_"SPOOL_no_"_%ZDA_".TMP" D SPL2 G:%ZFN']"" N S $P(^XMB(3.51,%ZDA,0),U,2)=%ZFN,^XMB(3.51,"C",%ZFN,%ZDA)="" 72 72 DOC S IO=%ZFN,IO("SPOOL")=%ZDA,^XUTL("XQ",$J,"SPOOL")=%ZDA,IOF="#" … … 74 74 OK K %ZDA,%ZFN Q 75 75 N K %ZDA,%ZFN,IO("DOC") S POP=1 Q 76 ; 77 SPL2 ;Open for write 78 O %ZFN:(newversion:noreadonly:nowrap:exception="G SPL4"):2 G:$ZA<0 SPL4 S IO(1,%ZFN)="" Q 79 ; 80 SPL3 ;Open for Read 81 O %ZFN:(readonly:exception="G SPL4"):2 S:'$T ZISPLQ=1 G:'$T SPL4 S IO(1,%ZFN)="" Q 76 SPL2 O %ZFN:(NEWVERSION:WORLD=RWD) G:$ZA<0 SPL4 S IO(1,%ZFN)="" Q 77 SPL3 N X S X="SPL4^%ZIS4",@^%ZOSF("TRAP") 78 O %ZFN:READONLY:1 S:'$T ZISPLQ=1 G:$ZA<0!('$T) SPL4 S IO(1,%ZFN)="" Q 82 79 SPL4 W:'$D(IOP)&'$D(ZTQUEUED) !?5,*7,"Couldn't open the spool file." S %ZFN="" Q 83 ; 84 CLOSE ;Close out the spool 85 N %,%1,%Z1,%ZFN,%ZS,%ZDA,XS,%Y,%X 86 I $L(IO) C IO K IO(1,IO) 87 D FILE^ZISPL1 I %ZDA'>0 K ZISPLAD Q 88 S %ZFN=$P(%ZS,"^",2) D SPL3 Q:%ZFN']"" S %ZCR=$C(13),%Y="" 89 S %Z1=+$G(^XTV(8989.3,1,"SPL")),%=0 90 U %ZFN F R %X#255:5 Q:$ZEOF S %2=%X D CL2 Q:%Z1<% 80 CLOSE N %Z1 C:IO]"" IO K:IO]"" IO(1,IO) D FILE^ZISPL1 I %ZDA'>0 K ZISPLAD Q 81 S %ZFN=$P(%ZS,"^",2) D SPL3 Q:%ZFN']"" U %ZFN S %ZCR=$C(13),%Y="",X="SPLEOF^%ZIS4",@^%ZOSF("TRAP") 82 S %Z1=+$G(^XTV(8989.3,1,"SPL")) 83 F %=0:0 R %X#255:5 Q:$ZA<0 S %2=%X D CL2 G:%Z1<% SPLEX 84 SPLEOF I $ZE'["ENDO" Q ;Send error up 91 85 SPLEX C %ZFN:(DELETE) K:%ZFN]"" IO(1,%ZFN) D CLOSE^ZISPL1 K %Y,%X,%1,%ZFN Q 92 86 ;
Note:
See TracChangeset
for help on using the changeset viewer.