Go to main content

man pages section 9: DDI and DKI Driver Entry Points

Exit Print View

Updated: Thursday, June 13, 2019
 
 

tran_reset_notify(9E)

Name

tran_reset_notify - request to notify SCSI target of bus reset

Synopsis

#include <sys/scsi/scsi.h>

int prefixtran_reset_notify(struct scsi_address *ap, int flag, 
     void (*callback, caddr_t),caddr_t arg);

Interface Level

Solaris architecture specific (Solaris DDI).

Parameters

ap

Pointer to the scsi_address(9S) structure.

flag

A flag indicating registration or cancellation of a notification request.

callback

A pointer to the target driver's reset notification function.

arg

The callback function argument.

Description

The tran_reset_notify() entry point is called when a target driver requests notification of a bus reset.

The tran_reset_notify() vector in the scsi_hba_tran(9S) structure may be initialized in the HBA driver's attach(9E) routine to point to the HBA entry point to be called when a target driver calls scsi_reset_notify(9F).

The argument flag is used to register or cancel the notification. The supported values for flag are as follows:

SCSI_RESET_NOTIFY

Register callback as the reset notification function for the target.

SCSI_RESET_CANCEL

Cancel the reset notification request for the target.

The HBA driver maintains a list of reset notification requests registered by the target drivers. When a bus reset occurs, the HBA driver notifies registered target drivers by calling the callback routine, callback, with the argument, arg, for each registered target.

Return Values

For SCSI_RESET_NOTIFY requests, tran_reset_notify() must return DDI_SUCCESS if the notification request has been accepted, and DDI_FAILURE otherwise.

For SCSI_RESET_CANCEL requests, tran_reset_notify() must return DDI_SUCCESS if the notification request has been canceled, and DDI_FAILURE otherwise.

See Also

attach(9E), scsi_ifgetcap(9F), scsi_reset_notify(9F), scsi_address(9S), scsi_hba_tran(9S)

Writing Device Drivers in Oracle Solaris 11.4