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