ptm(4d) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

ptm(4d)

Device Drivers & /dev files                                            ptm(4D)



NAME
       ptm - STREAMS pseudo-tty master driver

DESCRIPTION
       The  pseudo-tty  subsystem  simulates  a terminal connection, where the
       master side represents the terminal and the slave represents  the  user
       process's  special  device  end point. The master device is set up as a
       cloned device where its major device number is the major for the  clone
       device  and  its  minor  device number is the major for the ptm driver.
       There are no nodes in the file system for master  devices.  The  master
       pseudo driver is opened using the open(2) system call with /dev/ptmx as
       the device parameter. The clone open finds  the  next  available  minor
       device for the ptm major device.


       A  master  device  is  available only if it and its corresponding slave
       device are not already open. When the master device is opened, the cor‐
       responding  slave  device is automatically locked out. Only one open is
       allowed on a master device. Multiple opens are  allowed  on  the  slave
       device.  After both the master and slave have been opened, the user has
       two file descriptors which are the end points of a full duplex  connec‐
       tion  composed  of two streams which are automatically connected at the
       master and slave drivers. The user may then push  modules  onto  either
       side of the stream pair.


       The  master  and  slave  drivers  pass  all  messages to their adjacent
       queues. Only the M_FLUSH needs some processing. Because the read  queue
       of  one  side  is connected to the write queue of the other, the FLUSHR
       flag is changed to the FLUSHW flag and  vice  versa.  When  the  master
       device  is closed an M_HANGUP message is sent to the slave device which
       will render the device unusable. The process on the slave side gets the
       errno  EIO  when attempting to write on that stream but it will be able
       to read any data remaining on the stream head read queue. When all  the
       data  has been read, read() returns 0 indicating that the stream can no
       longer be used. On the last close of the slave device, a 0-length  mes‐
       sage  is  sent to the master device. When the application on the master
       side issues a read() or getmsg() and 0 is returned,  the  user  of  the
       master  device  decides  whether to issue a close() that dismantles the
       pseudo-terminal subsystem. If the master  device  is  not  closed,  the
       pseudo-tty  subsystem  will  be  available  to another user to open the
       slave device.


       If O_NONBLOCK or O_NDELAY is set, read on the master  side  returns  −1
       with  errno set to EAGAIN if no data is available, and write returns −1
       with errno set to EAGAIN if there is internal flow control.

IOCTLS
       The master driver supports the ISPTM  and UNLKPT ioctls that  are  used
       by  the  functions grantpt(3C), unlockpt(3C) and ptsname(3C). The ioctl
       ISPTM determines whether the file descriptor is that of an open  master
       device. On success, it returns the 0. The ioctl UNLKPT unlocks the mas‐
       ter and slave devices. It returns 0 on success. On failure,  the  errno
       is set to EINVAL indicating that the master device is not open.

FILES
       /dev/ptmx     master clone device


       /dev/pts/N    slave devices (N = 1 -> number of ptys available)


SEE ALSO
       ptsname(3C), unlockpt(3C), grantpt(3C), pts(4D), pckt(4M)


       STREAMS Programming Guide


       Oracle Solaris 11.4 Tunable Parameters Reference Manual



Oracle Solaris 11.4              12 June 2017                          ptm(4D)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3