1: #include <stdio.h>
2: typedef long ftnint;
3: typedef ftnint flag;
4: typedef long ftnlen;
5: /*external read, write*/
6: typedef struct
7: { flag cierr;
8: ftnint ciunit;
9: flag ciend;
10: char *cifmt;
11: ftnint cirec;
12: } cilist;
13: /*internal read, write*/
14: typedef struct
15: { flag icierr;
16: char *iciunit;
17: flag iciend;
18: char *icifmt;
19: ftnint icirlen;
20: ftnint icirnum;
21: } icilist;
22: /*open*/
23: typedef struct
24: { flag oerr;
25: ftnint ounit;
26: char *ofnm;
27: ftnlen ofnmlen;
28: char *osta;
29: char *oacc;
30: char *ofm;
31: ftnint orl;
32: char *oblnk;
33: } olist;
34: /*close*/
35: typedef struct
36: { flag cerr;
37: ftnint cunit;
38: char *csta;
39: } cllist;
40: /*rewind, backspace, endfile*/
41: typedef struct
42: { flag aerr;
43: ftnint aunit;
44: } alist;
45: /*units*/
46: typedef struct
47: { FILE *ufd; /*0=unconnected*/
48: char *ufnm;
49: long uinode;
50: int url; /*0=sequential*/
51: flag useek; /*true=can backspace, use dir, ...*/
52: flag ufmt;
53: flag uprnt;
54: flag ublnk;
55: flag uend;
56: flag uwrt; /*last io was write*/
57: flag uscrtch;
58: } unit;
59: typedef struct
60: { flag inerr;
61: ftnint inunit;
62: char *infile;
63: ftnlen infilen;
64: ftnint *inex; /*parameters in standard's order*/
65: ftnint *inopen;
66: ftnint *innum;
67: ftnint *innamed;
68: char *inname;
69: ftnlen innamlen;
70: char *inacc;
71: ftnlen inacclen;
72: char *inseq;
73: ftnlen inseqlen;
74: char *indir;
75: ftnlen indirlen;
76: char *infmt;
77: ftnlen infmtlen;
78: char *inform;
79: ftnint informlen;
80: char *inunf;
81: ftnlen inunflen;
82: ftnint *inrecl;
83: ftnint *innrec;
84: char *inblank;
85: ftnlen inblanklen;
86: } inlist;
87:
88: extern int errno;
89: extern flag init;
90: extern cilist *elist; /*active external io list*/
91: extern flag reading,external,sequential,formatted;
92: extern int (*getn)(),(*putn)(); /*for formatted io*/
93: extern FILE *cf; /*current file*/
94: extern unit *curunit; /*current unit*/
95: extern unit units[];
96: #define err(f,n,s) {if(f) errno= n; else fatal(n,s); return(n);}
97:
98: /*Table sizes*/
99: #define MXUNIT 10
100:
101: extern int recpos; /*position in current record*/
Defined typedef's
flag
defined in line
3; used 17 times
ftnint
defined in line
2; used 17 times
ftnlen
defined in line
4; used 9 times
Defined macros
err
defined in line
96;
never used