83 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* $Header$ */
 | |
| /*
 | |
|  * (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 */
 |