require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_DEV_PCI_PCIIDE_NATSEMI_REG_H_)) {
    eval 'sub _DEV_PCI_PCIIDE_NATSEMI_REG_H_ () {1;}' unless defined(&_DEV_PCI_PCIIDE_NATSEMI_REG_H_);
    eval 'sub NATSEMI_CTRL1 () {0x40;}' unless defined(&NATSEMI_CTRL1);
    eval 'sub NATSEMI_CTRL1_SWRST () {0x4;}' unless defined(&NATSEMI_CTRL1_SWRST);
    eval 'sub NATSEMI_CTRL1_IDEPWR () {0x8;}' unless defined(&NATSEMI_CTRL1_IDEPWR);
    eval 'sub NATSEMI_CTRL1_CH1INTMAP () {0x10;}' unless defined(&NATSEMI_CTRL1_CH1INTMAP);
    eval 'sub NATSEMI_CTRL1_CH2INTMAP () {0x20;}' unless defined(&NATSEMI_CTRL1_CH2INTMAP);
    eval 'sub NATSEMI_CTRL1_INTAMASK () {0x40;}' unless defined(&NATSEMI_CTRL1_INTAMASK);
    eval 'sub NATSEMI_CTRL1_IDWR () {0x80;}' unless defined(&NATSEMI_CTRL1_IDWR);
    eval 'sub NATSEMI_CTRL2 () {0x41;}' unless defined(&NATSEMI_CTRL2);
    eval 'sub NATSEMI_CTRL2_CH1MASK () {0x1;}' unless defined(&NATSEMI_CTRL2_CH1MASK);
    eval 'sub NATSEMI_CTRL2_CH2MASK () {0x2;}' unless defined(&NATSEMI_CTRL2_CH2MASK);
    eval 'sub NATSEMI_CTRL2_BARDIS () {0x4;}' unless defined(&NATSEMI_CTRL2_BARDIS);
    eval 'sub NATSEMI_CTRL2_WATCHDOG () {0x8;}' unless defined(&NATSEMI_CTRL2_WATCHDOG);
    eval 'sub NATSEMI_CTRL2_BUF1BYP () {0x10;}' unless defined(&NATSEMI_CTRL2_BUF1BYP);
    eval 'sub NATSEMI_CTRL2_BYF2BYP () {0x20;}' unless defined(&NATSEMI_CTRL2_BYF2BYP);
    eval 'sub NATSEMI_CTRL2_IDE1MAP () {0x40;}' unless defined(&NATSEMI_CTRL2_IDE1MAP);
    eval 'sub NATSEMI_CTRL2_IDE2MAP () {0x80;}' unless defined(&NATSEMI_CTRL2_IDE2MAP);
    eval 'sub NATSEMI_CHMASK {
        my($chn) = @_;
	    eval q(( &NATSEMI_CTRL2_CH1MASK << ($chn)));
    }' unless defined(&NATSEMI_CHMASK);
    eval 'sub NATSEMI_CTRL3 () {0x42;}' unless defined(&NATSEMI_CTRL3);
    eval 'sub NATSEMI_CTRL3_CH1PREDIS () {0x1;}' unless defined(&NATSEMI_CTRL3_CH1PREDIS);
    eval 'sub NATSEMI_CTRL3_CH2PREDIS () {0x2;}' unless defined(&NATSEMI_CTRL3_CH2PREDIS);
    eval 'sub NATSEMI_CTRL3_RSTIDLE () {0x4;}' unless defined(&NATSEMI_CTRL3_RSTIDLE);
    eval 'sub NATSEMI_CTRL3_C1D1DMARQ () {0x10;}' unless defined(&NATSEMI_CTRL3_C1D1DMARQ);
    eval 'sub NATSEMI_CTRL3_C1D2DMARQ () {0x20;}' unless defined(&NATSEMI_CTRL3_C1D2DMARQ);
    eval 'sub NATSEMI_CTRL3_C2D1DMARQ () {0x40;}' unless defined(&NATSEMI_CTRL3_C2D1DMARQ);
    eval 'sub NATSEMI_CTRL3_C2D2DMARQ () {0x80;}' unless defined(&NATSEMI_CTRL3_C2D2DMARQ);
    eval 'sub NATSEMI_WBS () {0x43;}' unless defined(&NATSEMI_WBS);
    eval 'sub NATSEMI_WBS_WB1NMPTY () {0x1;}' unless defined(&NATSEMI_WBS_WB1NMPTY);
    eval 'sub NATSEMI_WBS_WB2NMPTY () {0x2;}' unless defined(&NATSEMI_WBS_WB2NMPTY);
    eval 'sub NATSEMI_C1D1DRT () {0x44;}' unless defined(&NATSEMI_C1D1DRT);
    eval 'sub NATSEMI_C1D1DWT () {0x45;}' unless defined(&NATSEMI_C1D1DWT);
    eval 'sub NATSEMI_C1D2DRT () {0x48;}' unless defined(&NATSEMI_C1D2DRT);
    eval 'sub NATSEMI_C1D2DWT () {0x49;}' unless defined(&NATSEMI_C1D2DWT);
    eval 'sub NATSEMI_C2D1DRT () {0x4c;}' unless defined(&NATSEMI_C2D1DRT);
    eval 'sub NATSEMI_C2D1DWT () {0x4d;}' unless defined(&NATSEMI_C2D1DWT);
    eval 'sub NATSEMI_C2D2DRT () {0x50;}' unless defined(&NATSEMI_C2D2DRT);
    eval 'sub NATSEMI_C2D2DWT () {0x51;}' unless defined(&NATSEMI_C2D2DWT);
    eval 'sub NATSEMI_CCBT () {0x54;}' unless defined(&NATSEMI_CCBT);
    eval 'sub NATSEMI_SECT () {0x55;}' unless defined(&NATSEMI_SECT);
    eval 'sub NATSEMI_SECT_C1UNUSED () {0xf;}' unless defined(&NATSEMI_SECT_C1UNUSED);
    eval 'sub NATSEMI_SECT_C1_512 () {0xe;}' unless defined(&NATSEMI_SECT_C1_512);
    eval 'sub NATSEMI_SECT_C1_1024 () {0xc;}' unless defined(&NATSEMI_SECT_C1_1024);
    eval 'sub NATSEMI_SECT_C1_2048 () {0x8;}' unless defined(&NATSEMI_SECT_C1_2048);
    eval 'sub NATSEMI_SECT_C1_4096 () {0x;}' unless defined(&NATSEMI_SECT_C1_4096);
    eval 'sub NATSEMI_SECT_C2UNUSED () {0xf0;}' unless defined(&NATSEMI_SECT_C2UNUSED);
    eval 'sub NATSEMI_SECT_C2_512 () {0xe0;}' unless defined(&NATSEMI_SECT_C2_512);
    eval 'sub NATSEMI_SECT_C2_1024 () {0xc0;}' unless defined(&NATSEMI_SECT_C2_1024);
    eval 'sub NATSEMI_SECT_C2_2048 () {0x80;}' unless defined(&NATSEMI_SECT_C2_2048);
    eval 'sub NATSEMI_SECT_C2_4096 () {0x;}' unless defined(&NATSEMI_SECT_C2_4096);
    eval 'sub NATSEMI_RTREG {
        my($c,$d) = @_;
	    eval q((0x44 + ($c * 8) + ($d * 4) + 0));
    }' unless defined(&NATSEMI_RTREG);
    eval 'sub NATSEMI_WTREG {
        my($c,$d) = @_;
	    eval q((0x44 + ($c * 8) + ($d * 4) + 1));
    }' unless defined(&NATSEMI_WTREG);
    eval 'sub SCx200_TIM_PIO {
        my($chan, $drive) = @_;
	    eval q((0x40 + 16* ($chan) + 8* ($drive)));
    }' unless defined(&SCx200_TIM_PIO);
    eval 'sub SCx200_TIM_DMA {
        my($chan, $drive) = @_;
	    eval q((0x44 + 16* ($chan) + 8* ($drive)));
    }' unless defined(&SCx200_TIM_DMA);
    eval 'sub SCx200_PIOFORMAT_SHIFT () {31;}' unless defined(&SCx200_PIOFORMAT_SHIFT);
}
1;
