xref: /csrg-svn/sys/vax/stand/confhpup.c (revision 29294)
123222Smckusick /*
2*29294Smckusick  * Copyright (c) 1982, 1986 Regents of the University of California.
323222Smckusick  * All rights reserved.  The Berkeley software License Agreement
423222Smckusick  * specifies the terms and conditions for redistribution.
523222Smckusick  *
6*29294Smckusick  *	@(#)confhpup.c	7.1 (Berkeley) 06/05/86
723222Smckusick  */
810725Ssam 
910725Ssam #include "../machine/pte.h"
1010725Ssam 
1110725Ssam #include "../h/param.h"
1210725Ssam #include "../h/inode.h"
1310725Ssam #include "../h/fs.h"
1410725Ssam #include "saio.h"
1510725Ssam 
1610725Ssam devread(io)
1710725Ssam 	register struct iob *io;
1810725Ssam {
1911082Ssam 	int cc;
2010725Ssam 
2110725Ssam 	io->i_flgs |= F_RDDATA;
2211082Ssam 	io->i_error = 0;
2311082Ssam 	cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ);
2410725Ssam 	io->i_flgs &= ~F_TYPEMASK;
2511082Ssam 	return (cc);
2610725Ssam }
2710725Ssam 
2810725Ssam devwrite(io)
2910725Ssam 	register struct iob *io;
3010725Ssam {
3111082Ssam 	int cc;
3210725Ssam 
3310725Ssam 	io->i_flgs |= F_WRDATA;
3411082Ssam 	io->i_error = 0;
3511082Ssam 	cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE);
3610725Ssam 	io->i_flgs &= ~F_TYPEMASK;
3711082Ssam 	return (cc);
3810725Ssam }
3910725Ssam 
4010725Ssam devopen(io)
4110725Ssam 	register struct iob *io;
4210725Ssam {
4310725Ssam 
4410725Ssam 	(*devsw[io->i_ino.i_dev].dv_open)(io);
4510725Ssam }
4610725Ssam 
4710725Ssam devclose(io)
4810725Ssam 	register struct iob *io;
4910725Ssam {
5010725Ssam 
5110725Ssam 	(*devsw[io->i_ino.i_dev].dv_close)(io);
5210725Ssam }
5310725Ssam 
5410725Ssam devioctl(io, cmd, arg)
5510725Ssam 	register struct iob *io;
5610725Ssam 	int cmd;
5710725Ssam 	caddr_t arg;
5810725Ssam {
5910725Ssam 
6010725Ssam 	return ((*devsw[io->i_ino.i_dev].dv_ioctl)(io, cmd, arg));
6110725Ssam }
6210725Ssam 
6310725Ssam /*ARGSUSED*/
6410725Ssam nullsys(io)
6510725Ssam 	struct iob *io;
6610725Ssam {
6710725Ssam 
6810725Ssam 	;
6910725Ssam }
7010725Ssam 
7110725Ssam /*ARGSUSED*/
7210725Ssam nullioctl(io, cmd, arg)
7310725Ssam 	struct iob *io;
7410725Ssam 	int cmd;
7510725Ssam 	caddr_t arg;
7610725Ssam {
7710725Ssam 
7810725Ssam 	return (ECMD);
7910725Ssam }
8010725Ssam 
8110725Ssam int	nullsys(), nullioctl();
8210725Ssam int	hpstrategy(), hpopen(), hpioctl();
8310725Ssam int	upstrategy(), upopen(), upioctl();
8410725Ssam 
8510725Ssam struct devsw devsw[] = {
8610725Ssam 	{ "hp",	hpstrategy,	hpopen,		nullsys,	hpioctl },
8710725Ssam 	{ "up",	upstrategy,	upopen,		nullsys,	upioctl },
8810725Ssam 	{ 0, 0, 0, 0, 0 }
8910725Ssam };
90