scsi_device man page on SmartOS

Printed from


       scsi_device - SCSI device structure

       #include <sys/scsi/scsi.h>

       Solaris DDI specific (Solaris DDI).

       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  ini‐
       tializes	 part  of  this structure prior to probe(9E) and destroys this
       structure after a probe failure or successful detach(9E).

	 struct scsi_address	    sd_address; /* Routing info. */
	 dev_info_t		    *sd_dev;	/* Cross-ref. to */
						/* dev_info_t */
	 kmutex_t		    sd_mutex;	/* Mutex for this dev. */
	 struct scsi_inquiry	    *sd_inq;	/* scsi_inquiry data struc. */
	 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 nor‐
       mally  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 num‐
       ber (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 associated 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	gener‐
       ally be used to point to target specific data structures.

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

       Writing Device Drivers

				 Feb 19, 1993		       SCSI_DEVICE(9S)

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net