MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Data Structures for Drivers                     scsihbatran(9S)



NAME
     scsihbatran - SCSI Host Bus Adapter (HBA) driver transport
     vector structure

SYNOPSIS
     #include 


INTERFACE LEVEL
     Solaris architecture specific (Solaris DI).

DESCRIPTION
     A scsihbatrant structure  defines  vectors  that  an  HBA
     driver exports to SCSA interfaces so that HBA specific func-
     tions can be executed.

STRUCTURE MEMBERS
       devinfot          *tranhbadip;          /* HBAs devinfo
                                                       pointer */
       void                *tranhbaprivate;      /* HBA softstate */
       void                *trantgtprivate;      /* HBA target private
                                                       pointer */
       struct scsidevice  *transd;               /* scsidevice */
       int                 (*trantgtinit)( );    /* Transport target */
                                                       Initialization */
       int                 (*trantgtprobe)( );   /* Transport target
                                                       probe */
       void                (*trantgtfree)( );    /* Transport target
                                                       free */
       int                 (*transtart)( );       /* Transport start */
       int                 (*tranreset)( );       /* Transport reset */
       int                 (*tranabort)( );       /* Transport abort */
       int                 (*trangetcap)( );      /* Capability
                                                       retrieval */
       int                 (*transetcap)( );      /* Capability
                                                       establishment */
       struct scsipkt     *(*traninitpkt)( );   /* Packet and DMA
                                                       allocation */
       void                (*trandestroypkt)( ); /* Packet and DMA */
                                                       deallocation */
       void                (*trandmafree)( );     /* DMA deallocation */
       void                (*transyncpkt)( );    /* Sync DMA */
       void                (*tranresetnotify)( );/* Bus reset
                                                       notification */
       int                 (*tranbusreset)( );   /* Reset bus only */
       int                 (*tranquiesce)( );     /* Quiesce a bus */
       int                 (*tranunquiesce)( );   /* Unquiesce a bus */
       int                 (*transetuppkt)( );   /* Initialization
                                                       for pkt */
       int                 (*tranteardownpkt)( );/* Deallocation */
       int                 (*tranpktconstructor) ( );
                                                      /* Constructor */



SunOS 5.11          Last change: 30 May 2006                    1






Data Structures for Drivers                     scsihbatran(9S)



       int                 (*tranpktdestructor) ( );
                                                     /* Destructor */
       int                 tranhbalen;            /* # bytes for
                                                        pkthaprivate */
       int                 traninterconnecttype;  /* transport
                                                        interconnect */


     tranhbadip              devinfo pointer to the  HBA  that
                               supplies  the scsihbatran struc-
                               ture.


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


     trantgtprivate          Private pointer that the  HBA  can
                               use   to   refer   to   per-target
                               specific data. This field can only
                               be       used       when       the
                               SCSIHBATRANCLONE flag is speci-
                               fied  in  scsihbaattach(9F).  In
                               this case,  the  HBA  driver  must
                               initialize   this   field  in  its
                               trantgtinit(9E) entry point.


     transd                   Pointer to scsidevice(9S)  struc-
                               ture if cloning; otherwise NUL.


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


     trantgtprobe            Function entry  that  allows  per-
                               target  scsiprobe(9F)  customiza-
                               tion, if necessary.


     trantgtfree             Function entry  that  allows  per-
                               target HBA deallocation, if neces-
                               sary.


     transtart                Function entry that starts a  SCSI
                               command   execution   on  the  HBA
                               hardware.




SunOS 5.11          Last change: 30 May 2006                    2






Data Structures for Drivers                     scsihbatran(9S)



     tranreset                Function entry that resets a  SCSI
                               bus or target device.


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


     trangetcap               Function entry  that  retrieves  a
                               SCSI capability.


     transetcap               Function entry that  sets  a  SCSI
                               capability.


     traninitpkt             Function entry  that  allocates  a
                               scsipkt structure.


     trandestroypkt          Function  entry   that   frees   a
                               scsipkt  structure  allocated  by
                               traninitpkt.


     trandmafree              Function  entry  that  frees   DMA
                               resources   that  were  previously
                               allocated  by  traninitpkt.  Not
                               called  for  HBA drivers that pro-
                               vide a transetuppkt entry point.


     transyncpkt             Synchronizes data in pkt  after  a
                               data  transfer has been completed.
                               Not called for  HBA  drivers  that
                               provide   a  transetuppkt  entry
                               point.


     tranresetnotify         Function entry that allows a  tar-
                               get to register a bus reset notif-
                               ication  request  with   the   HBA
                               driver.


     tranbusreset            Function  entry  that  resets  the
                               SCSI  bus  without  resetting tar-
                               gets.






SunOS 5.11          Last change: 30 May 2006                    3






Data Structures for Drivers                     scsihbatran(9S)



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


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


     transetuppkt            Optional entry point that initial-
                               izes  a  scsipkt  structure.  See
                               transetuppkt(9E).


     tranteardownpkt         Entry    point    that    releases
                               resources       allocated       by
                               transetuppkt.


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


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


     tranhbalen              Size   of   pkthaprivate.    See
                               transetuppkt(9E).


     traninterconnecttype    Integer  value  that  denotes  the
                               interconnect type of the transport
                               as  defined  in   the   services.h
                               header file.


SEE ALSO
     tranabort(9E),  tranbusreset(9E),   trandestroypkt(9E),
     trandmafree(9E),     trangetcap(9E),    traninitpkt(9E),
     tranquiesce(9E),   tranreset(9E),   tranresetnotify(9E),
     transetcap(9E),     transetuppkt(9E),     transtart(9E),
     transyncpkt(9E),   trantgtfree(9E),   trantgtinit(9E),
     trantgtprobe(9E),   tranunquiesce(9E),  ddidmasync(9F),
     scsihbaattach(9F),                 scsihbapktalloc(9F),
     scsihbapktfree(9F),    scsiprobe(9F),   scsidevice(9S),



SunOS 5.11          Last change: 30 May 2006                    4






Data Structures for Drivers                     scsihbatran(9S)



     scsipkt(9S)


     Writing Device Drivers



















































SunOS 5.11          Last change: 30 May 2006                    5



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™