require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_IOSTDIO_H)) {
    eval 'sub _IOSTDIO_H () {1;}' unless defined(&_IOSTDIO_H);
    require 'iolibio.ph';
    unless(defined(&EOF)) {
	eval 'sub EOF () {(-1);}' unless defined(&EOF);
    }
    unless(defined(&BUFSIZ)) {
	eval 'sub BUFSIZ () {1024;}' unless defined(&BUFSIZ);
    }
    eval 'sub _IOFBF () {0;}' unless defined(&_IOFBF);
    eval 'sub _IOLBF () {1;}' unless defined(&_IOLBF);
    eval 'sub _IONBF () {2;}' unless defined(&_IONBF);
    eval 'sub SEEK_SET () {0;}' unless defined(&SEEK_SET);
    eval 'sub SEEK_CUR () {1;}' unless defined(&SEEK_CUR);
    eval 'sub SEEK_END () {2;}' unless defined(&SEEK_END);
    eval 'sub stdin () { &_IO_stdin;}' unless defined(&stdin);
    eval 'sub stdout () { &_IO_stdout;}' unless defined(&stdout);
    eval 'sub stderr () { &_IO_stderr;}' unless defined(&stderr);
    eval 'sub getc {
        my($_fp) = @_;
	    eval q( &_IO_getc($_fp));
    }' unless defined(&getc);
    eval 'sub putc {
        my($_ch, $_fp) = @_;
	    eval q( &_IO_putc($_ch, $_fp));
    }' unless defined(&putc);
    eval 'sub clearerr () { &_IO_clearerr;}' unless defined(&clearerr);
    eval 'sub fclose () { &_IO_fclose;}' unless defined(&fclose);
    eval 'sub feof () { &_IO_feof;}' unless defined(&feof);
    eval 'sub ferror () { &_IO_ferror;}' unless defined(&ferror);
    eval 'sub fflush () { &_IO_fflush;}' unless defined(&fflush);
    eval 'sub fgetc {
        my($__fp) = @_;
	    eval q( &_IO_getc( &_fp));
    }' unless defined(&fgetc);
    eval 'sub fgetpos () { &_IO_fgetpos;}' unless defined(&fgetpos);
    eval 'sub fgets () { &_IO_fgets;}' unless defined(&fgets);
    eval 'sub fopen () { &_IO_fopen;}' unless defined(&fopen);
    eval 'sub fprintf () { &_IO_fprintf;}' unless defined(&fprintf);
    eval 'sub fputc {
        my($_ch, $_fp) = @_;
	    eval q( &_IO_putc($_ch, $_fp));
    }' unless defined(&fputc);
    eval 'sub fputs () { &_IO_fputs;}' unless defined(&fputs);
    eval 'sub fread () { &_IO_fread;}' unless defined(&fread);
    eval 'sub freopen () { &_IO_freopen;}' unless defined(&freopen);
    eval 'sub fscanf () { &_IO_fscanf;}' unless defined(&fscanf);
    eval 'sub fseek () { &_IO_fseek;}' unless defined(&fseek);
    eval 'sub fsetpos () { &_IO_fsetpos;}' unless defined(&fsetpos);
    eval 'sub ftell () { &_IO_ftell;}' unless defined(&ftell);
    eval 'sub fwrite () { &_IO_fwrite;}' unless defined(&fwrite);
    eval 'sub gets () { &_IO_gets;}' unless defined(&gets);
    eval 'sub perror () { &_IO_perror;}' unless defined(&perror);
    eval 'sub printf () { &_IO_printf;}' unless defined(&printf);
    eval 'sub puts () { &_IO_puts;}' unless defined(&puts);
    eval 'sub rewind () { &_IO_rewind;}' unless defined(&rewind);
    eval 'sub scanf () { &_IO_scanf;}' unless defined(&scanf);
    eval 'sub setbuf () { &_IO_setbuf;}' unless defined(&setbuf);
    eval 'sub setbuffer () { &_IO_setbuffer;}' unless defined(&setbuffer);
    eval 'sub setvbuf () { &_IO_setvbuf;}' unless defined(&setvbuf);
    eval 'sub sprintf () { &_IO_sprintf;}' unless defined(&sprintf);
    eval 'sub sscanf () { &_IO_sscanf;}' unless defined(&sscanf);
    eval 'sub ungetc () { &_IO_ungetc;}' unless defined(&ungetc);
    eval 'sub vfprintf () { &_IO_vfprintf;}' unless defined(&vfprintf);
    eval 'sub vprintf {
        my($__fmt, $__args) = @_;
	    eval q( &vfprintf( &stdout, $__fmt, $__args));
    }' unless defined(&vprintf);
    eval 'sub vsprintf () { &_IO_vsprintf;}' unless defined(&vsprintf);
    if(0) {
	eval 'sub remove () {???  &__P(( &const \'char\'*));}' unless defined(&remove);
	eval 'sub rename () {???  &__P(( &const \'char\'*  &_old,  &const \'char\'*  &_new));}' unless defined(&rename);
	eval 'sub tmpfile () {???  &__P(( &void));}' unless defined(&tmpfile);
	eval 'sub tmpnam () {???  &__P();}' unless defined(&tmpnam);
    }
    if(!defined( &__STRICT_ANSI__) || defined( &_POSIX_SOURCE)) {
	eval 'sub fdopen () { &_IO_fdopen;}' unless defined(&fdopen);
	eval 'sub fileno () { &_IO_fileno;}' unless defined(&fileno);
	eval 'sub popen () { &_IO_popen;}' unless defined(&popen);
	eval 'sub pclose () { &_IO_pclose;}' unless defined(&pclose);
	eval 'sub setbuf () { &_IO_setbuf;}' unless defined(&setbuf);
	eval 'sub setlinebuf () { &_IO_setlinebuf;}' unless defined(&setlinebuf);
    }
}
1;
