YggFileLockFormat.mesa
Copyright Ó 1985, 1988 by Xerox Corporation. All rights reserved.
Last edited by:
MBrown on January 31, 1984 10:53:47 am PST
Taft on April 6, 1983 5:07 pm
Hauser, March 7, 1985 2:55:16 pm PST
Bob Hagmann May 5, 1988 12:18:28 pm PDT
DIRECTORY
YggEnvironment,
YggInternal;
YggFileLockFormat: DEFINITIONS =
BEGIN
FileLock interpretation of a LockID. Caution: changing this in incompatible ways will invalidate all existing logs. All variants must be declared to be the same size (3 words), and unused portions of each variant must have a constant default value.
FileLockType: TYPE = MACHINE DEPENDENT {
file, page, property, size, volumeGroup,
(LAST[INT])}; -- s/b LAST[CARDINAL] but for compiler bug
FileLockSubID: TYPE = MACHINE DEPENDENT RECORD [
rep (0): SELECT type (0): FileLockType FROM
file => [unused (WORDS[FileLockType]): LONG CARDINAL ← 0], -- the entire file, for whole-file operations
page => [page (WORDS[FileLockType]): YggEnvironment.PageNumber], -- individual file page
property => [
property (WORDS[FileLockType]): {version, other}], -- properties (all besides version locked as a unit,
size => [unused (WORDS[FileLockType]): LONG CARDINAL ← 0], -- the file's size
volumeGroup => [unused (WORDS[FileLockType]): LONG CARDINAL ← 0],
ENDCASE];
END.
Hauser, March 7, 1985 2:54:57 pm PST
Added copyright.