-- File [Indigo]<CedarLib>WF>Rubicon>CWF.mesa.

-- Compatible Write Formatted interface.

-- Last edit schmidt, August 10, 1980  2:19 PM
-- Last edit schmidt, January 10, 1981  9:36 PM
-- Last edit BZM, September 7, 1981  2:36 PM.  STRING => LONG STRING.
-- Last edit BZM, 11-Nov-81 11:52:12.  DESCRIPTOR => LONG DESCRIPTOR.

-- Mesa 6.0, Pilot version
-- definitions file for the Compatible Write Formatted package.
-- cwfimpl.mesa is other file needed
-- Copyright  Xerox Corporation 1980


CWF: DEFINITIONS = {

WF0:	PROC [s: LONG STRING];
WF1:	PROC [s: LONG STRING, a: LONG POINTER];
WF2:	PROC [s: LONG STRING, a,b: LONG POINTER];
WF3:	PROC [s: LONG STRING, a,b,c: LONG POINTER];
WF4:	PROC [s: LONG STRING, a,b,c,d: LONG POINTER];
WF:	PROC [s: LONG STRING, a,b,c,d: LONG POINTER ← NIL];
WFN:	PROC [s: LONG STRING, array: LONG DESCRIPTOR FOR ARRAY OF LONG POINTER];
WFC:	PROC [CHARACTER];
WFCR:	PROC;

SetCode:	PROC[CHARACTER, PROC[LONG POINTER, LONG STRING, PROC[CHARACTER]]];
ResetCode:	PROC [CHARACTER];
SetWriteProcedure: PROC [PROC[CHARACTER]] RETURNS [PROC[CHARACTER]];
GetWriteProcedure: PROC RETURNS [PROC[CHARACTER]];
WriteToString:  PROC[LONG STRING] RETURNS[PROC[CHARACTER]];
WFError:	ERROR[err: LONG STRING];

-- WriteFormatted to strings
SWF0:	PROC [sto: LONG STRING, s: LONG STRING];
SWF1:	PROC [sto: LONG STRING, s: LONG STRING, a: LONG POINTER];
SWF2:	PROC [sto: LONG STRING, s: LONG STRING, a,b: LONG POINTER];
SWF3:	PROC [sto: LONG STRING, s: LONG STRING, a,b,c: LONG POINTER];
SWF4:	PROC [sto: LONG STRING, s: LONG STRING, a,b,c,d: LONG POINTER];
SWF:	PROC [sto: LONG STRING, s: LONG STRING, a,b,c,d: LONG POINTER ← NIL];
SWFN:	PROC [sto: LONG STRING, s: LONG STRING,
                array: LONG DESCRIPTOR FOR ARRAY OF LONG POINTER];
SWFC:	PROC [sto: LONG STRING, ch: CHARACTER];
SWFCR:	PROC [sto: LONG STRING];

-- WriteFormatted to anything, you supply the procedure to call
FWF0: PROC [PROC[CHARACTER], LONG STRING];
FWF1: PROC [PROC[CHARACTER], LONG STRING, LONG POINTER];
FWF2: PROC [PROC[CHARACTER], LONG STRING, LONG POINTER, LONG POINTER];
FWF3: PROC [PROC[CHARACTER], LONG STRING, LONG POINTER, LONG POINTER,
	LONG POINTER];
FWF4: PROC [PROC[CHARACTER], LONG STRING, LONG POINTER, LONG POINTER,
	LONG POINTER, LONG POINTER];
FWFN: PROC [PROC[CHARACTER], LONG STRING, LONG DESCRIPTOR FOR ARRAY OF
	LONG POINTER];
FWFC:	PROC [proc: PROC[CHARACTER], ch: CHARACTER];
FWFCR:	PROC [proc: PROC[CHARACTER]];

  

-- program module
CWFImpl: PROGRAM;

}.