DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

sdi_xaen(D3sdi)


sdi_xaen, sdi_aen -- asynchronous event notification routine

Synopsis

   #include <sys/types.h>
   #include <sys/ddi.h>
   #include <sys/sdi.h>
   

void sdi_xaen(int event, int hba, int scsi_id, int lun, int bus, unsigned long var)

void sdi_aen(int event, int hba, int scsi_id, int lun)

Description

sdi_xaen( ) calls the target driver fault handling routine to signal an asynchronous event such as bus error or device error. Use of this routine is not required because target drivers are not required to provide a fault handling routine, and many HBA drivers handle errors without help from the target drivers.

Arguments


event
Code value of the asynchronous event that occurred on the HBA device.

hba
HBA number of the device that experienced the event.

scsi_id
Target ID of a specific device, or -1 if the event affects all devices for the HBA driver.

lun
Logical unit number of a specific device, or -1 if the event affects all logical units for the HBA driver.

bus
SCSI channel of this device on the given HBA.

var
Optional paramter provided by the caller to be passed to the fault handling routine.

Return values

None

Usage

sdi_xaen( ) is used in place of sdi_aen(D3sdi) for HBAs that support multiple SCSI channels.

sdi_xaen( ) is the mechanism provided to signal target drivers when some critical asynchronous event such as a bus reset occurs on an HBA device that might require target driver actions. A target driver must provide a fault handling routine that is associated with the EDT structure for the device. When an event occurs, sdi_xaen( ) is called with the event code, the HBA number, and the target ID and LUN. The target ID and LUN can be -1 if all target drivers for devices connected to the HBA should have their fault routines called.

Context and synchronization

Non-blockable context.

Applicable hardware

All

Version applicability

sdi: 3, 4 HBA drivers.

Differences between versions

The var parameter is not supported for SDI versions prior to version 4.

Future directions

The sdi_aen originates in pre-SDI versions of the architecture, when the devices involved required greater interaction to keep them in a sane state. Current devices require less intervention, so the need for sdi_aen has greatly diminished. This routine is being considered for removal in a future release.

References

``SCSI multiple channels'' in HDK Technical Reference
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005