1 /***********************************************************************
3 * This software is part of the ast package *
4 * Copyright (c) 1985-2010 AT&T Intellectual Property *
5 * and is licensed under the *
6 * Common Public License, Version 1.0 *
7 * by AT&T Intellectual Property *
9 * A copy of the License is available at *
10 * http://www.opensource.org/licenses/cpl1.0.txt *
11 * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
13 * Information and Software Systems Research *
17 * Glenn Fowler <gsf@research.att.com> *
18 * David Korn <dgk@research.att.com> *
19 * Phong Vo <kpv@research.att.com> *
21 ***********************************************************************/
23 /* : : generated by proto : : */
24 /* : : generated from /home/gisburn/ksh93/ast_ksh_20100309/build_i386_32bit/src/lib/libast/features/stdio by iffe version 2009-12-04 : : */
27 #if !defined(__PROTO__)
28 # if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
29 # if defined(__cplusplus)
30 # define __LINKAGE__ "C"
35 # define __PROTO__(x) x
37 # define __PARAM__(n,o) n
38 # if !defined(__STDC__) && !defined(__cplusplus)
39 # if !defined(c_plusplus)
50 # define __PROTO__(x) ()
51 # define __OTORP__(x) x
52 # define __PARAM__(n,o) o
60 # define __MANGLE__ __LINKAGE__
61 # if defined(__cplusplus) || defined(c_plusplus)
62 # define __VARARG__ ...
66 # if defined(__STDARG__)
67 # define __VA_START__(p,a) va_start(p,a)
69 # define __VA_START__(p,a) va_start(p)
71 # if !defined(__INLINE__)
72 # if defined(__cplusplus)
73 # define __INLINE__ extern __MANGLE__ inline
75 # if defined(_WIN32) && !defined(__GNUC__)
76 # define __INLINE__ __inline
81 #if !defined(__LINKAGE__)
82 #define __LINKAGE__ /* 2004-08-11 transition */
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
93 #define __FILE_TAG _sfio_s
101 typedef struct _sfio_s _sfio_FILE
;
103 #define FILE _sfio_FILE
106 #if !defined(__FILE) && !__CYGWIN__
111 #if defined(_AST_H) || defined(_SFIO_H)
113 #define BUFSIZ SF_BUFSIZE
142 #define _sf_(f) ((struct _sfio_s*)(f))
145 #define _SF_EOF 0000200
146 #define _SF_ERROR 0000400
150 #ifdef _NO_LARGEFILE64_SOURCE
151 #undef _LARGEFILE64_SOURCE
154 #ifdef _LARGEFILE64_SOURCE
158 #define fpos_t _ast_fpos_t
160 #define fpos64_t _ast_fpos_t
163 typedef struct _ast_fpos_s
166 unsigned char _sf_state
[64 - sizeof(intmax_t)];
175 #if defined(__cplusplus) && defined(__THROW) && !defined(_UWIN)
179 typedef struct _sfio_s
FILE;
182 extern __MANGLE__
char* strerror(int) __THROW
;
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__
size_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__
size_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));
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*));
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));
269 extern __MANGLE__
void flockfile
__PROTO__((FILE*));
270 extern __MANGLE__
int ftrylockfile
__PROTO__((FILE*));
271 extern __MANGLE__
void funlockfile
__PROTO__((FILE*));
275 extern __MANGLE__
int fcloseall
__PROTO__((void));
276 extern __MANGLE__
FILE* fmemopen
__PROTO__((__V_
*, size_t, const char*));
277 extern __MANGLE__ ssize_t __getdelim
__PROTO__((char**, size_t*, int, FILE*));
278 extern __MANGLE__ ssize_t getdelim
__PROTO__((char**, size_t*, int, FILE*));
279 extern __MANGLE__ ssize_t getline
__PROTO__((char**, size_t*, FILE*));
286 #define FILENAME_MAX 1024
292 #define TMP_MAX 17576
295 #define _doprnt _ast_doprnt
296 #define _doscan _ast_doscan
297 #define asprintf _ast_asprintf
298 #define clearerr _ast_clearerr
299 #define fclose _ast_fclose
300 #define fdopen _ast_fdopen
301 #define fflush _ast_fflush
302 #define fgetc _ast_fgetc
303 #define fgetpos _ast_fgetpos
304 #define fgetpos64 _ast_fgetpos64
305 #define fgets _ast_fgets
306 #define fopen _ast_fopen
307 #define fprintf _ast_fprintf
308 #define fpurge _ast_fpurge
309 #define fputs _ast_fputs
310 #define fread _ast_fread
311 #define freopen _ast_freopen
312 #define fscanf _ast_fscanf
313 #define fseek _ast_fseek
314 #define fseek64 _ast_fseek64
315 #define fseeko _ast_fseeko
316 #define fseeko64 _ast_fseeko64
317 #define fsetpos _ast_fsetpos
318 #define fsetpos64 _ast_fsetpos64
319 #define ftell _ast_ftell
320 #define ftell64 _ast_ftell64
321 #define ftello _ast_ftello
322 #define ftello64 _ast_ftello64
323 #define fwrite _ast_fwrite
324 #define gets _ast_gets
325 #define getw _ast_getw
326 #define pclose _ast_pclose
327 #define popen _ast_popen
328 #define printf _ast_printf
329 #define puts _ast_puts
330 #define putw _ast_putw
331 #define rewind _ast_rewind
332 #define scanf _ast_scanf
333 #define setbuf _ast_setbuf
335 #define setbuffer _ast_setbuffer
336 #define setlinebuf _ast_setlinebuf
337 #define setvbuf _ast_setvbuf
338 #define snprintf _ast_snprintf
339 #define sprintf _ast_sprintf
340 #define sscanf _ast_sscanf
341 #define tmpfile _ast_tmpfile
342 #define ungetc _ast_ungetc
343 #define vasprintf _ast_vasprintf
344 #define vfprintf _ast_vfprintf
345 #define vfscanf _ast_vfscanf
346 #define vprintf _ast_vprintf
347 #define vscanf _ast_vscanf
348 #define vsnprintf _ast_vsnprintf
349 #define vsprintf _ast_vsprintf
350 #define vsscanf _ast_vsscanf
351 #define fcloseall _ast_fcloseall
352 #define _filbuf _ast__filbuf
353 #define fmemopen _ast_fmemopen
354 #define __getdelim _ast___getdelim
355 #define getdelim _ast_getdelim
356 #define getline _ast_getline
357 #define clearerr_unlocked _ast_clearerr_unlocked
358 #define feof_unlocked _ast_feof_unlocked
359 #define ferror_unlocked _ast_ferror_unlocked
360 #define fflush_unlocked _ast_fflush_unlocked
361 #define fgetc_unlocked _ast_fgetc_unlocked
362 #define fgets_unlocked _ast_fgets_unlocked
363 #define fileno_unlocked _ast_fileno_unlocked
364 #define fputc_unlocked _ast_fputc_unlocked
365 #define fputs_unlocked _ast_fputs_unlocked
366 #define fread_unlocked _ast_fread_unlocked
367 #define fwrite_unlocked _ast_fwrite_unlocked
368 #define getc_unlocked _ast_getc_unlocked
369 #define getchar_unlocked _ast_getchar_unlocked
370 #define putc_unlocked _ast_putc_unlocked
371 #define putchar_unlocked _ast_putchar_unlocked
372 #define flockfile _ast_flockfile
373 #define ftrylockfile _ast_ftrylockfile
374 #define funlockfile _ast_funlockfile
376 #if defined(__STDPP__directive) && defined(__STDPP__initial)
377 __STDPP__directive pragma pp
:initial
380 #define P_tmpdir "/var/tmp/" /*NOCATLITERAL*/
388 #if defined(__STDPP__directive) && defined(__STDPP__initial)
389 __STDPP__directive pragma pp
:noinitial
391 #if defined(__cplusplus) && defined(__THROW)
392 extern __MANGLE__
char* ctermid(char*) __THROW
;
394 extern __MANGLE__
char* ctermid
__PROTO__((char*));
396 extern __MANGLE__
char* tmpnam
__PROTO__((char*));
397 extern __MANGLE__
char* tempnam
__PROTO__((const char*, const char*));
398 extern __MANGLE__
void perror
__PROTO__((const char*));
401 extern __MANGLE__
int remove
__PROTO__((const char*));
404 extern __MANGLE__
int rename
__PROTO__((const char*, const char*));
409 #define __MANGLE__ __LINKAGE__
411 #if _BLD_ast && defined(__EXPORT__)
413 #define __MANGLE__ __LINKAGE__ __EXPORT__
416 extern __MANGLE__
int _doprnt
__PROTO__((const char*, va_list, FILE*));
417 extern __MANGLE__
int _doscan
__PROTO__((FILE*, const char*, va_list));
418 extern __MANGLE__
int asprintf
__PROTO__((char**, const char*, ...));
419 extern __MANGLE__
int clearerr
__PROTO__((FILE*));
420 extern __MANGLE__
int fclose
__PROTO__((FILE*));
421 extern __MANGLE__
FILE* fdopen
__PROTO__((int, const char*));
422 extern __MANGLE__
int feof
__PROTO__((FILE*));
423 extern __MANGLE__
int ferror
__PROTO__((FILE*));
424 extern __MANGLE__
int fflush
__PROTO__((FILE*));
425 extern __MANGLE__
int fgetc
__PROTO__((FILE*));
426 extern __MANGLE__
int fgetpos
__PROTO__((FILE*, fpos_t*));
427 extern __MANGLE__
char* fgets
__PROTO__((char*, int, FILE*));
428 extern __MANGLE__
int fileno
__PROTO__((FILE*));
429 extern __MANGLE__
FILE* fopen
__PROTO__((const char*, const char*));
430 extern __MANGLE__
int fprintf
__PROTO__((FILE*, const char*, ...));
431 extern __MANGLE__
int fpurge
__PROTO__((FILE*));
432 extern __MANGLE__
int fputc
__PROTO__((int, FILE*));
433 extern __MANGLE__
int fputs
__PROTO__((const char*, FILE*));
434 extern __MANGLE__
size_t fread
__PROTO__((__V_
*, size_t, size_t, FILE*));
435 extern __MANGLE__
FILE* freopen
__PROTO__((const char*, const char*, FILE*));
436 extern __MANGLE__
int fscanf
__PROTO__((FILE*, const char*, ...));
437 extern __MANGLE__
int fseek
__PROTO__((FILE*, long, int));
438 extern __MANGLE__
int fseeko
__PROTO__((FILE*, off_t
, int));
439 extern __MANGLE__
int fsetpos
__PROTO__((FILE*, const fpos_t*));
440 extern __MANGLE__
long ftell
__PROTO__((FILE*));
441 extern __MANGLE__ off_t ftello
__PROTO__((FILE*));
442 extern __MANGLE__
size_t fwrite
__PROTO__((const __V_
*, size_t, size_t, FILE*));
443 extern __MANGLE__
int getc
__PROTO__((FILE*));
444 extern __MANGLE__
int getchar
__PROTO__((void));
445 extern __MANGLE__
char* gets
__PROTO__((char*));
446 extern __MANGLE__
int getw
__PROTO__((FILE*));
447 extern __MANGLE__
int pclose
__PROTO__((FILE*));
448 extern __MANGLE__
FILE* popen
__PROTO__((const char*, const char*));
449 extern __MANGLE__
int printf
__PROTO__((const char*, ...));
450 extern __MANGLE__
int putc
__PROTO__((int, FILE*));
451 extern __MANGLE__
int putchar
__PROTO__((int));
452 extern __MANGLE__
int puts
__PROTO__((const char*));
453 extern __MANGLE__
int putw
__PROTO__((int, FILE*));
454 extern __MANGLE__
void rewind
__PROTO__((FILE*));
455 extern __MANGLE__
int scanf
__PROTO__((const char*, ...));
456 extern __MANGLE__
void setbuf
__PROTO__((FILE*, char*));
457 extern __MANGLE__
int setbuffer
__PROTO__((FILE*, char*, int));
458 extern __MANGLE__
int setlinebuf
__PROTO__((FILE*));
459 extern __MANGLE__
int setvbuf
__PROTO__((FILE*, char*, int, size_t));
460 extern __MANGLE__
int snprintf
__PROTO__((char*, int, const char*, ...));
461 extern __MANGLE__
int sprintf
__PROTO__((char*, const char*, ...));
462 extern __MANGLE__
int sscanf
__PROTO__((const char*, const char*, ...));
463 extern __MANGLE__
FILE* tmpfile
__PROTO__((void));
464 extern __MANGLE__
int ungetc
__PROTO__((int, FILE*));
465 extern __MANGLE__
int vasprintf
__PROTO__((char**, const char*, va_list));
466 extern __MANGLE__
int vfprintf
__PROTO__((FILE*, const char*, va_list));
467 extern __MANGLE__
int vfscanf
__PROTO__((FILE*, const char*, va_list));
468 extern __MANGLE__
int vprintf
__PROTO__((const char*, va_list));
469 extern __MANGLE__
int vscanf
__PROTO__((const char*, va_list));
470 extern __MANGLE__
int vsnprintf
__PROTO__((char*, int, const char*, va_list));
471 extern __MANGLE__
int vsprintf
__PROTO__((char*, const char*, va_list));
472 extern __MANGLE__
int vsscanf
__PROTO__((const char*, const char*, va_list));
476 extern __MANGLE__
int fgetpos64
__PROTO__((FILE*, fpos64_t
*));
477 extern __MANGLE__
int fsetpos64
__PROTO__((FILE*, const fpos64_t
*));
478 extern __MANGLE__
int fseek64
__PROTO__((FILE*, int64_t, int));
479 extern __MANGLE__
int fseeko64
__PROTO__((FILE*, int64_t, int));
480 extern __MANGLE__
int64_t ftell64
__PROTO__((FILE*));
481 extern __MANGLE__
int64_t ftello64
__PROTO__((FILE*));
483 #ifdef _LARGEFILE64_SOURCE
494 #define fpos_t fpos64_t
496 #define off_t off64_t
498 #define off_t int64_t
501 #define fgetpos fgetpos64
502 #define fsetpos fsetpos64
503 #define fseek fseek64
504 #define fseeko fseeko64
505 #define ftell ftell64
506 #define ftello ftello64
512 extern __MANGLE__
void clearerr_unlocked
__PROTO__((FILE*));
513 extern __MANGLE__
int feof_unlocked
__PROTO__((FILE*));
514 extern __MANGLE__
int ferror_unlocked
__PROTO__((FILE*));
515 extern __MANGLE__
int fflush_unlocked
__PROTO__((FILE*));
516 extern __MANGLE__
int fgetc_unlocked
__PROTO__((FILE*));
517 extern __MANGLE__
char* fgets_unlocked
__PROTO__((char*, int, FILE*));
518 extern __MANGLE__
int fileno_unlocked
__PROTO__((FILE*));
519 extern __MANGLE__
int fputc_unlocked
__PROTO__((int, FILE*));
520 extern __MANGLE__
int fputs_unlocked
__PROTO__((char*, FILE*));
521 extern __MANGLE__
size_t fread_unlocked
__PROTO__((__V_
*, size_t, size_t, FILE*));
522 extern __MANGLE__
size_t fwrite_unlocked
__PROTO__((__V_
*, size_t, size_t, FILE*));
523 extern __MANGLE__
int getc_unlocked
__PROTO__((FILE*));
524 extern __MANGLE__
int getchar_unlocked
__PROTO__((void));
525 extern __MANGLE__
int putc_unlocked
__PROTO__((int, FILE*));
526 extern __MANGLE__
int putchar_unlocked
__PROTO__((int));
530 extern __MANGLE__
int fcloseall
__PROTO__((void));
531 extern __MANGLE__
FILE* fmemopen
__PROTO__((__V_
*, size_t, const char*));
532 extern __MANGLE__ ssize_t __getdelim
__PROTO__((char**, size_t*, int, FILE*));
533 extern __MANGLE__ ssize_t getdelim
__PROTO__((char**, size_t*, int, FILE*));
534 extern __MANGLE__ ssize_t getline
__PROTO__((char**, size_t*, FILE*));
539 #define __MANGLE__ __LINKAGE__
541 #if _BLD_DLL && _DLL_INDIRECT_DATA
543 #define stdin ((FILE*)_ast_dll->_ast_stdin)
544 #define stdout ((FILE*)_ast_dll->_ast_stdout)
545 #define stderr ((FILE*)_ast_dll->_ast_stderr)
549 #define stdin (&_Sfstdin)
550 #define stdout (&_Sfstdout)
551 #define stderr (&_Sfstderr)
555 #if defined(_AST_H) || defined(_SFIO_H)
557 #define feof(f) sfeof(f)
558 #define ferror(f) sferror(f)
559 #define fileno(f) sffileno(f)
560 #define fputc(c,f) sfputc(f,c)
561 #define getc(f) sfgetc(f)
562 #define getchar() sfgetc(sfstdin)
563 #define putc(c,f) sfputc(f,c)
564 #define putchar(c) sfputc(sfstdout,c)
569 #if _BLD_ast && defined(__EXPORT__)
571 #define __MANGLE__ __LINKAGE__ __EXPORT__
573 #if !_BLD_ast && defined(__IMPORT__)
575 #define __MANGLE__ __LINKAGE__ __IMPORT__
579 extern __MANGLE__
FILE _Sfstdin
;
580 extern __MANGLE__
FILE _Sfstdout
;
581 extern __MANGLE__
FILE _Sfstderr
;
584 #define __MANGLE__ __LINKAGE__
586 #define feof(f) (_sf_(f)->_flags&_SF_EOF)
587 #define ferror(f) (_sf_(f)->_flags&_SF_ERROR)
588 #define fileno(f) (_sf_(f)->_file)
589 #define fputc(c,f) (_sf_(f)->_next>=_sf_(f)->_endw?_sfflsbuf(_sf_(f),(int)((unsigned char)(c))):(int)(*_sf_(f)->_next++=(unsigned char)(c)))
590 #define getc(f) (_sf_(f)->_next>=_sf_(f)->_endr?_sffilbuf(_sf_(f),0):(int)(*_sf_(f)->_next++))
591 #define getchar() getc(stdin)
592 #define putc(c,f) fputc(c,f)
593 #define putchar(c) fputc(c,stdout)
595 #if _BLD_ast && defined(__EXPORT__)
597 #define __MANGLE__ __LINKAGE__ __EXPORT__
600 extern __MANGLE__
int _sffilbuf
__PROTO__((FILE*, int));
601 extern __MANGLE__
int _sfflsbuf
__PROTO__((FILE*, int));
604 #define __MANGLE__ __LINKAGE__