ftp.nice.ch/pub/next/unix/admin/sysinfo.1.1.0.s.tar.gz#/info-sunos.c

This is info-sunos.c in view mode; [Download] [Up]

/*
 * Copyright (c) 1992 Michael A. Cooper.
 * This software may be freely distributed provided it is not sold for 
 * profit and the author is credited appropriately.
 */

#ifndef lint
static char *RCSid = "$Header: /src/common/usc/bin/sysinfo/RCS/info-sunos.c,v 1.33 1992/12/13 00:44:41 mcooper Exp mcooper $";
#endif

/*
 * $Log: info-sunos.c,v $
 * Revision 1.33  1992/12/13  00:44:41  mcooper
 * Update sparcbook devices.
 *
 * Revision 1.32  1992/12/02  05:03:00  mcooper
 * Update DevDataTab for new DEVDATATAB member order.
 *
 * Revision 1.31  1992/12/02  04:26:06  mcooper
 * Add device "GNP,DEI".
 *
 * Revision 1.30  1992/11/24  04:05:57  mcooper
 * New/cleaner KVM/nlist interface.
 *
 * Revision 1.29  1992/11/16  21:42:11  mcooper
 * Make CPU entries DT_NONE to avoid adding unit number to name.
 * Add TI,TMS CPU type.
 *
 * Revision 1.28  1992/11/12  19:12:43  mcooper
 * Remove extraneous ":" from many of the #ifdef's.
 *
 * Revision 1.27  1992/11/09  20:49:20  mcooper
 * Change SUNW,bpp to remove reference to Sbus printer card.
 *
 * Revision 1.26  1992/10/28  22:27:17  mcooper
 * Add DKC_INTEL82077 from SunOS 4.1.3.
 *
 * Revision 1.25  1992/10/01  22:55:49  mcooper
 * Add SPARCsystem 10 and SunOS 4.1.3 items.
 *
 * Revision 1.24  1992/08/13  04:48:24  mcooper
 * Change "Sun " and "SUNW,Sun" to be type DT_NONE.
 *
 * Revision 1.23  1992/07/31  21:09:35  mcooper
 * Add support for doing GetDevDataTab() compares optionally
 * by length using the DDT_LENCMP flag in DEVDATATAB.
 *
 * Revision 1.22  1992/07/24  22:05:24  mcooper
 * - Add "bf" and SCSI host adapters.
 *
 * Revision 1.21  1992/07/07  22:51:35  mcooper
 * Add support for Xylogics SV-{6,7}8xx IPI controller for Suns
 * from Rainer Orth (ro@TechFak.Uni-Bielefeld.DE).
 *
 * Revision 1.20  1992/07/07  22:25:06  mcooper
 * Add Auspex support from Guy Harris (guy@auspex.com) as well
 * as some cleanup of code format and phrasing of device information:
 * Added an entry for the SPARCengine 1E (6U Eurocard based on the
 * SPARCstation 1; there are also SS2-based and, coming up, SS10-based
 * SPARCengines, although they're not VME cards).
 *
 * Changed the description of the FPA from "Wietek FPA" to "Sun-3 FPA" (it
 * uses Weitek - not "Wietek" chips, but it's a Sun product), and expanded
 * the extra description to note that it's Weitek-based.
 *
 * Added support for various devices on Auspex systems (which required
 * adding a hack to get around a botch in the "mb_device" table in our
 * current drivers for some of those devices).
 *
 * Separated disks from CD-ROMS, giving each its own probe routine; the
 * disk probe routine will, if a CD-ROM in the drive happens to have a
 * label (as some Sun CD-ROMs do, and as the Auspex system software
 * distribution CD-ROM does), act as if the label is something it should
 * report (it shouldn't; for example, it should report the disk as a
 * CD-ROM, not whatever glop appears in the label).
 *
 * Fixed "ProbeTapeDrive()" to use the no-rewind device, so that it doesn't
 * run the risk of rewinding the tape out from under somebody.
 *
 * Put comments at the front of the probe routines for tapes and CD-ROMs to
 * indicate that they may fail even if the device exists - i.e., if there's
 * no medium in the drive, or if somebody's using the tape drive;
 * unfortunately, I don't know of a good fix for that problem.
 *
 * Revision 1.19  1992/04/26  23:32:06  mcooper
 * Add Copyright notice
 *
 * Revision 1.18  1992/04/19  18:44:59  mcooper
 * Change around GS framebuffer definition according to Greg Earle.
 *
 * Revision 1.17  1992/04/17  23:33:04  mcooper
 * Add RomVecNL.
 *
 * Revision 1.16  1992/04/17  01:10:11  mcooper
 * Moved DEVICE *() function declares to defs.h.
 *
 * Revision 1.15  1992/04/15  02:42:12  mcooper
 * Change "ipi3sc" to DT_GENERIC.
 *
 * Revision 1.14  1992/04/12  22:03:13  mcooper
 * - Add Tadpole/SPARCbook support.
 * - Add Solbourne models and arch's.
 *
 * Revision 1.13  1992/03/31  00:44:40  mcooper
 * Add sun386 kernel arch.
 *
 * Revision 1.12  1992/03/28  21:29:24  mcooper
 * Move NetifNL to netif.c.
 *
 * Revision 1.11  1992/03/22  00:20:10  mcooper
 * Major cleanup and re-org.
 *
 * Revision 1.10  1992/03/08  04:58:56  mcooper
 * The old NETIFTAB has been removed by placing the old data
 * directly in the devdatatab.
 *
 * Revision 1.9  1992/03/06  18:34:02  mcooper
 * - Use new NAMETAB whenever possible.
 * - Replace _size vars with { 0 } entries.
 *
 * Revision 1.8  1992/03/01  23:30:15  mcooper
 * More more SunOS specific code from sysinfo.c to here.
 *
 * Revision 1.7  1992/02/27  22:01:22  mcooper
 * Add support for getting CPU info for sun4m.
 *
 * Revision 1.6  1992/02/27  20:37:59  mcooper
 * Move netif names in devdatatab to top to avoid conflicts
 * of "fd" and "fddi".
 *
 * Revision 1.5  1992/02/27  00:14:22  mcooper
 * Add "ei" (Solbourne ethernet interface) to devdatatab.
 *
 * Revision 1.4  1992/02/26  19:07:02  mcooper
 * Add more random Sun devices.
 *
 * Revision 1.3  1992/02/25  00:59:35  mcooper
 * Move tape info to local MTINFO.
 *
 * Revision 1.2  1992/02/25  00:23:29  mcooper
 * - Cleanup framebuffers.
 * - Add mt info.
 * - Update device table.
 *
 * Revision 1.1  1992/02/22  02:20:19  mcooper
 * Initial revision
 *
 */


