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