141488Smckusick /* 241488Smckusick * Copyright (c) 1982, 1986, 1990 The Regents of the University of California. 341488Smckusick * All rights reserved. 441488Smckusick * 541488Smckusick * %sccs.include.redist.c% 641488Smckusick * 7*54073Shibler * @(#)conf.c 7.4 (Berkeley) 06/18/92 841488Smckusick */ 941488Smckusick 10*54073Shibler #include "sys/param.h" 1141488Smckusick #include "saio.h" 1241488Smckusick 1349159Sbostic extern int nullsys(), nodev(), noioctl(); 1441488Smckusick 15*54073Shibler #ifdef BOOT 16*54073Shibler #define ctstrategy nullsys 17*54073Shibler #define ctopen nodev 18*54073Shibler #define ctclose nullsys 19*54073Shibler #else 2049159Sbostic int ctstrategy(), ctopen(), ctclose(); 21*54073Shibler #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[] = { 32*54073Shibler { "ct", ctstrategy, ctopen, ctclose, ctioctl }, /*0*/ 33*54073Shibler { "??", nullsys, nodev, nullsys, noioctl }, /*1*/ 34*54073Shibler { "rd", rdstrategy, rdopen, nullsys, rdioctl }, /*2*/ 35*54073Shibler { "??", nullsys, nodev, nullsys, noioctl }, /*3*/ 36*54073Shibler { "sd", sdstrategy, sdopen, nullsys, sdioctl }, /*4*/ 3741488Smckusick }; 3849159Sbostic 3949159Sbostic int ndevs = (sizeof(devsw)/sizeof(devsw[0])); 40*54073Shibler 41*54073Shibler /* 42*54073Shibler * Convert old style unit syntax into adaptor/controller/unit 43*54073Shibler */ 44*54073Shibler devconvert(io) 45*54073Shibler register struct iob *io; 46*54073Shibler { 47*54073Shibler if (io->i_unit == 0 || io->i_adapt || io->i_ctlr) 48*54073Shibler return; 49*54073Shibler io->i_adapt = io->i_unit / 8; 50*54073Shibler io->i_ctlr = io->i_unit % 8; 51*54073Shibler io->i_unit = 0; 52*54073Shibler } 53