.TH module_info "" "" "STREAMS Data Structure"
.PC "Information about a STREAMS driver or module"
.B "#include <sys/conf.h>"
.B "#include <sys/stream.h>"
.B "#include <sys/types.h>"
.PP
Structure
.B module_info
holds the identification data and limits
that with which a queue is initialized.
The kernel creates one
.B module_info
for each driver or module, and initializes it to the values
that the driver or module requires.
A driver or module can have separate
.B module_info
structures for its read queues and write queues, or it can use the same
.B module_info
for both.
.PP
A driver can view the following fields within
.BR module_info :
.IP "\fBushort_t mi_idnum\fR" 1.5i
A number that uniquely identifies the driver or module.
.IP "\fBchar *mi_idname\fR"
The address of the name of the driver or module.
A name cannot have more than
.B FMNAMESZ
characters, not including the terminating NUL.
At present, this constant is set to eight.
.IP "\fBlong mi_minpsz\fR"
The minimum size of a message packet.
.IP "\fBlong mi_maxpsz\fR"
The maximum size of a message packet.
.IP "\fBulong_t mi_hiwat\fR"
The default high-water mark for the queue.
If the queue's messages together hold more than this number of
bytes of data, the queue is declared to be full and is flow-controlled.
.IP "\fBulong_t mi_lowat\fR"
The default low-water mark for the queue.
If the queue's messages together hold fewer than this number of
bytes of data, the queue is declared not to be full and
is not flow-controlled.
.PP
.B module_info
is read-only; however, its fields
.BR mi_minpsz ,
.BR mi_maxpsz ,
.BR mi_hiwat ,
and
.B mi_lowat
can be copied into a
.B queue
structure, where they can be modified.
.SH "See Also"
.B
DDI/DKI data structures,
queue
.R
