14887Schinset prototyped 24887Schinref -D_def_map_ast=1 34887Schiniff SFSTDIO 44887Schincat{ 54887Schin #define __FILE_typedef 1 64887Schin #define _FILE_DEFINED 1 74887Schin #define _FILE_defined 1 84887Schin #define _FILEDEFED 1 94887Schin 104887Schin #ifndef __FILE_TAG 114887Schin #define __FILE_TAG _sfio_s 124887Schin #endif 134887Schin 144887Schin #undef FILE 154887Schin #undef _FILE 164887Schin #undef fpos_t 174887Schin #undef fpos64_t 184887Schin 194887Schin typedef struct _sfio_s _sfio_FILE; 204887Schin 214887Schin #define FILE _sfio_FILE 224887Schin #define _FILE FILE 234887Schin 244887Schin #if !defined(__FILE) && !__CYGWIN__ 254887Schin #undef __FILE 264887Schin #define __FILE FILE 274887Schin #endif 284887Schin 294887Schin #if defined(_AST_H) || defined(_SFIO_H) 304887Schin 314887Schin #define BUFSIZ SF_BUFSIZE 324887Schin 334887Schin #else 344887Schin 354887Schin #ifndef BUFSIZ 364887Schin #define BUFSIZ 8192 374887Schin #endif 384887Schin 394887Schin #ifndef EOF 404887Schin #define EOF (-1) 414887Schin #endif 424887Schin 434887Schin #ifndef NULL 444887Schin #define NULL 0 454887Schin #endif 464887Schin 474887Schin #ifndef SEEK_SET 484887Schin #define SEEK_SET 0 494887Schin #define SEEK_CUR 1 504887Schin #define SEEK_END 2 514887Schin #endif 524887Schin 534887Schin #include <ast_std.h> 544887Schin 554887Schin #include <sfio_s.h> 564887Schin 574887Schin #if __cplusplus 584887Schin #define _sf_(f) (f) 594887Schin #else 604887Schin #define _sf_(f) ((struct _sfio_s*)(f)) 614887Schin #endif 624887Schin 634887Schin #define _SF_EOF 0000200 644887Schin #define _SF_ERROR 0000400 654887Schin 664887Schin #endif 674887Schin 684887Schin #ifdef _NO_LARGEFILE64_SOURCE 694887Schin #undef _LARGEFILE64_SOURCE 704887Schin #endif 714887Schin 724887Schin #ifdef _LARGEFILE64_SOURCE 734887Schin #undef off_t 744887Schin #endif 754887Schin 764887Schin #define fpos_t _ast_fpos_t 774887Schin #if _typ_int64_t 784887Schin #define fpos64_t _ast_fpos_t 794887Schin #endif 804887Schin 814887Schin typedef struct _ast_fpos_s 824887Schin { 834887Schin intmax_t _sf_offset; 844887Schin unsigned char _sf_state[64 - sizeof(intmax_t)]; 854887Schin } _ast_fpos_t; 864887Schin 874887Schin #define _base _data 884887Schin #define _ptr _next 894887Schin #define _IOFBF 0 904887Schin #define _IONBF 1 914887Schin #define _IOLBF 2 924887Schin 934887Schin #if defined(__cplusplus) && defined(__THROW) && !defined(_UWIN) 944887Schin 954887Schin #undef FILE 964887Schin #define FILE FILE 974887Schin typedef struct _sfio_s FILE; 984887Schin 994887Schin #undef strerror 1004887Schin extern char* strerror(int) __THROW; 1014887Schin 1024887Schin extern int _doprnt(const char*, va_list, FILE*); 1034887Schin extern int _doscan(FILE*, const char*, va_list); 1044887Schin extern int asprintf(char**, const char*, ...); 1054887Schin extern int clearerr(FILE*); 1064887Schin extern int fclose(FILE*); 1074887Schin extern FILE* fdopen(int, const char*); 1084887Schin extern int feof(FILE*); 1094887Schin extern int ferror(FILE*); 1104887Schin extern int fflush(FILE*); 1114887Schin extern int fgetc(FILE*); 1124887Schin extern int fgetpos(FILE*, fpos_t*); 1134887Schin extern char* fgets(char*, int, FILE*); 1144887Schin extern int fileno(FILE*); 1154887Schin extern FILE* fopen(const char*, const char*); 1164887Schin extern int fprintf(FILE*, const char*, ...); 1174887Schin extern int fpurge(FILE*); 1184887Schin extern int fputc(int, FILE*); 1194887Schin extern int fputs(const char*, FILE*); 120*8462SApril.Chin@Sun.COM extern size_t fread(void*, size_t, size_t, FILE*); 1214887Schin extern FILE* freopen(const char*, const char*, FILE*); 1224887Schin extern int fscanf(FILE*, const char*, ...); 1234887Schin extern int fseek(FILE*, long, int); 1244887Schin extern int fseeko(FILE*, off_t, int); 1254887Schin extern int fsetpos(FILE*, const fpos_t*); 1264887Schin extern long ftell(FILE*); 1274887Schin extern off_t ftello(FILE*); 128*8462SApril.Chin@Sun.COM extern size_t fwrite(const void*, size_t, size_t, FILE*); 1294887Schin extern int getc(FILE*); 1304887Schin extern int getchar(void); 1314887Schin extern char* gets(char*); 1324887Schin extern int getw(FILE*); 1334887Schin extern int pclose(FILE*); 1344887Schin extern FILE* popen(const char*, const char*); 1354887Schin extern int printf(const char*, ...); 1364887Schin extern int putc(int, FILE*); 1374887Schin extern int putchar(int); 1384887Schin extern int puts(const char*); 1394887Schin extern int putw(int, FILE*); 1404887Schin extern void rewind(FILE*); 1414887Schin extern int scanf(const char*, ...); 1424887Schin extern void setbuf(FILE*, char*); 1434887Schin extern int setbuffer(FILE*, char*, int); 1444887Schin extern int setlinebuf(FILE*); 1454887Schin extern int setvbuf(FILE*, char*, int, size_t); 1464887Schin extern int snprintf(char*, int, const char*, ...); 1474887Schin extern int sprintf(char*, const char*, ...); 1484887Schin extern int sscanf(const char*, const char*, ...); 1494887Schin extern FILE* tmpfile(void); 1504887Schin extern int ungetc(int, FILE*); 1514887Schin extern int vasprintf(char**, const char*, va_list); 1524887Schin extern int vfprintf(FILE*, const char*, va_list); 1534887Schin extern int vfscanf(FILE*, const char*, va_list); 1544887Schin extern int vprintf(const char*, va_list); 1554887Schin extern int vscanf(const char*, va_list); 1564887Schin extern int vsnprintf(char*, int, const char*, va_list); 1574887Schin extern int vsprintf(char*, const char*, va_list); 1584887Schin extern int vsscanf(const char*, const char*, va_list); 1594887Schin 1604887Schin #if _typ_int64_t 1614887Schin 1624887Schin extern int fgetpos64(FILE*, fpos64_t*); 1634887Schin extern int fsetpos64(FILE*, const fpos64_t*); 1644887Schin extern int fseek64(FILE*, int64_t, int); 1654887Schin extern int fseeko64(FILE*, int64_t, int); 1664887Schin extern int64_t ftell64(FILE*); 1674887Schin extern int64_t ftello64(FILE*); 1684887Schin 1694887Schin #endif 1704887Schin 1714887Schin extern void clearerr_unlocked(FILE*); 1724887Schin extern int feof_unlocked(FILE*); 1734887Schin extern int ferror_unlocked(FILE*); 1744887Schin extern int fflush_unlocked(FILE*); 1754887Schin extern int fgetc_unlocked(FILE*); 1764887Schin extern char* fgets_unlocked(char*, int, FILE*); 1774887Schin extern int fileno_unlocked(FILE*); 1784887Schin extern int fputc_unlocked(int, FILE*); 1794887Schin extern int fputs_unlocked(char*, FILE*); 1804887Schin extern size_t fread_unlocked(void*, size_t, size_t, FILE*); 1814887Schin extern size_t fwrite_unlocked(void*, size_t, size_t, FILE*); 1824887Schin extern int getc_unlocked(FILE*); 1834887Schin extern int getchar_unlocked(void); 1844887Schin extern int putc_unlocked(int, FILE*); 1854887Schin extern int putchar_unlocked(int); 1864887Schin 187*8462SApril.Chin@Sun.COM extern void flockfile(FILE*); 188*8462SApril.Chin@Sun.COM extern int ftrylockfile(FILE*); 189*8462SApril.Chin@Sun.COM extern void funlockfile(FILE*); 190*8462SApril.Chin@Sun.COM 1914887Schin #ifdef _USE_GNU 1924887Schin 1934887Schin extern int fcloseall(void); 1944887Schin extern FILE* fmemopen(void*, size_t, const char*); 1954887Schin extern ssize_t __getdelim(char**, size_t*, int, FILE*); 1964887Schin extern ssize_t getdelim(char**, size_t*, int, FILE*); 1974887Schin extern ssize_t getline(char**, size_t*, FILE*); 1984887Schin 1994887Schin #endif 2004887Schin 2014887Schin #endif 2024887Schin}end 2034887Schinoutput{ 2044887Schin #include <stdio.h> 2054887Schin #ifndef FILENAME_MAX 2064887Schin #ifndef NAME_MAX 2074887Schin #ifndef _POSIX_NAME_MAX 2084887Schin #define _POSIX_NAME_MAX 14 2094887Schin #endif 2104887Schin #define NAME_MAX _POSIX_NAME_MAX 2114887Schin #endif 2124887Schin #define FILENAME_MAX NAME_MAX 2134887Schin #endif 2144887Schin #ifndef FOPEN_MAX 2154887Schin #ifdef STREAM_MAX 2164887Schin #define FOPEN_MAX STREAM_MAX 2174887Schin #else 2184887Schin #ifndef OPEN_MAX 2194887Schin #ifndef _POSIX_OPEN_MAX 2204887Schin #define _POSIX_OPEN_MAX 20 2214887Schin #endif 2224887Schin #define OPEN_MAX _POSIX_OPEN_MAX 2234887Schin #endif 2244887Schin #define FOPEN_MAX OPEN_MAX 2254887Schin #endif 2264887Schin #endif 2274887Schin #ifndef TMP_MAX 2284887Schin #define TMP_MAX 33520641 2294887Schin #endif 2304887Schin int 2314887Schin main() 2324887Schin { 2334887Schin printf("#ifndef FILENAME_MAX\n"); 2344887Schin printf("#define FILENAME_MAX %d\n", FILENAME_MAX); 2354887Schin printf("#endif\n"); 2364887Schin printf("#ifndef FOPEN_MAX\n"); 2374887Schin printf("#define FOPEN_MAX %d\n", FOPEN_MAX); 2384887Schin printf("#endif\n"); 2394887Schin printf("#ifndef TMP_MAX\n"); 2404887Schin printf("#define TMP_MAX %d\n", TMP_MAX); 2414887Schin printf("#endif\n"); 2424887Schin #if !_UWIN 2434887Schin printf("\n"); 2444887Schin printf("#define _doprnt _ast_doprnt\n"); 2454887Schin printf("#define _doscan _ast_doscan\n"); 2464887Schin printf("#define asprintf _ast_asprintf\n"); 2474887Schin printf("#define clearerr _ast_clearerr\n"); 2484887Schin printf("#define fclose _ast_fclose\n"); 2494887Schin printf("#define fdopen _ast_fdopen\n"); 2504887Schin printf("#define fflush _ast_fflush\n"); 2514887Schin printf("#define fgetc _ast_fgetc\n"); 2524887Schin printf("#define fgetpos _ast_fgetpos\n"); 2534887Schin printf("#define fgetpos64 _ast_fgetpos64\n"); 2544887Schin printf("#define fgets _ast_fgets\n"); 2554887Schin printf("#define fopen _ast_fopen\n"); 2564887Schin printf("#define fprintf _ast_fprintf\n"); 2574887Schin printf("#define fpurge _ast_fpurge\n"); 2584887Schin printf("#define fputs _ast_fputs\n"); 2594887Schin printf("#define fread _ast_fread\n"); 2604887Schin printf("#define freopen _ast_freopen\n"); 2614887Schin printf("#define fscanf _ast_fscanf\n"); 2624887Schin printf("#define fseek _ast_fseek\n"); 2634887Schin printf("#define fseek64 _ast_fseek64\n"); 2644887Schin printf("#define fseeko _ast_fseeko\n"); 2654887Schin printf("#define fseeko64 _ast_fseeko64\n"); 2664887Schin printf("#define fsetpos _ast_fsetpos\n"); 2674887Schin printf("#define fsetpos64 _ast_fsetpos64\n"); 2684887Schin printf("#define ftell _ast_ftell\n"); 2694887Schin printf("#define ftell64 _ast_ftell64\n"); 2704887Schin printf("#define ftello _ast_ftello\n"); 2714887Schin printf("#define ftello64 _ast_ftello64\n"); 2724887Schin printf("#define fwrite _ast_fwrite\n"); 2734887Schin printf("#define gets _ast_gets\n"); 2744887Schin printf("#define getw _ast_getw\n"); 2754887Schin printf("#define pclose _ast_pclose\n"); 2764887Schin printf("#define popen _ast_popen\n"); 2774887Schin printf("#define printf _ast_printf\n"); 2784887Schin printf("#define puts _ast_puts\n"); 2794887Schin printf("#define putw _ast_putw\n"); 2804887Schin printf("#define rewind _ast_rewind\n"); 2814887Schin printf("#define scanf _ast_scanf\n"); 2824887Schin printf("#define setbuf _ast_setbuf\n"); 2834887Schin printf("#undef setbuffer\n"); 2844887Schin printf("#define setbuffer _ast_setbuffer\n"); 2854887Schin printf("#define setlinebuf _ast_setlinebuf\n"); 2864887Schin printf("#define setvbuf _ast_setvbuf\n"); 2874887Schin printf("#define snprintf _ast_snprintf\n"); 2884887Schin printf("#define sprintf _ast_sprintf\n"); 2894887Schin printf("#define sscanf _ast_sscanf\n"); 2904887Schin printf("#define tmpfile _ast_tmpfile\n"); 2914887Schin printf("#define ungetc _ast_ungetc\n"); 2924887Schin printf("#define vasprintf _ast_vasprintf\n"); 2934887Schin printf("#define vfprintf _ast_vfprintf\n"); 2944887Schin printf("#define vfscanf _ast_vfscanf\n"); 2954887Schin printf("#define vprintf _ast_vprintf\n"); 2964887Schin printf("#define vscanf _ast_vscanf\n"); 2974887Schin printf("#define vsnprintf _ast_vsnprintf\n"); 2984887Schin printf("#define vsprintf _ast_vsprintf\n"); 2994887Schin printf("#define vsscanf _ast_vsscanf\n"); 3004887Schin 3014887Schin printf("#define fcloseall _ast_fcloseall\n"); 302*8462SApril.Chin@Sun.COM printf("#define _filbuf _ast__filbuf\n"); 3034887Schin printf("#define fmemopen _ast_fmemopen\n"); 3044887Schin printf("#define __getdelim _ast___getdelim\n"); 3054887Schin printf("#define getdelim _ast_getdelim\n"); 3064887Schin printf("#define getline _ast_getline\n"); 3074887Schin 3084887Schin printf("#define clearerr_unlocked _ast_clearerr_unlocked\n"); 3094887Schin printf("#define feof_unlocked _ast_feof_unlocked\n"); 3104887Schin printf("#define ferror_unlocked _ast_ferror_unlocked\n"); 3114887Schin printf("#define fflush_unlocked _ast_fflush_unlocked\n"); 3124887Schin printf("#define fgetc_unlocked _ast_fgetc_unlocked\n"); 3134887Schin printf("#define fgets_unlocked _ast_fgets_unlocked\n"); 3144887Schin printf("#define fileno_unlocked _ast_fileno_unlocked\n"); 3154887Schin printf("#define fputc_unlocked _ast_fputc_unlocked\n"); 3164887Schin printf("#define fputs_unlocked _ast_fputs_unlocked\n"); 3174887Schin printf("#define fread_unlocked _ast_fread_unlocked\n"); 3184887Schin printf("#define fwrite_unlocked _ast_fwrite_unlocked\n"); 3194887Schin printf("#define getc_unlocked _ast_getc_unlocked\n"); 3204887Schin printf("#define getchar_unlocked _ast_getchar_unlocked\n"); 3214887Schin printf("#define putc_unlocked _ast_putc_unlocked\n"); 3224887Schin printf("#define putchar_unlocked _ast_putchar_unlocked\n"); 3234887Schin 324*8462SApril.Chin@Sun.COM printf("#define flockfile _ast_flockfile\n"); 325*8462SApril.Chin@Sun.COM printf("#define ftrylockfile _ast_ftrylockfile\n"); 326*8462SApril.Chin@Sun.COM printf("#define funlockfile _ast_funlockfile\n"); 327*8462SApril.Chin@Sun.COM 3284887Schin printf("\n"); 3294887Schin #endif 3304887Schin return 0; 3314887Schin } 3324887Schin}end 3334887Schinmacro{ 3344887Schin <<"#if defined(__STDPP__directive) && defined(__STDPP__initial)">> 3354887Schin <<"__STDPP__directive pragma pp:initial">> 3364887Schin <<"#endif">> 3374887Schin <<"#ifndef P_tmpdir">> 3384887Schin #ifndef P_tmpdir 3394887Schin #define P_tmpdir "/usr/tmp/" 3404887Schin #endif 3414887Schin <<"#define P_tmpdir">> P_tmpdir <<"/*NOCATLITERAL*/">> 3424887Schin <<"#endif">> 3434887Schin <<"#ifndef L_ctermid">> 3444887Schin #ifndef L_ctermid 3454887Schin #define L_ctermid 9 3464887Schin #endif 3474887Schin <<"#define L_ctermid">> L_ctermid 3484887Schin <<"#endif">> 3494887Schin <<"#ifndef L_tmpnam">> 3504887Schin #ifndef L_tmpnam 3514887Schin #define L_tmpnam (sizeof(P_tmpdir)+15) 3524887Schin #endif 3534887Schin <<"#define L_tmpnam">> L_tmpnam 3544887Schin <<"#endif">> 3554887Schin <<"#if defined(__STDPP__directive) && defined(__STDPP__initial)">> 3564887Schin <<"__STDPP__directive pragma pp:noinitial">> 3574887Schin <<"#endif">> 3584887Schin}end 3594887Schincat{ 3604887Schin #if defined(__cplusplus) && defined(__THROW) 3614887Schin extern char* ctermid(char*) __THROW; 3624887Schin #else 3634887Schin extern char* ctermid(char*); 3644887Schin #endif 3654887Schin extern char* tmpnam(char*); 3664887Schin extern char* tempnam(const char*, const char*); 3674887Schin extern void perror(const char*); 3684887Schin #ifndef _AST_STD_H 3694887Schin #ifndef remove 3704887Schin extern int remove(const char*); 3714887Schin #endif 3724887Schin #ifndef rename 3734887Schin extern int rename(const char*, const char*); 3744887Schin #endif 3754887Schin #endif 3764887Schin 3774887Schin #undef extern 3784887Schin 3794887Schin #if _BLD_ast && defined(__EXPORT__) 3804887Schin #define extern __EXPORT__ 3814887Schin #endif 3824887Schin 3834887Schin extern int _doprnt(const char*, va_list, FILE*); 3844887Schin extern int _doscan(FILE*, const char*, va_list); 3854887Schin extern int asprintf(char**, const char*, ...); 3864887Schin extern int clearerr(FILE*); 3874887Schin extern int fclose(FILE*); 3884887Schin extern FILE* fdopen(int, const char*); 3894887Schin extern int feof(FILE*); 3904887Schin extern int ferror(FILE*); 3914887Schin extern int fflush(FILE*); 3924887Schin extern int fgetc(FILE*); 3934887Schin extern int fgetpos(FILE*, fpos_t*); 3944887Schin extern char* fgets(char*, int, FILE*); 3954887Schin extern int fileno(FILE*); 3964887Schin extern FILE* fopen(const char*, const char*); 3974887Schin extern int fprintf(FILE*, const char*, ...); 3984887Schin extern int fpurge(FILE*); 3994887Schin extern int fputc(int, FILE*); 4004887Schin extern int fputs(const char*, FILE*); 401*8462SApril.Chin@Sun.COM extern size_t fread(void*, size_t, size_t, FILE*); 4024887Schin extern FILE* freopen(const char*, const char*, FILE*); 4034887Schin extern int fscanf(FILE*, const char*, ...); 4044887Schin extern int fseek(FILE*, long, int); 4054887Schin extern int fseeko(FILE*, off_t, int); 4064887Schin extern int fsetpos(FILE*, const fpos_t*); 4074887Schin extern long ftell(FILE*); 4084887Schin extern off_t ftello(FILE*); 409*8462SApril.Chin@Sun.COM extern size_t fwrite(const void*, size_t, size_t, FILE*); 4104887Schin extern int getc(FILE*); 4114887Schin extern int getchar(void); 4124887Schin extern char* gets(char*); 4134887Schin extern int getw(FILE*); 4144887Schin extern int pclose(FILE*); 4154887Schin extern FILE* popen(const char*, const char*); 4164887Schin extern int printf(const char*, ...); 4174887Schin extern int putc(int, FILE*); 4184887Schin extern int putchar(int); 4194887Schin extern int puts(const char*); 4204887Schin extern int putw(int, FILE*); 4214887Schin extern void rewind(FILE*); 4224887Schin extern int scanf(const char*, ...); 4234887Schin extern void setbuf(FILE*, char*); 4244887Schin extern int setbuffer(FILE*, char*, int); 4254887Schin extern int setlinebuf(FILE*); 4264887Schin extern int setvbuf(FILE*, char*, int, size_t); 4274887Schin extern int snprintf(char*, int, const char*, ...); 4284887Schin extern int sprintf(char*, const char*, ...); 4294887Schin extern int sscanf(const char*, const char*, ...); 4304887Schin extern FILE* tmpfile(void); 4314887Schin extern int ungetc(int, FILE*); 4324887Schin extern int vasprintf(char**, const char*, va_list); 4334887Schin extern int vfprintf(FILE*, const char*, va_list); 4344887Schin extern int vfscanf(FILE*, const char*, va_list); 4354887Schin extern int vprintf(const char*, va_list); 4364887Schin extern int vscanf(const char*, va_list); 4374887Schin extern int vsnprintf(char*, int, const char*, va_list); 4384887Schin extern int vsprintf(char*, const char*, va_list); 4394887Schin extern int vsscanf(const char*, const char*, va_list); 4404887Schin 4414887Schin #if _typ_int64_t 4424887Schin 4434887Schin extern int fgetpos64(FILE*, fpos64_t*); 4444887Schin extern int fsetpos64(FILE*, const fpos64_t*); 4454887Schin extern int fseek64(FILE*, int64_t, int); 4464887Schin extern int fseeko64(FILE*, int64_t, int); 4474887Schin extern int64_t ftell64(FILE*); 4484887Schin extern int64_t ftello64(FILE*); 4494887Schin 4504887Schin #ifdef _LARGEFILE64_SOURCE 4514887Schin 4524887Schin #undef fpos_t 4534887Schin #undef off_t 4544887Schin #undef fgetpos 4554887Schin #undef fsetpos 4564887Schin #undef fseek 4574887Schin #undef fseeko 4584887Schin #undef ftell 4594887Schin #undef ftello 4604887Schin 4614887Schin #define fpos_t fpos64_t 4624887Schin #if _typ_off64_t 4634887Schin #define off_t off64_t 4644887Schin #else 4654887Schin #define off_t int64_t 4664887Schin #endif 4674887Schin 4684887Schin #define fgetpos fgetpos64 4694887Schin #define fsetpos fsetpos64 4704887Schin #define fseek fseek64 4714887Schin #define fseeko fseeko64 4724887Schin #define ftell ftell64 4734887Schin #define ftello ftello64 4744887Schin 4754887Schin #endif 4764887Schin 4774887Schin #endif 4784887Schin 4794887Schin extern void clearerr_unlocked(FILE*); 4804887Schin extern int feof_unlocked(FILE*); 4814887Schin extern int ferror_unlocked(FILE*); 4824887Schin extern int fflush_unlocked(FILE*); 4834887Schin extern int fgetc_unlocked(FILE*); 4844887Schin extern char* fgets_unlocked(char*, int, FILE*); 4854887Schin extern int fileno_unlocked(FILE*); 4864887Schin extern int fputc_unlocked(int, FILE*); 4874887Schin extern int fputs_unlocked(char*, FILE*); 4884887Schin extern size_t fread_unlocked(void*, size_t, size_t, FILE*); 4894887Schin extern size_t fwrite_unlocked(void*, size_t, size_t, FILE*); 4904887Schin extern int getc_unlocked(FILE*); 4914887Schin extern int getchar_unlocked(void); 4924887Schin extern int putc_unlocked(int, FILE*); 4934887Schin extern int putchar_unlocked(int); 4944887Schin 4954887Schin #ifdef _USE_GNU 4964887Schin 4974887Schin extern int fcloseall(void); 4984887Schin extern FILE* fmemopen(void*, size_t, const char*); 4994887Schin extern ssize_t __getdelim(char**, size_t*, int, FILE*); 5004887Schin extern ssize_t getdelim(char**, size_t*, int, FILE*); 5014887Schin extern ssize_t getline(char**, size_t*, FILE*); 5024887Schin 5034887Schin #endif 5044887Schin 5054887Schin #undef extern 5064887Schin 5074887Schin #if _BLD_DLL && _DLL_INDIRECT_DATA 5084887Schin 5094887Schin #define stdin ((FILE*)_ast_dll->_ast_stdin) 5104887Schin #define stdout ((FILE*)_ast_dll->_ast_stdout) 5114887Schin #define stderr ((FILE*)_ast_dll->_ast_stderr) 5124887Schin 5134887Schin #else 5144887Schin 5154887Schin #define stdin (&_Sfstdin) 5164887Schin #define stdout (&_Sfstdout) 5174887Schin #define stderr (&_Sfstderr) 5184887Schin 5194887Schin #endif 5204887Schin 5214887Schin #if defined(_AST_H) || defined(_SFIO_H) 5224887Schin 5234887Schin #define feof(f) sfeof(f) 5244887Schin #define ferror(f) sferror(f) 5254887Schin #define fileno(f) sffileno(f) 5264887Schin #define fputc(c,f) sfputc(f,c) 5274887Schin #define getc(f) sfgetc(f) 5284887Schin #define getchar() sfgetc(sfstdin) 5294887Schin #define putc(c,f) sfputc(f,c) 5304887Schin #define putchar(c) sfputc(sfstdout,c) 5314887Schin 5324887Schin #else 5334887Schin 5344887Schin #if !_UWIN 5354887Schin #if _BLD_ast && defined(__EXPORT__) 5364887Schin #define extern extern __EXPORT__ 5374887Schin #endif 5384887Schin #if !_BLD_ast && defined(__IMPORT__) 5394887Schin #define extern extern __IMPORT__ 5404887Schin #endif 5414887Schin #endif 5424887Schin 5434887Schin extern FILE _Sfstdin; 5444887Schin extern FILE _Sfstdout; 5454887Schin extern FILE _Sfstderr; 5464887Schin 5474887Schin #undef extern 5484887Schin 5494887Schin #define feof(f) (_sf_(f)->_flags&_SF_EOF) 5504887Schin #define ferror(f) (_sf_(f)->_flags&_SF_ERROR) 5514887Schin #define fileno(f) (_sf_(f)->_file) 5524887Schin #define fputc(c,f) (_sf_(f)->_next>=_sf_(f)->_endw?_sfflsbuf(_sf_(f),(int)((unsigned char)(c))):(int)(*_sf_(f)->_next++=(unsigned char)(c))) 5534887Schin #define getc(f) (_sf_(f)->_next>=_sf_(f)->_endr?_sffilbuf(_sf_(f),0):(int)(*_sf_(f)->_next++)) 5544887Schin #define getchar() getc(stdin) 5554887Schin #define putc(c,f) fputc(c,f) 5564887Schin #define putchar(c) fputc(c,stdout) 5574887Schin 5584887Schin #if _BLD_ast && defined(__EXPORT__) 5594887Schin #define extern __EXPORT__ 5604887Schin #endif 5614887Schin 5624887Schin extern int _sffilbuf(FILE*, int); 5634887Schin extern int _sfflsbuf(FILE*, int); 5644887Schin 5654887Schin #undef extern 5664887Schin 5674887Schin #endif 5684887Schin}end 569