sh.types.h revision 59243
159243Sobrien/* $Header: /src/pub/tcsh/sh.types.h,v 3.36 1998/04/21 16:08:51 christos Exp $ */
259243Sobrien/* sh.types.h: Do the necessary typedefs for each system.
359243Sobrien *             Up till now I avoided making this into a separate file
459243Sobrien *	       But I just wanted to eliminate the whole mess from sh.h
559243Sobrien *	       In reality this should not be here! It is OS and MACHINE
659243Sobrien *	       dependent, even between different revisions of OS's...
759243Sobrien *	       Ideally there should be a way in c, to find out if something
859243Sobrien *	       was typedef'ed, but unfortunately we rely in cpp kludges.
959243Sobrien *	       Someday, this file will be removed...
1059243Sobrien *
1159243Sobrien *						christos
1259243Sobrien */
1359243Sobrien/*-
1459243Sobrien * Copyright (c) 1980, 1991 The Regents of the University of California.
1559243Sobrien * All rights reserved.
1659243Sobrien *
1759243Sobrien * Redistribution and use in source and binary forms, with or without
1859243Sobrien * modification, are permitted provided that the following conditions
1959243Sobrien * are met:
2059243Sobrien * 1. Redistributions of source code must retain the above copyright
2159243Sobrien *    notice, this list of conditions and the following disclaimer.
2259243Sobrien * 2. Redistributions in binary form must reproduce the above copyright
2359243Sobrien *    notice, this list of conditions and the following disclaimer in the
2459243Sobrien *    documentation and/or other materials provided with the distribution.
2559243Sobrien * 3. All advertising materials mentioning features or use of this software
2659243Sobrien *    must display the following acknowledgement:
2759243Sobrien *	This product includes software developed by the University of
2859243Sobrien *	California, Berkeley and its contributors.
2959243Sobrien * 4. Neither the name of the University nor the names of its contributors
3059243Sobrien *    may be used to endorse or promote products derived from this software
3159243Sobrien *    without specific prior written permission.
3259243Sobrien *
3359243Sobrien * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
3459243Sobrien * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
3559243Sobrien * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
3659243Sobrien * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
3759243Sobrien * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
3859243Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
3959243Sobrien * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
4059243Sobrien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
4159243Sobrien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
4259243Sobrien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
4359243Sobrien * SUCH DAMAGE.
4459243Sobrien */
4559243Sobrien#ifndef _h_sh_types
4659243Sobrien#define _h_sh_types
4759243Sobrien
4859243Sobrien
4959243Sobrien/***
5059243Sobrien *** LynxOS 2.1
5159243Sobrien ***/
5259243Sobrien#ifdef Lynx
5359243Sobrien# ifndef _SIGMASK_T
5459243Sobrien#  define _SIGMASK_T
5559243Sobrien    typedef long sigmask_t;
5659243Sobrien# endif /* _SIGMASK_T */
5759243Sobrien# ifndef _PID_T
5859243Sobrien#  define _PID_T
5959243Sobrien# endif /* _PID_T */
6059243Sobrien#endif
6159243Sobrien
6259243Sobrien/***
6359243Sobrien *** MachTen
6459243Sobrien ***/
6559243Sobrien#ifdef __MACHTEN__
6659243Sobrien# ifndef _PID_T
6759243Sobrien#  define _PID_T
6859243Sobrien# endif
6959243Sobrien#endif
7059243Sobrien
7159243Sobrien
7259243Sobrien/***
7359243Sobrien *** Suns running sunos3.x - sunos4.1.x
7459243Sobrien ***/
7559243Sobrien#if (defined(sun) || defined(__sun__)) && SYSVREL == 0
7659243Sobrien/* This used to be long, but lint dissagrees... */
7759243Sobrien# ifndef _SIGMASK_T
7859243Sobrien#  define _SIGMASK_T
7959243Sobrien    typedef int sigmask_t;
8059243Sobrien# endif /* _SIGMASK_T */
8159243Sobrien# ifndef _PTR_T
8259243Sobrien#  define _PTR_T
8359243Sobrien#   ifdef __GNUC__
8459243Sobrien    typedef void * ptr_t;
8559243Sobrien#   else
8659243Sobrien    typedef char * ptr_t;
8759243Sobrien#   endif /* __GNUC__ */
8859243Sobrien# endif /* _PTR_T */
8959243Sobrien# ifndef _SIZE_T
9059243Sobrien#  define _SIZE_T
9159243Sobrien# endif /* _SIZE_T */
9259243Sobrien# ifndef __sys_stdtypes_h
9359243Sobrien#  define __sys_stdtypes_h
9459243Sobrien#   ifndef __lucid
9559243Sobrien     typedef int pid_t;
9659243Sobrien     typedef unsigned int speed_t;
9759243Sobrien#   endif
9859243Sobrien# endif /* __sys_stdtypes.h */
9959243Sobrien# ifndef _PID_T
10059243Sobrien#  define _PID_T
10159243Sobrien# endif /* _PID_T */
10259243Sobrien# ifndef _SPEED_T
10359243Sobrien#  define _SPEED_T
10459243Sobrien# endif /* _SPEED_T */
10559243Sobrien# ifndef SUNOS4
10659243Sobrien#  ifndef MACH
10759243Sobrien#   ifndef _UID_T
10859243Sobrien#    define _UID_T
10959243Sobrien      typedef int uid_t;
11059243Sobrien#   endif /* _UID_T */
11159243Sobrien#   ifndef _GID_T
11259243Sobrien#    define _GID_T
11359243Sobrien      typedef int gid_t;
11459243Sobrien#   endif /* _GID_T */
11559243Sobrien#  endif /* !MACH */
11659243Sobrien# endif /* !SUNOS4 */
11759243Sobrien#endif /* (sun || __sun__) && SYSVREL == 0 */
11859243Sobrien
11959243Sobrien
12059243Sobrien/***
12159243Sobrien *** Hp's running hpux 7.0 or 8.0
12259243Sobrien ***/
12359243Sobrien#ifdef __hpux
12459243Sobrien# ifndef _SIZE_T
12559243Sobrien#  define _SIZE_T
12659243Sobrien    typedef unsigned int size_t;
12759243Sobrien# endif /* _SIZE_T */
12859243Sobrien
12959243Sobrien# ifndef _PTR_T
13059243Sobrien#  define _PTR_T
13159243Sobrien    typedef void * ptr_t;
13259243Sobrien# endif /* _PTR_T */
13359243Sobrien
13459243Sobrien# ifndef _PID_T
13559243Sobrien#  define _PID_T
13659243Sobrien    typedef long pid_t;
13759243Sobrien# endif /* _PID_T */
13859243Sobrien
13959243Sobrien# ifndef _SIGMASK_T
14059243Sobrien#  define _SIGMASK_T
14159243Sobrien    typedef long sigmask_t;
14259243Sobrien# endif /* _SIGMASK_T */
14359243Sobrien
14459243Sobrien# ifndef _SPEED_T
14559243Sobrien   /* I thought POSIX was supposed to protect all typedefs! */
14659243Sobrien#  define _SPEED_T
14759243Sobrien# endif /* _SPEED_T */
14859243Sobrien
14959243Sobrienextern uid_t getuid(), geteuid();
15059243Sobrienextern gid_t getgid(), getegid();
15159243Sobrienextern sigmask_t sigblock();
15259243Sobrienextern sigmask_t sigsetmask();
15359243Sobrienextern pid_t getpid();
15459243Sobrienextern pid_t fork();
15559243Sobrienextern void perror();
15659243Sobrienextern void _exit();
15759243Sobrienextern void abort();
15859243Sobrienextern void qsort();
15959243Sobrienextern void free();
16059243Sobrienextern unsigned int alarm();
16159243Sobrienextern unsigned int sleep();
16259243Sobrien# if HPUXVERSION < 800	/* XXX: Not true for 8.0 */
16359243Sobrienextern void sigpause();
16459243Sobrienextern sigmask_t sigspace();
16559243Sobrienextern int lstat();
16659243Sobrienextern int readlink();
16759243Sobrienextern int sigvector();
16859243Sobrienextern int gethostname();
16959243Sobrienextern int ioctl();
17059243Sobrienextern int nice();
17159243Sobrienextern char *sbrk();
17259243Sobrien# endif /* HPUXVERSION < 800 */
17359243Sobrien#endif /* __hpux */
17459243Sobrien
17559243Sobrien#if defined(_MINIX) || defined(__EMX__) || defined(COHERENT)
17659243Sobrientypedef char * caddr_t;
17759243Sobrien#endif /* _MINIX || __EMX__ || COHERENT */
17859243Sobrien
17959243Sobrien/***
18059243Sobrien *** hp9000s500 running hpux-5.2
18159243Sobrien ***/
18259243Sobrien#ifdef hp9000s500
18359243Sobrien# ifndef _PTR_T
18459243Sobrien#  define _PTR_T
18559243Sobrien    typedef char * ptr_t;
18659243Sobrien# endif /* _PTR_T */
18759243Sobrien#endif /* hp9000s500 */
18859243Sobrien
18959243Sobrien/***
19059243Sobrien *** Data General AViiON 88000 or Pentium, running dgux 5.4R3 or R4.11
19159243Sobrien ***/
19259243Sobrien#ifdef DGUX
19359243Sobrien# ifndef _SIZE_T
19459243Sobrien#  define _SIZE_T size_t
19559243Sobrien    typedef unsigned int size_t;
19659243Sobrien# endif /* _SIZE_T */
19759243Sobrien# ifndef _PID_T
19859243Sobrien#  define _PID_T
19959243Sobrien# endif /* _PID_T */
20059243Sobrien#endif /* DGUX */
20159243Sobrien
20259243Sobrien
20359243Sobrien/***
20459243Sobrien *** Intel 386, ISC 386/ix v2.0.2
20559243Sobrien ***/
20659243Sobrien#ifdef ISC202
20759243Sobrien# ifndef _SIZE_T
20859243Sobrien#  define _SIZE_T
20959243Sobrien# endif /* _SIZE_T */
21059243Sobrien#endif /* ISC202 */
21159243Sobrien
21259243Sobrien/***
21359243Sobrien *** a PFU/Fujitsu A-xx computer SX/A Edition 60 or later
21459243Sobrien ***/
21559243Sobrien#ifdef SXA
21659243Sobrien# ifndef _SIZE_T
21759243Sobrien#  define _SIZE_T
21859243Sobrien# endif /* _SIZE_T */
21959243Sobrien#endif /* SXA */
22059243Sobrien
22159243Sobrien/***
22259243Sobrien *** a stellar 2600, running stellix 2.3
22359243Sobrien ***/
22459243Sobrien#ifdef stellar
22559243Sobrien# ifndef _SIZE_T
22659243Sobrien#  define _SIZE_T
22759243Sobrien# endif /* _SIZE_T */
22859243Sobrien#endif /* stellar */
22959243Sobrien
23059243Sobrien/***
23159243Sobrien *** BSD systems, pre and post 4.3
23259243Sobrien ***/
23359243Sobrien#ifdef BSD
23459243Sobrien# ifndef _SIZE_T
23559243Sobrien#  define _SIZE_T
23659243Sobrien# endif /* _SIZE_T */
23759243Sobrien#endif /* BSD */
23859243Sobrien
23959243Sobrien
24059243Sobrien/***
24159243Sobrien *** BSD RENO advertises itself as POSIX, but
24259243Sobrien *** it is missing speed_t
24359243Sobrien ***/
24459243Sobrien#ifdef RENO
24559243Sobrien# ifndef _SPEED_T
24659243Sobrien#  define _SPEED_T
24759243Sobrien   typedef unsigned int speed_t;
24859243Sobrien# endif /* _SPEED_T */
24959243Sobrien#endif /* RENO */
25059243Sobrien
25159243Sobrien
25259243Sobrien/***
25359243Sobrien *** NeXT OS 3.x
25459243Sobrien ***/
25559243Sobrien#ifdef NeXT
25659243Sobrien# ifndef _SPEED_T
25759243Sobrien#  define _SPEED_T
25859243Sobrien   typedef unsigned int speed_t;
25959243Sobrien# endif /* _SPEED_T */
26059243Sobrien#endif /* NeXT */
26159243Sobrien
26259243Sobrien/***
26359243Sobrien *** Utah's HPBSD
26459243Sobrien *** some posix & 4.4 BSD changes (pid_t is a short)
26559243Sobrien ***/
26659243Sobrien#ifdef HPBSD
26759243Sobrien# ifndef _PID_T
26859243Sobrien#  define _PID_T
26959243Sobrien# endif /* _PID_T */
27059243Sobrien#endif /* HPBSD */
27159243Sobrien
27259243Sobrien
27359243Sobrien/***
27459243Sobrien *** Pyramid, BSD universe
27559243Sobrien *** In addition to the size_t
27659243Sobrien ***/
27759243Sobrien#ifdef pyr
27859243Sobrien# ifndef _PID_T
27959243Sobrien#  define _PID_T
28059243Sobrien   typedef short pid_t;
28159243Sobrien# endif /* _PID_T */
28259243Sobrien#endif /* pyr */
28359243Sobrien
28459243Sobrien
28559243Sobrien/***
28659243Sobrien *** rs6000, ibm370, ps2, rt: running flavors of aix.
28759243Sobrien ***/
28859243Sobrien#ifdef IBMAIX
28959243Sobrien# ifndef _SIZE_T
29059243Sobrien#  define _SIZE_T
29159243Sobrien# endif /* _SIZE_T */
29259243Sobrien# ifndef aiws
29359243Sobrien#  ifndef _PID_T
29459243Sobrien#   define _PID_T
29559243Sobrien#  endif /* _PID_T */
29659243Sobrien# endif /* !aiws */
29759243Sobrien# ifdef _IBMR2
29859243Sobrien#  ifndef _SPEED_T
29959243Sobrien#   define _SPEED_T
30059243Sobrien#  endif /* _SPEED_T */
30159243Sobrien# endif /* _IBMR2 */
30259243Sobrien#endif /* IBMAIX */
30359243Sobrien
30459243Sobrien
30559243Sobrien/***
30659243Sobrien *** Ultrix...
30759243Sobrien ***/
30859243Sobrien#if defined(ultrix) || defined(__ultrix)
30959243Sobrien# ifndef _SIZE_T
31059243Sobrien#  define _SIZE_T
31159243Sobrien# endif /* _SIZE_T */
31259243Sobrien# ifndef _PID_T
31359243Sobrien#  define _PID_T
31459243Sobrien# endif /* _PID_T */
31559243Sobrien#endif /* ultrix || __ultrix */
31659243Sobrien
31759243Sobrien
31859243Sobrien/***
31959243Sobrien *** Silicon graphics IRIS4D running IRIX3_3
32059243Sobrien ***/
32159243Sobrien#if defined(IRIS4D) && defined(IRIX3_3)
32259243Sobrien# ifndef _PID_T
32359243Sobrien#  define _PID_T
32459243Sobrien# endif /* _PID_T */
32559243Sobrien#endif /* IRIS4D && IRIX3_3 */
32659243Sobrien
32759243Sobrien
32859243Sobrien/***
32959243Sobrien *** Sequent
33059243Sobrien ***/
33159243Sobrien#ifdef sequent
33259243Sobrien# ifndef _SIZE_T
33359243Sobrien#  define _SIZE_T
33459243Sobrien# endif /* _SIZE_T */
33559243Sobrien#endif /* sequent */
33659243Sobrien
33759243Sobrien/***
33859243Sobrien *** Apple AUX.
33959243Sobrien ***/
34059243Sobrien#ifdef OREO
34159243Sobrien# ifndef _SIZE_T
34259243Sobrien#  define _SIZE_T
34359243Sobrien# endif /* _SIZE_T */
34459243Sobrien# ifndef _PID_T
34559243Sobrien#  define _PID_T
34659243Sobrien# endif /* _PID_T */
34759243Sobrien#endif /* OREO */
34859243Sobrien
34959243Sobrien/***
35059243Sobrien *** Intel 386, Hypercube
35159243Sobrien ***/
35259243Sobrien#ifdef INTEL
35359243Sobrien# ifndef _SIZE_T
35459243Sobrien#  define _SIZE_T
35559243Sobrien# endif /* _SIZE_T */
35659243Sobrien#endif /* INTEL */
35759243Sobrien
35859243Sobrien/***
35959243Sobrien *** Concurrent (Masscomp) running RTU 4.1A & RTU 5.0.
36059243Sobrien **** [RTU 6.0 from mike connor]
36159243Sobrien *** Added, DAS DEC-90.
36259243Sobrien ***/
36359243Sobrien#ifdef	masscomp
36459243Sobrien# ifndef _SIZE_T
36559243Sobrien#  define _SIZE_T
36659243Sobrien# endif /* _SIZE_T */
36759243Sobrien# ifdef RTU6
36859243Sobrien#  ifndef _PID_T
36959243Sobrien#   define _PID_T
37059243Sobrien#  endif /* _PID_T */
37159243Sobrien#  ifndef _SPEED_T
37259243Sobrien#   define _SPEED_T
37359243Sobrien#  endif /* _SPEED_T */
37459243Sobrien#endif /* RTU6 */
37559243Sobrien#endif	/* masscomp */
37659243Sobrien
37759243Sobrien/***
37859243Sobrien *** Encore multimax running umax 4.2
37959243Sobrien ***/
38059243Sobrien#ifdef	ns32000
38159243Sobrien# ifdef __TYPES_DOT_H__
38259243Sobrien#  ifndef _SIZE_T
38359243Sobrien#   define _SIZE_T
38459243Sobrien#  endif /* _SIZE_T */
38559243Sobrien# endif /* __TYPES_DOT_H__ */
38659243Sobrien#endif	/* ns32000 */
38759243Sobrien
38859243Sobrien/***
38959243Sobrien *** Silicon Graphics IRIS 3000
39059243Sobrien ***
39159243Sobrien ***/
39259243Sobrien#ifdef IRIS3D
39359243Sobrien# ifndef _SIZE_T
39459243Sobrien#  define _SIZE_T
39559243Sobrien# endif /* _SIZE_T */
39659243Sobrien#endif /* IRIS3D */
39759243Sobrien
39859243Sobrien/*
39959243Sobrien * Motorola MPC running R32V2 (sysV88)
40059243Sobrien */
40159243Sobrien#ifdef sysV88
40259243Sobrien# ifndef _SIZE_T
40359243Sobrien#  define _SIZE_T
40459243Sobrien# endif /* _SIZE_T */
40559243Sobrien# ifndef _PID_T
40659243Sobrien#  define _PID_T
40759243Sobrien# endif /* _PID_T */
40859243Sobrien#endif /* sysV88 */
40959243Sobrien
41059243Sobrien/*
41159243Sobrien * Amdahl running UTS (Sys V3)
41259243Sobrien */
41359243Sobrien#ifdef uts
41459243Sobrien# ifndef _SIZE_T
41559243Sobrien#  define _SIZE_T
41659243Sobrien# endif /* _SIZE_T */
41759243Sobrien# ifndef _PID_T
41859243Sobrien#  define _PID_T
41959243Sobrien# endif /* _PID_T */
42059243Sobrien#endif /* uts */
42159243Sobrien
42259243Sobrien/*
42359243Sobrien * Tektronix 4300 running UTek 4.0 (BSD 4.2)
42459243Sobrien */
42559243Sobrien#ifdef UTek
42659243Sobrien# ifndef _SIZE_T
42759243Sobrien#  define _SIZE_T
42859243Sobrien# endif /* _SIZE_T */
42959243Sobrien# ifndef _UID_T
43059243Sobrien#  define _UID_T
43159243Sobrien   typedef int uid_t;
43259243Sobrien# endif /* _UID_T */
43359243Sobrien# ifndef _GID_T
43459243Sobrien#  define _GID_T
43559243Sobrien   typedef int gid_t;
43659243Sobrien# endif /* _GID_T */
43759243Sobrien#endif /* UTek */
43859243Sobrien
43959243Sobrien/*
44059243Sobrien * Tektronix XD88/10 running UTekV (Sys V3)
44159243Sobrien */
44259243Sobrien#ifdef UTekV
44359243Sobrien# ifndef _SIZE_T
44459243Sobrien#  define _SIZE_T
44559243Sobrien# endif /* _SIZE_T */
44659243Sobrien# ifndef _PID_T
44759243Sobrien#  define _PID_T
44859243Sobrien# endif /* _PID_T */
44959243Sobrien#endif /* UTekV*/
45059243Sobrien
45159243Sobrien/*
45259243Sobrien * UnixPC aka u3b1
45359243Sobrien */
45459243Sobrien#ifdef UNIXPC
45559243Sobrien# ifdef types_h
45659243Sobrien#  ifndef _SIZE_T
45759243Sobrien#   define _SIZE_T
45859243Sobrien#  endif /* _SIZE_T */
45959243Sobrien# endif /* types_h */
46059243Sobrien#endif /* UNIXPC */
46159243Sobrien
46259243Sobrien/*
46359243Sobrien * NS32000 OPUS
46459243Sobrien */
46559243Sobrien#ifdef OPUS
46659243Sobrien# ifndef _SIZE_T
46759243Sobrien#  define _SIZE_T
46859243Sobrien# endif /* _SIZE_T */
46959243Sobrien#endif /* OPUS */
47059243Sobrien
47159243Sobrien/*
47259243Sobrien * BBN Butterfly gp1000
47359243Sobrien */
47459243Sobrien#ifdef butterfly
47559243Sobrien# ifndef _PID_T
47659243Sobrien#  define _PID_T
47759243Sobrien# endif /* _PID_T */
47859243Sobrien#endif /* butterfly */
47959243Sobrien
48059243Sobrien/*
48159243Sobrien * Convex
48259243Sobrien */
48359243Sobrien#ifdef convex
48459243Sobrien# if defined(__SIZE_T) && !defined(_SIZE_T)
48559243Sobrien#  define _SIZE_T
48659243Sobrien# endif /* __SIZE_T && !_SIZE_T */
48759243Sobrien#endif /* convex */
48859243Sobrien
48959243Sobrien/*
49059243Sobrien * Alliant FX-2800/FX-80
49159243Sobrien */
49259243Sobrien#ifdef alliant
49359243Sobrien# ifndef _PID_T
49459243Sobrien#  define _PID_T
49559243Sobrien# endif /* _PID_T */
49659243Sobrien# ifdef mc68000
49759243Sobrien   typedef int   pid_t; /* FX-80 */
49859243Sobrien# else
49959243Sobrien   typedef short pid_t;	/* FX-2800 */
50059243Sobrien# endif
50159243Sobrien#endif /* alliant */
50259243Sobrien
50359243Sobrien/*
50459243Sobrien * DNIX
50559243Sobrien */
50659243Sobrien#ifdef DNIX
50759243Sobrien# ifndef _PID_T
50859243Sobrien#  define _PID_T
50959243Sobrien# endif /* _PID_T */
51059243Sobrien#endif /* DNIX */
51159243Sobrien
51259243Sobrien/*
51359243Sobrien *  Apollo running Domain/OS SR10.3 or greater
51459243Sobrien */
51559243Sobrien#ifdef apollo
51659243Sobrien# ifndef _PID_T
51759243Sobrien#  define _PID_T
51859243Sobrien   typedef int pid_t;	/* Older versions might not like that */
51959243Sobrien# endif /* _PID_T */
52059243Sobrien#endif /* apollo */
52159243Sobrien
52259243Sobrien/*
52359243Sobrien *  Vax running VMS_POSIX
52459243Sobrien */
52559243Sobrien#ifdef _VMS_POSIX
52659243Sobrien# ifndef _SIZE_T
52759243Sobrien#  define _SIZE_T
52859243Sobrien# endif /* _SIZE_T */
52959243Sobrien#endif /* _VMS_POSIX */
53059243Sobrien
53159243Sobrien/***
53259243Sobrien *** a pdp/11, running 2BSD
53359243Sobrien ***/
53459243Sobrien#ifdef pdp11
53559243Sobrien# ifndef _PID_T
53659243Sobrien#  define _PID_T
53759243Sobrien# endif /* _PID_T */
53859243Sobrien#endif /* pdp11 */
53959243Sobrien
54059243Sobrien/***
54159243Sobrien *** a Harris, running CX/UX
54259243Sobrien ***/
54359243Sobrien#ifdef _CX_UX
54459243Sobrien# ifndef _PID_T
54559243Sobrien#  define _PID_T
54659243Sobrien# endif /* _PID_T */
54759243Sobrien#endif /* _CX_UX */
54859243Sobrien
54959243Sobrien/***
55059243Sobrien *** Catch all for non POSIX and/or non ANSI systems.
55159243Sobrien *** Systems up to spec *should* define these automatically
55259243Sobrien *** I am open to suggestions on how to do this correctly!
55359243Sobrien ***/
55459243Sobrien
55559243Sobrien#ifndef __STDC__
55659243Sobrien
55759243Sobrien# ifndef _SIZE_T
55859243Sobrien#  define _SIZE_T
55959243Sobrien   typedef int size_t;		/* As sun comments ??? : meaning I take it */
56059243Sobrien# endif /* _SIZE_T */		/* Until we make the world ANSI... */
56159243Sobrien
56259243Sobrien#endif  /* ! __STDC__ */
56359243Sobrien
56459243Sobrien#ifndef POSIX
56559243Sobrien
56659243Sobrien# ifndef _PID_T
56759243Sobrien#  define _PID_T
56859243Sobrien    typedef int pid_t;
56959243Sobrien# endif /* _PID_T */
57059243Sobrien
57159243Sobrien# ifndef _SPEED_T
57259243Sobrien#  define _SPEED_T
57359243Sobrien    typedef unsigned int speed_t;
57459243Sobrien# endif /* _SPEED_T */
57559243Sobrien
57659243Sobrien# ifndef _PTR_T
57759243Sobrien#  define _PTR_T
57859243Sobrien    typedef char * ptr_t;
57959243Sobrien#endif /* _PTR_T */
58059243Sobrien
58159243Sobrien# ifndef _IOCTL_T
58259243Sobrien#  define _IOCTL_T
58359243Sobrien    typedef char * ioctl_t;	/* Third arg of ioctl */
58459243Sobrien# endif /* _IOCTL_T */
58559243Sobrien
58659243Sobrien#endif /* ! POSIX */
58759243Sobrien
58859243Sobrien
58959243Sobrien
59059243Sobrien/***
59159243Sobrien *** This is our own junk types.
59259243Sobrien ***/
59359243Sobrien#ifndef _PTR_T
59459243Sobrien# define _PTR_T
59559243Sobrien    typedef void * ptr_t;
59659243Sobrien#endif /* _PTR_T */
59759243Sobrien
59859243Sobrien#ifndef _SIGMASK_T
59959243Sobrien# define _SIGMASK_T
60059243Sobrien    typedef int sigmask_t;
60159243Sobrien#endif /* _SIGMASK_T */
60259243Sobrien
60359243Sobrien#ifndef _IOCTL_T
60459243Sobrien# define _IOCTL_T
60559243Sobrien    typedef void * ioctl_t;	/* Third arg of ioctl */
60659243Sobrien#endif /* _IOCTL_T */
60759243Sobrien
60859243Sobrien#endif /* _h_sh_types */
609