TRAN_TGT_PROBE(9E) Driver Entry Points TRAN_TGT_PROBE(9E)

tran_tgt_probe - request to probe SCSI bus for a particular target

#include <sys/scsi/scsi.h>
int prefixtran_tgt_probe(struct scsi_device *sd, int (*waitfunc,

void)););

illumos architecture specific (illumos DDI).

sd

Pointer to a scsi_device(9S) structure.

waitfunc

Pointer to either NULL_FUNC or SLEEP_FUNC.

The tran_tgt_probe() vector in the scsi_hba_tran(9S) structure may be initialized during the HBA driver's attach(9E) to point to a function to be called by scsi_probe(9F) when called by a target driver during probe(9E) and attach(9E) to probe for a particular SCSI target on the bus. In the absence of an HBA-specific tran_tgt_probe() function, the default scsi_probe(9F) behavior is supplied by the function scsi_hba_probe(9F).

The possible choices the HBA driver may make are:

Initialize the tran_tgt_probe vector to point to scsi_hba_probe(9F), which results in the same behavior.
Initialize the tran_tgt_probe vector to point to a private function in the HBA, which may call scsi_hba_probe(9F) before or after any necessary processing, as long as all the defined scsi_probe(9F) semantics are preserved.

waitfunc indicates what tran_tgt_probe() should do when resources are not available:

NULL_FUNC

Do not wait for resources. See scsi_probe(9F) for defined return values if no resources are available.

SLEEP_FUNC

Wait indefinitely for resources.

attach(9E), probe(9E), tran_tgt_free(9E), tran_tgt_init(9E), scsi_hba_probe(9F), scsi_probe(9F), scsi_device(9S), scsi_hba_tran(9S)

Writing Device Drivers

November 1, 1993 OmniOS