xref: /csrg-svn/usr.bin/f77/libI77/fio.h (revision 2506)
1*2506Sdlw /*
2*2506Sdlw char id_fio[] = "@(#)fio.h	1.1";
3*2506Sdlw  *
4*2506Sdlw  * f77 file i/o common definitions
5*2506Sdlw  */
6*2506Sdlw 
7*2506Sdlw #include "fiodefs.h"
8*2506Sdlw 
9*2506Sdlw #define err(f,n,s)	{if(f) return(errno=n); else fatal(n,s);}
10*2506Sdlw #define not_legal(u)	(u>=MXUNIT || u<0)
11*2506Sdlw #define GET(x)		if((x=(*getn)())<0) return(x)
12*2506Sdlw #define VAL(x)		(x!='\n'?x:' ')
13*2506Sdlw #define PUT(x)		{if(n=(*putn)(x)) return(n);}
14*2506Sdlw #define lcase(s)	((s >= 'A') && (s <= 'Z') ? s+('a'-'A') : s)
15*2506Sdlw 
16*2506Sdlw #define MAXINTLENGTH	32	/* to accomodate binary format */
17*2506Sdlw 
18*2506Sdlw long ftell();
19*2506Sdlw 
20*2506Sdlw extern int errno;
21*2506Sdlw extern ioflag init;
22*2506Sdlw extern icilist *svic;	/* active internal io list */
23*2506Sdlw extern flag reading,external,sequential,formatted;
24*2506Sdlw extern int (*getn)(),(*putn)(),(*ungetn)();	/*for formatted io*/
25*2506Sdlw extern FILE *cf;	/*current file structure*/
26*2506Sdlw extern unit *curunit;	/*current unit structure */
27*2506Sdlw extern int lunit;	/*current logical unit*/
28*2506Sdlw extern char *lfname;	/*current filename*/
29*2506Sdlw extern unit units[];	/*logical units table*/
30*2506Sdlw extern int recpos;		/*position in current record*/
31*2506Sdlw extern ftnint recnum;		/*current record number*/
32*2506Sdlw extern int reclen;		/* current record length */
33*2506Sdlw extern int (*doed)(), (*doned)();
34*2506Sdlw extern int (*dorevert)(), (*donewrec)(), (*doend)(), (*dotab)();
35*2506Sdlw extern ioflag cblank, cplus, tab, elist, signit, errflag, endflag;
36*2506Sdlw extern char *fmtbuf, *icptr, *icend, *fmtptr;
37*2506Sdlw extern int scale;
38*2506Sdlw extern int cursor;
39*2506Sdlw extern int radix;
40