qinit(D4)

qinit - STREAMS queue initialization structure

Showing IRIX 6.5.30 (default release). Unchanged since IRIX 6.5.

NAME
     qinit - STREAMS queue initialization structure

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

DESCRIPTION
     The qinit structure contains pointers to processing procedures and
     default values for a queue(D4).  Drivers and modules declare qinit
     structure for their read and write queues, and place the addresses of the
     structures in their streamtab(D4) structure.  After the initial
     declaration, all fields are intended to be read-only.

USAGE
     There is usually one qinit structure for the read side of a module or
     driver, and one qinit structure for the write side.

   Structure Definitions
     The qinit structure contains the following members:

     int                 (*qi_putp)();    /* put procedure */
     int                 (*qi_srvp)();    /* service procedure */
     int                 (*qi_qopen)();   /* open procedure */
     int                 (*qi_qclose)();  /* close procedure */
     int                 (*qi_qadmin)();  /* for future use */
     struct module_info  *qi_minfo;       /* module parameters */
     struct module_stat  *qi_mstat;       /* module statistics */

     The qi_putp field contains the address of the put(D2) routine for the
     queue.

     The qi_srvp field contains the address of the service [srv(D2)] routine
     for the queue.  If there is no service routine, this field should be set
     to NULL.

     The qi_qopen field contains the address of the open(D2) routine for the
     driver or module.  Only the read-side qinit structure need define contain
     the routine address.  The write-side value should be set to NULL.

     The qi_qclose field contains the address of the close(D2) routine for the
     driver or module.  Only the read-side qinit structure need define contain
     the routine address.  The write-side value should be set to NULL.

     The qi_qadmin field is intended for future use and should be set to NULL.

     The qi_minfo field contains the address of the module_info(D4) structure
     for the driver or module.

     The qi_mstat field contains the address of the module_stat structure for
     the driver or module.  The module_stat structure is defined in
     /usr/include/sys/strstat.h.  This field should be set to NULL if the
     driver or module does not keep statistics.

REFERENCES
     module_info(D4), queue(D4), streamtab(D4)