Network Working Group Mark Crispin Request for Comments 747 SU-AI NIC 44015 21 March 1978 Updates: RFC 734. See also RFC 746. Recent Extensions to the SUPDUP Protocol Recently, some extensions have been made to the SUPDUP protocol. RFC 746, by Richard Stallman, documented the SUPDUP graphics extension. In addition, a TTYOPT bit has been added and two more variables have been added to the initial negotiation. This RFC describes the changes from RFC 734, but excludes the detailed information in RFC 746. These extensions are upwards and downwards compatable, and are completely optional. For most SUPDUP user and server programs, RFC 734 remains an adequate description of the protocol. However, it is suggested that if the console's line speed is known, the user SUPDUP should be modified to send the new ISPEED and OSPEED variables (sending 0 for SMARTS if the graphics extension is not to be used) so the server can handle buffering for the terminal better. Since these changes are compatable and optional, and since the SUPDUP protocol is being actively worked on at the present time, I have elected to issue this update RFC rather than an updated version of RFC 734. An updated 734 will be issued when the protocol stabilizes again. Three new variables have been added to the initial negotiation. In order, they are SMARTS, ISPEED, and OSPEED. Consequently, the count should now be -10,,0, or, in octal, 777770000000. The SMARTS variable specifies what "smarts" (in general, what graphics capabilities) the terminal has. Like the TTYOPT variable, a bit being true implies that the terminal has this option. RFC 746 describes this variable and the SUPDUP graphics option in complete detail. If the graphics extension is not to be used, SMARTS should be set to 0. The ISPEED and OSPEED variables are respectively the input and output baud rates of the terminal, if known. For example, a 150./1200. baud terminal would have an ISPEED of 150. and an OSPEED of 1200. A speed of zero means the line speed is indeterminate. The %TPPRN TTYOPT bit (value 0,,200) has been added. This bit specifies that the system should swap parenthesis with square brackets on input. This is often desirable for LISP users who are using a terminal which has parenthesis as a shift character but not square brackets. This bit is normally off and servers are not required to implement it.