Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Global Variables Directly Accessed |  Label References |  Naked Globals |  Local Variables |  All
Print Page as PDF
Routine: XMR3

Package: MailMan

Routine: XMR3


Information

XMR3 ;ISC-SF/GMB-SMTP Receiver (RFC 822) ;07/01/2002 14:11

Source Information

Source file <XMR3.m>

Call Graph

Call Graph Total: 10

Package Total Call Graph
MailMan 8 DOTRAN^XMC1  (FWD,RPOST)^XMKP  CHECK^XMKPL  ($$LOCALXMZ,CHEKDUP,KILLIT)^XMR3A  XMTHIST^XMTDR  $$REMADDR^XMXADDR3  ZAPIT^XMXMSGS2  ($$CONVERT,$$CTRL,$$ENCODEUP,$$MAXBLANK,$$STRIP)^XMXUTIL1  
Kernel 1 $$UP^XLFSTR  
VA Fileman 1 FILE^DIE  

Caller Graph

Caller Graph Total: 5

Package Total Caller Graph
MailMan 5 XMR  XMR1  XMRENT  XMS3  XMXREPLY  

Entry Points

Name Comments DBIA/ICR reference
PRIO ; "X-PRIORITY:1" (Priority)
SUBJ ; "SUBJECT:"
REPL ; "REPLY-TO:"
ENCR ; "ENCRYPT:"
CLOS ; "X-MM-CLOSED:YES"
DATE ; "DATE:"
DATA ; TEXT / ASSUMES VALID RECIPIENT
; Incoming Variables:
; XMINSTR("FWD BY")=""
; XMZ message number of new message
; XMZFDA FM FDA for new message
; XMZIENS IENS for new message
; $D(XMC("DX")) means Test mode: Messages will not be delivered
; If the msg is from a VA site, the following may be set:
; XMREMID always set if the msg is from a VA site
; $G(XMRXMZ) message number of message we already have.
; Set if new message is a duplicate of one we already have.
SET ; Set data into message file
HDRFIND(XMZ,XMFIND,XMHDR) ;
NEXT(XMH,XMHDR,XMDATA) ;
TOOLONG() ;
HDRPROC ; Process header commands
EXPI ; "EXPIRY-DATE:" (vaporize date)
CONTINU(XMVBL,XMH,XMHDR) ;
RETU ; "RETURN-RECEIPT-TO:"
PARSE(XMZ,XMREMID,XMSUBJ,XMFROM,XMDATE,XMSENDER,XMENCR,XMZO) ; Get data for remotely originated message
; This is used by ^XMRENT & ^XMS3
; XMSUBJ subject
; XMFROM from
; XMDATE date
; XMENCR scramble hint "^" scramble key
; XMREMID message id at site where msg originated (not necessarily at the sending site)
; XMZO original message xmz (to which this msg is a response)
REMID(X) ;
GETDATA ;
IMPO ; "IMPORTANCE:HIGH" (Priority)
INRE ; "IN-REPLY-TO:" message at this site
MESS ; "MESSAGE-ID:" at site where message originated
SCRUB(X) ; Strip ctrl chars and leading/trailing blanks
REFE ; "REFERENCES:" (used by some systems, instead of 'in-reply-to')
BASK ; "X-MM-BASKET:" (Delivery Basket)
INFO ; "X-MM-INFO-ONLY:YES"
FROM ; "FROM:"
SEND ; "SENDER:" (Surrogate)
SENS ; "SENSITIVITY:PERSONAL" (Confidential)
TYPE ; "X-MM-TYPE:"

External References

