70 lines
1.9 KiB
C
70 lines
1.9 KiB
C
#ifndef _SIZE_T
|
|
#define _SIZE_T
|
|
typedef unsigned size_t;
|
|
#endif
|
|
|
|
#ifndef _VA_LIST
|
|
#define _VA_LIST
|
|
typedef char *va_list;
|
|
#endif
|
|
|
|
typedef struct _iobuf FILE;
|
|
|
|
struct _iobuf {
|
|
char *_ptr; // Current pointer in buffer
|
|
size_t _n; // Range is 0..sizeof(buffer) for read,
|
|
// and 1...sizeof(buffer)+1 for write.
|
|
int (*_flush)(int,FILE*); // Same prototype as fputc()
|
|
char _flags;
|
|
};
|
|
|
|
// https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/include/stdio.h
|
|
enum {
|
|
_ioread = 1,
|
|
_iowrite = 2,
|
|
_ioeof = 16,
|
|
_ioerr = 32,
|
|
};
|
|
|
|
#define NULL ((void*)0)
|
|
#define EOF -1
|
|
|
|
extern struct _stdin _stdin;
|
|
extern struct _stdout _stdout;
|
|
#define stdin ((FILE*)&_stdin)
|
|
#define stdout ((FILE*)&_stdout)
|
|
#define stderr stdout
|
|
|
|
#define putc(c, stream) fputc(c, stream)
|
|
|
|
int putchar(int c);
|
|
int puts(const char *s);
|
|
int fputc(int c, FILE *stream);
|
|
int printf(const char *format, ...);
|
|
int fputs(const char *s, FILE *stream);
|
|
int vprintf(const char *format, va_list ap);
|
|
int sprintf(char *str, const char *format, ...);
|
|
int fprintf(FILE *stream, const char *format, ...);
|
|
int vsprintf(char *str, const char *format, va_list ap);
|
|
int vfprintf(FILE *stream, const char *format, va_list ap);
|
|
int snprintf(char *str, size_t size, const char *format, ...);
|
|
int vsnprintf(char *str, size_t size, const char *format, va_list ap);
|
|
|
|
FILE *fopen(const char *path, const char *mode);
|
|
int fflush(FILE *stream);
|
|
int fclose(FILE *stream);
|
|
|
|
#define getc(stream) fgetc(stream)
|
|
|
|
int getchar(void);
|
|
int fgetc(FILE *stream);
|
|
int ungetc(int c, FILE *stream);
|
|
int scanf(const char *format, ...);
|
|
int fscanf(FILE *stream, const char *format, ...);
|
|
int vfscanf(FILE *stream, const char *format, va_list arg);
|
|
|
|
// Not yet implemented:
|
|
char *gets(char *str);
|
|
char *fgets(char *str, int size, FILE *stream);
|
|
int sscanf(const char *s, const char *format, ...);
|