Bell 32V development
[unix-history] / usr / src / cmd / f77 / fio.h
CommitLineData
0d57d6f5
TL
1#include <stdio.h>
2typedef long ftnint;
3typedef ftnint flag;
4typedef long ftnlen;
5/*external read, write*/
6typedef struct
7{ flag cierr;
8 ftnint ciunit;
9 flag ciend;
10 char *cifmt;
11 ftnint cirec;
12} cilist;
13/*internal read, write*/
14typedef struct
15{ flag icierr;
16 char *iciunit;
17 flag iciend;
18 char *icifmt;
19 ftnint icirlen;
20 ftnint icirnum;
21} icilist;
22/*open*/
23typedef 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*/
35typedef struct
36{ flag cerr;
37 ftnint cunit;
38 char *csta;
39} cllist;
40/*rewind, backspace, endfile*/
41typedef struct
42{ flag aerr;
43 ftnint aunit;
44} alist;
45/*units*/
46typedef 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;
59typedef 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
88extern int errno;
89extern flag init;
90extern cilist *elist; /*active external io list*/
91extern flag reading,external,sequential,formatted;
92extern int (*getn)(),(*putn)(); /*for formatted io*/
93extern FILE *cf; /*current file*/
94extern unit *curunit; /*current unit*/
95extern 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
101extern int recpos; /*position in current record*/