• hyc@symas.com's avatar
    tty: Add EXTPROC support for LINEMODE · 26df6d13
    hyc@symas.com authored
    This patch is against the 2.6.34 source.
    
    Paraphrased from the 1989 BSD patch by David Borman @ cray.com:
    
         These are the changes needed for the kernel to support
         LINEMODE in the server.
    
         There is a new bit in the termios local flag word, EXTPROC.
         When this bit is set, several aspects of the terminal driver
         are disabled.  Input line editing, character echo, and mapping
         of signals are all disabled.  This allows the telnetd to turn
         off these functions when in linemode, but still keep track of
         what state the user wants the terminal to be in.
    
         New ioctl:
             TIOCSIG         Generate a signal to processes in the
                             current process group of the pty.
    
         There is a new mode for packet driver, the TIOCPKT_IOCTL bit.
         When packet mode is turned on in the pty, and the EXTPROC bit
         is set, then whenever the state of the pty is changed, the
         next read on the master side of the pty will have the TIOCPKT_IOCTL
         bit set.  This allows the process on the server side of the pty
         to know when the state of the terminal has changed; it can then
         issue the appropriate ioctl to retrieve the new state.
    
    Since the original BSD patches accompanied the source code for telnet
    I've left that reference here, but obviously the feature is useful for
    any remote terminal protocol, including ssh.
    
    The corresponding feature has existed in the BSD tty driver since 1989.
    For historical reference, a good copy of the relevant files can be found
    here:
    
    http://anonsvn.mit.edu/viewvc/krb5/trunk/src/appl/telnet/?pathrev=17741Signed-off-by: default avatarHoward Chu <hyc@symas.com>
    Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    
    26df6d13
termbits.h 4.6 KB