/*
 * SunOS specific device info
 */

#include <stdio.h>
#include "system.h"
#include "defs.h"

#include <sys/types.h>
#include <sys/buf.h>
#include <sys/mtio.h>
#include <sun/dkio.h>
#include <sun/fbio.h>

#if 	defined(TADPOLE)
#include <taddev/ide_drvr_def.h>
#else	/* !TADPOLE */
#	if 	defined(HAVE_IPI)
#		include <sundev/ipvar.h>
#	endif 	/* HAVE_IPI */
#	if	defined(XYLOGICS_IPI)
#		include <sundev/xlreg.h>
#		include <sundev/xlextensions.h>
#	endif	/* XYLOGICS_IPI */
#	include <sundev/xdreg.h>
#	include <sundev/xyreg.h>
#	include <sundev/scsi.h>
#	if 	defined(i386)
#		include <sundev/sdreg.h>
#	endif
#endif	/* TADPOLE */

/*
 * Characters for disk partitions
 */
char 				PartChars[] = "abcdefgh";

/*
 * CPU (model) symbol
 */
char 				CpuSYM[] = "_cpu";

/*
 * RomVec
 */
char 				RomVecSYM[] = "_romp";

#if	defined(HAVE_MAINBUS)
/*
 * MainBus symbol
 */
char 				MainBusSYM[] = "_mbdinit";
#endif	/* HAVE_MAINBUS */

#if	defined(HAVE_OPENPROM)
/*
 * OpenPROM symbol
 */
char 				OpenPROMSYM[] = "_top_devinfo";
#endif	/* HAVE_OPENPROM */


/*
 * Sun system model table
 *
 * Not all values are real machines.  What is found below is
 * extracted from /usr/include/{sun3,sun3x,sun4,sun4c,sun4m}/cpu.h.
 */
