* Copyright (c) 1991, 1993
* The Regents of the University of California. All rights reserved.
* 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
* @(#)names.c 8.1 (Berkeley) 6/6/93
#if !defined(hp300) && !defined(tahoe) && !defined(vax) && \
!defined(luna68k) && !defined(mips)
char *defdrives
[] = { 0 };
#if defined(hp300) || defined(luna68k)
#include <hp/dev/device.h>
#include <luna68k/dev/device.h>
char *defdrives
[] = { "sd0", "sd1", "sd2", "rd0", "rd1", "rd2", 0 };
hp
= namelist
[X_HPDINIT
].n_value
;
"disk init info not in namelist\n");
for (;; hp
+= sizeof hdev
) {
(void)kvm_read(kd
, hp
, &hdev
, sizeof hdev
);
if (hdev
.hp_dk
< 0 || hdev
.hp_alive
== 0 ||
(void)kvm_read(kd
, (u_long
)hdev
.hp_driver
, &hdrv
, sizeof hdrv
);
(void)kvm_read(kd
, (u_long
)hdrv
.d_name
, name
, sizeof name
);
p
+= sprintf(p
, "%s%d", name
, hdev
.hp_unit
) + 1;
#endif /* hp300 || luna68k */
#include <tahoe/vba/vbavar.h>
char *defdrives
[] = { "dk0", "dk1", "dk2", 0 };
struct vba_device udev
, *up
;
up
= (struct vba_device
*)namelist
[X_VBDINIT
].n_value
;
"disk init info not in namelist\n");
for (;; up
+= sizeof udev
) {
(void)kvm_read(kd
, up
, &udev
, sizeof udev
);
if (udev
.ui_dk
< 0 || udev
.ui_alive
== 0)
(void)kvm_read(kd
, udev
.ui_driver
, &udrv
, sizeof udrv
);
(void)kvm_read(kd
, udrv
.ud_dname
, name
, sizeof name
);
p
+= sprintf(p
, "%s%d", name
, udev
.ui_unit
);
#include <vax/uba/ubavar.h>
#include <vax/mba/mbavar.h>
char *defdrives
[] = { "hp0", "hp1", "hp2", 0 };
mp
= namelist
[X_MBDINIT
].n_value
;
up
= namelist
[X_UBDINIT
].n_value
;
if (mp
== 0 && up
== 0) {
"disk init info not in namelist\n");
for (;; mp
+= sizeof mdev
) {
(void)kvm_read(kd
, mp
, &mdev
, sizeof mdev
);
if (mdev
.mi_dk
< 0 || mdev
.mi_alive
== 0)
(void)kvm_read(kd
, mdev
.mi_driver
, &mdrv
, sizeof mdrv
);
(void)kvm_rea(kd
, mdrv
.md_dname
, name
, sizeof name
);
p
+= sprintf(p
, "%s%d", name
, mdev
.mi_unit
);
for (;; up
+= sizeof udev
) {
(void)kvm_read(kd
, up
, &udev
, sizeof udev
);
if (udev
.ui_dk
< 0 || udev
.ui_alive
== 0)
(void)kvm_read(kd
, udev
.ui_driver
, &udrv
, sizeof udrv
);
(void)kvm_read(kd
, udrv
.ud_dname
, name
, sizeof name
);
p
+= sprintf(p
, "%s%d", name
, udev
.ui_unit
);
#include <sundev/mbvar.h>
char *cp
= (char *) &two_char
;
register struct mb_device
*mp
;
mp
= (struct mb_device
*)namelist
[X_MBDINIT
].n_value
;
"disk init info not in namelist\n");
(void)kvm_read(kd
, mp
++, &mdev
, sizeof(mdev
));
if (mdev
.md_dk
< 0 || mdev
.md_alive
== 0)
(void)kvm_read(kd
, mdev
.md_driver
, &mdrv
, sizeof(mdrv
));
(void)kvm_read(kd
, mdrv
.mdr_dname
, &two_char
, sizeof(two_char
));
(void)sprintf(dr_name
[mdev
.md_dk
],
"%c%c%d", cp
[0], cp
[1], mdev
.md_unit
);
#include <pmax/dev/device.h>
char *defdrives
[] = { "rz0", "rz1", "rz2", "rz3", "rz4", "rz5", "rz6", 0 };
sp
= namelist
[X_SCSI_DINIT
].n_value
;
(void)fprintf(stderr
, "disk init info not in namelist\n");
for (;; sp
+= sizeof sdev
) {
(void)kvm_read(kd
, sp
, &sdev
, sizeof sdev
);
if (sdev
.sd_dk
< 0 || sdev
.sd_alive
== 0 ||
(void)kvm_read(kd
, (u_long
)sdev
.sd_driver
, &hdrv
, sizeof hdrv
);
(void)kvm_read(kd
, (u_long
)hdrv
.d_name
, name
, sizeof name
);
p
+= sprintf(p
, "%s%d", name
, sdev
.sd_unit
) + 1;