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