Kernel Functions for Drivers datamsg(9F)
NAME
datamsg - test whether a message is a data message
SYNOPSIS
#include
#include
int datamsg(unsigned char type);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
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 messageblock using mp->b_datap->db_type.
DESCRIPTION
The datamsg() function tests the type of message to deter-
mine if it is a data message type (M_DATA, M_DELAY, M_PROTO
, or M_PCPROTO).
RETURN VALUES
datamsg returns
1 if the message is a data message 0 otherwise.CONTEXT
The datamsg() function can be called from user, interrupt,
or kernel context.EXAMPLES
The put(9E) routine enqueues all data messages for handlingby 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;SunOS 5.11 Last change: 16 Jan 2006 1
Kernel Functions for Drivers datamsg(9F)
8 }9 switch (mp->b_datap->db_type) {
10 case M_FLUSH:
... 11 } 12 }SEE ALSO
put(9E), srv(9E), allocb(9F), datab(9S), msgb(9S) Writing Device Drivers STREAMS Programming GuideSunOS 5.11 Last change: 16 Jan 2006 2