Go to main content

man pages section 9: DDI and DKI Kernel Functions

Exit Print View

Updated: July 2017
 
 

msgpullup(9F)

Name

msgpullup - concatenate bytes in a message

Synopsis

#include <sys/stream.h>

mblk_t *msgpullup(mblk_t *mp, ssize_t len);

Interface Level

Architecture independent level 1 (DDI/DKI).

Parameters

mp

Pointer to the message whose blocks are to be concatenated.

len

Number of bytes to concatenate.

Description

The msgpullup() function concatenates and aligns the first len data bytes of the message pointed to by mp, copying the data into a new message. Any remaining bytes in the remaining message blocks will be copied and linked onto the new message. The original message is unaltered. If len equals −1, all data are concatenated. If len bytes of the same message type cannot be found, msgpullup() fails and returns NULL.

Return Values

The msgpullup function returns the following values:

Non-null

Successful completion. A pointer to the new message is returned.

NULL

An error occurred.

Context

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

See Also

srv(9E), allocb(9F), pullupmsg(9F), msgb(9S)

Writing Device Drivers for Oracle Solaris 11.3

STREAMS Programming Guide

Notes

The msgpullup() function is a DKI-compliant replacement for the older pullupmsg(9F) routine. Users are strongly encouraged to use msgpullup() instead of pullupmsg(9F).