05550 #include "../h/param.h" 05551 #include "../h/systm.h" 05552 #include "../h/buf.h" 05553 #include "../h/tty.h" 05554 #include "../h/conf.h" 05555 #include "../h/proc.h" 05556 #include "../h/text.h" 05557 #include "../h/dir.h" 05558 #include "../h/user.h" 05559 #include "../h/file.h" 05560 #include "../h/inode.h" 05561 #include "../h/acct.h" 05562 05563 int nulldev(); 05564 int nodev(); 05565 int rkstrategy(); 05566 struct buf rktab; 05567 int htopen(), htclose(), htstrategy(); 05568 struct buf httab; 05569 struct bdevsw bdevsw[] = 05570 { 05571 nulldev, nulldev, rkstrategy, &rktab, /* rk = 0 */ 05572 nodev, nodev, nodev, 0, /* rp = 1 */ 05573 nodev, nodev, nodev, 0, /* rf = 2 */ 05574 nodev, nodev, nodev, 0, /* tm = 3 */ 05575 nodev, nodev, nodev, 0, /* tc = 4 */ 05576 nodev, nodev, nodev, 0, /* hs = 5 */ 05577 nodev, nodev, nodev, 0, /* hp = 6 */ 05578 htopen, htclose, htstrategy, &httab, /* ht = 7 */ 05579 nodev, nodev, nodev, 0, /* rl = 8 */ 05580 0 05581 }; 05582 05583 int klopen(), klclose(), klread(), klwrite(), klioctl(); 05584 int mmread(), mmwrite(); 05585 int rkread(), rkwrite(); 05586 int htread(), htwrite(); 05587 int syopen(), syread(), sywrite(), sysioctl(); 05588 05589 struct cdevsw cdevsw[] = 05590 { 05591 klopen, klclose, klread, klwrite, klioctl, nulldev, 0, /* console = 0 */ 05592 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* pc = 1 */ 05593 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* lp = 2 */ 05594 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dc = 3 */ 05595 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dh = 4 */ 05596 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dp = 5 */ 05597 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dj = 6 */ 05598 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dn = 7 */ 05599 nulldev, nulldev, mmread, mmwrite, nodev, nulldev, 0, /* mem = 8 */ 05600 nulldev, nulldev, rkread, rkwrite, nodev, nulldev, 0, /* rk = 9 */ 05601 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* rf = 10 */ 05602 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* rp = 11 */ 05603 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* tm = 12 */ 05604 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* hs = 13 */ 05605 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* hp = 14 */ 05606 htopen, htclose, htread, htwrite, nodev, nulldev, 0, /* ht = 15 */ 05607 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* du = 16 */ 05608 syopen, nulldev, syread, sywrite, sysioctl, nulldev, 0, /* tty = 17 */ 05609 nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* rl = 18 */ 05610 0 05611 }; 05612 05613 int ttyopen(), ttyclose(), ttread(), ttwrite(), ttyinput(), ttstart(); 05614 struct linesw linesw[] = 05615 { 05616 ttyopen, nulldev, ttread, ttwrite, nodev, ttyinput, ttstart, /* 0 */ 05617 0 05618 }; 05619 int rootdev = makedev(0, 0); 05620 int swapdev = makedev(0, 0); 05621 int pipedev = makedev(0, 0); 05622 int nldisp = 1; 05623 daddr_t swplo = 4000; 05624 int nswap = 872; 05625 05626 struct buf buf[NBUF]; 05627 struct file file[NFILE]; 05628 struct inode inode[NINODE]; 05629 int mpxchan(); 05630 int (*ldmpx)() = mpxchan; 05631 struct proc proc[NPROC]; 05632 struct text text[NTEXT]; 05633 struct buf bfreelist; 05634 struct acct acctbuf; 05635 struct inode *acctp; 05636 05637 05638 05639 05640 05641 05642 05643 05644 05645 05646 05647 05648 05649