SVR5 and SCO OpenServer 5
M_PROTO, M_PCPROTO --
hold internal control information and associated data
M_PROTO and M_PCPROTO are used
to hold internal control information and associated data.
The message format is
one M_PROTO or M_PCPROTO message block
followed by zero or more M_DATA message blocks as shown below.
The semantics of the M_DATA and M_PROTO message block
are determined by the STREAMS module that receives the message.
These message blocks typically contain
implementation-dependent control information.
M_PROTO messages are generally sent bidirectionally
on a Stream, and their contents can be passed between a process
and the Stream head.
The contents of the first message block of
an M_PROTO message are generally referred to
as the control part,
and the contents of any following M_DATA message blocks
are referred to as the data part.
the control and data parts are passed separately.
These calls refer to M_PROTO messages
as non-priority messages,
and the M_PCPROTO messages as priority messages.
On the write side, the user can only generate
M_PROTO mesages containing
one M_PROTO message block.
follow these rules.
on a Stream does not generate any M_PROTO blocks
because that interface can only write data,
not the control information that M_PROTO contains.
Although this usage is not recommended,
the format of M_PROTO and M_PCPROTO
messages sent upstream to the Stream head allows
multiple PROTO blocks at the beginning of the message.
getmsg compacts the blocks into a single
control part when passing them to the user process.
The M_PCPROTO message type
has the same format and characteristics
as the M_PROTO message type,
except for priority
and the following additional attributes:
When an M_PCPROTO message is placed on a queue,
its service procedure is always enabled.
The Stream head allows only one M_PCPROTO message
to be placed in its read queue at a time.
If an M_PCPROTO message
is already in the queue when another arrives,
the second message is silently discarded
and its message blocks freed.
M_PCPROTO messages send data and control information
outside the normal flow control constraints.
system calls refer to M_PCPROTO messages as priority messages.
M_PROTO message blocks are ordinary (non-priority);
M_PCPROTO message blocks are priority.
1, 2, 3, 4, 5, 5mp, 6, 6mp, 7, 7mp, 7.1, 7.1mp, 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