xref: /original-bsd/include/stdio.h (revision 4c01ad61)
1 /*	stdio.h	1.11	85/01/08	*/
2 #define	BUFSIZ	1024
3 #define	_NFILE	48
4 # ifndef FILE
5 extern	struct	_iobuf {
6 	int	_cnt;
7 	char	*_ptr;
8 	char	*_base;
9 	int	_bufsiz;
10 	short	_flag;
11 	char	_file;
12 } _iob[_NFILE];
13 # endif
14 
15 #define	_IOREAD	01
16 #define	_IOWRT	02
17 #define	_IONBF	04
18 #define	_IOMYBUF	010
19 #define	_IOEOF	020
20 #define	_IOERR	040
21 #define	_IOSTRG	0100
22 #define	_IOLBF	0200
23 #define	_IORW	0400
24 #define	NULL	0
25 #define	FILE	struct _iobuf
26 #define	EOF	(-1)
27 
28 #define	stdin	(&_iob[0])
29 #define	stdout	(&_iob[1])
30 #define	stderr	(&_iob[2])
31 #define	getc(p)		(--(p)->_cnt>=0? (int)(*(unsigned char *)(p)->_ptr++):_filbuf(p))
32 #define	getchar()	getc(stdin)
33 #define putc(x, p)	(--(p)->_cnt >= 0 ?\
34 	(int)(*(unsigned char *)(p)->_ptr++ = (x)) :\
35 	(((p)->_flag & _IOLBF) && -(p)->_cnt < (p)->_bufsiz ?\
36 		((*(p)->_ptr = (x)) != '\n' ?\
37 			(int)(*(unsigned char *)(p)->_ptr++) :\
38 			_flsbuf(*(unsigned char *)(p)->_ptr, p)) :\
39 		_flsbuf((unsigned char)(x), p)))
40 #define	putchar(x)	putc(x,stdout)
41 #define	feof(p)		(((p)->_flag&_IOEOF)!=0)
42 #define	ferror(p)	(((p)->_flag&_IOERR)!=0)
43 #define	fileno(p)	((p)->_file)
44 
45 FILE	*fopen();
46 FILE	*fdopen();
47 FILE	*freopen();
48 long	ftell();
49 char	*fgets();
50 char	*gets();
51 #ifdef vax
52 char	*sprintf();		/* too painful to do right */
53 #endif
54