1: #include "../h/param.h" 2: #include "../h/systm.h" 3: #include "../h/buf.h" 4: #include "../h/tty.h" 5: #include "../h/conf.h" 6: #include "../h/proc.h" 7: #include "../h/text.h" 8: #include "../h/dir.h" 9: #include "../h/user.h" 10: #include "../h/file.h" 11: #include "../h/inode.h" 12: #include "../h/acct.h" 13: 14: int nulldev(); 15: int nodev(); 16: int rkstrategy(); 17: struct buf rktab; 18: int htopen(), htclose(), htstrategy(); 19: struct buf httab; 20: struct bdevsw bdevsw[] = 21: { 22: nulldev, nulldev, rkstrategy, &rktab, /* rk = 0 */ 23: nodev, nodev, nodev, 0, /* rp = 1 */ 24: nodev, nodev, nodev, 0, /* rf = 2 */ 25: nodev, nodev, nodev, 0, /* tm = 3 */ 26: nodev, nodev, nodev, 0, /* tc = 4 */ 27: nodev, nodev, nodev, 0, /* hs = 5 */ 28: nodev, nodev, nodev, 0, /* hp = 6 */ 29: htopen, htclose, htstrategy, &httab, /* ht = 7 */ 30: nodev, nodev, nodev, 0, /* rl = 8 */ 31: 0 32: }; 33: 34: int klopen(), klclose(), klread(), klwrite(), klioctl(); 35: int mmread(), mmwrite(); 36: int rkread(), rkwrite(); 37: int htread(), htwrite(); 38: int syopen(), syread(), sywrite(), sysioctl(); 39: 40: struct cdevsw cdevsw[] = 41: { 42: klopen, klclose, klread, klwrite, klioctl, nulldev, 0, /* console = 0 */ 43: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* pc = 1 */ 44: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* lp = 2 */ 45: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dc = 3 */ 46: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dh = 4 */ 47: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dp = 5 */ 48: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dj = 6 */ 49: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dn = 7 */ 50: nulldev, nulldev, mmread, mmwrite, nodev, nulldev, 0, /* mem = 8 */ 51: nulldev, nulldev, rkread, rkwrite, nodev, nulldev, 0, /* rk = 9 */ 52: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* rf = 10 */ 53: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* rp = 11 */ 54: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* tm = 12 */ 55: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* hs = 13 */ 56: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* hp = 14 */ 57: htopen, htclose, htread, htwrite, nodev, nulldev, 0, /* ht = 15 */ 58: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* du = 16 */ 59: syopen, nulldev, syread, sywrite, sysioctl, nulldev, 0, /* tty = 17 */ 60: nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* rl = 18 */ 61: 0 62: }; 63: 64: int ttyopen(), ttyclose(), ttread(), ttwrite(), ttyinput(), ttstart(); 65: struct linesw linesw[] = 66: { 67: ttyopen, nulldev, ttread, ttwrite, nodev, ttyinput, ttstart, /* 0 */ 68: 0 69: }; 70: int rootdev = makedev(0, 0); 71: int swapdev = makedev(0, 0); 72: int pipedev = makedev(0, 0); 73: int nldisp = 1; 74: daddr_t swplo = 4000; 75: int nswap = 872; 76: 77: struct buf buf[NBUF]; 78: struct file file[NFILE]; 79: struct inode inode[NINODE]; 80: int mpxchan(); 81: int (*ldmpx)() = mpxchan; 82: struct proc proc[NPROC]; 83: struct text text[NTEXT]; 84: struct buf bfreelist; 85: struct acct acctbuf; 86: struct inode *acctp;