require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_SYS_SCSIIO_H_)) {
    eval 'sub _SYS_SCSIIO_H_ () {1;}' unless defined(&_SYS_SCSIIO_H_);
    require 'sys/types.ph';
    require 'sys/ioctl.ph';
    eval 'sub SENSEBUFLEN () {48;}' unless defined(&SENSEBUFLEN);
    eval 'sub SCCMD_READ () {0x1;}' unless defined(&SCCMD_READ);
    eval 'sub SCCMD_WRITE () {0x2;}' unless defined(&SCCMD_WRITE);
    eval 'sub SCCMD_IOV () {0x4;}' unless defined(&SCCMD_IOV);
    eval 'sub SCCMD_ESCAPE () {0x10;}' unless defined(&SCCMD_ESCAPE);
    eval 'sub SCCMD_TARGET () {0x20;}' unless defined(&SCCMD_TARGET);
    eval 'sub SCCMD_OK () {0x;}' unless defined(&SCCMD_OK);
    eval 'sub SCCMD_TIMEOUT () {0x1;}' unless defined(&SCCMD_TIMEOUT);
    eval 'sub SCCMD_BUSY () {0x2;}' unless defined(&SCCMD_BUSY);
    eval 'sub SCCMD_SENSE () {0x3;}' unless defined(&SCCMD_SENSE);
    eval 'sub SCCMD_UNKNOWN () {0x4;}' unless defined(&SCCMD_UNKNOWN);
    eval 'sub SCIOCCOMMAND () { &_IOWR(ord(\'Q\'), 1,  &scsireq_t);}' unless defined(&SCIOCCOMMAND);
    eval 'sub SC_DB_CMDS () {0x1;}' unless defined(&SC_DB_CMDS);
    eval 'sub SC_DB_FLOW () {0x2;}' unless defined(&SC_DB_FLOW);
    eval 'sub SC_DB_FLOW2 () {0x4;}' unless defined(&SC_DB_FLOW2);
    eval 'sub SC_DB_DMA () {0x8;}' unless defined(&SC_DB_DMA);
    eval 'sub SCIOCDEBUG () { &_IOW(ord(\'Q\'), 2, \'int\');}' unless defined(&SCIOCDEBUG);
    eval 'sub TYPE_SCSI () {0;}' unless defined(&TYPE_SCSI);
    eval 'sub TYPE_ATAPI () {1;}' unless defined(&TYPE_ATAPI);
    eval 'sub SCIOCRESET () { &_IO(ord(\'Q\'), 7);}' unless defined(&SCIOCRESET);
    eval 'sub SCIOCIDENTIFY () { &_IOR(ord(\'Q\'), 9, \'struct scsi_addr\');}' unless defined(&SCIOCIDENTIFY);
    eval 'sub SBIOCPROBE () { &_IOWR(ord(\'Q\'), 127, \'struct sbioc_device\');}' unless defined(&SBIOCPROBE);
    eval 'sub SBIOCDETACH () { &_IOWR(ord(\'Q\'), 128, \'struct sbioc_device\');}' unless defined(&SBIOCDETACH);
}
1;
