A tty driver is a STREAMS driver managing the actual connection to the hardware terminal. Depending on the connection, three kinds of tty drivers are provided: asynchronous line drivers, the pty driver, and the LFT driver.
Read the following to learn more about tty drivers:
The asynchronous line drivers are provided to support devices (usually ASCII terminals) directly connected to the system through asynchronous lines, including modems.
The asynchronous line drivers provide the interface to the line control hardware:
The asynchronous line drivers are responsible for setting parameters, such as the baud rate, the character size, and the parity checking. The user can control these parameters through the c_cflag field of the termios structure.
The asynchronous line drivers also provide the following features:
The pseudo-terminal (pty) driver is provided to support terminals that need special processing, such as X terminals or remote systems connected through a network.
The basic pty structure is shown on this figure.
A pty driver just transmits the input and output data from the application to a server process through a second stream. The server process, running in the user space, is usually a daemon, such as the rlogind daemon or the xdm daemon. It manages the actual communication with the terminal.
Other optional modules may be pushed on either user or server stream.
TTY Subsystem Overview.
Line Discipline Module (ldterm).
The lft special file, pty special file, termiox.h file.