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