require '_h2ph_pre.ph';

unless(defined(&_LINUX_HDREG_H)) {
    eval 'sub _LINUX_HDREG_H () {1;}' unless defined(&_LINUX_HDREG_H);
    eval 'sub HD_IRQ () {14;}' unless defined(&HD_IRQ);
    eval 'sub HD_DATA () {0x1f0;}' unless defined(&HD_DATA);
    eval 'sub HD_ERROR () {0x1f1;}' unless defined(&HD_ERROR);
    eval 'sub HD_NSECTOR () {0x1f2;}' unless defined(&HD_NSECTOR);
    eval 'sub HD_SECTOR () {0x1f3;}' unless defined(&HD_SECTOR);
    eval 'sub HD_LCYL () {0x1f4;}' unless defined(&HD_LCYL);
    eval 'sub HD_HCYL () {0x1f5;}' unless defined(&HD_HCYL);
    eval 'sub HD_CURRENT () {0x1f6;}' unless defined(&HD_CURRENT);
    eval 'sub HD_STATUS () {0x1f7;}' unless defined(&HD_STATUS);
    eval 'sub HD_FEATURE () { &HD_ERROR;}' unless defined(&HD_FEATURE);
    eval 'sub HD_PRECOMP () { &HD_FEATURE;}' unless defined(&HD_PRECOMP);
    eval 'sub HD_COMMAND () { &HD_STATUS;}' unless defined(&HD_COMMAND);
    eval 'sub HD_CMD () {0x3f6;}' unless defined(&HD_CMD);
    eval 'sub HD_ALTSTATUS () {0x3f6;}' unless defined(&HD_ALTSTATUS);
    eval 'sub ERR_STAT () {0x1;}' unless defined(&ERR_STAT);
    eval 'sub INDEX_STAT () {0x2;}' unless defined(&INDEX_STAT);
    eval 'sub ECC_STAT () {0x4;}' unless defined(&ECC_STAT);
    eval 'sub DRQ_STAT () {0x8;}' unless defined(&DRQ_STAT);
    eval 'sub SEEK_STAT () {0x10;}' unless defined(&SEEK_STAT);
    eval 'sub WRERR_STAT () {0x20;}' unless defined(&WRERR_STAT);
    eval 'sub READY_STAT () {0x40;}' unless defined(&READY_STAT);
    eval 'sub BUSY_STAT () {0x80;}' unless defined(&BUSY_STAT);
    eval 'sub WIN_RESTORE () {0x10;}' unless defined(&WIN_RESTORE);
    eval 'sub WIN_READ () {0x20;}' unless defined(&WIN_READ);
    eval 'sub WIN_WRITE () {0x30;}' unless defined(&WIN_WRITE);
    eval 'sub WIN_WRITE_VERIFY () {0x3c;}' unless defined(&WIN_WRITE_VERIFY);
    eval 'sub WIN_VERIFY () {0x40;}' unless defined(&WIN_VERIFY);
    eval 'sub WIN_FORMAT () {0x50;}' unless defined(&WIN_FORMAT);
    eval 'sub WIN_INIT () {0x60;}' unless defined(&WIN_INIT);
    eval 'sub WIN_SEEK () {0x70;}' unless defined(&WIN_SEEK);
    eval 'sub WIN_DIAGNOSE () {0x90;}' unless defined(&WIN_DIAGNOSE);
    eval 'sub WIN_SPECIFY () {0x91;}' unless defined(&WIN_SPECIFY);
    eval 'sub WIN_IDLEIMMEDIATE () {0xe1;}' unless defined(&WIN_IDLEIMMEDIATE);
    eval 'sub WIN_SETIDLE1 () {0xe3;}' unless defined(&WIN_SETIDLE1);
    eval 'sub WIN_SETIDLE2 () {0x97;}' unless defined(&WIN_SETIDLE2);
    eval 'sub WIN_STANDBYNOW1 () {0xe0;}' unless defined(&WIN_STANDBYNOW1);
    eval 'sub WIN_STANDBYNOW2 () {0x94;}' unless defined(&WIN_STANDBYNOW2);
    eval 'sub WIN_SLEEPNOW1 () {0xe6;}' unless defined(&WIN_SLEEPNOW1);
    eval 'sub WIN_SLEEPNOW2 () {0x99;}' unless defined(&WIN_SLEEPNOW2);
    eval 'sub WIN_CHECKPOWERMODE1 () {0xe5;}' unless defined(&WIN_CHECKPOWERMODE1);
    eval 'sub WIN_CHECKPOWERMODE2 () {0x98;}' unless defined(&WIN_CHECKPOWERMODE2);
    eval 'sub WIN_DOORLOCK () {0xde;}' unless defined(&WIN_DOORLOCK);
    eval 'sub WIN_DOORUNLOCK () {0xdf;}' unless defined(&WIN_DOORUNLOCK);
    eval 'sub WIN_MULTREAD () {0xc4;}' unless defined(&WIN_MULTREAD);
    eval 'sub WIN_MULTWRITE () {0xc5;}' unless defined(&WIN_MULTWRITE);
    eval 'sub WIN_SETMULT () {0xc6;}' unless defined(&WIN_SETMULT);
    eval 'sub WIN_IDENTIFY () {0xec;}' unless defined(&WIN_IDENTIFY);
    eval 'sub WIN_IDENTIFY_DMA () {0xee;}' unless defined(&WIN_IDENTIFY_DMA);
    eval 'sub WIN_SETFEATURES () {0xef;}' unless defined(&WIN_SETFEATURES);
    eval 'sub WIN_READDMA () {0xc8;}' unless defined(&WIN_READDMA);
    eval 'sub WIN_WRITEDMA () {0xca;}' unless defined(&WIN_WRITEDMA);
    eval 'sub WIN_QUEUED_SERVICE () {0xa2;}' unless defined(&WIN_QUEUED_SERVICE);
    eval 'sub WIN_READDMA_QUEUED () {0xc7;}' unless defined(&WIN_READDMA_QUEUED);
    eval 'sub WIN_WRITEDMA_QUEUED () {0xcc;}' unless defined(&WIN_WRITEDMA_QUEUED);
    eval 'sub WIN_READ_BUFFER () {0xe4;}' unless defined(&WIN_READ_BUFFER);
    eval 'sub WIN_WRITE_BUFFER () {0xe8;}' unless defined(&WIN_WRITE_BUFFER);
    eval 'sub WIN_SMART () {0xb0;}' unless defined(&WIN_SMART);
    eval 'sub WIN_PIDENTIFY () {0xa1;}' unless defined(&WIN_PIDENTIFY);
    eval 'sub WIN_SRST () {0x8;}' unless defined(&WIN_SRST);
    eval 'sub WIN_PACKETCMD () {0xa0;}' unless defined(&WIN_PACKETCMD);
    eval 'sub DISABLE_SEAGATE () {0xfb;}' unless defined(&DISABLE_SEAGATE);
    eval 'sub EXABYTE_ENABLE_NEST () {0xf0;}' unless defined(&EXABYTE_ENABLE_NEST);
    eval 'sub SMART_READ_VALUES () {0xd0;}' unless defined(&SMART_READ_VALUES);
    eval 'sub SMART_READ_THRESHOLDS () {0xd1;}' unless defined(&SMART_READ_THRESHOLDS);
    eval 'sub SMART_AUTOSAVE () {0xd2;}' unless defined(&SMART_AUTOSAVE);
    eval 'sub SMART_SAVE () {0xd3;}' unless defined(&SMART_SAVE);
    eval 'sub SMART_IMMEDIATE_OFFLINE () {0xd4;}' unless defined(&SMART_IMMEDIATE_OFFLINE);
    eval 'sub SMART_READ_LOG_SECTOR () {0xd5;}' unless defined(&SMART_READ_LOG_SECTOR);
    eval 'sub SMART_WRITE_LOG_SECTOR () {0xd6;}' unless defined(&SMART_WRITE_LOG_SECTOR);
    eval 'sub SMART_WRITE_THRESHOLDS () {0xd7;}' unless defined(&SMART_WRITE_THRESHOLDS);
    eval 'sub SMART_ENABLE () {0xd8;}' unless defined(&SMART_ENABLE);
    eval 'sub SMART_DISABLE () {0xd9;}' unless defined(&SMART_DISABLE);
    eval 'sub SMART_STATUS () {0xda;}' unless defined(&SMART_STATUS);
    eval 'sub SMART_AUTO_OFFLINE () {0xdb;}' unless defined(&SMART_AUTO_OFFLINE);
    eval 'sub SETFEATURES_EN_WCACHE () {0x2;}' unless defined(&SETFEATURES_EN_WCACHE);
    eval 'sub SETFEATURES_XFER () {0x3;}' unless defined(&SETFEATURES_XFER);
    eval 'sub XFER_UDMA_7 () {0x47;}' unless defined(&XFER_UDMA_7);
    eval 'sub XFER_UDMA_6 () {0x46;}' unless defined(&XFER_UDMA_6);
    eval 'sub XFER_UDMA_5 () {0x45;}' unless defined(&XFER_UDMA_5);
    eval 'sub XFER_UDMA_4 () {0x44;}' unless defined(&XFER_UDMA_4);
    eval 'sub XFER_UDMA_3 () {0x43;}' unless defined(&XFER_UDMA_3);
    eval 'sub XFER_UDMA_2 () {0x42;}' unless defined(&XFER_UDMA_2);
    eval 'sub XFER_UDMA_1 () {0x41;}' unless defined(&XFER_UDMA_1);
    eval 'sub XFER_UDMA_0 () {0x40;}' unless defined(&XFER_UDMA_0);
    eval 'sub XFER_MW_DMA_2 () {0x22;}' unless defined(&XFER_MW_DMA_2);
    eval 'sub XFER_MW_DMA_1 () {0x21;}' unless defined(&XFER_MW_DMA_1);
    eval 'sub XFER_MW_DMA_0 () {0x20;}' unless defined(&XFER_MW_DMA_0);
    eval 'sub XFER_SW_DMA_2 () {0x12;}' unless defined(&XFER_SW_DMA_2);
    eval 'sub XFER_SW_DMA_1 () {0x11;}' unless defined(&XFER_SW_DMA_1);
    eval 'sub XFER_SW_DMA_0 () {0x10;}' unless defined(&XFER_SW_DMA_0);
    eval 'sub XFER_PIO_4 () {0xc;}' unless defined(&XFER_PIO_4);
    eval 'sub XFER_PIO_3 () {0xb;}' unless defined(&XFER_PIO_3);
    eval 'sub XFER_PIO_2 () {0xa;}' unless defined(&XFER_PIO_2);
    eval 'sub XFER_PIO_1 () {0x9;}' unless defined(&XFER_PIO_1);
    eval 'sub XFER_PIO_0 () {0x8;}' unless defined(&XFER_PIO_0);
    eval 'sub XFER_PIO_SLOW () {0x;}' unless defined(&XFER_PIO_SLOW);
    eval 'sub SETFEATURES_DIS_DEFECT () {0x4;}' unless defined(&SETFEATURES_DIS_DEFECT);
    eval 'sub SETFEATURES_EN_APM () {0x5;}' unless defined(&SETFEATURES_EN_APM);
    eval 'sub SETFEATURES_DIS_MSN () {0x31;}' unless defined(&SETFEATURES_DIS_MSN);
    eval 'sub SETFEATURES_DIS_RLA () {0x55;}' unless defined(&SETFEATURES_DIS_RLA);
    eval 'sub SETFEATURES_EN_RI () {0x5d;}' unless defined(&SETFEATURES_EN_RI);
    eval 'sub SETFEATURES_EN_SI () {0x5e;}' unless defined(&SETFEATURES_EN_SI);
    eval 'sub SETFEATURES_DIS_RPOD () {0x66;}' unless defined(&SETFEATURES_DIS_RPOD);
    eval 'sub SETFEATURES_DIS_WCACHE () {0x82;}' unless defined(&SETFEATURES_DIS_WCACHE);
    eval 'sub SETFEATURES_EN_DEFECT () {0x84;}' unless defined(&SETFEATURES_EN_DEFECT);
    eval 'sub SETFEATURES_DIS_APM () {0x85;}' unless defined(&SETFEATURES_DIS_APM);
    eval 'sub SETFEATURES_EN_MSN () {0x95;}' unless defined(&SETFEATURES_EN_MSN);
    eval 'sub SETFEATURES_EN_RLA () {0xaa;}' unless defined(&SETFEATURES_EN_RLA);
    eval 'sub SETFEATURES_PREFETCH () {0xab;}' unless defined(&SETFEATURES_PREFETCH);
    eval 'sub SETFEATURES_EN_RPOD () {0xcc;}' unless defined(&SETFEATURES_EN_RPOD);
    eval 'sub SETFEATURES_DIS_RI () {0xdd;}' unless defined(&SETFEATURES_DIS_RI);
    eval 'sub SETFEATURES_DIS_SI () {0xde;}' unless defined(&SETFEATURES_DIS_SI);
    eval 'sub SECURITY_SET_PASSWORD () {0xba;}' unless defined(&SECURITY_SET_PASSWORD);
    eval 'sub SECURITY_UNLOCK () {0xbb;}' unless defined(&SECURITY_UNLOCK);
    eval 'sub SECURITY_ERASE_PREPARE () {0xbc;}' unless defined(&SECURITY_ERASE_PREPARE);
    eval 'sub SECURITY_ERASE_UNIT () {0xbd;}' unless defined(&SECURITY_ERASE_UNIT);
    eval 'sub SECURITY_FREEZE_LOCK () {0xbe;}' unless defined(&SECURITY_FREEZE_LOCK);
    eval 'sub SECURITY_DISABLE_PASSWORD () {0xbf;}' unless defined(&SECURITY_DISABLE_PASSWORD);
    eval 'sub MARK_ERR () {0x1;}' unless defined(&MARK_ERR);
    eval 'sub TRK0_ERR () {0x2;}' unless defined(&TRK0_ERR);
    eval 'sub ABRT_ERR () {0x4;}' unless defined(&ABRT_ERR);
    eval 'sub MCR_ERR () {0x8;}' unless defined(&MCR_ERR);
    eval 'sub ID_ERR () {0x10;}' unless defined(&ID_ERR);
    eval 'sub MC_ERR () {0x20;}' unless defined(&MC_ERR);
    eval 'sub ECC_ERR () {0x40;}' unless defined(&ECC_ERR);
    eval 'sub BBD_ERR () {0x80;}' unless defined(&BBD_ERR);
    eval 'sub ICRC_ERR () {0x80;}' unless defined(&ICRC_ERR);
    eval 'sub HDIO_GETGEO () {0x301;}' unless defined(&HDIO_GETGEO);
    eval 'sub HDIO_GET_UNMASKINTR () {0x302;}' unless defined(&HDIO_GET_UNMASKINTR);
    eval 'sub HDIO_GET_MULTCOUNT () {0x304;}' unless defined(&HDIO_GET_MULTCOUNT);
    eval 'sub HDIO_GET_QDMA () {0x305;}' unless defined(&HDIO_GET_QDMA);
    eval 'sub HDIO_OBSOLETE_IDENTITY () {0x307;}' unless defined(&HDIO_OBSOLETE_IDENTITY);
    eval 'sub HDIO_GET_KEEPSETTINGS () {0x308;}' unless defined(&HDIO_GET_KEEPSETTINGS);
    eval 'sub HDIO_GET_32BIT () {0x309;}' unless defined(&HDIO_GET_32BIT);
    eval 'sub HDIO_GET_NOWERR () {0x30a;}' unless defined(&HDIO_GET_NOWERR);
    eval 'sub HDIO_GET_DMA () {0x30b;}' unless defined(&HDIO_GET_DMA);
    eval 'sub HDIO_GET_NICE () {0x30c;}' unless defined(&HDIO_GET_NICE);
    eval 'sub HDIO_GET_IDENTITY () {0x30d;}' unless defined(&HDIO_GET_IDENTITY);
    eval 'sub HDIO_GET_WCACHE () {0x30e;}' unless defined(&HDIO_GET_WCACHE);
    eval 'sub HDIO_GET_ACOUSTIC () {0x30f;}' unless defined(&HDIO_GET_ACOUSTIC);
    eval 'sub HDIO_GET_BUSSTATE () {0x31a;}' unless defined(&HDIO_GET_BUSSTATE);
    eval 'sub HDIO_TRISTATE_HWIF () {0x31b;}' unless defined(&HDIO_TRISTATE_HWIF);
    eval 'sub HDIO_DRIVE_RESET () {0x31c;}' unless defined(&HDIO_DRIVE_RESET);
    eval 'sub HDIO_DRIVE_TASKFILE () {0x31d;}' unless defined(&HDIO_DRIVE_TASKFILE);
    eval 'sub HDIO_DRIVE_TASK () {0x31e;}' unless defined(&HDIO_DRIVE_TASK);
    eval 'sub HDIO_DRIVE_CMD () {0x31f;}' unless defined(&HDIO_DRIVE_CMD);
    eval 'sub HDIO_DRIVE_CMD_AEB () { &HDIO_DRIVE_TASK;}' unless defined(&HDIO_DRIVE_CMD_AEB);
    eval 'sub HDIO_SET_MULTCOUNT () {0x321;}' unless defined(&HDIO_SET_MULTCOUNT);
    eval 'sub HDIO_SET_UNMASKINTR () {0x322;}' unless defined(&HDIO_SET_UNMASKINTR);
    eval 'sub HDIO_SET_KEEPSETTINGS () {0x323;}' unless defined(&HDIO_SET_KEEPSETTINGS);
    eval 'sub HDIO_SET_32BIT () {0x324;}' unless defined(&HDIO_SET_32BIT);
    eval 'sub HDIO_SET_NOWERR () {0x325;}' unless defined(&HDIO_SET_NOWERR);
    eval 'sub HDIO_SET_DMA () {0x326;}' unless defined(&HDIO_SET_DMA);
    eval 'sub HDIO_SET_PIO_MODE () {0x327;}' unless defined(&HDIO_SET_PIO_MODE);
    eval 'sub HDIO_SCAN_HWIF () {0x328;}' unless defined(&HDIO_SCAN_HWIF);
    eval 'sub HDIO_SET_NICE () {0x329;}' unless defined(&HDIO_SET_NICE);
    eval 'sub HDIO_UNREGISTER_HWIF () {0x32a;}' unless defined(&HDIO_UNREGISTER_HWIF);
    eval 'sub HDIO_SET_WCACHE () {0x32b;}' unless defined(&HDIO_SET_WCACHE);
    eval 'sub HDIO_SET_ACOUSTIC () {0x32c;}' unless defined(&HDIO_SET_ACOUSTIC);
    eval 'sub HDIO_SET_BUSSTATE () {0x32d;}' unless defined(&HDIO_SET_BUSSTATE);
    eval 'sub HDIO_SET_QDMA () {0x32e;}' unless defined(&HDIO_SET_QDMA);
    eval("sub BUSSTATE_OFF () { 0; }") unless defined(&BUSSTATE_OFF);
    eval("sub BUSSTATE_ON () { 1; }") unless defined(&BUSSTATE_ON);
    eval("sub BUSSTATE_TRISTATE () { 2; }") unless defined(&BUSSTATE_TRISTATE);
    eval 'sub HDIO_GETGEO_BIG () {0x330;}' unless defined(&HDIO_GETGEO_BIG);
    eval 'sub HDIO_GETGEO_BIG_RAW () {0x331;}' unless defined(&HDIO_GETGEO_BIG_RAW);
    eval 'sub __NEW_HD_DRIVE_ID () {1;}' unless defined(&__NEW_HD_DRIVE_ID);
    eval 'sub IDE_NICE_DSC_OVERLAP () {(0);}' unless defined(&IDE_NICE_DSC_OVERLAP);
    eval 'sub IDE_NICE_ATAPI_OVERLAP () {(1);}' unless defined(&IDE_NICE_ATAPI_OVERLAP);
    eval 'sub IDE_NICE_0 () {(2);}' unless defined(&IDE_NICE_0);
    eval 'sub IDE_NICE_1 () {(3);}' unless defined(&IDE_NICE_1);
    eval 'sub IDE_NICE_2 () {(4);}' unless defined(&IDE_NICE_2);
}
1;
