<<>> <> <> <> <> <<>> DIRECTORY Rope USING [ROPE], UnixTypes USING [FileDescriptor]; PseudoTerminal: CEDAR DEFINITIONS ~ { <> PseudoTerminal: TYPE ~ REF PseudoTerminalRep; PseudoTerminalRep: TYPE ~ RECORD [ controllerName: Rope.ROPE ¬ NIL, -- name of controller device controllerFD: UnixTypes.FileDescriptor ¬ UnixTypes.FileDescriptor.error, slaveName: Rope.ROPE ¬ NIL -- name of slave device ]; Error: ERROR [code: ATOM, msg: Rope.ROPE]; <> <<>> Allocate: PROC [] RETURNS [PseudoTerminal]; Close: PROC [pty: PseudoTerminal]; <> }.