After the channel TX power bug fixing in rt2560_read_config(), it is impossble
[dragonfly.git] / contrib / tcsh / sh.types.h
blob981c89a8943b3a556fde89781d1ef5bac60ab81d
1 /* $Header: /src/pub/tcsh/sh.types.h,v 3.39 2002/03/08 17:36:47 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...
11 * christos
13 /*-
14 * Copyright (c) 1980, 1991 The Regents of the University of California.
15 * All rights reserved.
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.
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.
41 #ifndef _h_sh_types
42 #define _h_sh_types
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
58 /***
59 *** MachTen
60 ***/
61 #ifdef __MACHTEN__
62 # ifndef _PID_T
63 # define _PID_T
64 # endif
65 #endif
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 */
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 */
125 # ifndef _PTR_T
126 # define _PTR_T
127 typedef void * ptr_t;
128 # endif /* _PTR_T */
130 # ifndef _PID_T
131 # define _PID_T
132 typedef long pid_t;
133 # endif /* _PID_T */
135 # ifndef _SIGMASK_T
136 # define _SIGMASK_T
137 typedef long sigmask_t;
138 # endif /* _SIGMASK_T */
140 # ifndef _SPEED_T
141 /* I thought POSIX was supposed to protect all typedefs! */
142 # define _SPEED_T
143 # endif /* _SPEED_T */
145 extern uid_t getuid(), geteuid();
146 extern gid_t getgid(), getegid();
147 extern sigmask_t sigblock();
148 extern sigmask_t sigsetmask();
149 extern pid_t getpid();
150 extern pid_t fork();
151 extern void perror();
152 extern void _exit();
153 extern void abort();
154 extern void qsort();
155 extern void free();
156 extern unsigned int alarm();
157 extern unsigned int sleep();
158 # if HPUXVERSION < 800 /* XXX: Not true for 8.0 */
159 extern void sigpause();
160 extern sigmask_t sigspace();
161 extern int lstat();
162 extern int readlink();
163 extern int sigvector();
164 extern int gethostname();
165 extern int ioctl();
166 extern int nice();
167 extern char *sbrk();
168 # endif /* HPUXVERSION < 800 */
169 #endif /* __hpux */
171 #if (defined(_MINIX) && !defined(_MINIX_VMD)) || defined(__EMX__) || defined(COHERENT)
172 typedef char * caddr_t;
173 #endif /* (_MINIX && !_MINIX_VMD) || __EMX__ || COHERENT */
175 /***
176 *** hp9000s500 running hpux-5.2
177 ***/
178 #ifdef hp9000s500
179 # ifndef _PTR_T
180 # define _PTR_T
181 typedef char * ptr_t;
182 # endif /* _PTR_T */
183 #endif /* hp9000s500 */
185 /***
186 *** Data General AViiON 88000 or Pentium, running dgux 5.4R3 or R4.11
187 ***/
188 #ifdef DGUX
189 # ifndef _SIZE_T
190 # define _SIZE_T size_t
191 typedef unsigned int size_t;
192 # endif /* _SIZE_T */
193 # ifndef _PID_T
194 # define _PID_T
195 # endif /* _PID_T */
196 #endif /* DGUX */
199 /***
200 *** Intel 386, ISC 386/ix v2.0.2
201 ***/
202 #ifdef ISC202
203 # ifndef _SIZE_T
204 # define _SIZE_T
205 # endif /* _SIZE_T */
206 #endif /* ISC202 */
208 /***
209 *** a PFU/Fujitsu A-xx computer SX/A Edition 60 or later
210 ***/
211 #ifdef SXA
212 # ifndef _SIZE_T
213 # define _SIZE_T
214 # endif /* _SIZE_T */
215 #endif /* SXA */
217 /***
218 *** a stellar 2600, running stellix 2.3
219 ***/
220 #ifdef stellar
221 # ifndef _SIZE_T
222 # define _SIZE_T
223 # endif /* _SIZE_T */
224 #endif /* stellar */
226 /***
227 *** BSD systems, pre and post 4.3
228 ***/
229 #ifdef BSD
230 # ifndef _SIZE_T
231 # define _SIZE_T
232 # endif /* _SIZE_T */
233 #endif /* BSD */
236 /***
237 *** BSD RENO advertises itself as POSIX, but
238 *** it is missing speed_t
239 ***/
240 #ifdef RENO
241 # ifndef _SPEED_T
242 # define _SPEED_T
243 typedef unsigned int speed_t;
244 # endif /* _SPEED_T */
245 #endif /* RENO */
248 /***
249 *** NeXT OS 3.x
250 ***/
251 #ifdef NeXT
252 # ifndef _SPEED_T
253 # define _SPEED_T
254 typedef unsigned int speed_t;
255 # endif /* _SPEED_T */
256 #endif /* NeXT */
258 /***
259 *** Utah's HPBSD
260 *** some posix & 4.4 BSD changes (pid_t is a short)
261 ***/
262 #ifdef HPBSD
263 # ifndef _PID_T
264 # define _PID_T
265 # endif /* _PID_T */
266 #endif /* HPBSD */
269 /***
270 *** Pyramid, BSD universe
271 *** In addition to the size_t
272 ***/
273 #ifdef pyr
274 # ifndef _PID_T
275 # define _PID_T
276 typedef short pid_t;
277 # endif /* _PID_T */
278 #endif /* pyr */
281 /***
282 *** rs6000, ibm370, ps2, rt: running flavors of aix.
283 ***/
284 #ifdef IBMAIX
285 # ifndef _SIZE_T
286 # define _SIZE_T
287 # endif /* _SIZE_T */
288 # ifndef aiws
289 # ifndef _PID_T
290 # define _PID_T
291 # endif /* _PID_T */
292 # endif /* !aiws */
293 # ifdef _IBMR2
294 # ifndef _SPEED_T
295 # define _SPEED_T
296 # endif /* _SPEED_T */
297 # endif /* _IBMR2 */
298 #endif /* IBMAIX */
301 /***
302 *** Ultrix...
303 ***/
304 #if defined(ultrix) || defined(__ultrix)
305 # ifndef _SIZE_T
306 # define _SIZE_T
307 # endif /* _SIZE_T */
308 # ifndef _PID_T
309 # define _PID_T
310 # endif /* _PID_T */
311 # ifndef _PTR_T
312 # define _PTR_T
313 typedef void * ptr_t;
314 # endif /* _PTR_T */
315 #endif /* ultrix || __ultrix */
318 /***
319 *** Silicon graphics IRIS4D running IRIX3_3
320 ***/
321 #if defined(IRIS4D) && defined(IRIX3_3)
322 # ifndef _PID_T
323 # define _PID_T
324 # endif /* _PID_T */
325 #endif /* IRIS4D && IRIX3_3 */
328 /***
329 *** Sequent
330 ***/
331 #ifdef sequent
332 # ifndef _SIZE_T
333 # define _SIZE_T
334 # endif /* _SIZE_T */
335 #endif /* sequent */
337 /***
338 *** Apple AUX.
339 ***/
340 #ifdef OREO
341 # ifndef _SIZE_T
342 # define _SIZE_T
343 # endif /* _SIZE_T */
344 # ifndef _PID_T
345 # define _PID_T
346 # endif /* _PID_T */
347 #endif /* OREO */
349 /***
350 *** Intel 386, Hypercube
351 ***/
352 #ifdef INTEL
353 # ifndef _SIZE_T
354 # define _SIZE_T
355 # endif /* _SIZE_T */
356 #endif /* INTEL */
358 /***
359 *** Concurrent (Masscomp) running RTU 4.1A & RTU 5.0.
360 **** [RTU 6.0 from mike connor]
361 *** Added, DAS DEC-90.
362 ***/
363 #ifdef masscomp
364 # ifndef _SIZE_T
365 # define _SIZE_T
366 # endif /* _SIZE_T */
367 # ifdef RTU6
368 # ifndef _PID_T
369 # define _PID_T
370 # endif /* _PID_T */
371 # ifndef _SPEED_T
372 # define _SPEED_T
373 # endif /* _SPEED_T */
374 #endif /* RTU6 */
375 #endif /* masscomp */
377 /***
378 *** Encore multimax running umax 4.2
379 ***/
380 #ifdef ns32000
381 # ifdef __TYPES_DOT_H__
382 # ifndef _SIZE_T
383 # define _SIZE_T
384 # endif /* _SIZE_T */
385 # endif /* __TYPES_DOT_H__ */
386 #endif /* ns32000 */
388 /***
389 *** Silicon Graphics IRIS 3000
391 ***/
392 #ifdef IRIS3D
393 # ifndef _SIZE_T
394 # define _SIZE_T
395 # endif /* _SIZE_T */
396 #endif /* IRIS3D */
399 * Motorola MPC running R32V2 (sysV88)
401 #ifdef sysV88
402 # ifndef _SIZE_T
403 # define _SIZE_T
404 # endif /* _SIZE_T */
405 # ifndef _PID_T
406 # define _PID_T
407 # endif /* _PID_T */
408 #endif /* sysV88 */
411 * Amdahl running UTS (Sys V3)
413 #ifdef uts
414 # ifndef _SIZE_T
415 # define _SIZE_T
416 # endif /* _SIZE_T */
417 # ifndef _PID_T
418 # define _PID_T
419 # endif /* _PID_T */
420 #endif /* uts */
423 * Tektronix 4300 running UTek 4.0 (BSD 4.2)
425 #ifdef UTek
426 # ifndef _SIZE_T
427 # define _SIZE_T
428 # endif /* _SIZE_T */
429 # ifndef _UID_T
430 # define _UID_T
431 typedef int uid_t;
432 # endif /* _UID_T */
433 # ifndef _GID_T
434 # define _GID_T
435 typedef int gid_t;
436 # endif /* _GID_T */
437 #endif /* UTek */
440 * Tektronix XD88/10 running UTekV (Sys V3)
442 #ifdef UTekV
443 # ifndef _SIZE_T
444 # define _SIZE_T
445 # endif /* _SIZE_T */
446 # ifndef _PID_T
447 # define _PID_T
448 # endif /* _PID_T */
449 #endif /* UTekV*/
452 * UnixPC aka u3b1
454 #ifdef UNIXPC
455 # ifdef types_h
456 # ifndef _SIZE_T
457 # define _SIZE_T
458 # endif /* _SIZE_T */
459 # endif /* types_h */
460 #endif /* UNIXPC */
463 * NS32000 OPUS
465 #ifdef OPUS
466 # ifndef _SIZE_T
467 # define _SIZE_T
468 # endif /* _SIZE_T */
469 #endif /* OPUS */
472 * BBN Butterfly gp1000
474 #ifdef butterfly
475 # ifndef _PID_T
476 # define _PID_T
477 # endif /* _PID_T */
478 #endif /* butterfly */
481 * Convex
483 #ifdef convex
484 # if defined(__SIZE_T) && !defined(_SIZE_T)
485 # define _SIZE_T
486 # endif /* __SIZE_T && !_SIZE_T */
487 #endif /* convex */
490 * Alliant FX-2800/FX-80
492 #ifdef alliant
493 # ifndef _PID_T
494 # define _PID_T
495 # endif /* _PID_T */
496 # ifdef mc68000
497 typedef int pid_t; /* FX-80 */
498 # else
499 typedef short pid_t; /* FX-2800 */
500 # endif
501 #endif /* alliant */
504 * DNIX
506 #ifdef DNIX
507 # ifndef _PID_T
508 # define _PID_T
509 # endif /* _PID_T */
510 #endif /* DNIX */
513 * Apollo running Domain/OS SR10.3 or greater
515 #ifdef apollo
516 # ifndef _PID_T
517 # define _PID_T
518 typedef int pid_t; /* Older versions might not like that */
519 # endif /* _PID_T */
520 #endif /* apollo */
523 * Vax running VMS_POSIX
525 #ifdef _VMS_POSIX
526 # ifndef _SIZE_T
527 # define _SIZE_T
528 # endif /* _SIZE_T */
529 #endif /* _VMS_POSIX */
531 /***
532 *** a pdp/11, running 2BSD
533 ***/
534 #ifdef pdp11
535 # ifndef _PID_T
536 # define _PID_T
537 # endif /* _PID_T */
538 #endif /* pdp11 */
540 /***
541 *** a Harris, running CX/UX
542 ***/
543 #ifdef _CX_UX
544 # ifndef _PID_T
545 # define _PID_T
546 # endif /* _PID_T */
547 #endif /* _CX_UX */
549 /***
550 *** Catch all for non POSIX and/or non ANSI systems.
551 *** Systems up to spec *should* define these automatically
552 *** I am open to suggestions on how to do this correctly!
553 ***/
555 #ifndef __STDC__
557 # ifndef _SIZE_T
558 # define _SIZE_T
559 typedef int size_t; /* As sun comments ??? : meaning I take it */
560 # endif /* _SIZE_T */ /* Until we make the world ANSI... */
562 #endif /* ! __STDC__ */
564 #ifndef POSIX
566 # ifndef _PID_T
567 # define _PID_T
568 typedef int pid_t;
569 # endif /* _PID_T */
571 # ifndef _SPEED_T
572 # define _SPEED_T
573 typedef unsigned int speed_t;
574 # endif /* _SPEED_T */
576 # ifndef _PTR_T
577 # define _PTR_T
578 typedef char * ptr_t;
579 #endif /* _PTR_T */
581 # ifndef _IOCTL_T
582 # define _IOCTL_T
583 typedef char * ioctl_t; /* Third arg of ioctl */
584 # endif /* _IOCTL_T */
586 #endif /* ! POSIX */
590 /***
591 *** This is our own junk types.
592 ***/
593 #ifndef _PTR_T
594 # define _PTR_T
595 typedef void * ptr_t;
596 #endif /* _PTR_T */
598 #ifndef _SIGMASK_T
599 # define _SIGMASK_T
600 typedef int sigmask_t;
601 #endif /* _SIGMASK_T */
603 #ifndef _IOCTL_T
604 # define _IOCTL_T
605 typedef void * ioctl_t; /* Third arg of ioctl */
606 #endif /* _IOCTL_T */
608 #endif /* _h_sh_types */