NAMETAB ModelTab[] = {
/*
 * Sun-3 CPU's
 */
#ifdef CPU_SUN3_50
    {  CPU_SUN3_50,	 	"3/50" },
#endif
#ifdef CPU_SUN3_60
    {  CPU_SUN3_60,	 	"3/60" },
#endif
#ifdef CPU_SUN3_E
    {  CPU_SUN3_E,	    	"3/Eurocard" },
#endif
#ifdef CPU_SUN3_110
    {  CPU_SUN3_110,	    	"3/110" },
#endif
#ifdef CPU_SUN3_160
    {  CPU_SUN3_160,	    	"3/100 Series" },
#endif
#ifdef CPU_SUN3_260
    {  CPU_SUN3_260,	    	"3/200 Series" },
#endif

/*
 * Sun-3x CPU's
 */
#ifdef CPU_SUN3X_80
    {  CPU_SUN3X_80,		"3/80" },
#endif
#ifdef CPU_SUN3X_470
    {  CPU_SUN3X_470,		"3/400 Series" },
#endif

/*
 * Sun-4c CPU's.
 */
#ifdef CPU_SUN4C_05
    {  CPU_SUN4C_05,		"4/05" },
#endif
#ifdef CPU_SUN4C_10
    {  CPU_SUN4C_10,		"4/10" },
#endif
#ifdef CPU_SUN4C_20
    {  CPU_SUN4C_20,		"4/20 (SPARCstation SLC)" },
#endif
/*
 * XXX The 4/25 and 4/30 are both ELC's depending on your OS
 */
#ifdef CPU_SUN4C_25
    {  CPU_SUN4C_25,		"4/25 (SPARCstation ELC)" },
#endif
#ifdef CPU_SUN4C_30
    {  CPU_SUN4C_30,		"4/30 (SPARCstation ELC)" },
#endif
#ifdef CPU_SUN4C_32
    {  CPU_SUN4C_32,		"4/32" },
#endif
#ifdef CPU_SUN4C_40
    {  CPU_SUN4C_40,		"4/40 (SPARCstation IPC)" },
#endif
#ifdef CPU_SUN4C_45
    {  CPU_SUN4C_45,		"4/45" },
#endif
#ifdef CPU_SUN4C_50
    {  CPU_SUN4C_50,		"4/50 (SPARCstation IPX)" },
#endif
#ifdef CPU_SUN4C_60
    {  CPU_SUN4C_60,		"4/60 (SPARCstation 1)" },
#endif
#ifdef CPU_SUN4C_65
    {  CPU_SUN4C_65,		"4/65 (SPARCstation 1+)" },
#endif
#ifdef CPU_SUN4C_70
    {  CPU_SUN4C_70,		"4/70" },
#endif
#ifdef CPU_SUN4C_75
    {  CPU_SUN4C_75,		"4/75 (SPARCstation 2)" },
#endif
#ifdef CPU_SUN4C_80
    {  CPU_SUN4C_80,		"4/80" },
#endif
#ifdef CPU_SUN4C_85
    {  CPU_SUN4C_85,		"4/85" },
#endif

/*
 * Sun-4 CPU's
 */
#ifdef CPU_SUN4_110
    {  CPU_SUN4_110,	    	"4/110" },
#endif
#ifdef CPU_SUN4_260
    {  CPU_SUN4_260,	    	"4/200 Series" },
#endif
#ifdef CPU_SUN4_330
    {  CPU_SUN4_330,		"SPARCsystem 300" },
#endif
#ifdef CPU_SUN4_460	/* Sun changed the 4_460 to 4_470 in 4.1.1 */
    {  CPU_SUN4_460,		"SPARCsystem 400" },
#endif
#ifdef CPU_SUN4_470
    {  CPU_SUN4_470,		"SPARCsystem 400" },
#endif

/*
 * Sun-4m CPU's
 */
#ifdef CPU_SUN4M_690
    {  CPU_SUN4M_690,	    	"SPARCsystem 600" },
#endif
#ifdef CPU_SUN4M_50
    {  CPU_SUN4M_50,	    	"SPARCsystem 10" },
#endif

/*
 * Sun-4e CPU's.
 */
#ifdef CPU_SUN4E_120
    {  CPU_SUN4E_120,	    	"SPARCengine 1E" },
#endif

/*
 * Sun-386i CPU's
 */
#ifdef CPU_SUN386_MB1
    {  CPU_SUN386_MB1,		"386i (MB1)" },
#endif
#ifdef CPU_SUN386_150
    /* The 386i/150 and 386i/250 are the same */
    {  CPU_SUN386_150,		"386i" },
#endif

/*
 * Solbourne CPU's
 */
#ifdef CPU_SERIES4_500
    {  CPU_SERIES4_500,		"Series4/500" },
#endif
#ifdef CPU_SERIES4_600
    {  CPU_SERIES4_600,		"Series4/600" },
#endif
#ifdef CPU_SERIES5_500
    {  CPU_SERIES5_500,		"Series5/500" },
#endif
#ifdef CPU_SERIES5_600
    {  CPU_SERIES5_600,		"Series5/600" },
#endif
#ifdef CPU_SERIES5_900
    {  CPU_SERIES5_900,		"Series5/900" },
#endif
#ifdef CPU_SERIES5E_500
    {  CPU_SERIES5E_500,	"Series5E/500" },
#endif
#ifdef CPU_SERIES5E_600
    {  CPU_SERIES5E_600,	"Series5E/600" },
#endif
#ifdef CPU_SERIES5E_900
    {  CPU_SERIES5E_900,	"Series5E/900" },
#endif
#ifdef CPU_SERIES6_500
    {  CPU_SERIES6_500,		"Series6/500" },
#endif
#ifdef CPU_SERIES6_600
    {  CPU_SERIES6_600,		"Series6/600" },
#endif
#ifdef CPU_SERIES6_900
    {  CPU_SERIES6_900,		"Series6/900" },
#endif

/*
 * TadPole CPU's
 */
#ifdef CPU_TAD_SPBK_S1
    {  CPU_TAD_SPBK_S1,		"SPARCbook-1" },
#endif

    { 0 },
};

