Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
PTS(4)		       FreeBSD Kernel Interfaces Manual			PTS(4)

     pts -- pseudo-terminal driver

     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 pre-
     sented 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	ap-
		   plied to the	master side of a pseudo-terminal, each subse-
		   quent read(2) from the terminal 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

		   TIOCPKT_FLUSHREAD   whenever	the read queue for the termi-
				       nal is flushed.

		   TIOCPKT_FLUSHWRITE  whenever	the write queue	for the	termi-
				       nal is flushed.

		   TIOCPKT_STOP	       whenever	output to the terminal is
				       stopped a la `^S'.

		   TIOCPKT_START       whenever	output to the terminal is

		   TIOCPKT_DOSTOP      whenever	VSTOP is `^S' and VSTART is

		   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 lo-
		   gin 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

     The files used by this pseudo-terminals implementation are:

     /dev/pts/[num]  Pseudo-terminal slave devices.


     posix_openpt(2), grantpt(3), ptsname(3), pty(4), tty(4)

     A pseudo-terminal driver appeared in 4.2BSD.  In FreeBSD 8.0, it was re-
     placed with the pts driver.

FreeBSD	13.0			August 20, 2008			  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help