43bb19b8469aaae78909150e012ec05938820c82
/* conf.c 4.35 81/06/10 */
int hpstrategy(),hpread(),hpwrite(),hpintr(),hpdump();
int htopen(),htclose(),htstrategy(),htread(),htwrite(),htdump(),htioctl();
int rkstrategy(),rkread(),rkwrite(),rkintr(),rkdump(),rkreset();
int tmopen(),tmclose(),tmstrategy(),tmread(),tmwrite();
int tmioctl(),tmdump(),tmreset();
int tsopen(),tsclose(),tsstrategy(),tsread(),tswrite();
int tsioctl(),tsdump(),tsreset();
int upstrategy(),upread(),upwrite(),upreset(),updump();
int swstrategy(),swread(),swwrite();
nulldev
, nulldev
, hpstrategy
, hpdump
, 0, /*0*/
htopen
, htclose
, htstrategy
, htdump
, B_TAPE
, /*1*/
nulldev
, nulldev
, upstrategy
, updump
, 0, /*2*/
nulldev
, nulldev
, rkstrategy
, rkdump
, 0, /*3*/
nodev
, nodev
, swstrategy
, nodev
, 0, /*4*/
tmopen
, tmclose
, tmstrategy
, tmdump
, B_TAPE
, /*5*/
tsopen
, tsclose
, tsstrategy
, tsdump
, B_TAPE
, /*6*/
int cnopen(),cnclose(),cnread(),cnwrite(),cnioctl();
int ctopen(),ctclose(),ctwrite();
int dhopen(),dhclose(),dhread(),dhwrite(),dhioctl(),dhstop(),dhreset();
int flopen(),flclose(),flread(),flwrite();
int dzopen(),dzclose(),dzread(),dzwrite(),dzioctl(),dzstop(),dzreset();
int lpopen(),lpclose(),lpwrite(),lpreset();
int syopen(),syread(),sywrite(),syioctl();
int vaopen(),vaclose(),vawrite(),vaioctl(),vareset();
int vpopen(),vpclose(),vpwrite(),vpioctl(),vpreset();
int mxopen(),mxclose(),mxread(),mxwrite(),mxioctl();
int ptsopen(), ptsclose(), ptsread(), ptswrite();
int ptcopen(), ptcclose(), ptcread(), ptcwrite();
int chopen(),chclose(),chread(),chwrite(),chioctl(),chreset();
#if NEN > 0 && !defined(CHAOS)
int enopen(),enclose(),enread(),enwrite(),enreset();
int caopen(), caclose(), cawrite(), caioctl(), careset();
cnopen
, cnclose
, cnread
, cnwrite
, /*0*/
cnioctl
, nulldev
, nulldev
, &cons
,
dzopen
, dzclose
, dzread
, dzwrite
, /*1*/
dzioctl
, dzstop
, dzreset
, dz_tty
,
syopen
, nulldev
, syread
, sywrite
, /*2*/
syioctl
, nulldev
, nulldev
, 0,
nulldev
, nulldev
, mmread
, mmwrite
, /*3*/
nodev
, nulldev
, nulldev
, 0,
nulldev
, nulldev
, hpread
, hpwrite
, /*4*/
nodev
, nodev
, nulldev
, 0,
htopen
, htclose
, htread
, htwrite
, /*5*/
htioctl
, nodev
, nulldev
, 0,
vpopen
, vpclose
, nodev
, vpwrite
, /*6*/
vpioctl
, nulldev
, vpreset
, 0,
nulldev
, nulldev
, swread
, swwrite
, /*7*/
nodev
, nodev
, nulldev
, 0,
flopen
, flclose
, flread
, flwrite
, /*8*/
nodev
, nodev
, nulldev
, 0,
nodev
, nodev
, nodev
, nodev
, /*8*/
mxopen
, mxclose
, mxread
, mxwrite
, /*9*/
mxioctl
, nulldev
, nulldev
, 0,
vaopen
, vaclose
, nodev
, vawrite
, /*10*/
vaioctl
, nulldev
, vareset
, 0,
nulldev
, nulldev
, rkread
, rkwrite
, /*11*/
nodev
, nodev
, rkreset
, 0,
dhopen
, dhclose
, dhread
, dhwrite
, /*12*/
dhioctl
, dhstop
, dhreset
, dh11
,
nulldev
, nulldev
, upread
, upwrite
, /*13*/
nodev
, nodev
, upreset
, 0,
tmopen
, tmclose
, tmread
, tmwrite
, /*14*/
tmioctl
, nodev
, tmreset
, 0,
lpopen
, lpclose
, nodev
, lpwrite
, /*15*/
nodev
, nodev
, lpreset
, 0,
tsopen
, tsclose
, tsread
, tswrite
, /*16*/
tsioctl
, nodev
, tsreset
, 0,
nodev
, nodev
, nodev
, nodev
, /*17*/
nodev
, nodev
, nulldev
, 0,
ctopen
, ctclose
, nodev
, ctwrite
, /*18*/
nodev
, nodev
, nulldev
, 0,
chopen
, chclose
, chread
, chwrite
, /*19*/
chioctl
, nodev
, chreset
, 0,
ptsopen
, ptsclose
, ptsread
, ptswrite
, /*20*/
ptyioctl
, nodev
, nodev
, 0,
ptcopen
, ptcclose
, ptcread
, ptcwrite
, /*21*/
ptyioctl
, nodev
, nodev
, 0,
nodev
, nodev
, nodev
, nodev
, /*22*/
nodev
, nodev
, accreset
, 0,
enopen
, enclose
, enread
, enwrite
, /*23*/
nodev
, nodev
, enreset
, 0,
caopen
, caclose
, nodev
, cawrite
, /*24*/
nodev
, nodev
, careset
, 0,
nodev
, nodev
, nodev
, nodev
, /*25*/
/* 25-29 reserved to local sites */
int ttyopen(),ttread(),nullioctl(),ttstart();
int ttyinput(),ttyrend();
int bkopen(),bkclose(),bkread(),bkinput(),bkioctl();
int ntyopen(),ntyclose(),ntread();
int ntyinput(),ntyrend();
int ch_lopen(), ch_lclose(), ch_linput(), ch_lstart();
ttyopen
, nulldev
, ttread
, ttwrite
, nullioctl
,
ttyinput
, ttyrend
, nulldev
, nulldev
, nulldev
, /* 0 */
bkopen
, bkclose
, bkread
, ttwrite
, bkioctl
,
bkinput
, nodev
, nulldev
, ttstart
, nulldev
, /* 1 */
nodev
, nodev
, nodev
, (char *(*)())nodev
, nodev
,
nodev
, nodev
, nodev
, nodev
, nodev
,
ntyopen
, ntyclose
, ntread
, ntwrite
, nullioctl
,
ntyinput
, ntyrend
, nulldev
, ttstart
, nulldev
, /* 2 */
ch_lopen
, ch_lclose
, nulldev
, (char *(*)())nulldev
, nullioctl
,
ch_linput
, nulldev
, nulldev
, ch_lstart
, nulldev
, /* 3 */
nodev
, nodev
, nodev
, (char *(*)())nodev
, nodev
,
nodev
, nodev
, nodev
, nodev
, nodev
,
mxopen
, mxclose
, mcread
, mcwrite
, mxioctl
,
nulldev
, nulldev
, nulldev
, nulldev
, nulldev
, /* 4 */
struct buf bfreelist
[BQUEUES
]; /* buffer chain headers */
struct buf bswlist
; /* free list of swap headers */
struct buf
*bclnlist
; /* header for list of cleaned pages */
int mem_no
= 3; /* major device number of memory special file */
* Swapdev is a fake device implemented
* in sw.c used only internally to get to swstrategy.
* It cannot be provided to the users, because the
* swstrategy routine munches the b_dev and b_blkno entries
* before calling the appropriate driver. This would horribly
* confuse, e.g. the hashing routines. Instead, /dev/drum is
* provided as a character (raw) device.
dev_t swapdev
= makedev(4, 0);