require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_SYS_DEV_AUDIO_IF_H_)) {
    eval 'sub _SYS_DEV_AUDIO_IF_H_ () {1;}' unless defined(&_SYS_DEV_AUDIO_IF_H_);
    eval 'sub SPKR_ON () {1;}' unless defined(&SPKR_ON);
    eval 'sub SPKR_OFF () {0;}' unless defined(&SPKR_OFF);
    eval 'sub AUDIODEV_TYPE_AUDIO () {0;}' unless defined(&AUDIODEV_TYPE_AUDIO);
    eval 'sub AUDIODEV_TYPE_MIDI () {1;}' unless defined(&AUDIODEV_TYPE_MIDI);
    eval 'sub AUDIODEV_TYPE_OPL () {2;}' unless defined(&AUDIODEV_TYPE_OPL);
    eval 'sub AUDIODEV_TYPE_MPU () {3;}' unless defined(&AUDIODEV_TYPE_MPU);
    eval 'sub AUDIODEV_TYPE_RADIO () {4;}' unless defined(&AUDIODEV_TYPE_RADIO);
    eval 'sub SOUND_DEVICE () {0;}' unless defined(&SOUND_DEVICE);
    eval 'sub AUDIO_DEVICE () {0x80;}' unless defined(&AUDIO_DEVICE);
    eval 'sub AUDIOCTL_DEVICE () {0xc0;}' unless defined(&AUDIOCTL_DEVICE);
    eval 'sub MIXER_DEVICE () {0x10;}' unless defined(&MIXER_DEVICE);
    eval 'sub AUDIOUNIT {
        my($x) = @_;
	    eval q(( &minor($x)&0xf));
    }' unless defined(&AUDIOUNIT);
    eval 'sub AUDIODEV {
        my($x) = @_;
	    eval q(( &minor($x)&0xf0));
    }' unless defined(&AUDIODEV);
    eval 'sub ISDEVSOUND {
        my($x) = @_;
	    eval q(( &AUDIODEV(($x)) ==  &SOUND_DEVICE));
    }' unless defined(&ISDEVSOUND);
    eval 'sub ISDEVAUDIO {
        my($x) = @_;
	    eval q(( &AUDIODEV(($x)) ==  &AUDIO_DEVICE));
    }' unless defined(&ISDEVAUDIO);
    eval 'sub ISDEVAUDIOCTL {
        my($x) = @_;
	    eval q(( &AUDIODEV(($x)) ==  &AUDIOCTL_DEVICE));
    }' unless defined(&ISDEVAUDIOCTL);
    eval 'sub ISDEVMIXER {
        my($x) = @_;
	    eval q(( &AUDIODEV(($x)) ==  &MIXER_DEVICE));
    }' unless defined(&ISDEVMIXER);
    eval 'sub AUDIO_MAX_CHANNELS () {12;}' unless defined(&AUDIO_MAX_CHANNELS);
}
1;
