xref: /freebsd-src/contrib/tcsh/sh.types.h (revision 6560ac57ce879857203bc456cdc3849808dc0700)
1c80476e4SDavid E. O'Brien /* sh.types.h: Do the necessary typedefs for each system.
2c80476e4SDavid E. O'Brien  *             Up till now I avoided making this into a separate file
3c80476e4SDavid E. O'Brien  *	       But I just wanted to eliminate the whole mess from sh.h
4c80476e4SDavid E. O'Brien  *	       In reality this should not be here! It is OS and MACHINE
5c80476e4SDavid E. O'Brien  *	       dependent, even between different revisions of OS's...
6c80476e4SDavid E. O'Brien  *	       Ideally there should be a way in c, to find out if something
7c80476e4SDavid E. O'Brien  *	       was typedef'ed, but unfortunately we rely in cpp kludges.
8c80476e4SDavid E. O'Brien  *	       Someday, this file will be removed...
9c80476e4SDavid E. O'Brien  *
10c80476e4SDavid E. O'Brien  *						christos
11c80476e4SDavid E. O'Brien  */
12c80476e4SDavid E. O'Brien /*-
13c80476e4SDavid E. O'Brien  * Copyright (c) 1980, 1991 The Regents of the University of California.
14c80476e4SDavid E. O'Brien  * All rights reserved.
15c80476e4SDavid E. O'Brien  *
16c80476e4SDavid E. O'Brien  * Redistribution and use in source and binary forms, with or without
17c80476e4SDavid E. O'Brien  * modification, are permitted provided that the following conditions
18c80476e4SDavid E. O'Brien  * are met:
19c80476e4SDavid E. O'Brien  * 1. Redistributions of source code must retain the above copyright
20c80476e4SDavid E. O'Brien  *    notice, this list of conditions and the following disclaimer.
21c80476e4SDavid E. O'Brien  * 2. Redistributions in binary form must reproduce the above copyright
22c80476e4SDavid E. O'Brien  *    notice, this list of conditions and the following disclaimer in the
23c80476e4SDavid E. O'Brien  *    documentation and/or other materials provided with the distribution.
2429301572SMark Peek  * 3. Neither the name of the University nor the names of its contributors
25c80476e4SDavid E. O'Brien  *    may be used to endorse or promote products derived from this software
26c80476e4SDavid E. O'Brien  *    without specific prior written permission.
27c80476e4SDavid E. O'Brien  *
28c80476e4SDavid E. O'Brien  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
29c80476e4SDavid E. O'Brien  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30c80476e4SDavid E. O'Brien  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31c80476e4SDavid E. O'Brien  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
32c80476e4SDavid E. O'Brien  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33c80476e4SDavid E. O'Brien  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34c80476e4SDavid E. O'Brien  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35c80476e4SDavid E. O'Brien  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36c80476e4SDavid E. O'Brien  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37c80476e4SDavid E. O'Brien  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38c80476e4SDavid E. O'Brien  * SUCH DAMAGE.
39c80476e4SDavid E. O'Brien  */
40c80476e4SDavid E. O'Brien #ifndef _h_sh_types
41c80476e4SDavid E. O'Brien #define _h_sh_types
42c80476e4SDavid E. O'Brien 
43c80476e4SDavid E. O'Brien 
44c80476e4SDavid E. O'Brien /***
45c80476e4SDavid E. O'Brien  *** LynxOS 2.1
46c80476e4SDavid E. O'Brien  ***/
47c80476e4SDavid E. O'Brien #ifdef Lynx
48c80476e4SDavid E. O'Brien # ifndef _PID_T
49c80476e4SDavid E. O'Brien #  define _PID_T
50c80476e4SDavid E. O'Brien # endif /* _PID_T */
51c80476e4SDavid E. O'Brien #endif
52c80476e4SDavid E. O'Brien 
53c80476e4SDavid E. O'Brien /***
54c80476e4SDavid E. O'Brien  *** MachTen
55c80476e4SDavid E. O'Brien  ***/
56c80476e4SDavid E. O'Brien #ifdef __MACHTEN__
57c80476e4SDavid E. O'Brien # ifndef _PID_T
58c80476e4SDavid E. O'Brien #  define _PID_T
59c80476e4SDavid E. O'Brien # endif
60c80476e4SDavid E. O'Brien #endif
61c80476e4SDavid E. O'Brien 
62c80476e4SDavid E. O'Brien 
63c80476e4SDavid E. O'Brien /***
64c80476e4SDavid E. O'Brien  *** Suns running sunos3.x - sunos4.1.x
65c80476e4SDavid E. O'Brien  ***/
66c80476e4SDavid E. O'Brien #if (defined(sun) || defined(__sun__)) && SYSVREL == 0
67c80476e4SDavid E. O'Brien # ifndef _PTR_T
68c80476e4SDavid E. O'Brien #  define _PTR_T
69c80476e4SDavid E. O'Brien #   ifdef __GNUC__
70c80476e4SDavid E. O'Brien     typedef void * ptr_t;
71c80476e4SDavid E. O'Brien #   else
72c80476e4SDavid E. O'Brien     typedef char * ptr_t;
73c80476e4SDavid E. O'Brien #   endif /* __GNUC__ */
74c80476e4SDavid E. O'Brien # endif /* _PTR_T */
75c80476e4SDavid E. O'Brien # ifndef __sys_stdtypes_h
76c80476e4SDavid E. O'Brien #  define __sys_stdtypes_h
77c80476e4SDavid E. O'Brien #   ifndef __lucid
78c80476e4SDavid E. O'Brien      typedef int pid_t;
79c80476e4SDavid E. O'Brien      typedef unsigned int speed_t;
80c80476e4SDavid E. O'Brien #   endif
81c80476e4SDavid E. O'Brien # endif /* __sys_stdtypes.h */
82c80476e4SDavid E. O'Brien # ifndef _PID_T
83c80476e4SDavid E. O'Brien #  define _PID_T
84c80476e4SDavid E. O'Brien # endif /* _PID_T */
85c80476e4SDavid E. O'Brien # ifndef _SPEED_T
86c80476e4SDavid E. O'Brien #  define _SPEED_T
87c80476e4SDavid E. O'Brien # endif /* _SPEED_T */
88c80476e4SDavid E. O'Brien #endif /* (sun || __sun__) && SYSVREL == 0 */
89c80476e4SDavid E. O'Brien 
90c80476e4SDavid E. O'Brien 
91c80476e4SDavid E. O'Brien /***
92c80476e4SDavid E. O'Brien  *** Hp's running hpux 7.0 or 8.0
93c80476e4SDavid E. O'Brien  ***/
94c80476e4SDavid E. O'Brien #ifdef __hpux
95c80476e4SDavid E. O'Brien 
96c80476e4SDavid E. O'Brien # ifndef _PTR_T
97c80476e4SDavid E. O'Brien #  define _PTR_T
98c80476e4SDavid E. O'Brien     typedef void * ptr_t;
99c80476e4SDavid E. O'Brien # endif /* _PTR_T */
100c80476e4SDavid E. O'Brien 
101c80476e4SDavid E. O'Brien # ifndef _PID_T
102c80476e4SDavid E. O'Brien #  define _PID_T
103c80476e4SDavid E. O'Brien     typedef long pid_t;
104c80476e4SDavid E. O'Brien # endif /* _PID_T */
105c80476e4SDavid E. O'Brien 
106c80476e4SDavid E. O'Brien # ifndef _SPEED_T
107c80476e4SDavid E. O'Brien    /* I thought POSIX was supposed to protect all typedefs! */
108c80476e4SDavid E. O'Brien #  define _SPEED_T
109c80476e4SDavid E. O'Brien # endif /* _SPEED_T */
110c80476e4SDavid E. O'Brien 
111b2d5d167SMark Peek # if HPUXVERSION < 1100	/* XXX: Not true for 11.0 */
112c80476e4SDavid E. O'Brien extern uid_t getuid(), geteuid();
113c80476e4SDavid E. O'Brien extern gid_t getgid(), getegid();
114c80476e4SDavid E. O'Brien extern pid_t getpid();
115c80476e4SDavid E. O'Brien extern pid_t fork();
116c80476e4SDavid E. O'Brien extern void perror();
117c80476e4SDavid E. O'Brien extern void _exit();
118c80476e4SDavid E. O'Brien extern void abort();
119c80476e4SDavid E. O'Brien extern void qsort();
120c80476e4SDavid E. O'Brien extern void free();
121c80476e4SDavid E. O'Brien extern unsigned int alarm();
122c80476e4SDavid E. O'Brien extern unsigned int sleep();
123b2d5d167SMark Peek # endif /* HPUXVERSION < 1100 */
124c80476e4SDavid E. O'Brien # if HPUXVERSION < 800	/* XXX: Not true for 8.0 */
125c80476e4SDavid E. O'Brien extern char *sbrk();
126c80476e4SDavid E. O'Brien # endif /* HPUXVERSION < 800 */
127c80476e4SDavid E. O'Brien #endif /* __hpux */
128c80476e4SDavid E. O'Brien 
129*45e5710bSMark Peek #if (defined(_MINIX) && !defined(_MINIX_VMD)) || defined(__EMX__)
130c80476e4SDavid E. O'Brien typedef char * caddr_t;
131*45e5710bSMark Peek #endif /* (_MINIX && !_MINIX_VMD) || __EMX__ */
132c80476e4SDavid E. O'Brien 
133c80476e4SDavid E. O'Brien /***
134c80476e4SDavid E. O'Brien  *** hp9000s500 running hpux-5.2
135c80476e4SDavid E. O'Brien  ***/
136c80476e4SDavid E. O'Brien #ifdef hp9000s500
137c80476e4SDavid E. O'Brien # ifndef _PTR_T
138c80476e4SDavid E. O'Brien #  define _PTR_T
139c80476e4SDavid E. O'Brien     typedef char * ptr_t;
140c80476e4SDavid E. O'Brien # endif /* _PTR_T */
141c80476e4SDavid E. O'Brien #endif /* hp9000s500 */
142c80476e4SDavid E. O'Brien 
143c80476e4SDavid E. O'Brien /***
144c80476e4SDavid E. O'Brien  *** Data General AViiON 88000 or Pentium, running dgux 5.4R3 or R4.11
145c80476e4SDavid E. O'Brien  ***/
146c80476e4SDavid E. O'Brien #ifdef DGUX
147c80476e4SDavid E. O'Brien # ifndef _PID_T
148c80476e4SDavid E. O'Brien #  define _PID_T
149c80476e4SDavid E. O'Brien # endif /* _PID_T */
150c80476e4SDavid E. O'Brien #endif /* DGUX */
151c80476e4SDavid E. O'Brien 
152c80476e4SDavid E. O'Brien 
153c80476e4SDavid E. O'Brien /***
154c80476e4SDavid E. O'Brien  *** BSD RENO advertises itself as POSIX, but
155c80476e4SDavid E. O'Brien  *** it is missing speed_t
156c80476e4SDavid E. O'Brien  ***/
157c80476e4SDavid E. O'Brien #ifdef RENO
158c80476e4SDavid E. O'Brien # ifndef _SPEED_T
159c80476e4SDavid E. O'Brien #  define _SPEED_T
160c80476e4SDavid E. O'Brien    typedef unsigned int speed_t;
161c80476e4SDavid E. O'Brien # endif /* _SPEED_T */
162c80476e4SDavid E. O'Brien #endif /* RENO */
163c80476e4SDavid E. O'Brien 
164c80476e4SDavid E. O'Brien 
165c80476e4SDavid E. O'Brien /***
166c80476e4SDavid E. O'Brien  *** NeXT OS 3.x
167c80476e4SDavid E. O'Brien  ***/
168c80476e4SDavid E. O'Brien #ifdef NeXT
169c80476e4SDavid E. O'Brien # ifndef _SPEED_T
170c80476e4SDavid E. O'Brien #  define _SPEED_T
171c80476e4SDavid E. O'Brien    typedef unsigned int speed_t;
172c80476e4SDavid E. O'Brien # endif /* _SPEED_T */
173c80476e4SDavid E. O'Brien #endif /* NeXT */
174c80476e4SDavid E. O'Brien 
175c80476e4SDavid E. O'Brien /***
176c80476e4SDavid E. O'Brien  *** Utah's HPBSD
177c80476e4SDavid E. O'Brien  *** some posix & 4.4 BSD changes (pid_t is a short)
178c80476e4SDavid E. O'Brien  ***/
179c80476e4SDavid E. O'Brien #ifdef HPBSD
180c80476e4SDavid E. O'Brien # ifndef _PID_T
181c80476e4SDavid E. O'Brien #  define _PID_T
182c80476e4SDavid E. O'Brien # endif /* _PID_T */
183c80476e4SDavid E. O'Brien #endif /* HPBSD */
184c80476e4SDavid E. O'Brien 
185c80476e4SDavid E. O'Brien 
186c80476e4SDavid E. O'Brien /***
187c80476e4SDavid E. O'Brien  *** Pyramid, BSD universe
188c80476e4SDavid E. O'Brien  *** In addition to the size_t
189c80476e4SDavid E. O'Brien  ***/
190c80476e4SDavid E. O'Brien #ifdef pyr
191c80476e4SDavid E. O'Brien # ifndef _PID_T
192c80476e4SDavid E. O'Brien #  define _PID_T
193c80476e4SDavid E. O'Brien    typedef short pid_t;
194c80476e4SDavid E. O'Brien # endif /* _PID_T */
195c80476e4SDavid E. O'Brien #endif /* pyr */
196c80476e4SDavid E. O'Brien 
197c80476e4SDavid E. O'Brien 
198c80476e4SDavid E. O'Brien /***
199c80476e4SDavid E. O'Brien  *** rs6000, ibm370, ps2, rt: running flavors of aix.
200c80476e4SDavid E. O'Brien  ***/
201c80476e4SDavid E. O'Brien #ifdef IBMAIX
202c80476e4SDavid E. O'Brien # ifndef aiws
203c80476e4SDavid E. O'Brien #  ifndef _PID_T
204c80476e4SDavid E. O'Brien #   define _PID_T
205c80476e4SDavid E. O'Brien #  endif /* _PID_T */
206c80476e4SDavid E. O'Brien # endif /* !aiws */
207c80476e4SDavid E. O'Brien # ifdef _IBMR2
208c80476e4SDavid E. O'Brien #  ifndef _SPEED_T
209c80476e4SDavid E. O'Brien #   define _SPEED_T
210c80476e4SDavid E. O'Brien #  endif /* _SPEED_T */
211c80476e4SDavid E. O'Brien # endif /* _IBMR2 */
212c80476e4SDavid E. O'Brien #endif /* IBMAIX */
213c80476e4SDavid E. O'Brien 
214c80476e4SDavid E. O'Brien 
215c80476e4SDavid E. O'Brien /***
216c80476e4SDavid E. O'Brien  *** Ultrix...
217c80476e4SDavid E. O'Brien  ***/
218c80476e4SDavid E. O'Brien #if defined(ultrix) || defined(__ultrix)
219c80476e4SDavid E. O'Brien # ifndef _PID_T
220c80476e4SDavid E. O'Brien #  define _PID_T
221c80476e4SDavid E. O'Brien # endif /* _PID_T */
2228e66bd9eSDavid E. O'Brien # ifndef _PTR_T
2238e66bd9eSDavid E. O'Brien #  define _PTR_T
2248e66bd9eSDavid E. O'Brien     typedef void * ptr_t;
2258e66bd9eSDavid E. O'Brien # endif /* _PTR_T */
226c80476e4SDavid E. O'Brien #endif /* ultrix || __ultrix */
227c80476e4SDavid E. O'Brien 
228c80476e4SDavid E. O'Brien 
229c80476e4SDavid E. O'Brien /***
230c80476e4SDavid E. O'Brien  *** Silicon graphics IRIS4D running IRIX3_3
231c80476e4SDavid E. O'Brien  ***/
232c80476e4SDavid E. O'Brien #if defined(IRIS4D) && defined(IRIX3_3)
233c80476e4SDavid E. O'Brien # ifndef _PID_T
234c80476e4SDavid E. O'Brien #  define _PID_T
235c80476e4SDavid E. O'Brien # endif /* _PID_T */
236c80476e4SDavid E. O'Brien #endif /* IRIS4D && IRIX3_3 */
237c80476e4SDavid E. O'Brien 
238c80476e4SDavid E. O'Brien 
239c80476e4SDavid E. O'Brien /***
240c80476e4SDavid E. O'Brien  *** Apple AUX.
241c80476e4SDavid E. O'Brien  ***/
242c80476e4SDavid E. O'Brien #ifdef OREO
243c80476e4SDavid E. O'Brien # ifndef _PID_T
244c80476e4SDavid E. O'Brien #  define _PID_T
245c80476e4SDavid E. O'Brien # endif /* _PID_T */
246c80476e4SDavid E. O'Brien #endif /* OREO */
247c80476e4SDavid E. O'Brien 
248c80476e4SDavid E. O'Brien /***
249c80476e4SDavid E. O'Brien  *** Concurrent (Masscomp) running RTU 4.1A & RTU 5.0.
250c80476e4SDavid E. O'Brien  **** [RTU 6.0 from mike connor]
251c80476e4SDavid E. O'Brien  *** Added, DAS DEC-90.
252c80476e4SDavid E. O'Brien  ***/
253c80476e4SDavid E. O'Brien #ifdef	masscomp
254c80476e4SDavid E. O'Brien # ifdef RTU6
255c80476e4SDavid E. O'Brien #  ifndef _PID_T
256c80476e4SDavid E. O'Brien #   define _PID_T
257c80476e4SDavid E. O'Brien #  endif /* _PID_T */
258c80476e4SDavid E. O'Brien #  ifndef _SPEED_T
259c80476e4SDavid E. O'Brien #   define _SPEED_T
260c80476e4SDavid E. O'Brien #  endif /* _SPEED_T */
261c80476e4SDavid E. O'Brien #endif /* RTU6 */
262c80476e4SDavid E. O'Brien #endif	/* masscomp */
263c80476e4SDavid E. O'Brien 
264c80476e4SDavid E. O'Brien /*
265c80476e4SDavid E. O'Brien  * Motorola MPC running R32V2 (sysV88)
266c80476e4SDavid E. O'Brien  */
267c80476e4SDavid E. O'Brien #ifdef sysV88
268c80476e4SDavid E. O'Brien # ifndef _PID_T
269c80476e4SDavid E. O'Brien #  define _PID_T
270c80476e4SDavid E. O'Brien # endif /* _PID_T */
271c80476e4SDavid E. O'Brien #endif /* sysV88 */
272c80476e4SDavid E. O'Brien 
273c80476e4SDavid E. O'Brien /*
274c80476e4SDavid E. O'Brien  * Amdahl running UTS (Sys V3)
275c80476e4SDavid E. O'Brien  */
276c80476e4SDavid E. O'Brien #ifdef uts
277c80476e4SDavid E. O'Brien # ifndef _PID_T
278c80476e4SDavid E. O'Brien #  define _PID_T
279c80476e4SDavid E. O'Brien # endif /* _PID_T */
280c80476e4SDavid E. O'Brien #endif /* uts */
281c80476e4SDavid E. O'Brien 
282c80476e4SDavid E. O'Brien /*
283c80476e4SDavid E. O'Brien  * Tektronix XD88/10 running UTekV (Sys V3)
284c80476e4SDavid E. O'Brien  */
285c80476e4SDavid E. O'Brien #ifdef UTekV
286c80476e4SDavid E. O'Brien # ifndef _PID_T
287c80476e4SDavid E. O'Brien #  define _PID_T
288c80476e4SDavid E. O'Brien # endif /* _PID_T */
289c80476e4SDavid E. O'Brien #endif /* UTekV*/
290c80476e4SDavid E. O'Brien 
291c80476e4SDavid E. O'Brien /*
292c80476e4SDavid E. O'Brien  * BBN Butterfly gp1000
293c80476e4SDavid E. O'Brien  */
294c80476e4SDavid E. O'Brien #ifdef butterfly
295c80476e4SDavid E. O'Brien # ifndef _PID_T
296c80476e4SDavid E. O'Brien #  define _PID_T
297c80476e4SDavid E. O'Brien # endif /* _PID_T */
298c80476e4SDavid E. O'Brien #endif /* butterfly */
299c80476e4SDavid E. O'Brien 
300c80476e4SDavid E. O'Brien /*
301c80476e4SDavid E. O'Brien  * Alliant FX-2800/FX-80
302c80476e4SDavid E. O'Brien  */
303c80476e4SDavid E. O'Brien #ifdef alliant
304c80476e4SDavid E. O'Brien # ifndef _PID_T
305c80476e4SDavid E. O'Brien #  define _PID_T
306c80476e4SDavid E. O'Brien # endif /* _PID_T */
307c80476e4SDavid E. O'Brien # ifdef mc68000
308c80476e4SDavid E. O'Brien    typedef int   pid_t; /* FX-80 */
309c80476e4SDavid E. O'Brien # else
310c80476e4SDavid E. O'Brien    typedef short pid_t;	/* FX-2800 */
311c80476e4SDavid E. O'Brien # endif
312c80476e4SDavid E. O'Brien #endif /* alliant */
313c80476e4SDavid E. O'Brien 
314c80476e4SDavid E. O'Brien /*
315c80476e4SDavid E. O'Brien  * DNIX
316c80476e4SDavid E. O'Brien  */
317c80476e4SDavid E. O'Brien #ifdef DNIX
318c80476e4SDavid E. O'Brien # ifndef _PID_T
319c80476e4SDavid E. O'Brien #  define _PID_T
320c80476e4SDavid E. O'Brien # endif /* _PID_T */
321c80476e4SDavid E. O'Brien #endif /* DNIX */
322c80476e4SDavid E. O'Brien 
323c80476e4SDavid E. O'Brien /*
324c80476e4SDavid E. O'Brien  *  Apollo running Domain/OS SR10.3 or greater
325c80476e4SDavid E. O'Brien  */
326c80476e4SDavid E. O'Brien #ifdef apollo
327c80476e4SDavid E. O'Brien # ifndef _PID_T
328c80476e4SDavid E. O'Brien #  define _PID_T
329c80476e4SDavid E. O'Brien    typedef int pid_t;	/* Older versions might not like that */
330c80476e4SDavid E. O'Brien # endif /* _PID_T */
331c80476e4SDavid E. O'Brien #endif /* apollo */
332c80476e4SDavid E. O'Brien 
333c80476e4SDavid E. O'Brien /***
334c80476e4SDavid E. O'Brien  *** a pdp/11, running 2BSD
335c80476e4SDavid E. O'Brien  ***/
336c80476e4SDavid E. O'Brien #ifdef pdp11
337c80476e4SDavid E. O'Brien # ifndef _PID_T
338c80476e4SDavid E. O'Brien #  define _PID_T
339c80476e4SDavid E. O'Brien # endif /* _PID_T */
340c80476e4SDavid E. O'Brien #endif /* pdp11 */
341c80476e4SDavid E. O'Brien 
342c80476e4SDavid E. O'Brien /***
343c80476e4SDavid E. O'Brien  *** a Harris, running CX/UX
344c80476e4SDavid E. O'Brien  ***/
345c80476e4SDavid E. O'Brien #ifdef _CX_UX
346c80476e4SDavid E. O'Brien # ifndef _PID_T
347c80476e4SDavid E. O'Brien #  define _PID_T
348c80476e4SDavid E. O'Brien # endif /* _PID_T */
349c80476e4SDavid E. O'Brien #endif /* _CX_UX */
350c80476e4SDavid E. O'Brien 
351c80476e4SDavid E. O'Brien /***
352c80476e4SDavid E. O'Brien  *** Catch all for non POSIX and/or non ANSI systems.
353c80476e4SDavid E. O'Brien  *** Systems up to spec *should* define these automatically
354c80476e4SDavid E. O'Brien  *** I am open to suggestions on how to do this correctly!
355c80476e4SDavid E. O'Brien  ***/
356c80476e4SDavid E. O'Brien 
357c80476e4SDavid E. O'Brien #ifndef POSIX
358c80476e4SDavid E. O'Brien 
359c80476e4SDavid E. O'Brien # ifndef _PID_T
360c80476e4SDavid E. O'Brien #  define _PID_T
361c80476e4SDavid E. O'Brien     typedef int pid_t;
362c80476e4SDavid E. O'Brien # endif /* _PID_T */
363c80476e4SDavid E. O'Brien 
364c80476e4SDavid E. O'Brien # ifndef _SPEED_T
365c80476e4SDavid E. O'Brien #  define _SPEED_T
366c80476e4SDavid E. O'Brien     typedef unsigned int speed_t;
367c80476e4SDavid E. O'Brien # endif /* _SPEED_T */
368c80476e4SDavid E. O'Brien 
369c80476e4SDavid E. O'Brien # ifndef _PTR_T
370c80476e4SDavid E. O'Brien #  define _PTR_T
371c80476e4SDavid E. O'Brien     typedef char * ptr_t;
372c80476e4SDavid E. O'Brien #endif /* _PTR_T */
373c80476e4SDavid E. O'Brien 
374c80476e4SDavid E. O'Brien # ifndef _IOCTL_T
375c80476e4SDavid E. O'Brien #  define _IOCTL_T
376c80476e4SDavid E. O'Brien     typedef char * ioctl_t;	/* Third arg of ioctl */
377c80476e4SDavid E. O'Brien # endif /* _IOCTL_T */
378c80476e4SDavid E. O'Brien 
379c80476e4SDavid E. O'Brien #endif /* ! POSIX */
380c80476e4SDavid E. O'Brien 
381c80476e4SDavid E. O'Brien 
382c80476e4SDavid E. O'Brien 
383c80476e4SDavid E. O'Brien /***
384c80476e4SDavid E. O'Brien  *** This is our own junk types.
385c80476e4SDavid E. O'Brien  ***/
386c80476e4SDavid E. O'Brien #ifndef _PTR_T
387c80476e4SDavid E. O'Brien # define _PTR_T
388c80476e4SDavid E. O'Brien     typedef void * ptr_t;
389c80476e4SDavid E. O'Brien #endif /* _PTR_T */
390c80476e4SDavid E. O'Brien 
391c80476e4SDavid E. O'Brien #ifndef _IOCTL_T
392c80476e4SDavid E. O'Brien # define _IOCTL_T
393c80476e4SDavid E. O'Brien     typedef void * ioctl_t;	/* Third arg of ioctl */
394c80476e4SDavid E. O'Brien #endif /* _IOCTL_T */
395c80476e4SDavid E. O'Brien 
396c80476e4SDavid E. O'Brien #endif /* _h_sh_types */
397