msgpullup(D3)msgpullup(D3)NAMEmsgpullup - concatenate bytes in a message
SYNOPSIS
#include <sys/stream.h>
#include <sys/ddi.h>
mblk_t *msgpullup(mblk_t *mp, int len);
Arguments
mp Pointer to the message whose blocks are to be concatenated.
len Number of bytes to concatenate.
DESCRIPTIONmsgpullup concatenates and aligns the first len data bytes of the message
pointed to by mp, copying the data into a new message. All message
blocks that remain in the original message once len bytes have been
concatenated and aligned (including any partial message blocks) are
copied and linked to the end of the new message, so that the length of
the new message is equal to the length of the original 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
On success, msgpullup returns a pointer to the new message. On failure,
msgpullup returns NULL.
USAGE
Level
Base or Interrupt.
Synchronization Constraints
Does not sleep.
Driver-defined basic locks, read/write locks, and sleep locks may be held
across calls to this function.
REFERENCESallocb(D3), msgb(D4)
Page 1