scsi_hba_tran(9S)
NAME
scsi_hba_tran − SCSI Host Bus Adapter (HBA) driver transport vector structure
SYNOPSIS
#include <sys/scsi/scsi.h>
INTERFACE LEVEL
Solaris architecture specific (Solaris DDI).
DESCRIPTION
A scsi_hba_tran_t structure defines vectors that an HBA driver exports to SCSA interfaces so that HBA specific functions can be executed.
STRUCTURE MEMBERS
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 ∗/
tran_hba_dip dev_info pointer to the HBA supplying the scsi_hba_tran structure.
tran_hba_private Private pointer which the HBA driver can use to refer to the device’s soft state structure.
tran_tgt_private Private pointer which the HBA can use to refer to per-target specific data. This field may 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.
tran_sd pointer to scsi_device(9S) structure if cloning; otherwise NULL.
tran_tgt_init is the function entry allowing per-target HBA initialization, if necessary.
tran_tgt_probe is the function entry allowing per-target scsi_probe(9F) customization, if necessary.
tran_tgt_free is the function entry allowing per-target HBA deallocation, if necessary.
tran_start is the function entry that starts a SCSI command execution on the HBA hardware.
tran_reset is the function entry that resets a SCSI bus or target device.
tran_abort is the function entry that aborts one SCSI command, or all pending SCSI commands.
tran_getcap is the function entry that retrieves a SCSI capability.
tran_setcap is the function entry that sets a SCSI capability.
tran_init_pkt is the function entry that allocates a scsi_pkt structure.
tran_destroy_pkt is the function entry that frees a scsi_pkt structure allocated by tran_init_pkt.
tran_dmafree is the function entry that frees DMA resources which were previously allocated by tran_init_pkt.
tran_sync_pkt synchronize data in pkt after a data transfer has been completed.
tran_reset_notify is the function entry allowing a target to register a bus reset notification request with the HBA driver.
SEE ALSO
tran_abort(9E), tran_destroy_pkt(9E), tran_dmafree(9E), tran_getcap(9E), tran_init_pkt(9E), tran_reset(9E), tran_reset_notify(9E), tran_setcap(9E), tran_start(9E), tran_tgt_free(9E), tran_tgt_init(9E), tran_tgt_probe(9E), ddi_dma_sync(9F), scsi_hba_attach(9F), scsi_hba_pkt_alloc(9F), scsi_hba_pkt_free(9F), scsi_device(9S)
Writing Device Drivers
SunOS 5.5/x86 — Last change: 20 Sep 1994