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