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