home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume26 / sysinfo-1.0 / part01 / system.h < prev   
C/C++ Source or Header  |  1993-04-10  |  7KB  |  263 lines

  1. /*
  2.  * Copyright (c) 1992 Michael A. Cooper.
  3.  * This software may be freely distributed provided it is not sold for 
  4.  * profit and the author is credited appropriately.
  5.  */
  6.  
  7. /*
  8.  * $Header: /src/common/usc/bin/sysinfo/RCS/system.h,v 1.23 1992/04/26 23:32:06 mcooper Exp $
  9.  *
  10.  * $Log: system.h,v $
  11.  * Revision 1.23  1992/04/26  23:32:06  mcooper
  12.  * Add Copyright notice
  13.  *
  14.  * Revision 1.22  1992/04/18  20:47:43  mcooper
  15.  * Merge Solbourne stuff back into main "sun" area.
  16.  *
  17.  * Revision 1.20  1992/04/17  01:08:56  mcooper
  18.  * BROKEN_NLIST_CHECK is no longer needed.
  19.  *
  20.  * Revision 1.19  1992/04/12  22:02:15  mcooper
  21.  * - Add Tadpole support.
  22.  * - Remove obsolete MODEL_SHIFTVAL.
  23.  * - Update solbourne to current "sun" stuff.
  24.  *
  25.  * Revision 1.17  1992/03/31  02:44:32  mcooper
  26.  * Add BROKEN_NLIST_CHECK to hp300.
  27.  *
  28.  * Revision 1.16  1992/03/22  00:27:11  mcooper
  29.  * Remove obsolete items.
  30.  *
  31.  * Revision 1.15  1992/03/09  01:08:10  mcooper
  32.  * Ultrix now has HAVE_MODELNAME.
  33.  *
  34.  * Revision 1.14  1992/03/08  23:10:27  mcooper
  35.  * Add HAVE_PACKETFILTER to Ultrix.
  36.  *
  37.  * Revision 1.13  1992/03/08  04:56:17  mcooper
  38.  * Add NEED_SOCKIO for suns and HAVE_IF_VERSION for ultrix.
  39.  *
  40.  * Revision 1.12  1992/03/06  18:39:55  mcooper
  41.  * - Add HAVE_NLIST where needed.
  42.  * - Add ultrix stuff for devices.
  43.  * - Define HAVE_KVM if NEED_KVM is defined.
  44.  *
  45.  * Revision 1.11  1992/03/01  23:29:39  mcooper
  46.  * Add new MODELNAME and ?ARCHNAME stuff.
  47.  *
  48.  * Revision 1.10  1992/02/27  00:09:36  mcooper
  49.  * Update solbourne to have HAVE_MAINBUS and HAVE_OPENPROM.
  50.  *
  51.  * Revision 1.9  1992/02/22  02:18:44  mcooper
  52.  * Add definitions for sun HAVE_MAINBUS and HAVE_OPENPROM.
  53.  *
  54.  * Revision 1.8  1992/02/17  01:00:14  mcooper
  55.  * Update solbourne.
  56.  *
  57.  * Revision 1.7  1992/02/10  21:04:51  mcooper
  58.  * - Add #ifdef's for HAVE_IPI
  59.  * - Change sun #include <arch/cpu.h> to <machine/cpu.h
  60.  * - Define SECSIZE, HAVE_DK_IOCTL, and HAVE_NIT.
  61.  *
  62.  * Revision 1.6  1991/10/09  03:37:17  mcooper
  63.  * Add support for getting serial number
  64.  * and model name directly from system on
  65.  * Alliant FX80 series.
  66.  *
  67.  * Revision 1.5  1991/10/01  01:48:56  mcooper
  68.  * Add HAVE_SERIALNUM for Alliant 2800.
  69.  *
  70.  * Revision 1.4  1991/09/30  05:28:34  mcooper
  71.  * Set OSVERS_FROM_KERNVER correctly for alliant 2800.
  72.  *
  73.  * Revision 1.3  1991/09/30  05:21:57  mcooper
  74.  * Add support for getting memory and model
  75.  * number on Alliant 2800's.
  76.  *
  77.  * Revision 1.2  1991/09/30  04:48:10  mcooper
  78.  * Don't need to define COFF for Sun386i
  79.  * since it is predefined.
  80.  *
  81.  * Revision 1.1  1991/09/30  04:32:36  mcooper
  82.  * Initial revision
  83.  *
  84.  */
  85.  
  86. #ifndef __sysinfo_system__
  87. #define __sysinfo_system__
  88.  
  89. /*
  90.  * System dependant information
  91.  */
  92.  
  93. #if defined(sun)
  94. #    include <sys/param.h>
  95. #    include <sys/file.h>
  96. #    include <machine/cpu.h>
  97.     /*
  98.      * What manufacturer is this?
  99.      */
  100. #    if defined(TAD_SPBK_ARCH)
  101. #        define MAN_SHORT    "Tadpole"
  102. #        define MAN_LONG        "Tadpole Technology Inc"
  103. #        define TADPOLE
  104. #    elif defined(CPU_TYPE_SERIES4) || defined(CPU_TYPE_SERIES5) || \
  105.              defined(CPU_TYPE_SERIES5E) || defined(CPU_TYPE_SERIES6)
  106. #        define MAN_SHORT    "Solbourne"
  107. #        define MAN_LONG        "Solbourne Computer Corporation"
  108. #        define SOLBOURNE
  109. #    else
  110. #        define MAN_SHORT    "Sun"
  111. #        define MAN_LONG        "Sun Microsystems Incorporated"
  112. #        define HAVE_SUNROMVEC
  113. #    endif
  114.  
  115. #    if defined(mc68020)
  116. #        define ARCH_TYPE     "sun3"
  117. #        define HAVE_IPI
  118. #        define HAVE_MAINBUS
  119. #    endif
  120. #    if defined(sparc)
  121. #        define ARCH_TYPE     "sun4"
  122. #        if !defined(TADPOLE) && !defined(SOLBOURNE)
  123. #            define HAVE_IPI
  124. #        endif
  125. #        if !defined(TADPOLE)
  126. #            define HAVE_MAINBUS
  127. #        endif
  128. #    endif
  129. #    if defined(i386)
  130. #        define ARCH_TYPE     "sun386"
  131. #        define HAVE_MAINBUS
  132. #    endif
  133. #    if defined(OPENPROMS)
  134. #        define HAVE_OPENPROM
  135. #    endif
  136. #    define NEED_SOCKIO
  137. #    define HAVE_IDMETHOD
  138. #    define HAVE_VARARGS
  139. #    define HAVE_UNAME
  140. #    define HAVE_KVM
  141. #    define HAVE_NLIST
  142. #    define HAVE_NIT
  143. #    define HAVE_KARCHNAME
  144. #    if !defined(SECSIZE)
  145. #        define SECSIZE    512        /* Size of a disk sector */
  146. #    endif
  147. #    define KERNSTR_END    '\n'
  148. /*
  149.  * This is to get around an error on Sun386i's in <sun386/cpu.h>
  150.  */
  151. #if defined(SUN386_ARCH) && !defined(I386_ARCH)
  152. #define I386_ARCH SUN386_ARCH
  153. #endif
  154. #endif /* sun */
  155.  
  156. #if defined(ultrix) || defined(vax)
  157. #    if defined(ultrix)
  158. #        define HAVE_UNAME
  159. #        include <unistd.h>
  160. #    else
  161. #        include <sys/file.h>
  162. #        define OS_NAME    "BSD"
  163. #    endif
  164. #    define MAN_SHORT    "DEC"
  165. #    define MAN_LONG        "Digital Equipment Corporation"
  166. #    define HAVE_VARARGS
  167. #    define HAVE_UBA
  168. #    define HAVE_IF_VERSION
  169. #    define HAVE_PACKETFILTER
  170. #    define HAVE_NLIST
  171. #    define NEED_KVM
  172. #    define KERNSTR_END    '\n'
  173. #    if !defined(SECSIZE)
  174. #        define SECSIZE    512        /* Size of a disk sector */
  175. #    endif
  176. #endif /* ultrix || vax */
  177.  
  178. #if defined(hp300)
  179. #    include <sys/file.h>
  180. #    include <sys/param.h>
  181. #    define MAN_SHORT    "HP"
  182. #    define MAN_LONG        "Hewlett Packard"
  183. #    define OS_NAME        "BSD"
  184. #    if defined(BSD) && BSD == 43
  185. #        define OS_VERSION    "4.3"
  186. #    endif
  187. #    define CPU_NAME        "MC68030"
  188. #    define HAVE_VARARGS
  189. #    define HAVE_NLIST
  190. #    define KERNSTR_END    '\n'
  191. #    define NEED_KVM
  192. #endif /* hp300 */
  193.  
  194. #if defined(alliant)
  195. #    include <sys/file.h>
  196. #    define MAN_SHORT    "Alliant"
  197. #    define MAN_LONG        "Alliant Computer Corporation"
  198. #    if defined(i860)
  199. #        include <sys/alliant2800.h>
  200. #        define CPU_NAME        "i860"
  201. #        define ARCH_TYPE     "alliant2800"
  202. #        define OS_NAME        "Concentrix 2800"
  203. #        define HAVE_MODELNUM
  204. #        define HAVE_MEMORYSIZE
  205. #        define HAVE_SERIALNUM
  206. #        define OSVERS_FROM_KERNVER 4
  207. #    else
  208. #        include <sys/param.h>
  209. #        include <machine/vmparam.h>
  210. #        include <machine/bpb.h>
  211. #        define OS_NAME        "Concentrix"
  212. #        define ARCH_TYPE     "alliant"
  213. #        define HAVE_LIB_SYSCFG
  214. #        define HAVE_USERETC
  215. #        define OSVERS_FROM_KERNVER 3
  216. #    endif
  217. #    define HAVE_NLIST
  218. #    define NEED_KVM
  219. #endif /* alliant */
  220.  
  221. #if defined(NeXT)
  222. #    include <sys/file.h>
  223. #    include <kern/mach_host.h>
  224. #    define MAN_SHORT    "NeXT"
  225. #    define MAN_LONG        "NeXT Computer"
  226. #    define OS_NAME        "NeXT Mach"
  227. #    define HAVE_VARARGS
  228. #    define HAVE_HOST_INFO
  229. #    define HAVE_KARCHNAME
  230. #    define HAVE_AARCHNAME
  231. #    define HAVE_NLIST
  232. #    define NEED_KVM
  233. #    define KERNSTR_END    ';'
  234. #    if !defined(mc68k)
  235. #        define mc68k
  236. #    endif
  237. #endif /* NeXT */
  238.  
  239. #if defined(_AIX)
  240. #    include <sys/file.h>
  241. #    define MAN_SHORT    "IBM"
  242. #    define MAN_LONG        "International Business Machines Corporation"
  243. #    ifdef _IBMR2
  244. #        define CPU_NAME    "rios"
  245. #    endif
  246. #    define ARCH_TYPE    "rs6000"
  247. #    define KARCH_TYPE    ARCH_TYPE
  248. #    define HAVE_VARARGS
  249. #    define HAVE_UNAME
  250. #    define UNAME_REL_VER_COMB
  251. #    define HAVE_NLIST
  252. #    define NEED_KVM
  253. #endif /* _AIX */
  254.  
  255. /*
  256.  * Everything depends on HAVE_KVM
  257.  */
  258. #if    defined(NEED_KVM) && !defined(HAVE_KVM)
  259. #define HAVE_KVM
  260. #endif
  261.  
  262. #endif /* __sysinfo_system__ */
  263.