MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Kernel Functions for Drivers                        mexchange(9F)



NAME
     mexchange - Exchange one message for another

SYNOPSIS
     #include 
     #include 



     mblkt *mexchange(queuet *wq, mblkt *mp, sizet size,
          uchart type, int32t primtype);


INTERFACE LEVEL
     Solaris DI specific (Solaris DI).

PARAMETERS
     wq          Optionally, write queue associated with the read
                 queue to be used on failure (see below).


     mp          Optionally, the message to exchange.


     size        Size of the returned message.


     type        Type of the returned message.


     primtype    Optionally, a 4  byte  value  to  store  at  the
                 beginning of the returned message.


DESCRIPTION
     The mexchange() function exchanges the passed in message for
     another message of the specified size and type.


     If mp is not NUL, is of at least size bytes, and  has  only
     one reference (see dupmsg(9F)), mp is converted to be of the
     specified size and type. Otherwise, a  new  message  of  the
     specified  size  and type is allocated. If allocation fails,
     and wq is not NUL, merror(9F) attempts to send an error  to
     the stream head.


     Finally, if primtype is not -1 and size is at least 4 bytes,
     the  first  4  bytes  are  assigned  to be primtype. This is
     chiefly useful for STREAMS-based protocols such as DLPI  and
     TPI  which  store  the  protocol message type in the first 4
     bytes of each message.



SunOS 5.11          Last change: 9 June 2004                    1






Kernel Functions for Drivers                        mexchange(9F)



RETURN VALUES
     A pointer to the requested message is returned  on  success.
     NUL is returned on failure.

CONTEXT
     This function can be called from user, kernel  or  interrupt
     context.

SEE ALSO
     dupmsg(9F), merror(9F)


     STREAMS Programming Guide










































SunOS 5.11          Last change: 9 June 2004                    2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™