Index Index for
Section 9r
Index Alphabetical
listing for F
Bottom of page Bottom of
page

freeb(9r)

NAME

freeb - STREAMS: Frees a message block

SYNOPSIS

#include <sys/stream.h> void freeb( MBLKP message_block_ptr );

ARGUMENTS

message_block_ptr Specifies a pointer to the message block to be deallocated. The typedef MBLKP is an alternate name for typedef struct msgb *.

DESCRIPTION

The freeb interface deallocates a message block. If the reference count of the db_ref member of the datab structure is greater than the value 1, freeb decrements the count. If db_ref equals the value 1, freeb deallocates the message block and the corresponding data block and buffer. If the data buffer to be freed was allocated in a call to the esballoc interface, the buffer may be a non-STREAMS resource. In that case, the driver must be notified that the attached data buffer needs to be freed by calling the driver's freeing interface. To make this process independent of the driver used in the stream, freeb finds the free_rtn structure associated with the buffer. The free_rtn structure contains a pointer to the driver-independent interface that releases the buffer. Once this is accomplished, freeb releases the STREAMS resources associated with the buffer.

RETURN VALUES

None

SEE ALSO

Kernel Interfaces: allocb(9r), dupb(9r), esballoc(9r) Programmer's Guide: STREAMS

Index Index for
Section 9r
Index Alphabetical
listing for F
Top of page Top of
page