Driver Entry Points tranabort(9E)
NAME
tranabort - abort a SCSI command
SYNOPSIS
#include
int prefixtranabort(struct scsiaddress *ap,
struct scsipkt *pkt);
INTERFACE LEVEL
Solaris architecture specific (Solaris DI).
ARGUMENTS
ap Pointer to a scsiaddress(9S) structure.
pkt Pointer to a scsipkt(9S) structure.
DESCRIPTION
The tranabort() vector in the scsihbatran(9S) structure
must be initialized during the HBA driver's attach(9E) to
point to an HBA entry point to be called when a target
driver calls scsiabort(9F).
tranabort() should attempt to abort the command pkt that
has been transported to the HBA. If pkt is NUL, the HBA
driver should attempt to abort all outstanding packets for
the target/logical unit addressed by ap.
Depending on the state of a particular command in the tran-
sport layer, the HBA driver may not be able to abort the
command.
While the abort is taking place, packets issued to the tran-
sported layer may or may not be aborted.
For each packet successfully aborted, tranabort() must set
the pktreason to CMDABORTED, and pktstatistics must be
OR'ed with STATABORTED .
RETURN VALUES
tranabort() must return:
SunOS 5.11 Last change: 17 Aug 2005 1
Driver Entry Points tranabort(9E)
1 upon success or partial success.
0 upon failure.
CONTEXT
The tranabort() function can be called from user or inter-
rupt context. This requirement comes from scsiabort().
SEE ALSO
attach(9E), scsiabort(9F), scsihbaattach(9F),
scsiaddress(9S), scsihbatran(9S), scsipkt(9S)
Writing Device Drivers
NOTES
If pktreason already indicates that an earlier error had
occurred, tranabort() should not overwrite pktreason with
CMDABORTED.
SunOS 5.11 Last change: 17 Aug 2005 2
|