1 /* sh.types.h: Do the necessary typedefs for each system.
2 * Up till now I avoided making this into a separate file
3 * But I just wanted to eliminate the whole mess from sh.h
4 * In reality this should not be here! It is OS and MACHINE
5 * dependent, even between different revisions of OS's...
6 * Ideally there should be a way in c, to find out if something
7 * was typedef'ed, but unfortunately we rely in cpp kludges.
8 * Someday, this file will be removed...
13 * Copyright (c) 1980, 1991 The Regents of the University of California.
14 * All rights reserved.
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions
19 * 1. Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 * 2. Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 * 3. Neither the name of the University nor the names of its contributors
25 * may be used to endorse or promote products derived from this software
26 * without specific prior written permission.
28 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
29 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
32 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
64 *** Suns running sunos3.x - sunos4.1.x
66 #if (defined(sun) || defined(__sun__)) && SYSVREL == 0
73 # endif /* __GNUC__ */
75 # ifndef __sys_stdtypes_h
76 # define __sys_stdtypes_h
79 typedef unsigned int speed_t;
81 # endif /* __sys_stdtypes.h */
87 # endif /* _SPEED_T */
88 #endif /* (sun || __sun__) && SYSVREL == 0 */
92 *** Hp's running hpux 7.0 or 8.0
107 /* I thought POSIX was supposed to protect all typedefs! */
109 # endif /* _SPEED_T */
111 # if HPUXVERSION < 1100 /* XXX: Not true for 11.0 */
112 extern uid_t getuid(), geteuid();
113 extern gid_t getgid(), getegid();
114 extern pid_t getpid();
116 extern void perror();
121 extern unsigned int alarm();
122 extern unsigned int sleep();
123 # endif /* HPUXVERSION < 1100 */
124 # if HPUXVERSION < 800 /* XXX: Not true for 8.0 */
126 # endif /* HPUXVERSION < 800 */
129 #if (defined(_MINIX) && !defined(_MINIX_VMD)) || defined(__EMX__)
130 typedef char * caddr_t;
131 #endif /* (_MINIX && !_MINIX_VMD) || __EMX__ */
134 *** hp9000s500 running hpux-5.2
139 typedef char * ptr_t;
141 #endif /* hp9000s500 */
144 *** Data General AViiON 88000 or Pentium, running dgux 5.4R3 or R4.11
154 *** BSD RENO advertises itself as POSIX, but
155 *** it is missing speed_t
160 typedef unsigned int speed_t;
161 # endif /* _SPEED_T */
171 typedef unsigned int speed_t;
172 # endif /* _SPEED_T */
177 *** some posix & 4.4 BSD changes (pid_t is a short)
187 *** Pyramid, BSD universe
188 *** In addition to the size_t
199 *** rs6000, ibm370, ps2, rt: running flavors of aix.
210 # endif /* _SPEED_T */
218 #if defined(ultrix) || defined(__ultrix)
224 typedef void * ptr_t;
226 #endif /* ultrix || __ultrix */
230 *** Silicon graphics IRIS4D running IRIX3_3
232 #if defined(IRIS4D) && defined(IRIX3_3)
236 #endif /* IRIS4D && IRIX3_3 */
249 *** Concurrent (Masscomp) running RTU 4.1A & RTU 5.0.
250 **** [RTU 6.0 from mike connor]
251 *** Added, DAS DEC-90.
260 # endif /* _SPEED_T */
262 #endif /* masscomp */
265 * Motorola MPC running R32V2 (sysV88)
274 * Amdahl running UTS (Sys V3)
283 * Tektronix XD88/10 running UTekV (Sys V3)
292 * BBN Butterfly gp1000
298 #endif /* butterfly */
301 * Alliant FX-2800/FX-80
308 typedef int pid_t; /* FX-80 */
310 typedef short pid_t; /* FX-2800 */
324 * Apollo running Domain/OS SR10.3 or greater
329 typedef int pid_t; /* Older versions might not like that */
334 *** a pdp/11, running 2BSD
343 *** a Harris, running CX/UX
352 *** Catch all for non POSIX and/or non ANSI systems.
353 *** Systems up to spec *should* define these automatically
354 *** I am open to suggestions on how to do this correctly!
366 typedef unsigned int speed_t;
367 # endif /* _SPEED_T */
371 typedef char * ptr_t;
376 typedef char * ioctl_t; /* Third arg of ioctl */
377 # endif /* _IOCTL_T */
384 *** This is our own junk types.
388 typedef void * ptr_t;
393 typedef void * ioctl_t; /* Third arg of ioctl */
394 #endif /* _IOCTL_T */
396 #endif /* _h_sh_types */