TRAN_TGT_INIT(9E)            Driver Entry Points           TRAN_TGT_INIT(9E)
NAME
       tran_tgt_init - request to initialize HBA resources on behalf of a
       particular target
SYNOPSIS
       #include <sys/scsi/scsi.h>       
int prefixtran_tgt_init(
dev_info_t *hba_dip, 
dev_info_t *tgt_dip,            
scsi_hba_tran_t *hba_tran, 
struct scsi_device *sd);
INTERFACE LEVEL
       illumos architecture specific (illumos DDI).
PARAMETERS
       hba_dip                    Pointer to a  
dev_info_t structure, referring to the 
HBA                    device instance.       
tgt_dip                    Pointer to a 
dev_info_t structure, referring to the
                    target device instance.       
hba_tran                    Pointer to a  
scsi_hba_tran(9S) structure, consisting of
                    the 
HBA's transport vectors.       
sd                    Pointer to a  
scsi_device(9S) structure, describing the
                    target.
DESCRIPTION
       The 
tran_tgt_init() vector in the 
scsi_hba_tran(9S) structure may be
       initialized during the 
HBA driver's 
attach(9E) to point to an 
HBA       driver function to be called by the system when an instance of a
       target device is being created.  The 
tran_tgt_init() vector, if not       
NULL,is called after the 
dev_info 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 
tran_tgt_init() vector.
       Note that 
hba_tran will point to a cloned copy of the 
scsi_hba_tran_t       structure allocated by the 
HBA driver if the 
SCSI_HBA_TRAN_CLONE flag
       was specified in the call to 
scsi_hba_attach(9F). In this case, the       
HBA driver may choose to initialize the 
tran_tgt_private field in the
       structure pointed to by 
hba_tran, to point to the data specific to
       the particular target device instance.
RETURN VALUES
       tran_tgt_init() must return:       
DDI_SUCCESS                       the 
HBA driver can support the addressed target, and
                       was able to initialize per-target resources.       
DDI_FAILURE                       the 
HBA driver cannot support the addressed target,
                       or was unable to initialize per-target resources. In
                       this event, the initialization of this instance of
                       the target device will not be continued, the target
                       driver's 
probe(9E) will not be called, and the                       
tgt_dip structure destroyed.
SEE ALSO
       attach(9E), 
probe(9E), 
tran_tgt_free(9E), 
tran_tgt_probe(9E),       
scsi_hba_attach_setup(9F), 
scsi_device(9S), 
scsi_hba_tran(9S)       Writing Device Drivers                               March 13, 2016              TRAN_TGT_INIT(9E)