[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    datamsg(9F) manual page Table of 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).

Arguments

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
  2. otherwise.

Context

datamsg() can be called from user or interrupt context.

Examples

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)



Table of Contents