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
|