The high-level SCSI code handles all timeouts. This frees the low-level
driver from having to do timing, and permits different timeout periods to
be used for different devices (e.g., the timeout for a SCSI tape drive is
nearly infinite, whereas the timeout for a SCSI disk drive is relatively
short).
The <#1380#> abort()<#1380#> function is used to request that the currently
outstanding SCSI command, indicated by the 99 pointer, be
aborted. After setting the 100 variable in the 101
structure, the 102 function returns zero. If 103, the
second parameter to the 104 function, is zero, then
105 should be set to 106. Otherwise,
107 should be set equal to 108. If 109 is not
zero, it is usually 110 or 111.
Currently, none of the low-level drivers is able to correctly abort a SCSI
command. The initiator should request (by asserting the 112 line)
that the target enter a MESSAGE OUT phase. Then, the initiator should send
an ABORT message to the target.