STREAMS-UX Programmer's Guide (February 2007)
Multiplexing
STREAMS Multiplexor
Chapter 5
126
static struct qinit mux_uwinit = { /* upper write */
mux_uwput, mux_uwsrv, NULL, NULL, NULL, &minfo
};
static struct qinit mux_lrinit = { /* lower read */
mux_lrput, mux_lrsrv, NULL, NULL, NULL, &minfo
};
static struct qinit mux_lwinit = { /* lower write */
NULL, mux_lwsrv, NULL, NULL, NULL, &minfo
};
static drv_info_t mux_info = {
"MUX", /* Driver name */
"pseudo", /* Driver Class */
DRV_CHAR | DRV_PSEUDO | DRV_MP_SAFE, /* Driver flags */
-1, /* Block Major number */
-1, /* Character Major number */
NULL, NULL, NULL /* cdio, gio_private, cdio_private */
}
static drv_ops_t mux_drv_ops = {
NULL, /* d_open */
NULL, /* d_close */
NULL, /* d_strategy */
NULL, /* d_dump */
NULL, /* d_psize */
NULL, /* d_mount */
NULL, /* d_read */
NULL, /* d_write */
NULL, /* d_ioctl */
NULL, /* d_select */
NULL, /* d_option1 */
NULL, NULL, NULL, NULL, /* reserved entry points */
NULL /* d_flags */
};
static streams_info_t mux_str_info = {
"MUX", /* Module name */