require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&SNDIO_H)) {
    eval 'sub SNDIO_H () {1;}' unless defined(&SNDIO_H);
    require 'sys/param.ph';
    eval 'sub SIO_IGNORE () {0;}' unless defined(&SIO_IGNORE);
    eval 'sub SIO_SYNC () {1;}' unless defined(&SIO_SYNC);
    eval 'sub SIO_ERROR () {2;}' unless defined(&SIO_ERROR);
    eval 'sub SIO_NENC () {8;}' unless defined(&SIO_NENC);
    eval 'sub SIO_NCHAN () {8;}' unless defined(&SIO_NCHAN);
    eval 'sub SIO_NRATE () {16;}' unless defined(&SIO_NRATE);
    eval 'sub SIO_NCONF () {4;}' unless defined(&SIO_NCONF);
    eval 'sub SIO_XSTRINGS () {{ "ignore", "sync", "error" };}' unless defined(&SIO_XSTRINGS);
    eval 'sub SIO_PLAY () {1;}' unless defined(&SIO_PLAY);
    eval 'sub SIO_REC () {2;}' unless defined(&SIO_REC);
    eval 'sub MIO_OUT () {4;}' unless defined(&MIO_OUT);
    eval 'sub MIO_IN () {8;}' unless defined(&MIO_IN);
    eval 'sub SIO_ENCMAX () {10;}' unless defined(&SIO_ENCMAX);
    eval 'sub SIO_BPS {
        my($bits) = @_;
	    eval q(((($bits) <= 8) ? 1: ((($bits) <= 16) ? 2: 4)));
    }' unless defined(&SIO_BPS);
    if((defined(&BYTE_ORDER) ? &BYTE_ORDER : undef) == (defined(&LITTLE_ENDIAN) ? &LITTLE_ENDIAN : undef)) {
	eval 'sub SIO_LE_NATIVE () {1;}' unless defined(&SIO_LE_NATIVE);
    } else {
	eval 'sub SIO_LE_NATIVE () {0;}' unless defined(&SIO_LE_NATIVE);
    }
    eval 'sub SIO_SUN_PATH () {"/dev/audio";}' unless defined(&SIO_SUN_PATH);
    eval 'sub SIO_AUCAT_PATH () {"default";}' unless defined(&SIO_AUCAT_PATH);
    eval 'sub SIO_MAXVOL () {127;}' unless defined(&SIO_MAXVOL);
    if(defined(&__cplusplus)) {
    }
    if(defined(&__cplusplus)) {
    }
}
1;
