home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 1000s / rfc1080.txt < prev    next >
Text File  |  1988-12-11  |  6KB  |  227 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         C. Hedrick
  8. Request for Comments: 1080                            Rutgers University
  9.                                                            November 1988
  10.  
  11.  
  12.                    Telnet Remote Flow Control Option
  13.  
  14. Status of This Memo
  15.  
  16.    This RFC specifies a standard for the Internet community.  Hosts on
  17.    the Internet that do remote flow control within the Telnet protocol
  18.    are expected to adopt and implement this standard.  Distribution of
  19.    this memo is unlimited.
  20.  
  21. Motivation
  22.  
  23.    This memo describes a method of remotely toggling flow control
  24.    between a user telnet process and the attached terminal.  Only flow
  25.    control of data being transmitted from the telnet process to the
  26.    terminal is considered.  Many systems will also allow flow control of
  27.    data from the terminal to the telnet process.  However there is
  28.    seldom need to change this behavior repeatedly during the session.
  29.  
  30.    There are two common ways of doing flow control: hardware and
  31.    software.  Hardware flow control uses signals on wires dedicated for
  32.    this purpose.  Software flow control uses one or two specific
  33.    characters sent along the same path as normal input data.  Most
  34.    commonly, XOFF (control-S) and XON (control-Q) are used to stop and
  35.    start output, respectively.  The option described herein is useful
  36.    primarily where software flow control is being used.  (Since hardware
  37.    flow control does not preempt any characters, there is normally no
  38.    need to disable it.)
  39.  
  40.    The primary difficulty with software flow control is that it preempts
  41.    one or two characters.  Host software often requires the user to be
  42.    able to input every possible ASCII character.  (Certain editors are
  43.    notorious for having XOFF and XON as commonly-used commands.)  For
  44.    this reason, operating systems often allow programs to disable flow
  45.    control.  While it is disabled, the characters that normally signal
  46.    flow control may be read as normal input.  In a telnet environment,
  47.    flow control is normally done by the user telnet process, not by the
  48.    host computer.  Thus this RFC defines a way to propagate flow control
  49.    status from the host computer to the user telnet process.
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Hedrick                                                         [Page 1]
  59.  
  60. RFC 1080           Telnet Remote Flow Control Option       December 1988
  61.  
  62.  
  63. 1. Command Name and Code
  64.  
  65.       TOGGLE-FLOW-CONTROL
  66.  
  67.       Code = 33
  68.  
  69. 2. Command Meanings
  70.  
  71.       IAC WILL TOGGLE-FLOW-CONTROL
  72.  
  73.          Sender is willing to enable and disable flow control upon
  74.          command.
  75.  
  76.       IAC WON'T TOGGLE-FLOW-CONTROL
  77.  
  78.          Sender refuses to enable and disable flow control.  Nothing is
  79.          implied about whether sender does or does not use flow control.
  80.          It is simply unwilling to enable and disable it using this
  81.          protocol.
  82.  
  83.       IAC DO TOGGLE-FLOW-CONTROL
  84.  
  85.          Sender is willing to send commands to enable and disable flow
  86.          control.
  87.  
  88.       IAC DON'T TOGGLE-FLOW-CONTROL
  89.  
  90.          Sender refuses to send command to enable and disable flow
  91.          control.
  92.  
  93.       IAC SB TOGGLE-FLOW-CONTROL OFF IAC SE
  94.  
  95.          Sender requests receiver to disable flow control.  The code for
  96.          OFF is 0.
  97.  
  98.       IAC SB TOGGLE-FLOW-CONTROL ON IAC SE
  99.  
  100.          Sender requests receiver to enable flow control.  The code for
  101.          ON is 1.
  102.  
  103. 3. Default
  104.  
  105.       WON'T TOGGLE-FLOW-CONTROL
  106.  
  107.          Flow control information will not be exchanged.
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Hedrick                                                         [Page 2]
  115.  
  116. RFC 1080           Telnet Remote Flow Control Option       December 1988
  117.  
  118.  
  119.       DON'T TOGGLE-FLOW-CONTROL
  120.  
  121.          Flow control information will not be exchanged.
  122.  
  123. 4. Description of the Option
  124.  
  125.    Use of the option requires two phases.  In the first phase, the
  126.    telnet processes agree that one of them will TOGGLE-FLOW-CONTROL.
  127.    WILL and DO are used only in this first phase.  In general there will
  128.    be only one exchange of WILL and DO for a session.  Subnegotiations
  129.    must not be issued until DO and WILL have been exchanged.  It is
  130.    permissible for either side to turn off the option by sending a WONT
  131.    or DONT.  Should this happen, no more subnegotiations may be sent,
  132.    unless the option is reenabled by another exchange of DO and WILL.
  133.  
  134.    Once the hosts have exchanged a WILL and a DO, the sender of the DO
  135.    TOGGLE-FLOW-CONTROL is free to send subnegotiations to enable and
  136.    disable flow control in the other process.  Normally, the sender of
  137.    the DO will be a host, and the other end will be a user telnet
  138.    process, which is connected to a terminal.  Thus the protocol is
  139.    normally asymmetric.  However it may be used in both directions
  140.    without confusion should need for this arise.
  141.  
  142.    As soon as the DO and WILL have been exchanged, the sender of the
  143.    WILL must enable flow control.  This allows flow control to begin in
  144.    a known state.  Should the option be disabled by exchange of DONT and
  145.    WONT, flow control may revert to an implementation-defined default
  146.    state.  It is not safe to assume that flow control will remain in the
  147.    state requested by the most recent subnegotiation.
  148.  
  149.    Currently, only two command codes are defined for the
  150.    subnegotiations: flow control off (code 0) and flow control on (code
  151.    1).  Neither of these codes requires any additional data.  However it
  152.    is possible that additional commands may be added.  Thus
  153.    subnegotiations having command codes other than 0 and 1 should be
  154.    ignored.
  155.  
  156.       Here is an example of use of this option:
  157.  
  158.          Host1: IAC DO TOGGLE-FLOW-CONTROL
  159.  
  160.          Host2: IAC WILL TOGGLE-FLOW-CONTROL
  161.  
  162.          (Host1 is now free to send commands to change flow control.
  163.          Note that host2 must now have enabled flow control.)
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Hedrick                                                         [Page 3]
  171.  
  172. RFC 1080           Telnet Remote Flow Control Option       December 1988
  173.  
  174.  
  175.          Host1: IAC SB TOGGLE-FLOW-CONTROL OFF IAC SE
  176.  
  177.          Host1: IAC SB TOGGLE-FLOW-CONTROL ON IAC SE
  178.  
  179. Author's Address:
  180.  
  181.    Charles Hedrick
  182.    Rutgers University
  183.    Center for Computer and Information Services
  184.    Hill Center, Busch Campus
  185.    P.O. Box 879
  186.    Piscataway, NJ 08855-0879
  187.  
  188.    Phone: (201) 932-3088
  189.  
  190.    Email: HEDRICK@ARAMIS.RUTGERS.EDU
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Hedrick                                                         [Page 4]
  227.