rlogin -8 uses RAW rather than CBREAK mode
Casey Leedom
casey at gauss.llnl.gov
Fri Dec 21 11:44:04 AEST 1990
| From: barmar at think (Barry Margolin)
|
| Normally, rlogin puts the local terminal in CBREAK mode and disables all
| the local control characters except the stop and start character (normally
| ^S and ^Q). During the session it disables and enables these characters
| when it receives TIOC_NOSTOP and TIOC_DOSTOP out-of-band messages from the
| remote host.
|
| However, when the "-8" option is supplied, rlogin instead puts the local
| terminal in RAW mode, leaves ^S/^Q set as the stop/start characters, and
| ignores the TIOC_DOSTOP and TIOC_NOSTOP messages. This means that the
| remote host must implement the stop/start processing. Why should this be
| dependent on 8-bit mode? The only explanation I can think of is that 8-bit
| mode was envisioned to support binary file transfers. However, the remote
| system will still have to disable stop/start, which will still result in
| the out-of-band message, so there should be no problem.
"-8" is used to implement an 8-bit transparent link. Allowing START
and STOP character processing would defeat that purpose. I use "-8" to
rlogin over from a terminal server and run a remote X server on a Sun
host for instance. Normally "-8" should be used with out of band or no
flow control.
It sounds like you have an application that generally wants to use
8-bits, but doesn't care if some STOP and some START characters are
sucked out of the data stream, and you don't have out of band flow
control capability, and you need some form of flow control. Probably your
best bet is to implement a "-cbreak" flag ("-c" for dyed in the wool
single character Unix switch fans) to indicate that while you want LITOUT
and PASS8, you want it to use CBREAK rather than the more intuitive RAW.
Casey
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list