XMRUCX ;(WASH ISC)/THM/CAP-SMTP Receiver (RFC 821) for UCX ;03/25/2004 06:33
;;8.0;MailMan;**6,19,25,27,44**;Jun 28, 2002;Build 4
;
;Entry for Inet_servers interface RECEIVER
;SMTP service request invokes MailMan
SOC25 ;
;S (XMRPORT,IO,IO(0))=%,X=$E(%_"-INETMM",1,15) D SETENV^%ZOSV
;I $$NEWERR^%ZTER N $ETRAP,$ESTACK S $ETRAP="D R^XMCTRAP Q"
;E S X="R^XMCTRAP",@^%ZOSF("TRAP")
;D DT^DICRW,DUZ^XUP(.5)
;S ER=0
;O IO:(SHARE) U IO
;S XMCHAN="TCP/IP-MAILMAN",XMNO220=""
;D ENT^XMR
;;G HALT^XMRTCP
;Q
SOC ;
S (XMRPORT,IO,IO(0))="SYS$NET",X=$E(%_"INETMM",1,15) D SETENV^%ZOSV
I $$NEWERR^%ZTER N $ETRAP,$ESTACK S $ETRAP="S ZZIO=$ZIO H 33 D R^XMCTRAP Q"
E S X="R^XMCTRAP",@^%ZOSF("TRAP")
D DT^DICRW,DUZ^XUP(.5)
S ER=0
O IO:(TCPDEV):33 U IO
S XMCHAN="TCP/IP-MAILMAN",XMNO220=""
D ENT^XMR
;G HALT^XMRTCP
Q
GTM2 ;Entry point for %ZISTCPS to GT.M
;The device has been open and setup in %ZISTCPS
N $ETRAP,$ESTACK S $ETRAP="D ^%ZTER S ZZIO=$ZIO H 33 D R^XMCTRAP Q"
S XMRPORT=IO
D SETNM^%ZOSV($E(IO_"INETMM",1,15)),COUNT^XUSCNT(1) ;Process counting under GT.M
N DIQUIET S DIQUIET=1 D DT^DICRW,DUZ^XUP(.5)
S ER=0,XMS0C=1
U IO:(DELIMITER=$C(13))
S XMCHAN="TCP/GTM" ;,XMNO220=""
D ENT^XMR
D COUNT^XUSCNT(-1) ;Check out GT.M counting
Q
STARTGTM ;Start the %ZISTCPS service
D LISTEN^%ZISTCPS(25,"GTM2^XMRUCX")
Q
CACHEVMS ;Cache/VMS tcpip service and XINETD entry point
N $ETRAP,$ESTACK,XMOS S $ETRAP="S ZZIO=$ZIO H 33 D R^XMCTRAP Q"
;CHECK OS WHEN SETTING IO VARIABLES XM*8*44 RRA
S XMOS=$$OS^%ZOSV
S (XMRPORT,IO,IO(0))=$S(XMOS["VMS":"SYS$NET",1:$P) D SETNM^%ZOSV($E("INETMM-"_$J,1,15))
N DIQUIET S DIQUIET=1 D DT^DICRW,DUZ^XUP(.5)
S ER=0,XMS0C=1
O IO::33 U IO:(::"-M")
S XMCHAN="TCP/IP-MAILMAN",XMNO220=""
D ENT^XMR
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXMRUCX 1803 printed Dec 13, 2024@02:13:09 Page 2
XMRUCX ;(WASH ISC)/THM/CAP-SMTP Receiver (RFC 821) for UCX ;03/25/2004 06:33
+1 ;;8.0;MailMan;**6,19,25,27,44**;Jun 28, 2002;Build 4
+2 ;
+3 ;Entry for Inet_servers interface RECEIVER
+4 ;SMTP service request invokes MailMan
SOC25 ;
+1 ;S (XMRPORT,IO,IO(0))=%,X=$E(%_"-INETMM",1,15) D SETENV^%ZOSV
+2 ;I $$NEWERR^%ZTER N $ETRAP,$ESTACK S $ETRAP="D R^XMCTRAP Q"
+3 ;E S X="R^XMCTRAP",@^%ZOSF("TRAP")
+4 ;D DT^DICRW,DUZ^XUP(.5)
+5 ;S ER=0
+6 ;O IO:(SHARE) U IO
+7 ;S XMCHAN="TCP/IP-MAILMAN",XMNO220=""
+8 ;D ENT^XMR
+9 ;;G HALT^XMRTCP
+10 ;Q
SOC ;
+1 SET (XMRPORT,IO,IO(0))="SYS$NET"
SET X=$EXTRACT(%_"INETMM",1,15)
DO SETENV^%ZOSV
+2 IF $$NEWERR^%ZTER
NEW $ETRAP,$ESTACK
SET $ETRAP="S ZZIO=$ZIO H 33 D R^XMCTRAP Q"
+3 IF '$TEST
SET X="R^XMCTRAP"
SET @^%ZOSF("TRAP")
+4 DO DT^DICRW
DO DUZ^XUP(.5)
+5 SET ER=0
+6 OPEN IO:(TCPDEV):33
USE IO
+7 SET XMCHAN="TCP/IP-MAILMAN"
SET XMNO220=""
+8 DO ENT^XMR
+9 ;G HALT^XMRTCP
+10 QUIT
GTM2 ;Entry point for %ZISTCPS to GT.M
+1 ;The device has been open and setup in %ZISTCPS
+2 NEW $ETRAP,$ESTACK
SET $ETRAP="D ^%ZTER S ZZIO=$ZIO H 33 D R^XMCTRAP Q"
+3 SET XMRPORT=IO
+4 ;Process counting under GT.M
DO SETNM^%ZOSV($EXTRACT(IO_"INETMM",1,15))
DO COUNT^XUSCNT(1)
+5 NEW DIQUIET
SET DIQUIET=1
DO DT^DICRW
DO DUZ^XUP(.5)
+6 SET ER=0
SET XMS0C=1
+7 USE IO:(DELIMITER=$CHAR(13))
+8 ;,XMNO220=""
SET XMCHAN="TCP/GTM"
+9 DO ENT^XMR
+10 ;Check out GT.M counting
DO COUNT^XUSCNT(-1)
+11 QUIT
STARTGTM ;Start the %ZISTCPS service
+1 DO LISTEN^%ZISTCPS(25,"GTM2^XMRUCX")
+2 QUIT
CACHEVMS ;Cache/VMS tcpip service and XINETD entry point
+1 NEW $ETRAP,$ESTACK,XMOS
SET $ETRAP="S ZZIO=$ZIO H 33 D R^XMCTRAP Q"
+2 ;CHECK OS WHEN SETTING IO VARIABLES XM*8*44 RRA
+3 SET XMOS=$$OS^%ZOSV
+4 SET (XMRPORT,IO,IO(0))=$SELECT(XMOS["VMS":"SYS$NET",1:$PRINCIPAL)
DO SETNM^%ZOSV($EXTRACT("INETMM-"_$JOB,1,15))
+5 NEW DIQUIET
SET DIQUIET=1
DO DT^DICRW
DO DUZ^XUP(.5)
+6 SET ER=0
SET XMS0C=1
+7 OPEN IO::33
USE IO:(::"-M")
+8 SET XMCHAN="TCP/IP-MAILMAN"
SET XMNO220=""
+9 DO ENT^XMR
+10 QUIT