History log of /freebsd-current/sys/sys/termios.h
Revision Date Author Comments
# 71625ec9 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c comment pattern

Remove /^/[*/]\s*\$FreeBSD\$.*\n/


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# f14ad5fa 28-Nov-2009 Ed Schouten <ed@FreeBSD.org>

Decompose <sys/termios.h>.

The <sys/termios.h> header file is hardlinked to <termios.h>. It
contains both the structures and the flag definitions, but also the C
library interface that's implemented by the C library.

This header file has the typical problem of including too many random
things and being badly ordered. Instead of trying to fix this, decompose
it into two header files:

- <sys/_termios.h>, which contains struct termios and the flags.
- <termios.h>, which includes <sys/_termios.h> and contains the C
library interface.

This means userspace has to include <termios.h> for struct termios,
while kernelspace code has to include <sys/tty.h>. Also add a
<sys/termios.h>, which prints a warning message before including
<termios.h>. I am aware that there are some applications that use this
header file as well.


# 46b303e8 07-May-2009 Ed Schouten <ed@FreeBSD.org>

Add tcsetsid(3).

The entire world seems to use the non-standard TIOCSCTTY ioctl to make a
TTY a controlling terminal of a session. Even though tcsetsid(3) is also
non-standard, I think it's a lot better to use in our own source code,
mainly because it's similar to tcsetpgrp(), tcgetpgrp() and tcgetsid().

I stole the idea from QNX. They do it the other way around; their
TIOCSCTTY is just a wrapper around tcsetsid(). tcsetsid() then calls
into an IPC framework.


# 472f7812 14-Mar-2009 David Schultz <das@FreeBSD.org>

Use namespace visibility macros instead of checking for _POSIX_SOURCE.


# 9d7c8e57 23-Nov-2008 David Malone <dwmalone@FreeBSD.org>

Make the new CCEQ macro a little more like the old one - first do
the comparison between c and val and then compare val to _POSIX_VDISABLE.
This avoids comparing c (which is usually of type char) to
_POSIX_VDISABLE (which has value 0xff and may not be representable
as a char).

Reviewed by: ed


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 4fcf52f6 06-Sep-2008 Ed Schouten <ed@FreeBSD.org>

Small style(9) nit in <sys/termios.h>.

There are a lot of places where we do "#define<space>" instead of
"#define<tab>". Clean this up a little.


# bc093719 20-Aug-2008 Ed Schouten <ed@FreeBSD.org>

Integrate the new MPSAFE TTY layer to the FreeBSD operating system.

The last half year I've been working on a replacement TTY layer for the
FreeBSD kernel. The new TTY layer was designed to improve the following:

- Improved driver model:

The old TTY layer has a driver model that is not abstract enough to
make it friendly to use. A good example is the output path, where the
device drivers directly access the output buffers. This means that an
in-kernel PPP implementation must always convert network buffers into
TTY buffers.

If a PPP implementation would be built on top of the new TTY layer
(still needs a hooks layer, though), it would allow the PPP
implementation to directly hand the data to the TTY driver.

- Improved hotplugging:

With the old TTY layer, it isn't entirely safe to destroy TTY's from
the system. This implementation has a two-step destructing design,
where the driver first abandons the TTY. After all threads have left
the TTY, the TTY layer calls a routine in the driver, which can be
used to free resources (unit numbers, etc).

The pts(4) driver also implements this feature, which means
posix_openpt() will now return PTY's that are created on the fly.

- Improved performance:

One of the major improvements is the per-TTY mutex, which is expected
to improve scalability when compared to the old Giant locking.
Another change is the unbuffered copying to userspace, which is both
used on TTY device nodes and PTY masters.

Upgrading should be quite straightforward. Unlike previous versions,
existing kernel configuration files do not need to be changed, except
when they reference device drivers that are listed in UPDATING.

Obtained from: //depot/projects/mpsafetty/...
Approved by: philip (ex-mentor)
Discussed: on the lists, at BSDCan, at the DevSummit
Sponsored by: Snow B.V., the Netherlands
dcons(4) fixed by: kan


