Lock
LockName: TYPE = RECORD [segmentId: Camelot.segmentIdT, offset: Mach.vmOffsetT];
LockID: TYPE = RECORD [did: YggDID.DID, subEntity: LockName];
LockSubID: TYPE [2*SIZE[CARD32]]; -- large enough to hold [tag, page number within file]
nullLockIDRep: ARRAY [0..UNITS[LockID]/UNITS[CARD16]) OF CARD16 = [0,0,0,0,0];
nullLockID: LockID = LOOPHOLE[nullLockIDRep];
LockTransHeader: TYPE = REF LockTransHeaderObject;
LockTransHeaderObject: TYPE;
File
FileHandle: TYPE = REF FileHandleRep; -- same as YggFile.FileHandle and YggFileInternal.FileHandleRep
FileHandleRep: TYPE;
Document: TYPE = REF DocumentRep; -- same as YggDIDMap.Document and YggDIDMapPrivate.Document
DocumentRep: TYPE;
OpenDoc: TYPE = REF OpenDocRep; -- same as YggOpenDoc.OpenDoc
OpenDocRep: TYPE;
END.