DATAMSG(9F) | Kernel Functions for Drivers | DATAMSG(9F) |
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 datamsg() function 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
1
0
The datamsg() function can be called from user, interrupt, or kernel 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)
Writing Device Drivers
STREAMS Programming Guide
February 17, 2023 | OmniOS |