-- Transport Mechanism Mail Server - DEFS for Returning Mail -- -- also used for support of MTP -- -- [Juniper]MS>ReturnDefs.mesa -- Andrew Birrell 9-Jan-81 15:05:17 -- DIRECTORY BodyDefs: FROM "BodyDefs" USING [ItemLength, RName, Timestamp], HeapDefs: FROM "HeapDefs" USING [ObjectNumber, ReaderHandle, WriterHandle]; ReturnDefs: DEFINITIONS = BEGIN ParseBody: PROC [ reader: HeapDefs.ReaderHandle, stamp: POINTER TO BodyDefs.Timestamp ¬ NIL, sender: BodyDefs.RName ¬ NIL, returnTo: BodyDefs.RName ¬ NIL] RETURNS [BodyDefs.ItemLength]; -- reader should initially be at start of body; -- Reads items from body, and leaves reader positioned -- at start of text of body, if text exists. -- Returns length of text, or 0 -- CopyItem: PROC [ reader: HeapDefs.ReaderHandle, length: BodyDefs.ItemLength, sendBlock: PROCEDURE [UNSPECIFIED, POINTER, CARDINAL], sendBlockData: UNSPECIFIED]; -- Copies specified number of bytes from reader by -- calling sendBlock with sendBlockData, buffer address, -- and number of bytes. -- BadRecipients: PROC [list: HeapDefs.WriterHandle, body: HeapDefs.ObjectNumber]; -- Recipients given by original sender were bad: tell "ReturnTo" name -- specified in message body properties -- BadGroup: PROC [ list: HeapDefs.WriterHandle, body: HeapDefs.ObjectNumber, group: BodyDefs.RName]; -- Recipients in group were bad: tell owner -- RejectedByMTP: PROC [ list: HeapDefs.WriterHandle, body: HeapDefs.ObjectNumber, server: STRING, text: STRING]; -- Recipients were rejected by MTP server: tell "ReturnTo" name -- specified in message body properties -- LongTerm: PROC [list: HeapDefs.WriterHandle, body: HeapDefs.ObjectNumber]; -- Long-term timeout: tell "ReturnTo" name specified in message body -- properties -- END.