xref: /csrg-svn/sys/tahoe/tahoe/conf.c (revision 25678)
1*25678Ssam /*	conf.c	1.2	86/01/05	*/
224042Ssam 
3*25678Ssam #include "param.h"
4*25678Ssam #include "systm.h"
5*25678Ssam #include "buf.h"
6*25678Ssam #include "ioctl.h"
7*25678Ssam #include "tty.h"
8*25678Ssam #include "conf.h"
924042Ssam 
1024042Ssam int	nulldev();
1124042Ssam int	nodev();
1224042Ssam 
1324042Ssam /*   #include "ud.h" */
1424042Ssam #if NUD > 0
1524042Ssam int	udopen(),udstrategy(),udread(),udwrite(),uddump(),udioctl(),udsize();
1624042Ssam #else
1724042Ssam #define	udopen		nodev
1824042Ssam #define	udstrategy	nodev
1924042Ssam #define	udread		nodev
2024042Ssam #define	udwrite		nodev
2124042Ssam #define	uddump		nodev
2224042Ssam #define	udioctl		nodev
2324042Ssam #define	udsize		0
2424042Ssam #endif
2524042Ssam 
2624042Ssam #include "fsd.h"
2724042Ssam #if NVD > 0
2824042Ssam int	vdopen(),vdstrategy(),vdread(),vdwrite(),vddump(),vdsize();
2924042Ssam #else
3024042Ssam #define	vdopen		nodev
3124042Ssam #define	vdstrategy	nodev
3224042Ssam #define	vdread		nodev
3324042Ssam #define	vdwrite		nodev
3424042Ssam #define	vddump		nodev
3524042Ssam #define	vdsize		0
3624042Ssam #endif
3724042Ssam 
3824042Ssam #define	NXP	0
3924042Ssam #if NXP > 0
4024042Ssam int	xpopen(),xpstrategy(),xpread(),xpwrite(),xpdump(),xpioctl(),xpsize();
4124042Ssam #else
4224042Ssam #define	xpopen		nodev
4324042Ssam #define	xpstrategy	nodev
4424042Ssam #define	xpread		nodev
4524042Ssam #define	xpwrite		nodev
4624042Ssam #define	xpdump		nodev
4724042Ssam #define	xpioctl		nodev
4824042Ssam #define	xpsize		0
4924042Ssam #endif
5024042Ssam 
5124042Ssam #include "cy.h"
5224042Ssam #if NCY > 0
5324042Ssam int	cyopen(),cyclose(),cystrategy(),cyread(),cywrite(),cydump(),cyioctl(),cyreset();
5424042Ssam #else
5524042Ssam #define	cyopen		nodev
5624042Ssam #define	cyclose		nodev
5724042Ssam #define	cystrategy	nodev
5824042Ssam #define	cyread		nodev
5924042Ssam #define	cywrite		nodev
6024042Ssam #define	cydump		nodev
6124042Ssam #define	cyioctl		nodev
6224042Ssam #define	cyreset		nulldev
6324042Ssam #endif
6424042Ssam 
6524042Ssam int	swstrategy(),swread(),swwrite();
6624042Ssam 
6724042Ssam struct bdevsw	bdevsw[] =
6824042Ssam {
6924042Ssam 	{ udopen,	nulldev,	udstrategy,	uddump,		/*0*/
7024042Ssam 	  udsize,	0 },
7124042Ssam 	{ vdopen,	nulldev,	vdstrategy,	vddump,		/*1*/
7224042Ssam 	  vdsize,	0 },
7324042Ssam 	{ xpopen,	nulldev,	xpstrategy,	xpdump,		/*2*/
7424042Ssam 	  xpsize,	0 },
7524042Ssam 	{ cyopen,	cyclose,	cystrategy,	cydump,		/*3*/
7624042Ssam 	  0,		B_TAPE },
7724042Ssam 	{ nodev,	nodev,		swstrategy,	nodev,		/*4*/
7824042Ssam 	  0,		0 },
7924042Ssam };
8024042Ssam int	nblkdev = sizeof (bdevsw) / sizeof (bdevsw[0]);
8124042Ssam 
8224042Ssam int	cnopen(),cnclose(),cnread(),cnwrite(),cnioctl();
83*25678Ssam extern	struct tty cons;
8424042Ssam 
8524042Ssam #include "vx.h"
8624042Ssam #if NVX == 0
8724042Ssam #define	vxopen	nodev
8824042Ssam #define	vxclose	nodev
8924042Ssam #define	vxread	nodev
9024042Ssam #define	vxwrite	nodev
9124042Ssam #define	vxioctl	nodev
9224042Ssam #define	vxstop	nodev
9324042Ssam #define	vxreset	nulldev
9424042Ssam #define	vx_tty	0
9524042Ssam #else
9624042Ssam int	vxopen(),vxclose(),vxread(),vxwrite(),vxioctl(),vxstop(),vxreset();
9724042Ssam struct	tty vx_tty[];
9824042Ssam #endif
9924042Ssam 
10024042Ssam int	syopen(),syread(),sywrite(),syioctl(),syselect();
10124042Ssam 
10224042Ssam int 	mmread(),mmwrite();
10324042Ssam #define	mmselect	seltrue
10424042Ssam 
10524042Ssam #include "pty.h"
10624042Ssam #if NPTY > 0
10724042Ssam int	ptsopen(),ptsclose(),ptsread(),ptswrite(),ptsstop();
10824042Ssam int	ptcopen(),ptcclose(),ptcread(),ptcwrite(),ptcselect();
10924042Ssam int	ptyioctl();
11024042Ssam struct	tty pt_tty[];
11124042Ssam #else
11224042Ssam #define ptsopen		nodev
11324042Ssam #define ptsclose	nodev
11424042Ssam #define ptsread		nodev
11524042Ssam #define ptswrite	nodev
11624042Ssam #define ptcopen		nodev
11724042Ssam #define ptcclose	nodev
11824042Ssam #define ptcread		nodev
11924042Ssam #define ptcwrite	nodev
12024042Ssam #define ptyioctl	nodev
12124042Ssam #define	pt_tty		0
12224042Ssam #define	ptcselect	nodev
12324042Ssam #define	ptsstop		nulldev
12424042Ssam #endif
12524042Ssam 
12624042Ssam #include "vbsc.h"
12724042Ssam #if NVBSC > 0
12824042Ssam int	bscopen(), bscclose(), bscread(), bscwrite(), bscioctl();
12924042Ssam int	bsmopen(),bsmclose(),bsmread(),bsmwrite(),bsmioctl();
13024042Ssam int	bstopen(),bstclose(),bstread(),bstioctl();
13124042Ssam #else
13224042Ssam #define bscopen		nodev
13324042Ssam #define bscclose	nodev
13424042Ssam #define bscread		nodev
13524042Ssam #define bscwrite	nodev
13624042Ssam #define bscioctl	nodev
13724042Ssam #define bsmopen		nodev
13824042Ssam #define bsmclose	nodev
13924042Ssam #define bsmread		nodev
14024042Ssam #define bsmwrite	nodev
14124042Ssam #define bsmioctl	nodev
14224042Ssam #define bstopen		nodev
14324042Ssam #define bstclose	nodev
14424042Ssam #define bstread		nodev
14524042Ssam #define bstwrite	nodev
14624042Ssam #define bstioctl	nodev
14724042Ssam #endif
14824042Ssam 
14924042Ssam #if NII > 0
15024042Ssam int	iiioctl(), iiclose(), iiopen();
15124042Ssam #else
15224042Ssam #define	iiopen	nodev
15324042Ssam #define	iiclose	nodev
15424042Ssam #define	iiioctl	nodev
15524042Ssam #endif
15624042Ssam 
15724042Ssam #include "ps.h"
15824042Ssam #if NPS > 0
15924042Ssam int	psopen(),psclose(),psread(),pswrite(),psioctl(),psreset();
16024042Ssam #else
16124042Ssam #define psopen nodev
16224042Ssam #define psclose nodev
16324042Ssam #define psread nodev
16424042Ssam #define pswrite nodev
16524042Ssam #define psopen nodev
16624042Ssam #define psioctl nodev
16724042Ssam #define psreset nodev
16824042Ssam #endif
16924042Ssam 
17024042Ssam #include "efs.h"
17124042Ssam #if NEFS > 0
17224042Ssam int	efsopen(),efsfgen(),efsread(),efswrite(),efsioctl(),efsreset();
17324042Ssam #else
17424042Ssam #define efsopen nodev
17524042Ssam #define efsfgen nodev
17624042Ssam #define efsread nodev
17724042Ssam #define efswrite nodev
17824042Ssam #define efsioctl nodev
17924042Ssam #define efsreset nodev
18024042Ssam #endif
18124042Ssam 
182*25678Ssam int	logopen(),logclose(),logread(),logioctl(),logselect();
183*25678Ssam 
18424042Ssam int	ttselect(), seltrue();
18524042Ssam 
18624042Ssam struct cdevsw	cdevsw[] =
18724042Ssam {
18824042Ssam 	cnopen,		cnclose,	cnread,		cnwrite,	/*0*/
189*25678Ssam 	cnioctl,	nulldev,	nulldev,	&cons,
19024042Ssam 	ttselect,	nodev,
19124042Ssam 	vxopen,		vxclose,	vxread,		vxwrite,	/*1*/
19224042Ssam 	vxioctl,	vxstop,		vxreset,	vx_tty,
19324042Ssam 	ttselect,	nodev,
19424042Ssam 	syopen,		nulldev,	syread,		sywrite,	/*2*/
19524042Ssam 	syioctl,	nulldev,	nulldev,	0,
19624042Ssam 	syselect,	nodev,
19724042Ssam 	nulldev,	nulldev,	mmread,		mmwrite,	/*3*/
19824042Ssam 	nodev,		nulldev,	nulldev,	0,
19924042Ssam 	mmselect,	nodev,
20024042Ssam 	udopen,		nulldev,	udread,		udwrite,	/*4*/
20124042Ssam 	udioctl,	nodev,		nulldev,	0,
20224042Ssam 	seltrue,	nodev,
20324042Ssam 	vdopen,		nulldev,	vdread,		vdwrite,	/*5*/
20424042Ssam 	nodev,		nodev,		nulldev,	0,
20524042Ssam 	seltrue,	nodev,
20624042Ssam 	xpopen,		nulldev,	xpread,		xpwrite,	/*6*/
20724042Ssam 	xpioctl,	nodev,		nulldev,	0,
20824042Ssam 	seltrue,	nodev,
20924042Ssam 	cyopen,		cyclose,	cyread,		cywrite,	/*7*/
21024042Ssam 	cyioctl,	nodev,		cyreset,	0,
21124042Ssam 	seltrue,	nodev,
21224042Ssam 	nulldev,	nulldev,	swread,		swwrite,	/*8*/
21324042Ssam 	nodev,		nodev,		nulldev,	0,
21424042Ssam 	nodev,		nodev,
21524042Ssam 	ptsopen,	ptsclose,	ptsread,	ptswrite,	/*9*/
21624042Ssam 	ptyioctl,	ptsstop,	nodev,		pt_tty,
21724042Ssam 	ttselect,	nodev,
21824042Ssam 	ptcopen,	ptcclose,	ptcread,	ptcwrite,	/*10*/
21924042Ssam 	ptyioctl,	nulldev,	nodev,		pt_tty,
22024042Ssam 	ptcselect,	nodev,
22124042Ssam 	bscopen,	bscclose,	bscread,	bscwrite,	/*11*/
22224042Ssam 	bscioctl,	nodev,		nulldev,	0,
22324042Ssam 	nodev,		nodev,
22424042Ssam 	bsmopen,	bsmclose,	bsmread,	bsmwrite,	/*12*/
22524042Ssam 	bsmioctl,	nodev,		nulldev,	0,
22624042Ssam 	nodev,		nodev,
22724042Ssam 	bstopen,	bstclose,	bstread,	nodev,		/*13*/
22824042Ssam 	bstioctl,	nodev,		nulldev,	0,
22924042Ssam 	nodev,		nodev,
23024042Ssam 	iiopen,		iiclose,	nulldev,	nulldev,	/*14*/
23124042Ssam 	iiioctl,	nulldev,	nulldev,	0,
23224042Ssam 	seltrue,	nodev,
233*25678Ssam 	logopen,	logclose,	logread,	nodev,		/*15*/
234*25678Ssam 	logioctl,	nodev,		nulldev,	0,
235*25678Ssam 	logselect,	nodev,
23624042Ssam 	nodev,		nodev,		nulldev,	nulldev,	/*16*/
23724042Ssam 	nodev,		nodev,		nulldev,	0,
23824042Ssam 	nodev,		nodev,
23924042Ssam 	nodev,		nodev,		nulldev,	nulldev,	/*17*/
24024042Ssam 	nodev,		nodev,		nulldev,	0,
24124042Ssam 	nodev,		nodev,
24224042Ssam 	nodev,		nodev,		nulldev,	nulldev,	/*18*/
24324042Ssam 	nodev,		nodev,		nulldev,	0,
24424042Ssam 	nodev,		nodev,
24524042Ssam 	nodev,		nodev,		nulldev,	nulldev,	/*19*/
24624042Ssam 	nodev,		nodev,		nulldev,	0,
24724042Ssam 	nodev,		nodev,
24824042Ssam /* 20-30 are reserved for local use */
24924042Ssam 	psopen,		psclose,	psread,		pswrite,	/*20*/
25024042Ssam 	psioctl,	nodev,		psreset,	0,
25124042Ssam 	seltrue,	nodev,
25224042Ssam 	efsopen,	efsfgen,	efsread,	efswrite,	/*21*/
25324042Ssam 	efsioctl,	nodev,		efsreset,	0,
25424042Ssam 	seltrue,	nodev,
25524042Ssam };
25624042Ssam int	nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]);
25724042Ssam 
25824042Ssam int	mem_no = 3; 	/* major device number of memory special file */
25924042Ssam 
26024042Ssam /*
26124042Ssam  * Swapdev is a fake device implemented
26224042Ssam  * in sw.c used only internally to get to swstrategy.
26324042Ssam  * It cannot be provided to the users, because the
26424042Ssam  * swstrategy routine munches the b_dev and b_blkno entries
26524042Ssam  * before calling the appropriate driver.  This would horribly
26624042Ssam  * confuse, e.g. the hashing routines. Instead, /dev/drum is
26724042Ssam  * provided as a character (raw) device.
26824042Ssam  */
26924042Ssam dev_t	swapdev = makedev(4, 0);
270