/*
 * Kernel Architecture table
 */
NAMETAB KernArchTab[] = {
#ifdef SUN386_ARCH
    {  SUN386_ARCH,		"sun386" },
#endif
#ifdef SUN3_ARCH
    {  SUN3_ARCH,		"sun3" },
#endif
#ifdef SUN3X_ARCH
    {  SUN3X_ARCH,		"sun3x" },
#endif
#ifdef SUN4_ARCH
    {  SUN4_ARCH,		"sun4" },
#endif
#ifdef SUN4C_ARCH
    {  SUN4C_ARCH,		"sun4c" },
#endif
#ifdef SUN4M_ARCH
    {  SUN4M_ARCH,		"sun4m" },
#endif
/*
 * Tadpole
 */
#ifdef TAD_SPBK_ARCH
    {  TAD_SPBK_ARCH,		"SPARCbook" },
#endif
/*
 * Solbourne
 */
#ifdef CPU_TYPE_SERIES4
    {  CPU_TYPE_SERIES4,	"Series4" },
#endif
#ifdef CPU_TYPE_SERIES5
    {  CPU_TYPE_SERIES5,	"Series5" },
#endif
#ifdef CPU_TYPE_SERIES5E
    {  CPU_TYPE_SERIES5E,	"Series5E" },
#endif
#ifdef CPU_TYPE_SERIES6
    {  CPU_TYPE_SERIES6,	"Series6" },
#endif
#ifdef CPU_TYPE_KAP_M2
    {  CPU_TYPE_KAP_M2,		"KAP_M2" },
#endif
    { 0 },
};

/*
 * Device Data Table
 *
 * Compares are done by the length of the string appearing in
 * the first columns.  Therefore, longer names must appear before
 * any shorter names that are not unique.  e.g. "lebuffer" needs to
 * be before "le".
 */
extern DEVICE *ProbeCDROMDrive();
extern DEVICE *ProbeSPDrive();

