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