Several STREAMS messages differ in their purpose and queueing priority. The message types are briefly described and classified, according to their queueing priority, in Table 7-1. A detailed discussion of Message Types is in Chapter 8, Messages - Kernel Level.
Some message types are defined as high-priority types. The others can have a normal priority of 0, or a priority (also called a band) from 1 to 255.
Table 7-1 Ordinary Messages, Showing Direction of Communication Flow
Direction |
||
---|---|---|
M_BREAK |
Request to a Stream driver to send a "break" |
Upstream |
M_CTL |
Control or status request used for intermodule communication |
Bidirectional |
M_DATA |
User data message for I/O system calls |
Bidirectional |
M_DELAY |
Request for a real-time delay on output |
Downstream |
M_IOCTL |
Control/status request generated by a Stream head |
Downstream |
M_PASSFP |
File pointer-passing message |
Bidirectional |
M_PROTO |
Protocol control information |
Bidirectional |
M_SETOPTS |
Sets options at the Stream head; sends upstream |
Upstream |
M_SIG |
Signal sent from a module or driver |
Upstream |
Table 7-2 High-Priority Messages, Showing Direction of Communication Flow
Direction |
||
---|---|---|
M_COPYIN |
Copies in data for transparent ioctl(2)s |
Upstream |
M_COPYOUT |
Copies out data for transparent ioctl(2)s |
Upstream |
M_ERROR |
Reports downstream error condition |
Upstream |
M_FLUSH |
Flushes module queue |
Bidirectional |
M_HANGUP |
Sets a Stream head hangup condition |
Upstream |
M_UNHANGUP |
Reconnects line, sends upstream when hangup reverses |
Upstream |
M_IOCACK |
Positiveioctl(2) acknowledgment |
Upstream |
M_IOCDATA |
Data for transparent ioctl(2)s, sent downstream |
Downstream |
M_IOCNAK |
Negative ioctl(2) acknowledgment |
Upstream |
M_PCPROTO |
Protocol control information |
Bidirectional |
M_PCSIG |
Sends signal from a module or driver |
Upstream |
M_READ |
Read notification; sends downstream |
Downstream |
M_START |
Restarts stopped device output |
Downstream |
M_STARTI |
Restarts stopped device input |
Downstream |
M_STOP |
Suspends output |
Downstream |
M_STOPI |
Suspends input |
Downstream |