DEVDATATAB DevDataTab[] = {
    /*
     * Network Interfaces
     */
    { "ie",
	  "Intel 82586 LAN Co-Processor",	
	  "10Mb/sec Ethernet",				
	  ProbeNetif },
    { "ei",
	  "Solbourne IOASIC AMD Lance Am7990",	
	  "10Mb/sec Ethernet",
	  ProbeNetif },
    { "le",
	  "AMD Lance Am7990",
	  "10Mb/sec Ethernet",
	  ProbeNetif },
    { "ne",
	  "Interphase NC400",
	  "10Mb/sec Ethernet",
	  ProbeNetif },
    { "fddi",
	  "Sun FDDI/DX",
	  "100Mb/sec FDDI",
	  ProbeNetif },
    { "bf",
	  "Sun/Bantam FDDI/S",
	  "100Mb/sec FDDI",
	  ProbeNetif },
    /*
     * Disk Drives
     */
    { "sd",		NULL,	NULL,	ProbeDiskDrive },
    { "xd",		NULL,	NULL,	ProbeDiskDrive },
    { "xl",		NULL,	NULL,	ProbeDiskDrive },
    { "xy",		NULL,	NULL,	ProbeDiskDrive },
    { "id",		NULL,	NULL,	ProbeDiskDrive },
    { "sr",	    "CD-ROM",	NULL,	ProbeCDROMDrive },
    { "fd",	    "Floppy",	NULL,	ProbeDiskDrive },
    { "SUNW,fdtwo", "Floppy",	NULL,	ProbeDiskDrive },
    /*
     * More detailed descriptions of SCSI adapters
     */
    { "esp",
	  "Emulex SCSI interface",	NULL,	
	  ProbeGeneric, DT_DISKCTLR },
    { "sc",
	  "Sun SCSI-2 host adapter",	NULL,	
	  ProbeGeneric, DT_DISKCTLR },
    { "si",
	  "Sun SCSI-3 host adapter",	NULL,	
	  ProbeGeneric, DT_DISKCTLR },
    { "sm",
	  "Sun SCSI-ESP host adapter",	NULL,	
	  ProbeGeneric, DT_DISKCTLR },
    { "se",
	  "Sun SCSI-E host adapter",	NULL,	
	  ProbeGeneric, DT_DISKCTLR },
    { "sw",
	  "Sun SCSI-Weird host adapter",NULL,	
	  ProbeGeneric, DT_DISKCTLR },
    /*
     * Tape drives and tape controllers
     */
    { "st",
	  "SCSI",		NULL,	
	  ProbeTapeDrive, DT_TAPEDRIVE },
    { "xtc",
	  "Xylogics 472",	"1/2 inch tape controller", 
	  ProbeGeneric, DT_TAPECTLR },
    { "xt",
	  "Fujitsu M2444",	"1/2 inch tape drive",	
	  ProbeTapeDrive, DT_TAPEDRIVE },
    /*
     * Frame Buffers
     */
    { "bwone",		NULL,	NULL,	ProbeFrameBuffer },
    { "bwtwo",		NULL,	NULL,	ProbeFrameBuffer },
    { "cgone",		NULL,	NULL,	ProbeFrameBuffer },
    { "cgtwo",		NULL,	NULL,	ProbeFrameBuffer },
    { "cgthree",	NULL,	NULL,	ProbeFrameBuffer },
    { "cgfour",		NULL,	NULL,	ProbeFrameBuffer },
    { "cgsix",		NULL,	NULL,	ProbeFrameBuffer },
    { "cgeight",	NULL,	NULL,	ProbeFrameBuffer },
    { "cgnine",		NULL,	NULL,	ProbeFrameBuffer },
    { "cgtwelve",	NULL,	NULL,	ProbeFrameBuffer },
    { "gpone",		NULL,	NULL,	ProbeFrameBuffer },
    { "gt",		NULL,	NULL,	ProbeFrameBuffer },
    { "taac",		NULL,	NULL,	ProbeFrameBuffer },
    { "vx",		NULL,	NULL,	ProbeFrameBuffer },
    /*
     * Bus types
     */
    { "sbus",		NULL,	NULL,		ProbeGeneric,	DT_BUS },
    { "vme",		NULL,	NULL,		ProbeGeneric,	DT_BUS },
    { "obio",		NULL,	"OnBoard I/O",	ProbeGeneric,	DT_BUS },
    { "obmem",		NULL,	"OnBoard Memory",ProbeGeneric,	DT_BUS },
    { "iommu",		NULL,	NULL,		ProbeGeneric,	DT_BUS },
    /*
     * Psuedo devices that are needed in order to "connect" things together.
     */
    { "lebuffer", 	NULL,	NULL,	ProbeGeneric,	DT_PSEUDO },
    { "dma",		NULL,	NULL,	ProbeGeneric,	DT_PSEUDO },
    { "espdma",		NULL,	NULL,	ProbeGeneric,	DT_PSEUDO },
    { "ledma",		NULL,	NULL,	ProbeGeneric,	DT_PSEUDO },
    { "openprom", 	NULL,	NULL,	ProbeGeneric,	DT_PSEUDO },
    { "Cypress,CY",	NULL,	NULL,	ProbeCPU, 	DT_CPU, DDT_LENCMP },
    { "TI,TMS",		NULL,	NULL,	ProbeCPU, 	DT_CPU, DDT_LENCMP },
    /* Old OpenPROMs say "Sun 4/60" instead of "SUNW,Sun 4/60" */
    { "Sun ",		NULL,	NULL,	ProbeGeneric, 	DT_NONE, DDT_LENCMP },
    { "SUNW,SPARC",	NULL,	NULL,	ProbeGeneric, 	DT_NONE, DDT_LENCMP },
    { "SUNW,Sun",	NULL,	NULL,	ProbeGeneric, 	DT_NONE, DDT_LENCMP },
    { "SUNW,pn", 	NULL,	NULL,	ProbeGeneric, 	DT_PSEUDO,DDT_LENCMP },
    { "ipi3sc", 	NULL,	NULL,	ProbeGeneric,	DT_GENERIC },
    /*
     * Miscellaneous devices
     */
    { "audio",
	  "AM79C30A DSC",	
	  "telephone quality audio",
	  ProbeGeneric, DT_GENERIC },
    { "zs",
	  "Zilog 8530",	
	  "serial communications chip",
	  ProbeGeneric, DT_GENERIC },
    { "mti",
	  "ALM-1 (Systech MTI-1600)",	
	  "16-line terminal multiplexer",
	  ProbeGeneric, DT_GENERIC },
    { "mcp",
	  "ALM-2 (Sun MCP/ALM)",	
	  "16-line terminal multiplexer",
	  ProbeGeneric, DT_GENERIC },
    { "fpa",
	  "Sun-3 FPA",	
	  "Weitek-based floating point accelerator",
	  ProbeGeneric, DT_GENERIC },
    { "des",
	  "AmZ8068 Data Ciphering Processor",
	  "NBS Data Encryption Standard",
	  ProbeGeneric, DT_GENERIC },
    { "vpc",
	  "Systech VPC-2200",	
	  "Versatec & Centronics printer/plotter interface",
	  ProbeGeneric, DT_GENERIC },
    { "pp",
	  "Parallel Port",
	  "Centronics-compatible parallel printer port",
	  ProbeGeneric, DT_GENERIC },
    { "SUNW,bpp",
	  "Sun Bidirectional Parallel Port",
	  NULL,
	  ProbeGeneric, DT_GENERIC },
    { "SUNW,lpvi",
	  "Sun Sbus Printer Card",
	  "laser printer video interface",
	  ProbeGeneric, DT_GENERIC },
    { "SUNW,DBRIe",
	  "Sun SpeakerBox & Dual Basic Rate ISDN",
	  "ISDN and Multimedia Codec",
	  ProbeGeneric, DT_GENERIC },
    { "db",
	  "Sun Dial Box",
	  NULL,
	  ProbeGeneric, DT_GENERIC },
    { "pr",
	  "PrestoServe",
	  "file system accelerator",
	  ProbeGeneric, DT_GENERIC },
    /*
     * Third Party devices
     */
    { "GNP,DEI",
	  "GNP DEI Serial Expander",	
	  "8 to 32 port terminal multiplexer",
	  ProbeGeneric, DT_GENERIC },
    /* 
     * Tadpole devices
     */
    { "SPARCbook",	NULL,	NULL,	ProbeGeneric, 	DT_NONE, DDT_LENCMP },
    { "nice",
	  "NICE Ethernet Co-processor",
	  "10Mb/sec Ethernet",
	  ProbeNetif },
    { "par",
	  "Parallel Port",
	  "Centronics-compatible parallel printer port", 
	  ProbeGeneric, DT_GENERIC },
    { "modem",
	  NULL,
	  "Hayes compatible modem",
	  ProbeGeneric, DT_GENERIC },
    { "mouse",
	  NULL,
	  "IBM compatible mouse",
	  ProbeGeneric, DT_GENERIC },
    { "urt",
	  NULL,
	  "serial communications chip",	
	  ProbeGeneric, DT_GENERIC },
    { "vga",	NULL,	NULL,		ProbeFrameBuffer },
    { "PC8",	NULL,	"8-bit",	ProbeGeneric, DT_BUS, DDT_NOUNIT },
    { "PC16",	NULL,	"16-bit",	ProbeGeneric, DT_BUS, DDT_NOUNIT },
    /*
     * Auspex devices
     */
    { "cpm",
	  "Clearpoint VME memory",
	  "Clearpoint VME memory board used as primary memory", 
	  ProbeGeneric, DT_GENERIC },
    { "apm",
	  "Auspex Primary Memory",
	  "Auspex VME memory board used as primary memory", 
	  ProbeGeneric, DT_GENERIC },
    { "aep",
	  "Auspex Ethernet Processor",
	  "Auspex Ethernet Processor board", 
	  ProbeGeneric, DT_GENERIC },
    { "ae",
	  "Ethernet Processor Lance Am7990",
	  "10MB/sec Ethernet", 
	  ProbeNetif },
    { "afp",
	  "Auspex File Processor",
	  "Auspex File Processor board", 
	  ProbeGeneric, DT_GENERIC },
    { "asp",
	  "Auspex Storage Processor",
	  "Auspex Storage Processor board", 
	  ProbeGeneric, DT_GENERIC },
    { "ad",	NULL,	NULL, ProbeSPDrive },
    { 0 },
};

