<> <> <> DIRECTORY IO USING [STREAM], Rope USING [ROPE] ; DicentraRS232CAsync: CEDAR DEFINITIONS ~ BEGIN CharLength: TYPE = MACHINE DEPENDENT {lengthIs5bits (0), lengthIs6bits (1), lengthIs7bits (2), lengthIs8bits (3), (255)}; LineSpeed: TYPE = MACHINE DEPENDENT {bps50 (0), bps75 (1), bps110 (2), bps150 (3), bps300 (4), bps600 (5), bps1200 (6), bps2400 (7), bps3600 (8), bps4800 (9), bps7200 (10), bps9600 (11), bps14400 (12), bps16800 (13), bps19200 (14), (255)}; Parity: TYPE = MACHINE DEPENDENT {none (0), odd (1), even (2), (255)}; StopBits: TYPE = MACHINE DEPENDENT {none (0), one (1), oneAndHalf (2), two (3), (255)}; PortNumber: TYPE = [0 .. 16); CommParams: TYPE = RECORD [ charLength: CharLength _ lengthIs7bits, speed: LineSpeed _ bps1200, parity: Parity _ even, stop: StopBits _ one ]; defaultParams: CommParams = [charLength: lengthIs7bits, speed: bps1200, parity: even, stop: one]; CreateStream: PROC [host: Rope.ROPE, port: PortNumber _ 0, commParams: CommParams _ defaultParams] RETURNS [s: IO.STREAM]; <> <> CommBusy: ERROR [currentUser: Rope.ROPE]; CommError: ERROR [ec: Rope.ROPE]; END.