141488Smckusick /*
2*63163Sbostic * Copyright (c) 1982, 1986, 1990, 1993
3*63163Sbostic * The Regents of the University of California. All rights reserved.
441488Smckusick *
541488Smckusick * %sccs.include.redist.c%
641488Smckusick *
7*63163Sbostic * @(#)conf.c 8.1 (Berkeley) 06/10/93
841488Smckusick */
941488Smckusick
1056510Sbostic #include <sys/param.h>
1160329Smckusick #include <stand.att/saio.h>
1241488Smckusick
1349159Sbostic extern int nullsys(), nodev(), noioctl();
1441488Smckusick
1554073Shibler #ifdef BOOT
1654073Shibler #define ctstrategy nullsys
1754073Shibler #define ctopen nodev
1854073Shibler #define ctclose nullsys
1954073Shibler #else
2049159Sbostic int ctstrategy(), ctopen(), ctclose();
2154073Shibler #endif
2249159Sbostic #define ctioctl noioctl
2341488Smckusick
2449159Sbostic int rdstrategy(), rdopen();
2549159Sbostic #define rdioctl noioctl
2641488Smckusick
2749159Sbostic int sdstrategy(), sdopen();
2849159Sbostic #define sdioctl noioctl
2941488Smckusick
3041488Smckusick
3141488Smckusick struct devsw devsw[] = {
3254073Shibler { "ct", ctstrategy, ctopen, ctclose, ctioctl }, /*0*/
3354073Shibler { "??", nullsys, nodev, nullsys, noioctl }, /*1*/
3454073Shibler { "rd", rdstrategy, rdopen, nullsys, rdioctl }, /*2*/
3554073Shibler { "??", nullsys, nodev, nullsys, noioctl }, /*3*/
3654073Shibler { "sd", sdstrategy, sdopen, nullsys, sdioctl }, /*4*/
3741488Smckusick };
3849159Sbostic
3949159Sbostic int ndevs = (sizeof(devsw)/sizeof(devsw[0]));
4054073Shibler
4154073Shibler /*
4254073Shibler * Convert old style unit syntax into adaptor/controller/unit
4354073Shibler */
devconvert(io)4454073Shibler devconvert(io)
4554073Shibler register struct iob *io;
4654073Shibler {
4754073Shibler if (io->i_unit == 0 || io->i_adapt || io->i_ctlr)
4854073Shibler return;
4954073Shibler io->i_adapt = io->i_unit / 8;
5054073Shibler io->i_ctlr = io->i_unit % 8;
5154073Shibler io->i_unit = 0;
5254073Shibler }
53