Print this page
14249 pseudo-terminal nomenclature should reflect POSIX
Change-Id: Ib4a3cef899ff4c71b09cb0dc6878863c5e8357bc
@@ -1,54 +1,59 @@
PTEM(7M) STREAMS Modules PTEM(7M)
NAME
- ptem - STREAMS Pseudo Terminal Emulation module
+ ptem - STREAMS Pseudo-Terminal Emulation module
SYNOPSIS
- int ioctl(fd, I_PUSH, "ptem");
+ #include <unistd.h>
+ #include <stropts.h>
+ int
+ ioctl(int fildes, 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.
+ ptem is a STREAMS module that emulates a terminal device when used in
+ conjunction with the line discipline, ldterm(7M), and the pseudo terminal
+ driver, ptm(7D).
+ The ptem module must be pushed (see I_PUSH in streamio(7I)) onto the
+ subsidiary device of a pseudo-terminal STREAM, before the ldterm(7M)
+ module is pushed.
- 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.
+ Write-side Behaviour
+ The TCSETA, TCSETAF, TCSETAW, TCGETA, TCSETS, TCSETSW, TCSETSF, TCGETS,
+ TCSBRK, JWINSIZE, TIOCGWINSZ, and TIOCSWINSZ termio(7I) 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.
- On the write-side, the TCSETA, TCSETAF, TCSETAW, TCGETA, TCSETS,
- TCSETSW, TCSETSF, TCGETS, TCSBRK, JWINSIZE, TIOCGWINSZ, and TIOCSWINSZ
- termio 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 (that is, stty 0) is converted to a zero length
- M_DATA message and passed downstream. Termio 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.
+ A hang up (e.g., stty 0) is converted to a zero length M_DATA message and
+ passed downstream. termio(7I) 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.
- On the read-side all messages are passed upstream unmodified with the
- following exceptions. All M_READ and M_DELAY messages are freed in both
- directions. A TCSBRK ioctl is converted 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, acknowledged, and
- passed upstream; the resulting mode is retained for use in subsequent
- TIOCSTI parsing.
+ Read-side Behaviour
+ All messages are passed upstream unmodified with the following
+ exceptions:
-FILES
- <sys/ptem.h>
+ 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), ldterm(7M), pckt(7M), streamio(7I), termio(7I)
+ stty(1), ioctl(2), streamio(7I), termio(7I), ldterm(7M), pckt(7M)
-
- STREAMS Programming Guide
-
- July 3, 1990 PTEM(7M)
+illumos February 5, 2022 illumos