xref: /original-bsd/include/stdio.h (revision bff54947)
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.7 (Berkeley) 05/27/89
7  */
8 
9 #ifndef NULL
10 #define	NULL	0
11 #endif
12 
13 #ifndef FILE
14 #define	BUFSIZ	1024
15 extern	struct	_iobuf {
16 	int	_cnt;
17 	char	*_ptr;		/* should be unsigned char */
18 	char	*_base;		/* ditto */
19 	int	_bufsiz;
20 	short	_flag;
21 	char	_file;		/* should be short */
22 } _iob[];
23 
24 #define	_IOREAD	01
25 #define	_IOWRT	02
26 #define	_IONBF	04
27 #define	_IOMYBUF	010
28 #define	_IOEOF	020
29 #define	_IOERR	040
30 #define	_IOSTRG	0100
31 #define	_IOLBF	0200
32 #define	_IORW	0400
33 #define	FILE	struct _iobuf
34 #define	EOF	(-1)
35 
36 #define	stdin	(&_iob[0])
37 #define	stdout	(&_iob[1])
38 #define	stderr	(&_iob[2])
39 #ifndef lint
40 #define	getc(p)		(--(p)->_cnt>=0? (int)(*(unsigned char *)(p)->_ptr++):_filbuf(p))
41 #endif not lint
42 #define	getchar()	getc(stdin)
43 #ifndef lint
44 #define putc(x, p)	(--(p)->_cnt >= 0 ?\
45 	(int)(*(unsigned char *)(p)->_ptr++ = (x)) :\
46 	(((p)->_flag & _IOLBF) && -(p)->_cnt < (p)->_bufsiz ?\
47 		((*(p)->_ptr = (x)) != '\n' ?\
48 			(int)(*(unsigned char *)(p)->_ptr++) :\
49 			_flsbuf(*(unsigned char *)(p)->_ptr, p)) :\
50 		_flsbuf((unsigned char)(x), p)))
51 #endif not lint
52 #define	putchar(x)	putc(x,stdout)
53 #define	feof(p)		(((p)->_flag&_IOEOF)!=0)
54 #define	ferror(p)	(((p)->_flag&_IOERR)!=0)
55 #define	fileno(p)	((p)->_file)
56 #define	clearerr(p)	((p)->_flag &= ~(_IOERR|_IOEOF))
57 
58 FILE	*fopen();
59 FILE	*fdopen();
60 FILE	*freopen();
61 FILE	*popen();
62 long	ftell();
63 char	*fgets();
64 char	*gets();
65 int	sprintf();	/* here until everyone does it right */
66 # endif
67 
68 #define	L_cuserid	9	/* posix says it goes in stdio.h :( */
69 char	*getlogin();
70 char	*cuserid();
71