require '_h2ph_pre.ph';

unless(defined(&_BSD_AUDIOIO_H_)) {
    eval 'sub _BSD_AUDIOIO_H_ () {1;}' unless defined(&_BSD_AUDIOIO_H_);
    eval 'sub AUDIO_MIN_GAIN () {(0);}' unless defined(&AUDIO_MIN_GAIN);
    eval 'sub AUDIO_MAX_GAIN () {(255);}' unless defined(&AUDIO_MAX_GAIN);
    eval 'sub AUDIO_ENCODING_ULAW () {(1);}' unless defined(&AUDIO_ENCODING_ULAW);
    eval 'sub AUDIO_ENCODING_ALAW () {(2);}' unless defined(&AUDIO_ENCODING_ALAW);
    eval 'sub AUDIO_INITINFO {
        local($p) = @_;
	    eval q( &memset(($p), 0xff, $sizeof{\'struct audio_info\'}));
    }' unless defined(&AUDIO_INITINFO);
    if((defined( &sun) || defined( &ibm032))  && !defined( &__GNUC__)) {
	eval 'sub AUDIO_GETINFO () { &_IOR("A", 21, \'struct audio_info\');}' unless defined(&AUDIO_GETINFO);
	eval 'sub AUDIO_SETINFO () { &_IOWR("A", 22, \'struct audio_info\');}' unless defined(&AUDIO_SETINFO);
	eval 'sub AUDIO_DRAIN () { &_IO("A", 23);}' unless defined(&AUDIO_DRAIN);
	eval 'sub AUDIO_FLUSH () { &_IO("A", 24);}' unless defined(&AUDIO_FLUSH);
	eval 'sub AUDIO_WSEEK () { &_IOR("A", 25, \'u_long\');}' unless defined(&AUDIO_WSEEK);
	eval 'sub AUDIO_RERROR () { &_IOR("A", 26, \'int\');}' unless defined(&AUDIO_RERROR);
	eval 'sub AUDIO_GETMAP () { &_IOR("A", 27, \'struct mapreg\');}' unless defined(&AUDIO_GETMAP);
	eval 'sub AUDIO_SETMAP () { &_IOW("A", 28, \'struct mapreg\');}' unless defined(&AUDIO_SETMAP);
    } else {
	eval 'sub AUDIO_GETINFO () { &_IOR(ord(\'A\'), 21, \'struct audio_info\');}' unless defined(&AUDIO_GETINFO);
	eval 'sub AUDIO_SETINFO () { &_IOWR(ord(\'A\'), 22, \'struct audio_info\');}' unless defined(&AUDIO_SETINFO);
	eval 'sub AUDIO_DRAIN () { &_IO(ord(\'A\'), 23);}' unless defined(&AUDIO_DRAIN);
	eval 'sub AUDIO_FLUSH () { &_IO(ord(\'A\'), 24);}' unless defined(&AUDIO_FLUSH);
	eval 'sub AUDIO_WSEEK () { &_IOR(ord(\'A\'), 25, \'u_long\');}' unless defined(&AUDIO_WSEEK);
	eval 'sub AUDIO_RERROR () { &_IOR(ord(\'A\'), 26, \'int\');}' unless defined(&AUDIO_RERROR);
	eval 'sub AUDIO_GETMAP () { &_IOR(ord(\'A\'), 27, \'struct mapreg\');}' unless defined(&AUDIO_GETMAP);
	eval 'sub AUDIO_SETMAP () { &_IOW(ord(\'A\'), 28, \'struct mapreg\');}' unless defined(&AUDIO_SETMAP);
    }
    eval 'sub AUDIO_SPEAKER () {1;}' unless defined(&AUDIO_SPEAKER);
    eval 'sub AUDIO_HEADPHONE () {2;}' unless defined(&AUDIO_HEADPHONE);
}
1;
