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