<> <> <> <> <> <> <> DIRECTORY YggEnvironment, YggInternal; YggFileLockFormat: DEFINITIONS = BEGIN <> 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. <> <> <<>>