free_rtn(D4)

free_rtn - STREAMS driver's message free routine structure

As shipped in IRIX 6.5.7. Unchanged since IRIX 6.5.

NAME
     free_rtn - STREAMS driver's message free routine structure

SYNOPSIS
     #include <sys/stream.h>
     #include <sys/ddi.h>

DESCRIPTION
     A free_rtn structure is needed for messages allocated via esballoc(D3).

USAGE
     Since the driver is providing the memory for the data buffer, a way is
     needed to notify the driver when the buffer is no longer in use.
     esballoc associates the free routine structure with the message when it
     is allocated.  When freeb(D3) is called to free the message and the
     reference count goes to zero, the driver's message free routine is
     called, with the argument specified, to free the data buffer.

   Structure Definitions
     The free_rtn structure is defined as type frtn_t and contains the
     following members:

     void  (*free_func)()  /* driver's free routine */
     char  *free_arg       /* argument to free_func() */
     The free_func field specifies the driver's function to be called when the
     message has been freed.  It is called with interrupts from STREAMS
     devices blocked on the processor on which the function is running.

     The free_arg field is the only argument to the driver's free routine.

REFERENCES
     esballoc(D3), freeb(D3)