/*
 * Table of known Disk Controllers for Suns and other machines running
 * SunOS.
 * XXX - Auspex doesn't define DKC_AUSPEX_SP in current releases,
 * so we'll forcibly define it here for now.  It will be defined as 99
 * in a future release.  Put it at the end of the table, so that if
 * somebody else also uses 99, they get seen first if this is built
 * for their machine.
 */
#ifndef DKC_AUSPEX_SP
#define	DKC_AUSPEX_SP	99
#endif

DKCTLRTAB DkCtlrTab[] = {
#if 	defined(DKC_XY450) && defined(XY_READ)
    {  DKC_XY450,	"Xylogics 450/451 SMD",		XY_READ },
#endif
#if 	defined(DKC_ACB4000) && defined(SC_READ)
    {  DKC_ACB4000,	"Adaptec ACB4000 SCSI",		SC_READ },
#endif
#if	defined(DKC_MD21) && defined(SC_READ)
    {  DKC_MD21,	"Emulex MD21 SCSI",		SC_READ },
#endif
#if	defined(DKC_NCRFLOPPY) && defined(SC_READ)
    {  DKC_NCRFLOPPY,	"NCR Floppy SCSI",		SC_READ },
#endif
#if	defined(DKC_XD7053) && defined(XD_READ)
    {  DKC_XD7053,	"Xylogics 7053/753 SMD",	XD_READ },
#endif
#if	defined(DKC_SVx) && defined(XL_READ)
    {  DKC_SVx,		"Xylogics SV-{67}8xx IPI",	XL_READ },
#endif
#if	defined(DKC_SMSFLOPPY) && defined(SC_READ)
    {  DKC_SMSFLOPPY,	"SMS Floppy SCSI",		SC_READ },
#endif
#if	defined(DKC_SCSI_CCS) && defined(SC_READ)
    {  DKC_SCSI_CCS,	"SCSI CCS",			SC_READ },
#endif
#if	defined(DKC_CCS) && defined(SC_READ)
    {  DKC_CCS,		"CCS SCSI",			SC_READ },
#endif
#if	defined(DKC_NEC765)
    {  DKC_NEC765,	"NEC 765 Floppy",		-1 },
#endif
#if	defined(DKC_INTEL82072)
    {  DKC_INTEL82072,	"Intel 82072 Floppy",	 	-1 },
#endif
#if	defined(DKC_INTEL82077)
    {  DKC_INTEL82077,	"Intel 82077 Floppy",	 	-1 },
#endif
#if	defined(DKC_PANTHER) && defined(IP_READ)
    {  DKC_PANTHER,	"Sun ISP-80 (Panther) IPI-2",	IP_READ },
#endif
#if	defined(DKC_XD753_IPI) && defined(XD_READ)
/*
 * Solbourne
 */
    {  DKC_XD753_IPI,	"Xylogics SV-{67}800 IPI",	XD_READ },
#endif
#if	defined(TADPOLE)
/*
 * Tadpole
 */
    { 19,		"PC IDE",			IDE_READ },
#endif	/* TADPOLE */
#if	defined(DKC_AUSPEX_SP) && defined(SC_READ)
/*
 * Auspex
 */
    {  DKC_AUSPEX_SP,	"Auspex Storage Processor",	SC_READ },
#endif
    { 0 },
};

