History log of /haiku/headers/posix/termios.h
Revision Date Author Comments
# 605bd3f0 09-May-2023 Augustin Cavalier <waddlesplash@gmail.com>

termios.h: Undefine/remove some unimplemented BeOS extensions.

We did not ever implement these, it seems, and so they are just
cluttering up the global namespace.

Change-Id: Ib37c3a31663525a18268c9bfe326bfba9afbc794


# b197dcba 09-May-2023 Trung Nguyen <trungnt282910@gmail.com>

tty: Implement exclusive mode

Implemented exclusive mode on Haiku and added the related `ioctl`
operations (`TIOCEXCL` and `TIOCNXCL`).

Change-Id: Iaa201ea20eec0e45d02dd5db9ba6aa35fd27dfb2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6387
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>


# d97ad7c4 09-May-2023 Trung Nguyen <trungnt282910@gmail.com>

termios: New ioctl: TIOCOUTQ

Change-Id: I86f2a7b007137e22cf7d6fc8ad6675ff5de267d4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6386
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>


# 568b8f93 08-May-2023 Trung Nguyen <trungnt282910@gmail.com>

headers/posix: Add TIOCM_RNG as a synonym for TIOCM_RI

dotnet uses it.

Change-Id: Ie5658263a0fd9c0aa833cc468ddcafe08116a30d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6385
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>


# a1999d3b 31-Oct-2020 Jérôme Duval <jerome.duval@gmail.com>

POSIX: add tcsetsid()

Change-Id: Ia8f41e417379dcaf4f976933cf91bb2de157bc72
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3376
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# b48159dc 31-Oct-2020 Jérôme Duval <jerome.duval@gmail.com>

POSIX: add tcgetsid()

Change-Id: If58141b4e56b7fe444460b6808e33abc5ea71f37
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3374
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>


# 93ea83e5 27-Feb-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Allow custom baud rates for FTDI serial ports

- Termios: cf{get,set}{i,o}speed can handle arbitrary speed values.
- The value is stored in the appropriate fields of the termios structure
in this case. The old constants (stored in the flags) are preserved
for BeOS binary compatibility.
- Adjust the FTDI FT232* driver to accept custom rates, by replacing the
hardcoded regster values with a function that will compute it
according to FTDI documentation (confirmed giving the same values for
the existing baudrates).


# 1436fe74 08-Nov-2014 François Revol <revol@free.fr>

Add TIOCM_CAR as a synonym for TIOCM_CD

Gnokii uses it.


# 0be89c15 23-Jul-2014 François Revol <revol@free.fr>

tty: Add bitmask ioctls TIOCMBIS and TIOCMBIC

Equivalent to TIOCMSET + bitmask + TIOCMGET but with a single call.

Gnokii uses that.


# 9cdbb954 21-Dec-2013 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove comment.


# c516bac9 21-Dec-2013 Adrien Destugues <pulkomandy@pulkomandy.tk>

Revert part of hrev24647

The baudrate constant for MIDI speed was after all the others in BeOS,
and we have to keep them with the same values for things to work.
Moreover, the constants in SerialPort.h were not changed, so everything
was out of sync and all apps using BSerialPort ended up using the wrong
speed.

Add a comment in termios.h to make sure this doesn't happen again.


# 173f54f1 19-Jul-2012 Matt Madia <mattmadia@gmail.com>

Updated copyright in headers. No functional change.


# a1f2a6b1 16-Oct-2011 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Add cfmakeraw. Like cf{get/set}{i/o}speed, it iisn't POSIx standard but is used
often enough and simple enough to write that we should allow it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42865 a95241bf-73f2-0310-859d-f6bbb57e9c96


# deb25b1c 07-Dec-2010 Michael Lotz <mmlr@mlotz.ch>

Add a few commonly used macros for line state setting/getting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39759 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0fae8733 03-Nov-2010 Scott McCreary <scottmc2@gmail.com>

Updated posix headers to remove commas from copyright line, to match the preferred coding guidelines.
Cleaned up some header style violations, making sure there are two blank lines after the header guards.
This fixes the posix header part of #2191.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39288 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1590c699 10-Apr-2010 Jérôme Duval <korli@users.berlios.de>

* added forkpty() and login_tty() to bsd compatibility, a test for forkpty().
* added a TODO questioning the closing master and slave in openpty() when applying window size fails.
* added TIOCSCTTY as a TTY ioctl code, the caller become controlling TTY. Review comments are welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36105 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2222d055 24-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory "config", which ATM contains HaikuConfig.h
and types.h. The idea is to provide a basic architecture/compiler
abstraction by defining types and macros that allow the posix/ and os/
headers to be mostly architecture/compiler agnostic.
* Adjusted the posix/ and os/ headers accordingly.
* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI*
and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int*
types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX
macros. Also the B_PRI* and B_SCN* macros are available unconditionally,
unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be
defined in C++ mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ce80623d 12-Nov-2009 Jérôme Duval <korli@users.berlios.de>

added some definitions in termios.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34015 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 29674ea8 28-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Vasilis Kaoutsis:
* Check against maximum baud rate in cfset{i,o}speed().
* Changed some functions comments to doxygen style.
* Sorted speed macros in termios.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24647 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e5fd0bde 26-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

tcsetpgrp() and tcgetpgrp() are actually defined in unistd.h, not termios.h.
Implemented them and moved them to unistd/terminal.c - not yet tested, though,
but should work. As a side effect, the TTY should now send signals.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12034 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fafe5b8b 29-Sep-2004 Axel Dörfler <axeld@pinc-software.de>

