msgpullup(D3)

msgpullup - concatenate bytes in a message

As shipped in IRIX 6.5.15. Unchanged since IRIX 6.5.

NAME
     msgpullup - 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.

DESCRIPTION
     msgpullup 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.

REFERENCES
     allocb(D3), msgb(D4)