/*
 * Table of known Sun Frame Buffers
 */
NAMETAB FBTab[] = {
#ifdef FBTYPE_SUN2BW
    {  FBTYPE_SUN2BW,		"Black & White memory (bwtwo)" },
#endif
#ifdef FBTYPE_SUN2COLOR
    {  FBTYPE_SUN2COLOR,	"Color Graphics w/rasterop (cgtwo)" },
#endif
#ifdef FBTYPE_SUN2GP
    {  FBTYPE_SUN2GP,		"GS Graphics Processor (cgtwelve)" },
#endif
#ifdef FBTYPE_SUN5COLOR
    {  FBTYPE_SUN5COLOR,	"Sun-386i Accelerated Color" },
#endif
#ifdef FBTYPE_SUN3COLOR
    {  FBTYPE_SUN3COLOR,	"8-bit Color (cgthree)" },
#endif
#ifdef FBTYPE_MEMCOLOR
    {  FBTYPE_MEMCOLOR,		"B&W memory overlay plane (bwtwo)" },
#endif
#ifdef FBTYPE_SUN4COLOR
    {  FBTYPE_SUN4COLOR,	"Color memory w/overlay (cgfour)" },
#endif
#ifdef FBTYPE_SUNFAST_COLOR
    {  FBTYPE_SUNFAST_COLOR,	"GX 8-bit Accelerated Color (cgsix)" },
#endif
#ifdef FBTYPE_SUNROP_COLOR
    {  FBTYPE_SUNROP_COLOR,	"24-bit Color w/rasterop" },
#endif
#ifdef FBTYPE_SUNFB_VIDEO
    {  FBTYPE_SUNFB_VIDEO,	"Video Mixing" },
#endif
#ifdef FBTYPE_SUNGIFB
    {  FBTYPE_SUNGIFB,		"Medical Imaging" },
#endif
#ifdef FBTYPE_SUNGPLAS
    {  FBTYPE_SUNGPLAS,		"Plasma Panel" },
#endif
#ifdef FBTYPE_SUNGP3
    {  FBTYPE_SUNGP3,		"24-bit Accelerated GPSI Color" },
#endif
#ifdef FBTYPE_SUNGT
    {  FBTYPE_SUNGT,		"24-bit Color Graphics Accelerator (gt)" },
#endif
/*
 * Tadpole frame buffer's
 */
#if	defined(TADPOLE)
#ifdef FBTYPE_NOTSUN1
    {  FBTYPE_NOTSUN1,		"VGA Graphics Card" },
#endif
#endif	/* TADPOLE */
    { 0 },
};

