freeb(9r)freeb(9r)NAMEfreeb - STREAMS: Frees a message block
SYNOPSIS
#include <sys/stream.h>
void freeb(
MBLKP message_block_ptr );
ARGUMENTS
Specifies a pointer to the message block to be deallocated. The type‐
def 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 inde‐
pendent 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 associ‐
ated with the buffer.
RETURN VALUES
None
SEE ALSO
Kernel Interfaces: allocb(9r), dupb(9r), esballoc(9r)
Programmer's Guide: STREAMS
freeb(9r)