kernel-ark/arch/arm
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
..
boot Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-03 14:31:24 -07:00
common Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-03 14:31:24 -07:00
configs Remove ARM default configurations which duplicate omap3_defconfig 2010-08-04 15:47:29 +03:00
include/asm tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
kernel Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 09:30:52 -07:00
lib Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-03 14:31:24 -07:00
mach-aaec2000 ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-at91
mach-bcmring
mach-clps711x Merge branches 'at91', 'ep93xx', 'kexec', 'iop', 'lmb', 'nomadik', 'nuc', 'pl', 'spear' and 'versatile' into devel 2010-07-31 14:19:35 +01:00
mach-cns3xxx
mach-davinci Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci 2010-08-08 10:00:55 -07:00
mach-dove
mach-ebsa110
mach-ep93xx Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-08-07 17:07:31 -07:00
mach-footbridge
mach-gemini
mach-h720x ARM: 6258/1: arm/h720x: fix debug macro compilation failure 2010-07-26 10:33:05 +01:00
mach-imx Merge branch 'master' into for-next 2010-08-04 15:14:38 +02:00
mach-integrator Merge branch 'misc' into devel 2010-07-31 14:20:02 +01:00
mach-iop13xx Merge branch 'misc' into devel 2010-07-31 14:20:02 +01:00
mach-iop32x Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-iop33x
mach-ixp4xx Merge branch 'misc' into devel 2010-07-31 14:20:02 +01:00
mach-ixp23xx ARM: 6269/1: Add 'code' parameter for hook_fault_code() 2010-07-27 10:48:34 +01:00
mach-ixp2000 ARM: 6269/1: Add 'code' parameter for hook_fault_code() 2010-07-27 10:48:34 +01:00
mach-kirkwood Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-08-07 17:07:31 -07:00
mach-ks8695
mach-lh7a40x ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-loki Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
mach-lpc32xx
mach-mmp
mach-msm Merge branch 'master' into for-next 2010-08-04 15:14:38 +02:00
mach-mv78xx0 Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-mx3 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable 2010-07-29 15:48:37 +01:00
mach-mx5
mach-mx25
mach-mxc91231
mach-netx
mach-nomadik
mach-ns9xxx ARM: 6263/1: ns9xxx: fix FTBFS for zImage 2010-07-26 10:33:07 +01:00
mach-nuc93x
mach-omap1 Merge branch 'v2.6.35-omap-mailbox-for-next' of git://gitorious.org/~doyu/lk/mainline into omap-for-linus 2010-08-04 16:10:38 +03:00
mach-omap2 Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux 2010-08-08 10:02:59 -07:00
mach-orion5x
mach-pnx4008
mach-pxa Merge branches 'at91', 'ep93xx', 'kexec', 'iop', 'lmb', 'nomadik', 'nuc', 'pl', 'spear' and 'versatile' into devel 2010-07-31 14:19:35 +01:00
mach-realview Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-03 14:31:24 -07:00
mach-rpc
mach-s3c24a0/include/mach
mach-s3c64xx
mach-s3c2400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
mach-s3c2410 ARM: Convert platform reservations to use LMB rather than bootmem 2010-07-27 08:48:23 +01:00
mach-s3c2412 ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-s3c2416
mach-s3c2440
mach-s3c2443
mach-s5p6440
mach-s5p6442
mach-s5pc100
mach-s5pv210 ARM: S5PV210: Correct clock register properties 2010-07-05 16:01:04 +09:00
mach-sa1100 Merge branch 'master' into for-next 2010-08-04 15:14:38 +02:00
mach-shark Merge branches 'at91', 'ep93xx', 'kexec', 'iop', 'lmb', 'nomadik', 'nuc', 'pl', 'spear' and 'versatile' into devel 2010-07-31 14:19:35 +01:00
mach-shmobile
mach-spear3xx ARM: AMBA: Add pclk definition for platforms using primecells 2010-07-22 09:55:38 +01:00
mach-spear6xx
mach-stmp37xx
mach-stmp378x
mach-tegra [ARM] tegra: harmony: Add harmony board file 2010-08-05 14:57:02 -07:00
mach-u300 Merge branch 'master' into for-next 2010-08-04 15:14:38 +02:00
mach-ux500 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-08-09 21:00:07 -07:00
mach-versatile Merge branches 'at91', 'ep93xx', 'kexec', 'iop', 'lmb', 'nomadik', 'nuc', 'pl', 'spear' and 'versatile' into devel 2010-07-31 14:19:35 +01:00
mach-vexpress Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-03 14:31:24 -07:00
mach-w90x900 Merge branches 'at91', 'ep93xx', 'kexec', 'iop', 'lmb', 'nomadik', 'nuc', 'pl', 'spear' and 'versatile' into devel 2010-07-31 14:19:35 +01:00
mm kmap_atomic: make kunmap_atomic() harder to misuse 2010-08-09 20:44:54 -07:00
nwfpe
oprofile
plat-iop Merge branch 'misc' into devel 2010-07-31 14:20:02 +01:00
plat-mxc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-08-07 17:07:31 -07:00
plat-nomadik Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-08-09 21:00:07 -07:00
plat-omap Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux 2010-08-08 10:02:59 -07:00
plat-orion Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-08-07 17:07:31 -07:00
plat-pxa [ARM] mmp: fix build failure due to IRQ_PMU depends on ARCH_PXA 2010-06-14 00:45:26 +08:00
plat-s3c24xx
plat-s5p
plat-samsung Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-08-04 15:31:02 -07:00
plat-spear Merge branch 'master' into for-next 2010-08-04 15:14:38 +02:00
plat-stmp3xxx 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
plat-versatile
tools ARM: Update mach-types 2010-07-12 21:14:53 +01:00
vfp ARM: 6203/1: Make VFPv3 usable on ARMv6 2010-07-09 14:41:34 +01:00
Kconfig Merge branch 'for-linus' of git://android.kernel.org/kernel/tegra 2010-08-08 10:05:57 -07:00
Kconfig-nommu
Kconfig.debug ARM: SAMSUNG: Move plat-s3c Kconfig entries to plat-samsung and plat-s3c24xx 2010-02-24 01:52:06 +00:00
Makefile [ARM] tegra: initial tegra support 2010-08-05 14:51:42 -07:00