pckt(7m) [sunos man page]
pckt(7M) STREAMS Modules pckt(7M) NAME
pckt - STREAMS Packet Mode module SYNOPSIS
int ioctl( fd, I_PUSH, "pckt"); DESCRIPTION
pckt is a STREAMS module that may be used with a pseudo terminal to packetize certain messages. The pckt module should be pushed (see I_PUSH on streamio(7I)) onto the master side of a pseudo terminal. Packetizing is performed by prefixing a message with an M_PROTO message. The original message type is stored in the 1 byte data portion of the M_PROTO message. On the read-side, only the M_PROTO, M_PCPROTO, M_STOP, M_START, M_STOPI, M_STARTI, M_IOCTL, M_DATA, M_FLUSH, and M_READ messages are packetized. All other message types are passed upstream unmodified. Since all unread state information is held in the master's stream head read queue, flushing of this queue is disabled. On the write-side, all messages are sent down unmodified. With this module in place, all reads from the master side of the pseudo terminal should be performed with the getmsg(2) or getpmsg() func- tion. The control part of the message contains the message type. The data part contains the actual data associated with that message type. The onus is on the application to separate the data into its component parts. SEE ALSO
getmsg(2), ioctl(2), ldterm(7M), ptem(7M), streamio(7I), termio(7I) STREAMS Programming Guide SunOS 5.10 3 Jul 1990 pckt(7M)
Check Out this Related Man Page
ptem(7) Miscellaneous Information Manual ptem(7) NAME
ptem - STREAMS pty (pesudo-terminal) Emulation module SYNOPSIS
DESCRIPTION
is a STREAMS module that emulates a terminal when used in conjunction with (STREAMS line discipline) and (STREAMS slave pty driver). The module normally sits above and below The user process must push the module onto the slave side of the pty with a call to the STREAMS ioctl(2) system call before is pushed. is responsible for processing all of the terminal commands that are passed downstream from or from (STREAMS pty master driver). and together provide a real terminal behavior for the STREAMS pty slave. However, some of the terminal commands are ignored and cause only an acknowledgement of the command since there is no real terminal or modem in the pty subsystem. In fact, none of the flags in the field of the or structures, (which is used by the or respectively), have any effect on the pty except if the baud rate is set to zero. Setting the baud rate to zero will have the effect of hanging up the pty connection. Similarly, the parity or delay flags in the field will not have any effect at all on the pty. As a summary, the module performs the following tasks: o The following are processed, if appropriate, and acknowledged by sending an message upstream when they are received on write queue: and o Keeps track of the window size needed for the and o Upon receiving any other on its write queue, acknowledges them negatively by sending an message upstream. o The following are passed downstream by after they have been processed: and o Any message that is received on read queue will be freed in case the module is not pushed on the and the above get to the pty master STREAMS head, which would then send an message downstream. o When is opened and all conditions for setting up a controlling terminal are met, it sends an message (with the flag set) upstream to the STREAMS head to allocate a controlling terminal. o Upon receiving an message of type on its read queue, sends an message downstream and an message upstream. o When an message is received on its write queue to set the baud rate to zero (e.g. with CBAUD set to B0), sends an message upstream and a zero-length message downstream to be read by the pty master process. o When an message of type is received on its read queue, sends an message downstream and an message upstream with the signal number set to the same value used in the message. o When an message of type is received on its read queue, sends an message downstream and an message (with ioc_cmd set to or upstream to enable or disable the input processing on o When an message is received on its read or write queue, simply discards the message without any action. o When an message of type is received on its write queue and if the values in the structure in are not zero, sends an message upstream with the structure. If the values are zero, sends an message upstream. o When an message of type is received on its write queue and if the values in the structure in are not zero, sends an message upstream with the structure. If the values are zero, sends an message upstream. o When an message of type is received in its write queue, saves the information passed to it in the structure and sends an (with the signal number set to upstream to the pty slave process if the window size is changed. o When an message of type is received on its read queue and if the values in the structure in are not zero, sends an message down- stream with the structure. If the values are zero, sends an message downstream. o When an message of type is received in its read queue, saves the information passed to it in the structure and sends an (with the signal number is set to upstream to the pty slave process if the window size is changed. o All other messages not mentioned above are passed to the next module or driver. AUTHOR
was developed by HP. SEE ALSO
ioctl(2), streamio(7), ptm(7), pts(7), ldterm(7). ptem(7)