<> <> <> <> DIRECTORY Mach, Camelot, YggDID; YggInternal: DEFINITIONS = BEGIN <> 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; <> 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.