missing arg
[unix-history] / usr / src / usr.bin / f77 / libI77 / fiodefs.h
CommitLineData
e75247ce
DW
1/*
2char id_fiodefs[] = "@(#)fiodefs.h 1.1";
3 *
4 * fortran file i/o type definitions
5 */
6
7#include <stdio.h>
8#include "f_errno.h"
9
10/* Logical Unit Table Size */
11#define MXUNIT _NFILE
12
13#define GLITCH '\2' /* special quote for Stu, generated in f77pass1 */
14
15#define LISTDIRECTED -1
16#define FORMATTED 1
17
18#define ERROR 1
19#define OK 0
20#define YES 1
21#define NO 0
22
23#define STDERR 0
24#define STDIN 5
25#define STDOUT 6
26
27#define WRITE 1
28#define READ 2
29#define SEQ 3
30#define DIR 4
31#define FMT 5
32#define UNF 6
33#define EXT 7
34#define INT 8
35
36typedef char ioflag;
37typedef long ftnint;
38typedef ftnint flag;
39typedef long ftnlen;
40
41typedef struct /*external read, write*/
42{ flag cierr;
43 ftnint ciunit;
44 flag ciend;
45 char *cifmt;
46 ftnint cirec;
47} cilist;
48
49typedef struct /*internal read, write*/
50{ flag icierr;
51 char *iciunit;
52 flag iciend;
53 char *icifmt;
54 ftnint icirlen;
55 ftnint icirnum;
56 ftnint icirec;
57} icilist;
58
59typedef struct /*open*/
60{ flag oerr;
61 ftnint ounit;
62 char *ofnm;
63 ftnlen ofnmlen;
64 char *osta;
65 char *oacc;
66 char *ofm;
67 ftnint orl;
68 char *oblnk;
69} olist;
70
71typedef struct /*close*/
72{ flag cerr;
73 ftnint cunit;
74 char *csta;
75} cllist;
76
77typedef struct /*rewind, backspace, endfile*/
78{ flag aerr;
79 ftnint aunit;
80} alist;
81
82typedef struct /*units*/
83{ FILE *ufd; /*0=unconnected*/
84 char *ufnm;
85 long uinode;
86 int url; /*0=sequential*/
87 flag useek; /*true=can backspace, use dir, ...*/
88 flag ufmt;
89 flag uprnt;
90 flag ublnk;
91 flag uend;
92 flag uwrt; /*last io was write*/
93 flag uscrtch;
94} unit;
95
96typedef struct /* inquire */
97{ flag inerr;
98 ftnint inunit;
99 char *infile;
100 ftnlen infilen;
101 ftnint *inex; /*parameters in standard's order*/
102 ftnint *inopen;
103 ftnint *innum;
104 ftnint *innamed;
105 char *inname;
106 ftnlen innamlen;
107 char *inacc;
108 ftnlen inacclen;
109 char *inseq;
110 ftnlen inseqlen;
111 char *indir;
112 ftnlen indirlen;
113 char *inform;
114 ftnlen informlen;
115 char *infmt;
116 ftnint infmtlen;
117 char *inunf;
118 ftnlen inunflen;
119 ftnint *inrecl;
120 ftnint *innrec;
121 char *inblank;
122 ftnlen inblanklen;
123} inlist;
124
125typedef union
126{ float pf;
127 double pd;
128} ufloat;
129
130typedef union
131{ short is;
132 char ic;
133 long il;
134} uint;
135