1: /* $Header: /home/hyperion/mu/christos/src/sys/tcsh-6.00/RCS/sh.init.c,v 3.0 1991/07/04 21:49:28 christos Exp $ */
2: /*
3: * sh.init.c: Function and signal tables
4: */
5: /*-
6: * Copyright (c) 1980, 1991 The Regents of the University of California.
7: * All rights reserved.
8: *
9: * Redistribution and use in source and binary forms, with or without
10: * modification, are permitted provided that the following conditions
11: * are met:
12: * 1. Redistributions of source code must retain the above copyright
13: * notice, this list of conditions and the following disclaimer.
14: * 2. Redistributions in binary form must reproduce the above copyright
15: * notice, this list of conditions and the following disclaimer in the
16: * documentation and/or other materials provided with the distribution.
17: * 3. All advertising materials mentioning features or use of this software
18: * must display the following acknowledgement:
19: * This product includes software developed by the University of
20: * California, Berkeley and its contributors.
21: * 4. Neither the name of the University nor the names of its contributors
22: * may be used to endorse or promote products derived from this software
23: * without specific prior written permission.
24: *
25: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
26: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
29: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35: * SUCH DAMAGE.
36: */
37: #include "config.h"
38: #if !defined(lint) && !defined(pdp11)
39: static char *rcsid()
40: { return "$Id: sh.init.c,v 3.0 1991/07/04 21:49:28 christos Exp $"; }
41: #endif
42:
43: #include "sh.h"
44:
45: /*
46: * C shell
47: */
48:
49: #define INF 1000
50:
51: struct biltins bfunc[] = {
52: "@", dolet, 0, INF,
53: "alias", doalias, 0, INF,
54: "aliases", do_aliases, 0, 1, /* PWP */
55: "alloc", showall, 0, 1,
56: "bg", dobg, 0, INF,
57: "bind", dobind, 0, 2,
58: "bindkey", dobindkey, 0, 8,
59: "break", dobreak, 0, 0,
60: "breaksw", doswbrk, 0, 0,
61: #if defined(IIASA) || defined(KAI)
62: "bye", goodbye, 0, 0,
63: #endif
64: "case", dozip, 0, 1,
65: "cd", dochngd, 0, INF,
66: "chdir", dochngd, 0, INF,
67: "continue", docontin, 0, 0,
68: "default", dozip, 0, 0,
69: "dirs", dodirs, 0, INF,
70: "echo", doecho, 0, INF,
71: "echotc", doechotc, 0, INF,
72: "else", doelse, 0, INF,
73: "end", doend, 0, 0,
74: "endif", dozip, 0, 0,
75: "endsw", dozip, 0, 0,
76: "eval", doeval, 0, INF,
77: "exec", execash, 1, INF,
78: "exit", doexit, 0, INF,
79: "fg", dofg, 0, INF,
80: "foreach", doforeach, 3, INF,
81: #ifdef TCF
82: "getspath", dogetspath, 0, 0,
83: "getxvers", dogetxvers, 0, 0,
84: #endif /* TCF */
85: #ifdef IIASA
86: "gd", dopushd, 0, INF,
87: #endif
88: "glob", doglob, 0, INF,
89: "goto", dogoto, 1, 1,
90: #ifdef VFORK
91: "hashstat", hashstat, 0, 0,
92: #endif
93: "history", dohist, 0, 2,
94: "if", doif, 1, INF,
95: #ifdef apollo
96: "inlib", doinlib, 1, INF,
97: #endif
98: "jobs", dojobs, 0, 1,
99: "kill", dokill, 1, INF,
100: "limit", dolimit, 0, 3,
101: "linedit", doecho, 0, INF,
102: #ifndef KAI
103: "log", dolog, 0, 0,
104: #endif
105: "login", dologin, 0, 1,
106: "logout", dologout, 0, 0,
107: "ls-F", dolist, 0, INF,
108: #ifdef TCF
109: "migrate", domigrate, 1, INF,
110: #endif /* TCF */
111: #ifdef NEWGRP
112: "newgrp", donewgrp, 1, 1,
113: #endif
114: "nice", donice, 0, INF,
115: "nohup", donohup, 0, INF,
116: "notify", donotify, 0, INF,
117: "onintr", doonintr, 0, 2,
118: "popd", dopopd, 0, INF,
119: "pushd", dopushd, 0, INF,
120: #ifdef IIASA
121: "rd", dopopd, 0, INF,
122: #endif
123: "rehash", dohash, 0, 0,
124: "repeat", dorepeat, 2, INF,
125: #ifdef apollo
126: "rootnode", dorootnode, 1, 1,
127: #endif
128: "sched", dosched, 0, INF,
129: "set", doset, 0, INF,
130: "setenv", dosetenv, 0, 2,
131: #ifdef MACH
132: "setpath", dosetpath, 0, INF,
133: #endif /* MACH */
134: #ifdef TCF
135: "setspath", dosetspath, 1, INF,
136: #endif /* TCF */
137: "settc", dosettc, 2, 2,
138: #ifdef TCF
139: "setxvers", dosetxvers, 0, 1,
140: #endif /* TCF */
141: "shift", shift, 0, 1,
142: "source", dosource, 1, 2,
143: "stop", dostop, 1, INF,
144: "suspend", dosuspend, 0, 0,
145: "switch", doswitch, 1, INF,
146: "telltc", dotelltc, 0, INF,
147: "time", dotime, 0, INF,
148: "umask", doumask, 0, 1,
149: "unalias", unalias, 1, INF,
150: "unhash", dounhash, 0, 0,
151: #ifdef masscomp
152: "universe", douniverse, 0, 1,
153: #endif
154: "unlimit", dounlimit, 0, INF,
155: "unset", unset, 1, INF,
156: "unsetenv", dounsetenv, 1, INF,
157: #ifdef apollo
158: "ver", dover, 0, INF,
159: #endif
160: "wait", dowait, 0, 0,
161: #ifdef WARP
162: "warp", dowarp, 0, 2,
163: #endif
164: #ifdef KAI
165: "watchlog", dolog, 0, 0,
166: #endif
167: "which", dowhich, 1, INF,
168: "while", dowhile, 1, INF,
169: };
170: int nbfunc = sizeof bfunc / sizeof *bfunc;
171:
172: struct srch srchn[] = {
173: "@", T_LET,
174: "break", T_BREAK,
175: "breaksw", T_BRKSW,
176: "case", T_CASE,
177: "default", T_DEFAULT,
178: "else", T_ELSE,
179: "end", T_END,
180: "endif", T_ENDIF,
181: "endsw", T_ENDSW,
182: "exit", T_EXIT,
183: "foreach", T_FOREACH,
184: "goto", T_GOTO,
185: "if", T_IF,
186: "label", T_LABEL,
187: "set", T_SET,
188: "switch", T_SWITCH,
189: "while", T_WHILE,
190: };
191: int nsrchn = sizeof srchn / sizeof *srchn;
192:
193: /*
194: * Note: For some machines, (hpux eg.)
195: * NSIG = number of signals + 1...
196: * so we define 33 signals for
197: * everybody
198: */
199: struct mesg mesg[] = {
200: /* 0 */ 0, "",
201: /* 1 */ "HUP", "Hangup",
202: /* 2 */ "INT", "Interrupt",
203: /* 3 */ "QUIT", "Quit",
204: /* 4 */ "ILL", "Illegal instruction",
205: /* 5 */ "TRAP", "Trace/BPT trap",
206: /* 6 */ "IOT", "IOT trap",
207: #ifdef aiws
208: /* 7 */ "DANGER", "System Crash Imminent",
209: #else /* aiws */
210: /* 7 */ "EMT", "EMT trap",
211: #endif /* aiws */
212: /* 8 */ "FPE", "Floating exception",
213: /* 9 */ "KILL", "Killed",
214: /* 10 */ "BUS", "Bus error",
215: /* 11 */ "SEGV", "Segmentation fault",
216: /* 12 */ "SYS", "Bad system call",
217: /* 13 */ "PIPE", "Broken pipe",
218: /* 14 */ "ALRM", "Alarm clock",
219: /* 15 */ "TERM", "Terminated",
220:
221: #if (SVID > 0) || defined(DGUX) || defined(IBMAIX) || defined(apollo)
222:
223: # ifdef _sigextra_
224: # undef _sigextra_
225: # endif /* _sigextra_ */
226:
227: #ifndef IBMAIX
228: /* these are the real svid signals */
229: /* 16 */ "USR1", "User signal 1",
230: /* 17 */ "USR2", "User signal 2",
231: # ifdef apollo
232: /* 18 */ "CLD", "Death of child",
233: /* 19 */ "APOLLO", "Apollo-specific fault",
234: # else
235: /* 18 */ "CHLD", "Child exited",
236: /* 19 */ "PWR", "Power failure",
237: # endif /* apollo */
238: #endif /* IBMAIX */
239:
240: # ifdef OREO
241: # define
242: # ifdef SUSPENDED
243: /* 20 */ "TSTP", "Suspended",
244: /* 21 */ "TTIN", "Suspended (tty input)",
245: /* 22 */ "TTOU", "Suspended (tty output)",
246: /* 23 */ "STOP", "Suspended (signal)",
247: # else
248: /* 20 */ "TSTP", "Stopped",
249: /* 21 */ "TTIN", "Stopped (tty input)",
250: /* 22 */ "TTOU", "Stopped (tty output)",
251: /* 23 */ "STOP", "Stopped (signal)",
252: # endif /* SUSPENDED */
253: /* 24 */ "XCPU", "Cputime limit exceeded",
254: /* 25 */ "XFSZ", "Filesize limit exceeded",
255: /* 26 */ "VTALRM", "Virtual time alarm",
256: /* 27 */ "PROF", "Profiling time alarm",
257: /* 28 */ "WINCH", "Window changed",
258: /* 29 */ "CONT", "Continued",
259: /* 30 */ "URG", "Urgent condition on IO channel",
260: /* 31 */ "IO", "Asynchronous I/O (select)",
261: /* 32 */ 0, "Signal 32",
262: # endif /* OREO */
263:
264: # ifdef hpux
265: # define _sigextra_
266: /* 20 */ "VTALRM", "Virtual time alarm",
267: /* 21 */ "PROF", "Profiling time alarm",
268: /* 22 */ "IO", "Asynchronous I/O (select)",
269: /* 23 */ "WINDOW", "Window changed",
270: # ifdef SUSPENDED
271: /* 24 */ "STOP", "Suspended (signal)",
272: /* 25 */ "TSTP", "Suspended",
273: # else /* SUSPENDED */
274: /* 24 */ "STOP", "Stopped (signal)",
275: /* 25 */ "TSTP", "Stopped",
276: # endif /* SUSPENDED */
277: /* 26 */ "CONT", "Continued",
278: # ifdef SUSPENDED
279: /* 27 */ "TTIN", "Suspended (tty input)",
280: /* 28 */ "TTOU", "Suspended (tty output)",
281: # else /* SUSPENDED */
282: /* 27 */ "TTIN", "Stopped (tty input)",
283: /* 28 */ "TTOU", "Stopped (tty output)",
284: # endif /* SUSPENDED */
285: /* 29 */ "URG", "Urgent condition on IO channel",
286: /* 30 */ "LOST", "Remote lock lost (NFS)",
287: /* 31 */ 0, "Reserved", /* Reserved */
288: /* 32 */ "DIL", "DIL signal",
289: # endif /* hpux */
290:
291: # if defined(ISC) && defined(POSIX)
292: # define _sigextra_
293: /* 20 */ "WINCH", "Window change",
294: /* 21 */ 0, "Unused", /* SIGPHONE used only for UNIXPC */
295: /* 22 */ "POLL", "Pollable event occured",
296: /* 23 */ "CONT", "Continued",
297: # ifdef SUSPENDED
298: /* 24 */ "STOP", "Suspended (signal)",
299: /* 25 */ "TSTP", "Suspended",
300: /* 26 */ "TTIN", "Suspended (tty input)",
301: /* 27 */ "TTOU", "Suspended (tty output)",
302: # else /* SUSPENDED */
303: /* 24 */ "STOP", "Stopped (signal)",
304: /* 25 */ "TSTP", "Stopped",
305: /* 26 */ "TTIN", "Stopped (tty input)",
306: /* 27 */ "TTOU", "Stopped (tty output)",
307: # endif /* SUSPENDED */
308: /* 28 */ 0, "number of signals",
309: /* 29 */ 0, "Reserved", /* Reserved */
310: /* 30 */ 0, "Reserved", /* Reserved */
311: /* 31 */ 0, "Reserved", /* Reserved */
312: /* 32 */ 0, "Maximum number of signals",
313: # endif /* ISC && POSIX */
314:
315: # ifdef IRIS4D
316: # define _sigextra_
317: # ifdef SUSPENDED
318: /* 20 */ "STOP", "Suspended (signal)",
319: /* 21 */ "TSTP", "Suspended",
320: # else /* SUSPENDED */
321: /* 20 */ "STOP", "Stopped (signal)",
322: /* 21 */ "TSTP", "Stopped",
323: # endif /* SUSPENDED */
324: /* 22 */ "POLL", "Stream I/O pending",
325: /* 23 */ "IO", "Asynchronous I/O (select)",
326: /* 24 */ "URG", "Urgent condition on IO channel",
327: /* 25 */ "WINCH", "Window changed",
328: /* 26 */ "VTALRM", "Virtual time alarm",
329: /* 27 */ "PROF", "Profiling time alarm",
330: /* 28 */ "CONT", "Continued",
331: # ifdef SUSPENDED
332: /* 29 */ "TTIN", "Suspended (tty input)",
333: /* 30 */ "TTOU", "Suspended (tty output)",
334: # else /* SUSPENDED */
335: /* 29 */ "TTIN", "Stopped (tty input)",
336: /* 30 */ "TTOU", "Stopped (tty output)",
337: # endif /* SUSPENDED */
338: /* 31 */ 0, "Signal 31",
339: /* 32 */ 0, "Signal 32",
340: # endif /* IRIS4D */
341:
342: # ifdef apollo
343: # define _sigextra_
344: # ifdef SUSPENDED
345: /* 20 */ "STOP", "Suspended (signal)",
346: /* 21 */ "TSTP", "Suspended",
347: # else /* SUSPENDED */
348: /* 20 */ "STOP", "Stopped (signal)",
349: /* 21 */ "TSTP", "Stopped",
350: # endif /* SUSPENDED */
351: /* 22 */ "CONT", "Continued",
352: /* 23 */ "CHLD", "Child stopped or exited",
353: # ifdef SUSPENDED
354: /* 24 */ "TTIN", "Suspended (tty input)",
355: /* 25 */ "TTOU", "Suspended (tty output)",
356: # else /* SUSPENDED */
357: /* 24 */ "TTIN", "Stopped (tty input)",
358: /* 25 */ "TTOU", "Stopped (tty output)",
359: # endif /* SUSPENDED */
360: /* 26 */ "IO", "Asynchronous I/O (select)",
361: /* 27 */ "XCPU", "Cputime limit exceeded",
362: /* 28 */ "XFSZ", "Filesize limit exceeded",
363: /* 29 */ "VTALRM", "Virtual time alarm",
364: /* 30 */ "PROF", "Profiling time alarm",
365: /* 31 */ "URG", "Urgent condition on IO channel",
366: /* 32 */ "WINCH", "Window changed",
367: # endif /* apollo */
368:
369: # ifdef aiws
370: # define _sigextra_
371: /* 20 */ 0, "Signal 20",
372: /* 21 */ 0, "Signal 21",
373: /* 22 */ 0, "Signal 22"
374: /* 23 */ "AIO", "LAN Asyncronous I/O",
375: /* 24 */ "PTY", "PTY read/write availability",
376: /* 25 */ "IOINT", "I/O intervention required",
377: /* 26 */ "GRANT", "monitor mode granted",
378: /* 27 */ "RETRACT", "monitor mode retracted",
379: /* 28 */ "WINCH","Window size changed",
380: /* 29 */ 0, "Signal 29",
381: /* 30 */ "SOUND", "sound completed",
382: /* 31 */ "MSG", "input hft data pending",
383: /* 32 */ 0, "Signal 32",
384: # endif /* aiws */
385:
386: # ifdef m88k /* ICON/UXV 4.10 (mday@iconsys.UUCP) */
387: # define _sigextra_
388: /* 20 */ "WINCH", "Window changed",
389: # ifdef DGUX
390: /* 21 */ 0, "Signal 21",
391: # else
392: # ifdef SUSPENDED
393: /* 21 */ "TTIN", "Suspended (tty input)",
394: # else /* SUSPENDED */
395: /* 21 */ "TTIN", "Stopped (tty input)",
396: # endif /* SUSPENDED */
397: # endif /* DGUX */
398: /* 22 */ "POLL", "Stream I/O pending",
399: # ifdef SUSPENDED
400: /* 23 */ "STOP", "Suspended (signal)",
401: /* 24 */ "TSTP", "Suspended",
402: # else /* SUSPENDED */
403: /* 23 */ "STOP", "Stopped (signal)",
404: /* 24 */ "TSTP", "Stopped",
405: # endif /* SUSPENDED */
406: /* 25 */ "CONT", "Continued",
407: # ifdef SUSPENDED
408: /* 26 */ "TTIN", "Suspended (tty input)",
409: /* 27 */ "TTOU", "Suspended (tty output)",
410: # else /* SUSPENDED */
411: /* 26 */ "TTIN", "Stopped (tty input)",
412: /* 27 */ "TTOU", "Stopped (tty output)",
413: # endif /* SUSPENDED */
414: /* 28 */ 0, "Signal 28",
415: /* 29 */ 0, "Signal 29",
416: /* 30 */ 0, "Signal 30",
417: /* 31 */ 0, "Signal 31",
418: /* 32 */ 0, "Signal 32",
419: /* 33 */ "URG", "Urgent condition on IO channel",
420: /* 34 */ "IO", "Asynchronous I/O (select)",
421: /* 35 */ "XCPU", "Cputime limit exceeded",
422: /* 36 */ "XFSZ", "Filesize limit exceeded",
423: /* 37 */ "VTALRM", "Virtual time alarm",
424: /* 38 */ "PROF", "Profiling time alarm",
425: /* 39 */ 0, "Signal 39",
426: /* 40 */ "LOST", "Resource lost",
427: /* 41 */ 0, "Signal 41",
428: /* 42 */ 0, "Signal 42",
429: /* 43 */ 0, "Signal 43",
430: /* 44 */ 0, "Signal 44",
431: /* 45 */ 0, "Signal 45",
432: /* 46 */ 0, "Signal 46",
433: /* 47 */ 0, "Signal 47",
434: /* 48 */ 0, "Signal 48",
435: /* 49 */ 0, "Signal 49",
436: /* 50 */ 0, "Signal 50",
437: /* 51 */ 0, "Signal 51",
438: /* 52 */ 0, "Signal 52",
439: /* 53 */ 0, "Signal 53",
440: /* 54 */ 0, "Signal 54",
441: /* 55 */ 0, "Signal 55",
442: /* 56 */ 0, "Signal 56",
443: /* 57 */ 0, "Signal 57",
444: /* 58 */ 0, "Signal 58",
445: /* 59 */ 0, "Signal 59",
446: /* 60 */ 0, "Signal 60",
447: /* 61 */ 0, "Signal 61",
448: /* 62 */ 0, "Signal 62",
449: /* 63 */ 0, "Signal 63",
450: /* 64 */ 0, "Signal 64",
451: # endif /* m88k */
452:
453:
454: #ifdef IBMAIX
455: # define _sigextra_
456:
457: /* 16 */ "URG", "Urgent condition on IO channel",
458: # ifdef SUSPENDED
459: /* 17 */ "STOP", "Suspended (signal)",
460: /* 18 */ "TSTP", "Suspended",
461: # else /* SUSPENDED */
462: /* 17 */ "STOP", "Stopped (signal)",
463: /* 18 */ "TSTP", "Stopped",
464: # endif /* SUSPENDED */
465: /* 19 */ "CONT", "Continued",
466: /* 20 */ "CHLD", "Child exited",
467: # ifdef SUSPENDED
468: /* 21 */ "TTIN", "Suspended (tty input)",
469: /* 22 */ "TTOU", "Suspended (tty output)",
470: # else /* SUSPENDED */
471: /* 21 */ "TTIN", "Stopped (tty input)",
472: /* 22 */ "TTOU", "Stopped (tty output)",
473: # endif /* SUSPENDED */
474: /* 23 */ "IO", "IO possible interrupt",
475: /* 24 */ "XCPU", "Cputime limit exceeded",
476: /* 25 */ "XFSZ", "Filesize limit exceeded",
477: /* 26 */ 0, "Signal 26",
478: /* 27 */ "MSG", "Data in HFT ring buffer",
479: /* 28 */ "WINCH", "Window size changed",
480: /* 29 */ "PWR", "Power failure",
481: /* 30 */ "USR1", "User signal 1",
482: /* 31 */ "USR2", "User signal 2",
483: /* 32 */ "PROF", "Profiling time alarm",
484: /* 33 */ "DANGER", "System Crash Imminent",
485: /* 34 */ "VTALRM", "Virtual time alarm",
486: /* 35 */ "MIGRATE", "Migrate process",
487: /* 36 */ "PRE", "Programming exception",
488: /* 37 */ 0, "Signal 37",
489: /* 38 */ 0, "Signal 38",
490: /* 39 */ 0, "Signal 39",
491: /* 40 */ 0, "Signal 40",
492: /* 41 */ 0, "Signal 41",
493: /* 42 */ 0, "Signal 42",
494: /* 43 */ 0, "Signal 43",
495: /* 44 */ 0, "Signal 44",
496: /* 45 */ 0, "Signal 45",
497: /* 46 */ 0, "Signal 46",
498: /* 47 */ 0, "Signal 47",
499: /* 48 */ 0, "Signal 48",
500: /* 49 */ 0, "Signal 49",
501: /* 50 */ 0, "Signal 50",
502: /* 51 */ 0, "Signal 51",
503: /* 52 */ 0, "Signal 52",
504: /* 53 */ 0, "Signal 53",
505: /* 54 */ 0, "Signal 54",
506: /* 55 */ 0, "Signal 55",
507: /* 56 */ 0, "Signal 56",
508: /* 57 */ 0, "Signal 57",
509: /* 58 */ 0, "Signal 58",
510: /* 59 */ 0, "Signal 59",
511: /* 60 */ "GRANT", "HFT monitor mode granted",
512: /* 61 */ "RETRACT", "HFT monitor mode should be relinguished",
513: /* 62 */ "SOUND", "HFT sound control has completed",
514: #ifdef SIGSAK
515: /* 63 */ "SAK", "Secure attention key",
516: #else
517: /* 63 */ 0, "Signal 63",
518: #endif
519: /* 64 */ 0, "Signal 64",
520: #endif /* IBMAIX */
521:
522: # ifdef _SEQUENT_
523: # define _sigextra_
524: /* 20 */ "WINCH", "Window changed",
525: /* 21 */ 0, "Signal 21",
526: /* 22 */ "POLL", "Stream I/O pending",
527: # ifdef SUSPENDED
528: /* 23 */ "STOP", "Suspended (signal)",
529: /* 24 */ "TSTP", "Suspended",
530: /* 25 */ "CONT", "Continued",
531: /* 26 */ "TTIN", "Suspended (tty input)",
532: /* 27 */ "TTOU", "Suspended (tty output)",
533: # else /* SUSPENDED */
534: /* 23 */ "STOP", "Stopped (signal)",
535: /* 24 */ "TSTP", "Stopped",
536: /* 25 */ "CONT", "Continued",
537: /* 26 */ "TTIN", "Stopped (tty input)",
538: /* 27 */ "TTOU", "Stopped (tty output)",
539: # endif /* SUSPENDED */
540: /* 28 */ 0, "Signal 28",
541: /* 29 */ 0, "Signal 29",
542: /* 30 */ 0, "Signal 30",
543: /* 31 */ 0, "Signal 31",
544: /* 32 */ 0, "Signal 32",
545: # endif /* _SEQUENT_ */
546:
547: # ifndef _sigextra_
548: /* 20 */ 0, "Signal 20",
549: /* 21 */ 0, "Signal 21",
550: /* 22 */ 0, "Signal 22",
551: /* 23 */ 0, "Signal 23",
552: /* 24 */ 0, "Signal 24",
553: /* 25 */ 0, "Signal 25",
554: /* 26 */ 0, "Signal 26",
555: /* 27 */ 0, "Signal 27",
556: /* 28 */ 0, "Signal 28",
557: /* 29 */ 0, "Signal 29",
558: /* 30 */ 0, "Signal 30",
559: /* 31 */ 0, "Signal 31",
560: /* 32 */ 0, "Signal 32",
561: # endif /* _sigextra_ */
562:
563:
564: #else /* bsd */
565:
566: # ifdef _sigextra_
567: # undef _sigextra_
568: # endif /* _sigextra_ */
569:
570: /* 16 */ "URG", "Urgent condition on IO channel",
571: # ifdef SUSPENDED
572: /* 17 */ "STOP", "Suspended (signal)",
573: /* 18 */ "TSTP", "Suspended",
574: # else /* SUSPENDED */
575: /* 17 */ "STOP", "Stopped (signal)",
576: /* 18 */ "TSTP", "Stopped",
577: # endif /* SUSPENDED */
578: /* 19 */ "CONT", "Continued",
579: /* 20 */ "CHLD", "Child exited",
580: # ifdef SUSPENDED
581: /* 21 */ "TTIN", "Suspended (tty input)",
582: /* 22 */ "TTOU", "Suspended (tty output)",
583: # else /* SUSPENDED */
584: /* 21 */ "TTIN", "Stopped (tty input)",
585: /* 22 */ "TTOU", "Stopped (tty output)",
586: # endif /* SUSPENDED */
587: /* 23 */ "IO", "IO possible interrupt",
588: /* 24 */ "XCPU", "Cputime limit exceeded",
589: /* 25 */ "XFSZ", "Filesize limit exceeded",
590: /* 26 */ "VTALRM", "Virtual time alarm",
591: /* 27 */ "PROF", "Profiling time alarm",
592:
593: # if defined(sun) || defined(ultrix) || defined(hp9000) || defined(convex) || defined(__convex__)
594: # define _sigextra_
595: /* 28 */ "WINCH", "Window changed",
596: /* 29 */ "LOST", "Resource lost",
597: /* 30 */ "USR1", "User signal 1",
598: /* 31 */ "USR2", "User signal 2",
599: /* 32 */ 0, "Signal 32",
600: # endif /* sun */
601:
602: # ifdef pyr
603: # define _sigextra_
604: /* 28 */ "USR1", "User signal 1",
605: /* 29 */ "USR2", "User signal 2",
606: /* 30 */ "PWR", "Power failure",
607: /* 31 */ 0, "Signal 31",
608: /* 32 */ 0, "Signal 32",
609: # endif /* pyr */
610:
611: # ifndef _sigextra_
612: /* 28 */ "WINCH", "Window size changed",
613: # ifdef RENO
614: /* 29 */ "INFO", "Information request",
615: # else
616: /* 29 */ 0, "Signal 29",
617: # endif /* RENO */
618: /* 30 */ "USR1", "User defined signal 1",
619: /* 31 */ "USR2", "User defined signal 2",
620: /* 32 */ 0, "Signal 32",
621: # endif /* _sigextra_ */
622:
623:
624: #endif /* (SVID > 0) || DGUX || IBMAIX */
625:
626: /* These are here for systems with bad NSIG */
627: #ifndef POSIX
628: /* 33 */ 0, "Signal 33"
629: #else /* POSIX */
630: /* 65 */ 0, "Signal 65"
631: #endif /* POSIX */
632: };