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