- 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 Jan 18, 2025@03:14:11 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