/*
 * Magnetic Tape Info.
 *
 * This info is based on <sys/mtio.h>.  It would be nice to just
 * use that info, but not all systems have MT_TAPE_INFO.
 */
NAMETAB MtInfo[] = {
#ifdef MT_ISCPC
    {  MT_ISCPC,		"TapeMaster 1/2-inch" },
#endif
#ifdef MT_ISXY
    {  MT_ISXY,			"Xylogics 472 1/2-inch" },
#endif
#ifdef MT_ISAR
    {  MT_ISAR,			"Archive QIC-11" },
#endif
#ifdef MT_ISSYSGEN11
    {  MT_ISSYSGEN11,		"Sysgen QIC-11" },
#endif
#ifdef MT_ISSYSGEN
    {  MT_ISSYSGEN,		"Sysgen QIC-24" },
#endif
#ifdef MT_ISMT02
    {  MT_ISMT02,		"Emulex MT-02 QIC-24" },
#endif
#ifdef MT_ISVIPER1
    {  MT_ISVIPER1,		"Archive QIC-150" },
#endif
#ifdef MT_ISWANGTEK1
    {  MT_ISWANGTEK1,		"Wangtek QIC-150" },
#endif
#ifdef MT_ISKENNEDY
    {  MT_ISKENNEDY,		"Kennedy 9612 1/2-inch" },
#endif
#ifdef MT_ISHP
    {  MT_ISHP,			"HP 88780 1/2-inch" },
#endif
#ifdef MT_ISEXABYTE
    {  MT_ISEXABYTE,		"Exabyte EXB-8200 8mm" },
#endif
#ifdef MT_ISEXB8500
    {  MT_ISEXB8500,		"Exabyte EXB-8500 8mm" },
#endif
    { 0 },
};

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.