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