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