Driver Entry Points trantgtinit(9E)
NAME
trantgtinit - request to initialize HBA resources on
behalf of a particular target
SYNOPSIS
#include
void prefixtrantgtinit(devinfot *hbadip, devinfot *tgtdip,
scsihbatrant *hbatran, struct scsidevice *sd);
INTERFACE LEVEL
Solaris architecture specific (Solaris DI).
PARAMETERS
hbadip Pointer to a devinfot structure, referring
to the HBA device instance.
tgtdip Pointer to a devinfot structure, referring to
the target device instance.
hbatran Pointer to a scsihbatran(9S) structure, con-
sisting of the HBA's transport vectors.
sd Pointer to a scsidevice(9S) structure,
describing the target.
DESCRIPTION
The trantgtinit() vector in the scsihbatran(9S) struc-
ture may be initialized during the HBA driver's attach(9E)
to point to an HBA driver function to be called by the sys-
tem when an instance of a target device is being created.
The trantgtinit() vector, if not NUL,is called after the
devinfo node structure is created for this target device
instance, but before probe(9E) for this instance is called.
Before receiving transport requests from the target driver
instance, the HBA may perform any initialization required
for this particular target during the call of the
trantgtinit() vector.
Note that hbatran will point to a cloned copy of the
scsihbatrant structure allocated by the HBA driver if the
SCSIHBATRANCLONE flag was specified in the call to
scsihbaattach(9F). In this case, the HBA driver may choose
to initialize the trantgtprivate field in the structure
SunOS 5.11 Last change: 1 Nov 1993 1
Driver Entry Points trantgtinit(9E)
pointed to by hbatran, to point to the data specific to the
particular target device instance.
RETURN VALUES
trantgtinit() must return:
DISUCES the HBA driver can support the addressed
target, and was able to initialize per-
target resources.
DIFAILURE the HBA driver cannot support the addressed
target, or was unable to initialize per-
target resources. In this event, the ini-
tialization of this instance of the target
device will not be continued, the target
driver's probe(9E) will not be called, and
the tgtdip structure destroyed.
SEE ALSO
attach(9E), probe(9E), trantgtfree(9E),
trantgtprobe(9E), scsihbaattachsetup(9F),
scsidevice(9S), scsihbatran(9S)
Writing Device Drivers
SunOS 5.11 Last change: 1 Nov 1993 2
|