Skip Navigation Links | |
Exit Print View | |
man pages section 9: DDI and DKI Properties and Data Structures |
- SCSI Host Bus Adapter (HBA) driver transport vector structure
#include <sys/scsi/scsi.h>
Solaris architecture specific (Solaris DDI).
A scsi_hba_tran_t structure defines vectors that an HBA driver exports to SCSA interfaces so that HBA specific functions can be executed.
dev_info_t *tran_hba_dip; /* HBAs dev_info pointer */ void *tran_hba_private; /* HBA softstate */ void *tran_tgt_private; /* HBA target private pointer */ struct scsi_device *tran_sd; /* scsi_device */ int (*tran_tgt_init)( ); /* Transport target */ /* Initialization */ int (*tran_tgt_probe)( ); /* Transport target probe */ void (*tran_tgt_free)( ); /* Transport target free */ int (*tran_start)( ); /* Transport start */ int (*tran_reset)( ); /* Transport reset */ int (*tran_abort)( ); /* Transport abort */ int (*tran_getcap)( ); /* Capability retrieval */ int (*tran_setcap)( ); /* Capability establishment */ struct scsi_pkt *(*tran_init_pkt)( ); /* Packet and DMA allocation */ void (*tran_destroy_pkt)( ); /* Packet and DMA */ /* deallocation */ void (*tran_dmafree)( ); /* DMA deallocation */ void (*tran_sync_pkt)( ); /* Sync DMA */ void (*tran_reset_notify)( ); /* Bus reset notification */ int (*tran_bus_reset)( ); /* Reset bus only */ int (*tran_quiesce)( ); /* Quiesce a bus */ int (*tran_unquiesce)( ); /* Unquiesce a bus */ int tran_interconnect_type; /* transport interconnect */
dev_info pointer to the HBA supplying the scsi_hba_tran structure.
Private pointer that the HBA driver can use to refer to the device's soft state structure.
Private pointer that the HBA can use to refer to per-target specific data. This field can only be used when the SCSI_HBA_TRAN_CLONE flag is specified in scsi_hba_attach(9F). In this case, the HBA driver must initialize this field in its tran_tgt_init(9E) entry point.
Pointer to scsi_device(9S) structure if cloning; otherwise NULL.
The function entry allowing per-target HBA initialization, if necessary.
The function entry allowing per-target scsi_probe(9F) customization, if necessary.
The function entry allowing per-target HBA deallocation, if necessary.
The function entry that starts a SCSI command execution on the HBA hardware.
The function entry that resets a SCSI bus or target device.
The function entry that aborts one SCSI command, or all pending SCSI commands.
The function entry that retrieves a SCSI capability.
The function entry that sets a SCSI capability.
The function entry that allocates a scsi_pkt structure.
The function entry that frees a scsi_pkt structure allocated by tran_init_pkt.
The function entry that frees DMA resources that were previously allocated by tran_init_pkt.
Synchronize data in pkt after a data transfer has been completed.
The function entry allowing a target to register a bus reset notification request with the HBA driver.
The function entry that resets the SCSI bus without resetting targets.
The function entry that waits for all outstanding commands to complete and blocks (or queues) any I/O requests issued.
The function entry that allows I/O activities to resume on the SCSI bus.
Integer value denoting interconnect type of the transport as defined in the services.h header file.
tran_abort(9E), tran_bus_reset(9E), tran_destroy_pkt(9E), tran_dmafree(9E), tran_getcap(9E), tran_init_pkt(9E), tran_quiesce(9E), tran_reset(9E), tran_reset_notify(9E), tran_setcap(9E), tran_start(9E), tran_sync_pkt(9E), tran_tgt_free(9E), tran_tgt_init(9E), tran_tgt_probe(9E), tran_unquiesce(9E), ddi_dma_sync(9F), scsi_hba_attach(9F), scsi_hba_pkt_alloc(9F), scsi_hba_pkt_free(9F), scsi_probe(9F), scsi_device(9S), scsi_pkt(9S)