require '_h2ph_pre.ph';

no warnings 'redefine';

require 'midi.ph';
if((defined(&NMIDI) ? &NMIDI : 0) > 0) {
    require 'dev/ic/mpuvar.ph';
}
require 'sys/timeout.ph';
unless(defined(&SB_MASTER_VOL)) {
    sub SB_MASTER_VOL () {	0;}
}
unless(defined(&SB_MIDI_VOL)) {
    sub SB_MIDI_VOL () {	1;}
}
unless(defined(&SB_CD_VOL)) {
    sub SB_CD_VOL () {	2;}
}
unless(defined(&SB_VOICE_VOL)) {
    sub SB_VOICE_VOL () {	3;}
}
unless(defined(&SB_OUTPUT_CLASS)) {
    sub SB_OUTPUT_CLASS () {	4;}
}
unless(defined(&SB_MIC_VOL)) {
    sub SB_MIC_VOL () {	5;}
}
unless(defined(&SB_LINE_IN_VOL)) {
    sub SB_LINE_IN_VOL () {	6;}
}
unless(defined(&SB_RECORD_SOURCE)) {
    sub SB_RECORD_SOURCE () {	7;}
}
unless(defined(&SB_TREBLE)) {
    sub SB_TREBLE () {	8;}
}
unless(defined(&SB_BASS)) {
    sub SB_BASS () {	9;}
}
unless(defined(&SB_RECORD_CLASS)) {
    sub SB_RECORD_CLASS () {	10;}
}
unless(defined(&SB_INPUT_CLASS)) {
    sub SB_INPUT_CLASS () {	11;}
}
unless(defined(&SB_PCSPEAKER)) {
    sub SB_PCSPEAKER () {	12;}
}
unless(defined(&SB_INPUT_GAIN)) {
    sub SB_INPUT_GAIN () {	13;}
}
unless(defined(&SB_OUTPUT_GAIN)) {
    sub SB_OUTPUT_GAIN () {	14;}
}
unless(defined(&SB_AGC)) {
    sub SB_AGC () {	15;}
}
unless(defined(&SB_EQUALIZATION_CLASS)) {
    sub SB_EQUALIZATION_CLASS () {	16;}
}
unless(defined(&SB_CD_IN_MUTE)) {
    sub SB_CD_IN_MUTE () {	17;}
}
unless(defined(&SB_MIC_IN_MUTE)) {
    sub SB_MIC_IN_MUTE () {	18;}
}
unless(defined(&SB_LINE_IN_MUTE)) {
    sub SB_LINE_IN_MUTE () {	19;}
}
unless(defined(&SB_MIDI_IN_MUTE)) {
    sub SB_MIDI_IN_MUTE () {	20;}
}
unless(defined(&SB_CD_SWAP)) {
    sub SB_CD_SWAP () {	21;}
}
unless(defined(&SB_MIC_SWAP)) {
    sub SB_MIC_SWAP () {	22;}
}
unless(defined(&SB_LINE_SWAP)) {
    sub SB_LINE_SWAP () {	23;}
}
unless(defined(&SB_MIDI_SWAP)) {
    sub SB_MIDI_SWAP () {	24;}
}
unless(defined(&SB_CD_OUT_MUTE)) {
    sub SB_CD_OUT_MUTE () {	25;}
}
unless(defined(&SB_MIC_OUT_MUTE)) {
    sub SB_MIC_OUT_MUTE () {	26;}
}
unless(defined(&SB_LINE_OUT_MUTE)) {
    sub SB_LINE_OUT_MUTE () {	27;}
}
unless(defined(&SB_NDEVS)) {
    sub SB_NDEVS () {	28;}
}
unless(defined(&SB_IS_IN_MUTE)) {
    sub SB_IS_IN_MUTE {
	my($x) = @_;
	eval q((($x) <  &SB_CD_SWAP));
    }
}
unless(defined(&SB_CLOSED)) {
    sub SB_CLOSED () {	0;}
}
unless(defined(&SB_OPEN_AUDIO)) {
    sub SB_OPEN_AUDIO () {	1;}
}
unless(defined(&SB_OPEN_MIDI)) {
    sub SB_OPEN_MIDI () {	2;}
}
unless(defined(&SB_LEFT)) {
    sub SB_LEFT () {	0;}
}
unless(defined(&SB_RIGHT)) {
    sub SB_RIGHT () {	1;}
}
unless(defined(&SB_LR)) {
    sub SB_LR () {	0;}
}
unless(defined(&SB_NOTRUNNING)) {
    sub SB_NOTRUNNING () {	0;}
}
unless(defined(&SB_RUNNING)) {
    sub SB_RUNNING () {	3;}
}
unless(defined(&SB_LOOPING)) {
    sub SB_LOOPING () {	2;}
}
unless(defined(&SBM_NONE)) {
    sub SBM_NONE () {	0;}
}
unless(defined(&SBM_CT1335)) {
    sub SBM_CT1335 () {	1;}
}
unless(defined(&SBM_CT1345)) {
    sub SBM_CT1345 () {	2;}
}
unless(defined(&SBM_CT1XX5)) {
    sub SBM_CT1XX5 () {	3;}
}
unless(defined(&SBM_CT1745)) {
    sub SBM_CT1745 () {	4;}
}
unless(defined(&ISSBM1745)) {
    sub ISSBM1745 {
	my($x) = @_;
	eval q((($x)-> &sc_mixer_model >=  &SBM_CT1XX5));
    }
}
unless(defined(&SB_UNK)) {
    sub SB_UNK () {	-1;}
}
unless(defined(&SB_1)) {
    sub SB_1 () {	0;}
}
unless(defined(&SB_20)) {
    sub SB_20 () {	1;}
}
unless(defined(&SB_2x)) {
    sub SB_2x () {	2;}
}
unless(defined(&SB_PRO)) {
    sub SB_PRO () {	3;}
}
unless(defined(&SB_JAZZ)) {
    sub SB_JAZZ () {	4;}
}
unless(defined(&SB_16)) {
    sub SB_16 () {	5;}
}
unless(defined(&SB_32)) {
    sub SB_32 () {	6;}
}
unless(defined(&SB_64)) {
    sub SB_64 () {	7;}
}
unless(defined(&SB_NAMES)) {
    sub SB_NAMES () {	{ "SB_1", "SB_2.0", "SB_2.x", "SB_Pro", "Jazz_16", "SB_16", "SB_AWE_32", "SB_AWE_64" };}
}
unless(defined(&SBVER_MAJOR)) {
    sub SBVER_MAJOR {
	my($v) = @_;
	eval q(((($v)>>8) & 0xff));
    }
}
unless(defined(&SBVER_MINOR)) {
    sub SBVER_MINOR {
	my($v) = @_;
	eval q((($v)&0xff));
    }
}
if((defined(&NMIDI) ? &NMIDI : 0) > 0) {
}
unless(defined(&ISSBPRO)) {
    sub ISSBPRO {
	my($sc) = @_;
	eval q((($sc)-> &sc_model ==  &SB_PRO || ($sc)-> &sc_model ==  &SB_JAZZ));
    }
}
unless(defined(&ISSBPROCLASS)) {
    sub ISSBPROCLASS {
	my($sc) = @_;
	eval q((($sc)-> &sc_model >=  &SB_PRO));
    }
}
unless(defined(&ISSB16CLASS)) {
    sub ISSB16CLASS {
	my($sc) = @_;
	eval q((($sc)-> &sc_model >=  &SB_16));
    }
}
if(defined(&_KERNEL)) {
}
1;
