man Pages(9S): DDI and DKI Data Structures
  Search only this book
Download this book in PDF

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;
/* HBA sdev_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 previ-
                      ously 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_sync_pkt(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_probe(9F), scsi_device(9S), scsi_pkt(9S)
Writing Device Drivers