require '_h2ph_pre.ph';

unless(defined(&_SCSI_CD_H)) {
    eval 'sub _SCSI_CD_H () {1;}' unless defined(&_SCSI_CD_H);
    eval 'sub CD_RELADDR () {0x1;}' unless defined(&CD_RELADDR);
    eval 'sub CD_MSF () {0x2;}' unless defined(&CD_MSF);
    eval 'sub PA_PAUSE () {1;}' unless defined(&PA_PAUSE);
    eval 'sub PA_RESUME () {0;}' unless defined(&PA_RESUME);
    eval 'sub SRS_SUBQ () {0x40;}' unless defined(&SRS_SUBQ);
    eval 'sub READ_CD_CAPACITY () {0x25;}' unless defined(&READ_CD_CAPACITY);
    eval 'sub READ_SUBCHANNEL () {0x42;}' unless defined(&READ_SUBCHANNEL);
    eval 'sub READ_TOC () {0x43;}' unless defined(&READ_TOC);
    eval 'sub READ_HEADER () {0x44;}' unless defined(&READ_HEADER);
    eval 'sub PLAY () {0x45;}' unless defined(&PLAY);
    eval 'sub PLAY_MSF () {0x47;}' unless defined(&PLAY_MSF);
    eval 'sub PLAY_TRACK () {0x48;}' unless defined(&PLAY_TRACK);
    eval 'sub PLAY_TRACK_REL () {0x49;}' unless defined(&PLAY_TRACK_REL);
    eval 'sub PAUSE () {0x4b;}' unless defined(&PAUSE);
    eval 'sub PLAY_BIG () {0xa5;}' unless defined(&PLAY_BIG);
    eval 'sub PLAY_TRACK_REL_BIG () {0xa9;}' unless defined(&PLAY_TRACK_REL_BIG);
    eval 'sub CD_PAGE_CODE () {0x3f;}' unless defined(&CD_PAGE_CODE);
    eval 'sub AUDIO_PAGE () {0xe;}' unless defined(&AUDIO_PAGE);
    eval 'sub CD_PAGE_PS () {0x80;}' unless defined(&CD_PAGE_PS);
    eval 'sub CD_PA_SOTC () {0x2;}' unless defined(&CD_PA_SOTC);
    eval 'sub CD_PA_IMMED () {0x4;}' unless defined(&CD_PA_IMMED);
    eval 'sub CD_PA_FORMAT_LBA () {0xf;}' unless defined(&CD_PA_FORMAT_LBA);
    eval 'sub CD_PA_APR_VALID () {0x80;}' unless defined(&CD_PA_APR_VALID);
    eval 'sub CHANNEL () {0xf;}' unless defined(&CHANNEL);
    eval 'sub CHANNEL_0 () {1;}' unless defined(&CHANNEL_0);
    eval 'sub CHANNEL_1 () {2;}' unless defined(&CHANNEL_1);
    eval 'sub CHANNEL_2 () {4;}' unless defined(&CHANNEL_2);
    eval 'sub CHANNEL_3 () {8;}' unless defined(&CHANNEL_3);
    eval 'sub LEFT_CHANNEL () { &CHANNEL_0;}' unless defined(&LEFT_CHANNEL);
    eval 'sub RIGHT_CHANNEL () { &CHANNEL_1;}' unless defined(&RIGHT_CHANNEL);
    eval 'sub MUTE_CHANNEL () {0x;}' unless defined(&MUTE_CHANNEL);
    eval 'sub BOTH_CHANNEL () { &LEFT_CHANNEL |  &RIGHT_CHANNEL;}' unless defined(&BOTH_CHANNEL);
    eval 'sub LEFT_PORT () {0;}' unless defined(&LEFT_PORT);
    eval 'sub RIGHT_PORT () {1;}' unless defined(&RIGHT_PORT);
    if(defined(&CDDA)) {
	eval 'sub CD_DA_BLKSIZ () {2352;}' unless defined(&CD_DA_BLKSIZ);
	unless(defined(&CD_NORMAL_DENSITY_CODE)) {
	    eval 'sub CD_NORMAL_DENSITY_CODE () {0x;}' unless defined(&CD_NORMAL_DENSITY_CODE);
	}
	unless(defined(&CD_DA_DENSITY_CODE)) {
	    eval 'sub CD_DA_DENSITY_CODE () {0x82;}' unless defined(&CD_DA_DENSITY_CODE);
	}
    }
}
1;