Added two ioctl() values to set and get the TTY's process group ID.
Copied the old and ugly naming style, though...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9103 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b67cd64e 23-Sep-2004 Axel Dörfler <axeld@pinc-software.de>

Almost rewrote the termios.h header file.
It's now much cleaner than before. Removed the tcgetattr() macro; it's now
a real function call again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9049 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 84357181 14-Feb-2003 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed dependancies from be_setup.h (since we don't have this header in our repository)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2704 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3e194a0e 22-Jan-2003 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added termios.h header


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2531 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1436fe7448ef691c602d278a2704f689baa179c7 08-Nov-2014 François Revol <revol@free.fr>

Add TIOCM_CAR as a synonym for TIOCM_CD

Gnokii uses it.


# 0be89c15ee9e12e1b0d7e592010af2c2eae1d952 23-Jul-2014 François Revol <revol@free.fr>

tty: Add bitmask ioctls TIOCMBIS and TIOCMBIC

Equivalent to TIOCMSET + bitmask + TIOCMGET but with a single call.

Gnokii uses that.


# 9cdbb954768f1a693bb725722a663104849567d4 21-Dec-2013 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove comment.


# c516bac9f41526e5c0b98929801c169ff88bcbd6 21-Dec-2013 Adrien Destugues <pulkomandy@pulkomandy.tk>

Revert part of hrev24647

The baudrate constant for MIDI speed was after all the others in BeOS,
and we have to keep them with the same values for things to work.
Moreover, the constants in SerialPort.h were not changed, so everything
was out of sync and all apps using BSerialPort ended up using the wrong
speed.

Add a comment in termios.h to make sure this doesn't happen again.


# 173f54f1473bd6a6511c5fc6dc899c91fb8dd667 19-Jul-2012 Matt Madia <mattmadia@gmail.com>

Updated copyright in headers. No functional change.


# a1f2a6b1795c0897dfbf085be37451915d3e848a 16-Oct-2011 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Add cfmakeraw. Like cf{get/set}{i/o}speed, it iisn't POSIx standard but is used
often enough and simple enough to write that we should allow it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42865 a95241bf-73f2-0310-859d-f6bbb57e9c96


# deb25b1cc222a9f96d04b2c3ef34bc86efc4366b 07-Dec-2010 Michael Lotz <mmlr@mlotz.ch>

Add a few commonly used macros for line state setting/getting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39759 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0fae873352b02792db93f721c1a2ff6b240c8ecc 03-Nov-2010 Scott McCreary <scottmc2@gmail.com>

Updated posix headers to remove commas from copyright line, to match the preferred coding guidelines.
Cleaned up some header style violations, making sure there are two blank lines after the header guards.
This fixes the posix header part of #2191.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39288 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1590c699330ebe8ff8811502a82b5c6d8595dd04 10-Apr-2010 Jérôme Duval <korli@users.berlios.de>

* added forkpty() and login_tty() to bsd compatibility, a test for forkpty().
* added a TODO questioning the closing master and slave in openpty() when applying window size fails.
* added TIOCSCTTY as a TTY ioctl code, the caller become controlling TTY. Review comments are welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36105 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2222d0559df303a9846a2fad53741f8b20b14d7c 24-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory "config", which ATM contains HaikuConfig.h
and types.h. The idea is to provide a basic architecture/compiler
abstraction by defining types and macros that allow the posix/ and os/
headers to be mostly architecture/compiler agnostic.
* Adjusted the posix/ and os/ headers accordingly.
* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI*
and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int*
types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX
macros. Also the B_PRI* and B_SCN* macros are available unconditionally,
unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be
defined in C++ mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ce80623dffcae84d2fe214974edc9dba42e51383 12-Nov-2009 Jérôme Duval <korli@users.berlios.de>

added some definitions in termios.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34015 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 29674ea8cb0ac6e1971ce9fb57bde331208ebbda 28-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Vasilis Kaoutsis:
* Check against maximum baud rate in cfset{i,o}speed().
* Changed some functions comments to doxygen style.
* Sorted speed macros in termios.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24647 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e5fd0bde4a58ac4048b5120a5923201600ff5134 26-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

tcsetpgrp() and tcgetpgrp() are actually defined in unistd.h, not termios.h.
Implemented them and moved them to unistd/terminal.c - not yet tested, though,
but should work. As a side effect, the TTY should now send signals.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12034 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fafe5b8bdbc221a10e538a4798b0cb422f28e755 29-Sep-2004 Axel Dörfler <axeld@pinc-software.de>

Added two ioctl() values to set and get the TTY's process group ID.
Copied the old and ugly naming style, though...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9103 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b67cd64e964a5dfe4c8212ae0430bb7fccc0c638 23-Sep-2004 Axel Dörfler <axeld@pinc-software.de>

Almost rewrote the termios.h header file.
It's now much cleaner than before. Removed the tcgetattr() macro; it's now
a real function call again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9049 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 843571810dc644b78fe41869821f2d1bb402a55d 14-Feb-2003 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed dependancies from be_setup.h (since we don't have this header in our repository)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2704 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3e194a0eeb7477e3256bd77da1d6a49f5662d165 22-Jan-2003 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added termios.h header


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2531 a95241bf-73f2-0310-859d-f6bbb57e9c96