-- BcdStamps.mesa
-- last edit by Schmidt, May 5, 1983 3:50 pm
-- last edit by Satterthwaite, July 25, 1983 10:57 am


DIRECTORY
  CompilerOps: TYPE USING [LetterSwitches],
  Environment: TYPE USING [Comparison],
  TimeStamp: TYPE USING [Stamp];
	
BcdStamps: CEDAR DEFINITIONS ~ {
	
  Stamp: TYPE~TimeStamp.Stamp;
  
  CompareStamps: PROC[s1, s2: Stamp] RETURNS[Environment.Comparison];

 -- for computing a version stamp
 --   the directoryStamps are in the order of the DIRECTORY clause
 --   stamps for the hidden directory entries are not included
 --   precise switches must be specified (except /d, /g, /p are ignored)
	
  Compute: PROC[
	srcCreate: LONG CARDINAL, 
	switches: CompilerOps.LetterSwitches, compilerVersion: TimeStamp.Stamp, 
	directoryEnumerator: PROC[PROC[TimeStamp.Stamp]]] 
    RETURNS[bcdVers: TimeStamp.Stamp];
		
  }.