linux-kernel-test/arch/m68k
hyc@symas.com 26df6d1340 tty: Add EXTPROC support for LINEMODE
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=17741

Signed-off-by: Howard Chu <hyc@symas.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-10 13:47:39 -07:00
..
amiga m68k: amiga - RTC platform device conversion 2010-05-26 19:51:10 +02:00
apollo m68k: apollo core - Kill warn_unused_result warnings 2009-01-12 20:56:35 +01:00
atari tree-wide: Assorted spelling fixes 2010-02-09 11:13:56 +01:00
bvme6000 m68k: Remove BKL from rtc implementations 2010-05-17 21:15:39 +02:00
configs mac68k: replace mac68k SCC code with platform device 2010-02-27 18:31:09 +01:00
fpsp040
hp300 m68k: hp300 - Checkpatch cleanup 2010-05-17 21:15:40 +02:00
ifpsp060 tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
include/asm tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
kernel Merge branch 'timers-for-linus-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-19 17:10:06 -07:00
lib
mac m68k: Remove trailing spaces in messages 2010-05-17 21:15:40 +02:00
math-emu locking, m68k/asm-offsets: Rename signal defines 2009-09-01 09:38:03 +02:00
mm m68k: invoke oom-killer from page fault 2010-05-17 21:37:39 +02:00
mvme16x m68k: Remove BKL from rtc implementations 2010-05-17 21:15:39 +02:00
mvme147 m68k: mvme147 core - Kill warn_unused_result warnings 2009-01-12 20:56:37 +01:00
q40 m68k: Remove trailing spaces in messages 2010-05-17 21:15:40 +02:00
sun3 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sun3x include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
tools/amiga
install.sh kbuild: use INSTALLKERNEL to select customized installkernel script 2009-09-20 12:18:14 +02:00
Kconfig time: Kill off CONFIG_GENERIC_TIME 2010-07-27 12:40:54 +02:00
Kconfig.debug
Makefile kbuild: allow assignment to {A,C,LD}FLAGS_MODULE on the command line 2010-08-03 14:09:45 +02:00