Name Field # of Occurrence
FILE^DIE SET+5
$$UP^XLFSTR GETDATA+13, IMPO+1, PRIO+1, SENS+1, HDRFIND+8
DOTRAN^XMC1 SET+8, SET+9
FWD^XMKP SET+11
RPOST^XMKP SET+10
CHECK^XMKPL SET+12
$$LOCALXMZ^XMR3A INRE+3
CHEKDUP^XMR3A SET+1
KILLIT^XMR3A HDRPROC+5, HDRPROC+13, HDRPROC+21, HDRPROC+25
XMTHIST^XMTDR DATA+20
$$REMADDR^XMXADDR3 SET+3, SET+4
ZAPIT^XMXMSGS2 DATA+17
$$CONVERT^XMXUTIL1 EXPI+2
$$CTRL^XMXUTIL1 SCRUB+1
$$ENCODEUP^XMXUTIL1 SUBJ+3
$$MAXBLANK^XMXUTIL1 SUBJ+2
$$STRIP^XMXUTIL1 SCRUB+2

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^TMP("XMY" DATA+16!, SET+7
^TMP("XMY0" DATA+16!
^XMB(1 - [#4.3] TOOLONG+2
^XMB(3.9 - [#3.9] DATA+20, GETDATA+7*, HDRPROC+2, HDRPROC+19, HDRPROC+32*, INRE+7, INRE+10, HDRFIND+6
^XMHDR( NEXT+5

Label References

Name Line Occurrences
$$REMID INRE+2, MESS+1
$$SCRUB GETDATA+14, GETDATA+15, GETDATA+16, GETDATA+17, NEXT+2, HDRFIND+10, HDRFIND+11, HDRFIND+12, HDRFIND+13
$$TOOLONG HDRPROC+10
@( HDRPROC+18, PARSE+15
GETDATA DATA+12
HDRFIND PARSE+11
HDRPROC DATA+13
NEXT GETDATA+11, HDRFIND+7
SET DATA+14

Naked Globals

Name Field # of Occurrence
^( HDRFIND+6

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
>> ER DATA+12, DATA+13, GETDATA+2, GETDATA+4, GETDATA+19
I NEXT+1~, NEXT+5*, NEXT+6, NEXT+7, CONTINU+1~, CONTINU+2*, CONTINU+3*, INRE+1~
U DATA+20, GETDATA+14, GETDATA+15, GETDATA+16, GETDATA+17, HDRPROC+32, TOOLONG+2, ENCR+3, ENCR+4, INRE+5
, INRE+8, INRE+9, INRE+12, SENS+1, HDRFIND+3, HDRFIND+4, HDRFIND+9, HDRFIND+10, HDRFIND+11, HDRFIND+12
, HDRFIND+13
X SCRUB~, SCRUB+1*, SCRUB+2*, SCRUB+3, REMID~, REMID+1, REMID+4
>> XM2LONG TOOLONG+4
>> XMC("DX" DATA+13, DATA+14
XMDATA NEXT~, NEXT+2*, NEXT+3, NEXT+4, NEXT+6, NEXT+7
XMDATE DATA+11~, HDRPROC+15*, DATE+1*, DATE+2, PARSE~
XMENCR DATA+11~, HDRPROC+15*, ENCR+1*, ENCR+3, ENCR+4, PARSE~
XMFIND PARSE+8~, PARSE+10*, PARSE+11, HDRFIND~, HDRFIND+2, HDRFIND+3*, HDRFIND+4*, HDRFIND+9
XMFROM DATA+11~, HDRPROC+15*, FROM+1*, FROM+4, SEND+3, PARSE~
XMH GETDATA+1~, GETDATA+3*, GETDATA+11, GETDATA+13*, GETDATA+14*, GETDATA+15*, GETDATA+16*, GETDATA+17*, GETDATA+18*, NEXT~
, NEXT+3, NEXT+4, NEXT+5, NEXT+6, NEXT+7, HDRPROC+1~, HDRPROC+15*, HDRPROC+16*, HDRPROC+17, HDRPROC+18
, CONTINU~, CONTINU+3, PARSE+8~, PARSE+12*, PARSE+13*, PARSE+14, PARSE+15, HDRFIND+1~, HDRFIND+7, HDRFIND+8*
, HDRFIND+9*, HDRFIND+10*, HDRFIND+11*, HDRFIND+12*, HDRFIND+13*, HDRFIND+14*
XMHDR DATA+11~, GETDATA+11, NEXT~, CONTINU~, PARSE+8~, PARSE+11, HDRFIND~, HDRFIND+7
XMHDR( GETDATA+14*, GETDATA+15*, GETDATA+16*, GETDATA+17*, NEXT+3*, NEXT+4*, NEXT+6*, NEXT+7*, HDRPROC+16, HDRPROC+17
, CONTINU+3, PARSE+13, PARSE+14, HDRFIND+10*, HDRFIND+11*, HDRFIND+12*, HDRFIND+13*
XMHDR("TYPE" TOOLONG+6
XMI HDRFIND+1~, HDRFIND+5*, HDRFIND+6*
XMINCR DATA+11~, GETDATA+3*, GETDATA+6, GETDATA+8, GETDATA+9*, GETDATA+10*
>> XMINST DATA+20
XMINSTR DATA+21!, SET+11
XMLIMIT TOOLONG+1~, TOOLONG+2*, TOOLONG+3, TOOLONG+5
XMLIN DATA+11~, GETDATA+3*, GETDATA+6*, GETDATA+7, GETDATA+9*, GETDATA+10, HDRPROC+2, HDRPROC+32, TOOLONG+5
XMLOCID INRE+1~, INRE+2*, INRE+3
XMNVFROM DATA+21!
XMP HDRPROC+1~, HDRPROC+17*, BASK+1, DATE+1, ENCR+1, EXPI+2, FROM+1, IMPO+1, INRE+2, MESS+1
, PRIO+1, REPL+1, SEND+1, SENS+1, SUBJ+1, TYPE+1, PARSE+8~, PARSE+14*
XMREC GETDATA+4, INRE+1~, INRE+7*, INRE+8, INRE+9, INRE+10*, INRE+11, INRE+12, HDRFIND+1~, HDRFIND+6*
, HDRFIND+7, HDRFIND+8, HDRFIND+10, HDRFIND+11, HDRFIND+12, HDRFIND+13
XMREJECT DATA+11~, DATA+14, DATA+18, HDRPROC+3*, HDRPROC+11*, HDRPROC+22*, HDRPROC+26*, SET+1
XMREMID DATA+21!, HDRPROC+14*, MESS+1*, MESS+2, SET+1, PARSE~
XMREPLTO DATA+11~, REPL+1*
>> XMRG GETDATA+4, GETDATA+5*, GETDATA+7, GETDATA+9, GETDATA+11, GETDATA+13, GETDATA+14, GETDATA+15, GETDATA+16, GETDATA+17
XMRINFO HDRPROC+1~, HDRPROC+23, INRE+12*, PARSE+8~
XMRXMZ DATA+13, DATA+21!
>> XMSEN DATA+19, GETDATA+2, HDRPROC+4, HDRPROC+12, HDRPROC+20, HDRPROC+24
XMSENDER DATA+11~, HDRPROC+15*, SEND+1*, SEND+3, SEND+4, PARSE~
>> XMSG DATA+19*, GETDATA+2*, HDRPROC+4*, HDRPROC+12*, HDRPROC+20*, HDRPROC+24*
>> XMSTATE DATA+15*
XMSUBJ DATA+11~, HDRPROC+15*, SUBJ+1*, SUBJ+2*, SUBJ+3*, SUBJ+4*, SUBJ+5, SUBJ+6*, SUBJ+7, PARSE~
XMVAPOR EXPI+1~, EXPI+2*, EXPI+3
XMVBL CONTINU~, CONTINU+3*
XMZ DATA+17, DATA+20, DATA+21!, GETDATA+7, HDRPROC+2, HDRPROC+19, HDRPROC+32, SET+8, SET+10, SET+11
, PARSE~, PARSE+11, HDRFIND~, HDRFIND+6
XMZFDA DATA+21!, SET+2, PARSE+8~
XMZFDA( HDRPROC+19, BASK+1*, CLOS+1*, DATE+2*, ENCR+3*, ENCR+4*, EXPI+3*, FROM+4*, IMPO+2*, INFO+1*
, INRE+13*, MESS+2*, PRIO+2*, RETU+1*, SEND+4*, SENS+2*, SUBJ+7*, TYPE+1*, SET+3*, SET+4*
XMZIENS DATA+21!, HDRPROC+19, BASK+1, CLOS+1, DATE+2, ENCR+2, ENCR+3, ENCR+4, EXPI+3, FROM+2
, FROM+4, IMPO+1, IMPO+2, INFO+1, INRE+13, MESS+2, PRIO+1, PRIO+2, RETU+1, SEND+4
, SENS+2, SUBJ+5, SUBJ+7, TYPE+1, SET+3, SET+4, PARSE+8~
XMZO DATA+11~, HDRPROC+15*, INRE+3*, INRE+4, INRE+5*, INRE+6*, INRE+7, INRE+9*, INRE+10, INRE+11*
, INRE+13, SET+7, SET+8, SET+9, SET+10, PARSE~
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Global Variables Directly Accessed |  Label References |  Naked Globals |  Local Variables |  All