History log of /haiku-fatelf/src/add-ons/kernel/drivers/tty/line_buffer.h
Revision Date Author Comments
# 2f6b4f3e 28-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* When canonical input processing is enabled reads should only return
anything, if a line is available. Fixes bug #1483.
* Replaced the request owner waiting semaphore by a condition variable
and removed the now no longer needed SemaphorePool.



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


# 696c54d0 28-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved members pgrp_id, termios, window_size from the tty structure to
the new structure tty_settings of which there's only one instance per
master/slave tty pair. Previously the existence of two instances of those
members caused several kinds of problems, e.g. the Terminal setting
the window size on the master and CLI programs readings the unchanged
values from the slave. E.g. less correctly adjusts the display when the
Terminal size changes, now.
* Reorganized writing to a TTY. We do no longer handle writes to master
and slave the same way. Writes to the master are "input" and need to
be processed differently from writes to the slave ("output"). Before,
both were processed first as output then as input, which caused incorrect
behavior. E.g. CRs were not echoed correctly.
* Added canonical ERASE (backspace) and KILL (clear line) processing.
Couldn't really see it work. glibc's fgets() seems to read single
chars, so that we never have anything in the line buffer.
* Added handling for EOF. Works well with Be's Terminal, ours seems to
write an ESC sequence instead of the EOF char (Ctrl-D), though.
* Extended output processing support (ECHOE, ECHOK, ECHONL, OCRNL,
ONLRET, OLCUC).
* Writes use user_memcpy() now.


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


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

reset_line_buffer() is actually called clear_line_buffer().


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


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

Work in progress. Basic data exchange seems to work.
Only slightly tested (moved data to and from pty <-> tty).


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


# 2f6b4f3e1a392bc9dd18659bbd57d61a2eb84fd0 28-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* When canonical input processing is enabled reads should only return
anything, if a line is available. Fixes bug #1483.
* Replaced the request owner waiting semaphore by a condition variable
and removed the now no longer needed SemaphorePool.



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


# 696c54d0673fe190dbbae4323b48bf1b8d9c2beb 28-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved members pgrp_id, termios, window_size from the tty structure to
the new structure tty_settings of which there's only one instance per
master/slave tty pair. Previously the existence of two instances of those
members caused several kinds of problems, e.g. the Terminal setting
the window size on the master and CLI programs readings the unchanged
values from the slave. E.g. less correctly adjusts the display when the
Terminal size changes, now.
* Reorganized writing to a TTY. We do no longer handle writes to master
and slave the same way. Writes to the master are "input" and need to
be processed differently from writes to the slave ("output"). Before,
both were processed first as output then as input, which caused incorrect
behavior. E.g. CRs were not echoed correctly.
* Added canonical ERASE (backspace) and KILL (clear line) processing.
Couldn't really see it work. glibc's fgets() seems to read single
chars, so that we never have anything in the line buffer.
* Added handling for EOF. Works well with Be's Terminal, ours seems to
write an ESC sequence instead of the EOF char (Ctrl-D), though.
* Extended output processing support (ECHOE, ECHOK, ECHONL, OCRNL,
ONLRET, OLCUC).
* Writes use user_memcpy() now.


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


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

reset_line_buffer() is actually called clear_line_buffer().


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


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

Work in progress. Basic data exchange seems to work.
Only slightly tested (moved data to and from pty <-> tty).


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