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_; 41