Content-type: text/html Man page of msgb

msgb

Section: Devices and Network Interfaces (4)
Index Return to Main Contents
 

NAME

msgb - Defines a STREAMS message block  

SYNOPSIS

#include <sys/stream.h> struct msgb {        struct msgb *b_next;
       struct msgb *b_prev;
       struct msgb *b_cont;
       unsigned char *b_rptr;
       unsigned char *b_wptr;
       struct datab *b_datap;
       MSG_KERNEL_FIELDS
};  

PARAMETERS

b_next
A pointer to the next message on the queue.
b_prev
A pointer to the previous message on the queue.
b_cont
A pointer to the next message block in the message.
b_rptr
A pointer to the first unread data byte in the buffer.
b_wptr
A pointer to the first unwritten data byte in the buffer.
b_datap
A pointer to the datab structure (data block) that contains the data for the message.
MSG_KERNEL_FIELDS
Additional fields that are visible within the kernel. The fields included and their contents depend on the kernel configuration.
 

DESCRIPTION

The msgb structure defines a message block. A message block carries data or information in a stream. A STREAMS message consists of message blocks linked through b_cont. Each message block points to a data block descriptor, which in turn points to a data buffer.

The msgb structure is typedefed as mblk_t. The associated data block is stored in a datab structure, which is typedefed as dblk_t.

The datab structure is defined (in sys/stream.h) as:

struct datab {
        struct datab *  db_freep;
        unsigned char * db_base;
        unsigned char * db_lim;
        unsigned char   db_ref;
        unsigned char   db_type;
        unsigned char   db_class;
        unsigned char   db_pad[1]; };

The datab fields are defined as follows:

db_freep
Used internally by the STREAMS memory allocator.
db_base
The first byte of the buffer.
db_lim
The last byte of the buffer, plus one.
db_ref
The number of message blocks ( struct msgb) that reference this data block.
db_type
The message type.
db_class
Used internally.
db_pade
Padding.

Messages are typed according to the value in the db_type field in the associated datab structure. Some possible type values are:

M_DATA
The message contains ordinary data.
M_PROTO
The message contains internal control information and data.

As part of its support for STREAMS, Tru64 UNIX provides the following interfaces for exchanging messages betweens STREAMS modules on the one hand and sockets and network protocols on the other: mbuf_to_mblk() - Converts an mbuf chain to an mblk chain mblk_to_mbuf() - Converts an mblk chain to an mbuf chain delim off


 

Index

NAME
SYNOPSIS
PARAMETERS
DESCRIPTION

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