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 func-
     tions 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 */
     int                 (*tran_bus_reset)();  /* Reset bus only */
     int                 (*tran_quiesce)();    /* Quiesce a bus */
     int                 (*tran_unquiesce)();  /* Unquiesce a bus */

     tran_hba_dip
           dev_info   pointer   to   the   HBA   supplying    the
           scsi_hba_tran structure.

     tran_hba_private
           Private pointer that the HBA driver can use  to  refer
           to the device's soft state structure.

     tran_tgt_private
           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.

     tran_sd
           Pointer to scsi_device(9S) structure if cloning;  oth-
           erwise NULL.

     tran_tgt_init
           The function entry allowing per-target HBA initializa-
           tion, if necessary.

     tran_tgt_probe
           The function entry allowing per-target  scsi_probe(9F)
           customization, if necessary.

     tran_tgt_free
           The function entry allowing per-target  HBA  dealloca-
           tion, if necessary.

     tran_start
           The function entry that starts a SCSI  command  execu-
           tion on the HBA hardware.

     tran_reset
           The function entry that resets a SCSI  bus  or  target
           device.

     tran_abort
           The function entry that aborts one  SCSI  command,  or
           all pending SCSI commands.

     tran_getcap
           The function entry that retrieves a SCSI capability.

     tran_setcap
           The function entry that sets a SCSI capability.

     tran_init_pkt
           The function entry that allocates  a  scsi_pkt  struc-
           ture.

     tran_destroy_pkt
           The function entry that  frees  a  scsi_pkt  structure
           allocated by tran_init_pkt.

     tran_dmafree
           The function entry that frees DMA resources that  were
           previously allocated by tran_init_pkt.

     tran_sync_pkt
           Synchronize data in pkt after a data transfer has been
           completed.

     tran_reset_notify
           The function entry allowing a target to register a bus
           reset notification request with the HBA driver.

     tran_bus_reset
           The function entry that resets the  SCSI  bus  without
           resetting targets.

     tran_quiesce
           The function entry that waits for all outstanding com-
           mands  to  complete  and  blocks  (or  queues) any I/O
           requests issued.

     tran_unquiesce
           The function  entry  that  allows  I/O  activities  to
           resume on the SCSI bus.


SEE ALSO

     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)

     Writing Device Drivers


Man(1) output converted with man2html