datamsg(9f) [xfree86 man page]
datamsg(9F) Kernel Functions for Drivers datamsg(9F) NAME
datamsg - test whether a message is a data message SYNOPSIS
#include <sys/stream.h> #include <sys/ddi.h> 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 message block using mp->b_datap->db_type. DESCRIPTION
datamsg() tests the type of message to determine 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
datamsg() can be called from user or interrupt context. EXAMPLES
Example 1: The put(9E) routine enqueues all data messages for handling by the srv(9E) (service) routine. All non-data messages are han- dled 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 } SEE ALSO
put(9E), srv(9E), allocb(9F), datab(9S), msgb(9S) Writing Device Drivers STREAMS Programming Guide SunOS 5.10 11 Apr 1991 datamsg(9F)
Check Out this Related Man Page
datamsg(9F) Kernel Functions for Drivers datamsg(9F) NAME
datamsg - test whether a message is a data message SYNOPSIS
#include <sys/stream.h> #include <sys/ddi.h> 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 message block using mp->b_datap->db_type. DESCRIPTION
datamsg() tests the type of message to determine 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
datamsg() can be called from user or interrupt context. EXAMPLES
Example 1: The put(9E) routine enqueues all data messages for handling by the srv(9E) (service) routine. All non-data messages are han- dled 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 } SEE ALSO
put(9E), srv(9E), allocb(9F), datab(9S), msgb(9S) Writing Device Drivers STREAMS Programming Guide SunOS 5.10 11 Apr 1991 datamsg(9F)