4:ptmx

From Linux Man Pages

Jump to: navigation, search
      ptmx and pts - pseudo-terminal master and slave
      

Contents

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-termi-
      nal  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 pre-
      sented 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(8), and passwd(8)).

FILES

      /dev/ptmx, /dev/pts/*

NOTES

      The Linux support for the above (known as Unix98 pty naming) is done using the devpts filesystem, 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.

RELATED

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

CATEGORY

Personal tools