158165Selan // This may look like C code, but it is really -*- C++ -*- 258165Selan /* 358165Selan Copyright (C) 1988 Free Software Foundation 458165Selan written by Doug Lea (dl@rocky.oswego.edu) 558165Selan 658165Selan This file is part of the GNU C++ Library. This library is free 758165Selan software; you can redistribute it and/or modify it under the terms of 858165Selan the GNU Library General Public License as published by the Free 958165Selan Software Foundation; either version 2 of the License, or (at your 1058165Selan option) any later version. This library is distributed in the hope 1158165Selan that it will be useful, but WITHOUT ANY WARRANTY; without even the 1258165Selan implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 1358165Selan PURPOSE. See the GNU Library General Public License for more details. 1458165Selan You should have received a copy of the GNU Library General Public 1558165Selan License along with this library; if not, write to the Free Software 1658165Selan Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 1758165Selan */ 1858165Selan 1958165Selan #ifndef _stdio_h 2058165Selan #ifdef __GNUG__ 2158165Selan #pragma interface 2258165Selan #endif 2358165Selan 2458165Selan #ifdef __stdio_h_recursive 2558165Selan #include_next <stdio.h> 2658165Selan #else 2758165Selan #define __stdio_h_recursive 2858165Selan 2958165Selan // Note: The #define _stdio_h is at the end of this file, 3058165Selan // in case #include_next <stdio.h> finds an installed version of this 3158165Selan // same file -- we want it to continue until it finds the C version. 3258165Selan 3358165Selan #include <_G_config.h> 3458165Selan 3558165Selan extern "C" { 3658165Selan 3758165Selan #undef NULL 3858165Selan 3958165Selan #define fdopen __hide_fdopen 4058165Selan #define fopen __hide_fopen 4158165Selan #define fprintf __hide_fprintf 4258165Selan #define fputs __hide_fputs 4358165Selan #define fread __hide_fread 4458165Selan #define freopen __hide_freopen 4558165Selan #define fscanf __hide_fscanf 4658165Selan #define ftell __hide_ftell 4758165Selan #define fwrite __hide_fwrite 4858165Selan #define new __hide_new /* In case 'new' is used as a parameter name. */ 4958165Selan #define perror __hide_perror 5058165Selan #define popen __hide_popen 5158165Selan #define printf __hide_printf 5258165Selan #define puts __hide_puts 5358165Selan #define putw __hide_putw 5458165Selan #define rewind __hide_rewind 5558165Selan #define tempnam __hide_tempnam 5658165Selan #define scanf __hide_scanf 5758165Selan #define setbuf __hide_setbuf 5858165Selan #define setbuffer __hide_setbuffer 5958165Selan #define setlinebuf __hide_setlinebuf 6058165Selan #define setvbuf __hide_setvbuf 6158165Selan #define sprintf __hide_sprintf 6258165Selan #define sscanf __hide_sscanf 6358165Selan #define tempnam __hide_tempnam 6458165Selan #define vfprintf __hide_vfprintf 6558165Selan #define vprintf __hide_vprintf 6658165Selan #define vsprintf __hide_vsprintf 6758165Selan #define _flsbuf __hide__flsbuf 6858165Selan 6958165Selan #include_next <stdio.h> 7058165Selan 7158165Selan #undef fdopen 7258165Selan #undef fopen 7358165Selan #undef fprintf 7458165Selan #undef fputs 7558165Selan #undef fread 7658165Selan #undef freopen 7758165Selan #undef fscanf 7858165Selan #undef ftell 7958165Selan #undef fwrite 8058165Selan #undef new 8158165Selan #undef perror 8258165Selan #undef popen 8358165Selan #undef printf 8458165Selan #undef puts 8558165Selan #undef putw 8658165Selan #undef rewind 8758165Selan #undef tempnam 8858165Selan #undef scanf 8958165Selan #undef setbuf 9058165Selan #undef setbuffer 9158165Selan #undef setlinebuf 9258165Selan #undef setvbuf 9358165Selan #undef sprintf 9458165Selan #undef sscanf 9558165Selan #undef tempnam 9658165Selan #undef vprintf 9758165Selan #undef vfprintf 9858165Selan #undef vsprintf 9958165Selan #undef _flsbuf 10058165Selan 10158165Selan #ifndef NULL 10258165Selan #define NULL _G_NULL 10358165Selan #endif 10458165Selan 10558165Selan #ifndef size_t 10658165Selan #define size_t _G_size_t 10758165Selan #endif 10858165Selan } 10958165Selan 11058165Selan extern "C" { 11158165Selan 11258165Selan int fclose(FILE*); 11358165Selan FILE* fdopen(int, const char*); 11458165Selan int fflush(FILE*); 11558165Selan int fgetc(FILE*); 116*60384Selan char* fgets(char*, unsigned int, FILE *); 11758165Selan FILE* fopen(const char*, const char*); 11858165Selan int fprintf(FILE*, const char* ...); 11958165Selan int fputc(int, FILE*); 12058165Selan int fputs(const char*, FILE*); 12158165Selan size_t fread(void*, size_t, size_t, FILE*); 12258165Selan #ifdef VMS 12358165Selan FILE* freopen(const char*, const char*, FILE* ...); 12458165Selan #else 12558165Selan FILE* freopen(const char*, const char*, FILE*); 12658165Selan #endif 12758165Selan int fscanf(FILE*, const char* ...); 12858165Selan int fseek(FILE*, long, int); 12958165Selan long ftell(FILE *); 13058165Selan size_t fwrite(const void*, size_t, size_t, FILE*); 13158165Selan char* gets(char*); 13258165Selan int getw(FILE*); 13358165Selan int pclose(FILE*); 13458165Selan void perror(const char*); 13558165Selan FILE* popen(const char*, const char*); 13658165Selan int printf(const char* ...); 13758165Selan int puts(const char*); 13858165Selan int putw(int, FILE*); 13958165Selan int rewind(FILE*); 14058165Selan int scanf(const char* ...); 14158165Selan void setbuf(FILE*, char*); 14258165Selan void setbuffer(FILE*, char*, int); 14358165Selan int setlinebuf(FILE*); 14458165Selan int setvbuf(FILE*, char*, int, size_t); 14558165Selan int sscanf(char*, const char* ...); 14658165Selan FILE* tmpfile(); 14758165Selan int ungetc(int, FILE*); 14858165Selan int vfprintf _G_ARGS((FILE*, const char*, _G_va_list)); 14958165Selan int vprintf _G_ARGS((const char*, _G_va_list)); 15058165Selan _G_sprintf_return_type sprintf _G_ARGS((char*, const char* ...)); 15158165Selan _G_sprintf_return_type vsprintf _G_ARGS((char*, const char*, _G_va_list)); 15258165Selan 15358165Selan extern int _filbuf _G_ARGS((FILE*)); 15458165Selan extern int _flsbuf _G_ARGS((unsigned, FILE*)); 15558165Selan 15658165Selan } 15758165Selan 15858165Selan #ifndef L_ctermid 15958165Selan #define L_ctermid 9 16058165Selan #endif 16158165Selan #ifndef L_cuserid 16258165Selan #define L_cuserid 9 16358165Selan #endif 16458165Selan #ifndef P_tmpdir 16558165Selan #define P_tmpdir "/tmp/" 16658165Selan #endif 16758165Selan #ifndef L_tmpnam 16858165Selan #define L_tmpnam (sizeof(P_tmpdir) + 15) 16958165Selan #endif 17058165Selan 17158165Selan #define _stdio_h 1 17258165Selan 17358165Selan #endif 17458165Selan #endif // _stdio_h 175