linux/include/asm-generic
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
..
bitops arch, hweight: Fix compilation errors 2010-05-04 10:25:27 -07:00
4level-fixup.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
Kbuild asm-generic: add a generic unistd.h 2009-06-11 21:02:16 +02:00
Kbuild.asm KVM: export kvm_para.h 2009-09-10 10:46:47 +03:00
atomic-long.h asm-generic: merge branch 'master' of torvalds/linux-2.6 2009-06-12 11:32:58 +02:00
atomic.h asm-generic: use raw_local_irq_save/restore instead local_irq_save/restore 2010-08-09 20:44:54 -07:00
atomic64.h lib: Provide generic atomic64_t implementation 2009-06-15 13:27:38 +10:00
audit_change_attr.h [PATCH] fix missing ifdefs in syscall classes hookup for generic targets 2006-09-22 17:48:56 -07:00
audit_dir_write.h [PATCH] fix missing ifdefs in syscall classes hookup for generic targets 2006-09-22 17:48:56 -07:00
audit_read.h [PATCH] audit: more syscall classes added 2006-09-11 13:32:27 -04:00
audit_signal.h [PATCH] add SIGNAL syscall class (v3) 2007-05-11 05:38:25 -04:00
audit_write.h [PATCH] asm/generic: fix bug - kernel fails to build when enable some common audit code on Blackfin 2008-12-09 02:27:39 -05:00
auxvec.h asm-generic: add generic ABI headers 2009-06-11 21:02:15 +02:00
bitops.h asm-generic: make bitops.h usable 2009-06-11 21:02:31 +02:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bug.h panic: Allow warnings to set different taint flags 2010-05-19 08:36:48 +01:00
bugs.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
cache.h asm-generic: add generic NOMMU versions of some headers 2009-06-11 21:02:50 +02:00
cacheflush.h block: add helpers to run flush_dcache_page() against a bio and a request's pages 2009-11-26 09:16:19 +01:00
checksum.h add generic lib/checksum.c 2009-06-11 21:02:51 +02:00
cmpxchg-local.h Add cmpxchg_local to asm-generic for per cpu atomic operations 2008-02-07 08:42:30 -08:00
cmpxchg.h Add cmpxchg_local to asm-generic for per cpu atomic operations 2008-02-07 08:42:30 -08:00
cputime.h cputime: Optimize jiffies_to_cputime(1) 2009-08-03 14:48:36 +02:00
current.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
delay.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
device.h Driver Core: Add platform device arch data V3 2009-07-22 00:28:38 +02:00
div64.h rename div64_64 to div64_u64 2008-05-01 08:03:58 -07:00
dma-coherent.h generic: per-device coherent dma allocator 2008-06-30 12:51:05 +02:00
dma-mapping-broken.h dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
dma-mapping-common.h dma-mapping: remove unnecessary sync_single_range_* in dma_map_ops 2010-05-27 09:12:52 -07:00
dma.h asm-generic: add legacy I/O header files 2009-06-11 21:02:42 +02:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
errno-base.h
errno.h cfg80211: add rfkill support 2009-06-03 14:06:14 -04:00
fb.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
fcntl.h fanotify: FMODE_NONOTIFY and __O_SYNC in sparc conflict 2010-07-28 09:58:54 -04:00
futex.h remove __KERNEL__ tests of unexported headers under asm-generic/ 2008-04-30 08:29:54 -07:00
getorder.h asm-generic: rename page.h and uaccess.h 2009-06-11 21:02:17 +02:00
gpio.h of/gpio: stop using device_node data pointer to find gpio_chip 2010-07-05 16:14:30 -06:00
hardirq.h IRQ: Change __softirq_pending to unsigned int in asm-generic/hardirq.h. 2009-10-09 13:38:21 -07:00
hw_irq.h asm-generic: add legacy I/O header files 2009-06-11 21:02:42 +02:00
ide_iops.h
int-l64.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
int-ll64.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
io.h asm-generic/io.h: add big endian versions of io{read,write}{16,32} 2010-08-09 20:45:04 -07:00
ioctl.h Make ioctl.h compatible with userland 2008-08-12 16:07:31 -07:00
ioctls.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
iomap.h generic: add ioremap_wc() interface wrapper 2008-04-24 23:40:47 +02:00
ipcbuf.h asm-generic: add generic sysv ipc headers 2009-06-11 21:02:15 +02:00
irq.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
irq_regs.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
irqflags.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
kdebug.h asm-generic: define DIE_OOPS in asm-generic 2008-10-27 11:39:03 +01:00
kmap_types.h include/asm-generic/kmap_types.h: add helpful reminder 2010-05-25 08:07:03 -07:00
libata-portmap.h libata-portmap: Remove unused definitions 2007-10-12 14:55:37 -04:00
linkage.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
local.h local_t: Remove cpu_local_xx macros 2010-01-05 15:34:49 +09:00
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
memory_model.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
mm_hooks.h [PATCH] x86: PARAVIRT: add hooks to intercept mm creation and destruction 2007-05-02 19:27:14 +02:00
mman-common.h HWPOISON: Add a madvise() injector for soft page offlining 2009-12-16 12:20:00 +01:00
mman.h mm: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions 2009-09-22 07:17:41 -07:00
mmu.h asm-generic: add generic NOMMU versions of some headers 2009-06-11 21:02:50 +02:00
mmu_context.h asm-generic: add generic NOMMU versions of some headers 2009-06-11 21:02:50 +02:00
module.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
msgbuf.h asm-generic: add generic sysv ipc headers 2009-06-11 21:02:15 +02:00
mutex-dec.h mutex: speed up generic mutex implementations 2008-10-23 09:18:20 -07:00
mutex-null.h fix file specification in comments 2006-10-03 23:01:26 +02:00
mutex-xchg.h mutex: speed up generic mutex implementations 2008-10-23 09:18:20 -07:00
mutex.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
page.h asm-generic: add generic NOMMU versions of some headers 2009-06-11 21:02:50 +02:00
param.h asm-generic: add generic ABI headers 2009-06-11 21:02:15 +02:00
parport.h asm-generic: add legacy I/O header files 2009-06-11 21:02:42 +02:00
pci-dma-compat.h dma-mapping: pci: move pci_set_dma_mask and pci_set_consistent_dma_mask to pci-dma-compat.h 2010-03-12 15:52:42 -08:00
pci.h PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
percpu.h Merge branch 'for-35' of git://repo.or.cz/linux-kbuild 2010-06-01 08:55:52 -07:00
pgalloc.h asm-generic: add generic NOMMU versions of some headers 2009-06-11 21:02:50 +02:00
pgtable-nopmd.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
pgtable-nopud.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
pgtable.h asm-generic: add dummy pgprot_noncached() 2009-06-23 14:34:30 +02:00
poll.h Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
posix_types.h asm-generic: add generic ABI headers 2009-06-11 21:02:15 +02:00
resource.h sched: SCHED_FIFO/SCHED_RR watchdog timer 2008-01-25 21:08:27 +01:00
rtc.h asm-generic: make get_rtc_time overridable 2009-06-11 21:02:18 +02:00
scatterlist.h asm-generic: remove ARCH_HAS_SG_CHAIN in scatterlist.h 2010-05-27 09:12:54 -07:00
sections.h asm/sections: add text/data checking functions for arches to override 2009-09-23 07:39:30 -07:00
segment.h asm-generic: add generic NOMMU versions of some headers 2009-06-11 21:02:50 +02:00
sembuf.h asm-generic: add generic sysv ipc headers 2009-06-11 21:02:15 +02:00
serial.h asm-generic: add legacy I/O header files 2009-06-11 21:02:42 +02:00
setup.h asm-generic: add generic ABI headers 2009-06-11 21:02:15 +02:00
shmbuf.h asm-generic: add generic sysv ipc headers 2009-06-11 21:02:15 +02:00
shmparam.h asm-generic: add generic sysv ipc headers 2009-06-11 21:02:15 +02:00
siginfo.h HWPOISON: Add new SIGBUS error codes for hardware poison signals 2009-09-16 11:50:06 +02:00
signal-defs.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
signal.h asm-generic: add generic ABI headers 2009-06-11 21:02:15 +02:00
socket.h net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
sockios.h asm-generic: add generic ABI headers 2009-06-11 21:02:15 +02:00
spinlock.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
stat.h asm-generic: add generic ABI headers 2009-06-11 21:02:15 +02:00
statfs.h add f_flags to struct statfs(64) 2010-08-09 16:48:44 -04:00
string.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
swab.h asm-generic: add generic ABI headers 2009-06-11 21:02:15 +02:00
syscall.h asm-generic: syscall_get_nr returns int 2009-09-22 19:56:50 -07:00
syscalls.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
system.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios-base.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
termios.h asm-generic: add generic ABI headers 2009-06-11 21:02:15 +02:00
timex.h asm-generic: add legacy I/O header files 2009-06-11 21:02:42 +02:00
tlb.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
tlbflush.h asm-generic: add generic NOMMU versions of some headers 2009-06-11 21:02:50 +02:00
topology.h topology: alternate fix for ia64 tiger_defconfig build breakage 2010-08-09 20:44:57 -07:00
types.h asm-generic: add generic ABI headers 2009-06-11 21:02:15 +02:00
uaccess-unaligned.h asm-generic: rename page.h and uaccess.h 2009-06-11 21:02:17 +02:00
uaccess.h asm-generic: uaccess: fix up local access_ok() usage 2009-06-19 14:58:08 +02:00
ucontext.h asm-generic: add generic ABI headers 2009-06-11 21:02:15 +02:00
unaligned.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
unistd.h Merge branch 'writable_limits' of git://decibel.fi.muni.cz/~xslaby/linux 2010-08-10 12:07:51 -07:00
user.h asm-generic: add generic versions of common headers 2009-06-11 21:02:37 +02:00
vga.h asm-generic: add legacy I/O header files 2009-06-11 21:02:42 +02:00
vmlinux.lds.h 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
xor.h