DIRECTORY IO USING [STREAM], Rope USING [ROPE]; BlackCherrySidedoor: CEDAR DEFINITIONS ~ { ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; MsgFromStreamProc: TYPE = PROC RETURNS[msgStream: STREAM, msgID: ROPE, unRead: BOOL, textLen, formatLen: INT]; MsgFromRopesProc: TYPE = PROC RETURNS[msgID, text, formatting: ROPE, unRead: BOOL]; relTocPointerEntryTemplate: READONLY ROPE; relTocEntriesEntryTemplate: READONLY ROPE; headerEntryTemplate: READONLY ROPE; createMsgTemplate: READONLY ROPE; CreateBCMailLogFromStream: PROC[fileName: ROPE, msgProc: MsgFromStreamProc] RETURNS [ok: BOOL]; CreateBCMailLogFromRopes: PROC[fileName: ROPE, msgProc: MsgFromRopesProc] RETURNS [ok: BOOL]; }.  BlackCherrySidedoor.mesa Copyright Σ 1990, 1993 by Xerox Corporation. All rights reserved. Willie-Sue, July 5, 1990 3:36:17 pm PDT Willie-s, July 20, 1993 3:44 pm PDT Constants and types Exported operations makes a BlackCherry mailLog using fileName; calls msgProc for the next message, which must be the next textLen+formatLen bytes - end of messages is signaled by msgStream = NIL; makes a BlackCherry mailLog using fileName; calls msgProc for the next message - end of messages is signaled by text = NIL; ΚΒ•NewlineDelimiter –"cedarcode" style™codešœ™Kšœ Οeœ7™BK™'K™#K™—šΟk ˜ Kšžœžœžœ˜Kšœžœžœ˜K˜—šΠbn Οbœžœž œ˜*K˜™K™Kšžœžœžœ˜Kšžœžœžœžœ˜Kšœžœžœžœ žœ žœ žœžœ˜nKš œžœžœžœžœ žœ˜SK˜Kšœžœžœ˜*Kšœžœžœ˜*Kšœžœžœ˜#Kšœžœžœ˜!K˜—™K™šΟnœžœ žœ˜KKšžœžœ˜šœ¬žœ™°K™——š‘œžœ žœ˜IKšžœžœ˜Kšœwžœ™{——K˜Kšœ˜——…—²|