xref: /original-bsd/old/pcc/ccom.vax/VMS/stdio.h (revision 0999a820)
1 #define	BUFSIZ	512
2 #define RMSSIZ	256
3 #define	_NFILE	20
4 # ifndef FILE
5 extern	struct	_iobuf {
6 	char	*_ptr;
7 	char	*_rms;
8 	char	*_base;
9 long	int	_sectr;
10 short	int	_flag;
11 short	int	_cnt;
12 	char	_links;
13 	char	_file;
14 short	int	_maxoffset;
15 long	int	_maxsectr;
16 } _iob[_NFILE];
17 # endif
18 
19 #define	_IOREAD	01
20 #define	_IOWRT	02
21 #define	_IOBIN	04
22 #define _IOPRT	010
23 #define _IOMODE 014
24 #define _IOTXT	00
25 #define	_IOMYBUF	002000
26 #define	_IOEOF	020
27 #define	_IOERR	040
28 #define	_IOSTRG	0100
29 #define	_IONBF	0200
30 #define	_IOTTY	0400
31 #define _IODIRT	01000
32 #define	NULL	0
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 #define getc(p)		(--(p)->_cnt>=0? *(p)->_ptr++&0377:_filbuf(p))
40 #define	getchar()	getc(stdin)
41 #define	putchar(x)	putc(x,stdout)
42 #define	feof(p)		(((p)->_flag&_IOEOF)!=0)
43 #define	ferror(p)	(((p)->_flag&_IOERR)!=0)
44 #define	fileno(p)	p->_file
45 
46 FILE	*fopen();
47 FILE	*freopen();
48 extern struct io$head {
49 	int	initzd;
50 	int	lobr;
51 	FILE	*ufiles[_NFILE];
52 	int	hibr;
53 	int	mxbr;
54 	int	lopg;
55 	int	hipg;
56 	int	mxpg;
57 	char	stinrms[RMSSIZ];
58 	char	storms[RMSSIZ];
59 	char	sterrms[RMSSIZ];
60 	char	stinbuf[BUFSIZ];
61 	char	stobuf[BUFSIZ];
62 	char	sterbuf[BUFSIZ];
63 } io_com ;
64 
65 #define check(c,s);	if (c) {errno = s; return(-1);}
66 #define EBADF	9
67 #define EINVAL	22
68 #define EMFILE	24
69 
70 extern int errno;
71