SVR5 and SCO OpenServer 5
STREAMS message block structure
A STREAMS message is made up
of one or more message blocks,
referenced by a pointer to a msgb structure.
When a message is on a queue,
all members are read-only to drivers and modules.
The msgb structure is defined as type
and contains the following members:
struct msgb *b_next;
struct msgb *b_prev;
struct msgb *b_cont;
struct datab *b_datap;
pointers that are used to link messages together on a
These members can be used by drivers and modules
to create linked lists of messages.
links message blocks together when a message is
composed of more than one block.
Drivers and modules can use this
member to create complex messages from single message blocks.
describe the valid data region in the associated data buffer.
b_rptr member points
to the first unread byte in the buffer
points to the next byte to be written in the buffer.
points to the
data block that is associated with the message block.
Modules and drivers must not change this member.
contains the priority band associated with the message.
Normal priority messages and high priority messages
b_band set to zero.
High priority messages are high priority
by virtue of their message type.
This member can be used to alter
the queuing priority of the message.
The higher the priority band,
the closer to the head of the queue the message is placed.
contains a bitmask of flags that can be set to
alter the way the stream head will process the message.
Valid flags are:
The last byte in the message is ``marked.''
This condition is
testable from user level with
1, 2, 3, 4, 5, 5mp, 6, 6mp, 7, 7mp, 8, 8mp
1, 2, 2mp, 3, 3mp, 4, 4mp, 5, 5mp
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005