1 /* $Id: $ */
2 
3 /* Copyright (C) 1997 Sverre Hvammen Johansen,
4  * Department of Informatics, University of Oslo.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; version 2.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */
19 
20 /******************************************************************************
21                                      Outermost block and the file classes    */
22 
23 /* Outermost block */
24 typedef struct
25   {
26     __dh h;
27     __dhp c1,
28       c2;
29   }
30 __bs0FILE, __bs0;
31 extern __bs0FILE __blokk0FILE;
32 extern __bs0FILE *__bp0FILE;
33 extern short __rl0FILE[];
34 extern __pty __pl0FILE[];
35 extern __ptyp __p0FILE;
36 
37 /* Class file */
38 typedef struct
39   {
40     __dh h;
41     __txt filename;
42     void *file;
43     char open;
44     char shared,
45       append,
46       create,
47       readwrite,
48       re_wind,
49       purge;
50   }
51 __bs1FILE, __bs1;
52 extern __bs1FILE *__bp1FILE;
53 extern short __rl1FILE[];
54 extern __pty __pl1FILE[];
55 extern __ptyp __p1FILE;
56 
57 /* File class imagefile */
58 typedef struct
59   {
60     __bs1FILE s;
61     __txt IMAGE;
62   }
63 __bs2FILE, __bs2;
64 extern __bs2FILE *__bp2FILE;
65 extern short __rl2FILE[];
66 extern __pty __pl2FILE[];
67 extern __ptyp __p2FILE;
68 
69 /* Imagefile class outfile */
70 typedef struct
71   {
72     __bs2FILE s;
73   }
74 __bs3FILE, __bs3;
75 extern __pty __pl3FILE[];
76 extern __ptyp __p3FILE;
77 
78 /* Imagefile class infile */
79 typedef struct
80   {
81     __bs2FILE s;
82     char endfile;
83   }
84 __bs4FILE, __bs4;
85 extern __pty __pl4FILE[];
86 extern __ptyp __p4FILE;
87 extern __bs4FILE __sysin;
88 
89 /* Imagefile class directfile */
90 typedef struct
91   {
92     __bs2FILE s;
93     long loc,
94       maxloc,
95       minwriteloc,
96       imagelength;
97     char endfile,
98       locked,
99       lastop,
100       writeonly;
101   }
102 __bs5FILE, __bs5;
103 extern __pty __pl5FILE[];
104 extern __ptyp __p5FILE;
105 
106 /* Outfile class printfile */
107 typedef struct
108   {
109     __bs3FILE s;
110     long line,
111       lines_per_page,
112       spacing,
113       page;
114   }
115 __bs6FILE, __bs6;
116 extern __pty __pl6FILE[];
117 extern __ptyp __p6FILE;
118 extern __bs6FILE __sysout;
119 extern __bs6FILE __syserr;
120 
121 /* File class bytefile  */
122 typedef struct
123   {
124     __bs1FILE s;
125     char endfile,
126       bytesize;
127   }
128 __bs7FILE, __bs7;
129 extern __pty __pl7FILE[];
130 extern __ptyp __p7FILE;
131 
132 /* Bytefile class inbytefile */
133 typedef struct
134   {
135     __bs7FILE s;
136   }
137 __bs8FILE, __bs8;
138 extern __pty __pl8FILE[];
139 extern __ptyp __p8FILE;
140 
141 /* Bytefile class outbytefile */
142 typedef struct
143   {
144     __bs7FILE s;
145   }
146 __bs9FILE, __bs9;
147 extern __pty __pl9FILE[];
148 extern __ptyp __p9FILE;
149 
150 /* Bytefile class directbytefile */
151 typedef struct
152   {
153     __bs7FILE s;
154     long loc,
155       maxloc,
156       minwriteloc;
157     char locked,
158       lastop,
159       writeonly;
160   }
161 __bs10FILE, __bs10;
162 extern __pty __pl10FILE[];
163 extern __ptyp __p10FILE;
164 
165