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