qassociate(9f) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

qassociate(9f)

qassociate(9F)                 Kernel Functions                 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(4D) does this automatically on behalf of drivers based  on  it.
       It  is  recommended that the gld(4D) 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 success‐
       ful  return,  the stream is associated with the instance with any prior
       association dissolved.


       A DLPI style 2 driver calls qassociate() while  processing  the  DL_AT‐
       TACH_REQ  message.  The  driver is also expected to call this interface
       while performing stream  associations  through  other  means,  such  as
       ndd(8) 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 in‐
       stance 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
       gld(4D), dlpi(4P), open(9E), put(9E), ddi_no_info(9F), queue(9S)

Oracle Solaris 11.4               01 Feb 2007                   qassociate(9F)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3