PTEM(4M)                       STREAMS Modules                      PTEM(4M)
NAME
     ptem - STREAMS Pseudo-Terminal Emulation module
SYNOPSIS
     #include <unistd.h>     #include <stropts.h>     int     ioctl(
int fildes, I_PUSH, "ptem");
DESCRIPTION
     ptem is a STREAMS module that emulates a terminal device when used in
     conjunction with the line discipline, 
ldterm(4M), and the pseudo
     terminal driver, 
ptm(4D).
     The 
ptem module must be pushed (see I_PUSH in 
streamio(4I)) onto the
     subsidiary device of a pseudo-terminal STREAM, before the 
ldterm(4M)     module is pushed.   
Write-side Behaviour     The TCSETA, TCSETAF, TCSETAW, TCGETA, TCSETS, TCSETSW, TCSETSF, TCGETS,
     TCSBRK, JWINSIZE, TIOCGWINSZ, and TIOCSWINSZ 
termio(4I) ioctl(2)     messages are processed 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     acknowledges the ioctl and passes a copy of it downstream for possible
     further processing.
     A hang up (e.g., 
stty 0) is converted to a zero length M_DATA message
     and passed downstream.  
termio(4I) cflags and window row and column
     information are stored locally, one per stream.  M_DELAY messages are
     discarded.
     All other messages are passed downstream unmodified.   
Read-side Behaviour     All messages are passed upstream unmodified with the following
     exceptions:     
+o   All M_READ and M_DELAY messages are freed in both directions.     
+o   A TCSBRK ioctl is converted to an M_BREAK message and passed
         upstream and an acknowledgement is returned downstream.     
+o   A TIOCSIGNAL ioctl is converted into an M_PCSIG message, passed
         upstream, and an acknowledgement is returned downstream.     
+o   A TIOCREMOTE ioctl is converted into an M_CTL message,
         acknowledged, and passed upstream; the resulting mode is retained
         for use in subsequent TIOCSTI parsing.
SEE ALSO
     stty(1), 
ioctl(2), 
streamio(4I), 
termio(4I), 
ldterm(4M), 
pckt(4M)illumos                       February 5, 2022                       illumos