opensolaris man page for qassociate

Query: qassociate

OS: opensolaris

Section: 9f

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

qassociate(9F)						   Kernel Functions for Drivers 					    qassociate(9F)

NAME
qassociate - associate STREAMS queue with driver instance
SYNOPSIS
#include <sys/types.h> #include <sys/stream.h> #include <sys/stropts.h> #include <sys/ddi.h> #include <sys/sunddi.h> int qassociate(queue_t *q, int instance
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI).
PARAMETERS
queue_t *q Pointer to a queue(9S) structure. Either the read or write queue can be used. int instance Driver instance number or -1.
DESCRIPTION
The qassociate() function must be used by DLPI style 2 device drivers to manage the association between STREAMS queues and device instances. The gld(7D) does this automatically on behalf of drivers based on it. It is recommended that the gld(7D) be used for network device drivers whenever possible. The qassociate() function associates the specified STREAMS queue with the specified instance of the bottom driver in the queue. Upon suc- cessful return, the stream is associated with the instance with any prior association dissolved. A DLPI style 2 driver calls qassociate() while processing the DL_ATTACH_REQ message. The driver is also expected to call this interface while performing stream associations through other means, such as ndd(1M) ioctl commands. If instance is -1, the stream is left unassociated with any hardware instance. If the interface returns failure, the stream is not associated with the specified instance. Any prior association is left untouched. The interface typically fails because of failure to locate and attach the device instance. The interface never fails if the specified instance is -1.
CONTEXT
The qassociate() function can be called from the stream's put(9E) entry point.
RETURN VALUES
0 Success. -1 Failure.
EXAMPLES
DLPI style 2 network driver DL_ATTACH_REQ code specifies: if (qassociate(q, instance) != 0) goto fail; The association prevents Dynamic Reconfiguration (DR) from detaching the instance. DLPI style 2 network driver DL_DETACH code specifies: (void) qassociate(q, -1); This dissolves the queue's association with any device instance. DLPI style 2 network driver open(9E) code must call: qassociate(q, -1); This informs the framework that this driver has been modified to be DDI-compliant.
SEE ALSO
dlpi(7P), gld(7D), open(9E), put(9E), ddi_no_info(9F), queue(9S) SunOS 5.11 01 Feb 2007 qassociate(9F)
Related Man Pages
qassociate(9f) - mojave
qassociate(9f) - opendarwin
qassociate(9f) - x11r4
qassociate(9f) - suse
qassociate(9f) - osf1
Similar Topics in the Unix Linux Community
Study UNIX Kernel
Change directory for core file
Free Sun Blade 2k, Ultra 2, Ross Hyperstation 30, cards, memory- Baltimore, MD
What's legal and what's not?
Solaris 10 - password complexity not working