* Copyright (c) 1992 OMRON Corporation.
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
* This code is derived from software contributed to Berkeley by
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* @(#)conf.c 8.1 (Berkeley) 6/10/93
#include <luna68k/stand/saio.h>
cc
= (*devsw
[io
->i_dev
].dv_strategy
)(io
, READ
);
io
->i_flgs
&= ~F_TYPEMASK
;
cc
= (*devsw
[io
->i_dev
].dv_strategy
)(io
, WRITE
);
io
->i_flgs
&= ~F_TYPEMASK
;
(*devsw
[io
->i_dev
].dv_open
)(io
);
(*devsw
[io
->i_dev
].dv_close
)(io
);
return ((*devsw
[io
->i_dev
].dv_ioctl
)(io
, cmd
, arg
));
int nullsys(), nullioctl();
int sdstrategy(), sdopen(), sdioctl();
{ "sd", sdstrategy
, sdopen
, nullsys
, nullioctl
},
/* find end of dev type name */
for (cp
= str
; *cp
&& *cp
!= '('; cp
++)
/* compare dev type name */
for (dp
= devsw
; dp
->dv_name
; dp
++)
if (!strcmp(str
, dp
->dv_name
))
if (dp
->dv_name
== NULL
) {
if (*cp
>= '0' && *cp
<= '9')
unit
= unit
* 10 + *cp
++ - '0';
if (unit
< 0 || unit
> 63) {
/* get partition offset */
/* check out end of dev spec */
return(major
<< 8 | unit
<< 3 | part
);