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