<> <> DIRECTORY Basics, PrincOps, RoseBehavior, RosePrivates, RoseSimTypes, RoseWireTypes; RoseWireTwiddling: CEDAR--not really, but what the hey, you'd just put TRUSTEDs around it, right?-- DEFINITIONS = { Ptr: TYPE = PrincOps.BitAddress; RoseWireType: TYPE = RoseWireTypes.RoseWireType; Drive: TYPE = RoseBehavior.Drive; RefToPtr: PROC [ra: REF ANY, referentType: RoseWireType] RETURNS [p: Ptr]; CopyVal: PROC [fromT, toT: RoseWireType, fromP, toP: Ptr, bbTable: PrincOps.BitBltTablePtr]; CopyAndLimitDrive: PROC [type: RoseWireType, fromP, toP: Ptr, min: Drive]; CopyQ, CopyUD, CopyLevel: PROC [fromT, toT: RoseWireType, fromP, toP: Ptr]; EqualVal: PROC [t1, t2: RoseWireType, p1, p2: Ptr] RETURNS [equal: BOOL]; EqualUD: PROC [t1, t2: RoseWireType, p1, p2: Ptr] RETURNS [equal: BOOL]; MaxinQ, MaxinUD: PROC [fromT, toT: RoseWireType, fromP, toP: Ptr] RETURNS [increase: BOOL]; ReadDrive: PROC [Ptr] RETURNS [Drive]; WriteDrive: PROC [Ptr, Drive]; CreateUntypedInstance: PROC [rwt: RoseWireType] RETURNS [p: Ptr]; }.