xref: /illumos-gate/usr/src/contrib/ast/src/lib/libast/features/stdio (revision b30d193948be5a7794d7ae3ba0ed9c2f72c88e0f)
1*b30d1939SAndy Fiddamanset	prototyped
2*b30d1939SAndy Fiddamanref	-D_def_map_ast=1
3*b30d1939SAndy Fiddamaniff	SFSTDIO
4*b30d1939SAndy Fiddamancat{
5*b30d1939SAndy Fiddaman	#define __FILE_typedef	1
6*b30d1939SAndy Fiddaman	#define _FILE_DEFINED	1
7*b30d1939SAndy Fiddaman	#define _FILE_defined	1
8*b30d1939SAndy Fiddaman	#define _FILEDEFED	1
9*b30d1939SAndy Fiddaman
10*b30d1939SAndy Fiddaman	#ifndef __FILE_TAG
11*b30d1939SAndy Fiddaman	#define __FILE_TAG	_sfio_s
12*b30d1939SAndy Fiddaman	#endif
13*b30d1939SAndy Fiddaman
14*b30d1939SAndy Fiddaman	#undef	FILE
15*b30d1939SAndy Fiddaman	#undef	_FILE
16*b30d1939SAndy Fiddaman	#undef	fpos_t
17*b30d1939SAndy Fiddaman	#undef	fpos64_t
18*b30d1939SAndy Fiddaman
19*b30d1939SAndy Fiddaman	typedef struct _sfio_s _sfio_FILE;
20*b30d1939SAndy Fiddaman
21*b30d1939SAndy Fiddaman	#define FILE		_sfio_FILE
22*b30d1939SAndy Fiddaman	#define _FILE		FILE
23*b30d1939SAndy Fiddaman
24*b30d1939SAndy Fiddaman	#if !defined(__FILE) && !__CYGWIN__
25*b30d1939SAndy Fiddaman	#undef	__FILE
26*b30d1939SAndy Fiddaman	#define __FILE		FILE
27*b30d1939SAndy Fiddaman	#endif
28*b30d1939SAndy Fiddaman
29*b30d1939SAndy Fiddaman	#if defined(_AST_H) || defined(_SFIO_H)
30*b30d1939SAndy Fiddaman
31*b30d1939SAndy Fiddaman	#define BUFSIZ		SF_BUFSIZE
32*b30d1939SAndy Fiddaman
33*b30d1939SAndy Fiddaman	#else
34*b30d1939SAndy Fiddaman
35*b30d1939SAndy Fiddaman	#ifndef BUFSIZ
36*b30d1939SAndy Fiddaman	#define BUFSIZ		8192
37*b30d1939SAndy Fiddaman	#endif
38*b30d1939SAndy Fiddaman
39*b30d1939SAndy Fiddaman	#ifndef EOF
40*b30d1939SAndy Fiddaman	#define EOF		(-1)
41*b30d1939SAndy Fiddaman	#endif
42*b30d1939SAndy Fiddaman
43*b30d1939SAndy Fiddaman	#ifndef NULL
44*b30d1939SAndy Fiddaman	#define NULL		0
45*b30d1939SAndy Fiddaman	#endif
46*b30d1939SAndy Fiddaman
47*b30d1939SAndy Fiddaman	#ifndef SEEK_SET
48*b30d1939SAndy Fiddaman	#define SEEK_SET	0
49*b30d1939SAndy Fiddaman	#define SEEK_CUR	1
50*b30d1939SAndy Fiddaman	#define SEEK_END	2
51*b30d1939SAndy Fiddaman	#endif
52*b30d1939SAndy Fiddaman
53*b30d1939SAndy Fiddaman	#include <ast_std.h>
54*b30d1939SAndy Fiddaman
55*b30d1939SAndy Fiddaman	#include <sfio_s.h>
56*b30d1939SAndy Fiddaman
57*b30d1939SAndy Fiddaman	#if __cplusplus
58*b30d1939SAndy Fiddaman	#define _sf_(f)		(f)
59*b30d1939SAndy Fiddaman	#else
60*b30d1939SAndy Fiddaman	#define _sf_(f)		((struct _sfio_s*)(f))
61*b30d1939SAndy Fiddaman	#endif
62*b30d1939SAndy Fiddaman
63*b30d1939SAndy Fiddaman	#define _SF_EOF		0000200
64*b30d1939SAndy Fiddaman	#define _SF_ERROR	0000400
65*b30d1939SAndy Fiddaman
66*b30d1939SAndy Fiddaman	#endif
67*b30d1939SAndy Fiddaman
68*b30d1939SAndy Fiddaman	#ifdef _NO_LARGEFILE64_SOURCE
69*b30d1939SAndy Fiddaman	#undef _LARGEFILE64_SOURCE
70*b30d1939SAndy Fiddaman	#endif
71*b30d1939SAndy Fiddaman
72*b30d1939SAndy Fiddaman	#ifdef _LARGEFILE64_SOURCE
73*b30d1939SAndy Fiddaman	#undef	off_t
74*b30d1939SAndy Fiddaman	#endif
75*b30d1939SAndy Fiddaman
76*b30d1939SAndy Fiddaman	#define fpos_t		_ast_fpos_t
77*b30d1939SAndy Fiddaman	#if _typ_int64_t
78*b30d1939SAndy Fiddaman	#define fpos64_t	_ast_fpos_t
79*b30d1939SAndy Fiddaman	#endif
80*b30d1939SAndy Fiddaman
81*b30d1939SAndy Fiddaman	typedef struct _ast_fpos_s
82*b30d1939SAndy Fiddaman	{
83*b30d1939SAndy Fiddaman		intmax_t	_sf_offset;
84*b30d1939SAndy Fiddaman		unsigned char	_sf_state[64 - sizeof(intmax_t)];
85*b30d1939SAndy Fiddaman	} _ast_fpos_t;
86*b30d1939SAndy Fiddaman
87*b30d1939SAndy Fiddaman	#define _base		_data
88*b30d1939SAndy Fiddaman	#define _ptr		_next
89*b30d1939SAndy Fiddaman	#define _IOFBF		0
90*b30d1939SAndy Fiddaman	#define _IONBF		1
91*b30d1939SAndy Fiddaman	#define _IOLBF		2
92*b30d1939SAndy Fiddaman
93*b30d1939SAndy Fiddaman	#if defined(__cplusplus) && defined(__THROW) && !defined(_UWIN)
94*b30d1939SAndy Fiddaman
95*b30d1939SAndy Fiddaman	#undef	FILE
96*b30d1939SAndy Fiddaman	#define FILE            FILE
97*b30d1939SAndy Fiddaman	typedef struct _sfio_s FILE;
98*b30d1939SAndy Fiddaman
99*b30d1939SAndy Fiddaman	#undef	strerror
100*b30d1939SAndy Fiddaman	extern char*	strerror(int) __THROW;
101*b30d1939SAndy Fiddaman
102*b30d1939SAndy Fiddaman	extern int	_doprnt(const char*, va_list, FILE*);
103*b30d1939SAndy Fiddaman	extern int	_doscan(FILE*, const char*, va_list);
104*b30d1939SAndy Fiddaman	extern int	asprintf(char**, const char*, ...);
105*b30d1939SAndy Fiddaman	extern int	clearerr(FILE*);
106*b30d1939SAndy Fiddaman	extern int	fclose(FILE*);
107*b30d1939SAndy Fiddaman	extern FILE*	fdopen(int, const char*);
108*b30d1939SAndy Fiddaman	extern int	feof(FILE*);
109*b30d1939SAndy Fiddaman	extern int	ferror(FILE*);
110*b30d1939SAndy Fiddaman	extern int	fflush(FILE*);
111*b30d1939SAndy Fiddaman	extern int	fgetc(FILE*);
112*b30d1939SAndy Fiddaman	extern int	fgetpos(FILE*, fpos_t*);
113*b30d1939SAndy Fiddaman	extern char*	fgets(char*, int, FILE*);
114*b30d1939SAndy Fiddaman	extern int	fileno(FILE*);
115*b30d1939SAndy Fiddaman	extern FILE*	fopen(const char*, const char*);
116*b30d1939SAndy Fiddaman	extern int	fprintf(FILE*, const char*, ...);
117*b30d1939SAndy Fiddaman	extern int	fpurge(FILE*);
118*b30d1939SAndy Fiddaman	extern int	fputc(int, FILE*);
119*b30d1939SAndy Fiddaman	extern int	fputs(const char*, FILE*);
120*b30d1939SAndy Fiddaman	extern size_t	fread(void*, size_t, size_t, FILE*);
121*b30d1939SAndy Fiddaman	extern FILE*	freopen(const char*, const char*, FILE*);
122*b30d1939SAndy Fiddaman	extern int	fscanf(FILE*, const char*, ...);
123*b30d1939SAndy Fiddaman	extern int	fseek(FILE*, long, int);
124*b30d1939SAndy Fiddaman	extern int	fseeko(FILE*, off_t, int);
125*b30d1939SAndy Fiddaman	extern int	fsetpos(FILE*, const fpos_t*);
126*b30d1939SAndy Fiddaman	extern long	ftell(FILE*);
127*b30d1939SAndy Fiddaman	extern off_t	ftello(FILE*);
128*b30d1939SAndy Fiddaman	extern size_t	fwrite(const void*, size_t, size_t, FILE*);
129*b30d1939SAndy Fiddaman	extern int	getc(FILE*);
130*b30d1939SAndy Fiddaman	extern int	getchar(void);
131*b30d1939SAndy Fiddaman	extern char*	gets(char*);
132*b30d1939SAndy Fiddaman	extern int	getw(FILE*);
133*b30d1939SAndy Fiddaman	extern int	pclose(FILE*);
134*b30d1939SAndy Fiddaman	extern FILE*	popen(const char*, const char*);
135*b30d1939SAndy Fiddaman	extern int	printf(const char*, ...);
136*b30d1939SAndy Fiddaman	extern int	putc(int, FILE*);
137*b30d1939SAndy Fiddaman	extern int	putchar(int);
138*b30d1939SAndy Fiddaman	extern int	puts(const char*);
139*b30d1939SAndy Fiddaman	extern int	putw(int, FILE*);
140*b30d1939SAndy Fiddaman	extern void	rewind(FILE*);
141*b30d1939SAndy Fiddaman	extern int	scanf(const char*, ...);
142*b30d1939SAndy Fiddaman	extern void	setbuf(FILE*, char*);
143*b30d1939SAndy Fiddaman	extern int	setbuffer(FILE*, char*, int);
144*b30d1939SAndy Fiddaman	extern int	setlinebuf(FILE*);
145*b30d1939SAndy Fiddaman	extern int	setvbuf(FILE*, char*, int, size_t);
146*b30d1939SAndy Fiddaman	extern int	snprintf(char*, int, const char*, ...);
147*b30d1939SAndy Fiddaman	extern int	sprintf(char*, const char*, ...);
148*b30d1939SAndy Fiddaman	extern int	sscanf(const char*, const char*, ...);
149*b30d1939SAndy Fiddaman	extern FILE*	tmpfile(void);
150*b30d1939SAndy Fiddaman	extern int	ungetc(int, FILE*);
151*b30d1939SAndy Fiddaman	extern int	vasprintf(char**, const char*, va_list);
152*b30d1939SAndy Fiddaman	extern int	vfprintf(FILE*, const char*, va_list);
153*b30d1939SAndy Fiddaman	extern int	vfscanf(FILE*, const char*, va_list);
154*b30d1939SAndy Fiddaman	extern int	vprintf(const char*, va_list);
155*b30d1939SAndy Fiddaman	extern int	vscanf(const char*, va_list);
156*b30d1939SAndy Fiddaman	extern int	vsnprintf(char*, int, const char*, va_list);
157*b30d1939SAndy Fiddaman	extern int	vsprintf(char*, const char*, va_list);
158*b30d1939SAndy Fiddaman	extern int	vsscanf(const char*, const char*, va_list);
159*b30d1939SAndy Fiddaman
160*b30d1939SAndy Fiddaman	#if _typ_int64_t
161*b30d1939SAndy Fiddaman
162*b30d1939SAndy Fiddaman	extern int		fgetpos64(FILE*, fpos64_t*);
163*b30d1939SAndy Fiddaman	extern int		fsetpos64(FILE*, const fpos64_t*);
164*b30d1939SAndy Fiddaman	extern int		fseek64(FILE*, int64_t, int);
165*b30d1939SAndy Fiddaman	extern int		fseeko64(FILE*, int64_t, int);
166*b30d1939SAndy Fiddaman	extern int64_t		ftell64(FILE*);
167*b30d1939SAndy Fiddaman	extern int64_t		ftello64(FILE*);
168*b30d1939SAndy Fiddaman
169*b30d1939SAndy Fiddaman	#endif
170*b30d1939SAndy Fiddaman
171*b30d1939SAndy Fiddaman	extern void	clearerr_unlocked(FILE*);
172*b30d1939SAndy Fiddaman	extern int	feof_unlocked(FILE*);
173*b30d1939SAndy Fiddaman	extern int	ferror_unlocked(FILE*);
174*b30d1939SAndy Fiddaman	extern int	fflush_unlocked(FILE*);
175*b30d1939SAndy Fiddaman	extern int	fgetc_unlocked(FILE*);
176*b30d1939SAndy Fiddaman	extern char*	fgets_unlocked(char*, int, FILE*);
177*b30d1939SAndy Fiddaman	extern int	fileno_unlocked(FILE*);
178*b30d1939SAndy Fiddaman	extern int	fputc_unlocked(int, FILE*);
179*b30d1939SAndy Fiddaman	extern int	fputs_unlocked(char*, FILE*);
180*b30d1939SAndy Fiddaman	extern size_t	fread_unlocked(void*, size_t, size_t, FILE*);
181*b30d1939SAndy Fiddaman	extern size_t	fwrite_unlocked(void*, size_t, size_t, FILE*);
182*b30d1939SAndy Fiddaman	extern int	getc_unlocked(FILE*);
183*b30d1939SAndy Fiddaman	extern int	getchar_unlocked(void);
184*b30d1939SAndy Fiddaman	extern int	putc_unlocked(int, FILE*);
185*b30d1939SAndy Fiddaman	extern int	putchar_unlocked(int);
186*b30d1939SAndy Fiddaman
187*b30d1939SAndy Fiddaman	extern void	flockfile(FILE*);
188*b30d1939SAndy Fiddaman	extern int	ftrylockfile(FILE*);
189*b30d1939SAndy Fiddaman	extern void	funlockfile(FILE*);
190*b30d1939SAndy Fiddaman
191*b30d1939SAndy Fiddaman	#ifdef _USE_GNU
192*b30d1939SAndy Fiddaman
193*b30d1939SAndy Fiddaman	extern int	fcloseall(void);
194*b30d1939SAndy Fiddaman	extern FILE*	fmemopen(void*, size_t, const char*);
195*b30d1939SAndy Fiddaman	extern ssize_t	__getdelim(char**, size_t*, int, FILE*);
196*b30d1939SAndy Fiddaman	extern ssize_t	getdelim(char**, size_t*, int, FILE*);
197*b30d1939SAndy Fiddaman	extern ssize_t	getline(char**, size_t*, FILE*);
198*b30d1939SAndy Fiddaman
199*b30d1939SAndy Fiddaman	#endif
200*b30d1939SAndy Fiddaman
201*b30d1939SAndy Fiddaman	#endif
202*b30d1939SAndy Fiddaman}end
203*b30d1939SAndy Fiddamanoutput{
204*b30d1939SAndy Fiddaman	#include <stdio.h>
205*b30d1939SAndy Fiddaman	#ifndef FILENAME_MAX
206*b30d1939SAndy Fiddaman	#ifndef NAME_MAX
207*b30d1939SAndy Fiddaman	#ifndef _POSIX_NAME_MAX
208*b30d1939SAndy Fiddaman	#define _POSIX_NAME_MAX	14
209*b30d1939SAndy Fiddaman	#endif
210*b30d1939SAndy Fiddaman	#define NAME_MAX	_POSIX_NAME_MAX
211*b30d1939SAndy Fiddaman	#endif
212*b30d1939SAndy Fiddaman	#define FILENAME_MAX	NAME_MAX
213*b30d1939SAndy Fiddaman	#endif
214*b30d1939SAndy Fiddaman	#ifndef FOPEN_MAX
215*b30d1939SAndy Fiddaman	#ifdef STREAM_MAX
216*b30d1939SAndy Fiddaman	#define FOPEN_MAX	STREAM_MAX
217*b30d1939SAndy Fiddaman	#else
218*b30d1939SAndy Fiddaman	#ifndef OPEN_MAX
219*b30d1939SAndy Fiddaman	#ifndef _POSIX_OPEN_MAX
220*b30d1939SAndy Fiddaman	#define _POSIX_OPEN_MAX	20
221*b30d1939SAndy Fiddaman	#endif
222*b30d1939SAndy Fiddaman	#define OPEN_MAX	_POSIX_OPEN_MAX
223*b30d1939SAndy Fiddaman	#endif
224*b30d1939SAndy Fiddaman	#define FOPEN_MAX	OPEN_MAX
225*b30d1939SAndy Fiddaman	#endif
226*b30d1939SAndy Fiddaman	#endif
227*b30d1939SAndy Fiddaman	#ifndef TMP_MAX
228*b30d1939SAndy Fiddaman	#define TMP_MAX		33520641
229*b30d1939SAndy Fiddaman	#endif
230*b30d1939SAndy Fiddaman	int
231*b30d1939SAndy Fiddaman	main()
232*b30d1939SAndy Fiddaman	{
233*b30d1939SAndy Fiddaman		printf("#ifndef FILENAME_MAX\n");
234*b30d1939SAndy Fiddaman		printf("#define FILENAME_MAX	%d\n", FILENAME_MAX);
235*b30d1939SAndy Fiddaman		printf("#endif\n");
236*b30d1939SAndy Fiddaman		printf("#ifndef FOPEN_MAX\n");
237*b30d1939SAndy Fiddaman		printf("#define FOPEN_MAX	%d\n", FOPEN_MAX);
238*b30d1939SAndy Fiddaman		printf("#endif\n");
239*b30d1939SAndy Fiddaman		printf("#ifndef TMP_MAX\n");
240*b30d1939SAndy Fiddaman		printf("#define TMP_MAX		%d\n", TMP_MAX);
241*b30d1939SAndy Fiddaman		printf("#endif\n");
242*b30d1939SAndy Fiddaman	#if !_UWIN
243*b30d1939SAndy Fiddaman		printf("\n");
244*b30d1939SAndy Fiddaman		printf("#define _doprnt		_ast_doprnt\n");
245*b30d1939SAndy Fiddaman		printf("#define _doscan		_ast_doscan\n");
246*b30d1939SAndy Fiddaman		printf("#define asprintf	_ast_asprintf\n");
247*b30d1939SAndy Fiddaman		printf("#define clearerr	_ast_clearerr\n");
248*b30d1939SAndy Fiddaman		printf("#define fclose		_ast_fclose\n");
249*b30d1939SAndy Fiddaman		printf("#define fdopen		_ast_fdopen\n");
250*b30d1939SAndy Fiddaman		printf("#define fflush		_ast_fflush\n");
251*b30d1939SAndy Fiddaman		printf("#define fgetc		_ast_fgetc\n");
252*b30d1939SAndy Fiddaman		printf("#define fgetpos		_ast_fgetpos\n");
253*b30d1939SAndy Fiddaman		printf("#define fgetpos64	_ast_fgetpos64\n");
254*b30d1939SAndy Fiddaman		printf("#define fgets		_ast_fgets\n");
255*b30d1939SAndy Fiddaman		printf("#define fopen		_ast_fopen\n");
256*b30d1939SAndy Fiddaman		printf("#define fprintf		_ast_fprintf\n");
257*b30d1939SAndy Fiddaman		printf("#define fpurge		_ast_fpurge\n");
258*b30d1939SAndy Fiddaman		printf("#define fputs		_ast_fputs\n");
259*b30d1939SAndy Fiddaman		printf("#define fread		_ast_fread\n");
260*b30d1939SAndy Fiddaman		printf("#define freopen		_ast_freopen\n");
261*b30d1939SAndy Fiddaman		printf("#define fscanf		_ast_fscanf\n");
262*b30d1939SAndy Fiddaman		printf("#define fseek		_ast_fseek\n");
263*b30d1939SAndy Fiddaman		printf("#define fseek64		_ast_fseek64\n");
264*b30d1939SAndy Fiddaman		printf("#define fseeko		_ast_fseeko\n");
265*b30d1939SAndy Fiddaman		printf("#define fseeko64	_ast_fseeko64\n");
266*b30d1939SAndy Fiddaman		printf("#define fsetpos		_ast_fsetpos\n");
267*b30d1939SAndy Fiddaman		printf("#define fsetpos64	_ast_fsetpos64\n");
268*b30d1939SAndy Fiddaman		printf("#define ftell		_ast_ftell\n");
269*b30d1939SAndy Fiddaman		printf("#define ftell64		_ast_ftell64\n");
270*b30d1939SAndy Fiddaman		printf("#define ftello		_ast_ftello\n");
271*b30d1939SAndy Fiddaman		printf("#define ftello64	_ast_ftello64\n");
272*b30d1939SAndy Fiddaman		printf("#define fwrite		_ast_fwrite\n");
273*b30d1939SAndy Fiddaman		printf("#define gets		_ast_gets\n");
274*b30d1939SAndy Fiddaman		printf("#define getw		_ast_getw\n");
275*b30d1939SAndy Fiddaman		printf("#define pclose		_ast_pclose\n");
276*b30d1939SAndy Fiddaman		printf("#define popen		_ast_popen\n");
277*b30d1939SAndy Fiddaman		printf("#define printf		_ast_printf\n");
278*b30d1939SAndy Fiddaman		printf("#define puts		_ast_puts\n");
279*b30d1939SAndy Fiddaman		printf("#define putw		_ast_putw\n");
280*b30d1939SAndy Fiddaman		printf("#define rewind		_ast_rewind\n");
281*b30d1939SAndy Fiddaman		printf("#define scanf		_ast_scanf\n");
282*b30d1939SAndy Fiddaman		printf("#define setbuf		_ast_setbuf\n");
283*b30d1939SAndy Fiddaman		printf("#undef	setbuffer\n");
284*b30d1939SAndy Fiddaman		printf("#define setbuffer	_ast_setbuffer\n");
285*b30d1939SAndy Fiddaman		printf("#define setlinebuf	_ast_setlinebuf\n");
286*b30d1939SAndy Fiddaman		printf("#define setvbuf		_ast_setvbuf\n");
287*b30d1939SAndy Fiddaman		printf("#define snprintf	_ast_snprintf\n");
288*b30d1939SAndy Fiddaman		printf("#define sprintf		_ast_sprintf\n");
289*b30d1939SAndy Fiddaman		printf("#define sscanf		_ast_sscanf\n");
290*b30d1939SAndy Fiddaman		printf("#define tmpfile		_ast_tmpfile\n");
291*b30d1939SAndy Fiddaman		printf("#define ungetc		_ast_ungetc\n");
292*b30d1939SAndy Fiddaman		printf("#define vasprintf	_ast_vasprintf\n");
293*b30d1939SAndy Fiddaman		printf("#define vfprintf	_ast_vfprintf\n");
294*b30d1939SAndy Fiddaman		printf("#define vfscanf		_ast_vfscanf\n");
295*b30d1939SAndy Fiddaman		printf("#define vprintf		_ast_vprintf\n");
296*b30d1939SAndy Fiddaman		printf("#define vscanf		_ast_vscanf\n");
297*b30d1939SAndy Fiddaman		printf("#define vsnprintf	_ast_vsnprintf\n");
298*b30d1939SAndy Fiddaman		printf("#define vsprintf	_ast_vsprintf\n");
299*b30d1939SAndy Fiddaman		printf("#define vsscanf		_ast_vsscanf\n");
300*b30d1939SAndy Fiddaman
301*b30d1939SAndy Fiddaman		printf("#define fcloseall	_ast_fcloseall\n");
302*b30d1939SAndy Fiddaman		printf("#define _filbuf		_ast__filbuf\n");
303*b30d1939SAndy Fiddaman		printf("#define fmemopen	_ast_fmemopen\n");
304*b30d1939SAndy Fiddaman		printf("#define __getdelim	_ast___getdelim\n");
305*b30d1939SAndy Fiddaman		printf("#define getdelim	_ast_getdelim\n");
306*b30d1939SAndy Fiddaman		printf("#define getline		_ast_getline\n");
307*b30d1939SAndy Fiddaman
308*b30d1939SAndy Fiddaman		printf("#define clearerr_unlocked _ast_clearerr_unlocked\n");
309*b30d1939SAndy Fiddaman		printf("#define feof_unlocked	_ast_feof_unlocked\n");
310*b30d1939SAndy Fiddaman		printf("#define ferror_unlocked	_ast_ferror_unlocked\n");
311*b30d1939SAndy Fiddaman		printf("#define fflush_unlocked	_ast_fflush_unlocked\n");
312*b30d1939SAndy Fiddaman		printf("#define fgetc_unlocked	_ast_fgetc_unlocked\n");
313*b30d1939SAndy Fiddaman		printf("#define fgets_unlocked	_ast_fgets_unlocked\n");
314*b30d1939SAndy Fiddaman		printf("#define fileno_unlocked	_ast_fileno_unlocked\n");
315*b30d1939SAndy Fiddaman		printf("#define fputc_unlocked	_ast_fputc_unlocked\n");
316*b30d1939SAndy Fiddaman		printf("#define fputs_unlocked	_ast_fputs_unlocked\n");
317*b30d1939SAndy Fiddaman		printf("#define fread_unlocked	_ast_fread_unlocked\n");
318*b30d1939SAndy Fiddaman		printf("#define fwrite_unlocked	_ast_fwrite_unlocked\n");
319*b30d1939SAndy Fiddaman		printf("#define getc_unlocked	_ast_getc_unlocked\n");
320*b30d1939SAndy Fiddaman		printf("#define getchar_unlocked _ast_getchar_unlocked\n");
321*b30d1939SAndy Fiddaman		printf("#define putc_unlocked	_ast_putc_unlocked\n");
322*b30d1939SAndy Fiddaman		printf("#define putchar_unlocked _ast_putchar_unlocked\n");
323*b30d1939SAndy Fiddaman
324*b30d1939SAndy Fiddaman		printf("#define flockfile	_ast_flockfile\n");
325*b30d1939SAndy Fiddaman		printf("#define ftrylockfile	_ast_ftrylockfile\n");
326*b30d1939SAndy Fiddaman		printf("#define funlockfile	_ast_funlockfile\n");
327*b30d1939SAndy Fiddaman
328*b30d1939SAndy Fiddaman		printf("\n");
329*b30d1939SAndy Fiddaman	#endif
330*b30d1939SAndy Fiddaman		return 0;
331*b30d1939SAndy Fiddaman	}
332*b30d1939SAndy Fiddaman}end
333*b30d1939SAndy Fiddamanmacro{
334*b30d1939SAndy Fiddaman	<<"#if defined(__STDPP__directive) && defined(__STDPP__initial)">>
335*b30d1939SAndy Fiddaman	<<"__STDPP__directive pragma pp:initial">>
336*b30d1939SAndy Fiddaman	<<"#endif">>
337*b30d1939SAndy Fiddaman	<<"#ifndef P_tmpdir">>
338*b30d1939SAndy Fiddaman	#ifndef P_tmpdir
339*b30d1939SAndy Fiddaman	#define P_tmpdir "/usr/tmp/"
340*b30d1939SAndy Fiddaman	#endif
341*b30d1939SAndy Fiddaman	<<"#define P_tmpdir">> P_tmpdir <<"/*NOCATLITERAL*/">>
342*b30d1939SAndy Fiddaman	<<"#endif">>
343*b30d1939SAndy Fiddaman	<<"#ifndef L_ctermid">>
344*b30d1939SAndy Fiddaman	#ifndef L_ctermid
345*b30d1939SAndy Fiddaman	#define L_ctermid 9
346*b30d1939SAndy Fiddaman	#endif
347*b30d1939SAndy Fiddaman	<<"#define L_ctermid">> L_ctermid
348*b30d1939SAndy Fiddaman	<<"#endif">>
349*b30d1939SAndy Fiddaman	<<"#ifndef L_tmpnam">>
350*b30d1939SAndy Fiddaman	#ifndef L_tmpnam
351*b30d1939SAndy Fiddaman	#define L_tmpnam (sizeof(P_tmpdir)+15)
352*b30d1939SAndy Fiddaman	#endif
353*b30d1939SAndy Fiddaman	<<"#define L_tmpnam">> L_tmpnam
354*b30d1939SAndy Fiddaman	<<"#endif">>
355*b30d1939SAndy Fiddaman	<<"#if defined(__STDPP__directive) && defined(__STDPP__initial)">>
356*b30d1939SAndy Fiddaman	<<"__STDPP__directive pragma pp:noinitial">>
357*b30d1939SAndy Fiddaman	<<"#endif">>
358*b30d1939SAndy Fiddaman}end
359*b30d1939SAndy Fiddamancat{
360*b30d1939SAndy Fiddaman	#if defined(__cplusplus) && defined(__THROW)
361*b30d1939SAndy Fiddaman	extern char*	ctermid(char*) __THROW;
362*b30d1939SAndy Fiddaman	#else
363*b30d1939SAndy Fiddaman	extern char*	ctermid(char*);
364*b30d1939SAndy Fiddaman	#endif
365*b30d1939SAndy Fiddaman	extern char*	tmpnam(char*);
366*b30d1939SAndy Fiddaman	extern char*	tempnam(const char*, const char*);
367*b30d1939SAndy Fiddaman	extern void	perror(const char*);
368*b30d1939SAndy Fiddaman	#ifndef _AST_STD_H
369*b30d1939SAndy Fiddaman	#ifndef remove
370*b30d1939SAndy Fiddaman	extern int	remove(const char*);
371*b30d1939SAndy Fiddaman	#endif
372*b30d1939SAndy Fiddaman	#ifndef rename
373*b30d1939SAndy Fiddaman	extern int	rename(const char*, const char*);
374*b30d1939SAndy Fiddaman	#endif
375*b30d1939SAndy Fiddaman	#endif
376*b30d1939SAndy Fiddaman
377*b30d1939SAndy Fiddaman	#undef	extern
378*b30d1939SAndy Fiddaman
379*b30d1939SAndy Fiddaman	#if _BLD_ast && defined(__EXPORT__)
380*b30d1939SAndy Fiddaman	#define extern		__EXPORT__
381*b30d1939SAndy Fiddaman	#endif
382*b30d1939SAndy Fiddaman
383*b30d1939SAndy Fiddaman	extern int	_doprnt(const char*, va_list, FILE*);
384*b30d1939SAndy Fiddaman	extern int	_doscan(FILE*, const char*, va_list);
385*b30d1939SAndy Fiddaman	extern int	asprintf(char**, const char*, ...);
386*b30d1939SAndy Fiddaman	extern int	clearerr(FILE*);
387*b30d1939SAndy Fiddaman	extern int	fclose(FILE*);
388*b30d1939SAndy Fiddaman	extern FILE*	fdopen(int, const char*);
389*b30d1939SAndy Fiddaman	extern int	feof(FILE*);
390*b30d1939SAndy Fiddaman	extern int	ferror(FILE*);
391*b30d1939SAndy Fiddaman	extern int	fflush(FILE*);
392*b30d1939SAndy Fiddaman	extern int	fgetc(FILE*);
393*b30d1939SAndy Fiddaman	extern int	fgetpos(FILE*, fpos_t*);
394*b30d1939SAndy Fiddaman	extern char*	fgets(char*, int, FILE*);
395*b30d1939SAndy Fiddaman	extern int	fileno(FILE*);
396*b30d1939SAndy Fiddaman	extern FILE*	fopen(const char*, const char*);
397*b30d1939SAndy Fiddaman	extern int	fprintf(FILE*, const char*, ...);
398*b30d1939SAndy Fiddaman	extern int	fpurge(FILE*);
399*b30d1939SAndy Fiddaman	extern int	fputc(int, FILE*);
400*b30d1939SAndy Fiddaman	extern int	fputs(const char*, FILE*);
401*b30d1939SAndy Fiddaman	extern size_t	fread(void*, size_t, size_t, FILE*);
402*b30d1939SAndy Fiddaman	extern FILE*	freopen(const char*, const char*, FILE*);
403*b30d1939SAndy Fiddaman	extern int	fscanf(FILE*, const char*, ...);
404*b30d1939SAndy Fiddaman	extern int	fseek(FILE*, long, int);
405*b30d1939SAndy Fiddaman	extern int	fseeko(FILE*, off_t, int);
406*b30d1939SAndy Fiddaman	extern int	fsetpos(FILE*, const fpos_t*);
407*b30d1939SAndy Fiddaman	extern long	ftell(FILE*);
408*b30d1939SAndy Fiddaman	extern off_t	ftello(FILE*);
409*b30d1939SAndy Fiddaman	extern size_t	fwrite(const void*, size_t, size_t, FILE*);
410*b30d1939SAndy Fiddaman	extern int	getc(FILE*);
411*b30d1939SAndy Fiddaman	extern int	getchar(void);
412*b30d1939SAndy Fiddaman	extern char*	gets(char*);
413*b30d1939SAndy Fiddaman	extern int	getw(FILE*);
414*b30d1939SAndy Fiddaman	extern int	pclose(FILE*);
415*b30d1939SAndy Fiddaman	extern FILE*	popen(const char*, const char*);
416*b30d1939SAndy Fiddaman	extern int	printf(const char*, ...);
417*b30d1939SAndy Fiddaman	extern int	putc(int, FILE*);
418*b30d1939SAndy Fiddaman	extern int	putchar(int);
419*b30d1939SAndy Fiddaman	extern int	puts(const char*);
420*b30d1939SAndy Fiddaman	extern int	putw(int, FILE*);
421*b30d1939SAndy Fiddaman	extern void	rewind(FILE*);
422*b30d1939SAndy Fiddaman	extern int	scanf(const char*, ...);
423*b30d1939SAndy Fiddaman	extern void	setbuf(FILE*, char*);
424*b30d1939SAndy Fiddaman	extern int	setbuffer(FILE*, char*, int);
425*b30d1939SAndy Fiddaman	extern int	setlinebuf(FILE*);
426*b30d1939SAndy Fiddaman	extern int	setvbuf(FILE*, char*, int, size_t);
427*b30d1939SAndy Fiddaman	extern int	snprintf(char*, int, const char*, ...);
428*b30d1939SAndy Fiddaman	extern int	sprintf(char*, const char*, ...);
429*b30d1939SAndy Fiddaman	extern int	sscanf(const char*, const char*, ...);
430*b30d1939SAndy Fiddaman	extern FILE*	tmpfile(void);
431*b30d1939SAndy Fiddaman	extern int	ungetc(int, FILE*);
432*b30d1939SAndy Fiddaman	extern int	vasprintf(char**, const char*, va_list);
433*b30d1939SAndy Fiddaman	extern int	vfprintf(FILE*, const char*, va_list);
434*b30d1939SAndy Fiddaman	extern int	vfscanf(FILE*, const char*, va_list);
435*b30d1939SAndy Fiddaman	extern int	vprintf(const char*, va_list);
436*b30d1939SAndy Fiddaman	extern int	vscanf(const char*, va_list);
437*b30d1939SAndy Fiddaman	extern int	vsnprintf(char*, int, const char*, va_list);
438*b30d1939SAndy Fiddaman	extern int	vsprintf(char*, const char*, va_list);
439*b30d1939SAndy Fiddaman	extern int	vsscanf(const char*, const char*, va_list);
440*b30d1939SAndy Fiddaman
441*b30d1939SAndy Fiddaman	#if _typ_int64_t
442*b30d1939SAndy Fiddaman
443*b30d1939SAndy Fiddaman	extern int		fgetpos64(FILE*, fpos64_t*);
444*b30d1939SAndy Fiddaman	extern int		fsetpos64(FILE*, const fpos64_t*);
445*b30d1939SAndy Fiddaman	extern int		fseek64(FILE*, int64_t, int);
446*b30d1939SAndy Fiddaman	extern int		fseeko64(FILE*, int64_t, int);
447*b30d1939SAndy Fiddaman	extern int64_t		ftell64(FILE*);
448*b30d1939SAndy Fiddaman	extern int64_t		ftello64(FILE*);
449*b30d1939SAndy Fiddaman
450*b30d1939SAndy Fiddaman	#ifdef _LARGEFILE64_SOURCE
451*b30d1939SAndy Fiddaman
452*b30d1939SAndy Fiddaman	#undef	fpos_t
453*b30d1939SAndy Fiddaman	#undef	off_t
454*b30d1939SAndy Fiddaman	#undef	fgetpos
455*b30d1939SAndy Fiddaman	#undef	fsetpos
456*b30d1939SAndy Fiddaman	#undef	fseek
457*b30d1939SAndy Fiddaman	#undef	fseeko
458*b30d1939SAndy Fiddaman	#undef	ftell
459*b30d1939SAndy Fiddaman	#undef	ftello
460*b30d1939SAndy Fiddaman
461*b30d1939SAndy Fiddaman	#define	fpos_t		fpos64_t
462*b30d1939SAndy Fiddaman	#if _typ_off64_t
463*b30d1939SAndy Fiddaman	#define	off_t		off64_t
464*b30d1939SAndy Fiddaman	#else
465*b30d1939SAndy Fiddaman	#define	off_t		int64_t
466*b30d1939SAndy Fiddaman	#endif
467*b30d1939SAndy Fiddaman
468*b30d1939SAndy Fiddaman	#define fgetpos		fgetpos64
469*b30d1939SAndy Fiddaman	#define fsetpos		fsetpos64
470*b30d1939SAndy Fiddaman	#define	fseek		fseek64
471*b30d1939SAndy Fiddaman	#define	fseeko		fseeko64
472*b30d1939SAndy Fiddaman	#define ftell		ftell64
473*b30d1939SAndy Fiddaman	#define ftello		ftello64
474*b30d1939SAndy Fiddaman
475*b30d1939SAndy Fiddaman	#endif
476*b30d1939SAndy Fiddaman
477*b30d1939SAndy Fiddaman	#endif
478*b30d1939SAndy Fiddaman
479*b30d1939SAndy Fiddaman	extern void	clearerr_unlocked(FILE*);
480*b30d1939SAndy Fiddaman	extern int	feof_unlocked(FILE*);
481*b30d1939SAndy Fiddaman	extern int	ferror_unlocked(FILE*);
482*b30d1939SAndy Fiddaman	extern int	fflush_unlocked(FILE*);
483*b30d1939SAndy Fiddaman	extern int	fgetc_unlocked(FILE*);
484*b30d1939SAndy Fiddaman	extern char*	fgets_unlocked(char*, int, FILE*);
485*b30d1939SAndy Fiddaman	extern int	fileno_unlocked(FILE*);
486*b30d1939SAndy Fiddaman	extern int	fputc_unlocked(int, FILE*);
487*b30d1939SAndy Fiddaman	extern int	fputs_unlocked(char*, FILE*);
488*b30d1939SAndy Fiddaman	extern size_t	fread_unlocked(void*, size_t, size_t, FILE*);
489*b30d1939SAndy Fiddaman	extern size_t	fwrite_unlocked(void*, size_t, size_t, FILE*);
490*b30d1939SAndy Fiddaman	extern int	getc_unlocked(FILE*);
491*b30d1939SAndy Fiddaman	extern int	getchar_unlocked(void);
492*b30d1939SAndy Fiddaman	extern int	putc_unlocked(int, FILE*);
493*b30d1939SAndy Fiddaman	extern int	putchar_unlocked(int);
494*b30d1939SAndy Fiddaman
495*b30d1939SAndy Fiddaman	#ifdef _USE_GNU
496*b30d1939SAndy Fiddaman
497*b30d1939SAndy Fiddaman	extern int	fcloseall(void);
498*b30d1939SAndy Fiddaman	extern FILE*	fmemopen(void*, size_t, const char*);
499*b30d1939SAndy Fiddaman	extern ssize_t	__getdelim(char**, size_t*, int, FILE*);
500*b30d1939SAndy Fiddaman	extern ssize_t	getdelim(char**, size_t*, int, FILE*);
501*b30d1939SAndy Fiddaman	extern ssize_t	getline(char**, size_t*, FILE*);
502*b30d1939SAndy Fiddaman
503*b30d1939SAndy Fiddaman	#endif
504*b30d1939SAndy Fiddaman
505*b30d1939SAndy Fiddaman	#undef	extern
506*b30d1939SAndy Fiddaman
507*b30d1939SAndy Fiddaman	#if _BLD_DLL && _DLL_INDIRECT_DATA
508*b30d1939SAndy Fiddaman
509*b30d1939SAndy Fiddaman	#define stdin		((FILE*)_ast_dll->_ast_stdin)
510*b30d1939SAndy Fiddaman	#define stdout		((FILE*)_ast_dll->_ast_stdout)
511*b30d1939SAndy Fiddaman	#define stderr		((FILE*)_ast_dll->_ast_stderr)
512*b30d1939SAndy Fiddaman
513*b30d1939SAndy Fiddaman	#else
514*b30d1939SAndy Fiddaman
515*b30d1939SAndy Fiddaman	#define	stdin		(&_Sfstdin)
516*b30d1939SAndy Fiddaman	#define	stdout		(&_Sfstdout)
517*b30d1939SAndy Fiddaman	#define	stderr		(&_Sfstderr)
518*b30d1939SAndy Fiddaman
519*b30d1939SAndy Fiddaman	#endif
520*b30d1939SAndy Fiddaman
521*b30d1939SAndy Fiddaman	#if defined(_AST_H) || defined(_SFIO_H)
522*b30d1939SAndy Fiddaman
523*b30d1939SAndy Fiddaman	#define feof(f)		sfeof(f)
524*b30d1939SAndy Fiddaman	#define ferror(f)	sferror(f)
525*b30d1939SAndy Fiddaman	#define fileno(f)	sffileno(f)
526*b30d1939SAndy Fiddaman	#define fputc(c,f)	sfputc(f,c)
527*b30d1939SAndy Fiddaman	#define getc(f)		sfgetc(f)
528*b30d1939SAndy Fiddaman	#define getchar()	sfgetc(sfstdin)
529*b30d1939SAndy Fiddaman	#define putc(c,f)	sfputc(f,c)
530*b30d1939SAndy Fiddaman	#define putchar(c)	sfputc(sfstdout,c)
531*b30d1939SAndy Fiddaman
532*b30d1939SAndy Fiddaman	#else
533*b30d1939SAndy Fiddaman
534*b30d1939SAndy Fiddaman	#if !_UWIN
535*b30d1939SAndy Fiddaman	#if _BLD_ast && defined(__EXPORT__)
536*b30d1939SAndy Fiddaman	#define extern		extern __EXPORT__
537*b30d1939SAndy Fiddaman	#endif
538*b30d1939SAndy Fiddaman	#if !_BLD_ast && defined(__IMPORT__)
539*b30d1939SAndy Fiddaman	#define extern		extern __IMPORT__
540*b30d1939SAndy Fiddaman	#endif
541*b30d1939SAndy Fiddaman	#endif
542*b30d1939SAndy Fiddaman
543*b30d1939SAndy Fiddaman	extern FILE	_Sfstdin;
544*b30d1939SAndy Fiddaman	extern FILE	_Sfstdout;
545*b30d1939SAndy Fiddaman	extern FILE	_Sfstderr;
546*b30d1939SAndy Fiddaman
547*b30d1939SAndy Fiddaman	#undef	extern
548*b30d1939SAndy Fiddaman
549*b30d1939SAndy Fiddaman	#define feof(f)		(_sf_(f)->_flags&_SF_EOF)
550*b30d1939SAndy Fiddaman	#define ferror(f)	(_sf_(f)->_flags&_SF_ERROR)
551*b30d1939SAndy Fiddaman	#define fileno(f)	(_sf_(f)->_file)
552*b30d1939SAndy Fiddaman	#define fputc(c,f)	(_sf_(f)->_next>=_sf_(f)->_endw?_sfflsbuf(_sf_(f),(int)((unsigned char)(c))):(int)(*_sf_(f)->_next++=(unsigned char)(c)))
553*b30d1939SAndy Fiddaman	#define getc(f)		(_sf_(f)->_next>=_sf_(f)->_endr?_sffilbuf(_sf_(f),0):(int)(*_sf_(f)->_next++))
554*b30d1939SAndy Fiddaman	#define getchar()	getc(stdin)
555*b30d1939SAndy Fiddaman	#define putc(c,f)	fputc(c,f)
556*b30d1939SAndy Fiddaman	#define putchar(c)	fputc(c,stdout)
557*b30d1939SAndy Fiddaman
558*b30d1939SAndy Fiddaman	#if _BLD_ast && defined(__EXPORT__)
559*b30d1939SAndy Fiddaman	#define extern		__EXPORT__
560*b30d1939SAndy Fiddaman	#endif
561*b30d1939SAndy Fiddaman
562*b30d1939SAndy Fiddaman	extern int		_sffilbuf(FILE*, int);
563*b30d1939SAndy Fiddaman	extern int		_sfflsbuf(FILE*, int);
564*b30d1939SAndy Fiddaman
565*b30d1939SAndy Fiddaman	#undef	extern
566*b30d1939SAndy Fiddaman
567*b30d1939SAndy Fiddaman	#endif
568*b30d1939SAndy Fiddaman}end
569