home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
unix
/
volume26
/
sysinfo-1.0
/
part01
/
system.h
< prev
Wrap
C/C++ Source or Header
|
1993-04-10
|
7KB
|
263 lines
/*
* 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.
*/
/*
* $Header: /src/common/usc/bin/sysinfo/RCS/system.h,v 1.23 1992/04/26 23:32:06 mcooper Exp $
*
* $Log: system.h,v $
* Revision 1.23 1992/04/26 23:32:06 mcooper
* Add Copyright notice
*
* Revision 1.22 1992/04/18 20:47:43 mcooper
* Merge Solbourne stuff back into main "sun" area.
*
* Revision 1.20 1992/04/17 01:08:56 mcooper
* BROKEN_NLIST_CHECK is no longer needed.
*
* Revision 1.19 1992/04/12 22:02:15 mcooper
* - Add Tadpole support.
* - Remove obsolete MODEL_SHIFTVAL.
* - Update solbourne to current "sun" stuff.
*
* Revision 1.17 1992/03/31 02:44:32 mcooper
* Add BROKEN_NLIST_CHECK to hp300.
*
* Revision 1.16 1992/03/22 00:27:11 mcooper
* Remove obsolete items.
*
* Revision 1.15 1992/03/09 01:08:10 mcooper
* Ultrix now has HAVE_MODELNAME.
*
* Revision 1.14 1992/03/08 23:10:27 mcooper
* Add HAVE_PACKETFILTER to Ultrix.
*
* Revision 1.13 1992/03/08 04:56:17 mcooper
* Add NEED_SOCKIO for suns and HAVE_IF_VERSION for ultrix.
*
* Revision 1.12 1992/03/06 18:39:55 mcooper
* - Add HAVE_NLIST where needed.
* - Add ultrix stuff for devices.
* - Define HAVE_KVM if NEED_KVM is defined.
*
* Revision 1.11 1992/03/01 23:29:39 mcooper
* Add new MODELNAME and ?ARCHNAME stuff.
*
* Revision 1.10 1992/02/27 00:09:36 mcooper
* Update solbourne to have HAVE_MAINBUS and HAVE_OPENPROM.
*
* Revision 1.9 1992/02/22 02:18:44 mcooper
* Add definitions for sun HAVE_MAINBUS and HAVE_OPENPROM.
*
* Revision 1.8 1992/02/17 01:00:14 mcooper
* Update solbourne.
*
* Revision 1.7 1992/02/10 21:04:51 mcooper
* - Add #ifdef's for HAVE_IPI
* - Change sun #include <arch/cpu.h> to <machine/cpu.h
* - Define SECSIZE, HAVE_DK_IOCTL, and HAVE_NIT.
*
* Revision 1.6 1991/10/09 03:37:17 mcooper
* Add support for getting serial number
* and model name directly from system on
* Alliant FX80 series.
*
* Revision 1.5 1991/10/01 01:48:56 mcooper
* Add HAVE_SERIALNUM for Alliant 2800.
*
* Revision 1.4 1991/09/30 05:28:34 mcooper
* Set OSVERS_FROM_KERNVER correctly for alliant 2800.
*
* Revision 1.3 1991/09/30 05:21:57 mcooper
* Add support for getting memory and model
* number on Alliant 2800's.
*
* Revision 1.2 1991/09/30 04:48:10 mcooper
* Don't need to define COFF for Sun386i
* since it is predefined.
*
* Revision 1.1 1991/09/30 04:32:36 mcooper
* Initial revision
*
*/
#ifndef __sysinfo_system__
#define __sysinfo_system__
/*
* System dependant information
*/
#if defined(sun)
# include <sys/param.h>
# include <sys/file.h>
# include <machine/cpu.h>
/*
* What manufacturer is this?
*/
# if defined(TAD_SPBK_ARCH)
# define MAN_SHORT "Tadpole"
# define MAN_LONG "Tadpole Technology Inc"
# define TADPOLE
# elif defined(CPU_TYPE_SERIES4) || defined(CPU_TYPE_SERIES5) || \
defined(CPU_TYPE_SERIES5E) || defined(CPU_TYPE_SERIES6)
# define MAN_SHORT "Solbourne"
# define MAN_LONG "Solbourne Computer Corporation"
# define SOLBOURNE
# else
# define MAN_SHORT "Sun"
# define MAN_LONG "Sun Microsystems Incorporated"
# define HAVE_SUNROMVEC
# endif
# if defined(mc68020)
# define ARCH_TYPE "sun3"
# define HAVE_IPI
# define HAVE_MAINBUS
# endif
# if defined(sparc)
# define ARCH_TYPE "sun4"
# if !defined(TADPOLE) && !defined(SOLBOURNE)
# define HAVE_IPI
# endif
# if !defined(TADPOLE)
# define HAVE_MAINBUS
# endif
# endif
# if defined(i386)
# define ARCH_TYPE "sun386"
# define HAVE_MAINBUS
# endif
# if defined(OPENPROMS)
# define HAVE_OPENPROM
# endif
# define NEED_SOCKIO
# define HAVE_IDMETHOD
# define HAVE_VARARGS
# define HAVE_UNAME
# define HAVE_KVM
# define HAVE_NLIST
# define HAVE_NIT
# define HAVE_KARCHNAME
# if !defined(SECSIZE)
# define SECSIZE 512 /* Size of a disk sector */
# endif
# define KERNSTR_END '\n'
/*
* This is to get around an error on Sun386i's in <sun386/cpu.h>
*/
#if defined(SUN386_ARCH) && !defined(I386_ARCH)
#define I386_ARCH SUN386_ARCH
#endif
#endif /* sun */
#if defined(ultrix) || defined(vax)
# if defined(ultrix)
# define HAVE_UNAME
# include <unistd.h>
# else
# include <sys/file.h>
# define OS_NAME "BSD"
# endif
# define MAN_SHORT "DEC"
# define MAN_LONG "Digital Equipment Corporation"
# define HAVE_VARARGS
# define HAVE_UBA
# define HAVE_IF_VERSION
# define HAVE_PACKETFILTER
# define HAVE_NLIST
# define NEED_KVM
# define KERNSTR_END '\n'
# if !defined(SECSIZE)
# define SECSIZE 512 /* Size of a disk sector */
# endif
#endif /* ultrix || vax */
#if defined(hp300)
# include <sys/file.h>
# include <sys/param.h>
# define MAN_SHORT "HP"
# define MAN_LONG "Hewlett Packard"
# define OS_NAME "BSD"
# if defined(BSD) && BSD == 43
# define OS_VERSION "4.3"
# endif
# define CPU_NAME "MC68030"
# define HAVE_VARARGS
# define HAVE_NLIST
# define KERNSTR_END '\n'
# define NEED_KVM
#endif /* hp300 */
#if defined(alliant)
# include <sys/file.h>
# define MAN_SHORT "Alliant"
# define MAN_LONG "Alliant Computer Corporation"
# if defined(i860)
# include <sys/alliant2800.h>
# define CPU_NAME "i860"
# define ARCH_TYPE "alliant2800"
# define OS_NAME "Concentrix 2800"
# define HAVE_MODELNUM
# define HAVE_MEMORYSIZE
# define HAVE_SERIALNUM
# define OSVERS_FROM_KERNVER 4
# else
# include <sys/param.h>
# include <machine/vmparam.h>
# include <machine/bpb.h>
# define OS_NAME "Concentrix"
# define ARCH_TYPE "alliant"
# define HAVE_LIB_SYSCFG
# define HAVE_USERETC
# define OSVERS_FROM_KERNVER 3
# endif
# define HAVE_NLIST
# define NEED_KVM
#endif /* alliant */
#if defined(NeXT)
# include <sys/file.h>
# include <kern/mach_host.h>
# define MAN_SHORT "NeXT"
# define MAN_LONG "NeXT Computer"
# define OS_NAME "NeXT Mach"
# define HAVE_VARARGS
# define HAVE_HOST_INFO
# define HAVE_KARCHNAME
# define HAVE_AARCHNAME
# define HAVE_NLIST
# define NEED_KVM
# define KERNSTR_END ';'
# if !defined(mc68k)
# define mc68k
# endif
#endif /* NeXT */
#if defined(_AIX)
# include <sys/file.h>
# define MAN_SHORT "IBM"
# define MAN_LONG "International Business Machines Corporation"
# ifdef _IBMR2
# define CPU_NAME "rios"
# endif
# define ARCH_TYPE "rs6000"
# define KARCH_TYPE ARCH_TYPE
# define HAVE_VARARGS
# define HAVE_UNAME
# define UNAME_REL_VER_COMB
# define HAVE_NLIST
# define NEED_KVM
#endif /* _AIX */
/*
* Everything depends on HAVE_KVM
*/
#if defined(NEED_KVM) && !defined(HAVE_KVM)
#define HAVE_KVM
#endif
#endif /* __sysinfo_system__ */