From 84f7999dc0745d9b9a340adef4faee5ad7101530 Mon Sep 17 00:00:00 2001 From: pumnflqv2 Date: Tue, 5 Jul 2022 04:53:25 +0800 Subject: [PATCH] ADD file via upload --- b/2/include/stdio.h | 256 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 256 insertions(+) create mode 100644 b/2/include/stdio.h diff --git a/b/2/include/stdio.h b/b/2/include/stdio.h new file mode 100644 index 0000000..a779059 --- /dev/null +++ b/b/2/include/stdio.h @@ -0,0 +1,256 @@ +#ifndef _STDIO_H +#define _STDIO_H + +/* s t d i o + * + * Author: C. E. Chew + * Date: August 1989 + * + * (C) Copyright C E Chew + * + * Feel free to copy, use and distribute this software provided: + * + * 1. you do not pretend that you wrote it + * 2. you leave this copyright notice intact. + * + * Definitions and user interface for the stream io package. + * + * Patchlevel 2.0 + * + * Edit History: + */ + +/* Site specific definitions */ +/*@*/ +#ifndef NULL +# define NULL ((void *)0) +#endif +#define _STDIO_UCHAR_ 0 +#define _STDIO_VA_LIST_ char * +#define _STDIO_SIZE_T_ unsigned int /* type returned by sizeof */ +#define _STDIO_USIZE_T_ unsigned int +/*=*/ + +/* Definitions based on ANSI compiler */ +#ifdef __STDC__ +# ifndef _STDIO_P_ +# define _STDIO_P_(x) x +# endif +# ifndef _STDIO_VA_ +# define _STDIO_VA_ , ... +# endif +# ifndef _STDIO_UCHAR_ +# define _STDIO_UCHAR_ 0 +# endif +#else +# ifndef _STDIO_P_ +# define _STDIO_P_(x) () +# endif +# ifndef _STDIO_VA_ +# define _STDIO_VA_ +# endif +# ifndef _STDIO_UCHAR_ +# define _STDIO_UCHAR_ (0xff) +# endif +#endif + +#ifndef _STDIO_VA_LIST_ +# define _STDIO_VA_LIST_ void * +#endif + +#ifndef _STDIO_SIZE_T_ +# define _STDIO_SIZE_T_ unsigned int +#endif + +#ifndef _STDIO_USIZE_T_ +# define _STDIO_USIZE_T_ unsigned int +#endif + +/* ANSI Definitions */ +#define BUFSIZ 1024 /* default buffer size */ + +#ifndef NULL +# define NULL ((void *) 0) /* null pointer */ +#endif + +#define EOF (-1) /* eof flag */ +#define FOPEN_MAX 16 /* minimum guarantee */ +#define FILENAME_MAX 127 /* maximum length of file name */ + +#define SEEK_SET 0 /* seek from beginning */ +#define SEEK_CUR 1 /* seek from here */ +#define SEEK_END 2 /* seek from end */ + +#define TMP_MAX (0xffff) /* maximum number of temporaries */ + +#define L_tmpnam (5 + 8 + 4 + 1 + 1) /* length of temporary file name */ + +#ifndef _FPOS_T +# define _FPOS_T + typedef long fpos_t; /* stream positioning */ +#endif + +#ifndef _SIZE_T +# define _SIZE_T + typedef _STDIO_SIZE_T_ size_t; /* sizeof type */ +#endif + +#define _IOFBF 000000 /* fully buffered io */ +#define _IOREAD 000001 /* opened for reading */ +#define _IOWRITE 000002 /* opened for writing */ +#define _IONBF 000004 /* unbuffered */ +#define _IOMYBUF 000010 /* allocated buffer */ +#define _IOPOOLBUF 000020 /* buffer belongs to pool */ +#define _IOEOF 000040 /* eof encountered */ +#define _IOERR 000100 /* error encountered */ +#define _IOSTRING 000200 /* strings */ +#define _IOLBF 000400 /* line buffered */ +#define _IORW 001000 /* opened for reading and writing */ +#define _IOAPPEND 002000 /* append mode */ +#define _IOINSERT 004000 /* insert into __iop chain */ +#define _IOSTDX 030000 /* standard stream */ + +#define _IOSTDIN 010000 /* stdin indication */ +#define _IOSTDOUT 020000 /* stdout indication */ +#define _IOSTDERR 030000 /* stderr indication */ + +#define _IORETAIN (_IOSTDX | _IOINSERT) /* flags to be retained */ + +/* Implementation Definitions */ + +typedef char __stdiobuf_t; /* stdio buffer type */ +typedef _STDIO_USIZE_T_ __stdiosize_t; /* unsigned size_t */ + +typedef struct __iobuf { + __stdiobuf_t *__rptr; /* pointer into read buffer */ + __stdiobuf_t *__rend; /* point at end of read buffer */ + __stdiobuf_t *__wptr; /* pointer into write buffer */ + __stdiobuf_t *__wend; /* point at end of write buffer */ + __stdiobuf_t *__base; /* base of buffer */ + __stdiosize_t __bufsiz; /* size of buffer */ + short __flag; /* flags */ + char __file; /* channel number */ + __stdiobuf_t __buf; /* small buffer */ + int (*__filbuf) _STDIO_P_((struct __iobuf *)); /* fill input buffer */ + int (*__flsbuf) _STDIO_P_((int, struct __iobuf *)); /* flush output buffer */ + int (*__flush) _STDIO_P_((struct __iobuf *)); /* flush buffer */ + struct __iobuf *__next; /* next in chain */ +} FILE; + +extern FILE __stdin; /* stdin */ +extern FILE __stdout; /* stdout */ +extern FILE __stderr; /* stderr */ + +#define stdin (&__stdin) +#define stdout (&__stdout) +#define stderr (&__stderr) + +/* ANSI Stdio Requirements */ + +int getc _STDIO_P_((FILE *)); +#if _STDIO_UCHAR_ +# define getc(p) ((p)->__rptr>=(p)->__rend\ + ?(*(p)->__filbuf)(p)\ + :(int)(*(p)->__rptr++&_STDIO_UCHAR_)) +#else +# define getc(p) ((p)->__rptr>=(p)->__rend\ + ?(*(p)->__filbuf)(p)\ + :(int)((unsigned char)(*(p)->__rptr++))) +#endif + +int getchar _STDIO_P_((void)); +#define getchar() getc(stdin) + +int putc _STDIO_P_((int, FILE *)); +#if _STDIO_UCHAR_ +# define putc(x,p) ((p)->__wptr>=(p)->__wend\ + ?(*(p)->__flsbuf)((x),(p))\ + :(int)(*(p)->__wptr++=(x)&_STDIO_UCHAR_)) +#else +# define putc(x,p) ((p)->__wptr>=(p)->__wend\ + ?(*(p)->__flsbuf)((x),(p))\ + :(int)((unsigned char)(*(p)->__wptr++=(x)))) +#endif + +int putchar _STDIO_P_((int)); +#define putchar(x) putc(x,stdout) + +int feof _STDIO_P_((FILE *)); +#define feof(p) (((p)->__flag&_IOEOF)!=0) + +int ferror _STDIO_P_((FILE *)); +#define ferror(p) (((p)->__flag&_IOERR)!=0) + +void clearerr _STDIO_P_((FILE *)); +#define clearerr(p) ((p)->__flag&=~(_IOEOF|_IOERR)) + +FILE *fopen _STDIO_P_((const char *, const char *)); +FILE *freopen _STDIO_P_((const char *, const char *, FILE *)); +int fflush _STDIO_P_((FILE *)); +int fclose _STDIO_P_((FILE *)); + +int fgetpos _STDIO_P_((FILE *, fpos_t *)); +int fsetpos _STDIO_P_((FILE *, fpos_t *)); +long ftell _STDIO_P_((FILE *)); +int fseek _STDIO_P_((FILE *, long, int)); +void rewind _STDIO_P_((FILE *)); + +int fgetc _STDIO_P_((FILE *)); +int fputc _STDIO_P_((int, FILE *)); +__stdiosize_t fread _STDIO_P_((void *, __stdiosize_t, + __stdiosize_t, FILE *)); +__stdiosize_t fwrite _STDIO_P_((void *, __stdiosize_t, + __stdiosize_t, FILE *)); + +int getw _STDIO_P_((FILE *)); +int putw _STDIO_P_((int, FILE *)); +char *gets _STDIO_P_((char *)); +char *fgets _STDIO_P_((char *, int, FILE *)); +int puts _STDIO_P_((const char *)); +int fputs _STDIO_P_((const char *, FILE *)); + +int ungetc _STDIO_P_((int, FILE *)); + +int printf _STDIO_P_((const char * _STDIO_VA_)); +int fprintf _STDIO_P_((FILE *, const char * _STDIO_VA_)); +int sprintf _STDIO_P_((char *, const char * _STDIO_VA_)); +int vprintf _STDIO_P_((const char *, _STDIO_VA_LIST_)); +int vfprintf _STDIO_P_((FILE *, const char *, _STDIO_VA_LIST_)); +int vsprintf _STDIO_P_((char *, const char *, _STDIO_VA_LIST_)); +int scanf _STDIO_P_((const char * _STDIO_VA_)); +int fscanf _STDIO_P_((FILE *, const char * _STDIO_VA_)); +int sscanf _STDIO_P_((const char *, const char * _STDIO_VA_)); + +void setbuf _STDIO_P_((FILE *, char *)); +int setvbuf _STDIO_P_((FILE *, char *, int, __stdiosize_t)); + +int rename _STDIO_P_((const char *, const char *)); +int remove _STDIO_P_((const char *)); + +void perror _STDIO_P_((const char *)); + +char * tmpnam _STDIO_P_((char *)); +FILE * tmpfile _STDIO_P_((void)); + +/* Posix Definitions */ +int unlink _STDIO_P_((const char *)); +#define remove(x) unlink((x)) + +#define L_ctermid 9 +char * ctermid _STDIO_P_((char *s)); + +#define L_cuserid 9 +char * cuserid _STDIO_P_((char *s)); + +FILE *fdopen _STDIO_P_((int, const char *)); + +int fileno _STDIO_P_((FILE *)); +#define fileno(p) ((p)->__file) + +#undef _STDIO_P_ +#undef _STDIO_VA_ +#undef _STDIO_VA_LIST_ +/*ndef _STDIO_UCHAR_*/ +#undef _STDIO_SIZE_T_ +#undef _STDIO_USIZE_T_ +#endif