Annotation of 43BSDReno/share/doc/smm/13.kchanges/sys.tty.t, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1986 Regents of the University of California.
                      2: .\" All rights reserved.  The Berkeley software License Agreement
                      3: .\" specifies the terms and conditions for redistribution.
                      4: .\"
                      5: .\"    @(#)sys.tty.t   1.7 (Berkeley) 4/11/86
                      6: .\"
                      7: .NH 2
                      8: Changes in the terminal line disciplines
                      9: .XP tty.c
                     10: The kernel maintains the terminal or window size in the tty structure
                     11: and provides \fIioctl\fP\^s to set and get these values.
                     12: The window size is cleared on final close.
                     13: The sizes include rows and columns in characters
                     14: and may include X and Y dimensions in pixels where that is meaningful.
                     15: The kernel makes no use of these values, but they are stored here
                     16: to provide a consistent way to determine the current size.
                     17: When a new value is set, a SIGWINCH signal is sent to the process group
                     18: associated with the terminal.
                     19: .XP
                     20: The notions of line discipline exit and final close have been separated.
                     21: \fITtyclose\fP is used only at final close, while \fIttylclose\fP
                     22: is provided for closing down a discipline.
                     23: Modem control transitions are handled more cleanly
                     24: by moving the common code from the terminal hardware drivers
                     25: into the line disciplines; the \fIl_modem\fP entry in the \fIlinesw\fP
                     26: is now used for this purpose.
                     27: \fITtymodem\fP handles carrier transitions for the standard disciplines;
                     28: \fInullmodem\fP is provided for disciplines with minimal requirements.
                     29: .XP
                     30: A new mode, LPASS8, was added to support 8-bit input in normal modes;
                     31: it is the input analog of LLITOUT.
                     32: An entry point, \fIcheckoutq\fP, has been added to enable internal
                     33: output operations (\fIuprintf\fP, \fItprintf\fP) to check for output overflow
                     34: and optionally to block to wait for space.
                     35: Certain operations are handled more carefully than before:
                     36: the use of the TIOCSTI \fIioctl\fP requires read permission on the terminal,
                     37: and SPGRP is disallowed if the group corresponds with another user's
                     38: process.
                     39: \fITtread\fP and \fIttwrite\fP both check for carrier drop when
                     40: restarting after a sleep.
                     41: An off-by-one consistency check of \fIuio_iovcnt\fP
                     42: in \fIttwrite\fP was corrected.
                     43: A bug was fixed that caused data to be flushed
                     44: when opening a terminal that was already open when using the ``old''
                     45: line discipline.
                     46: \fISelect\fP now returns true for reading if carrier has been lost.
                     47: While changing line disciplines, interrupts must be disabled until
                     48: the change is complete or is backed out.
                     49: If changing to the same discipline, the close and reopen (and probable
                     50: data flush) are avoided.
                     51: The \fIt_delct\fP field in the tty structure was not used and has been deleted.
                     52: .XP tty_conf.c
                     53: The line discipline close entries that used \fIttyclose\fP
                     54: now use \fIttylclose\fP.
                     55: The two tablet disciplines have been combined.
                     56: A new entry was added for a Serial-Line link-layer encapsulation for the
                     57: Internet Protocol, SLIPDISC.
                     58: .XP tty_pty.c
                     59: Large sections of the pseudo-tty driver have been reworked to improve
                     60: performance and to avoid
                     61: races when one side closed, which subsequently hung pseudo-terminals.
                     62: The line-discipline modem control routine is called to clean up
                     63: when the master closes.
                     64: Problems with REMOTE mode and non-blocking I/O were fixed by using the 
                     65: raw queue
                     66: rather than the cannonicalized queue.
                     67: A new mode was added to allow a small set of commands to be passed
                     68: to the pty master from the slave as a rudimentary type of \fIioctl\fP,
                     69: in a manner analogous to that of PKT mode.
                     70: Using this mode or PKT mode, a \fIselect\fP for exceptional
                     71: conditions on the master
                     72: side of a pty returns true when a command operation is available to be read.
                     73: \fISelect\fP for writing on the master side has been corrected,
                     74: and now uses the same criteria as \fIptcwrite\fP.
                     75: As the pty driver depends on normal operation of the tty queues,
                     76: it no longer permits changes to non-tty line disciplines.
                     77: .XP tty_subr.c
                     78: The \fIclist\fP support routines have been modified to use block moves
                     79: instead of \fIgetc/putc\fP wherever possible.
                     80: .XP tty_tablet.c
                     81: The two line disciplines have been merged and a number of new
                     82: tablet types are supported.
                     83: Tablet type and operating mode are now set by \fIioctl\fP\^s.
                     84: Tablets that continuously stream data are now told to stop
                     85: sending on last close.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.