SCSI_HBA_TRAN(9S) | Data Structures for Drivers | SCSI_HBA_TRAN(9S) |
scsi_hba_tran - SCSI Host Bus Adapter (HBA) driver transport vector structure
#include <sys/scsi/scsi.h>
illumos architecture specific (illumos 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_setup_pkt)( ); /* Initialization
for pkt */ int (*tran_teardown_pkt)( );/* Deallocation */ int (*tran_pkt_constructor) ( );
/* Constructor */ int (*tran_pkt_destructor) ( );
/* Destructor */ int tran_hba_len; /* # bytes for
pkt_ha_private */ int tran_interconnect_type; /* transport
interconnect */
tran_hba_dip
tran_hba_private
tran_tgt_private
tran_sd
tran_tgt_init
tran_tgt_probe
tran_tgt_free
tran_start
tran_reset
tran_abort
tran_getcap
tran_setcap
tran_init_pkt
tran_destroy_pkt
tran_dmafree
tran_sync_pkt
tran_reset_notify
tran_bus_reset
tran_quiesce
tran_unquiesce
tran_setup_pkt
tran_teardown_pkt
tran_pkt_constructor
tran_pkt_destructor
tran_hba_len
tran_interconnect_type
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_setup_pkt(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)
Writing Device Drivers
May 30, 2006 | OmniOS |