NAME | SYNOPSIS | PARAMETERS | INTERFACE LEVEL | DESCRIPTION | RETURN VALUES | CONTEXT | SUMMARY OF TRUSTED SOLARIS CHANGES | SEE ALSO | NOTES
#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.
Upon successful completion, msgpullup() returns a pointer to the new message. Upon failure, msgpullup() returns NULL.
msgpullup() can be called from user or interrupt context.
This routine will try to assign attribute structures to the mblks of amessage that does not have one. The first attribute stucture found will be used. If a stream module illegally combined messages, mblks can have different attribute structures; in that case, the message will be dropped by this routine unless overridden by the TSOL_STR_LINKB flag.
msgpullup() is a DKI-compliant replacement for the older pullupmsg(9F) routine. Users are strongly encouraged to use msgpullup() instead of pullupmsg(9F).
These interfaces are uncommitted. Although not expected to do so, they may change between minor Trusted Solaris releases.
NAME | SYNOPSIS | PARAMETERS | INTERFACE LEVEL | DESCRIPTION | RETURN VALUES | CONTEXT | SUMMARY OF TRUSTED SOLARIS CHANGES | SEE ALSO | NOTES