Content-type: text/html Man page of qassociate

qassociate

Section: Kernel Functions for Drivers (9F)
Updated: 9 Jul 2002
Index Return to Main Contents
 

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 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

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 modified to be DDI-compliant.  

SEE ALSO

dlpi(7P), open(9E), put(9E), ddi_no_info(9F), queue(9S)


 

Index

NAME
SYNOPSIS
INTERFACE LEVEL
PARAMETERS
DESCRIPTION
CONTEXT
RETURN VALUES
EXAMPLES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:39:44 GMT, October 02, 2010