pckt(7)pckt(7)NAMEpckt - STREAMS module for constructing message packets on a pty
DESCRIPTION
The pckt module is a STREAMS module that can be used with a pseudoter‐
minal to transfer messages in packet mode. The packet mode feature of
pty devices allows the user process on the master side of the device to
be informed of state changes.
For packet mode to be enabled in the pty device, the user process must
push the pckt module onto the master side of the pty with a call to the
STREAMS I_PUSH ioctl() function.
When the user process writes data, the pckt module passes the message
on to the next module or driver unchanged. When the user process reads
data or when the pckt module receives certain STREAMS message types, it
constructs a packet out of the message for forwarding upstream.
To construct a message packet, the module creates an M_PROTO message.
This M_PROTO message contains the original message type in the first
data block and the original message in as many data blocks as needed.
The user process can then retrieve the M_PROTO message with a call to
the getmsg() function.
The STREAMS message types that the pckt module places in packets, are
the following:
M_DATA
M_IOCTL
M_PROTO
M_PCPROTO
M_FLUSH
M_START
M_STOP
M_STARTI
M_STOPI
M_READ
All other messages are passed unchanged upstream.
If the message is an M_FLUSH message, the pckt module looks at the flag
and takes the following actions: If the flag is FLUSHW, the module
changes it to FLUSHR before creating the M_PROTO message, and passes
the message upstream. The module also sends an M_FLUSH message with the
FLUSHW flag set. If the flag is FLUSHR, the module changes it to
FLUSHW before creating the M_PROTO message, and passes the message
upstream. If the flag is FLUSHRW, the module changes it to FLUSHW
before creating the M_PROTO message, and passes the message upstream.
The module also sends an M_FLUSH message with the FLUSHW flag set.
SEE ALSO
Functions: getmsg(2), ioctl(2)
Interfaces: ldterm(7), ptem(7), streamio(7)pckt(7)