The allocb utility returns a message containing a single block with a buffer of at least the size requested, provided there is a buffer available at the priority requested. When requesting priority for messages, developers must weigh the process' need for resources against the needs of other processes on the same machine. A driver or module can assign most types to a message it generates, and a module can modify a message type during processing. The stream head will convert certain system calls to specified message types and send them downstream. It will also respond to other calls by copying the contents of certain message types that were sent upstream.
Messages exist only in the kernel, so a user process can only send and receive buffers.
However, the distinction between control information and data is generally determined by the developer when implementing a particular stream. Service interface information is carried between two stream entities that present service interfaces. Condition or status information can be sent between any two stream entities regardless of their interface. When a service procedure receives control, it may encounter multiple messages on its message queue. In this interval, there can be multiple calls to the put procedure causing multiple messages.