1*58165Selan // This may look like C code, but it is really -*- C++ -*- 2*58165Selan /* 3*58165Selan Copyright (C) 1988 Free Software Foundation 4*58165Selan written by Doug Lea (dl@rocky.oswego.edu) 5*58165Selan 6*58165Selan This file is part of the GNU C++ Library. This library is free 7*58165Selan software; you can redistribute it and/or modify it under the terms of 8*58165Selan the GNU Library General Public License as published by the Free 9*58165Selan Software Foundation; either version 2 of the License, or (at your 10*58165Selan option) any later version. This library is distributed in the hope 11*58165Selan that it will be useful, but WITHOUT ANY WARRANTY; without even the 12*58165Selan implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 13*58165Selan PURPOSE. See the GNU Library General Public License for more details. 14*58165Selan You should have received a copy of the GNU Library General Public 15*58165Selan License along with this library; if not, write to the Free Software 16*58165Selan Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 17*58165Selan */ 18*58165Selan 19*58165Selan #ifndef _stdio_h 20*58165Selan #ifdef __GNUG__ 21*58165Selan #pragma interface 22*58165Selan #endif 23*58165Selan 24*58165Selan #ifdef __stdio_h_recursive 25*58165Selan #include_next <stdio.h> 26*58165Selan #else 27*58165Selan #define __stdio_h_recursive 28*58165Selan 29*58165Selan // Note: The #define _stdio_h is at the end of this file, 30*58165Selan // in case #include_next <stdio.h> finds an installed version of this 31*58165Selan // same file -- we want it to continue until it finds the C version. 32*58165Selan 33*58165Selan #include <_G_config.h> 34*58165Selan 35*58165Selan extern "C" { 36*58165Selan 37*58165Selan #undef NULL 38*58165Selan 39*58165Selan #define fdopen __hide_fdopen 40*58165Selan #define fopen __hide_fopen 41*58165Selan #define fprintf __hide_fprintf 42*58165Selan #define fputs __hide_fputs 43*58165Selan #define fread __hide_fread 44*58165Selan #define freopen __hide_freopen 45*58165Selan #define fscanf __hide_fscanf 46*58165Selan #define ftell __hide_ftell 47*58165Selan #define fwrite __hide_fwrite 48*58165Selan #define new __hide_new /* In case 'new' is used as a parameter name. */ 49*58165Selan #define perror __hide_perror 50*58165Selan #define popen __hide_popen 51*58165Selan #define printf __hide_printf 52*58165Selan #define puts __hide_puts 53*58165Selan #define putw __hide_putw 54*58165Selan #define rewind __hide_rewind 55*58165Selan #define tempnam __hide_tempnam 56*58165Selan #define scanf __hide_scanf 57*58165Selan #define setbuf __hide_setbuf 58*58165Selan #define setbuffer __hide_setbuffer 59*58165Selan #define setlinebuf __hide_setlinebuf 60*58165Selan #define setvbuf __hide_setvbuf 61*58165Selan #define sprintf __hide_sprintf 62*58165Selan #define sscanf __hide_sscanf 63*58165Selan #define tempnam __hide_tempnam 64*58165Selan #define vfprintf __hide_vfprintf 65*58165Selan #define vprintf __hide_vprintf 66*58165Selan #define vsprintf __hide_vsprintf 67*58165Selan #define _flsbuf __hide__flsbuf 68*58165Selan 69*58165Selan #include_next <stdio.h> 70*58165Selan 71*58165Selan #undef fdopen 72*58165Selan #undef fopen 73*58165Selan #undef fprintf 74*58165Selan #undef fputs 75*58165Selan #undef fread 76*58165Selan #undef freopen 77*58165Selan #undef fscanf 78*58165Selan #undef ftell 79*58165Selan #undef fwrite 80*58165Selan #undef new 81*58165Selan #undef perror 82*58165Selan #undef popen 83*58165Selan #undef printf 84*58165Selan #undef puts 85*58165Selan #undef putw 86*58165Selan #undef rewind 87*58165Selan #undef tempnam 88*58165Selan #undef scanf 89*58165Selan #undef setbuf 90*58165Selan #undef setbuffer 91*58165Selan #undef setlinebuf 92*58165Selan #undef setvbuf 93*58165Selan #undef sprintf 94*58165Selan #undef sscanf 95*58165Selan #undef tempnam 96*58165Selan #undef vprintf 97*58165Selan #undef vfprintf 98*58165Selan #undef vsprintf 99*58165Selan #undef _flsbuf 100*58165Selan 101*58165Selan #ifndef NULL 102*58165Selan #define NULL _G_NULL 103*58165Selan #endif 104*58165Selan 105*58165Selan #ifndef size_t 106*58165Selan #define size_t _G_size_t 107*58165Selan #endif 108*58165Selan } 109*58165Selan 110*58165Selan extern "C" { 111*58165Selan 112*58165Selan int fclose(FILE*); 113*58165Selan FILE* fdopen(int, const char*); 114*58165Selan int fflush(FILE*); 115*58165Selan int fgetc(FILE*); 116*58165Selan char* fgets(char*, int, FILE *); 117*58165Selan FILE* fopen(const char*, const char*); 118*58165Selan int fprintf(FILE*, const char* ...); 119*58165Selan int fputc(int, FILE*); 120*58165Selan int fputs(const char*, FILE*); 121*58165Selan size_t fread(void*, size_t, size_t, FILE*); 122*58165Selan #ifdef VMS 123*58165Selan FILE* freopen(const char*, const char*, FILE* ...); 124*58165Selan #else 125*58165Selan FILE* freopen(const char*, const char*, FILE*); 126*58165Selan #endif 127*58165Selan int fscanf(FILE*, const char* ...); 128*58165Selan int fseek(FILE*, long, int); 129*58165Selan long ftell(FILE *); 130*58165Selan size_t fwrite(const void*, size_t, size_t, FILE*); 131*58165Selan char* gets(char*); 132*58165Selan int getw(FILE*); 133*58165Selan int pclose(FILE*); 134*58165Selan void perror(const char*); 135*58165Selan FILE* popen(const char*, const char*); 136*58165Selan int printf(const char* ...); 137*58165Selan int puts(const char*); 138*58165Selan int putw(int, FILE*); 139*58165Selan int rewind(FILE*); 140*58165Selan int scanf(const char* ...); 141*58165Selan void setbuf(FILE*, char*); 142*58165Selan void setbuffer(FILE*, char*, int); 143*58165Selan int setlinebuf(FILE*); 144*58165Selan int setvbuf(FILE*, char*, int, size_t); 145*58165Selan int sscanf(char*, const char* ...); 146*58165Selan FILE* tmpfile(); 147*58165Selan int ungetc(int, FILE*); 148*58165Selan int vfprintf _G_ARGS((FILE*, const char*, _G_va_list)); 149*58165Selan int vprintf _G_ARGS((const char*, _G_va_list)); 150*58165Selan _G_sprintf_return_type sprintf _G_ARGS((char*, const char* ...)); 151*58165Selan _G_sprintf_return_type vsprintf _G_ARGS((char*, const char*, _G_va_list)); 152*58165Selan 153*58165Selan extern int _filbuf _G_ARGS((FILE*)); 154*58165Selan extern int _flsbuf _G_ARGS((unsigned, FILE*)); 155*58165Selan 156*58165Selan } 157*58165Selan 158*58165Selan #ifndef L_ctermid 159*58165Selan #define L_ctermid 9 160*58165Selan #endif 161*58165Selan #ifndef L_cuserid 162*58165Selan #define L_cuserid 9 163*58165Selan #endif 164*58165Selan #ifndef P_tmpdir 165*58165Selan #define P_tmpdir "/tmp/" 166*58165Selan #endif 167*58165Selan #ifndef L_tmpnam 168*58165Selan #define L_tmpnam (sizeof(P_tmpdir) + 15) 169*58165Selan #endif 170*58165Selan 171*58165Selan #define _stdio_h 1 172*58165Selan 173*58165Selan #endif 174*58165Selan #endif // _stdio_h 175