-- File: GVAnswer.mesa
-- based on Answer.mesa, edited by: Karlton, December 2, 1980 1:28 PM
-- last edited by:
-- Willie-Sue on: January 21, 1983 10:42 am
-- Rick on: XXX
-- Cedar ONLY version
DIRECTORY
Rope USING [ROPE];
GVAnswer: CEDAR DEFINITIONS =
BEGIN
ROPE: TYPE = Rope.ROPE;
MakeHeader: PROCEDURE [
getChar: PROCEDURE [INT] RETURNS [CHARACTER], getLength: INT,
userName, userRegistry: ROPE,
arpaGatewayHostNames: LIST OF ROPE,
cForCopies: BOOLEAN ← FALSE]
RETURNS [answerError: BOOLEAN, answer: ROPE];
-- Causes an answering header for a message that the client currently has.
-- 'getChar' procedure is used to get characters from the old message header.
-- The argument to 'getChar' is which character from the old header is needed.
-- The same character may be asked for more than once. 'getLength' is the length
-- of the old message being parsed; 'getChar' will always be called with the
-- argument in the range [0..getLength). 'userName' and 'userRegistry' may not
-- be NIL, and are used to eliminate some "redundant" information from the constructed
-- header. 'arpaGatewayHostNames' should be an list of ropes representing the
-- local host, e.g. ("PARC-MAXC", "PARC", "MAXC"). 'cForCopies causes the
-- constructed header to have "c: <recipient list>" instead of "cc: <recipient list>".
-- If the parse of the old message failed, then MakeHeader returns TRUE.
END. -- GVAnswer --