#include <sys/stream.h>mblk_t *msgpullup(mblk_t *mp, ssize_t len);
Architecture independent level 1 (DDI/DKI).
msgpullup() 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.
msgpullup returns the following values:
Successful completion. A pointer to the new message is returned.
An error occurred.
msgpullup() can be called from user or interrupt context.