man pages section 9: DDI and DKI Kernel Functions

Exit Print View

Updated: July 2014
 
 

allocb_tmpl(9F)

Name

allocb_tmpl - allocate a message block using a template

Synopsis

#include <sys/stream.h>

mblk_t *allocb_tmpl(size_t size, const mblk_t *tmpl);

Interface Level

Solaris DDI specific (Solaris DDI)

Parameters

size

The number of bytes in the message block.

tmpl

The template message block.

Description

The allocb_tmpl() function tries to allocate a STREAMS message block using allocb(9F). If the allocation is successful, the db_type field in the data block structure (dblk_t, see datab(9S)), as well as some implementation-private data, are copied from the dblk_t associated with tmpl.

The allocb_tmpl() function should be used when a new STREAMS message block is allocated. This block is then used to contain data derived from another STREAMS message block. The original message is used as the tmpl argument.

Return Values

Upon success, allocb_tmpl() returns a pointer to the allocated message block of the same type as tmpl. On failure, allocb_tmpl() returns a NULL pointer.

Context

The allocb_tmpl() function can be called from user, interrupt, or kernel context.

See Also

allocb(9F), datab(9S), msgb(9S)

Writing Device Drivers for Oracle Solaris 11.2

STREAMS Programming Guide