Commit Graph

23 Commits

Author SHA1 Message Date
Trung Nguyen
b197dcbafa 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>
2023-05-13 00:41:16 +00:00
Trung Nguyen
d97ad7c4dc 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>
2023-05-11 02:57:36 +00:00
Trung Nguyen
568b8f9395 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>
2023-05-11 02:55:38 +00:00
Jérôme Duval
a1999d3b8a POSIX: add tcsetsid()
Change-Id: Ia8f41e417379dcaf4f976933cf91bb2de157bc72
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3376
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-11-17 07:53:28 +00:00
Jérôme Duval
b48159dce2 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>
2020-11-04 06:18:17 +00:00
Adrien Destugues
93ea83e53d 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).
2016-02-27 19:08:53 +01:00
François Revol
1436fe7448 Add TIOCM_CAR as a synonym for TIOCM_CD
Gnokii uses it.
2014-11-09 02:28:06 +01:00
François Revol
0be89c15ee tty: Add bitmask ioctls TIOCMBIS and TIOCMBIC
Equivalent to TIOCMSET + bitmask + TIOCMGET but with a single call.

Gnokii uses that.
2014-07-23 21:36:07 +02:00
Adrien Destugues
9cdbb95476 Remove comment. 2013-12-21 21:58:28 +01:00
Adrien Destugues
c516bac9f4 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.
2013-12-21 20:25:24 +01:00
Matt Madia
173f54f147 Updated copyright in headers. No functional change. 2012-07-19 18:14:06 +00:00
Adrien Destugues
a1f2a6b179 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
2011-10-16 16:44:17 +00:00
Michael Lotz
deb25b1cc2 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
2010-12-08 00:11:01 +00:00
Scott McCreary
0fae873352 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
2010-11-03 21:46:47 +00:00
Jérôme Duval
1590c69933 * 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
2010-04-10 13:48:28 +00:00
Ingo Weinhold
2222d0559d * 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
2009-11-24 19:44:07 +00:00
Jérôme Duval
ce80623dff added some definitions in termios.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-12 23:49:58 +00:00
Ingo Weinhold
29674ea8cb 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
2008-03-29 12:52:10 +00:00
Axel Dörfler
e5fd0bde4a 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
2005-03-26 14:41:30 +00:00
Axel Dörfler
fafe5b8bdb 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
2004-09-29 10:24:46 +00:00
Axel Dörfler
b67cd64e96 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
2004-09-23 23:46:24 +00:00
Stefano Ceccherini
843571810d 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
2003-02-14 07:56:22 +00:00
Stefano Ceccherini
3e194a0eeb Added termios.h header
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-22 16:48:04 +00:00