Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Kernel Functions for Driversdatamsg(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 put9E routine enqueues all data messages for handling by the srv9E (service) routine. All non-data messages are handled in the put9E 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.9Go To TopLast Changed 11 Apr 1991

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.