home   contributing   bugs   download   online pages  

NAME | DESCRIPTION | FILES | NOTES | SEE ALSO | COLOPHON


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

NAME         top

       ptmx and pts - pseudo-terminal master and slave

DESCRIPTION         top

       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 programs 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         top

       /dev/ptmx, /dev/pts/*

NOTES         top

       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         top

       getpt(3), grantpt(3), ptsname(3), unlockpt(3), pty(7)

COLOPHON         top

       This page is part of release 3.23 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)