ack/include/_tail_cc/stdio.h
1994-06-24 11:31:16 +00:00

84 lines
1.8 KiB
C

/* $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 */