datamsg(9F) manual page
Table of Contents
datamsg - test whether a message is a data message
#include <sys/stream.h>
#include <sys/ddi.h>
int datamsg(unsigned char type);
Architecture independent
level 1 (DDI/DKI).
- type
- The type of message to be tested. The
db_type field of the datab(9S)
structure contains the message type. This
field may be accessed through the message block using mp->b_datap->db_type.
datamsg() tests the type of message to determine if it is
a data message type (M_DATA
, M_DELAY
, M_PROTO
, or M_PCPROTO
).
datamsg
returns
- if the message is a data message
- otherwise.
datamsg() can
be called from user or interrupt context.
The put(9E)
routine enqueues
all data messages for handling by the srv(9E)
(service) routine. All non-data
messages are handled in the put(9E)
routine.
1 xxxput(q, mp) 2 queue_t *q;
3 mblk_t *mp;
4 {
5 if (datamsg(mp->b_datap->db_type)) {
6 putq(q, mp);
7 return;
8 }
9 switch (mp->b_datap->db_type) {
10 case M_FLUSH:
. . .
11 }
12 }
put(9E)
, srv(9E)
, allocb(9F)
, datab(9S)
, msgb(9S)
Table of Contents