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