12506Sdlw /* 2*20985Slibs char id_fio[] = "@(#)fio.h 1.3"; 32506Sdlw * 42506Sdlw * f77 file i/o common definitions 52506Sdlw */ 62506Sdlw 72506Sdlw #include "fiodefs.h" 82506Sdlw 9*20985Slibs #define LOCAL static 102506Sdlw #define err(f,n,s) {if(f) return(errno=n); else fatal(n,s);} 112506Sdlw #define not_legal(u) (u>=MXUNIT || u<0) 122506Sdlw #define GET(x) if((x=(*getn)())<0) return(x) 132506Sdlw #define VAL(x) (x!='\n'?x:' ') 142506Sdlw #define PUT(x) {if(n=(*putn)(x)) return(n);} 152506Sdlw #define lcase(s) ((s >= 'A') && (s <= 'Z') ? s+('a'-'A') : s) 162506Sdlw 172506Sdlw #define MAXINTLENGTH 32 /* to accomodate binary format */ 182506Sdlw 192506Sdlw long ftell(); 202506Sdlw 212506Sdlw extern int errno; 222506Sdlw extern ioflag init; 232506Sdlw extern flag reading,external,sequential,formatted; 242506Sdlw extern int (*getn)(),(*putn)(),(*ungetn)(); /*for formatted io*/ 252506Sdlw extern FILE *cf; /*current file structure*/ 262506Sdlw extern unit *curunit; /*current unit structure */ 272506Sdlw extern int lunit; /*current logical unit*/ 282506Sdlw extern char *lfname; /*current filename*/ 292506Sdlw extern unit units[]; /*logical units table*/ 302506Sdlw extern int recpos; /*position in current record*/ 312506Sdlw extern ftnint recnum; /*current record number*/ 322506Sdlw extern int reclen; /* current record length */ 332506Sdlw extern int (*doed)(), (*doned)(); 342506Sdlw extern int (*dorevert)(), (*donewrec)(), (*doend)(), (*dotab)(); 352506Sdlw extern ioflag cblank, cplus, tab, elist, signit, errflag, endflag; 362506Sdlw extern char *fmtbuf, *icptr, *icend, *fmtptr; 372506Sdlw extern int scale; 382506Sdlw extern int cursor; 392506Sdlw extern int radix; 4012019Sdlw extern struct ioiflg ioiflg_; 41