// Error codes returned by all programs



#define E_AspiInit              -1    // ASPI manager initialization error

#define E_AspiBusy              -2    // ASPI manager is busy

#define E_AspiNoDevice          -3    // Device is not installed

#define E_AspiInvalidRequest    -4    // Invalid ASPI request

#define E_AspiInvalidAdapter    -5    // Invalid host adapter number

#define E_AspiInvalidSRB        -6    // Invalid SRB

#define E_AspiAbort             -7    // ASPI request was aborted by host

#define E_AspiAbortFail         -8    // ASPI request was aborted by host

#define E_AspiUnknown           -9    // Unknown ASPI error



#define E_AdapterTimeout        -10   // Transaction timeout

#define E_AdapterExpired        -11   // SRB expired

#define E_AdapterMessageReject  -12   // Message reject

#define E_AdapterBusReset       -13   // Bus reset was detected

#define E_AdapterParityError    -14   // Parity error was detected

#define E_AdapterSenseFailed    -15   // Auto request sense failed

#define E_AdapterSelectTimeout  -16   // Selection timeout

#define E_AdapterDataOverrun    -17   // Data overrun/underrun

#define E_AdapterBusFree        -18   // Unexpected bus free

#define E_AdapterBusFailure     -19   // Target bus phase sequence failure

#define E_AdapterUnknown        -20   // Unexpected adapter error



#define E_TargetBusy            -21   // Target is busy

#define E_TargetConflict        -22   // Target reservation conflict

#define E_TargetUnknown         -23   // Unexpected target error



#define E_Recovered             -24   // Recovered error

#define E_DeviceNotReady        -25   // Device is not ready

#define E_Medium                -26   // Medium Error

#define E_Hardware              -27   // Non-recoverable hardware error

#define E_IllegalRequest        -28   // Illegal Request

#define E_UnitAttention         -29   // Unit Attention

#define E_BlankCheck            -30   // Encountered non-blank data

#define E_DeviceBusy            -31   // Device is busy

#define E_TargetAbort           -32   // Target aborted the command

#define E_VolumeOverflow        -33   // Volume overflow

#define E_EndOfMedium           -34   // End-of-Medium detected

#define E_SenseUnknown          -35   // Unexpected sense error



