lint
[unix-history] / usr / src / sys / vax / vax / conf.c
CommitLineData
a0eab615 1/* conf.c 4.25 %G% */
72931ae2
BJ
2
3#include "../h/param.h"
4#include "../h/systm.h"
5#include "../h/buf.h"
6#include "../h/tty.h"
7#include "../h/conf.h"
8#include "../h/text.h"
9#include "../h/dir.h"
10#include "../h/user.h"
11#include "../h/proc.h"
12#include "../h/file.h"
13#include "../h/inode.h"
14#include "../h/acct.h"
50d6c155 15#include "../h/pte.h"
72931ae2
BJ
16
17int nulldev();
18int nodev();
19
f139469d 20#include "hp.h"
b06d1b78 21#if NHP > 0
be0c5f67 22int hpstrategy(),hpread(),hpwrite(),hpintr(),hpdump();
b06d1b78
BJ
23#else
24#define hpstrategy nodev
25#define hpread nodev
26#define hpwrite nodev
27#define hpintr nodev
be0c5f67 28#define hpdump nodev
b06d1b78 29#endif
72931ae2 30
b721b0ed 31#include "tu.h"
b06d1b78 32#if NHT > 0
a0eab615 33int htopen(),htclose(),htstrategy(),htread(),htwrite(),htdump(),htioctl();
b06d1b78
BJ
34#else
35#define htopen nodev
36#define htclose nodev
37#define htstrategy nodev
38#define htread nodev
39#define htwrite nodev
a0eab615
BJ
40#define htdump nodev
41#define htioctl nodev
b06d1b78
BJ
42#endif
43
f139469d 44#include "rk.h"
d8b52bbe 45#if NHK > 0
d828b073 46int rkstrategy(),rkread(),rkwrite(),rkintr(),rkdump(),rkreset();
c538db7b
BJ
47#else
48#define rkstrategy nodev
49#define rkread nodev
50#define rkwrite nodev
51#define rkintr nodev
be0c5f67 52#define rkdump nodev
d828b073 53#define rkreset nodev
c538db7b
BJ
54#endif
55
443c8066 56#include "te.h"
d8b52bbe 57#if NTM > 0
a0eab615
BJ
58int tmopen(),tmclose(),tmstrategy(),tmread(),tmwrite();
59int tmioctl(),tmdump(),tmreset();
9286b949
BJ
60#else
61#define tmopen nodev
62#define tmclose nodev
63#define tmstrategy nodev
64#define tmread nodev
65#define tmwrite nodev
ffdeecee 66#define tmioctl nodev
be0c5f67 67#define tmdump nodev
a0eab615 68#define tmreset nodev
9286b949
BJ
69#endif
70
c538db7b
BJ
71#define tsopen nodev
72#define tsclose nodev
73#define tsstrategy nodev
74#define tsread nodev
75#define tswrite nodev
be0c5f67 76#define tsdump nodev
9286b949 77
f139469d 78#include "up.h"
d8b52bbe 79#if NSC > 0
be0c5f67 80int upstrategy(),upread(),upwrite(),upreset(),updump();
b06d1b78
BJ
81#else
82#define upstrategy nodev
83#define upread nodev
84#define upwrite nodev
85#define upreset nulldev
be0c5f67 86#define updump nodev
b06d1b78 87#endif
72931ae2 88
b1f139da
BJ
89int swstrategy(),swread(),swwrite();
90
72931ae2
BJ
91struct bdevsw bdevsw[] =
92{
649b7d6e
RE
93 nulldev, nulldev, hpstrategy, hpdump, 0, /*0*/
94 htopen, htclose, htstrategy, htdump, B_TAPE, /*1*/
95 nulldev, nulldev, upstrategy, updump, 0, /*2*/
96 nulldev, nulldev, rkstrategy, rkdump, 0, /*3*/
be0c5f67 97 nodev, nodev, swstrategy, nodev, 0, /*4*/
649b7d6e
RE
98 tmopen, tmclose, tmstrategy, tmdump, B_TAPE, /*5*/
99 tsopen, tsclose, tsstrategy, tsdump, B_TAPE, /*6*/
72931ae2
BJ
100 0,
101};
102
3cbabb27 103int cnopen(),cnclose(),cnread(),cnwrite(),cnioctl();
c538db7b 104struct tty cons;
72931ae2 105
f139469d 106#include "ct.h"
cc0e2de8
BJ
107#if NCT > 0
108int ctopen(),ctclose(),ctwrite();
109#else
110#define ctopen nulldev
111#define ctclose nulldev
112#define ctwrite nulldev
113#endif
114
f139469d 115#include "dh.h"
d8b52bbe 116#if NDH == 0
b06d1b78
BJ
117#define dhopen nodev
118#define dhclose nodev
119#define dhread nodev
120#define dhwrite nodev
121#define dhioctl nodev
122#define dhstop nodev
123#define dhreset nulldev
124#define dh11 0
125#else
3cbabb27 126int dhopen(),dhclose(),dhread(),dhwrite(),dhioctl(),dhstop(),dhreset();
72931ae2 127struct tty dh11[];
b06d1b78 128#endif
72931ae2 129
c9e9b65b 130#if VAX780
3cbabb27 131int flopen(),flclose(),flread(),flwrite();
c538db7b
BJ
132#endif
133
f139469d 134#include "dz.h"
d8b52bbe 135#if NDZ == 0
b06d1b78
BJ
136#define dzopen nodev
137#define dzclose nodev
138#define dzread nodev
139#define dzwrite nodev
140#define dzioctl nodev
141#define dzstop nodev
142#define dzreset nulldev
143#define dz_tty 0
144#else
3cbabb27 145int dzopen(),dzclose(),dzread(),dzwrite(),dzioctl(),dzstop(),dzreset();
72931ae2 146struct tty dz_tty[];
b06d1b78 147#endif
72931ae2 148
be0c5f67
BJ
149#include "lp.h"
150#if NLP > 0
151int lpopen(),lpclose(),lpwrite(),lpioctl(),lpreset();
152#else
153#define lpopen nodev
154#define lpclose nodev
155#define lpwrite nodev
156#define lpioctl nodev
157#define lpreset nulldev
158#endif
159
3cbabb27 160int syopen(),syread(),sywrite(),syioctl();
72931ae2 161
3cbabb27 162int mmread(),mmwrite();
72931ae2 163
f139469d 164#include "va.h"
b06d1b78 165#if NVA > 0
b1f139da 166int vaopen(),vaclose(),vawrite(),vaioctl(),vareset();
b06d1b78
BJ
167#else
168#define vaopen nodev
169#define vaclose nodev
170#define vawrite nodev
171#define vaopen nodev
172#define vaioctl nodev
173#define vareset nulldev
174#endif
175
f139469d 176#include "vp.h"
b06d1b78
BJ
177#if NVP > 0
178int vpopen(),vpclose(),vpwrite(),vpioctl(),vpreset();
179#else
180#define vpopen nodev
181#define vpclose nodev
182#define vpwrite nodev
183#define vpioctl nodev
184#define vpreset nulldev
185#endif
72931ae2 186
b1f139da 187int mxopen(),mxclose(),mxread(),mxwrite(),mxioctl();
72931ae2
BJ
188int mcread();
189char *mcwrite();
190
ffdeecee 191#include "pty.h"
867dd035
MT
192#if WANTPTY > 0
193int ptsopen(), ptsclose(), ptsread(), ptswrite();
194int ptcopen(), ptcclose(), ptcread(), ptcwrite();
195int ptyioctl();
196#else
197#define ptsopen nodev
198#define ptsclose nodev
199#define ptsread nodev
200#define ptswrite nodev
201#define ptcopen nodev
202#define ptcclose nodev
203#define ptcread nodev
204#define ptcwrite nodev
205#define ptyioctl nodev
206#endif
207
72931ae2
BJ
208struct cdevsw cdevsw[] =
209{
a29fa4b2 210 cnopen, cnclose, cnread, cnwrite, /*0*/
c538db7b 211 cnioctl, nulldev, nulldev, &cons,
a29fa4b2 212 dzopen, dzclose, dzread, dzwrite, /*1*/
3cbabb27 213 dzioctl, dzstop, dzreset, dz_tty,
a29fa4b2 214 syopen, nulldev, syread, sywrite, /*2*/
3cbabb27 215 syioctl, nulldev, nulldev, 0,
a29fa4b2 216 nulldev, nulldev, mmread, mmwrite, /*3*/
3cbabb27 217 nodev, nulldev, nulldev, 0,
a29fa4b2 218 nulldev, nulldev, hpread, hpwrite, /*4*/
3cbabb27 219 nodev, nodev, nulldev, 0,
a29fa4b2 220 htopen, htclose, htread, htwrite, /*5*/
a0eab615 221 htioctl, nodev, nulldev, 0,
a29fa4b2 222 vpopen, vpclose, nodev, vpwrite, /*6*/
3cbabb27 223 vpioctl, nulldev, vpreset, 0,
a29fa4b2 224 nulldev, nulldev, swread, swwrite, /*7*/
3cbabb27 225 nodev, nodev, nulldev, 0,
c9e9b65b 226#if VAX780
a29fa4b2 227 flopen, flclose, flread, flwrite, /*8*/
3cbabb27 228 nodev, nodev, nulldev, 0,
c538db7b
BJ
229#else
230 nodev, nodev, nodev, nodev, /*8*/
231 nodev, nodev, nodev, 0,
232#endif
a29fa4b2 233 mxopen, mxclose, mxread, mxwrite, /*9*/
3cbabb27 234 mxioctl, nulldev, nulldev, 0,
a29fa4b2 235 vaopen, vaclose, nodev, vawrite, /*10*/
3cbabb27 236 vaioctl, nulldev, vareset, 0,
c538db7b 237 nulldev, nulldev, rkread, rkwrite, /*11*/
d828b073 238 nodev, nodev, rkreset, 0,
a29fa4b2 239 dhopen, dhclose, dhread, dhwrite, /*12*/
3cbabb27 240 dhioctl, dhstop, dhreset, dh11,
a29fa4b2 241 nulldev, nulldev, upread, upwrite, /*13*/
3cbabb27 242 nodev, nodev, upreset, 0,
9286b949 243 tmopen, tmclose, tmread, tmwrite, /*14*/
a0eab615 244 tmioctl, nodev, tmreset, 0,
9286b949
BJ
245 lpopen, lpclose, nodev, lpwrite, /*15*/
246 lpioctl, nodev, lpreset, 0,
c538db7b
BJ
247 tsopen, tsclose, tsread, tswrite, /*16*/
248 nodev, nodev, nulldev, 0,
5c756d94
BJ
249 nodev, nodev, nodev, nodev, /*17*/
250 nodev, nodev, nulldev, 0,
cc0e2de8 251 ctopen, ctclose, nodev, ctwrite, /*18*/
5c756d94
BJ
252 nodev, nodev, nulldev, 0,
253 nodev, nodev, nodev, nodev, /*19*/
254 nodev, nodev, nulldev, 0,
867dd035
MT
255 ptsopen, ptsclose, ptsread, ptswrite, /*20*/
256 ptyioctl, nodev, nodev, 0,
257 ptcopen, ptcclose, ptcread, ptcwrite, /*21*/
258 ptyioctl, nodev, nodev, 0,
259 nodev, nodev, nodev, nodev, /*22*/
c538db7b 260 nodev, nodev, nodev, 0,
5c756d94
BJ
261 nodev, nodev, nodev, nodev, /*23*/
262 nodev, nodev, nodev, 0,
263 nodev, nodev, nodev, nodev, /*24*/
264 nodev, nodev, nodev, 0,
867dd035 265/* 25-29 reserved to local sites */
3cbabb27 266 0,
72931ae2
BJ
267};
268
3cbabb27 269int ttyopen(),ttread(),nullioctl(),ttstart();
72931ae2 270char *ttwrite();
3cbabb27 271int ttyinput(),ttyrend();
c84ff1f9
BJ
272
273#include "bk.h"
274#if NBK > 0
3cbabb27 275int bkopen(),bkclose(),bkread(),bkinput(),bkioctl();
c84ff1f9
BJ
276#endif
277
3cbabb27
BJ
278int ntyopen(),ntyclose(),ntread();
279char *ntwrite();
280int ntyinput(),ntyrend();
72931ae2
BJ
281
282struct linesw linesw[] =
283{
ee3c430b 284 ttyopen, nulldev, ttread, ttwrite, nullioctl,
c538db7b 285 ttyinput, ttyrend, nulldev, nulldev, nulldev, /* 0 */
c84ff1f9 286#if NBK > 0
dfebaefd 287 bkopen, bkclose, bkread, ttwrite, bkioctl,
c538db7b 288 bkinput, nodev, nulldev, ttstart, nulldev, /* 1 */
c84ff1f9
BJ
289#else
290 nodev, nodev, nodev, nodev, nodev,
291 nodev, nodev, nodev, nodev, nodev,
292#endif
dfebaefd 293 ntyopen, ntyclose, ntread, ntwrite, nullioctl,
c538db7b 294 ntyinput, ntyrend, nulldev, ttstart, nulldev, /* 2 */
72931ae2 295 mxopen, mxclose, mcread, mcwrite, mxioctl,
5c756d94 296 nulldev, nulldev, nulldev, nulldev, nulldev, /* 3 */
72931ae2
BJ
297 0
298};
299
5c756d94 300int nldisp = 4;
72931ae2 301
ffdeecee 302struct buf bfreelist[BQUEUES]; /* buffer chain headers */
72931ae2
BJ
303struct buf bswlist; /* free list of swap headers */
304struct buf *bclnlist; /* header for list of cleaned pages */
305struct acct acctbuf;
306struct inode *acctp;
307
308int mem_no = 3; /* major device number of memory special file */
309
8a80d250
BJ
310/*
311 * Swapdev is a fake device implemented
312 * in sw.c used only internally to get to swstrategy.
313 * It cannot be provided to the users, because the
314 * swstrategy routine munches the b_dev and b_blkno entries
315 * before calling the appropriate driver. This would horribly
649b7d6e 316 * confuse, e.g. the hashing routines. Instead, /dev/drum is
8a80d250
BJ
317 * provided as a character (raw) device.
318 */
319dev_t swapdev = makedev(4, 0);
320
72931ae2 321extern struct user u;