/**************************************************************** * * stdio.h - input/output facilities * * February 1989 * Mike Westerfield * * Copyright 1989, 1993, 1996 * Byte Works, Inc. * ****************************************************************/ #ifndef __stdio__ #define __stdio__ /* * Misc. */ #ifndef __va_list__ #define __va_list__ typedef char *__va_list[2]; #endif #ifndef EOF #define EOF (-1) #endif #ifndef NULL #define NULL (void *) 0L #endif #ifndef __size_t__ #define __size_t__ 1 typedef unsigned long size_t; #endif /* seek codes */ #define SEEK_SET 0 #define SEEK_CUR 1 #define SEEK_END 2 /* * Error handling */ #ifndef __KeepNamespacePure__ extern int sys_nerr; /* largest index for sys_errlist */ extern char *sys_errlist[]; /* error messages */ #endif /* * files */ typedef struct __file { struct __file *next; /* next file in linked list */ unsigned char *_ptr, /* next location to write to */ *_base, /* first byte of the buffer */ *_end; /* end of the file buffer */ unsigned long _size, /* size of the file buffer */ _cnt; /* # chars that can be read/written to buffer */ int _pbk[2]; /* put back buffer */ unsigned int _flag, /* buffer flags */ _file; /* GS/OS file ID */ } FILE; #define BUFSIZ 1024 /* default buffer size */ #define _LBUFSIZ 255 /* line buffer size */ #define _IOFBF 0x0001 /* full buffering */ #define _IONBF 0x0002 /* no buffering */ #define _IOLBF 0x0004 /* flush when a \n is written */ #define _IOREAD 0x0008 /* currently reading */ #define _IOWRT 0x0010 /* currently writing */ #define _IORW 0x0020 /* read/write enabled */ #define _IOMYBUF 0x0040 /* buffer was allocated by stdio */ #define _IOEOF 0x0080 /* has an EOF been found? */ #define _IOERR 0x0100 /* has an error occurred? */ #define _IOTEXT 0x0200 /* is this file a text file? */ #define _IOTEMPFILE 0x0400 /* was this file created by tmpfile()? */ #define _IOAPPEND 0x0800 /* is this file open in append mode? */ extern FILE *stderr; /* standard I/O files */ extern FILE *stdin; extern FILE *stdout; #define stderr stderr #define stdin stdin #define stdout stdout #define L_tmpnam 26 /* size of a temp name */ #define TMP_MAX 10000 /* # of unique temp names */ #ifndef __KeepNamespacePure__ #define SYS_OPEN 32767 /* max # open files */ #endif #define FOPEN_MAX 32767 /* max # open files */ #define FILENAME_MAX 1024 /* recommended file name length */ /* * Other types */ typedef long fpos_t; /* * Function declarations */ void clearerr(FILE *); int fclose(FILE *); int feof(FILE *); int ferror(FILE *); int fflush(FILE *); int fgetc(FILE *); int fgetpos(FILE *, fpos_t *); char *fgets(char *, int, FILE *); FILE *fopen(const char *, const char *); int fprintf(FILE *, const char *, ...); int fputc(int, FILE *); int fputs(const char *, FILE *); size_t fread(void *, size_t, size_t, FILE *); FILE *freopen(const char *, const char *, FILE *); int fscanf(FILE *, const char *, ...); int fseek(FILE *, long, int); int fsetpos(FILE *, const fpos_t *); long int ftell(FILE *); size_t fwrite(const void *, size_t, size_t, FILE *); int getc(FILE *); int getchar(void); #if !defined(__KeepNamespacePure__) || __STDC_VERSION__ < 201112L char *gets(char *); #endif void perror(const char *); int printf(const char *, ...); int putc(int, FILE *); int putchar(int); int puts(const char *); int remove(const char *); int rename(const char *, const char *); void rewind(FILE *); int scanf(const char *, ...); void setbuf(FILE *, char *); int setvbuf(FILE *, char *, int, size_t); int sprintf(char *, const char *, ...); int snprintf(char *, size_t, const char *, ...); int sscanf(const char *, const char *, ...); FILE *tmpfile(void); char *tmpnam(char *); int ungetc(int c, FILE *); int vfprintf(FILE *, const char *, __va_list); int vfscanf(FILE *, const char *, __va_list); int vprintf(const char *, __va_list); int vscanf(const char *, __va_list); int vsprintf(char *, const char *, __va_list); int vsnprintf(char *, size_t, const char *, __va_list); int vsscanf(const char *, const char *, __va_list); #endif