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
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
audit_dir_write.h
audit_read.h
audit_signal.h
audit_write.h
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
cmpxchg.h
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
dma-coherent.h
dma-mapping-broken.h
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
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
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
ioctls.h
tty: Add EXTPROC support for LINEMODE
2010-08-10 13:47:39 -07:00
iomap.h
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
irqflags.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02: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
kdebug.h
kmap_types.h
include/asm-generic/kmap_types.h: add helpful reminder
2010-05-25 08:07:03 -07:00
libata-portmap.h
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
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-null.h
mutex-xchg.h
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
posix_types.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
resource.h
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