QINIT(9S) Data Structures for Drivers QINIT(9S)

NAME

qinitSTREAMS queue processing procedures structure

SYNOPSIS

#include <sys/stream.h>

INTERFACE LEVEL

Architecture independent level 1 (DDI/DKI)

DESCRIPTION

The qinit structure contains pointers to processing procedures for a QUEUE. The streamtab structure for the module or driver contains pointers to one queue(9S) structure for both upstream and downstream processing.

STRUCTURE MEMBERS

The qinit structure includes the following members:
 
typedef int (*qi_putp_t)(queue_t *, mblk_t *); 
typedef int (*qi_srvp_t)(queue_t *); 
typedef int (*qi_qopen_t)(queue_t *, dev_t *, int, int, cred_t *); 
typedef int (*qi_qclose_t)(queue_t *, int, cred_t *); 
typedef int (*qi_qadmin_t)(void); 
typedef int (*qi_rwp_t)(queue_t *, struiod_t *); 
typedef int (*qi_infop_t)(queue_t *, infod_t *); 
 
struct qinit { 
    qi_putp_t       qi_putp;       /* put procedure */ 
    qi_srvp_t       qi_srvp;       /* service procedure */ 
    qi_qopen_t      qi_qopen;      /* called on startup */ 
    qi_qclose_t     qi_qclose;     /* called on finish */ 
    qi_qadmin_t     qi_qadmin;     /* for future use */ 
    struct module_info *qi_minfo;  /* module information */ 
    struct module_stat *qi_mstat;  /* module statistics */ 
    qi_rwp_t        qi_rwp;        /* r/w procedure */ 
    qi_infop_t      qi_infop;      /* information procedure */ 
    int             qi_struiot;    /* stream uio type for struio() */ 
};

SEE ALSO

queue(9S), streamtab(9S)
Writing Device Drivers
STREAMS Programming Guide

NOTES

This release includes no support for module statistics.
October 17, 2018 illumos