Content-type: text/html Man page of datamsg

datamsg

Section: Kernel Functions for Drivers (9F)
Updated: 16 Jan 2006
Index Return to Main Contents
 

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

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).  

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

Example 1: 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 }

 

SEE ALSO

put(9E), srv(9E), allocb(9F), datab(9S), msgb(9S)

Writing Device Drivers

STREAMS Programming Guide


 

Index

NAME
SYNOPSIS
INTERFACE LEVEL
PARAMETERS
DESCRIPTION
RETURN VALUES
CONTEXT
EXAMPLES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:39:36 GMT, October 02, 2010