require '_h2ph_pre.ph';

unless(defined(&SCSI_SCSICONF_H)) {
    eval 'sub SCSI_SCSICONF_H () {1;}' unless defined(&SCSI_SCSICONF_H);
    require 'sys/queue.ph';
    require 'sys/timeout.ph';
    require 'machine/cpu.ph';
    require 'scsi/scsi_debug.ph';
    eval 'sub SUCCESSFULLY_QUEUED () {0;}' unless defined(&SUCCESSFULLY_QUEUED);
    eval 'sub TRY_AGAIN_LATER () {1;}' unless defined(&TRY_AGAIN_LATER);
    eval 'sub COMPLETE () {2;}' unless defined(&COMPLETE);
    eval 'sub ESCAPE_NOT_SUPPORTED () {3;}' unless defined(&ESCAPE_NOT_SUPPORTED);
    eval 'sub SCSIRET_NOERROR () {0;}' unless defined(&SCSIRET_NOERROR);
    eval 'sub SCSIRET_RETRY () {-1;}' unless defined(&SCSIRET_RETRY);
    eval 'sub SCSIRET_CONTINUE () {-2;}' unless defined(&SCSIRET_CONTINUE);
    eval 'sub SDEV_REMOVABLE () {0x1;}' unless defined(&SDEV_REMOVABLE);
    eval 'sub SDEV_MEDIA_LOADED () {0x2;}' unless defined(&SDEV_MEDIA_LOADED);
    eval 'sub SDEV_WAITING () {0x4;}' unless defined(&SDEV_WAITING);
    eval 'sub SDEV_OPEN () {0x8;}' unless defined(&SDEV_OPEN);
    eval 'sub SDEV_DBX () {0xf0;}' unless defined(&SDEV_DBX);
    eval 'sub SDEV_EJECTING () {0x100;}' unless defined(&SDEV_EJECTING);
    eval 'sub SDEV_ATAPI () {0x200;}' unless defined(&SDEV_ATAPI);
    eval 'sub SDEV_2NDBUS () {0x400;}' unless defined(&SDEV_2NDBUS);
    eval 'sub SDEV_AUTOSAVE () {0x1;}' unless defined(&SDEV_AUTOSAVE);
    eval 'sub SDEV_NOSYNC () {0x2;}' unless defined(&SDEV_NOSYNC);
    eval 'sub SDEV_NOWIDE () {0x4;}' unless defined(&SDEV_NOWIDE);
    eval 'sub SDEV_NOTAGS () {0x8;}' unless defined(&SDEV_NOTAGS);
    eval 'sub SDEV_NOLUNS () {0x10;}' unless defined(&SDEV_NOLUNS);
    eval 'sub SDEV_FORCELUNS () {0x20;}' unless defined(&SDEV_FORCELUNS);
    eval 'sub SDEV_NOMODESENSE () {0x40;}' unless defined(&SDEV_NOMODESENSE);
    eval 'sub SDEV_NOSTARTUNIT () {0x80;}' unless defined(&SDEV_NOSTARTUNIT);
    eval 'sub SDEV_NOSYNCCACHE () {0x100;}' unless defined(&SDEV_NOSYNCCACHE);
    eval 'sub ADEV_NOSENSE () {0x200;}' unless defined(&ADEV_NOSENSE);
    eval 'sub ADEV_LITTLETOC () {0x400;}' unless defined(&ADEV_LITTLETOC);
    eval 'sub ADEV_NOCAPACITY () {0x800;}' unless defined(&ADEV_NOCAPACITY);
    eval 'sub ADEV_NOTUR () {0x1000;}' unless defined(&ADEV_NOTUR);
    eval 'sub ADEV_NODOORLOCK () {0x2000;}' unless defined(&ADEV_NODOORLOCK);
    eval 'sub SDEV_NOCDB6 () {0x4000;}' unless defined(&SDEV_NOCDB6);
    eval 'sub SCSI_NOSLEEP () {0x1;}' unless defined(&SCSI_NOSLEEP);
    eval 'sub SCSI_POLL () {0x2;}' unless defined(&SCSI_POLL);
    eval 'sub SCSI_AUTOCONF () {0x3;}' unless defined(&SCSI_AUTOCONF);
    eval 'sub SCSI_USER () {0x4;}' unless defined(&SCSI_USER);
    eval 'sub ITSDONE () {0x8;}' unless defined(&ITSDONE);
    eval 'sub SCSI_SILENT () {0x20;}' unless defined(&SCSI_SILENT);
    eval 'sub SCSI_IGNORE_NOT_READY () {0x40;}' unless defined(&SCSI_IGNORE_NOT_READY);
    eval 'sub SCSI_IGNORE_MEDIA_CHANGE () {0x80;}' unless defined(&SCSI_IGNORE_MEDIA_CHANGE);
    eval 'sub SCSI_IGNORE_ILLEGAL_REQUEST () {0x100;}' unless defined(&SCSI_IGNORE_ILLEGAL_REQUEST);
    eval 'sub SCSI_RESET () {0x200;}' unless defined(&SCSI_RESET);
    eval 'sub SCSI_DATA_UIO () {0x400;}' unless defined(&SCSI_DATA_UIO);
    eval 'sub SCSI_DATA_IN () {0x800;}' unless defined(&SCSI_DATA_IN);
    eval 'sub SCSI_DATA_OUT () {0x1000;}' unless defined(&SCSI_DATA_OUT);
    eval 'sub SCSI_TARGET () {0x2000;}' unless defined(&SCSI_TARGET);
    eval 'sub SCSI_ESCAPE () {0x4000;}' unless defined(&SCSI_ESCAPE);
    eval 'sub SCSI_URGENT () {0x8000;}' unless defined(&SCSI_URGENT);
    eval 'sub SCSI_PRIVATE () {0xf0000;}' unless defined(&SCSI_PRIVATE);
    eval 'sub SCSI_OP_TARGET () {0x1;}' unless defined(&SCSI_OP_TARGET);
    eval 'sub SCSI_OP_RESET () {0x2;}' unless defined(&SCSI_OP_RESET);
    eval 'sub SCSI_OP_BDINFO () {0x3;}' unless defined(&SCSI_OP_BDINFO);
    eval 'sub XS_NOERROR () {0;}' unless defined(&XS_NOERROR);
    eval 'sub XS_SENSE () {1;}' unless defined(&XS_SENSE);
    eval 'sub XS_DRIVER_STUFFUP () {2;}' unless defined(&XS_DRIVER_STUFFUP);
    eval 'sub XS_SELTIMEOUT () {3;}' unless defined(&XS_SELTIMEOUT);
    eval 'sub XS_TIMEOUT () {4;}' unless defined(&XS_TIMEOUT);
    eval 'sub XS_BUSY () {5;}' unless defined(&XS_BUSY);
    eval 'sub XS_SHORTSENSE () {6;}' unless defined(&XS_SHORTSENSE);
    eval 'sub XS_RESET () {8;}' unless defined(&XS_RESET);
    eval 'sub TEST_READY_RETRIES_DEFAULT () {5;}' unless defined(&TEST_READY_RETRIES_DEFAULT);
    eval 'sub TEST_READY_RETRIES_CD () {10;}' unless defined(&TEST_READY_RETRIES_CD);
}
1;
