scsi_device(9S)




NAME

     scsi_device - SCSI device structure


SYNOPSIS

     #include <sys/scsi/scsi.h>


INTERFACE LEVEL

     Solaris DDI specific (Solaris DDI).


DESCRIPTION

     The scsi_device structure stores  common  information  about
     each  SCSI  logical  unit,  including pointers to areas that
     contain both generic and device specific information.  There
     is  one scsi_device structure for each logical unit attached
     to the system. The host adapter driver initializes  part  of
     this  structure  prior to probe(9E) and destroys this struc-
     ture after a probe failure or successful detach(9E).


STRUCTURE MEMBERS

     struct scsi_address        sd_address; /* Routing information */
     dev_info_t                 *sd_dev;    /* Cross-reference */
                                            /* to our dev_info_t */
     kmutex_t                   sd_mutex;   /* Mutex for this device */
     struct scsi_inquiry        *sd_inq;    /* scsi_inquiry data structure */
     struct scsi_extended_sense *sd_sense;  /* Optional request */
                                            /* sense buffer ptr */
     caddr_t                    sd_private; /* Target drivers private data */

     sd_address contains the routing information that the  target
     driver  normally  copies into a scsi_pkt(9S) structure using
     the collection of  makecom(9F) functions. The  SCSA  library
     routines  use  this  information  to  determine  which  host
     adapter, SCSI bus, and target/logical unit  number  (lun)  a
     command  is  intended  for. This structure is initialized by
     the host adapter driver.

     sd_dev is a pointer to the corresponding dev_info structure.
     This pointer is initialized by the host adapter driver.

     sd_mutex is a mutual exclusion lock for this device.  It  is
     used  to  serialize  access  to  a  device. The host adapter
     driver initializes this mutex. See mutex(9F).

     sd_inq   is   initially   NULL   (zero).   After   executing
     scsi_probe(9F), this field contains the inquiry data associ-
     ated with the particular device.

     sd_sense is initially NULL  (zero).  If  the  target  driver
     wants  to  use this field for storing REQUEST SENSE data, it
     should allocate an  scsi_extended_sense(9S) buffer  and  set
     this field to the address of this buffer.

     sd_private is reserved for the use  of  target  drivers  and
     should  generally  be  used to point to target specific data
     structures.


SEE ALSO

     detach(9E),     probe(9E),      makecom(9F),      mutex(9F),
     scsi_probe(9F), scsi_extended_sense(9S), scsi_pkt(9S)

     Writing Device Drivers


Man(1) output converted with man2html