# 16be775e 15-Jul-2008 Ed Schouten <ed@FreeBSD.org>

Move the TCSA* definitions out of _KERNEL. They are processed in libc.

The tcsetattr() routine already converts the TCSA* arguments to their
respective TIOCSETA* ioctl's in the C library. There is no need to have
these definitions inside the kernel.

Approved by: philip (mentor, implicit)


# 21afeb89 17-Apr-2008 David Xu <davidxu@FreeBSD.org>

Add missing function prototype for tcgetsid().


# 60727d8b 06-Jan-2005 Warner Losh <imp@FreeBSD.org>

/* -> /*- for license, minor formatting changes


# 82c6e879 06-Apr-2004 Warner Losh <imp@FreeBSD.org>

Remove advertising clause from University of California Regent's license,
per letter dated July 22, 1999.

Approved by: core


# 789f12fe 19-Mar-2002 Alfred Perlstein <alfred@FreeBSD.org>

Remove __P


# 531918e6 19-Jun-2001 Andrey A. Chernov <ache@FreeBSD.org>

Add B921600 (yes, some serial ports can do this, but generic sio not support
them yet)


# 27aa48fd 29-May-2001 Andrey A. Chernov <ache@FreeBSD.org>

Add B460800 define


# 3617ddfc 03-Mar-2001 Assar Westerlund <assar@FreeBSD.org>

implement OCRNL, ONOCR, and ONLRET

Obtained from: NetBSD


# 7022a923 28-Nov-2000 Jordan K. Hubbard <jkh@FreeBSD.org>

Kernel support for erase2 character.

Submitted by: Rui Pedro Mendes Salgueiro <rps@mat.uc.pt>


# 664a31e4 28-Dec-1999 Peter Wemm <peter@FreeBSD.org>

Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is consistant with the other
BSD's who made this change quite some time ago. More commits to come.


# c3aac50f 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# bd7f824e 05-May-1998 John Birrell <jb@FreeBSD.org>

Change a couple of long types to int to match NetBSD so that termios
works on alpha without any modifications.


# df5cf212 12-Mar-1998 Bruce Evans <bde@FreeBSD.org>

Changed speed_t from long to unsigned long. POSIX.1 requires an
unsigned integral type. Changing it doesn't seem to cause any
sign extension bugs in /usr/src. In the kernel, this is partly
because `struct speedtab' and its lookup function are too bogus
to use speed_t's for speeds - they use ints.

Reminded by: PR 5786


# 6875d254 22-Feb-1997 Peter Wemm <peter@FreeBSD.org>

Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not
ready for it yet.


# 1130b656 14-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# c02039bc 29-Nov-1996 Bruce Evans <bde@FreeBSD.org>

Fixed handling of non-POSIX control characters. They must not do
anything special unless IEXTEN is set.

Found by: NIST-PCTS


# 9b2e5354 30-May-1995 Rodney W. Grimes <rgrimes@FreeBSD.org>

Remove trailing whitespace.


# 0de89095 11-May-1995 Bruce Evans <bde@FreeBSD.org>

Define _POSIX_VDISABLE so that it can be used in #if expressions.


# d9908e7b 30-Apr-1995 Bruce Evans <bde@FreeBSD.org>

Define CDTR_IFLOW and CDSR_OFLOW which are now required for compiling
bin/stty. Define alias CCAR_OFLOW for MDMBUF.

Declare speeds as having type speed_t instead of long. speed_t is
long, which is wrong (POSIX specifies it to be unsigned integral),
but fixing it might introduce more serious bugs.


# 3c4dd356 02-Aug-1994 David Greenman <dg@FreeBSD.org>

Added $Id$


# 26f9a767 25-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.

Reviewed by: Rodney W. Grimes
Submitted by: John Dyson and David Greenman


# df8bae1d 24-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

BSD 4.4 Lite Kernel Sources