1232633Smpnewcode :
2232633Smp/* $Header: /p/tcsh/cvsroot/tcsh/host.defs,v 1.55 2012/01/11 20:20:15 christos Exp $ */
359243Sobrien/*
459243Sobrien * host.defs: Hosttype/Machtype etc.
559243Sobrien */
659243Sobrien/*-
759243Sobrien * Copyright (c) 1980, 1991 The Regents of the University of California.
859243Sobrien * All rights reserved.
959243Sobrien *
1059243Sobrien * Redistribution and use in source and binary forms, with or without
1159243Sobrien * modification, are permitted provided that the following conditions
1259243Sobrien * are met:
1359243Sobrien * 1. Redistributions of source code must retain the above copyright
1459243Sobrien *    notice, this list of conditions and the following disclaimer.
1559243Sobrien * 2. Redistributions in binary form must reproduce the above copyright
1659243Sobrien *    notice, this list of conditions and the following disclaimer in the
1759243Sobrien *    documentation and/or other materials provided with the distribution.
18100616Smp * 3. Neither the name of the University nor the names of its contributors
1959243Sobrien *    may be used to endorse or promote products derived from this software
2059243Sobrien *    without specific prior written permission.
2159243Sobrien *
2259243Sobrien * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2359243Sobrien * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2459243Sobrien * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2559243Sobrien * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2659243Sobrien * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2759243Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2859243Sobrien * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2959243Sobrien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
3059243Sobrien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3159243Sobrien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3259243Sobrien * SUCH DAMAGE.
3359243Sobrien */
3459243Sobrien#include "sh.h"
3559243Sobrien
36232633SmpRCSID("$tcsh: host.defs,v 1.55 2012/01/11 20:20:15 christos Exp $")
3759243Sobrien
38232633Smpendcode :
3959243Sobrien
40131962Smpmacro	: M_mips64el : (defined(mips64) || defined(__mips64)) && (defined(MIPSEL) || defined(__MIPSEL))
41131962Smpmacro	: M_mips64eb : (defined(mips64) || defined(__mips64)) && (defined(MIPSEB) || defined(__MIPSEB))
42131962Smpmacro	: M_mipsel : (!defined(M_mips64el)) && (defined(mips) || defined(__mips)) && (defined(MIPSEL) || defined(__MIPSEL))
43131962Smpmacro	: M_mipseb : (!defined(M_mips64eb)) && (defined(mips) || defined(__mips)) && (defined(MIPSEB) || defined(__MIPSEB))
4459243Sobrienmacro	: M_i386 : (defined(i386) || defined(__i386__))
4559243Sobrienmacro	: M_i486 : (defined(i486) || defined(__i486__))
4659243Sobrienmacro	: M_i586 : (defined(i586) || defined(__i586__))
47232633Smpmacro	: M_i686 : (defined(i686) || defined(__i686__))
4859243Sobrienmacro	: M_intel : (defined(M_i386) || defined(M_i486) || defined(M_i586))
4959243Sobrien
5059243Sobriennewdef	: defined(ns32000)
51232633Smpnewcode :
5259243Sobrienstatic char *
53167465Smpisamultimax(int flag)
5459243Sobrien{
5559243Sobrien    if (access("/Umax.image", F_OK) == 0)
5659243Sobrien	return "multimax";
5759243Sobrien    else 
5859243Sobrien	return flag ? "mach" : "ns32000";
5959243Sobrien}
60232633Smpendcode :
6159243Sobrienenddef	:
6259243Sobrien
6359243Sobrien
6459243Sobriennewdef	: defined(cray)
65232633Smpnewcode :
6659243Sobrien/*  
6759243Sobrien * On crays, find the current machine type via the target() syscall
6859243Sobrien * We need ctype.h to convert the name returned to lower case
6959243Sobrien */
7059243Sobrien# include <sys/target.h> 
7159243Sobrien# include <ctype.h>
7259243Sobrien# include <string.h>
7359243Sobrien
7459243Sobrien/* From: hpa@hook.eecs.nwu.edu (H. Peter Anvin) */
7559243Sobrienstatic char *
76167465Smpgetcray(void)
7759243Sobrien{
7859243Sobrien# ifdef MC_GET_SYSTEM /* If we have target() */
7959243Sobrien    struct target data;
8059243Sobrien
8159243Sobrien    if (target(MC_GET_SYSTEM, &data) != -1) {
8259243Sobrien	static char hosttype_buf[sizeof(data.mc_pmt)+1];
83232633Smp	unsigned char *p = (unsigned char *) &(data.mc_pmt);
8459243Sobrien	char *q = hosttype_buf;
8559243Sobrien	int n;
8659243Sobrien
8759243Sobrien	/* 
8859243Sobrien	 * Copy to buffer and convert to lower case 
8959243Sobrien	 * String may not be null-terminated, so keep a counter
9059243Sobrien	 */
9159243Sobrien	for (n = 0; *p && n < sizeof(data.mc_pmt); n++)
9259243Sobrien	  *q++ = tolower(p[n]);
9359243Sobrien
9459243Sobrien	*q = '\0';
9559243Sobrien
9659243Sobrien	/* replace dashes with underscores if present */
9759243Sobrien	while ((q = strchr(hosttype_buf, '-')) != NULL)
9859243Sobrien	    *q = '_';
99232633Smp	return hosttype_buf;	/* Return in static buffer */
10059243Sobrien    }
10159243Sobrien    else
10259243Sobrien# endif /* MC_GET_SYSTEM */
10359243Sobrien	return "cray";		/* target() failed */
10459243Sobrien}
105232633Smpendcode :
10659243Sobrienenddef	:
10759243Sobrien
10859243Sobrien
10959243Sobriennewdef	: defined(convex)
110232633Smpnewcode :
11159243Sobrien/*  
11259243Sobrien * On convex, find the current machine type via the getsysinfo() syscall
11359243Sobrien */
11459243Sobrien#include <sys/sysinfo.h> 
11559243Sobrien
11659243Sobrien/* From: fox@convex.com (David DeSimone) */
11759243Sobrienstatic char *
118167465Smpgetconvex(void)
11959243Sobrien{
12059243Sobrien    struct system_information  sysinfo;
121232633Smp    static char	 result[8];
12259243Sobrien
12359243Sobrien    if (getsysinfo(SYSINFO_SIZE, &sysinfo) == -1)
12459243Sobrien	return "convex";
12559243Sobrien
12659243Sobrien    switch(sysinfo.cpu_type) {
12759243Sobrien#ifdef SI_CPUTYPE_C1
12859243Sobrien    case SI_CPUTYPE_C1:
12959243Sobrien	return "c1";
13059243Sobrien#endif
13159243Sobrien
13259243Sobrien#ifdef SI_CPUTYPE_C2
13359243Sobrien    case SI_CPUTYPE_C2:
13459243Sobrien	return "c2";
13559243Sobrien#endif
13659243Sobrien
13759243Sobrien#ifdef SI_CPUTYPE_C2MP
13859243Sobrien    case SI_CPUTYPE_C2MP:
13959243Sobrien	(void) strcpy(result, "c2X0");
14059243Sobrien	result[2] = sysinfo.cpu_count + '0';
14159243Sobrien	return result;
14259243Sobrien#endif
14359243Sobrien
14459243Sobrien#ifdef SI_CPUTYPE_C34
14559243Sobrien    case SI_CPUTYPE_C34:
14659243Sobrien	(void) strcpy(result, "c34X0");
14759243Sobrien	result[3] = sysinfo.cpu_count + '0';
14859243Sobrien	return result;
14959243Sobrien#endif
15059243Sobrien
15159243Sobrien#ifdef SI_CPUTYPE_C38
15259243Sobrien    case SI_CPUTYPE_C38:
15359243Sobrien	(void) strcpy(result, "c38X0");
15459243Sobrien	result[3] = sysinfo.cpu_count + '0';
15559243Sobrien	return result;
15659243Sobrien#endif
15759243Sobrien
15859243Sobrien#ifdef SI_CPUTYPE_C46
15959243Sobrien    case SI_CPUTYPE_C46:
16059243Sobrien	(void) strcpy(result, "c46X0");
16159243Sobrien	result[3] = sysinfo.cpu_count + '0';
16259243Sobrien	return result;
16359243Sobrien#endif
16459243Sobrien
16559243Sobrien    default:
16659243Sobrien	return "convex";
16759243Sobrien    }
16859243Sobrien}
169232633Smpendcode :
17059243Sobrienenddef	:
17159243Sobrien
172232633Smpnewdef : defined(__linux__) || defined(__CYGWIN__) || defined(__GNU__) || defined(__GLIBC__)
173232633Smpnewcode :
174232633Smp# include "tw.h"
175232633Smp#include <sys/utsname.h>
176232633Smpstatic char mach[256];
177232633Smpstatic char host[256];
178232633Smpstatic char ostype[32];
179232633Smpstatic void populate(void)
180232633Smp{
181232633Smp	struct utsname uts;
182232633Smp	int e = uname(&uts);
183232633Smp	const char *p = short2str(tgetenv(STROSTYPE));
184232633Smp	if (p == NULL) {
185232633Smp#if defined(__ANDROID__)
186232633Smp		p = "android";
187232633Smp#elif defined(__CYGWIN__)
188232633Smp		p = "cygwin";
189232633Smp#else
190232633Smp		p = "linux";
191232633Smp#endif
192232633Smp	}
193232633Smp	xsnprintf(ostype, sizeof(ostype), "%s", p);
194232633Smp	xsnprintf(mach, sizeof(mach), "%s", e != -1 ? uts.machine : "unknown");
195232633Smp	xsnprintf(host, sizeof(host), "%s-%s",
196232633Smp	    e != -1 ? uts.machine : "unknown", ostype);
197232633Smp}
19859243Sobrien
199232633Smpstatic char *
200232633Smpgetmach(void)
201232633Smp{
202232633Smp    if (!mach[0])
203232633Smp	populate();
204232633Smp    return mach;
205232633Smp}
206232633Smp
207232633Smpstatic char *
208232633Smpgethost(void)
209232633Smp{
210232633Smp    if (!host[0])
211232633Smp	populate();
212232633Smp    return host;
213232633Smp}
214232633Smp
215232633Smpstatic char *
216232633Smpgetostype(void)
217232633Smp{
218232633Smp    if (!ostype[0])
219232633Smp	populate();
220232633Smp    return ostype;
221232633Smp}
222232633Smp
223232633Smpendcode :
224232633Smpenddef :
225232633Smp
226232633Smpnewcode :
22759243Sobrienvoid
228167465Smpgetmachine(void)
22959243Sobrien{
230145479Smp     const char *hosttype;
231145479Smp     const char *ostype;
232145479Smp     const char *vendor;
233145479Smp     const char *machtype;
23459243Sobrien
235232633Smpendcode :
23659243Sobrien
23759243Sobrien
23861515Sobriennewdef	: defined(HOSTTYPE)
23961515Sobrienhosttype:						: HOSTTYPE
24061515Sobrienenddef	:
24161515Sobrien
24261515Sobrien
24359243Sobriennewdef	: defined(__PARAGON__)
244232633Smpcomment : Intel Paragon running OSF/1
24559243Sobrienvendor	:						: "intel"
24659243Sobrienhosttype:						: "paragon"
24759243Sobrienostype	:						: "osf1"
248232633Smpmachtype: defined(M_i386)				: "i386"
24959243Sobrienenddef	:
25059243Sobrien
25159243Sobrien
25259243Sobriennewdef	: defined(AMIX)
253232633Smpcomment : Amiga running Amix 2.02
25459243Sobrienvendor	:						: "commodore"
25559243Sobrienhosttype:						: "amiga"
25659243Sobrienostype	:						: "Amix"
25759243Sobrienmachtype:						: "m68k"
25859243Sobrienenddef	:
25959243Sobrien
26059243Sobrien
26159243Sobriennewdef	: defined(accel)
262232633Smpcomment : celerity Accel
263232633Smpvendor	:						: "celerity"
264232633Smphosttype:						: "celerityACCEL"
26559243Sobrienostype	:						: "unix"
26659243Sobrienmachtype:						: "accel"
26759243Sobrienenddef	:
26859243Sobrien
26959243Sobrien
27059243Sobriennewdef	: defined(_VMS_POSIX)
271232633Smpcomment : digital vax or alpha running vms posix
27259243Sobrienvendor	:						: "dec"
27359243Sobrienhosttype:						: "VMS-POSIX"
27459243Sobrienostype	:						: "vms"
275232633Smpmachtype: defined(alpha)				: "alpha"
276232633Smpmachtype: defined(vax)					: "vax"
27759243Sobrienenddef	:
27859243Sobrien
27959243Sobrien
28059243Sobriennewdef	: defined(__hp_osf)
281232633Smpcomment : Hewlett Packard running OSF/1
28259243Sobrienvendor	:						: "hp"
283232633Smphosttype: defined(pa_risc)				: "hp9000s700-osf1"
284232633Smphosttype:						: "hp-osf1"
285232633Smpostype	:						: "osf1"
286232633Smpmachtype: defined(pa_risc)				: "pa_risc"
28759243Sobrienenddef	:
28859243Sobrien
28959243Sobrien
29059243Sobriennewdef	: defined(hp9000)
291232633Smpcomment : Hewlett Packard running MORE/bsd 
292232633Smpvendor	:						: "hp"
29359243Sobrienhosttype: defined(hp300)				: "hp300"
29459243Sobrienhosttype: defined(hp800)				: "hp800"
295232633Smphosttype:						: "hp9000"
29659243Sobrienostype	: defined(BSD4_4)				: "bsd44"
29759243Sobrienostype	:						: "mtXinu"
29859243Sobrienmachtype: defined(hp300)				: "m68k"
29959243Sobrienmachtype: defined(hp800)				: "pa_risc"
30059243Sobrienenddef	:
30159243Sobrien
30259243Sobrien
30359243Sobriennewdef	: defined(hpux) || defined(__hpux)
304232633Smpcomment : Hewlett Packard running HP/UX
30559243Sobrienvendor	:						: "hp"
306232633Smphosttype: defined(hp9000s800)				: "hp9000s800"
307232633Smphosttype: defined(hp9000s700)				: "hp9000s700"
30859243Sobrienhosttype: defined(hp9000s500)				: "hp9000s500"
309232633Smphosttype: defined(hp9000s300)				: "hp9000s300"
310232633Smphosttype:						: "hp"
31159243Sobrienostype	:						: "hpux"
312232633Smpmachtype: defined(hp9000s800)				: "pa_risc"
313232633Smpmachtype: defined(hp9000s700)				: "pa_risc"
31459243Sobrienmachtype: defined(hp9000s500)				: "m68k"
315232633Smpmachtype: defined(hp9000s300)				: "m68k"
31659243Sobrienenddef	:
31759243Sobrien
31859243Sobrien
31959243Sobriennewdef	: defined(apollo)
320232633Smpcomment : Hewlett Packard apollo running Domain/OS
32159243Sobrienvendor	:						: "hp"
322232633Smphosttype:						: "apollo"
32359243Sobrienostype	:						: "DomainOS"
324232633Smpmachtype:						: "m68k"
32559243Sobrienenddef	:
32659243Sobrien
32759243Sobrien
32859243Sobriennewdef	: defined(sun) || defined(__sun__)
329232633Smpcomment : Sun Microsystems series 2 workstation (68010 based)
330232633Smpcomment : Sun Microsystems series 3 workstation (68020 based)
331232633Smpcomment : Sun Microsystems 386i workstation (386 based)
332232633Smpcomment : Sun Microsystems series 4 workstation (SPARC based)
33359243Sobrienvendor	:						: "sun"
33459243Sobrienhosttype: defined(M_i386) && !defined(__SVR4)		: "sun386i"
33559243Sobrienhosttype: defined(M_i386) && defined(__SVR4)		: "i86pc"
336232633Smphosttype: defined(mc68010)				: "sun2"
337232633Smphosttype: defined(mc68020)				: "sun3"
338232633Smphosttype: defined(sparc)				: "sun4"
339232633Smphosttype:						: "sun"
34059243Sobrienostype	: defined(SUNOS3)				: "sunos3"
34159243Sobrienostype	: defined(SUNOS4)				: "sunos4"
34259243Sobrienostype	: defined(SOLARIS2)				: "solaris"
343232633Smpmachtype: defined(mc68010)				: "m68k"
344232633Smpmachtype: defined(mc68020)				: "m68k"
345232633Smpmachtype: defined(sparcv9)				: "sparcv9"
346232633Smpmachtype: defined(sparc)				: "sparc"
34759243Sobrienmachtype: defined(M_i386)				: "i386"
34859243Sobrienenddef	:
34959243Sobrien
35059243Sobrien
35159243Sobriennewdef	: defined(pyr)
352232633Smpcomment : Pyramid Technology
35359243Sobrienvendor	:						: "pyramid"
35459243Sobrienhosttype:						: "pyramid"
35559243Sobrienmachtype:						: "pyramid"
35659243Sobrienenddef	:
35759243Sobrien
35859243Sobrien
35959243Sobriennewdef	: defined(hcx) || defined(_CX_UX)
360232633Smpcomment : Harris Tahoe running CX/UX
36159243Sobrienvendor	:						: "harris"
36259243Sobrienhosttype:						: "hcx"
36359243Sobrienostype	:						: "hcx"
36459243Sobrienmachtype:						: "tahoe"
36559243Sobrienenddef	:
36659243Sobrien
36759243Sobrien
36859243Sobriennewdef	: defined(tahoe)
369232633Smpcomment : Harris Tahoe
37059243Sobrienvendor	:						: "harris"
37159243Sobrienhosttype:						: "tahoe"
37259243Sobrienmachtype:						: "tahoe"
37359243Sobrienenddef	:
37459243Sobrien
37559243Sobrien
37659243Sobriennewdef	: defined(ibm032)
377232633Smpcomment : RT running IBM AOS4.3 or MACH
37859243Sobrienvendor	:						: "ibm"
37959243Sobrienhosttype:						: "rt"
38059243Sobrienostype	: defined(MACH)					: "mach"
381232633Smpostype	:						: "aos"
38259243Sobrienmachtype:						: "ibm032"
38359243Sobrienenddef	:
38459243Sobrien
38559243Sobrien
38659243Sobriennewdef	: defined(aiws)
387232633Smpcomment : RT running IBM aix2.x
38859243Sobrienvendor	:						: "ibm"
38959243Sobrienhosttype:						: "rtpc"
39059243Sobrienostype	:						: "aix"
39159243Sobrienmachtype:						: "ibm032"
39259243Sobrienenddef	:
39359243Sobrien
39459243Sobrien
39559243Sobriennewdef	: defined(_AIX370)
396232633Smpcomment : IBM/370 running aix
39759243Sobrienvendor	:						: "ibm"
39859243Sobrienhosttype:						: "aix370"
39959243Sobrienostype	:						: "aix"
40059243Sobrienmachtype:						: "ibm370"
40159243Sobrienenddef	:
40259243Sobrien
40359243Sobrien
40459243Sobriennewdef	: defined(_IBMESA)
405232633Smpcomment : IBM/ESA running aix
40659243Sobrienvendor	:						: "ibm"
40759243Sobrienhosttype:						: "aixESA"
40859243Sobrienostype	:						: "aix"
40959243Sobrienmachtype:						: "esa"
41059243Sobrienenddef	:
41159243Sobrien
41259243Sobrien
41359243Sobriennewdef	: defined(_IBMR2)
414232633Smpcomment : IBM/RS6000 running aix
41559243Sobrienvendor	:						: "ibm"
41659243Sobrienhosttype:						: "rs6000"
41759243Sobrienostype	:						: "aix"
41859243Sobrienmachtype:						: "rs6000"
41959243Sobrienenddef	:
42059243Sobrien
42159243Sobrien
42259243Sobriennewdef	: defined(_AIXPS2)
423232633Smpcomment : IBM/PS2 running aix
42459243Sobrienvendor	:						: "ibm"
42559243Sobrienhosttype:						: "ps2"
42659243Sobrienostype	:						: "aix"
42759243Sobrienmachtype:						: "i386"
42859243Sobrienenddef	:
42959243Sobrien
43059243Sobrien
43159243Sobriennewdef	: defined(OREO)
432232633Smpcomment : Macintosh running AU/X
43359243Sobrienvendor	:						: "apple"
43459243Sobrienhosttype:						: "mac2"
43559243Sobrienostype	:						: "aux"
43659243Sobrienmachtype: defined(mc68020)				: "m68k"
43759243Sobrienenddef	:
43859243Sobrien
43959243Sobrien
44059243Sobriennewdef	: defined(u3b20d)
441232633Smpcomment : AT&T 3B/20 series running SVR2/3 
44259243Sobrienvendor	:						: "att"
44359243Sobrienhosttype:						: "att3b20"
44459243Sobrienmachtype:						: "u3b20"
44559243Sobrienenddef	:
44659243Sobrien
44759243Sobrien
44859243Sobriennewdef	: defined(u3b15)
449232633Smpcomment : AT&T 3B/15 series running SVR2/3 
45059243Sobrienvendor	:						: "att"
45159243Sobrienhosttype:						: "att3b15"
45259243Sobrienmachtype:						: "u3b15"
45359243Sobrienenddef	:
45459243Sobrien
45559243Sobrien
45659243Sobriennewdef	: defined(u3b5)
457232633Smpcomment : AT&T 3B/5 series running SVR2/3 
45859243Sobrienvendor	:						: "att"
45959243Sobrienhosttype:						: "att3b5"
46059243Sobrienmachtype:						: "u3b5"
46159243Sobrienenddef	:
46259243Sobrien
46359243Sobrien
46459243Sobriennewdef	: defined(u3b2)
465232633Smpcomment : AT&T 3B/2 series running SVR2/3 
46659243Sobrienvendor	:						: "att"
46759243Sobrienhosttype:						: "att3b2"
46859243Sobrienmachtype:						: "u3b2"
46959243Sobrienenddef	:
47059243Sobrien
47159243Sobrien
47259243Sobriennewdef	: defined(UNIXPC)
473232633Smpcomment : AT&T UnixPC att3b1/att7300
47459243Sobrienvendor	:						: "att"
47559243Sobrienhosttype:						: "unixpc"
47659243Sobrienmachtype: defined(u3b1)					: "u3b1"
47759243Sobrienmachtype: defined(att7300)				: "att7300"
47859243Sobrienenddef	:
47959243Sobrien
48059243Sobrien
48159243Sobriennewdef	: defined(_MINIX)
482232633Smpcomment : Andy Tanenbaum's minix
48359243Sobrienvendor	: defined(M_i386)				: "intel"
48459243Sobrienhosttype: defined(M_i386)				: "minix386"
48559243Sobrienhosttype:						: "minix"
48659243Sobrienostype	:						: "minix"
48759243Sobrienmachtype: defined(M_i386)				: "i386"
48859243Sobrienenddef	:
48959243Sobrien
49059243Sobrien
491232633Smpnewdef	: defined(__gnu_hurd__)
492232633Smpcomment : GNU/HURD
493232633Smpvendor	: defined(M_intel)				: "intel"
494232633Smphosttype: defined(M_i686)				: "i686"
495232633Smphosttype: defined(M_i586)				: "i586"
496232633Smphosttype: defined(M_i486)				: "i486"
497232633Smphosttype: defined(M_i386)				: "i386"
498232633Smpostype	:						: "gnu"
499232633Smpmachtype: defined(M_i686)				: "i686-pc-gnu"
500232633Smpmachtype: defined(M_i586)				: "i586-pc-gnu"
501232633Smpmachtype: defined(M_i486)				: "i486-pc-gnu"
502232633Smpmachtype: defined(M_i386)				: "i386-pc-gnu"
503232633Smpenddef	:
504232633Smp
505232633Smp
506145479Smpnewdef	: defined(linux) || defined(__GNU__) || defined(__GLIBC__)
507232633Smpcomment : Linus Torvalds's linux
50859243Sobrienvendor	: defined(M_intel)				: "intel"
509232633Smphosttype:						: gethost()
510232633Smpostype	:						: getostype()
511232633Smpmachtype:						: getmach()
512232633Smpvendor	: defined(__ANDROID__)				: "linux"
513232633Smpvendor	: defined(alpha)				: "dec"
51459243Sobrienvendor	: defined(PPC)					: "apple"
51559243Sobrienenddef	:
51659243Sobrien
51759243Sobrien
51859243Sobriennewdef	: defined(__EMX__)
519232633Smpcomment : OS/2 EMX [unix emulation under OS/2]
52059243Sobrienvendor	: defined(M_intel)				: "intel"
52159243Sobrienhosttype: defined(M_i386)				: "i386-emx"
52259243Sobrienostype	:						: "os2"
52359243Sobrienmachtype: defined(M_i386)				: "i386"
52459243Sobrienenddef	:
52559243Sobrien
52659243Sobrien
52759243Sobriennewdef	: defined(__NetBSD__) 
528232633Smpcomment : NetBSD
529232633Smpvendor	: defined(algor)				: "algoritmics"
530100616Smpvendor	: defined(arm32) || defined(__arm__)		: "acorn"
53159243Sobrienvendor	: defined(alpha)				: "digital"
53259243Sobrienvendor	: defined(amiga)				: "commodore"
53359243Sobrienvendor	: defined(atari)				: "atari"
53459243Sobrienvendor	: defined(hp300)				: "hp"
53559243Sobrienvendor	: defined(M_intel)				: "intel"
53659243Sobrienvendor	: defined(m68k)					: "motorola"
53759243Sobrienvendor	: defined(mac68k)				: "apple"
53859243Sobrienvendor	: defined(pc532)				: "national-semi"
53983098Smpvendor	: defined(pmax)					: "dec"
540232633Smpvendor	: defined(powerpc)				: "motorola"
54183098Smpvendor	: defined(mips)					: "mips"
54259243Sobrienvendor	: defined(sparc)				: "sun"
543232633Smpvendor	: defined(sparc64)				: "sun"
54459243Sobrienvendor	: defined(sun3)					: "sun"
54559243Sobrienvendor	: defined(vax)					: "digital"
546232633Smpvendor	: defined(x86_64)				: "amd"
547232633Smphosttype:						: "NetBSD"
548232633Smpostype	:						: "NetBSD"
549232633Smpmachtype: defined(alpha)				: "alpha"
550232633Smpmachtype: defined(algor)				: "algor"
551100616Smpmachtype: defined(arm32) || defined(__APCS_32__)	: "arm32"
552100616Smpmachtype: defined(arm26) || defined(__APCS_26__)	: "arm26"
553232633Smpmachtype: defined(arm)					: "arm"
55459243Sobrienmachtype: defined(sparc)				: "sparc"
555232633Smpmachtype: defined(sparc64)				: "sparc64"
55659243Sobrienmachtype: defined(mc68020)				: "m68k"
55759243Sobrienmachtype: defined(M_i386)				: "i386"
55859243Sobrienmachtype: defined(M_mipsel)				: "mipsel"
55959243Sobrienmachtype: defined(M_mipseb)				: "mipseb"
56059243Sobrienmachtype: defined(mips)					: "mips"
56159243Sobrienmachtype: defined(pc532)				: "pc532"
562232633Smpmachtype: defined(powerpc)				: "powerpc"
56359243Sobrienmachtype: defined(vax)					: "vax"
564232633Smpmachtype: defined(x86_64)				: "x86_64"
56559243Sobrienenddef	:
56659243Sobrien
56759243Sobrien
56859243Sobriennewdef	: defined(__FreeBSD__) 
569232633Smpcomment : FreeBSD
570232633Smpvendor	: defined(alpha)				: "digital"
571232633Smpvendor	: defined(arm32) || defined(__arm__)		: "acorn"
57259243Sobrienvendor	: defined(M_intel)				: "intel"
573232633Smpvendor	: defined(ia64)					: "intel"
574232633Smpvendor	: defined(mips)					: "mips"
575232633Smpvendor	: defined(powerpc)				: "motorola"
576232633Smpvendor	: defined(sparc)				: "sun"
577232633Smpvendor	: defined(sparc64)				: "sun"
578232633Smpvendor	: defined(x86_64)				: "amd"
57959243Sobrienhosttype:						: "FreeBSD"
58059243Sobrienostype	:						: "FreeBSD"
581232633Smpmachtype: defined(alpha)				: "alpha"
582232633Smpmachtype: defined(arm32) || defined(__APCS_32__)	: "arm32"
583232633Smpmachtype: defined(arm)					: "arm"
584232633Smpmachtype: defined(ia64)					: "ia64"
58583098Smpmachtype: defined(M_i386)				: "i386"
586232633Smpmachtype: defined(mips)					: "mips"
587232633Smpmachtype: defined(powerpc)				: "powerpc"
588232633Smpmachtype: defined(sparc)				: "sparc"
589232633Smpmachtype: defined(sparc64)				: "sparc64"
590232633Smpmachtype: defined(x86_64)				: "x86_64"
59159243Sobrienenddef	:
59259243Sobrien
59359243Sobrien
594232633Smpnewdef	: defined(__MidnightBSD__)
595195609Smpcomment : MidnightBSD
596232633Smpvendor	: defined(M_intel)				: "intel"
597232633Smphosttype:						: "MidnightBSD"
598232633Smpostype	:						: "MidnightBSD"
599232633Smpmachtype: defined(M_i386)				: "i386"
600232633Smpenddef	:
601195609Smp
602195609Smp
60359243Sobriennewdef	: defined(__386BSD__)
604232633Smpcomment : Bill Jolitz's 386BSD
60559243Sobrienvendor	: defined(M_intel)				: "intel"
60659243Sobrienhosttype:						: "386BSD"
60759243Sobrienostype	:						: "386BSD"
60859243Sobrienmachtype:						: "i386"
60959243Sobrienenddef	:
61059243Sobrien
61159243Sobrien
61259243Sobriennewdef	: defined(bsdi)
613232633Smpcomment : BSDI's unix
61459243Sobrienvendor	: defined(M_intel)				: "intel"
61559243Sobrienvendor	: defined(sparc)				: "sun"
616232633Smpvendor	: defined(powerpc)				: "motorola"
61759243Sobrienhosttype: defined(M_intel)				: "bsd386"
61859243Sobrienhosttype: defined(sparc)				: "bsd-sparc"
619232633Smphosttype: defined(powerpc)				: "bsd-powerpc"
62059243Sobrienostype	:						: "bsdi"
62159243Sobrienmachtype: defined(M_i386)				: "i386"
62259243Sobrienmachtype: defined(sparc)				: "sparc"
623232633Smpmachtype: defined(powerpc)				: "powerpc"
62459243Sobrienenddef	:
62559243Sobrien
62659243Sobrien
62759243Sobriennewdef	: defined(COHERENT)
628232633Smpcomment : COHERENT's unix
62959243Sobrienvendor	: defined(_I386)				: "intel"
63059243Sobrienhosttype:						: "coh386"
63159243Sobrienhosttype:						: "coherent"
63259243Sobrienostype	:						: "coherent"
63359243Sobrienmachtype: defined(_I386)				: "i386"
63459243Sobrienenddef	:
63559243Sobrien
63683098Smpnewdef	: defined(concurrent)
637232633Smpcomment : Concurrent PowerHawk
63883098Smpvendor	:						: "concurrent"
63983098Smphosttype:						: "powerhawk"
64083098Smpostype	:						: "powermax_os"
64183098Smpmachtype:						: "powerhawk"
64283098Smpenddef	:
64383098Smp
64459243Sobriennewdef	: defined(SCO)
645232633Smpcomment : SCO UNIX System V/386 Release 3.2
64659243Sobrienvendor	:						: "sco"
64759243Sobrienhosttype:						: "sco386"
64859243Sobrienostype	:						: "sco_unix"
64959243Sobrienmachtype:						: "i386"
65059243Sobrienenddef	:
65159243Sobrien
65259243Sobriennewdef	: defined(M_XENIX) && !defined(M_UNIX)
653232633Smpcomment : SCO XENIX
65459243Sobrienvendor	:						: "sco"
65559243Sobrienhosttype:						: "sco_xenix"
65659243Sobrienostype	:						: "sco_xenix"
65759243Sobrienmachtype: defined(M_I386)				: "i386"
65859243Sobrienmachtype: defined(M_I286)				: "i286"
65959243Sobrienenddef	:
66059243Sobrien
66159243Sobrien
66259243Sobriennewdef	: defined(ISC) || defined(ISC202)
663232633Smpcomment : Interactive Unix
66459243Sobrienvendor	:						: "isc"
66559243Sobrienhosttype:						: "isc386"
66659243Sobrienostype	: defined(POSIX)				: "POSIX"
667232633Smpostype	:						: "SVR3"
66859243Sobrienmachtype: defined(M_i386)				: "i386"
66959243Sobrienenddef	:
67059243Sobrien
67159243Sobrien
67259243Sobriennewdef	: defined(INTEL)
673232633Smpcomment : Intel Unix
67459243Sobrienvendor	:						: "intel"
67559243Sobrienhosttype:						: "intel386"
67659243Sobrienostype	:						: "intel_unix"
67759243Sobrienmachtype: defined(M_i386)				: "i386"
67859243Sobrienenddef	:
67959243Sobrien
68059243Sobrien
68159243Sobriennewdef	: defined(MACH)
682232633Smpcomment : cmu's mach
68359243Sobrienvendor	:						: "cmu"
68459243Sobrienhosttype: defined(M_i386)				: "i386-mach"
68559243Sobrienostype	:						: "mach"
68659243Sobrienmachtype: defined(M_i386)				: "i386"
68759243Sobrienenddef	:
68859243Sobrien
68959243Sobrien
69059243Sobriennewdef	: defined(alliant)
691232633Smpcomment : Alliants FSX
69259243Sobrienvendor	:						: "alliant"
69359243Sobrienhosttype: defined(mc68000)				: "alliant-fx80"
69459243Sobrienhosttype: defined(i860)					: "alliant-fx2800"
69559243Sobrienhosttype:						: "alliant"
69659243Sobrienostype	:						: "fsx"
69759243Sobrienmachtype: defined(mc68000)				: "mc68000"
69859243Sobrienmachtype: defined(i860)					: "i860"
69959243Sobrienenddef	:
70059243Sobrien
70159243Sobrien
70259243Sobriennewdef	: defined(_FTX)
703232633Smpcomment : Stratus Computer, Inc FTX2 (i860 based)
704232633Smpcomment : Stratus Computer, Inc FTX3 (HPPA based)
70559243Sobrienvendor	:						: "stratus"
70659243Sobrienhosttype: defined(i860) && defined(_FTX)		: "atlantic"
707232633Smphosttype: defined(hppa) && defined(_FTX)		: "continuum"
70859243Sobrienostype	: defined(i860) && defined(_FTX)		: "ftx2"
709232633Smpostype	: defined(hppa) && defined(_FTX)		: "ftx3"
71059243Sobrienmachtype: defined(i860)					: "i860"
711232633Smpmachtype: defined(hppa)					: "hppa"
71259243Sobrienenddef	:
71359243Sobrien
71459243Sobrien
71559243Sobriennewdef	: defined(sequent) || defined(_SEQUENT_)
716232633Smpcomment : Sequent Balance (32000 based)
717232633Smpcomment : Sequent Symmetry running DYNIX/ptx (386/486 based)
718232633Smpcomment : Sequent Symmetry running DYNIX 3 (386/486 based)
71959243Sobrienvendor	:						: "sequent"
72059243Sobrienhosttype: defined(M_i386) && defined(sequent)		: "symmetry"
72159243Sobrienhosttype: defined(M_i386)				: "ptx"
722232633Smphosttype:						: "balance"
72359243Sobrienostype	: defined(M_i386) && !defined(sequent)		: "ptx"
724232633Smpostype	:						: "dynix3"
72559243Sobrienmachtype: defined(M_i386)				: "i386"
72659243Sobrienmachtype: defined(ns32000)				: "ns32000"
72759243Sobrienenddef	:
72859243Sobrien
72959243Sobrien
73059243Sobriennewdef	: defined(ns32000)
731232633Smpcomment : Encore Computer Corp. Multimax (32000 based)
73259243Sobrienvendor	:						: "encore"
73359243Sobrienhosttype: defined(CMUCS)				: "multimax"
734232633Smphosttype:						: isamultimax(0)
73559243Sobrienostype	: defined(CMUCS)				: "mach"
73659243Sobrienostype	:						: isamultimax(1)
73759243Sobrienmachtype:						: "ns32000"
73859243Sobrienenddef	:
73959243Sobrien
74059243Sobrien
74159243Sobriennewdef	: defined(iconuxv)
742232633Smpcomment : Icon 88k running Unix
74359243Sobrienvendor	:						: "icon"
74459243Sobrienhosttype:						: "icon"
74559243Sobrienostype	:						: "iconuxv"
746232633Smpmachtype: defined(m88k)					: "m88k"
74759243Sobrienenddef	:
74859243Sobrien
74959243Sobrien
75059243Sobriennewdef	: defined(_CRAY) && defined(_CRAYCOM)
751232633Smpcomment : Cray Computer Corp. running CSOS
75259243Sobrienvendor	:						: "ccc"
75359243Sobrienhosttype: defined(_CRAY2)				: "cray"
75459243Sobrienhosttype: defined(_CRAY3)				: "cray"
75559243Sobrienhosttype: defined(_CRAY4)				: "cray"
75659243Sobrienostype	:						: "CSOS"
75759243Sobrienmachtype: defined(_CRAY2)				: "cray2"
75859243Sobrienmachtype: defined(_CRAY3)				: "cray3"
75959243Sobrienmachtype: defined(_CRAY4)				: "cray4"
76059243Sobrienenddef	:
76159243Sobrien
76259243Sobrien
76359243Sobriennewdef	: defined(cray) && !defined(_CRAYMPP)
764232633Smpcomment : Cray Research Inc. PVP running UNICOS
76559243Sobrienvendor	:						: "cri"
76659243Sobrienhosttype:						: getcray()
76759243Sobrienostype	:						: "unicos"
76859243Sobrienmachtype:						: getcray()
76959243Sobrienenddef	:
77059243Sobrien
77159243Sobrien
772232633Smpnewdef	: defined(cray) && defined(_CRAYT3D)
77359243Sobriencomment : Cray Research Inc. running UNICOS MAX
774232633Smpvendor	:						: "cri"
775232633Smphosttype:						: getcray()
776232633Smpostype	:						: "unicosmax"
777232633Smpmachtype:						: getcray()
778232633Smpenddef	:
77959243Sobrien
78059243Sobrien
78159243Sobriennewdef	: defined(cray) && defined(_CRAYT3E)
782232633Smpcomment : Cray Research Inc. running UNICOS/mk
78359243Sobrienvendor	:						: "cri"
78459243Sobrienhosttype:						: getcray()
78559243Sobrienostype	:						: "unicosmk"
78659243Sobrienmachtype:						: getcray()
78759243Sobrienenddef	:
78859243Sobrien
78959243Sobrien
79059243Sobriennewdef	: defined(convex)
791232633Smpcomment : Convex
792232633Smpvendor	:						: "convex"
79359243Sobrienhosttype:						: "convex"
79459243Sobrienostype	:						: "convexos"
79559243Sobrienmachtype:						: getconvex()
79659243Sobrienenddef	:
79759243Sobrien
79859243Sobrien
79959243Sobriennewdef	: defined(butterfly)
800232633Smpcomment : BBN Butterfly 1000
80159243Sobrienvendor	:						: "bbn"
80259243Sobrienhosttype:						: "butterfly"
803232633Smpmachtype: defined(mc68020)				: "m68k"
80459243Sobrienenddef	:
80559243Sobrien
80659243Sobrien
80759243Sobriennewdef	: defined(NeXT)
808232633Smpcomment : NeXTStep
80959243Sobrienvendor	:						: "next"
810232633Smphosttype: defined(mc68020)				: "next"
811232633Smphosttype: defined(M_i386) 				: "intel-pc"
812232633Smphosttype: defined(hppa)	  				: "hp"
813232633Smphosttype: defined(sparc)  				: "sun"
81459243Sobrienostype	:						: "nextstep"
815232633Smpmachtype: defined(mc68020)				: "m68k"
816232633Smpmachtype: defined(M_i386) 				: "i386"
817232633Smpmachtype: defined(hppa)	  				: "hppa"
818232633Smpmachtype: defined(sparc)  				: "sparc"
81959243Sobrienenddef	:
82059243Sobrien
82159243Sobrien
822100616Smpnewdef	: defined(__APPLE__) && defined(__MACH__)
823232633Smpcomment : OS X
82459243Sobrienvendor	:						: "apple"
825232633Smphosttype: defined(i386)					: "intel-pc"
826232633Smphosttype: defined(ppc)					: "powermac"
827100616Smpostype	:						: "darwin"
828232633Smpmachtype: defined(i386)					: "i386"
829232633Smpmachtype: defined(ppc)					: "powerpc"
83059243Sobrienenddef	:
83159243Sobrien
83259243Sobrien
83359243Sobriennewdef	: defined(sony_news)
834232633Smpcomment : Sony NEWS 800 or 1700 workstation
83559243Sobrienvendor	:						: "sony"
83659243Sobrienhosttype: defined(mips)					: "news_mips"
837232633Smphosttype: defined(mc68020)				: "news_m68k"
83859243Sobrienostype	:						: "News"
839232633Smpmachtype: defined(mc68020)				: "m68k"
84059243Sobrienmachtype: defined(M_mipsel)				: "mipsel"
84159243Sobrienmachtype: defined(M_mipseb)				: "mipseb"
84259243Sobrienenddef	:
84359243Sobrien
84459243Sobrien
84559243Sobriennewdef	: defined(sgi)
846232633Smpcomment : Silicon Graphics
84759243Sobrienvendor	:						: "sgi"
84859243Sobrienhosttype: defined(M_mipsel)				: "iris4d"
84959243Sobrienhosttype: defined(M_mipseb)				: "iris4d"
850232633Smphosttype: defined(mc68000)				: "iris3d"
85159243Sobrienostype	:						: "irix"
85259243Sobrienmachtype: defined(M_mipsel)				: "mipsel"
85359243Sobrienmachtype: defined(M_mipseb)				: "mipseb"
854232633Smpmachtype: defined(mc68000)				: "mc68000"
85559243Sobrienenddef	:
85659243Sobrien
85759243Sobrien
85859243Sobriennewdef	: defined(ultrix) || defined(__ultrix)
859232633Smpcomment : Digital's Ultrix 
86059243Sobrienvendor	:						: "dec"
86159243Sobrienhosttype: defined(M_mipsel)				: "decstation"
86259243Sobrienhosttype: defined(M_mipseb)				: "decmips"
863232633Smphosttype: defined(vax)					: "vax"
86459243Sobrienostype	:						: "ultrix"
86559243Sobrienmachtype: defined(M_mipsel)				: "mipsel"
86659243Sobrienmachtype: defined(M_mipseb)				: "mipseb"
867232633Smpmachtype: defined(vax)					: "vax"
86859243Sobrienenddef	:
86959243Sobrien
87059243Sobrien
87159243Sobriennewdef	: defined(MIPS)
872232633Smpcomment : Mips OS
87359243Sobrienvendor	:						: "mips"
874232633Smphosttype: defined(M_mipsel)				: "mips"
87559243Sobrienhosttype: defined(M_mipseb)				: "mips"
87659243Sobrienostype	:						: "mips"
87759243Sobrienmachtype: defined(M_mipsel)				: "mipsel"
87859243Sobrienmachtype: defined(M_mipseb)				: "mipseb"
87959243Sobrienenddef	:
88059243Sobrien
88159243Sobrien
88259243Sobriennewdef	: defined(DECOSF1)
883232633Smpcomment : Digital's alpha running osf1
88459243Sobrienvendor	:						: "dec"
88559243Sobrienostype	:						: "osf1"
886232633Smphosttype: defined(alpha)				: "alpha"
887232633Smpmachtype: defined(alpha)				: "alpha"
88859243Sobrienenddef	:
88959243Sobrien
89059243Sobrien
89159243Sobriennewdef	: defined(Lynx)
892232633Smpcomment : Lynx OS 2.1
89359243Sobrienvendor	:						: "Lynx"
89459243Sobrienhosttype: defined(M_mipsel)				: "lynxos-mips"
89559243Sobrienhosttype: defined(M_mipseb)				: "lynxos-mips"
89659243Sobrienhosttype: defined(M_i386)				: "lynxos-i386"
897232633Smphosttype: defined(i860)					: "lynxos-i860"
89859243Sobrienhosttype: defined(m68k)					: "lynxos-m68k"
89959243Sobrienhosttype: defined(m88k)					: "lynxos-m88k"
90059243Sobrienhosttype: defined(sparc)				: "lynxos-sparc"
901232633Smphosttype:						: "lynxos-unknown"
90259243Sobrienostype	:						: "LynxOS"
90359243Sobrienmachtype: defined(M_mipsel)				: "mipsel"
90459243Sobrienmachtype: defined(M_mipseb)				: "mipseb"
90559243Sobrienmachtype: defined(M_i386)				: "i386"
906232633Smpmachtype: defined(i860)					: "i860"
90759243Sobrienmachtype: defined(m68k)					: "m68k"
90859243Sobrienmachtype: defined(m88k)					: "m88k"
90959243Sobrienmachtype: defined(sparc)				: "sparc"
91059243Sobrienenddef	:
91159243Sobrien
91259243Sobrien
91359243Sobriennewdef	: defined(masscomp)
914232633Smpcomment : Masscomp
91559243Sobrienvendor	:						: "masscomp"
91659243Sobrienhosttype:						: "masscomp"
91759243Sobrienostype	:						: "masscomp"
91859243Sobrienenddef	:
91959243Sobrien
92059243Sobriennewdef	: defined(__MACHTEN__)
921232633Smpcomment : Machintosh
92259243Sobrienvendor	:						: "Tenon"
92359243Sobrienhosttype:						: "Macintosh"
924232633Smpostype	:						: "MachTen"
92559243Sobrienmachtype:						: "Macintosh"
92659243Sobrienenddef	:
92759243Sobrien
92859243Sobrien
92959243Sobrien
93059243Sobriennewdef	: defined(GOULD_NP1)
931232633Smpcomment : Gould
93259243Sobrienvendor	:						: "gould"
93359243Sobrienhosttype:						: "gould_np1"
93459243Sobrienmachtype:						: "gould"
93559243Sobrienenddef	:
93659243Sobrien
93759243Sobrien
93859243Sobriennewdef	: defined(MULTIFLOW)
939232633Smpcomment : Multiflow running 4.3BSD
94059243Sobrienvendor	:						: "multiflow"
94159243Sobrienhosttype:						: "multiflow"
94259243Sobrienmachtype:						: "multiflow"
94359243Sobrienostype	:						: "bsd43"
94459243Sobrienenddef	:
94559243Sobrien
94659243Sobrien
94759243Sobriennewdef	: defined(SXA)
948232633Smpcomment : PFU/Fujitsu A-xx computer
94959243Sobrienvendor	:						: "sxa"
95059243Sobrienhosttype:						: "pfa50"
95159243Sobrienostype	: defined(_BSDX_)				: "e60-bsdx"
952232633Smpostype	:						: "e60"
95359243Sobrienmachtype:						: "pfa50"
95459243Sobrienenddef	:
95559243Sobrien
95659243Sobrien
95759243Sobriennewdef	: defined(titan)
958232633Smpcomment : (St)Ardent Titan
95959243Sobrienvendor	:						: "ardent"
96059243Sobrienhosttype:						: "titan"
96159243Sobrienenddef	:
96259243Sobrien
96359243Sobrien
96459243Sobriennewdef	: defined(stellar)
965232633Smpcomment : Stellar
96659243Sobrienvendor	:						: "stellar"
96759243Sobrienhosttype:						: "stellar"
96859243Sobrienostype	:						: "stellix"
96959243Sobrienenddef	:
97059243Sobrien
97159243Sobrien
97259243Sobriennewdef	: defined(atari)
973232633Smpcomment : Atari TT running SVR4. This machine was never
974232633Smpcomment : commercially available.
97559243Sobrienvendor	:						: "atari"
97659243Sobrienhosttype:						: "atari"
97759243Sobrienostype	:						: "asv"
97859243Sobrienenddef	:
97959243Sobrien
98059243Sobrien
98159243Sobriennewdef	: defined(OPUS)
982232633Smpcomment : ???
98359243Sobrienvendor	:						: "opus"
98459243Sobrienhosttype:						: "opus"
98559243Sobrienenddef	:
98659243Sobrien
98759243Sobrien
98859243Sobriennewdef	: defined(eta10)
989232633Smpcomment : ETA running SVR3
99059243Sobrienvendor	:						: "eta"
99159243Sobrienhosttype:						: "eta10"
99259243Sobrienenddef	:
99359243Sobrien
99459243Sobrien
99559243Sobriennewdef	: defined(hk68)
996232633Smpcomment : Heurikon HK68 running Uniplus+ 5.0
99759243Sobrienvendor	:						: "heurikon"
99859243Sobrienhosttype:						: "hk68"
99959243Sobrienostype	:						: "uniplus"
100059243Sobrienenddef	:
100159243Sobrien
100259243Sobrien
100359243Sobriennewdef	: defined(NDIX)
1004232633Smpcomment : Norsk Data ND 500/5000 running Ndix
100559243Sobrienvendor	:						: "norsk"
100659243Sobrienhosttype:						: "nd500"
100759243Sobrienostype	:						: "ndix"
100859243Sobrienenddef	:
100959243Sobrien
101059243Sobrien
101159243Sobriennewdef	: defined(AMIGA)
1012232633Smpcomment : Amiga running AmigaOS+GG
101359243Sobrienvendor	:						: "commodore"
101459243Sobrienhosttype:						: "amiga"
101559243Sobrienostype	:						: "AmigaOS"
101659243Sobrienmachtype:						: "m68k"
101759243Sobrienenddef	:
101859243Sobrien
101959243Sobrien
102059243Sobriennewdef	: defined(uts)
1021232633Smpcomment : Amdahl running uts 2.1
1022232633Smpvendor	:						: "amdahl"
102359243Sobrienhosttype:						: "amdahl"
102459243Sobrienostype	:						: "uts"
102559243Sobrienmachtype:						: "amdahl"
102659243Sobrienenddef	:
102759243Sobrien
102859243Sobrien
102959243Sobriennewdef	: defined(UTek)
1030232633Smpcomment : Tektronix 4300 running UTek (BSD 4.2 / 68020 based)
103159243Sobrienvendor	:						: "tektronix"
1032232633Smphosttype:						: "tek4300"
103359243Sobrienenddef	:
103459243Sobrien
103559243Sobrien
103659243Sobriennewdef	: defined(UTekV)
1037232633Smpcomment : Tektronix XD88/10 running UTekV 3.2e (SVR3/88100 based)
103859243Sobrienvendor	:						: "tektronix"
1039232633Smphosttype:						: "tekXD88"
104059243Sobrienenddef	:
104159243Sobrien
104259243Sobrien
104359243Sobriennewdef	: defined(__DGUX__)
1044232633Smpcomment : Data-General AViiON running DGUX
104559243Sobrienhosttype:						: "aviion"
104659243Sobrienostype	:						: "dgux"
104759243Sobrienvendor	:						: "dg"
1048232633Smpmachtype: defined(m88k)					: "m88k"
1049232633Smpmachtype: defined(i386)					: "pentium"
105059243Sobrienenddef	:
105159243Sobrien
105259243Sobrien
105359243Sobriennewdef	: defined(sysV68)
1054232633Smpcomment : Motorola MPC running System V/68 R32V2 (SVR3/68020 based)
105559243Sobrienvendor	:						: "motorola"
1056232633Smphosttype:						: "sysV68"
105759243Sobrienmachtype:						: "m68k"
105859243Sobrienenddef	:
105959243Sobrien
106059243Sobrien
106159243Sobriennewdef	: defined(supermax)
1062232633Smpcomment : DDE Supermax running System V/68 R3 (SVR3/68020 based)
106359243Sobrienvendor	:						: "supermax"
1064232633Smphosttype:						: "supermax"
106559243Sobrienmachtype:						: "m68k"
106659243Sobrienenddef	:
106759243Sobrien
106859243Sobrien
106959243Sobriennewdef	: defined(sysV88)
1070232633Smpcomment : Motorola MPC running System V/88 R32V2 (SVR3/88100 based)
107159243Sobrienvendor	:						: "motorola"
1072232633Smphosttype:						: "sysV88"
107359243Sobrienmachtype:						: "m88k"
107459243Sobrienenddef	:
107559243Sobrien
107659243Sobrien
107759243Sobriennewdef	: defined(__clipper__)
1078232633Smpcomment : Clipper Chipset (Intergraph)
107959243Sobrienvendor	:						: "intergraph"
108059243Sobrienhosttype:						: "clipper"
108159243Sobrienmachtype:						: "clipper"
108259243Sobrienenddef	:
108359243Sobrien
1084195609Smpnewdef : defined(__QNX__)
1085195609Smpostype :						: "qnx"
1086195609Smpenddef :
108759243Sobrien
1088145479Smpnewdef	: (defined(SNI) || defined(sinix)) && !defined(_OSD_POSIX)
1089232633Smpcomment : Fujitsu Siemens Computers (former "Siemens Nixdorf Informationssysteme"): SINIX aka. ReliantUNIX, a SVR4 derivative
1090145479Smpvendor	:						: "fsc"
109159243Sobrienhosttype: defined(M_intel)				: "wx200i"
109259243Sobrienhosttype: defined(MIPSEB)				: "rm400"
109359243Sobrienostype	: defined(sinix)				: "sinix"
109459243Sobrienmachtype: defined(M_i586)				: "i586"
109559243Sobrienmachtype: defined(M_i486)				: "i486"
109659243Sobrienmachtype: defined(M_i386)				: "i386"
109759243Sobrienmachtype: defined(M_mipsel)				: "mipsel"
109859243Sobrienmachtype: defined(M_mipseb)				: "mipseb"
109959243Sobrienmachtype:						: "mips"
110059243Sobrienenddef	:
110159243Sobrien
110259243Sobriennewdef	: defined(_OSD_POSIX)
1103232633Smpcomment : Fujitsu Siemens Computers (former "Siemens Nixdorf Informationssysteme"): BS2000 POSIX (mainframe, EBCDIC)
1104145479Smpvendor	:						: "fsc"
1105145479Smphosttype:						: "bs2000"
1106145479Smpostype	:						: "osdposix"
1107145479Smpmachtype: #machine(7500)				: "s390"
1108145479Smpmachtype: #machine(mips)				: "mips"
1109145479Smpmachtype: #machine(sparc)				: "sparc"
111059243Sobrienmachtype:						: "bs2000"
111159243Sobrienenddef	:
111259243Sobrien
111369408Sachenewdef	: defined(__MVS__)
1114232633Smpcomment : ibm uss s/390 (mainframe, EBCDIC)
111569408Sachevendor	:						: "ibm"
1116232633Smphosttype:						: "s390"
1117232633Smpostype	:						: "os390"
111869408Sachemachtype:						: "s390"
111969408Sacheenddef	:
112069408Sache
112159243Sobriennewdef	: defined(_SX)
112259243Sobriencomment : NEC Corporation (SX-4)
1123232633Smpvendor	:						: "nec"
112459243Sobrienostype	:						: "superux"
112559243Sobrienhosttype:						: "sx4"
112659243Sobrienmachtype:						: "sx4"
112759243Sobrienenddef	:
112859243Sobrien
1129232633Smpnewdef	: !defined(SOLARIS2) && (SYSVREL == 4)
113059243Sobriencomment : Unix System V Release 4.0
1131232633Smpvendor	: defined(DELL)					: "dell"
113259243Sobrienhosttype: defined(M_i386)				: "i386"
1133232633Smpostype	:						: "svr4"
113459243Sobrienmachtype: defined(M_i386)				: "i386"
113559243Sobrienenddef	:
113659243Sobrien
113759243Sobriennewdef	: defined(__uxp__) || defined(__uxps__)
1138232633Smpcomment : FUJITSU DS/90 7000
113959243Sobrienvendor	:						: "fujitsu"
114059243Sobrienhosttype:						: "ds90"
114159243Sobrienostype	:						: "sysv4"
114259243Sobrienmachtype:						: "sparc"
114359243Sobrienenddef	:
114459243Sobrien
1145195609Smpnewdef	: defined(__CYGWIN__)
1146232633Smpcomment : Cygwin
1147232633Smpvendor	:						: "intel"
1148232633Smphosttype:						: gethost()
1149232633Smpostype	:						: getostype()
1150232633Smpmachtype:						: getmach()
1151195609Smpenddef	:
1152195609Smp
1153232633Smpnewdef	: defined(_UWIN)
115459243Sobriencomment : AT&T Research Unix for Windows
1155232633Smpvendor	:						: "att"
1156232633Smphosttype:						: "win32.i386"
1157232633Smpmachtype:						: "i386"
115859243Sobrienenddef	:
115959243Sobrien
116059243Sobrien
1161232633Smpnewdef	: defined(mc68000) || defined(mc68k32) || defined(m68k) || defined(mc68010) || defined(mc68020)
116259243Sobrienhosttype:						: "m68k"
116359243Sobrienvendor	: defined(m68k)					: "motorola"
116459243Sobrienmachtype:						: "m68k"
116559243Sobrienenddef	:
116659243Sobrien
116759243Sobrien
1168232633Smpnewdef	: defined(m88k)
116959243Sobrienhosttype:						: "m88k"
117059243Sobrienmachtype:						: "m88k"
117159243Sobrienenddef	:
117259243Sobrien
117359243Sobrien
117459243Sobriennewdef	: defined(M_intel)
117559243Sobrienhosttype: defined(M_i586)				: "i586"
117659243Sobrienhosttype: defined(M_i486)				: "i486"
117759243Sobrienhosttype: defined(M_i386)				: "i386"
1178232633Smpvendor	:						: "intel"
117959243Sobrienmachtype: defined(M_i586)				: "i586"
118059243Sobrienmachtype: defined(M_i486)				: "i486"
118159243Sobrienmachtype: defined(M_i386)				: "i386"
118259243Sobrienenddef	:
118359243Sobrien
118459243Sobrien
1185232633Smpnewdef	: defined(sparc)
118659243Sobrienhosttype:						: "sparc"
118759243Sobrienmachtype:						: "sparc"
118859243Sobrienenddef	:
118959243Sobrien
119059243Sobrien
1191232633Smpnewdef	: defined(i860)
119259243Sobrienhosttype:						: "i860"
119359243Sobrienmachtype:						: "i860"
119459243Sobrienenddef	:
119559243Sobrien
119659243Sobrien
119759243Sobriennewdef	: defined(osf1)
119859243Sobrienostype	:						: "osf1"
119959243Sobrienenddef	:
120059243Sobrien
120159243Sobrien
120259243Sobriennewdef	: SYSVREL == 0
120359243Sobrienostype	: defined(BSD4_4)				: "bsd44"
120459243Sobrienostype	: defined(BSD)					: "bsd"
120559243Sobrienostype	: defined(POSIX)				: "posix"
120659243Sobrienenddef	:
120759243Sobrien
120859243Sobrien
120959243Sobriennewdef	: SYSVREL == 1
1210232633Smpostype	:						: "svr1"
121159243Sobrienenddef	:
121259243Sobrien
121359243Sobrien
121459243Sobriennewdef	: SYSVREL == 2
1215232633Smpostype	:						: "svr2"
121659243Sobrienenddef	:
121759243Sobrien
121859243Sobrien
121959243Sobriennewdef	: SYSVREL == 3
1220232633Smpostype	:						: "svr3"
122159243Sobrienenddef	:
122259243Sobrien
122359243Sobrien
122459243Sobriennewdef	: SYSVREL == 4
1225232633Smpostype	:						: "svr4"
122659243Sobrienenddef	:
122759243Sobrien
122859243Sobrien
1229232633Smpnewcode :
123059243Sobrien#ifndef _hosttype_
123159243Sobrien    hosttype = "unknown";
123259243Sobrien#endif
123359243Sobrien#ifndef _ostype_
123459243Sobrien    ostype = "unknown";
123559243Sobrien#endif
123659243Sobrien#ifndef _vendor_
123759243Sobrien    vendor = "unknown";
123859243Sobrien#endif
123959243Sobrien#ifndef _machtype_
124059243Sobrien    machtype = "unknown";
124159243Sobrien#endif
124259243Sobrien    tsetenv(STRHOSTTYPE, str2short(hosttype));
1243232633Smp    tsetenv(STRVENDOR,	 str2short(vendor));
1244232633Smp    tsetenv(STROSTYPE,	 str2short(ostype));
124559243Sobrien    tsetenv(STRMACHTYPE, str2short(machtype));
124659243Sobrien} /* end setmachine */
1247232633Smpendcode :
1248