xref: /onnv-gate/usr/src/lib/libast/sparc/include/ast/ast_stdio.h (revision 12068:08a39a083754)
14887Schin /***********************************************************************
24887Schin *                                                                      *
34887Schin *               This software is part of the ast package               *
4*12068SRoger.Faulkner@Oracle.COM *          Copyright (c) 1985-2010 AT&T Intellectual Property          *
54887Schin *                      and is licensed under the                       *
64887Schin *                  Common Public License, Version 1.0                  *
78462SApril.Chin@Sun.COM *                    by AT&T Intellectual Property                     *
84887Schin *                                                                      *
94887Schin *                A copy of the License is available at                 *
104887Schin *            http://www.opensource.org/licenses/cpl1.0.txt             *
114887Schin *         (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9)         *
124887Schin *                                                                      *
134887Schin *              Information and Software Systems Research               *
144887Schin *                            AT&T Research                             *
154887Schin *                           Florham Park NJ                            *
164887Schin *                                                                      *
174887Schin *                 Glenn Fowler <gsf@research.att.com>                  *
184887Schin *                  David Korn <dgk@research.att.com>                   *
194887Schin *                   Phong Vo <kpv@research.att.com>                    *
204887Schin *                                                                      *
214887Schin ***********************************************************************/
224887Schin 
234887Schin /* : : generated by proto : : */
24*12068SRoger.Faulkner@Oracle.COM /* : : generated from /home/gisburn/ksh93/ast_ksh_20100309/build_sparc_32bit/src/lib/libast/features/stdio by iffe version 2009-12-04 : : */
254887Schin 
264887Schin #ifndef _SFSTDIO_H
274887Schin #if !defined(__PROTO__)
284887Schin #  if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
294887Schin #    if defined(__cplusplus)
304887Schin #      define __LINKAGE__	"C"
314887Schin #    else
324887Schin #      define __LINKAGE__
334887Schin #    endif
344887Schin #    define __STDARG__
354887Schin #    define __PROTO__(x)	x
364887Schin #    define __OTORP__(x)
374887Schin #    define __PARAM__(n,o)	n
384887Schin #    if !defined(__STDC__) && !defined(__cplusplus)
394887Schin #      if !defined(c_plusplus)
404887Schin #      	define const
414887Schin #      endif
424887Schin #      define signed
434887Schin #      define void		int
444887Schin #      define volatile
454887Schin #      define __V_		char
464887Schin #    else
474887Schin #      define __V_		void
484887Schin #    endif
494887Schin #  else
504887Schin #    define __PROTO__(x)	()
514887Schin #    define __OTORP__(x)	x
524887Schin #    define __PARAM__(n,o)	o
534887Schin #    define __LINKAGE__
544887Schin #    define __V_		char
554887Schin #    define const
564887Schin #    define signed
574887Schin #    define void		int
584887Schin #    define volatile
594887Schin #  endif
604887Schin #  define __MANGLE__	__LINKAGE__
614887Schin #  if defined(__cplusplus) || defined(c_plusplus)
624887Schin #    define __VARARG__	...
634887Schin #  else
644887Schin #    define __VARARG__
654887Schin #  endif
664887Schin #  if defined(__STDARG__)
674887Schin #    define __VA_START__(p,a)	va_start(p,a)
684887Schin #  else
694887Schin #    define __VA_START__(p,a)	va_start(p)
704887Schin #  endif
714887Schin #  if !defined(__INLINE__)
724887Schin #    if defined(__cplusplus)
734887Schin #      define __INLINE__	extern __MANGLE__ inline
744887Schin #    else
754887Schin #      if defined(_WIN32) && !defined(__GNUC__)
764887Schin #      	define __INLINE__	__inline
774887Schin #      endif
784887Schin #    endif
794887Schin #  endif
804887Schin #endif
814887Schin #if !defined(__LINKAGE__)
824887Schin #define __LINKAGE__		/* 2004-08-11 transition */
834887Schin #endif
844887Schin 
854887Schin #define _SFSTDIO_H	1
864887Schin #define _sys_types	1	/* #include <sys/types.h> ok */
874887Schin #define __FILE_typedef	1
884887Schin #define _FILE_DEFINED	1
894887Schin #define _FILE_defined	1
904887Schin #define _FILEDEFED	1
914887Schin 
924887Schin #ifndef __FILE_TAG
934887Schin #define __FILE_TAG	_sfio_s
944887Schin #endif
954887Schin 
964887Schin #undef	FILE
974887Schin #undef	_FILE
984887Schin #undef	fpos_t
994887Schin #undef	fpos64_t
1004887Schin 
1014887Schin typedef struct _sfio_s _sfio_FILE;
1024887Schin 
1034887Schin #define FILE		_sfio_FILE
1044887Schin #define _FILE		FILE
1054887Schin 
1064887Schin #if !defined(__FILE) && !__CYGWIN__
1074887Schin #undef	__FILE
1084887Schin #define __FILE		FILE
1094887Schin #endif
1104887Schin 
1114887Schin #if defined(_AST_H) || defined(_SFIO_H)
1124887Schin 
1134887Schin #define BUFSIZ		SF_BUFSIZE
1144887Schin 
1154887Schin #else
1164887Schin 
1174887Schin #ifndef BUFSIZ
1184887Schin #define BUFSIZ		8192
1194887Schin #endif
1204887Schin 
1214887Schin #ifndef EOF
1224887Schin #define EOF		(-1)
1234887Schin #endif
1244887Schin 
1254887Schin #ifndef NULL
1264887Schin #define NULL		0
1274887Schin #endif
1284887Schin 
1294887Schin #ifndef SEEK_SET
1304887Schin #define SEEK_SET	0
1314887Schin #define SEEK_CUR	1
1324887Schin #define SEEK_END	2
1334887Schin #endif
1344887Schin 
1354887Schin #include <ast_std.h>
1364887Schin 
1374887Schin #include <sfio_s.h>
1384887Schin 
1394887Schin #if __cplusplus
1404887Schin #define _sf_(f)		(f)
1414887Schin #else
1424887Schin #define _sf_(f)		((struct _sfio_s*)(f))
1434887Schin #endif
1444887Schin 
1454887Schin #define _SF_EOF		0000200
1464887Schin #define _SF_ERROR	0000400
1474887Schin 
1484887Schin #endif
1494887Schin 
1504887Schin #ifdef _NO_LARGEFILE64_SOURCE
1514887Schin #undef _LARGEFILE64_SOURCE
1524887Schin #endif
1534887Schin 
1544887Schin #ifdef _LARGEFILE64_SOURCE
1554887Schin #undef	off_t
1564887Schin #endif
1574887Schin 
1584887Schin #define fpos_t		_ast_fpos_t
1594887Schin #if _typ_int64_t
1604887Schin #define fpos64_t	_ast_fpos_t
1614887Schin #endif
1624887Schin 
1634887Schin typedef struct _ast_fpos_s
1644887Schin {
1654887Schin 	intmax_t	_sf_offset;
1664887Schin 	unsigned char	_sf_state[64 - sizeof(intmax_t)];
1674887Schin } _ast_fpos_t;
1684887Schin 
1694887Schin #define _base		_data
1704887Schin #define _ptr		_next
1714887Schin #define _IOFBF		0
1724887Schin #define _IONBF		1
1734887Schin #define _IOLBF		2
1744887Schin 
1754887Schin #if defined(__cplusplus) && defined(__THROW) && !defined(_UWIN)
1764887Schin 
1774887Schin #undef	FILE
1784887Schin #define FILE            FILE
1794887Schin typedef struct _sfio_s FILE;
1804887Schin 
1814887Schin #undef	strerror
1824887Schin extern __MANGLE__ char*	strerror(int) __THROW;
1834887Schin 
1844887Schin extern __MANGLE__ int	_doprnt __PROTO__((const char*, va_list, FILE*));
1854887Schin extern __MANGLE__ int	_doscan __PROTO__((FILE*, const char*, va_list));
1864887Schin extern __MANGLE__ int	asprintf __PROTO__((char**, const char*, ...));
1874887Schin extern __MANGLE__ int	clearerr __PROTO__((FILE*));
1884887Schin extern __MANGLE__ int	fclose __PROTO__((FILE*));
1894887Schin extern __MANGLE__ FILE*	fdopen __PROTO__((int, const char*));
1904887Schin extern __MANGLE__ int	feof __PROTO__((FILE*));
1914887Schin extern __MANGLE__ int	ferror __PROTO__((FILE*));
1924887Schin extern __MANGLE__ int	fflush __PROTO__((FILE*));
1934887Schin extern __MANGLE__ int	fgetc __PROTO__((FILE*));
1944887Schin extern __MANGLE__ int	fgetpos __PROTO__((FILE*, fpos_t*));
1954887Schin extern __MANGLE__ char*	fgets __PROTO__((char*, int, FILE*));
1964887Schin extern __MANGLE__ int	fileno __PROTO__((FILE*));
1974887Schin extern __MANGLE__ FILE*	fopen __PROTO__((const char*, const char*));
1984887Schin extern __MANGLE__ int	fprintf __PROTO__((FILE*, const char*, ...));
1994887Schin extern __MANGLE__ int	fpurge __PROTO__((FILE*));
2004887Schin extern __MANGLE__ int	fputc __PROTO__((int, FILE*));
2014887Schin extern __MANGLE__ int	fputs __PROTO__((const char*, FILE*));
2028462SApril.Chin@Sun.COM extern __MANGLE__ size_t	fread __PROTO__((__V_*, size_t, size_t, FILE*));
2034887Schin extern __MANGLE__ FILE*	freopen __PROTO__((const char*, const char*, FILE*));
2044887Schin extern __MANGLE__ int	fscanf __PROTO__((FILE*, const char*, ...));
2054887Schin extern __MANGLE__ int	fseek __PROTO__((FILE*, long, int));
2064887Schin extern __MANGLE__ int	fseeko __PROTO__((FILE*, off_t, int));
2074887Schin extern __MANGLE__ int	fsetpos __PROTO__((FILE*, const fpos_t*));
2084887Schin extern __MANGLE__ long	ftell __PROTO__((FILE*));
2094887Schin extern __MANGLE__ off_t	ftello __PROTO__((FILE*));
2108462SApril.Chin@Sun.COM extern __MANGLE__ size_t	fwrite __PROTO__((const __V_*, size_t, size_t, FILE*));
2114887Schin extern __MANGLE__ int	getc __PROTO__((FILE*));
2124887Schin extern __MANGLE__ int	getchar __PROTO__((void));
2134887Schin extern __MANGLE__ char*	gets __PROTO__((char*));
2144887Schin extern __MANGLE__ int	getw __PROTO__((FILE*));
2154887Schin extern __MANGLE__ int	pclose __PROTO__((FILE*));
2164887Schin extern __MANGLE__ FILE*	popen __PROTO__((const char*, const char*));
2174887Schin extern __MANGLE__ int	printf __PROTO__((const char*, ...));
2184887Schin extern __MANGLE__ int	putc __PROTO__((int, FILE*));
2194887Schin extern __MANGLE__ int	putchar __PROTO__((int));
2204887Schin extern __MANGLE__ int	puts __PROTO__((const char*));
2214887Schin extern __MANGLE__ int	putw __PROTO__((int, FILE*));
2224887Schin extern __MANGLE__ void	rewind __PROTO__((FILE*));
2234887Schin extern __MANGLE__ int	scanf __PROTO__((const char*, ...));
2244887Schin extern __MANGLE__ void	setbuf __PROTO__((FILE*, char*));
2254887Schin extern __MANGLE__ int	setbuffer __PROTO__((FILE*, char*, int));
2264887Schin extern __MANGLE__ int	setlinebuf __PROTO__((FILE*));
2274887Schin extern __MANGLE__ int	setvbuf __PROTO__((FILE*, char*, int, size_t));
2284887Schin extern __MANGLE__ int	snprintf __PROTO__((char*, int, const char*, ...));
2294887Schin extern __MANGLE__ int	sprintf __PROTO__((char*, const char*, ...));
2304887Schin extern __MANGLE__ int	sscanf __PROTO__((const char*, const char*, ...));
2314887Schin extern __MANGLE__ FILE*	tmpfile __PROTO__((void));
2324887Schin extern __MANGLE__ int	ungetc __PROTO__((int, FILE*));
2334887Schin extern __MANGLE__ int	vasprintf __PROTO__((char**, const char*, va_list));
2344887Schin extern __MANGLE__ int	vfprintf __PROTO__((FILE*, const char*, va_list));
2354887Schin extern __MANGLE__ int	vfscanf __PROTO__((FILE*, const char*, va_list));
2364887Schin extern __MANGLE__ int	vprintf __PROTO__((const char*, va_list));
2374887Schin extern __MANGLE__ int	vscanf __PROTO__((const char*, va_list));
2384887Schin extern __MANGLE__ int	vsnprintf __PROTO__((char*, int, const char*, va_list));
2394887Schin extern __MANGLE__ int	vsprintf __PROTO__((char*, const char*, va_list));
2404887Schin extern __MANGLE__ int	vsscanf __PROTO__((const char*, const char*, va_list));
2414887Schin 
2424887Schin #if _typ_int64_t
2434887Schin 
2444887Schin extern __MANGLE__ int		fgetpos64 __PROTO__((FILE*, fpos64_t*));
2454887Schin extern __MANGLE__ int		fsetpos64 __PROTO__((FILE*, const fpos64_t*));
2464887Schin extern __MANGLE__ int		fseek64 __PROTO__((FILE*, int64_t, int));
2474887Schin extern __MANGLE__ int		fseeko64 __PROTO__((FILE*, int64_t, int));
2484887Schin extern __MANGLE__ int64_t		ftell64 __PROTO__((FILE*));
2494887Schin extern __MANGLE__ int64_t		ftello64 __PROTO__((FILE*));
2504887Schin 
2514887Schin #endif
2524887Schin 
2534887Schin extern __MANGLE__ void	clearerr_unlocked __PROTO__((FILE*));
2544887Schin extern __MANGLE__ int	feof_unlocked __PROTO__((FILE*));
2554887Schin extern __MANGLE__ int	ferror_unlocked __PROTO__((FILE*));
2564887Schin extern __MANGLE__ int	fflush_unlocked __PROTO__((FILE*));
2574887Schin extern __MANGLE__ int	fgetc_unlocked __PROTO__((FILE*));
2584887Schin extern __MANGLE__ char*	fgets_unlocked __PROTO__((char*, int, FILE*));
2594887Schin extern __MANGLE__ int	fileno_unlocked __PROTO__((FILE*));
2604887Schin extern __MANGLE__ int	fputc_unlocked __PROTO__((int, FILE*));
2614887Schin extern __MANGLE__ int	fputs_unlocked __PROTO__((char*, FILE*));
2624887Schin extern __MANGLE__ size_t	fread_unlocked __PROTO__((__V_*, size_t, size_t, FILE*));
2634887Schin extern __MANGLE__ size_t	fwrite_unlocked __PROTO__((__V_*, size_t, size_t, FILE*));
2644887Schin extern __MANGLE__ int	getc_unlocked __PROTO__((FILE*));
2654887Schin extern __MANGLE__ int	getchar_unlocked __PROTO__((void));
2664887Schin extern __MANGLE__ int	putc_unlocked __PROTO__((int, FILE*));
2674887Schin extern __MANGLE__ int	putchar_unlocked __PROTO__((int));
2684887Schin 
2698462SApril.Chin@Sun.COM extern __MANGLE__ void	flockfile __PROTO__((FILE*));
2708462SApril.Chin@Sun.COM extern __MANGLE__ int	ftrylockfile __PROTO__((FILE*));
2718462SApril.Chin@Sun.COM extern __MANGLE__ void	funlockfile __PROTO__((FILE*));
2728462SApril.Chin@Sun.COM 
2734887Schin #ifdef _USE_GNU
2744887Schin 
2754887Schin extern __MANGLE__ int	fcloseall __PROTO__((void));
2764887Schin extern __MANGLE__ FILE*	fmemopen __PROTO__((__V_*, size_t, const char*));
2774887Schin extern __MANGLE__ ssize_t	__getdelim __PROTO__((char**, size_t*, int, FILE*));
2784887Schin extern __MANGLE__ ssize_t	getdelim __PROTO__((char**, size_t*, int, FILE*));
2794887Schin extern __MANGLE__ ssize_t	getline __PROTO__((char**, size_t*, FILE*));
2804887Schin 
2814887Schin #endif
2824887Schin 
2834887Schin #endif
2844887Schin 
2854887Schin #ifndef FILENAME_MAX
2864887Schin #define FILENAME_MAX	1024
2874887Schin #endif
2884887Schin #ifndef FOPEN_MAX
2894887Schin #define FOPEN_MAX	20
2904887Schin #endif
2914887Schin #ifndef TMP_MAX
2924887Schin #define TMP_MAX		17576
2934887Schin #endif
2944887Schin 
2954887Schin #define _doprnt		_ast_doprnt
2964887Schin #define _doscan		_ast_doscan
2974887Schin #define asprintf	_ast_asprintf
2984887Schin #define clearerr	_ast_clearerr
2994887Schin #define fclose		_ast_fclose
3004887Schin #define fdopen		_ast_fdopen
3014887Schin #define fflush		_ast_fflush
3024887Schin #define fgetc		_ast_fgetc
3034887Schin #define fgetpos		_ast_fgetpos
3044887Schin #define fgetpos64	_ast_fgetpos64
3054887Schin #define fgets		_ast_fgets
3064887Schin #define fopen		_ast_fopen
3074887Schin #define fprintf		_ast_fprintf
3084887Schin #define fpurge		_ast_fpurge
3094887Schin #define fputs		_ast_fputs
3104887Schin #define fread		_ast_fread
3114887Schin #define freopen		_ast_freopen
3124887Schin #define fscanf		_ast_fscanf
3134887Schin #define fseek		_ast_fseek
3144887Schin #define fseek64		_ast_fseek64
3154887Schin #define fseeko		_ast_fseeko
3164887Schin #define fseeko64	_ast_fseeko64
3174887Schin #define fsetpos		_ast_fsetpos
3184887Schin #define fsetpos64	_ast_fsetpos64
3194887Schin #define ftell		_ast_ftell
3204887Schin #define ftell64		_ast_ftell64
3214887Schin #define ftello		_ast_ftello
3224887Schin #define ftello64	_ast_ftello64
3234887Schin #define fwrite		_ast_fwrite
3244887Schin #define gets		_ast_gets
3254887Schin #define getw		_ast_getw
3264887Schin #define pclose		_ast_pclose
3274887Schin #define popen		_ast_popen
3284887Schin #define printf		_ast_printf
3294887Schin #define puts		_ast_puts
3304887Schin #define putw		_ast_putw
3314887Schin #define rewind		_ast_rewind
3324887Schin #define scanf		_ast_scanf
3334887Schin #define setbuf		_ast_setbuf
3344887Schin #undef	setbuffer
3354887Schin #define setbuffer	_ast_setbuffer
3364887Schin #define setlinebuf	_ast_setlinebuf
3374887Schin #define setvbuf		_ast_setvbuf
3384887Schin #define snprintf	_ast_snprintf
3394887Schin #define sprintf		_ast_sprintf
3404887Schin #define sscanf		_ast_sscanf
3414887Schin #define tmpfile		_ast_tmpfile
3424887Schin #define ungetc		_ast_ungetc
3434887Schin #define vasprintf	_ast_vasprintf
3444887Schin #define vfprintf	_ast_vfprintf
3454887Schin #define vfscanf		_ast_vfscanf
3464887Schin #define vprintf		_ast_vprintf
3474887Schin #define vscanf		_ast_vscanf
3484887Schin #define vsnprintf	_ast_vsnprintf
3494887Schin #define vsprintf	_ast_vsprintf
3504887Schin #define vsscanf		_ast_vsscanf
3514887Schin #define fcloseall	_ast_fcloseall
3528462SApril.Chin@Sun.COM #define _filbuf		_ast__filbuf
3534887Schin #define fmemopen	_ast_fmemopen
3544887Schin #define __getdelim	_ast___getdelim
3554887Schin #define getdelim	_ast_getdelim
3564887Schin #define getline		_ast_getline
3574887Schin #define clearerr_unlocked _ast_clearerr_unlocked
3584887Schin #define feof_unlocked	_ast_feof_unlocked
3594887Schin #define ferror_unlocked	_ast_ferror_unlocked
3604887Schin #define fflush_unlocked	_ast_fflush_unlocked
3614887Schin #define fgetc_unlocked	_ast_fgetc_unlocked
3624887Schin #define fgets_unlocked	_ast_fgets_unlocked
3634887Schin #define fileno_unlocked	_ast_fileno_unlocked
3644887Schin #define fputc_unlocked	_ast_fputc_unlocked
3654887Schin #define fputs_unlocked	_ast_fputs_unlocked
3664887Schin #define fread_unlocked	_ast_fread_unlocked
3674887Schin #define fwrite_unlocked	_ast_fwrite_unlocked
3684887Schin #define getc_unlocked	_ast_getc_unlocked
3694887Schin #define getchar_unlocked _ast_getchar_unlocked
3704887Schin #define putc_unlocked	_ast_putc_unlocked
3714887Schin #define putchar_unlocked _ast_putchar_unlocked
3728462SApril.Chin@Sun.COM #define flockfile	_ast_flockfile
3738462SApril.Chin@Sun.COM #define ftrylockfile	_ast_ftrylockfile
3748462SApril.Chin@Sun.COM #define funlockfile	_ast_funlockfile
3754887Schin 
3764887Schin #if defined(__STDPP__directive) && defined(__STDPP__initial)
3774887Schin __STDPP__directive pragma pp:initial
3784887Schin #endif
3794887Schin #ifndef P_tmpdir
3804887Schin #define P_tmpdir  "/var/tmp/" /*NOCATLITERAL*/
3814887Schin #endif
3824887Schin #ifndef L_ctermid
3834887Schin #define L_ctermid  9
3844887Schin #endif
3854887Schin #ifndef L_tmpnam
3864887Schin #define L_tmpnam  25
3874887Schin #endif
3884887Schin #if defined(__STDPP__directive) && defined(__STDPP__initial)
3894887Schin __STDPP__directive pragma pp:noinitial
3904887Schin #endif
3914887Schin #if defined(__cplusplus) && defined(__THROW)
3924887Schin extern __MANGLE__ char*	ctermid(char*) __THROW;
3934887Schin #else
3944887Schin extern __MANGLE__ char*	ctermid __PROTO__((char*));
3954887Schin #endif
3964887Schin extern __MANGLE__ char*	tmpnam __PROTO__((char*));
3974887Schin extern __MANGLE__ char*	tempnam __PROTO__((const char*, const char*));
3984887Schin extern __MANGLE__ void	perror __PROTO__((const char*));
3994887Schin #ifndef _AST_STD_H
4004887Schin #ifndef remove
4014887Schin extern __MANGLE__ int	remove __PROTO__((const char*));
4024887Schin #endif
4034887Schin #ifndef rename
4044887Schin extern __MANGLE__ int	rename __PROTO__((const char*, const char*));
4054887Schin #endif
4064887Schin #endif
4074887Schin 
4084887Schin #undef __MANGLE__
4094887Schin #define __MANGLE__ __LINKAGE__
4104887Schin 
4114887Schin #if _BLD_ast && defined(__EXPORT__)
4124887Schin #undef __MANGLE__
4134887Schin #define __MANGLE__ __LINKAGE__		__EXPORT__
4144887Schin #endif
4154887Schin 
4164887Schin extern __MANGLE__ int	_doprnt __PROTO__((const char*, va_list, FILE*));
4174887Schin extern __MANGLE__ int	_doscan __PROTO__((FILE*, const char*, va_list));
4184887Schin extern __MANGLE__ int	asprintf __PROTO__((char**, const char*, ...));
4194887Schin extern __MANGLE__ int	clearerr __PROTO__((FILE*));
4204887Schin extern __MANGLE__ int	fclose __PROTO__((FILE*));
4214887Schin extern __MANGLE__ FILE*	fdopen __PROTO__((int, const char*));
4224887Schin extern __MANGLE__ int	feof __PROTO__((FILE*));
4234887Schin extern __MANGLE__ int	ferror __PROTO__((FILE*));
4244887Schin extern __MANGLE__ int	fflush __PROTO__((FILE*));
4254887Schin extern __MANGLE__ int	fgetc __PROTO__((FILE*));
4264887Schin extern __MANGLE__ int	fgetpos __PROTO__((FILE*, fpos_t*));
4274887Schin extern __MANGLE__ char*	fgets __PROTO__((char*, int, FILE*));
4284887Schin extern __MANGLE__ int	fileno __PROTO__((FILE*));
4294887Schin extern __MANGLE__ FILE*	fopen __PROTO__((const char*, const char*));
4304887Schin extern __MANGLE__ int	fprintf __PROTO__((FILE*, const char*, ...));
4314887Schin extern __MANGLE__ int	fpurge __PROTO__((FILE*));
4324887Schin extern __MANGLE__ int	fputc __PROTO__((int, FILE*));
4334887Schin extern __MANGLE__ int	fputs __PROTO__((const char*, FILE*));
4348462SApril.Chin@Sun.COM extern __MANGLE__ size_t	fread __PROTO__((__V_*, size_t, size_t, FILE*));
4354887Schin extern __MANGLE__ FILE*	freopen __PROTO__((const char*, const char*, FILE*));
4364887Schin extern __MANGLE__ int	fscanf __PROTO__((FILE*, const char*, ...));
4374887Schin extern __MANGLE__ int	fseek __PROTO__((FILE*, long, int));
4384887Schin extern __MANGLE__ int	fseeko __PROTO__((FILE*, off_t, int));
4394887Schin extern __MANGLE__ int	fsetpos __PROTO__((FILE*, const fpos_t*));
4404887Schin extern __MANGLE__ long	ftell __PROTO__((FILE*));
4414887Schin extern __MANGLE__ off_t	ftello __PROTO__((FILE*));
4428462SApril.Chin@Sun.COM extern __MANGLE__ size_t	fwrite __PROTO__((const __V_*, size_t, size_t, FILE*));
4434887Schin extern __MANGLE__ int	getc __PROTO__((FILE*));
4444887Schin extern __MANGLE__ int	getchar __PROTO__((void));
4454887Schin extern __MANGLE__ char*	gets __PROTO__((char*));
4464887Schin extern __MANGLE__ int	getw __PROTO__((FILE*));
4474887Schin extern __MANGLE__ int	pclose __PROTO__((FILE*));
4484887Schin extern __MANGLE__ FILE*	popen __PROTO__((const char*, const char*));
4494887Schin extern __MANGLE__ int	printf __PROTO__((const char*, ...));
4504887Schin extern __MANGLE__ int	putc __PROTO__((int, FILE*));
4514887Schin extern __MANGLE__ int	putchar __PROTO__((int));
4524887Schin extern __MANGLE__ int	puts __PROTO__((const char*));
4534887Schin extern __MANGLE__ int	putw __PROTO__((int, FILE*));
4544887Schin extern __MANGLE__ void	rewind __PROTO__((FILE*));
4554887Schin extern __MANGLE__ int	scanf __PROTO__((const char*, ...));
4564887Schin extern __MANGLE__ void	setbuf __PROTO__((FILE*, char*));
4574887Schin extern __MANGLE__ int	setbuffer __PROTO__((FILE*, char*, int));
4584887Schin extern __MANGLE__ int	setlinebuf __PROTO__((FILE*));
4594887Schin extern __MANGLE__ int	setvbuf __PROTO__((FILE*, char*, int, size_t));
4604887Schin extern __MANGLE__ int	snprintf __PROTO__((char*, int, const char*, ...));
4614887Schin extern __MANGLE__ int	sprintf __PROTO__((char*, const char*, ...));
4624887Schin extern __MANGLE__ int	sscanf __PROTO__((const char*, const char*, ...));
4634887Schin extern __MANGLE__ FILE*	tmpfile __PROTO__((void));
4644887Schin extern __MANGLE__ int	ungetc __PROTO__((int, FILE*));
4654887Schin extern __MANGLE__ int	vasprintf __PROTO__((char**, const char*, va_list));
4664887Schin extern __MANGLE__ int	vfprintf __PROTO__((FILE*, const char*, va_list));
4674887Schin extern __MANGLE__ int	vfscanf __PROTO__((FILE*, const char*, va_list));
4684887Schin extern __MANGLE__ int	vprintf __PROTO__((const char*, va_list));
4694887Schin extern __MANGLE__ int	vscanf __PROTO__((const char*, va_list));
4704887Schin extern __MANGLE__ int	vsnprintf __PROTO__((char*, int, const char*, va_list));
4714887Schin extern __MANGLE__ int	vsprintf __PROTO__((char*, const char*, va_list));
4724887Schin extern __MANGLE__ int	vsscanf __PROTO__((const char*, const char*, va_list));
4734887Schin 
4744887Schin #if _typ_int64_t
4754887Schin 
4764887Schin extern __MANGLE__ int		fgetpos64 __PROTO__((FILE*, fpos64_t*));
4774887Schin extern __MANGLE__ int		fsetpos64 __PROTO__((FILE*, const fpos64_t*));
4784887Schin extern __MANGLE__ int		fseek64 __PROTO__((FILE*, int64_t, int));
4794887Schin extern __MANGLE__ int		fseeko64 __PROTO__((FILE*, int64_t, int));
4804887Schin extern __MANGLE__ int64_t		ftell64 __PROTO__((FILE*));
4814887Schin extern __MANGLE__ int64_t		ftello64 __PROTO__((FILE*));
4824887Schin 
4834887Schin #ifdef _LARGEFILE64_SOURCE
4844887Schin 
4854887Schin #undef	fpos_t
4864887Schin #undef	off_t
4874887Schin #undef	fgetpos
4884887Schin #undef	fsetpos
4894887Schin #undef	fseek
4904887Schin #undef	fseeko
4914887Schin #undef	ftell
4924887Schin #undef	ftello
4934887Schin 
4944887Schin #define	fpos_t		fpos64_t
4954887Schin #if _typ_off64_t
4964887Schin #define	off_t		off64_t
4974887Schin #else
4984887Schin #define	off_t		int64_t
4994887Schin #endif
5004887Schin 
5014887Schin #define fgetpos		fgetpos64
5024887Schin #define fsetpos		fsetpos64
5034887Schin #define	fseek		fseek64
5044887Schin #define	fseeko		fseeko64
5054887Schin #define ftell		ftell64
5064887Schin #define ftello		ftello64
5074887Schin 
5084887Schin #endif
5094887Schin 
5104887Schin #endif
5114887Schin 
5124887Schin extern __MANGLE__ void	clearerr_unlocked __PROTO__((FILE*));
5134887Schin extern __MANGLE__ int	feof_unlocked __PROTO__((FILE*));
5144887Schin extern __MANGLE__ int	ferror_unlocked __PROTO__((FILE*));
5154887Schin extern __MANGLE__ int	fflush_unlocked __PROTO__((FILE*));
5164887Schin extern __MANGLE__ int	fgetc_unlocked __PROTO__((FILE*));
5174887Schin extern __MANGLE__ char*	fgets_unlocked __PROTO__((char*, int, FILE*));
5184887Schin extern __MANGLE__ int	fileno_unlocked __PROTO__((FILE*));
5194887Schin extern __MANGLE__ int	fputc_unlocked __PROTO__((int, FILE*));
5204887Schin extern __MANGLE__ int	fputs_unlocked __PROTO__((char*, FILE*));
5214887Schin extern __MANGLE__ size_t	fread_unlocked __PROTO__((__V_*, size_t, size_t, FILE*));
5224887Schin extern __MANGLE__ size_t	fwrite_unlocked __PROTO__((__V_*, size_t, size_t, FILE*));
5234887Schin extern __MANGLE__ int	getc_unlocked __PROTO__((FILE*));
5244887Schin extern __MANGLE__ int	getchar_unlocked __PROTO__((void));
5254887Schin extern __MANGLE__ int	putc_unlocked __PROTO__((int, FILE*));
5264887Schin extern __MANGLE__ int	putchar_unlocked __PROTO__((int));
5274887Schin 
5284887Schin #ifdef _USE_GNU
5294887Schin 
5304887Schin extern __MANGLE__ int	fcloseall __PROTO__((void));
5314887Schin extern __MANGLE__ FILE*	fmemopen __PROTO__((__V_*, size_t, const char*));
5324887Schin extern __MANGLE__ ssize_t	__getdelim __PROTO__((char**, size_t*, int, FILE*));
5334887Schin extern __MANGLE__ ssize_t	getdelim __PROTO__((char**, size_t*, int, FILE*));
5344887Schin extern __MANGLE__ ssize_t	getline __PROTO__((char**, size_t*, FILE*));
5354887Schin 
5364887Schin #endif
5374887Schin 
5384887Schin #undef __MANGLE__
5394887Schin #define __MANGLE__ __LINKAGE__
5404887Schin 
5414887Schin #if _BLD_DLL && _DLL_INDIRECT_DATA
5424887Schin 
5434887Schin #define stdin		((FILE*)_ast_dll->_ast_stdin)
5444887Schin #define stdout		((FILE*)_ast_dll->_ast_stdout)
5454887Schin #define stderr		((FILE*)_ast_dll->_ast_stderr)
5464887Schin 
5474887Schin #else
5484887Schin 
5494887Schin #define	stdin		(&_Sfstdin)
5504887Schin #define	stdout		(&_Sfstdout)
5514887Schin #define	stderr		(&_Sfstderr)
5524887Schin 
5534887Schin #endif
5544887Schin 
5554887Schin #if defined(_AST_H) || defined(_SFIO_H)
5564887Schin 
5574887Schin #define feof(f)		sfeof(f)
5584887Schin #define ferror(f)	sferror(f)
5594887Schin #define fileno(f)	sffileno(f)
5604887Schin #define fputc(c,f)	sfputc(f,c)
5614887Schin #define getc(f)		sfgetc(f)
5624887Schin #define getchar()	sfgetc(sfstdin)
5634887Schin #define putc(c,f)	sfputc(f,c)
5644887Schin #define putchar(c)	sfputc(sfstdout,c)
5654887Schin 
5664887Schin #else
5674887Schin 
5684887Schin #if !_UWIN
5694887Schin #if _BLD_ast && defined(__EXPORT__)
5704887Schin #undef __MANGLE__
5714887Schin #define __MANGLE__ __LINKAGE__ __EXPORT__
5724887Schin #endif
5734887Schin #if !_BLD_ast && defined(__IMPORT__)
5744887Schin #undef __MANGLE__
5754887Schin #define __MANGLE__ __LINKAGE__ __IMPORT__
5764887Schin #endif
5774887Schin #endif
5784887Schin 
5794887Schin extern __MANGLE__ FILE	_Sfstdin;
5804887Schin extern __MANGLE__ FILE	_Sfstdout;
5814887Schin extern __MANGLE__ FILE	_Sfstderr;
5824887Schin 
5834887Schin #undef __MANGLE__
5844887Schin #define __MANGLE__ __LINKAGE__
5854887Schin 
5864887Schin #define feof(f)		(_sf_(f)->_flags&_SF_EOF)
5874887Schin #define ferror(f)	(_sf_(f)->_flags&_SF_ERROR)
5884887Schin #define fileno(f)	(_sf_(f)->_file)
5894887Schin #define fputc(c,f)	(_sf_(f)->_next>=_sf_(f)->_endw?_sfflsbuf(_sf_(f),(int)((unsigned char)(c))):(int)(*_sf_(f)->_next++=(unsigned char)(c)))
5904887Schin #define getc(f)		(_sf_(f)->_next>=_sf_(f)->_endr?_sffilbuf(_sf_(f),0):(int)(*_sf_(f)->_next++))
5914887Schin #define getchar()	getc(stdin)
5924887Schin #define putc(c,f)	fputc(c,f)
5934887Schin #define putchar(c)	fputc(c,stdout)
5944887Schin 
5954887Schin #if _BLD_ast && defined(__EXPORT__)
5964887Schin #undef __MANGLE__
5974887Schin #define __MANGLE__ __LINKAGE__		__EXPORT__
5984887Schin #endif
5994887Schin 
6004887Schin extern __MANGLE__ int		_sffilbuf __PROTO__((FILE*, int));
6014887Schin extern __MANGLE__ int		_sfflsbuf __PROTO__((FILE*, int));
6024887Schin 
6034887Schin #undef __MANGLE__
6044887Schin #define __MANGLE__ __LINKAGE__
6054887Schin 
6064887Schin #endif
6074887Schin 
6084887Schin #endif
609