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

NAME


qinit - STREAMS 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.

illumos October 17, 2018 illumos