dmake: do not set MAKEFLAGS=k
[unleashed/tickless.git] / usr / src / lib / libast / i386 / include / ast / ast_stdio.h
blob26b817d52ef0ba2d5acd3a98f09d451ab3160519
1 /***********************************************************************
2 * *
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 *
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@research.att.com> *
18 * David Korn <dgk@research.att.com> *
19 * Phong Vo <kpv@research.att.com> *
20 * *
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 : : */
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
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
92 #ifndef __FILE_TAG
93 #define __FILE_TAG _sfio_s
94 #endif
96 #undef FILE
97 #undef _FILE
98 #undef fpos_t
99 #undef fpos64_t
101 typedef struct _sfio_s _sfio_FILE;
103 #define FILE _sfio_FILE
104 #define _FILE FILE
106 #if !defined(__FILE) && !__CYGWIN__
107 #undef __FILE
108 #define __FILE FILE
109 #endif
111 #if defined(_AST_H) || defined(_SFIO_H)
113 #define BUFSIZ SF_BUFSIZE
115 #else
117 #ifndef BUFSIZ
118 #define BUFSIZ 8192
119 #endif
121 #ifndef EOF
122 #define EOF (-1)
123 #endif
125 #ifndef NULL
126 #define NULL 0
127 #endif
129 #ifndef SEEK_SET
130 #define SEEK_SET 0
131 #define SEEK_CUR 1
132 #define SEEK_END 2
133 #endif
135 #include <ast_std.h>
137 #include <sfio_s.h>
139 #if __cplusplus
140 #define _sf_(f) (f)
141 #else
142 #define _sf_(f) ((struct _sfio_s*)(f))
143 #endif
145 #define _SF_EOF 0000200
146 #define _SF_ERROR 0000400
148 #endif
150 #ifdef _NO_LARGEFILE64_SOURCE
151 #undef _LARGEFILE64_SOURCE
152 #endif
154 #ifdef _LARGEFILE64_SOURCE
155 #undef off_t
156 #endif
158 #define fpos_t _ast_fpos_t
159 #if _typ_int64_t
160 #define fpos64_t _ast_fpos_t
161 #endif
163 typedef struct _ast_fpos_s
165 intmax_t _sf_offset;
166 unsigned char _sf_state[64 - sizeof(intmax_t)];
167 } _ast_fpos_t;
169 #define _base _data
170 #define _ptr _next
171 #define _IOFBF 0
172 #define _IONBF 1
173 #define _IOLBF 2
175 #if defined(__cplusplus) && defined(__THROW) && !defined(_UWIN)
177 #undef FILE
178 #define FILE FILE
179 typedef struct _sfio_s FILE;
181 #undef strerror
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));
242 #if _typ_int64_t
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*));
251 #endif
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*));
273 #ifdef _USE_GNU
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*));
281 #endif
283 #endif
285 #ifndef FILENAME_MAX
286 #define FILENAME_MAX 1024
287 #endif
288 #ifndef FOPEN_MAX
289 #define FOPEN_MAX 60
290 #endif
291 #ifndef TMP_MAX
292 #define TMP_MAX 17576
293 #endif
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
334 #undef setbuffer
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
378 #endif
379 #ifndef P_tmpdir
380 #define P_tmpdir "/var/tmp/" /*NOCATLITERAL*/
381 #endif
382 #ifndef L_ctermid
383 #define L_ctermid 9
384 #endif
385 #ifndef L_tmpnam
386 #define L_tmpnam 25
387 #endif
388 #if defined(__STDPP__directive) && defined(__STDPP__initial)
389 __STDPP__directive pragma pp:noinitial
390 #endif
391 #if defined(__cplusplus) && defined(__THROW)
392 extern __MANGLE__ char* ctermid(char*) __THROW;
393 #else
394 extern __MANGLE__ char* ctermid __PROTO__((char*));
395 #endif
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*));
399 #ifndef _AST_STD_H
400 #ifndef remove
401 extern __MANGLE__ int remove __PROTO__((const char*));
402 #endif
403 #ifndef rename
404 extern __MANGLE__ int rename __PROTO__((const char*, const char*));
405 #endif
406 #endif
408 #undef __MANGLE__
409 #define __MANGLE__ __LINKAGE__
411 #if _BLD_ast && defined(__EXPORT__)
412 #undef __MANGLE__
413 #define __MANGLE__ __LINKAGE__ __EXPORT__
414 #endif
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));
474 #if _typ_int64_t
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
485 #undef fpos_t
486 #undef off_t
487 #undef fgetpos
488 #undef fsetpos
489 #undef fseek
490 #undef fseeko
491 #undef ftell
492 #undef ftello
494 #define fpos_t fpos64_t
495 #if _typ_off64_t
496 #define off_t off64_t
497 #else
498 #define off_t int64_t
499 #endif
501 #define fgetpos fgetpos64
502 #define fsetpos fsetpos64
503 #define fseek fseek64
504 #define fseeko fseeko64
505 #define ftell ftell64
506 #define ftello ftello64
508 #endif
510 #endif
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));
528 #ifdef _USE_GNU
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*));
536 #endif
538 #undef __MANGLE__
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)
547 #else
549 #define stdin (&_Sfstdin)
550 #define stdout (&_Sfstdout)
551 #define stderr (&_Sfstderr)
553 #endif
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)
566 #else
568 #if !_UWIN
569 #if _BLD_ast && defined(__EXPORT__)
570 #undef __MANGLE__
571 #define __MANGLE__ __LINKAGE__ __EXPORT__
572 #endif
573 #if !_BLD_ast && defined(__IMPORT__)
574 #undef __MANGLE__
575 #define __MANGLE__ __LINKAGE__ __IMPORT__
576 #endif
577 #endif
579 extern __MANGLE__ FILE _Sfstdin;
580 extern __MANGLE__ FILE _Sfstdout;
581 extern __MANGLE__ FILE _Sfstderr;
583 #undef __MANGLE__
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__)
596 #undef __MANGLE__
597 #define __MANGLE__ __LINKAGE__ __EXPORT__
598 #endif
600 extern __MANGLE__ int _sffilbuf __PROTO__((FILE*, int));
601 extern __MANGLE__ int _sfflsbuf __PROTO__((FILE*, int));
603 #undef __MANGLE__
604 #define __MANGLE__ __LINKAGE__
606 #endif
608 #endif