/* * SCCS id %W% (Berkeley) %G% */ #include "param.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include int nulldev(); int nodev(); int nullioctl(); #include "bk.h" #if NBK > 0 int bkopen(), bkclose(), bkread(), bkioctl(), bkinput(); #else #define bkopen nodev #define bkclose nodev #define bkread nodev #define bkioctl nodev #define bkinput nodev #endif NBK #include "dh.h" #if NDH > 0 int dhopen(), dhclose(), dhread(), dhwrite(), dhioctl(), dhstop(); extern struct tty dh11[]; #else #define dhopen nodev #define dhclose nodev #define dhread nodev #define dhwrite nodev #define dhioctl nodev #define dhstop nodev #define dh11 ((struct tty *) NULL) #endif NDH #include "dn.h" #if NDN > 0 int dnopen(), dnclose(), dnwrite(); #else #define dnopen nodev #define dnclose nodev #define dnwrite nodev #endif NDN #include "dz.h" #if NDZ > 0 int dzopen(), dzclose(), dzread(), dzwrite(), dzioctl(); #ifdef DZ_PDMA int dzstop(); #else #define dzstop nulldev #endif extern struct tty dz11[]; #else #define dzopen nodev #define dzclose nodev #define dzread nodev #define dzwrite nodev #define dzioctl nodev #define dzstop nodev #define dz11 ((struct tty *) NULL) #endif NDZ #include "hk.h" #if NHK > 0 int hkstrategy(), hkread(), hkwrite(), hkroot(); extern struct buf hktab; #define hkopen nulldev #define hkclose nulldev #define _hktab &hktab #else #define hkopen nodev #define hkclose nodev #define hkstrategy nodev #define hkread nodev #define hkwrite nodev #define hkroot nulldev #define _hktab ((struct buf *) NULL) #endif NHK #include "hp.h" #if NHP > 0 int hpstrategy(), hpread(), hpwrite(), hproot(); extern struct buf hptab; #define hpopen nulldev #define hpclose nulldev #define _hptab &hptab #else #define hpopen nodev #define hpclose nodev #define hproot nulldev #define hpstrategy nodev #define hpread nodev #define hpwrite nodev #define _hptab ((struct buf *) NULL) #endif NHP #include "hs.h" #if NHS > 0 int hsstrategy(), hsread(), hswrite(), hsroot(); extern struct buf hstab; #define _hstab &hstab #define hsopen nulldev #define hsclose nulldev #else #define hsopen nodev #define hsclose nodev #define hsstrategy nodev #define hsread nodev #define hswrite nodev #define hsroot nulldev #define _hstab ((struct buf *) NULL) #endif NHS #include "ht.h" #if NHT > 0 int htopen(), htclose(), htread(), htwrite(), htstrategy(); #ifdef HT_IOCTL int htioctl(); #else #define htioctl nodev #endif extern struct buf httab; #define _httab &httab #else #define htopen nodev #define htclose nodev #define htread nodev #define htwrite nodev #define htioctl nodev #define htstrategy nodev #define _httab ((struct buf *) NULL) #endif NHT #include "lp.h" #if NLP > 0 int lpopen(), lpclose(), lpwrite(); #else #define lpopen nodev #define lpclose nodev #define lpwrite nodev #endif NLP #include "rk.h" #if NRK > 0 int rkstrategy(), rkread(), rkwrite(); extern struct buf rktab; #define rkopen nulldev #define rkclose nulldev #define _rktab &rktab #else #define rkopen nodev #define rkclose nodev #define rkstrategy nodev #define rkread nodev #define rkwrite nodev #define _rktab ((struct buf *) NULL) #endif NRK #include "rl.h" #if NRL > 0 int rlstrategy(), rlread(), rlwrite(); extern struct buf rltab; #define rlopen nulldev #define rlclose nulldev #define _rltab &rltab #else #define rlopen nodev #define rlclose nodev #define rlstrategy nodev #define rlread nodev #define rlwrite nodev #define _rltab ((struct buf *) NULL) #endif NRL #include "rm.h" #if NRM > 0 int rmstrategy(), rmread(), rmwrite(), rmroot(); extern struct buf rmtab; #define rmopen nulldev #define rmclose nulldev #define _rmtab &rmtab #else #define rmopen nodev #define rmclose nodev #define rmroot nulldev #define rmstrategy nodev #define rmread nodev #define rmwrite nodev #define _rmtab ((struct buf *) NULL) #endif NRM #include "rp.h" #if NRP > 0 int rpstrategy(), rpread(), rpwrite(); extern struct buf rptab; #define rpopen nulldev #define rpclose nulldev #define _rptab &rptab #else #define rpopen nodev #define rpclose nodev #define rpstrategy nodev #define rpread nodev #define rpwrite nodev #define _rptab ((struct buf *) NULL) #endif NRP #include "tm.h" #if NTM > 0 int tmopen(), tmclose(), tmread(), tmwrite(), tmstrategy(); #ifdef TM_IOCTL int tmioctl(); #else #define tmioctl nodev #endif extern struct buf tmtab; #define _tmtab &tmtab #else #define tmopen nodev #define tmclose nodev #define tmread nodev #define tmwrite nodev #define tmioctl nodev #define tmstrategy nodev #define _tmtab ((struct buf *) NULL) #endif NTM #include "ts.h" #if NTS > 0 int tsopen(), tsclose(), tsread(), tswrite(), tsstrategy(); #ifdef TS_IOCTL int tsioctl(); #else #define tsioctl nodev #endif extern struct buf tstab; #define _tstab &tstab #else #define tsopen nodev #define tsclose nodev #define tsread nodev #define tswrite nodev #define tsioctl nodev #define tsstrategy nodev #define _tstab ((struct buf *) NULL) #endif NTS #include "vp.h" #if NVP > 0 int vpopen(), vpclose(), vpwrite(), vpioctl(); #else #define vpopen nodev #define vpclose nodev #define vpwrite nodev #define vpioctl nodev #endif NVP #include "xp.h" #if NXP > 0 int xpstrategy(), xpread(), xpwrite(), xproot(); extern struct buf xptab; #define xpopen nulldev #define xpclose nulldev #define _xptab &xptab #else #define xpopen nodev #define xpclose nodev #define xproot nulldev #define xpstrategy nodev #define xpread nodev #define xpwrite nodev #define _xptab ((struct buf *) NULL) #endif NXP struct bdevsw bdevsw[] = { rkopen, rkclose, rkstrategy, nulldev, _rktab, /* rk = 0 */ rpopen, rpclose, rpstrategy, nulldev, _rptab, /* rp = 1 */ nodev, nodev, nodev, nulldev, 0, /* rf = 2 */ tmopen, tmclose, tmstrategy, nulldev, _tmtab, /* tm = 3 */ hkopen, hkclose, hkstrategy, hkroot, _hktab, /* hk = 4 */ hsopen, hsclose, hsstrategy, hsroot, _hstab, /* hs = 5 */ #if NXP > 0 xpopen, xpclose, xpstrategy, xproot, _xptab, /* xp = 6 */ #else #if NHP > 0 hpopen, hpclose, hpstrategy, hproot, _hptab, /* hp = 6 */ #else rmopen, rmclose, rmstrategy, rmroot, _rmtab, /* rm = 6 */ #endif #endif htopen, htclose, htstrategy, nulldev, _httab, /* ht = 7 */ rlopen, rlclose, rlstrategy, nulldev, _rltab, /* rl = 8 */ tsopen, tsclose, tsstrategy, nulldev, _tstab, /* ts = 9 */ }; int nblkdev = sizeof(bdevsw) / sizeof(bdevsw[0]); int klopen(), klclose(), klread(), klwrite(), klioctl(); extern struct tty kl11[]; int mmread(), mmwrite(); int syopen(), syread(), sywrite(), sysioctl(); struct cdevsw cdevsw[] = { klopen, klclose, klread, klwrite, klioctl, nulldev, kl11, /* kl = 0 */ nodev, nodev, nodev, nodev, nodev, nodev, 0, /* pc = 1 */ vpopen, vpclose, nodev, vpwrite, vpioctl, nulldev, 0, /* vp = 2 */ lpopen, lpclose, nodev, lpwrite, nodev, nulldev, 0, /* lp = 3 */ dhopen, dhclose, dhread, dhwrite, dhioctl, dhstop, dh11, /* dh = 4 */ nodev, nodev, nodev, nodev, nodev, nodev, 0, /* dp = 5 */ nodev, nodev, nodev, nodev, nodev, nodev, 0, /* dj = 6 */ dnopen, dnclose, nodev, dnwrite, nodev, nulldev, 0, /* dn = 7 */ nulldev, nulldev, mmread, mmwrite, nodev, nulldev, 0, /* mem = 8 */ rkopen, rkclose, rkread, rkwrite, nodev, nulldev, 0, /* rk = 9 */ nodev, nodev, nodev, nodev, nodev, nodev, 0, /* rf = 10 */ rpopen, rpclose, rpread, rpwrite, nodev, nulldev, 0, /* rp = 11 */ tmopen, tmclose, tmread, tmwrite, tmioctl, nulldev, 0, /* tm = 12 */ hsopen, hsclose, hsread, hswrite, nodev, nulldev, 0, /* hs = 13 */ #if NXP > 0 xpopen, xpclose, xpread, xpwrite, nodev, nulldev, 0, /* xp = 14 */ #else #if NHP > 0 hpopen, hpclose, hpread, hpwrite, nodev, nulldev, 0, /* hp = 14 */ #else rmopen, rmclose, rmread, rmwrite, nodev, nulldev, 0, /* rm = 14 */ #endif #endif htopen, htclose, htread, htwrite, htioctl, nulldev, 0, /* ht = 15 */ nodev, nodev, nodev, nodev, nodev, nodev, 0, /* du = 16 */ syopen, nulldev, syread, sywrite, sysioctl, nulldev, 0, /* tty = 17 */ rlopen, rlclose, rlread, rlwrite, nodev, nulldev, 0, /* rl = 18 */ hkopen, hkclose, hkread, hkwrite, nodev, nulldev, 0, /* hk = 19 */ tsopen, tsclose, tsread, tswrite, tsioctl, nulldev, 0, /* ts = 20 */ dzopen, dzclose, dzread, dzwrite, dzioctl, dzstop, dz11, /* dz = 21 */ }; int nchrdev = sizeof(cdevsw) / sizeof(cdevsw[0]); #ifdef OLDTTY int ttread(), ttyinput(), ttyoutput(); caddr_t ttwrite(); #define ttopen nulldev #define ttclose nulldev #define ttioctl nullioctl #define ttmodem nulldev #else #define ttopen nodev #define ttclose nodev #define ttread nodev #define ttwrite nodev #define ttioctl nodev #define ttyinput nodev #define ttyoutput nodev #define ttmodem nodev #endif #ifdef UCB_NTTY int ntyopen(), ntyclose(), ntread(), ntyinput(), ntyoutput(); caddr_t ntwrite(); #define ntyioctl nullioctl #define ntymodem nulldev #else #define ntyopen nodev #define ntyclose nodev #define ntread nodev #define ntwrite nodev #define ntyioctl nodev #define ntyinput nodev #define ntyoutput nodev #define ntymodem nodev #endif struct linesw linesw[] = { ttopen, ttclose, ttread, ttwrite, ttioctl, ttyinput, ttyoutput, ttmodem, /*0*/ ntyopen, ntyclose, ntread, ntwrite, ntyioctl, ntyinput, ntyoutput, ntymodem, /*1*/ #if NBK > 0 bkopen, bkclose, bkread, ttwrite, bkioctl, bkinput, nodev, nulldev /*2*/ #endif }; #ifndef MPX_FILS int nldisp = sizeof(linesw) / sizeof(linesw[0]); #else int nldisp = sizeof(linesw) / sizeof(linesw[0]) - 1; int mpxchan(); int (*ldmpx)() = mpxchan; #endif