require '_h2ph_pre.ph';

unless(defined(&_FTAPE_H)) {
    eval 'sub _FTAPE_H () {1;}' unless defined(&_FTAPE_H);
    eval 'sub FTAPE_VERSION () {"ftape v3.04d 25/11/97";}' unless defined(&FTAPE_VERSION);
    eval 'sub KERNEL_VER {
        local($major,$minor,$sublvl) = @_;
	    eval q(((($major)<<16)+(($minor)<<8)+($sublvl)));
    }' unless defined(&KERNEL_VER);
    require 'linux/types.ph';
    require 'linux/version.ph';
    require 'linux/config.ph';
    require 'linux/mtio.ph';
    eval 'sub FT_SECTOR {
        local($x) = @_;
	    eval q(($x+1));
    }' unless defined(&FT_SECTOR);
    eval 'sub FT_SECTOR_SIZE () {1024;}' unless defined(&FT_SECTOR_SIZE);
    eval 'sub FT_SECTORS_PER_SEGMENT () {32;}' unless defined(&FT_SECTORS_PER_SEGMENT);
    eval 'sub FT_ECC_SECTORS () {3;}' unless defined(&FT_ECC_SECTORS);
    eval 'sub FT_SEGMENT_SIZE () {(( &FT_SECTORS_PER_SEGMENT -  &FT_ECC_SECTORS) *  &FT_SECTOR_SIZE);}' unless defined(&FT_SEGMENT_SIZE);
    eval 'sub FT_BUFF_SIZE () {( &FT_SECTORS_PER_SEGMENT *  &FT_SECTOR_SIZE);}' unless defined(&FT_BUFF_SIZE);
    eval 'sub FTAPE_SEL_A () {0;}' unless defined(&FTAPE_SEL_A);
    eval 'sub FTAPE_SEL_B () {1;}' unless defined(&FTAPE_SEL_B);
    eval 'sub FTAPE_SEL_C () {2;}' unless defined(&FTAPE_SEL_C);
    eval 'sub FTAPE_SEL_D () {3;}' unless defined(&FTAPE_SEL_D);
    eval 'sub FTAPE_SEL_MASK () {3;}' unless defined(&FTAPE_SEL_MASK);
    eval 'sub FTAPE_SEL {
        local($unit) = @_;
	    eval q((($unit) &  &FTAPE_SEL_MASK));
    }' unless defined(&FTAPE_SEL);
    eval 'sub FTAPE_NO_REWIND () {4;}' unless defined(&FTAPE_NO_REWIND);
}
1;
