<> <> DIRECTORY Rope USING [ROPE]; Resource: CEDAR DEFINITIONS = BEGIN <> Acquire: PROC [resource: REF ANY, waitForIt: BOOL _ FALSE, owner: Rope.ROPE _ NIL, abortProc: AbortProc _ NIL, <> abortProcData: REF ANY _ NIL ] RETURNS[success: BOOL, ownedBy: Rope.ROPE]; AbortProc: TYPE = PROC[data: REF ANY] RETURNS[abort: BOOL]; Release: PROC[resource: REF ANY] RETURNS[success: BOOL]; IsAvailable: PROC[resource: REF ANY] RETURNS[yes: BOOL, owner: Rope.ROPE]; <> <> END.