1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /* $Id$ */
- /*
- * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
- * See the copyright notice in the ACK home directory, in the file "Copyright".
- */
- #ifndef _STDIO_H
- #define _STDIO_H
- #define BUFSIZ 1024
- #ifdef __vax
- #define _NBF 8
- #endif
- #ifdef __mc68020
- #define _NBF 8
- #endif
- #ifndef _NBF
- #define _NBF 1
- #endif
- #define _BUFSIZ (_NBF * BUFSIZ)
- #define _NFILES 20
- #define NULL 0
- #define EOF (-1)
- #define IO_READMODE 1
- #define IO_WRITEMODE 2
- #define IO_UNBUFF 4
- #define IO_EOF 8
- #define IO_ERR 16
- #define IO_MYBUF 32
- #define IO_PERPRINTF 64
- #ifndef FILE
- extern struct _io_buf {
- int _count;
- int _flags;
- unsigned char *_buf;
- unsigned char *_ptr;
- int _bufsiz;
- int _fd;
- } *_io_table[_NFILES], _stdin, _stdout, _stderr;
- #endif /* FILE */
- #define FILE struct _io_buf
- #define stdin (&_stdin)
- #define stdout (&_stdout)
- #define stderr (&_stderr)
- #define getchar() getc(stdin)
- #define putchar(c) putc(c,stdout)
- #define getc(p) (--(p)->_count >= 0 ? (int) (*(p)->_ptr++) : \
- _fillbuf(p))
- #define putc(c, p) (--(p)->_count >= 0 ? \
- (int) (*(p)->_ptr++ = (c)) : \
- _flushbuf((c),(p)))
- #define feof(p) (((p)->_flags & IO_EOF) != 0)
- #define ferror(p) (((p)->_flags & IO_ERR) != 0)
- #define fileno(p) ((p)->_fd)
- #define io_testflag(p,x) ((p)->_flags & (x))
- /* If you want a stream to be flushed after each printf use:
- *
- * io_perprintf(stream);
- *
- * If you want to stop with this kind of buffering use:
- *
- * io_noperprintf(stream);
- */
- #define io_noperprintf(p) ((p)->_flags &= ~IO_PERPRINTF)
- #define io_perprintf(p) ((p)->_flags |= IO_PERPRINTF)
- extern FILE *fopen(), *fdopen(), *freopen(), *popen();
- extern long ftell();
- extern setbuf(), rewind();
- extern char *fgets(), *gets();
- #endif /* _STDIO_H */
|