Index Index for
Section 9
Index Alphabetical
listing for P
Bottom of page Bottom of
page

PDRV_DEVICE3(9s)

NAME

PDRV_DEVICE3 - SCSI/CAM: Defines the peripheral device structure

SYNOPSIS

typedef struct pdrv_device3 { PD_LIST pd_active_list; U32 pd_active_ccb; U32 pd_que_depth; PD_LIST pd_pend_list; U32 pd_pend_ccb; PD_LIST pd_abort_list; U32 pd_abort_ccb; dev_t pd_dev; u_long pd_pribus; u_long pd_pritarget; u_long pd_prilun; u_long pd_curbus; u_long pd_curtarget; u_long pd_curtarget; u_long pd_curlun; u_long pd_unit; u_long pd_log_unit; SCSI_DID *pd_scsi_did; U32 pd_soft_err; U32 pd_hard_err; u_short pd_soft_err_limit; u_short pd_hard_err_limit; U32 pd_abort_cnt; u_char pd_dev_inq[INQLEN]; U32 pd_ms_index; DEV_DESC *pd_dev_desc; PD_SPEC_LIST pd_spec_list; caddr_t pd_sense_ptr; u_short pd_sense_len; simple_lock_data_t pd_lk_device; } PDRV_DEVICE3;

MEMBERS

pd_active_list Contains a pointer to the CCBs on the active queue. pd_active_ccb Contains the number of active CCBs on the queue. pd_que_depth Contains the maximum number of commands the unit can store internally. pd_pend_list Contains a pointer to the CCBs on the pending queue. pd_pend_ccb Contains the number of pending CCBs. pd_abort_list Contains a pointer to the CCBs on the abort queue. pd_abort_ccb Contains the number of CCBs on the abort queue. pd_dev Contains the device major/minor number pair. pd_pribus Contains the primary SCSI controller number. pd_pritarget Contains the primary SCSI target ID. pd_prilun Contains the primary SCSI target LUN. pd_curbus Contains the current SCSI controller number. pd_curtarget Contains the current SCSI target ID. pd_curlun Contains the current SCSI target LUN. pd_unit Contains the unit number. pd_log_unit Contains the logical unit number. Contains a pointer to the SCSI_DID structure associated with this device. pd_soft_err Contains the number of soft errors reported against this device. pd_hard_err Contains the number of hard errors reported against this device. pd_soft_err_limit Contains the maximum number of soft errors that can be reported against this device. pd_hard_err_limit Contains the maximum number of hard errors that can be reported against this device. pd_abort_cnt Contains the driver-specific information that can be used for recovery. pd_dev_inq Contains an array of inquiry data obtained from a GET DEVICE TYPE command. pd_ms_index Contains the current index into the Mode Select table when this device is first opened. pd_dev_desc Contains a pointer to the device descriptor. pd_spec_list Contains a pointer to a list of device-specific structures (one per device driver) that can access this device. pd_sense_ptr Contains a pointer to the sense buffer. pd_sense_len Contains the length of the sense buffer. pd_lk_device Contains the SMP lock data for the device.

DESCRIPTION

The PDRV_DEVICE3 structure is allocated by the SCSI/CAM subsystem when a device is first opened. It is the anchor for the peripheral device driver request queues. It also contains inquiry data from the GET DEVICE TYPE command and the most recent sense data received from the device. The structure is not deallocated on the last close because the information it contains may need to be retained across open requests.

FILES

</usr/sys/include/io/cam/pdrv.h>

SEE ALSO

Data Structures: SCSI_DID(9s)

Index Index for
Section 9
Index Alphabetical
listing for P
Top of page Top of
page