- allocate a message block using a template
#include <sys/stream.h> mblk_t *allocb_tmpl(size_t size, const mblk_t *tmpl);
Solaris DDI specific (Solaris DDI)
The number of bytes in the message block.
The template message block.
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.
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.
The allocb_tmpl() function can be called from user, interrupt, or kernel context.