xref: /original-bsd/usr.bin/f77/libI77/fio.h (revision 46bf0326)
1 /*-
2  * Copyright (c) 1980 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.proprietary.c%
6  */
7 
8 #ifndef lint
9 static char sccsid[] = "@(#)fio.h	5.2 (Berkeley) 04/12/91";
10 #endif /* not lint */
11 
12 /*
13  * f77 file i/o common definitions
14  */
15 
16 #include "fiodefs.h"
17 
18 #define LOCAL		static
19 #define err(f,n,s)	{if(f) return(errno=n); else fatal(n,s);}
20 #define not_legal(u)	(u>=MXUNIT || u<0)
21 #define GET(x)		if((x=(*getn)())<0) return(x)
22 #define VAL(x)		(x!='\n'?x:' ')
23 #define PUT(x)		{if(n=(*putn)(x)) return(n);}
24 #define lcase(s)	((s >= 'A') && (s <= 'Z') ? s+('a'-'A') : s)
25 
26 #define MAXINTLENGTH	32	/* to accomodate binary format */
27 
28 long ftell();
29 
30 extern int errno;
31 extern ioflag init;
32 extern flag reading,external,sequential,formatted;
33 extern int (*getn)(),(*putn)(),(*ungetn)();	/*for formatted io*/
34 extern FILE *cf;	/*current file structure*/
35 extern unit *curunit;	/*current unit structure */
36 extern int lunit;	/*current logical unit*/
37 extern char *lfname;	/*current filename*/
38 extern unit units[];	/*logical units table*/
39 extern int recpos;		/*position in current record*/
40 extern ftnint recnum;		/*current record number*/
41 extern int reclen;		/* current record length */
42 extern int (*doed)(), (*doned)();
43 extern int (*dorevert)(), (*donewrec)(), (*doend)(), (*dotab)();
44 extern ioflag cblank, cplus, tab, elist, signit, errflag, endflag;
45 extern char *fmtbuf, *icptr, *icend, *fmtptr;
46 extern int scale;
47 extern int cursor;
48 extern int radix;
49 extern struct ioiflg	ioiflg_;
50