scsi_hba_tran(9s) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

scsi_hba_tran(9s)

scsi_hba_tran(9S)       Kernel & Driver Data Structures      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 */
         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              dev_info pointer to the HBA that supplies the
                                 scsi_hba_tran structure.


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


       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; otherwise NULL.


       tran_tgt_init             Function  entry  that  allows  per-target HBA
                                 initialization, if necessary.


       tran_tgt_probe            Function   entry   that   allows   per-target
                                 scsi_probe(9F) customization, if necessary.


       tran_tgt_free             Function  entry  that  allows  per-target HBA
                                 deallocation, if necessary.


       tran_start                Function entry that starts a SCSI command ex‐
                                 ecution on the HBA hardware.


       tran_reset                Function entry that resets a SCSI bus or tar‐
                                 get device.


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


       tran_getcap               Function entry that retrieves a SCSI capabil‐
                                 ity.


       tran_setcap               Function entry that sets a SCSI capability.


       tran_init_pkt             Function  entry  that  allocates  a  scsi_pkt
                                 structure.


       tran_destroy_pkt          Function entry that frees a  scsi_pkt  struc‐
                                 ture allocated by tran_init_pkt.


       tran_dmafree              Function  entry that frees DMA resources that
                                 were previously allocated  by  tran_init_pkt.
                                 Not  called  for  HBA  drivers that provide a
                                 tran_setup_pkt entry point.


       tran_sync_pkt             Synchronizes data in pkt after a data  trans‐
                                 fer  has  been  completed. Not called for HBA
                                 drivers that provide a  tran_setup_pkt  entry
                                 point.


       tran_reset_notify         Function entry that allows a target to regis‐
                                 ter a bus reset notification request with the
                                 HBA driver.


       tran_bus_reset            Function entry that resets the SCSI bus with‐
                                 out resetting targets.


       tran_quiesce              Function entry that waits for all outstanding
                                 commands  to  complete and blocks (or queues)
                                 any I/O requests issued.


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


       tran_setup_pkt            Optional   entry  point  that  initializes  a
                                 scsi_pkt structure. See tran_setup_pkt(9E).


       tran_teardown_pkt         Entry point that releases resources allocated
                                 by tran_setup_pkt.


       tran_pkt_constructor      Additional optional entry point that performs
                                 the   actions   of   a    constructor.    See
                                 tran_setup_pkt(9E).


       tran_pkt_destructor       Additional optional entry point that performs
                                 the    actions    of    a   destructor.   See
                                 tran_setup_pkt(9E).


       tran_hba_len              Size       of       pkt_ha_private.       See
                                 tran_setup_pkt(9E).


       tran_interconnect_type    Integer  value  that denotes the interconnect
                                 type of the transport as defined in the  ser‐
                                 vices.h header file.


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_setup_pkt(9E),          tran_start(9E),         tran_sync_pkt(9E),
       tran_tgt_free(9E), tran_tgt_init(9E),  tran_tgt_probe(9E),  tran_unqui‐
       esce(9E),   ddi_dma_sync(9F),   scsi_hba_attach(9F),   scsi_hba_pkt_al‐
       loc(9F),   scsi_hba_pkt_free(9F),   scsi_probe(9F),    scsi_device(9S),
       scsi_pkt(9S)


       Writing Device Drivers in Oracle Solaris 11.4

Oracle Solaris 11.4               30 May 2006                scsi_hba_tran(9S)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3