ptem(7M)




NAME

     ptem - STREAMS Pseudo Terminal Emulation module


SYNOPSIS

     int ioctl(fd, I_PUSH, "ptem");


DESCRIPTION

     ptem is a STREAMS module that, when used in conjunction with
     a  line  discipline  and  pseudo terminal driver, emulates a
     terminal.

     The ptem module must be pushed (see   I_PUSH,  streamio(7I))
     onto  the slave side of a pseudo terminal STREAM, before the
     ldterm(7M) module is pushed.

     On the write-side, the  TCSETA,  TCSETAF,  TCSETAW,  TCGETA,
     TCSETS,   TCSETSW,   TCSETSF,   TCGETS,   TCSBRK,  JWINSIZE,
     TIOCGWINSZ, and TIOCSWINSZ termio ioctl(2) messages are pro-
     cessed  and  acknowledged.  If remote mode is not in effect,
     ptem handles the TIOCSTI ioctl by copying the argument bytes
     into  an   M_DATA  message  and  passing it back up the read
     side. Regardless of  the  remote  mode  setting,  ptem  ack-
     nowledges  the  ioctl and passes a copy of it downstream for
     possible further processing. A hang up (that is, stty 0)  is
     converted  to  a zero length M_DATA message and passed down-
     stream. Termio cflags and window row and column  information
     are stored locally one per stream. M_DELAY messages are dis-
     carded. All other messages are passed downstream unmodified.

     On the read-side all messages are passed upstream unmodified
     with  the  following exceptions. All M_READ and M_DELAY mes-
     sages are freed in both directions. A TCSBRK ioctl  is  con-
     verted  to  an  M_BREAK  message and  passed upstream and an
     acknowledgement is returned downstream. A  TIOCSIGNAL  ioctl
     is  converted  into an M_PCSIG message,  and passed upstream
     and an acknowledgement is  returned  downstream.  Finally  a
     TIOCREMOTE  ioctl  is  converted into an M_CTL message, ack-
     nowledged,  and  passed  upstream;  the  resulting  mode  is
     retained for use in subsequent TIOCSTI parsing.


FILES

     <sys/ptem.h>


SEE ALSO

     stty(1),  ioctl(2),  ldterm(7M),   pckt(7M),   streamio(7I),
     termio(7I)

     STREAMS Programming Guide


Man(1) output converted with man2html