The following table describes return code bit categories.
┌──────────┬──────────────────────────────────────────────────┐ │Bit │Category │ │Numbers │ │ ├──────────┼──────────────────────────────────────────────────┤ │15 │ERROR │ ├──────────┼──────────────────────────────────────────────────┤ │10 - 14 │RESERVED │ ├──────────┼──────────────────────────────────────────────────┤ │9 │BUSY │ ├──────────┼──────────────────────────────────────────────────┤ │8 │DONE │ ├──────────┼──────────────────────────────────────────────────┤ │7 │SCSI ERROR │ ├──────────┼──────────────────────────────────────────────────┤ │0 - 6 │ERROR CODE (when Bit 15 = 1) │ └──────────┴──────────────────────────────────────────────────┘
The following table describes bit descriptions.
┌──────────┬──────────────────────────────────────────────────┐ │Bit │Description │ ├──────────┼──────────────────────────────────────────────────┤ │07 │SCSI Driver-Specific Error │ ├──────────┼──────────────────────────────────────────────────┤ │08 │Operation Complete │ ├──────────┼──────────────────────────────────────────────────┤ │15 │Request Completed with Error │ └──────────┴──────────────────────────────────────────────────┘
The following table describes SCSI error codes.
┌──────────┬──────────────────────────────────────────────────┐ │Error Code│Description │ ├──────────┼──────────────────────────────────────────────────┤ │00h │Device Error (Sense Data Returned) │ ├──────────┼──────────────────────────────────────────────────┤ │01h │Timeout Error │ ├──────────┼──────────────────────────────────────────────────┤ │02h │Unusual Wakeup Error │ ├──────────┼──────────────────────────────────────────────────┤ │03h │DevHlp Error │ ├──────────┼──────────────────────────────────────────────────┤ │04h │Request Block Not Available │ ├──────────┼──────────────────────────────────────────────────┤ │05h │Maximum Device Support Exceeded │ ├──────────┼──────────────────────────────────────────────────┤ │06h │Interrupt Level Not Available │ ├──────────┼──────────────────────────────────────────────────┤ │07h │Device Not Available │ ├──────────┼──────────────────────────────────────────────────┤ │08h │More IRQ Levels than Adapters │ ├──────────┼──────────────────────────────────────────────────┤ │09h │Device Busy │ ├──────────┼──────────────────────────────────────────────────┤ │0Ah │Request Sense Failed │ ├──────────┼──────────────────────────────────────────────────┤ │0Bh │Adapter Cache Not Supported │ └──────────┴──────────────────────────────────────────────────┘The SCSI device driver can return any of the standard OS/2 device driver return codes as well as the specific error codes listed above.
If Bit 15 is set, Bits 0 - 6 contain an error code. If, in addition, Bit 7 is set, the error code in Bits 0 - 6 is one of the SCSI device driver-specific error codes from the table. Otherwise, it is a standard OS/2 device driver error code, such as unknown_command or invalid_parameter.
The DONE bit always is set by the SCSI device driver so that a successful return code is hex 0100 , not 0.
At initialization time, the returned status is OR'd with hex FF00 by the kernel.