linux/arch/mips
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
..
alchemy MIPS: Ritually kill stupid printk. 2010-08-05 13:26:27 +01:00
ar7 MIPS: AR7: rewrite of cpmac_get_mac() 2010-08-05 13:26:02 +01:00
bcm47xx MIPS: BCM47xx: Fix nvram_getenv return value. 2010-08-05 13:26:31 +01:00
bcm63xx MIPS: BCM63xx: Migrate to new platform makefile style. 2010-08-05 13:25:54 +01:00
boot MIPS: strip the un-needed sections of vmlinuz 2010-08-05 13:26:34 +01:00
cavium-octeon MIPS: Octeon: Allow more than 3.75GB of memory with PCIe 2010-08-05 13:26:31 +01:00
cobalt MIPS: Move Cobalt Makefile parts to their own Platform file 2010-08-05 13:25:47 +01:00
configs MIPS: Alchemy: Add basic support for the GPR board 2010-08-05 13:26:09 +01:00
dec MIPS: DECstation: Migrate to new platform makefile style. 2010-08-05 13:25:49 +01:00
emma MIPS: Ritually kill stupid printk. 2010-08-05 13:26:27 +01:00
fw MIPS: IP22: Remove an unused function 2009-12-17 01:56:56 +00:00
include/asm tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
jazz MIPS: Jazz: Migrate to new platform makefile style. 2010-08-05 13:25:48 +01:00
jz4740 MIPS: JZ4740: Add qi_lb60 board support 2010-08-05 13:26:20 +01:00
kernel Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb 2010-08-05 15:59:48 -07:00
lasat MIPS: Lasat: Migrate to new platform makefile style. 2010-08-05 13:25:53 +01:00
lib MIPS: libgcc.h: Checkpatch cleanup 2010-04-12 17:26:15 +01:00
loongson MIPS: Loongson: Remove unused macro LOONGSON_PERFCNT_IRQ 2010-08-05 13:26:26 +01:00
math-emu MIPS: Add -Werror to arch/mips/Kbuild 2010-08-05 13:25:44 +01:00
mipssim MIPS: MIPSsim: Migrate to new Platform file 2010-08-05 13:25:45 +01:00
mm kmap_atomic: make kunmap_atomic() harder to misuse 2010-08-09 20:44:54 -07:00
mti-malta MIPS: Malta: Migrate to new platform makefile style. 2010-08-05 13:25:50 +01:00
nxp/pnx8550/common MIPS: PNX8550: Move code one directory level up. 2010-08-05 13:25:56 +01:00
oprofile MIPS: Oprofile: Fixup of loongson2_exit() 2010-07-05 17:17:31 +01:00
pci MIPS: Octeon: Allow more than 3.75GB of memory with PCIe 2010-08-05 13:26:31 +01:00
pmc-sierra MIPS: PNX Removing dead CONFIG_PMCTWILED 2010-08-05 13:26:00 +01:00
pnx833x MIPS: PNX833x: Migrate to new platform makefile style. 2010-08-05 13:25:56 +01:00
pnx8550 MIPS: PNX8550: Migrate to new platform makefile style. 2010-08-05 13:25:57 +01:00
power MIPS: Loongson: Change the Email address of Wu Zhangjin 2010-02-27 12:53:12 +01:00
powertv MIPS: PowerTV: Separate PowerTV USB support from non-USB code 2010-08-05 13:26:34 +01:00
rb532 MIPS: RB532: Migrate to new platform makefile style. 2010-08-05 13:25:50 +01:00
sgi-ip22 MIPS: IP22, IP28: Migrate to new platform makefile style. 2010-08-05 13:25:49 +01:00
sgi-ip27 MIPS: IP27: Migrate to new Platform file 2010-08-05 13:25:47 +01:00
sgi-ip32 MIPS: IP32: Migrate to new platform makefile style. 2010-08-05 13:25:50 +01:00
sibyte MIPS: Sibyte: Migrate to new platform makefile style. 2010-08-05 13:25:55 +01:00
sni MIPS: SNI: Migrate to new platform makefile style. 2010-08-05 13:25:49 +01:00
txx9 MIPS: TXx9: Migrate to new platform makefile style. 2010-08-05 13:25:55 +01:00
vr41xx MIPS: Move VR41xx Makefile parts to their own Platform file 2010-08-05 13:25:48 +01:00
wrppmc MIPS: WRPPMC: Migrate to new platform makefile style. 2010-08-05 13:25:51 +01:00
Kbuild MIPS: Introduce support for Platform definitions 2010-08-05 13:25:45 +01:00
Kbuild.platforms MIPS: JZ4740: Add Kbuild files 2010-08-05 13:26:17 +01:00
Kconfig Merge branch 'timers-timekeeping-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 13:18:29 -07:00
Kconfig.debug MIPS: Crazy spinlock speed test. 2010-02-27 12:53:42 +01:00
Makefile Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2010-08-05 14:10:07 -07:00