Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pts(4) [freebsd man page]

PTS(4)							   BSD Kernel Interfaces Manual 						    PTS(4)

NAME
pts -- pseudo-terminal driver DESCRIPTION
The pts driver provides support for a device-pair termed a pseudo-terminal. A pseudo-terminal is a pair of character devices, a master device and a slave device. The slave device provides to a process an interface identical to that described in tty(4). However, whereas all other devices which provide the interface described in tty(4) have a hardware device of some sort behind them, the slave device has, instead, another process manipulating it through the master half of the pseudo-terminal. That is, anything written on the master device is given to the slave device as input and anything written on the slave device is presented as input on the master device. The following ioctl(2) calls apply only to pseudo-terminals: TIOCPKT Enable/disable packet mode. Packet mode is enabled by specifying (by reference) a nonzero parameter and disabled by specifying (by reference) a zero parameter. When applied to the master side of a pseudo-terminal, each subsequent read(2) from the termi- nal will return data written on the slave part of the pseudo-terminal preceded by a zero byte (symbolically defined as TIOCPKT_DATA), or a single byte reflecting control status information. In the latter case, the byte is an inclusive-or of zero or more of the bits: TIOCPKT_FLUSHREAD whenever the read queue for the terminal is flushed. TIOCPKT_FLUSHWRITE whenever the write queue for the terminal is flushed. TIOCPKT_STOP whenever output to the terminal is stopped a la '^S'. TIOCPKT_START whenever output to the terminal is restarted. TIOCPKT_DOSTOP whenever VSTOP is '^S' and VSTART is '^Q'. TIOCPKT_NOSTOP whenever the start and stop characters are not '^S/^Q'. While this mode is in use, the presence of control status information to be read from the master side may be detected by a select(2) for exceptional conditions. This mode is used by rlogin(1) and rlogind(8) to implement a remote-echoed, locally '^S/^Q' flow-controlled remote login with proper back-flushing of output; it can be used by other similar programs. TIOCGPTN Obtain device unit number, which can be used to generate the filename of the pseudo-terminal slave device. This ioctl(2) should not be used directly. Instead, the ptsname(3) function should be used. TIOCPTMASTER Determine whether the file descriptor is pointing to a pseudo-terminal master device. This ioctl(2) should not be used directly. It is used to implement routines like grantpt(3). FILES
The files used by this pseudo-terminals implementation are: /dev/pts/[num] Pseudo-terminal slave devices. DIAGNOSTICS
None. SEE ALSO
posix_openpt(2), grantpt(3), ptsname(3), pty(4), tty(4) HISTORY
A pseudo-terminal driver appeared in 4.2BSD. In FreeBSD 8.0, it was replaced with the pts driver. BSD
August 20, 2008 BSD

Check Out this Related Man Page

PTS(4)							     Linux Programmer's Manual							    PTS(4)

NAME
ptmx, pts - pseudo-terminal master and slave DESCRIPTION
The file /dev/ptmx is a character file with major number 5 and minor number 2, usually of mode 0666 and owner.group of root.root. It is used to create a pseudo-terminal master and slave pair. When a process opens /dev/ptmx, it gets a file descriptor for a pseudo-terminal master (PTM), and a pseudo-terminal slave (PTS) device is created in the /dev/pts directory. Each file descriptor obtained by opening /dev/ptmx is an independent PTM with its own associated PTS, whose path can be found by passing the descriptor to ptsname(3). Before opening the pseudo-terminal slave, you must pass the master's file descriptor to grantpt(3) and unlockpt(3). Once both the pseudo-terminal master and slave are open, the slave provides processes with an interface that is identical to that of a real terminal. Data written to the slave is presented on the master descriptor as input. Data written to the master is presented to the slave as input. In practice, pseudo-terminals are used for implementing terminal emulators such as xterm(1), in which data read from the pseudo-terminal master is interpreted by the application in the same way a real terminal would interpret the data, and for implementing remote-login pro- grams such as sshd(8), in which data read from the pseudo-terminal master is sent across the network to a client program that is connected to a terminal or terminal emulator. Pseudo-terminals can also be used to send input to programs that normally refuse to read input from pipes (such as su(1), and passwd(1)). FILES
/dev/ptmx, /dev/pts/* NOTES
The Linux support for the above (known as Unix98 pty naming) is done using the devpts file system, that should be mounted on /dev/pts. Before this Unix98 scheme, master ptys were called /dev/ptyp0, ... and slave ptys /dev/ttyp0, ... and one needed lots of preallocated device nodes. SEE ALSO
getpt(3), grantpt(3), ptsname(3), unlockpt(3), pty(7) COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2002-10-09 PTS(4)
Man Page