require '_h2ph_pre.ph';

no warnings 'redefine';

require 'libio.ph';
if(defined(&__cplusplus)) {
}
unless(defined(&_IO_pos_BAD)) {
    if(defined( &_G_IO_IO_FILE_VERSION)  && (defined(&_G_IO_IO_FILE_VERSION) ? &_G_IO_IO_FILE_VERSION : 0) == 0x20001) {
	eval 'sub _IO_pos_BAD () {(( &_IO_off64_t) -1);}' unless defined(&_IO_pos_BAD);
    } else {
	eval 'sub _IO_pos_BAD () {(( &_IO_off_t) -1);}' unless defined(&_IO_pos_BAD);
    }
}
unless(defined(&_IO_clearerr)) {
    sub _IO_clearerr {
	my($FP) = @_;
	eval q((($FP)-> &_flags &= ~( &_IO_ERR_SEEN| &_IO_EOF_SEEN)));
    }
}
unless(defined(&_IO_fseek)) {
    sub _IO_fseek {
	my($__fp, $__offset, $__whence) = @_;
	eval q(( &_IO_seekoff($__fp, $__offset, $__whence,  &_IOS_INPUT| &_IOS_OUTPUT) ==  &_IO_pos_BAD ?  &EOF : 0));
    }
}
unless(defined(&_IO_rewind)) {
    sub _IO_rewind {
	my($FILE) = @_;
	eval q(( &void) &_IO_seekoff($FILE, 0, 0,  &_IOS_INPUT| &_IOS_OUTPUT));
    }
}
unless(defined(&_IO_vprintf)) {
    sub _IO_vprintf {
	my($FORMAT, $ARGS) = @_;
	eval q( &_IO_vfprintf( &_IO_stdout, $FORMAT, $ARGS));
    }
}
if((defined(&_G_IO_IO_FILE_VERSION) ? &_G_IO_IO_FILE_VERSION : 0) == 0x20001) {
    eval 'sub _IO_freopen {
        my($FILENAME, $MODE, $FP) = @_;
	    eval q(( &_IO_file_close_it($FP),  &_IO_file_fopen($FP, $FILENAME, $MODE, 0)));
    }' unless defined(&_IO_freopen);
} else {
    eval 'sub _IO_freopen {
        my($FILENAME, $MODE, $FP) = @_;
	    eval q(( &_IO_file_close_it($FP),  &_IO_file_fopen($FP, $FILENAME, $MODE)));
    }' unless defined(&_IO_freopen);
}
unless(defined(&_IO_fileno)) {
    sub _IO_fileno {
	my($FP) = @_;
	eval q((($FP)-> &_fileno));
    }
}
unless(defined(&_IO_pclose)) {
    sub _IO_pclose () {	 &_IO_fclose;}
}
unless(defined(&_IO_setbuf)) {
    sub _IO_setbuf {
	my($_FP, $_BUF) = @_;
	eval q( &_IO_setbuffer($_FP, $_BUF,  &_IO_BUFSIZ));
    }
}
unless(defined(&_IO_setlinebuf)) {
    sub _IO_setlinebuf {
	my($_FP) = @_;
	eval q( &_IO_setvbuf($_FP,  &NULL, 1, 0));
    }
}
if(defined(&__cplusplus)) {
}
1;
