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