DIRECTORY BcdDefs: TYPE USING [VersionStamp], VM: TYPE USING [wordsPerPage]; OSMiscOps: DEFINITIONS = { Address: TYPE = LONG POINTER; pageSize: CARDINAL = VM.wordsPerPage; Pages: PROC[n: CARDINAL] RETURNS[Address]; FreePages: PROC[base: Address]; Words: PROC[nWords: CARDINAL] RETURNS[base: Address] = INLINE { RETURN[Pages[(nWords + (pageSize-1)) / pageSize]]}; FreeWords: PROC[base: Address] = INLINE {FreePages[base]}; Stamp: TYPE [3]; MergeStamps: PROC[sum, item: Stamp] RETURNS[Stamp]; TimeToStamp: PROC[time: BcdDefs.VersionStamp] RETURNS[Stamp] = INLINE { RETURN[LOOPHOLE[time]]}; StampToTime: PROC[s: Stamp] RETURNS[BcdDefs.VersionStamp] = INLINE { RETURN[LOOPHOLE[s]]}; GenerateUniqueId: PROC RETURNS[BcdDefs.VersionStamp]; }. ,OSMiscOps.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Satterthwaite, November 4, 1985 9:40:23 am PST Maxwell, August 2, 1983 10:18 am Paul Rovner, November 21, 1983 9:36 am Russ Atkinson (RRA) March 6, 1985 10:04:54 pm PST utilities functional version stamps unique ids Κ¬˜codešœ™Kšœ Οmœ1™