1PTS(4)                     Linux Programmer's Manual                    PTS(4)
2
3
4

NAME

6       ptmx and pts - pseudo-terminal master and slave
7

DESCRIPTION

9       The  file  /dev/ptmx  is a character file with major number 5 and minor
10       number 2, usually of mode 0666 and owner.group  of  root.root.   It  is
11       used to create a pseudo-terminal master and slave pair.
12
13       When a process opens /dev/ptmx, it gets a file descriptor for a pseudo-
14       terminal master (PTM), and a pseudo-terminal slave (PTS) device is cre‐
15       ated  in the /dev/pts directory. Each file descriptor obtained by open‐
16       ing /dev/ptmx is an independent PTM with its own associated PTS,  whose
17       path can be found by passing the descriptor to ptsname(3).
18
19       Before  opening  the  pseudo-terminal slave, you must pass the master's
20       file descriptor to grantpt(3) and unlockpt(3).
21
22       Once both the pseudo-terminal master and slave are open, the slave pro‐
23       vides  processes  with an interface that is identical to that of a real
24       terminal.
25
26       Data written to the slave is presented  on  the  master  descriptor  as
27       input.  Data written to the master is presented to the slave as input.
28
29       In practice, pseudo-terminals are used for implementing terminal emula‐
30       tors such as xterm(1), in which data read from the pseudo-terminal mas‐
31       ter  is  interpreted by the application in the same way a real terminal
32       would interpret the data, and for  implementing  remote-login  programs
33       such  as sshd(8), in which data read from the pseudo-terminal master is
34       sent across the network to a client program that is connected to a ter‐
35       minal or terminal emulator.
36
37       Pseudo-terminals  can  also be used to send input to programs that nor‐
38       mally refuse to read input from pipes (such as su(8), and passwd(8)).
39

FILES

41       /dev/ptmx, /dev/pts/*
42

NOTES

44       The Linux support for the above (known as Unix98 pty  naming)  is  done
45       using the devpts filesystem, that should be mounted on /dev/pts.
46
47       Before this Unix98 scheme, master ptys were called /dev/ptyp0, ...  and
48       slave ptys /dev/ttyp0, ...  and one needed lots of preallocated  device
49       nodes.
50

SEE ALSO

52       getpt(3), grantpt(3), ptsname(3), unlockpt(3), pty(7)
53
54
55
56Linux                             2002-10-09                            PTS(4)
Impressum