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

개요

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

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
                                 execution 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_set‐
                                 up_pkt(9E).


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


       tran_hba_len              Size   of   pkt_ha_private.   See   tran_set‐
                                 up_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_set‐
       up_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 in Oracle Solaris 11.4



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