.if n .pH ddi.rm/d3/gen/msgpullup @(#)msgpullup 43.8 of 11/27/92 .TH msgpullup D3 .IX "\f4msgpullup\fP(D3)" .SH NAME \f4msgpullup\fP \- concatenate bytes in a message .SH SYNOPSIS .nf .na .ft 4 #include #include .sp 0.4 mblk_t *msgpullup(mblk_t *\f2mp\fP, int \f2len\fP); .ft 1 .ad .fi .SS Arguments .RS 0 .IP "\f2mp\fP" 10n Pointer to the message whose blocks are to be concatenated. .IP "\f2len\fP" 10n Number of bytes to concatenate. .RE .SH DESCRIPTION \f4msgpullup\fP concatenates and aligns the first \f2len\fP data bytes of the message pointed to by \f2mp\fP, copying the data into a new message. All message blocks that remain in the original message once \f2len\fP 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. .P The original message is unaltered. If \f2len\fP equals \-1, all data are concatenated. If \f2len\fP bytes of the same message type cannot be found, \f4msgpullup\fP fails and returns \f4NULL\fP. .SS "Return Values" On success, \f4msgpullup\fP returns a pointer to the new message. On failure, \f4msgpullup\fP returns \f4NULL\fP. .SH USAGE .SS Level Base or Interrupt. .SS "Synchronization Constraints" Does not sleep. .P Driver-defined basic locks, read/write locks, and sleep locks may be held across calls to this function. .SH REFERENCES .na \f4allocb\fP(D3), \f4msgb\fP(D4) .ad