require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&MAESTRO_REG_H_INCLUDED)) {
    eval 'sub MAESTRO_REG_H_INCLUDED () {1;}' unless defined(&MAESTRO_REG_H_INCLUDED);
    eval 'sub CONF_LEGACY () {0x40;}' unless defined(&CONF_LEGACY);
    eval 'sub LEGACY_DISABLED () {0x8000;}' unless defined(&LEGACY_DISABLED);
    eval 'sub CONF_MAESTRO () {0x50;}' unless defined(&CONF_MAESTRO);
    eval 'sub MAESTRO_CHIBUS () {0x100000;}' unless defined(&MAESTRO_CHIBUS);
    eval 'sub MAESTRO_POSTEDWRITE () {0x80;}' unless defined(&MAESTRO_POSTEDWRITE);
    eval 'sub MAESTRO_DMA_PCITIMING () {0x40;}' unless defined(&MAESTRO_DMA_PCITIMING);
    eval 'sub MAESTRO_SWAP_LR () {0x10;}' unless defined(&MAESTRO_SWAP_LR);
    eval 'sub CONF_ACPI_STOPCLOCK () {0x54;}' unless defined(&CONF_ACPI_STOPCLOCK);
    eval 'sub ACPI_PART_2ndC_CLOCK () {15;}' unless defined(&ACPI_PART_2ndC_CLOCK);
    eval 'sub ACPI_PART_CODEC_CLOCK () {14;}' unless defined(&ACPI_PART_CODEC_CLOCK);
    eval 'sub ACPI_PART_978 () {13;}' unless defined(&ACPI_PART_978);
    eval 'sub ACPI_PART_SPDIF () {12;}' unless defined(&ACPI_PART_SPDIF);
    eval 'sub ACPI_PART_GLUE () {11;}' unless defined(&ACPI_PART_GLUE);
    eval 'sub ACPI_PART_DAA () {10;}' unless defined(&ACPI_PART_DAA);
    eval 'sub ACPI_PART_PCI_IF () {9;}' unless defined(&ACPI_PART_PCI_IF);
    eval 'sub ACPI_PART_HW_VOL () {8;}' unless defined(&ACPI_PART_HW_VOL);
    eval 'sub ACPI_PART_GPIO () {7;}' unless defined(&ACPI_PART_GPIO);
    eval 'sub ACPI_PART_ASSP () {6;}' unless defined(&ACPI_PART_ASSP);
    eval 'sub ACPI_PART_SB () {5;}' unless defined(&ACPI_PART_SB);
    eval 'sub ACPI_PART_FM () {4;}' unless defined(&ACPI_PART_FM);
    eval 'sub ACPI_PART_RINGBUS () {3;}' unless defined(&ACPI_PART_RINGBUS);
    eval 'sub ACPI_PART_MIDI () {2;}' unless defined(&ACPI_PART_MIDI);
    eval 'sub ACPI_PART_GAME_PORT () {1;}' unless defined(&ACPI_PART_GAME_PORT);
    eval 'sub ACPI_PART_WP () {0;}' unless defined(&ACPI_PART_WP);
    eval 'sub CONF_PM_PTR () {0x34;}' unless defined(&CONF_PM_PTR);
    eval 'sub PM_CID () {0;}' unless defined(&PM_CID);
    eval 'sub PPMI_CID () {1;}' unless defined(&PPMI_CID);
    eval 'sub PM_CTRL () {4;}' unless defined(&PM_CTRL);
    eval 'sub PPMI_D0 () {0;}' unless defined(&PPMI_D0);
    eval 'sub PPMI_D1 () {1;}' unless defined(&PPMI_D1);
    eval 'sub PPMI_D2 () {2;}' unless defined(&PPMI_D2);
    eval 'sub PPMI_D3 () {3;}' unless defined(&PPMI_D3);
    eval 'sub PORT_DSP_DATA () {0x;}' unless defined(&PORT_DSP_DATA);
    eval 'sub PORT_DSP_INDEX () {0x2;}' unless defined(&PORT_DSP_INDEX);
    eval 'sub PORT_INT_STAT () {0x4;}' unless defined(&PORT_INT_STAT);
    eval 'sub PORT_SAMPLE_CNT () {0x6;}' unless defined(&PORT_SAMPLE_CNT);
    eval 'sub PORT_WAVCACHE_INDEX () {0x10;}' unless defined(&PORT_WAVCACHE_INDEX);
    eval 'sub PORT_WAVCACHE_DATA () {0x12;}' unless defined(&PORT_WAVCACHE_DATA);
    eval 'sub WAVCACHE_PCMBAR () {0x1fc;}' unless defined(&WAVCACHE_PCMBAR);
    eval 'sub WAVCACHE_WTBAR () {0x1f0;}' unless defined(&WAVCACHE_WTBAR);
    eval 'sub WAVCACHE_BASEADDR_SHIFT () {12;}' unless defined(&WAVCACHE_BASEADDR_SHIFT);
    eval 'sub WAVCACHE_CHCTL_ADDRTAG_MASK () {0xfff8;}' unless defined(&WAVCACHE_CHCTL_ADDRTAG_MASK);
    eval 'sub WAVCACHE_CHCTL_U8 () {0x4;}' unless defined(&WAVCACHE_CHCTL_U8);
    eval 'sub WAVCACHE_CHCTL_STEREO () {0x2;}' unless defined(&WAVCACHE_CHCTL_STEREO);
    eval 'sub WAVCACHE_CHCTL_DECREMENTAL () {0x1;}' unless defined(&WAVCACHE_CHCTL_DECREMENTAL);
    eval 'sub PORT_WAVCACHE_CTRL () {0x14;}' unless defined(&PORT_WAVCACHE_CTRL);
    eval 'sub WAVCACHE_EXTRA_CH_ENABLED () {0x200;}' unless defined(&WAVCACHE_EXTRA_CH_ENABLED);
    eval 'sub WAVCACHE_ENABLED () {0x100;}' unless defined(&WAVCACHE_ENABLED);
    eval 'sub WAVCACHE_CH_60_ENABLED () {0x80;}' unless defined(&WAVCACHE_CH_60_ENABLED);
    eval 'sub WAVCACHE_WTSIZE_MASK () {0x60;}' unless defined(&WAVCACHE_WTSIZE_MASK);
    eval 'sub WAVCACHE_WTSIZE_1MB () {0x;}' unless defined(&WAVCACHE_WTSIZE_1MB);
    eval 'sub WAVCACHE_WTSIZE_2MB () {0x20;}' unless defined(&WAVCACHE_WTSIZE_2MB);
    eval 'sub WAVCACHE_WTSIZE_4MB () {0x40;}' unless defined(&WAVCACHE_WTSIZE_4MB);
    eval 'sub WAVCACHE_WTSIZE_8MB () {0x60;}' unless defined(&WAVCACHE_WTSIZE_8MB);
    eval 'sub WAVCACHE_SGC_MASK () {0xc;}' unless defined(&WAVCACHE_SGC_MASK);
    eval 'sub WAVCACHE_SGC_DISABLED () {0x;}' unless defined(&WAVCACHE_SGC_DISABLED);
    eval 'sub WAVCACHE_SGC_40_47 () {0x4;}' unless defined(&WAVCACHE_SGC_40_47);
    eval 'sub WAVCACHE_SGC_32_47 () {0x8;}' unless defined(&WAVCACHE_SGC_32_47);
    eval 'sub WAVCACHE_TESTMODE () {0x1;}' unless defined(&WAVCACHE_TESTMODE);
    eval 'sub PORT_HOSTINT_CTRL () {0x18;}' unless defined(&PORT_HOSTINT_CTRL);
    eval 'sub HOSTINT_CTRL_SOFT_RESET () {0x8000;}' unless defined(&HOSTINT_CTRL_SOFT_RESET);
    eval 'sub HOSTINT_CTRL_DSOUND_RESET () {0x4000;}' unless defined(&HOSTINT_CTRL_DSOUND_RESET);
    eval 'sub HOSTINT_CTRL_HW_VOL_TO_PME () {0x400;}' unless defined(&HOSTINT_CTRL_HW_VOL_TO_PME);
    eval 'sub HOSTINT_CTRL_CLKRUN_ENABLED () {0x100;}' unless defined(&HOSTINT_CTRL_CLKRUN_ENABLED);
    eval 'sub HOSTINT_CTRL_HWVOL_ENABLED () {0x40;}' unless defined(&HOSTINT_CTRL_HWVOL_ENABLED);
    eval 'sub HOSTINT_CTRL_ASSP_INT_ENABLED () {0x10;}' unless defined(&HOSTINT_CTRL_ASSP_INT_ENABLED);
    eval 'sub HOSTINT_CTRL_ISDN_INT_ENABLED () {0x8;}' unless defined(&HOSTINT_CTRL_ISDN_INT_ENABLED);
    eval 'sub HOSTINT_CTRL_DSOUND_INT_ENABLED () {0x4;}' unless defined(&HOSTINT_CTRL_DSOUND_INT_ENABLED);
    eval 'sub HOSTINT_CTRL_MPU401_INT_ENABLED () {0x2;}' unless defined(&HOSTINT_CTRL_MPU401_INT_ENABLED);
    eval 'sub HOSTINT_CTRL_SB_INT_ENABLED () {0x1;}' unless defined(&HOSTINT_CTRL_SB_INT_ENABLED);
    eval 'sub PORT_HOSTINT_STAT () {0x1a;}' unless defined(&PORT_HOSTINT_STAT);
    eval 'sub HOSTINT_STAT_HWVOL () {0x40;}' unless defined(&HOSTINT_STAT_HWVOL);
    eval 'sub HOSTINT_STAT_ASSP () {0x10;}' unless defined(&HOSTINT_STAT_ASSP);
    eval 'sub HOSTINT_STAT_ISDN () {0x8;}' unless defined(&HOSTINT_STAT_ISDN);
    eval 'sub HOSTINT_STAT_DSOUND () {0x4;}' unless defined(&HOSTINT_STAT_DSOUND);
    eval 'sub HOSTINT_STAT_MPU401 () {0x2;}' unless defined(&HOSTINT_STAT_MPU401);
    eval 'sub HOSTINT_STAT_SB () {0x1;}' unless defined(&HOSTINT_STAT_SB);
    eval 'sub PORT_HWVOL_VOICE_SHADOW () {0x1c;}' unless defined(&PORT_HWVOL_VOICE_SHADOW);
    eval 'sub PORT_HWVOL_VOICE () {0x1d;}' unless defined(&PORT_HWVOL_VOICE);
    eval 'sub PORT_HWVOL_MASTER_SHADOW () {0x1e;}' unless defined(&PORT_HWVOL_MASTER_SHADOW);
    eval 'sub PORT_HWVOL_MASTER () {0x1f;}' unless defined(&PORT_HWVOL_MASTER);
    eval 'sub PORT_CODEC_CMD () {0x30;}' unless defined(&PORT_CODEC_CMD);
    eval 'sub CODEC_CMD_READ () {0x80;}' unless defined(&CODEC_CMD_READ);
    eval 'sub CODEC_CMD_WRITE () {0x;}' unless defined(&CODEC_CMD_WRITE);
    eval 'sub CODEC_CMD_ADDR_MASK () {0x7f;}' unless defined(&CODEC_CMD_ADDR_MASK);
    eval 'sub PORT_CODEC_STAT () {0x30;}' unless defined(&PORT_CODEC_STAT);
    eval 'sub CODEC_STAT_MASK () {0x1;}' unless defined(&CODEC_STAT_MASK);
    eval 'sub CODEC_STAT_RW_DONE () {0x;}' unless defined(&CODEC_STAT_RW_DONE);
    eval 'sub CODEC_STAT_PROGLESS () {0x1;}' unless defined(&CODEC_STAT_PROGLESS);
    eval 'sub PORT_CODEC_REG () {0x32;}' unless defined(&PORT_CODEC_REG);
    eval 'sub PORT_RINGBUS_CTRL () {0x34;}' unless defined(&PORT_RINGBUS_CTRL);
    eval 'sub RINGBUS_CTRL_I2S_ENABLED () {0x80000000;}' unless defined(&RINGBUS_CTRL_I2S_ENABLED);
    eval 'sub RINGBUS_CTRL_RINGBUS_ENABLED () {0x20000000;}' unless defined(&RINGBUS_CTRL_RINGBUS_ENABLED);
    eval 'sub RINGBUS_CTRL_ACLINK_ENABLED () {0x10000000;}' unless defined(&RINGBUS_CTRL_ACLINK_ENABLED);
    eval 'sub RINGBUS_CTRL_AC97_SWRESET () {0x8000000;}' unless defined(&RINGBUS_CTRL_AC97_SWRESET);
    eval 'sub RINGBUS_CTRL_IODMA_PLAYBACK_ENABLED () {0x4000000;}' unless defined(&RINGBUS_CTRL_IODMA_PLAYBACK_ENABLED);
    eval 'sub RINGBUS_CTRL_IODMA_RECORD_ENABLED () {0x2000000;}' unless defined(&RINGBUS_CTRL_IODMA_RECORD_ENABLED);
    eval 'sub RINGBUS_SRC_MIC () {20;}' unless defined(&RINGBUS_SRC_MIC);
    eval 'sub RINGBUS_SRC_I2S () {16;}' unless defined(&RINGBUS_SRC_I2S);
    eval 'sub RINGBUS_SRC_ADC () {12;}' unless defined(&RINGBUS_SRC_ADC);
    eval 'sub RINGBUS_SRC_MODEM () {8;}' unless defined(&RINGBUS_SRC_MODEM);
    eval 'sub RINGBUS_SRC_DSOUND () {4;}' unless defined(&RINGBUS_SRC_DSOUND);
    eval 'sub RINGBUS_SRC_ASSP () {0;}' unless defined(&RINGBUS_SRC_ASSP);
    eval 'sub RINGBUS_DEST_MONORAL () {000;}' unless defined(&RINGBUS_DEST_MONORAL);
    eval 'sub RINGBUS_DEST_STEREO () {010;}' unless defined(&RINGBUS_DEST_STEREO);
    eval 'sub RINGBUS_DEST_NONE () {0;}' unless defined(&RINGBUS_DEST_NONE);
    eval 'sub RINGBUS_DEST_DAC () {1;}' unless defined(&RINGBUS_DEST_DAC);
    eval 'sub RINGBUS_DEST_MODEM_IN () {2;}' unless defined(&RINGBUS_DEST_MODEM_IN);
    eval 'sub RINGBUS_DEST_RESERVED3 () {3;}' unless defined(&RINGBUS_DEST_RESERVED3);
    eval 'sub RINGBUS_DEST_DSOUND_IN () {4;}' unless defined(&RINGBUS_DEST_DSOUND_IN);
    eval 'sub RINGBUS_DEST_ASSP_IN () {5;}' unless defined(&RINGBUS_DEST_ASSP_IN);
    eval 'sub PORT_GPIO_DATA () {0x60;}' unless defined(&PORT_GPIO_DATA);
    eval 'sub PORT_GPIO_MASK () {0x64;}' unless defined(&PORT_GPIO_MASK);
    eval 'sub PORT_GPIO_DIR () {0x68;}' unless defined(&PORT_GPIO_DIR);
    eval 'sub PORT_ASSP_MEM_INDEX () {0x80;}' unless defined(&PORT_ASSP_MEM_INDEX);
    eval 'sub PORT_ASSP_MEM_DATA () {0x84;}' unless defined(&PORT_ASSP_MEM_DATA);
    eval 'sub PORT_ASSP_CTRL_A () {0xa2;}' unless defined(&PORT_ASSP_CTRL_A);
    eval 'sub PORT_ASSP_CTRL_B () {0xa4;}' unless defined(&PORT_ASSP_CTRL_B);
    eval 'sub PORT_ASSP_CTRL_C () {0xa6;}' unless defined(&PORT_ASSP_CTRL_C);
    eval 'sub PORT_ASSP_HOST_WR_INDEX () {0xa8;}' unless defined(&PORT_ASSP_HOST_WR_INDEX);
    eval 'sub PORT_ASSP_HOST_WR_DATA () {0xaa;}' unless defined(&PORT_ASSP_HOST_WR_DATA);
    eval 'sub PORT_ASSP_INT_STAT () {0xac;}' unless defined(&PORT_ASSP_INT_STAT);
    eval 'sub WPREG_DATA_PORT () {0;}' unless defined(&WPREG_DATA_PORT);
    eval 'sub WPREG_CRAM_PTR () {1;}' unless defined(&WPREG_CRAM_PTR);
    eval 'sub WPREG_CRAM_DATA () {2;}' unless defined(&WPREG_CRAM_DATA);
    eval 'sub WPREG_WAVE_DATA () {3;}' unless defined(&WPREG_WAVE_DATA);
    eval 'sub WPREG_WAVE_PTR_LOW () {4;}' unless defined(&WPREG_WAVE_PTR_LOW);
    eval 'sub WPREG_WAVE_PTR_HIGH () {5;}' unless defined(&WPREG_WAVE_PTR_HIGH);
    eval 'sub WPREG_TIMER_FREQ () {6;}' unless defined(&WPREG_TIMER_FREQ);
    eval 'sub WP_TIMER_FREQ_PRESCALE_MASK () {0xe0;}' unless defined(&WP_TIMER_FREQ_PRESCALE_MASK);
    eval 'sub WP_TIMER_FREQ_PRESCALE_SHIFT () {5;}' unless defined(&WP_TIMER_FREQ_PRESCALE_SHIFT);
    eval 'sub WP_TIMER_FREQ_DIVIDE_MASK () {0x1f;}' unless defined(&WP_TIMER_FREQ_DIVIDE_MASK);
    eval 'sub WP_TIMER_FREQ_DIVIDE_SHIFT () {0;}' unless defined(&WP_TIMER_FREQ_DIVIDE_SHIFT);
    eval 'sub WPREG_WAVE_ROMRAM () {7;}' unless defined(&WPREG_WAVE_ROMRAM);
    eval 'sub WP_WAVE_VIRTUAL_ENABLED () {0x400;}' unless defined(&WP_WAVE_VIRTUAL_ENABLED);
    eval 'sub WP_WAVE_8BITRAM_ENABLED () {0x200;}' unless defined(&WP_WAVE_8BITRAM_ENABLED);
    eval 'sub WP_WAVE_DRAM_ENABLED () {0x100;}' unless defined(&WP_WAVE_DRAM_ENABLED);
    eval 'sub WP_WAVE_RAMSPLIT_MASK () {0xff;}' unless defined(&WP_WAVE_RAMSPLIT_MASK);
    eval 'sub WP_WAVE_RAMSPLIT_SHIFT () {0;}' unless defined(&WP_WAVE_RAMSPLIT_SHIFT);
    eval 'sub WPREG_BASE () {12;}' unless defined(&WPREG_BASE);
    eval 'sub WP_PARAOUT_BASE_MASK () {0xf000;}' unless defined(&WP_PARAOUT_BASE_MASK);
    eval 'sub WP_PARAOUT_BASE_SHIFT () {12;}' unless defined(&WP_PARAOUT_BASE_SHIFT);
    eval 'sub WP_PARAIN_BASE_MASK () {0xf00;}' unless defined(&WP_PARAIN_BASE_MASK);
    eval 'sub WP_PARAIN_BASE_SHIFT () {8;}' unless defined(&WP_PARAIN_BASE_SHIFT);
    eval 'sub WP_SERIAL0_BASE_MASK () {0xf0;}' unless defined(&WP_SERIAL0_BASE_MASK);
    eval 'sub WP_SERIAL0_BASE_SHIFT () {4;}' unless defined(&WP_SERIAL0_BASE_SHIFT);
    eval 'sub WP_SERIAL1_BASE_MASK () {0xf;}' unless defined(&WP_SERIAL1_BASE_MASK);
    eval 'sub WP_SERIAL1_BASE_SHIFT () {0;}' unless defined(&WP_SERIAL1_BASE_SHIFT);
    eval 'sub WPREG_TIMER_ENABLE () {17;}' unless defined(&WPREG_TIMER_ENABLE);
    eval 'sub WPREG_TIMER_START () {23;}' unless defined(&WPREG_TIMER_START);
    eval 'sub APUREG_APUTYPE () {0;}' unless defined(&APUREG_APUTYPE);
    eval 'sub APU_DMA_ENABLED () {0x4000;}' unless defined(&APU_DMA_ENABLED);
    eval 'sub APU_INT_ON_LOOP () {0x2000;}' unless defined(&APU_INT_ON_LOOP);
    eval 'sub APU_ENDCURVE () {0x1000;}' unless defined(&APU_ENDCURVE);
    eval 'sub APU_APUTYPE_MASK () {0xf0;}' unless defined(&APU_APUTYPE_MASK);
    eval 'sub APU_FILTERTYPE_MASK () {0xc;}' unless defined(&APU_FILTERTYPE_MASK);
    eval 'sub APU_FILTERQ_MASK () {0x3;}' unless defined(&APU_FILTERQ_MASK);
    eval 'sub APU_APUTYPE_SHIFT () {4;}' unless defined(&APU_APUTYPE_SHIFT);
    eval 'sub APUTYPE_INACTIVE () {0;}' unless defined(&APUTYPE_INACTIVE);
    eval 'sub APUTYPE_16BITLINEAR () {1;}' unless defined(&APUTYPE_16BITLINEAR);
    eval 'sub APUTYPE_16BITSTEREO () {2;}' unless defined(&APUTYPE_16BITSTEREO);
    eval 'sub APUTYPE_8BITLINEAR () {3;}' unless defined(&APUTYPE_8BITLINEAR);
    eval 'sub APUTYPE_8BITSTEREO () {4;}' unless defined(&APUTYPE_8BITSTEREO);
    eval 'sub APUTYPE_8BITDIFF () {5;}' unless defined(&APUTYPE_8BITDIFF);
    eval 'sub APUTYPE_DIGITALDELAY () {6;}' unless defined(&APUTYPE_DIGITALDELAY);
    eval 'sub APUTYPE_DUALTAP_READER () {7;}' unless defined(&APUTYPE_DUALTAP_READER);
    eval 'sub APUTYPE_CORRELATOR () {8;}' unless defined(&APUTYPE_CORRELATOR);
    eval 'sub APUTYPE_INPUTMIXER () {9;}' unless defined(&APUTYPE_INPUTMIXER);
    eval 'sub APUTYPE_WAVETABLE () {10;}' unless defined(&APUTYPE_WAVETABLE);
    eval 'sub APUTYPE_RATECONV () {11;}' unless defined(&APUTYPE_RATECONV);
    eval 'sub APUTYPE_16BITPINGPONG () {12;}' unless defined(&APUTYPE_16BITPINGPONG);
    eval 'sub APU_FILTERTYPE_SHIFT () {2;}' unless defined(&APU_FILTERTYPE_SHIFT);
    eval 'sub FILTERTYPE_2POLE_LOPASS () {0;}' unless defined(&FILTERTYPE_2POLE_LOPASS);
    eval 'sub FILTERTYPE_2POLE_BANDPASS () {1;}' unless defined(&FILTERTYPE_2POLE_BANDPASS);
    eval 'sub FILTERTYPE_2POLE_HIPASS () {2;}' unless defined(&FILTERTYPE_2POLE_HIPASS);
    eval 'sub FILTERTYPE_1POLE_LOPASS () {3;}' unless defined(&FILTERTYPE_1POLE_LOPASS);
    eval 'sub FILTERTYPE_1POLE_HIPASS () {4;}' unless defined(&FILTERTYPE_1POLE_HIPASS);
    eval 'sub FILTERTYPE_PASSTHROUGH () {5;}' unless defined(&FILTERTYPE_PASSTHROUGH);
    eval 'sub APU_FILTERQ_SHIFT () {0;}' unless defined(&APU_FILTERQ_SHIFT);
    eval 'sub FILTERQ_LESSQ () {0;}' unless defined(&FILTERQ_LESSQ);
    eval 'sub FILTERQ_MOREQ () {3;}' unless defined(&FILTERQ_MOREQ);
    eval 'sub APUREG_FREQ_LOBYTE () {2;}' unless defined(&APUREG_FREQ_LOBYTE);
    eval 'sub APU_FREQ_LOBYTE_MASK () {0xff00;}' unless defined(&APU_FREQ_LOBYTE_MASK);
    eval 'sub APU_plus6dB () {0x10;}' unless defined(&APU_plus6dB);
    eval 'sub APUREG_FREQ_HIWORD () {3;}' unless defined(&APUREG_FREQ_HIWORD);
    eval 'sub APU_FREQ_HIWORD_MASK () {0xfff;}' unless defined(&APU_FREQ_HIWORD_MASK);
    eval 'sub APU_FREQ_LOBYTE_SHIFT () {8;}' unless defined(&APU_FREQ_LOBYTE_SHIFT);
    eval 'sub APU_FREQ_HIWORD_SHIFT () {0;}' unless defined(&APU_FREQ_HIWORD_SHIFT);
    eval 'sub FREQ_Hz2DIV {
        local($freq) = @_;
	    eval q(((( &u_int64_t)($freq) << 16) / 48000));
    }' unless defined(&FREQ_Hz2DIV);
    eval 'sub APUREG_WAVESPACE () {4;}' unless defined(&APUREG_WAVESPACE);
    eval 'sub APU_STEREO () {0x8000;}' unless defined(&APU_STEREO);
    eval 'sub APU_USE_SYSMEM () {0x4000;}' unless defined(&APU_USE_SYSMEM);
    eval 'sub APU_PCMBAR_MASK () {0x6000;}' unless defined(&APU_PCMBAR_MASK);
    eval 'sub APU_64KPAGE_MASK () {0xff00;}' unless defined(&APU_64KPAGE_MASK);
    eval 'sub APU_PCMBAR_SHIFT () {13;}' unless defined(&APU_PCMBAR_SHIFT);
    eval 'sub APU_64KPAGE_SHIFT () {8;}' unless defined(&APU_64KPAGE_SHIFT);
    eval 'sub APUREG_CURPTR () {5;}' unless defined(&APUREG_CURPTR);
    eval 'sub APUREG_ENDPTR () {6;}' unless defined(&APUREG_ENDPTR);
    eval 'sub APUREG_LOOPLEN () {7;}' unless defined(&APUREG_LOOPLEN);
    eval 'sub APUREG_AMPLITUDE () {9;}' unless defined(&APUREG_AMPLITUDE);
    eval 'sub APU_AMPLITUDE_NOW_MASK () {0xff00;}' unless defined(&APU_AMPLITUDE_NOW_MASK);
    eval 'sub APU_AMPLITUDE_DEST_MASK () {0xff;}' unless defined(&APU_AMPLITUDE_DEST_MASK);
    eval 'sub APU_AMPLITUDE_NOW_SHIFT () {8;}' unless defined(&APU_AMPLITUDE_NOW_SHIFT);
    eval 'sub APUREG_POSITION () {10;}' unless defined(&APUREG_POSITION);
    eval 'sub APU_RADIUS_MASK () {0xc0;}' unless defined(&APU_RADIUS_MASK);
    eval 'sub APU_PAN_MASK () {0x3f;}' unless defined(&APU_PAN_MASK);
    eval 'sub APU_RADIUS_SHIFT () {6;}' unless defined(&APU_RADIUS_SHIFT);
    eval 'sub RADIUS_CENTERCIRCLE () {0;}' unless defined(&RADIUS_CENTERCIRCLE);
    eval 'sub RADIUS_MIDDLE () {1;}' unless defined(&RADIUS_MIDDLE);
    eval 'sub RADIUS_OUTSIDE () {2;}' unless defined(&RADIUS_OUTSIDE);
    eval 'sub APU_PAN_SHIFT () {0;}' unless defined(&APU_PAN_SHIFT);
    eval 'sub PAN_RIGHT () {0x;}' unless defined(&PAN_RIGHT);
    eval 'sub PAN_FRONT () {0x8;}' unless defined(&PAN_FRONT);
    eval 'sub PAN_LEFT () {0x10;}' unless defined(&PAN_LEFT);
    eval 'sub WPWA_MAX () {((1<< 22) - 1);}' unless defined(&WPWA_MAX);
    eval 'sub WPWA_MAXADDR () {((1<< 23) - 1);}' unless defined(&WPWA_MAXADDR);
    eval 'sub MAESTRO_MAXADDR () {((1<< 28) - 1);}' unless defined(&MAESTRO_MAXADDR);
}
1;
