]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/tcsh/sh.types.h
This commit was generated by cvs2svn to compensate for changes in r142810,
[FreeBSD/FreeBSD.git] / contrib / tcsh / sh.types.h
1 /* $Header: /src/pub/tcsh/sh.types.h,v 3.40 2003/06/18 19:32:44 christos Exp $ */
2 /* sh.types.h: Do the necessary typedefs for each system.
3  *             Up till now I avoided making this into a separate file
4  *             But I just wanted to eliminate the whole mess from sh.h
5  *             In reality this should not be here! It is OS and MACHINE
6  *             dependent, even between different revisions of OS's...
7  *             Ideally there should be a way in c, to find out if something
8  *             was typedef'ed, but unfortunately we rely in cpp kludges.
9  *             Someday, this file will be removed... 
10  *                                              
11  *                                              christos
12  */
13 /*-
14  * Copyright (c) 1980, 1991 The Regents of the University of California.
15  * All rights reserved.
16  *
17  * Redistribution and use in source and binary forms, with or without
18  * modification, are permitted provided that the following conditions
19  * are met:
20  * 1. Redistributions of source code must retain the above copyright
21  *    notice, this list of conditions and the following disclaimer.
22  * 2. Redistributions in binary form must reproduce the above copyright
23  *    notice, this list of conditions and the following disclaimer in the
24  *    documentation and/or other materials provided with the distribution.
25  * 3. Neither the name of the University nor the names of its contributors
26  *    may be used to endorse or promote products derived from this software
27  *    without specific prior written permission.
28  *
29  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
30  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
32  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
33  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
35  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
36  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
37  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
38  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
39  * SUCH DAMAGE.
40  */
41 #ifndef _h_sh_types
42 #define _h_sh_types
43
44
45 /***
46  *** LynxOS 2.1
47  ***/
48 #ifdef Lynx
49 # ifndef _SIGMASK_T
50 #  define _SIGMASK_T
51     typedef long sigmask_t;
52 # endif /* _SIGMASK_T */
53 # ifndef _PID_T
54 #  define _PID_T
55 # endif /* _PID_T */
56 #endif
57
58 /***
59  *** MachTen 
60  ***/
61 #ifdef __MACHTEN__
62 # ifndef _PID_T
63 #  define _PID_T
64 # endif
65 #endif
66
67
68 /***
69  *** Suns running sunos3.x - sunos4.1.x
70  ***/
71 #if (defined(sun) || defined(__sun__)) && SYSVREL == 0
72 /* This used to be long, but lint dissagrees... */
73 # ifndef _SIGMASK_T
74 #  define _SIGMASK_T
75     typedef int sigmask_t;
76 # endif /* _SIGMASK_T */
77 # ifndef _PTR_T
78 #  define _PTR_T 
79 #   ifdef __GNUC__
80     typedef void * ptr_t;
81 #   else
82     typedef char * ptr_t;
83 #   endif /* __GNUC__ */
84 # endif /* _PTR_T */
85 # ifndef _SIZE_T
86 #  define _SIZE_T
87 # endif /* _SIZE_T */
88 # ifndef __sys_stdtypes_h
89 #  define __sys_stdtypes_h
90 #   ifndef __lucid
91      typedef int pid_t;
92      typedef unsigned int speed_t;
93 #   endif
94 # endif /* __sys_stdtypes.h */
95 # ifndef _PID_T
96 #  define _PID_T
97 # endif /* _PID_T */
98 # ifndef _SPEED_T
99 #  define _SPEED_T
100 # endif /* _SPEED_T */
101 # ifndef SUNOS4
102 #  ifndef MACH
103 #   ifndef _UID_T
104 #    define _UID_T
105       typedef int uid_t;
106 #   endif /* _UID_T */
107 #   ifndef _GID_T
108 #    define _GID_T
109       typedef int gid_t;
110 #   endif /* _GID_T */
111 #  endif /* !MACH */
112 # endif /* !SUNOS4 */
113 #endif /* (sun || __sun__) && SYSVREL == 0 */
114
115
116 /***
117  *** Hp's running hpux 7.0 or 8.0
118  ***/
119 #ifdef __hpux
120 # ifndef _SIZE_T
121 #  define _SIZE_T
122     typedef unsigned int size_t;
123 # endif /* _SIZE_T */
124
125 # ifndef _PTR_T
126 #  define _PTR_T 
127     typedef void * ptr_t;
128 # endif /* _PTR_T */
129
130 # ifndef _PID_T
131 #  define _PID_T
132     typedef long pid_t;
133 # endif /* _PID_T */
134
135 # ifndef _SIGMASK_T
136 #  define _SIGMASK_T
137     typedef long sigmask_t;
138 # endif /* _SIGMASK_T */
139   
140 # ifndef _SPEED_T
141    /* I thought POSIX was supposed to protect all typedefs! */
142 #  define _SPEED_T
143 # endif /* _SPEED_T */
144
145 # if HPUXVERSION < 1100 /* XXX: Not true for 11.0 */
146 extern uid_t getuid(), geteuid();
147 extern gid_t getgid(), getegid();
148 extern sigmask_t sigblock();
149 extern sigmask_t sigsetmask();
150 extern pid_t getpid();
151 extern pid_t fork();
152 extern void perror();
153 extern void _exit();
154 extern void abort();
155 extern void qsort();
156 extern void free();
157 extern unsigned int alarm();
158 extern unsigned int sleep();
159 # endif /* HPUXVERSION < 1100 */
160 # if HPUXVERSION < 800  /* XXX: Not true for 8.0 */
161 extern void sigpause();
162 extern sigmask_t sigspace();
163 extern int lstat();
164 extern int readlink();
165 extern int sigvector();
166 extern int gethostname();
167 extern int ioctl();
168 extern int nice();
169 extern char *sbrk();
170 # endif /* HPUXVERSION < 800 */
171 #endif /* __hpux */
172
173 #if (defined(_MINIX) && !defined(_MINIX_VMD)) || defined(__EMX__) || defined(COHERENT)
174 typedef char * caddr_t;
175 #endif /* (_MINIX && !_MINIX_VMD) || __EMX__ || COHERENT */
176
177 /***
178  *** hp9000s500 running hpux-5.2
179  ***/
180 #ifdef hp9000s500
181 # ifndef _PTR_T
182 #  define _PTR_T
183     typedef char * ptr_t;
184 # endif /* _PTR_T */
185 #endif /* hp9000s500 */
186
187 /***
188  *** Data General AViiON 88000 or Pentium, running dgux 5.4R3 or R4.11
189  ***/
190 #ifdef DGUX
191 # ifndef _SIZE_T
192 #  define _SIZE_T size_t
193     typedef unsigned int size_t;
194 # endif /* _SIZE_T */
195 # ifndef _PID_T
196 #  define _PID_T
197 # endif /* _PID_T */
198 #endif /* DGUX */
199
200
201 /***
202  *** Intel 386, ISC 386/ix v2.0.2
203  ***/
204 #ifdef ISC202
205 # ifndef _SIZE_T
206 #  define _SIZE_T
207 # endif /* _SIZE_T */
208 #endif /* ISC202 */
209
210 /***
211  *** a PFU/Fujitsu A-xx computer SX/A Edition 60 or later
212  ***/
213 #ifdef SXA
214 # ifndef _SIZE_T
215 #  define _SIZE_T
216 # endif /* _SIZE_T */
217 #endif /* SXA */
218
219 /***
220  *** a stellar 2600, running stellix 2.3
221  ***/
222 #ifdef stellar
223 # ifndef _SIZE_T
224 #  define _SIZE_T
225 # endif /* _SIZE_T */
226 #endif /* stellar */
227
228 /***
229  *** BSD systems, pre and post 4.3
230  ***/
231 #ifdef BSD
232 # ifndef _SIZE_T
233 #  define _SIZE_T
234 # endif /* _SIZE_T */
235 #endif /* BSD */
236
237
238 /***
239  *** BSD RENO advertises itself as POSIX, but
240  *** it is missing speed_t 
241  ***/
242 #ifdef RENO
243 # ifndef _SPEED_T
244 #  define _SPEED_T
245    typedef unsigned int speed_t; 
246 # endif /* _SPEED_T */
247 #endif /* RENO */
248
249
250 /***
251  *** NeXT OS 3.x
252  ***/ 
253 #ifdef NeXT
254 # ifndef _SPEED_T
255 #  define _SPEED_T
256    typedef unsigned int speed_t; 
257 # endif /* _SPEED_T */
258 #endif /* NeXT */
259
260 /***
261  *** Utah's HPBSD
262  *** some posix & 4.4 BSD changes (pid_t is a short)
263  ***/
264 #ifdef HPBSD
265 # ifndef _PID_T
266 #  define _PID_T
267 # endif /* _PID_T */
268 #endif /* HPBSD */
269
270
271 /***
272  *** Pyramid, BSD universe
273  *** In addition to the size_t
274  ***/
275 #ifdef pyr
276 # ifndef _PID_T
277 #  define _PID_T
278    typedef short pid_t;
279 # endif /* _PID_T */
280 #endif /* pyr */
281
282
283 /***
284  *** rs6000, ibm370, ps2, rt: running flavors of aix.
285  ***/
286 #ifdef IBMAIX
287 # ifndef _SIZE_T
288 #  define _SIZE_T
289 # endif /* _SIZE_T */
290 # ifndef aiws
291 #  ifndef _PID_T
292 #   define _PID_T
293 #  endif /* _PID_T */
294 # endif /* !aiws */
295 # ifdef _IBMR2
296 #  ifndef _SPEED_T 
297 #   define _SPEED_T
298 #  endif /* _SPEED_T */
299 # endif /* _IBMR2 */
300 #endif /* IBMAIX */
301
302
303 /***
304  *** Ultrix...
305  ***/
306 #if defined(ultrix) || defined(__ultrix)
307 # ifndef _SIZE_T
308 #  define _SIZE_T
309 # endif /* _SIZE_T */
310 # ifndef _PID_T
311 #  define _PID_T
312 # endif /* _PID_T */
313 # ifndef _PTR_T
314 #  define _PTR_T
315     typedef void * ptr_t;
316 # endif /* _PTR_T */
317 #endif /* ultrix || __ultrix */
318
319
320 /***
321  *** Silicon graphics IRIS4D running IRIX3_3
322  ***/
323 #if defined(IRIS4D) && defined(IRIX3_3)
324 # ifndef _PID_T
325 #  define _PID_T
326 # endif /* _PID_T */
327 #endif /* IRIS4D && IRIX3_3 */
328
329
330 /***
331  *** Sequent
332  ***/
333 #ifdef sequent
334 # ifndef _SIZE_T
335 #  define _SIZE_T
336 # endif /* _SIZE_T */
337 #endif /* sequent */
338
339 /***
340  *** Apple AUX.
341  ***/
342 #ifdef OREO
343 # ifndef _SIZE_T
344 #  define _SIZE_T
345 # endif /* _SIZE_T */
346 # ifndef _PID_T
347 #  define _PID_T
348 # endif /* _PID_T */
349 #endif /* OREO */
350
351 /***
352  *** Intel 386, Hypercube
353  ***/
354 #ifdef INTEL
355 # ifndef _SIZE_T
356 #  define _SIZE_T
357 # endif /* _SIZE_T */
358 #endif /* INTEL */
359
360 /***
361  *** Concurrent (Masscomp) running RTU 4.1A & RTU 5.0. 
362  **** [RTU 6.0 from mike connor]
363  *** Added, DAS DEC-90.
364  ***/
365 #ifdef  masscomp
366 # ifndef _SIZE_T
367 #  define _SIZE_T
368 # endif /* _SIZE_T */
369 # ifdef RTU6
370 #  ifndef _PID_T
371 #   define _PID_T
372 #  endif /* _PID_T */
373 #  ifndef _SPEED_T
374 #   define _SPEED_T
375 #  endif /* _SPEED_T */
376 #endif /* RTU6 */
377 #endif  /* masscomp */
378
379 /***
380  *** Encore multimax running umax 4.2
381  ***/
382 #ifdef  ns32000
383 # ifdef __TYPES_DOT_H__
384 #  ifndef _SIZE_T
385 #   define _SIZE_T
386 #  endif /* _SIZE_T */
387 # endif /* __TYPES_DOT_H__ */
388 #endif  /* ns32000 */
389
390 /***
391  *** Silicon Graphics IRIS 3000
392  ***
393  ***/
394 #ifdef IRIS3D
395 # ifndef _SIZE_T
396 #  define _SIZE_T
397 # endif /* _SIZE_T */
398 #endif /* IRIS3D */
399
400 /* 
401  * Motorola MPC running R32V2 (sysV88)
402  */
403 #ifdef sysV88
404 # ifndef _SIZE_T
405 #  define _SIZE_T
406 # endif /* _SIZE_T */
407 # ifndef _PID_T
408 #  define _PID_T
409 # endif /* _PID_T */
410 #endif /* sysV88 */
411  
412 /* 
413  * Amdahl running UTS (Sys V3)
414  */
415 #ifdef uts
416 # ifndef _SIZE_T
417 #  define _SIZE_T
418 # endif /* _SIZE_T */
419 # ifndef _PID_T
420 #  define _PID_T
421 # endif /* _PID_T */
422 #endif /* uts */
423
424 /* 
425  * Tektronix 4300 running UTek 4.0 (BSD 4.2)
426  */
427 #ifdef UTek
428 # ifndef _SIZE_T
429 #  define _SIZE_T
430 # endif /* _SIZE_T */
431 # ifndef _UID_T
432 #  define _UID_T
433    typedef int uid_t;
434 # endif /* _UID_T */
435 # ifndef _GID_T
436 #  define _GID_T
437    typedef int gid_t;
438 # endif /* _GID_T */
439 #endif /* UTek */
440
441 /* 
442  * Tektronix XD88/10 running UTekV (Sys V3)
443  */
444 #ifdef UTekV
445 # ifndef _SIZE_T
446 #  define _SIZE_T
447 # endif /* _SIZE_T */
448 # ifndef _PID_T
449 #  define _PID_T
450 # endif /* _PID_T */
451 #endif /* UTekV*/
452
453 /*
454  * UnixPC aka u3b1
455  */
456 #ifdef UNIXPC
457 # ifdef types_h
458 #  ifndef _SIZE_T
459 #   define _SIZE_T
460 #  endif /* _SIZE_T */
461 # endif /* types_h */
462 #endif /* UNIXPC */
463
464 /*
465  * NS32000 OPUS
466  */
467 #ifdef OPUS
468 # ifndef _SIZE_T
469 #  define _SIZE_T
470 # endif /* _SIZE_T */
471 #endif /* OPUS */
472
473 /*
474  * BBN Butterfly gp1000
475  */
476 #ifdef butterfly
477 # ifndef _PID_T
478 #  define _PID_T
479 # endif /* _PID_T */
480 #endif /* butterfly */
481
482 /*
483  * Convex
484  */
485 #ifdef convex
486 # if defined(__SIZE_T) && !defined(_SIZE_T)
487 #  define _SIZE_T
488 # endif /* __SIZE_T && !_SIZE_T */
489 #endif /* convex */
490
491 /*
492  * Alliant FX-2800/FX-80
493  */
494 #ifdef alliant
495 # ifndef _PID_T
496 #  define _PID_T
497 # endif /* _PID_T */
498 # ifdef mc68000
499    typedef int   pid_t; /* FX-80 */
500 # else
501    typedef short pid_t; /* FX-2800 */
502 # endif 
503 #endif /* alliant */
504
505 /*
506  * DNIX
507  */
508 #ifdef DNIX
509 # ifndef _PID_T
510 #  define _PID_T
511 # endif /* _PID_T */
512 #endif /* DNIX */
513
514 /*
515  *  Apollo running Domain/OS SR10.3 or greater
516  */
517 #ifdef apollo
518 # ifndef _PID_T
519 #  define _PID_T
520    typedef int pid_t;   /* Older versions might not like that */
521 # endif /* _PID_T */
522 #endif /* apollo */
523
524 /*
525  *  Vax running VMS_POSIX
526  */
527 #ifdef _VMS_POSIX
528 # ifndef _SIZE_T
529 #  define _SIZE_T
530 # endif /* _SIZE_T */
531 #endif /* _VMS_POSIX */
532
533 /***
534  *** a pdp/11, running 2BSD
535  ***/
536 #ifdef pdp11
537 # ifndef _PID_T
538 #  define _PID_T
539 # endif /* _PID_T */
540 #endif /* pdp11 */
541
542 /***
543  *** a Harris, running CX/UX
544  ***/
545 #ifdef _CX_UX
546 # ifndef _PID_T
547 #  define _PID_T
548 # endif /* _PID_T */
549 #endif /* _CX_UX */
550
551 /***
552  *** Catch all for non POSIX and/or non ANSI systems.
553  *** Systems up to spec *should* define these automatically
554  *** I am open to suggestions on how to do this correctly!
555  ***/
556
557 #ifndef __STDC__
558
559 # ifndef _SIZE_T
560 #  define _SIZE_T
561    typedef int size_t;          /* As sun comments ??? : meaning I take it */
562 # endif /* _SIZE_T */           /* Until we make the world ANSI... */
563
564 #endif  /* ! __STDC__ */
565
566 #ifndef POSIX
567
568 # ifndef _PID_T
569 #  define _PID_T
570     typedef int pid_t;
571 # endif /* _PID_T */
572
573 # ifndef _SPEED_T
574 #  define _SPEED_T
575     typedef unsigned int speed_t;
576 # endif /* _SPEED_T */
577
578 # ifndef _PTR_T
579 #  define _PTR_T 
580     typedef char * ptr_t;
581 #endif /* _PTR_T */
582
583 # ifndef _IOCTL_T
584 #  define _IOCTL_T
585     typedef char * ioctl_t;     /* Third arg of ioctl */
586 # endif /* _IOCTL_T */
587
588 #endif /* ! POSIX */
589
590
591
592 /***
593  *** This is our own junk types.
594  ***/
595 #ifndef _PTR_T
596 # define _PTR_T 
597     typedef void * ptr_t;
598 #endif /* _PTR_T */
599
600 #ifndef _SIGMASK_T
601 # define _SIGMASK_T
602     typedef int sigmask_t;
603 #endif /* _SIGMASK_T */
604
605 #ifndef _IOCTL_T
606 # define _IOCTL_T
607     typedef void * ioctl_t;     /* Third arg of ioctl */
608 #endif /* _IOCTL_T */
609
610 #endif /* _h_sh_types */