linkblk(D4DK) —
NAME
linkblk − STREAMS multiplexor link structure
SYNOPSIS
#include <sys/stream.h>
DESCRIPTION
The linkblk structure contains the information needed by a multiplexing driver to set up or take down a multiplexor link. The structure is embedded in the M_DATA portion of the M_IOCTL messages generated from the following ioctl(2) calls: I_LINK, I_UNLINK, I_PLINK, and I_PUNLINK [see streamio(7)].
STRUCTURE MEMBERS
| queue_t | ∗l_qtop; | /∗ lower queue of top stream ∗/ |
| queue_t | ∗l_qbot; | /∗ upper queue of bottom stream ∗/ |
| int | l_index; | /∗ unique ID ∗/ |
The l_qtop field is a pointer to the lowest write queue in the upper stream. In other words, it is the write queue of the multiplexing driver. If the link is persistent across closes of the driver, then this field is set to NULL.
The l_qbot field is a pointer to the upper write queue in the lower stream. The lower stream is the stream being linked under the multiplexor. The topmost read and write queues in the lower stream are given to the multiplexing driver to use for the lower half of its multiplexor processing. The qinit(D4DK) structures associated with these queues are those specified for the lower processing in the multiplexing driver’s streamtab(D4DK) structure.
The l_index field is a unique ID that identifies the multiplexing link in the system. The driver can use this as a key on which it can multiplex or de-multiplex.
SEE ALSO
streamio(7) in the Programmer’s Guide: STREAMS
datab(D4DK), iocblk(D4DK), msgb(D4DK), qinit(D4DK), streamtab(D4DK), messages(D5DK)
ioctl(2) in the Programmer’s Reference Manual
DDI/DKI — STREAMS