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