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). This entry point is
required for drivers which export cb_ops(9S) entry points.
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 associates the specified STREAMS
queue with the specified instance of the bottom driver in
the queue. Upon successful 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 associ-
ated 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
qassociate() can be called from the stream's put(9E) entry
point.
RETURN VALUES
0 Success.
-1 Failure.
EXAMPLES
A Style-2 network driver's DL_ATTACH_REQ code would specify:
if (qassociate(q, instance) != 0)
goto fail;
The association prevents Dynamic Reconfiguration (DR) from
detaching the instance.
A Style-2 network driver's DL_DETACH code would specify:
(void) qassociate(q, -1);
This dissolves the queue's association with any device
instance.
A Style-2 network driver's open(9E) code must call:
qassociate(q, -1);
This informs the framework that this driver has been modi-
fied to be DDI-compliant.
SEE ALSO
dlpi(7P), open(9E), put(9E), ddi_no_info(9F), queue(9S)
Man(1) output converted with
man2html