DIRECTORY GVBasics USING [ItemHeader], IO USING [STREAM], Rope USING [ROPE]; SMTPSyntax: CEDAR DEFINITIONS = BEGIN STREAM: TYPE = IO.STREAM; ROPE: TYPE = Rope.ROPE; BlessReturnPath: PROC [raw: ROPE] RETURNS [arpa: ROPE]; UnBlessReturnPath: PROC [raw: ROPE] RETURNS [arpa: ROPE]; ReversePath: PROC [gv: ROPE] RETURNS [arpa: ROPE]; HostAndUser: PROC [raw: ROPE] RETURNS [host, user: ROPE]; EnumerateGVItems: PROC [GVStream: STREAM, proc: GVItemProc, procData: REF ANY _ NIL]; GVItemProc: TYPE = PROC [itemHeader: GVBasics.ItemHeader, itemStream: STREAM, procData: REF ANY] RETURNS [continue: BOOL _ TRUE]; PrintGVItem: GVItemProc; ReceiveRName: PROC[GVStream: STREAM] RETURNS [ROPE]; -- for convenience ReceiveCount: PROC[GVStream: STREAM] RETURNS [CARDINAL]; -- for convenience SyntaxError: ERROR [reason: ROPE]; END. τSMTPSyntax.mesa Last Edited by: HGM, December 7, 1984 4:07:22 pm PST Last Edited by: DCraft, November 22, 1983 4:52 pm Last Edited by: Taft, January 3, 1984 2:25 pm Reciepient Name Translation Grapevine Message Body Items The GVStream should be a GV message body stream. Typically, it will be a subrange stream to a raw GV mail item file, restricted to the message body by the subrange. The given proc will be called for each item, including the LastItem. {"Item" is used in the Grapevine sense here, i.e. a message body is made up of a series of items}. For efficiency, the itemStream is NOT restricted to the item by a subrange stream, and thus it is possible to read past the end of the item (length given in the itemHeader). A new subrange stream can be overlaid on itemStream if necessary. The user should not close the stream until EnumerateGVItems has finished. The procData should be an output STREAM on which the item is to be printed (else raises NarrowFault). ! SyntaxError ! SyntaxError Κν– "cedar" style˜head™Ibodyšœ4™4Lšœ1™1Lšœ-™-code2šΟk ˜ Mšœ œ˜Mšœœœ˜Mšœœœ˜——šœ œ œ˜Mš˜Mšœœœœ˜Mšœœœ˜—™Mš Οnœœœœœ˜7Mš žœœœœœ˜9Mš ž œœœœœ˜2Mš ž œœœœœ˜9—™Mš žœœ œœœœ˜UM™ŒMšž œœœ/œ œœœ œœ˜šž œ ˜Mšœ!œ>™e—š ž œœ œœœΟc˜HMšœ ™ —š ž œœ œœœŸ˜LMšœ ™ —Mšœ œ œ˜"Mšœ˜——…—4