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