adjmsg(9F)




NAME

     adjmsg - trim bytes from a message


SYNOPSIS

     #include <sys/stream.h>

     int adjmsg(mblk_t *mp, ssize_t len);


INTERFACE LEVEL

     Architecture independent level 1 (DDI/DKI).


PARAMETERS

     mp    Pointer to the message to be trimmed.

     len   The number of bytes to be removed.


DESCRIPTION

     The adjmsg() function removes bytes from  a  message.  |len|
     (the absolute value of len) specifies the number of bytes to
     be removed.  The adjmsg() function only trims  bytes  across
     message blocks of the same type.

     The adjmsg() function finds the maximal leading sequence  of
     message  blocks  of  the  same type as that of mp and starts
     removing bytes either  from the head  of  that  sequence  or
     from  the  tail  of that sequence. If len is greater than 0,
     adjmsg() removes bytes from the start of the  first  message
     block  in  that  sequence. If len is less than 0, it removes
     bytes from the  end  of  the  last  message  block  in  that
     sequence.

     The adjmsg() function fails if |len|  is  greater  than  the
     number of bytes in the maximal leading sequence it finds.

     The adjmsg() function may remove any except the first  zero-
     length message block created during  adjusting.  It may also
     remove any zero-length message blocks that occur within  the
     scope of |len|.


RETURN VALUES

     The adjmsg() function returns:

     1     Successful completion.

     0     An error occurred.


CONTEXT

     The adjmsg() function can be called from user  or  interrupt
     context.


SEE ALSO


     STREAMS Programming Guide


Man(1) output converted with man2html