xref: /original-bsd/include/stdio.h (revision ad93c43e)
1 /*
2  * Copyright (c) 1980 Regents of the University of California.
3  * All rights reserved.  The Berkeley software License Agreement
4  * specifies the terms and conditions for redistribution.
5  *
6  *	@(#)stdio.h	5.4 (Berkeley) 10/22/87
7  */
8 
9 # ifndef FILE
10 #define	BUFSIZ	1024
11 extern	struct	_iobuf {
12 	int	_cnt;
13 	char	*_ptr;		/* should be unsigned char */
14 	char	*_base;		/* ditto */
15 	int	_bufsiz;
16 	short	_flag;
17 	char	_file;		/* should be short */
18 } _iob[];
19 
20 #define	_IOREAD	01
21 #define	_IOWRT	02
22 #define	_IONBF	04
23 #define	_IOMYBUF	010
24 #define	_IOEOF	020
25 #define	_IOERR	040
26 #define	_IOSTRG	0100
27 #define	_IOLBF	0200
28 #define	_IORW	0400
29 #define	NULL	0
30 #define	FILE	struct _iobuf
31 #define	EOF	(-1)
32 
33 #define	stdin	(&_iob[0])
34 #define	stdout	(&_iob[1])
35 #define	stderr	(&_iob[2])
36 #ifndef lint
37 #define	getc(p)		(--(p)->_cnt>=0? (int)(*(unsigned char *)(p)->_ptr++):_filbuf(p))
38 #endif not lint
39 #define	getchar()	getc(stdin)
40 #ifndef lint
41 #define putc(x, p)	(--(p)->_cnt >= 0 ?\
42 	(int)(*(unsigned char *)(p)->_ptr++ = (x)) :\
43 	(((p)->_flag & _IOLBF) && -(p)->_cnt < (p)->_bufsiz ?\
44 		((*(p)->_ptr = (x)) != '\n' ?\
45 			(int)(*(unsigned char *)(p)->_ptr++) :\
46 			_flsbuf(*(unsigned char *)(p)->_ptr, p)) :\
47 		_flsbuf((unsigned char)(x), p)))
48 #endif not lint
49 #define	putchar(x)	putc(x,stdout)
50 #define	feof(p)		(((p)->_flag&_IOEOF)!=0)
51 #define	ferror(p)	(((p)->_flag&_IOERR)!=0)
52 #define	fileno(p)	((p)->_file)
53 #define	clearerr(p)	((p)->_flag &= ~(_IOERR|_IOEOF))
54 
55 FILE	*fopen();
56 FILE	*fdopen();
57 FILE	*freopen();
58 FILE	*popen();
59 long	ftell();
60 char	*fgets();
61 char	*gets();
62 int	sprintf();	/* here until everyone does it right */
63 # endif
64