source: trunk/third/tcsh/sh.init.c @ 10519

Revision 10519, 35.2 KB checked in by lcs, 27 years ago (diff)
CVS: CVS: Fixed problem with referencing beyond the end of mesg array when NSIG was greater than its length. Use separate "sizeof" counter so the code is not vulnerable to misconfiguration due to broken ifdefs, since the ifdefs are very brittle.
Line 
1/* $Header: /afs/dev.mit.edu/source/repository/third/tcsh/sh.init.c,v 1.2 1997-10-14 21:25:15 lcs 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 "sh.h"
38
39RCSID("$Id: sh.init.c,v 1.2 1997-10-14 21:25:15 lcs Exp $")
40
41#include "ed.h"
42#include "tw.h"
43
44/*
45 * C shell
46 */
47
48#define INF     0x7fffffff
49
50struct  biltins bfunc[] = {
51    { ":",              dozip,          0,      INF, },
52    { "@",              dolet,          0,      INF, },
53    { "alias",          doalias,        0,      INF, },
54    { "aliases",        doaliases,      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    { "builtins", dobuiltins,   0,      0, },
62#if defined(IIASA) || defined(KAI)
63    { "bye",            goodbye,        0,      0, },
64#endif
65    { "case",           dozip,          0,      1, },
66    { "cd",             dochngd,        0,      INF, },
67    { "chdir",          dochngd,        0,      INF, },
68    { "complete",       docomplete,     0,      INF, },
69    { "continue",       docontin,       0,      0, },
70    { "default",        dozip,          0,      0, },
71    { "dirs",           dodirs,         0,      INF, },
72    { "echo",           doecho,         0,      INF, },
73    { "echotc",         doechotc,       0,      INF, },
74    { "else",           doelse,         0,      INF, },
75    { "end",            doend,          0,      0, },
76    { "endif",          dozip,          0,      0, },
77    { "endsw",          dozip,          0,      0, },
78    { "eval",           doeval,         0,      INF, },
79    { "exec",           execash,        1,      INF, },
80    { "exit",           doexit,         0,      INF, },
81    { "fg",             dofg,           0,      INF, },
82    { "foreach",        doforeach,      3,      INF, },
83#ifdef TCF
84    { "getspath",       dogetspath,     0,      0, },
85    { "getxvers",        dogetxvers,    0,      0, },
86#endif /* TCF */
87#ifdef IIASA
88    { "gd",             dopushd,        0,      INF, },
89#endif
90    { "glob",           doglob,         0,      INF, },
91    { "goto",           dogoto,         1,      1, },
92#ifdef VFORK
93    { "hashstat",       hashstat,       0,      0, },
94#endif
95    { "history",        dohist,         0,      2, },
96    { "if",             doif,           1,      INF, },
97#ifdef apollo
98    { "inlib",          doinlib,        1,      INF, },
99#endif
100    { "jobs",           dojobs,         0,      1, },
101    { "kill",           dokill,         1,      INF, },
102#ifndef HAVENOLIMIT
103    { "limit",          dolimit,        0,      3, },
104#endif /* ! HAVENOLIMIT */
105    { "linedit",        doecho,         0,      INF, },
106#if !defined(HAVENOUTMP) && !defined(KAI)
107    { "log",            dolog,          0,      0, },
108#endif /* !HAVENOUTMP && !KAI */
109    { "login",          dologin,        0,      1, },
110    { "logout",         dologout,       0,      0, },
111    { "ls-F",           dolist,         0,      INF, },
112#ifdef TCF
113    { "migrate",        domigrate,      1,      INF, },
114#endif /* TCF */
115#ifdef NEWGRP
116    { "newgrp",         donewgrp,       1,      2, },
117#endif
118    { "nice",           donice,         0,      INF, },
119    { "nohup",          donohup,        0,      INF, },
120    { "notify",         donotify,       0,      INF, },
121    { "onintr",         doonintr,       0,      2, },
122    { "popd",           dopopd,         0,      INF, },
123    { "pushd",          dopushd,        0,      INF, },
124#ifdef IIASA
125    { "rd",             dopopd,         0,      INF, },
126#endif
127    { "rehash",         dohash,         0,      3, },
128    { "repeat",         dorepeat,       2,      INF, },
129#ifdef apollo
130    { "rootnode",       dorootnode,     1,      1, },
131#endif
132    { "sched",          dosched,        0,      INF, },
133    { "set",            doset,          0,      INF, },
134    { "setenv",         dosetenv,       0,      2, },
135#ifdef MACH
136    { "setpath",        dosetpath,      0,      INF, },
137#endif  /* MACH */
138#ifdef TCF
139    { "setspath",       dosetspath,     1,      INF, },
140#endif /* TCF */
141    { "settc",          dosettc,        2,      2, },
142    { "setty",          dosetty,        0,      INF },
143#ifdef TCF
144    { "setxvers",       dosetxvers,     0,      1, },
145#endif /* TCF */
146    { "shift",          shift,          0,      1, },
147    { "source",         dosource,       1,      INF, },
148    { "stop",           dostop,         1,      INF, },
149    { "suspend",        dosuspend,      0,      0, },
150    { "switch",         doswitch,       1,      INF, },
151    { "telltc",         dotelltc,       0,      INF, },
152    { "time",           dotime,         0,      INF, },
153    { "umask",          doumask,        0,      1, },
154    { "unalias",        unalias,        1,      INF, },
155    { "uncomplete",     douncomplete,   1,      INF, },
156    { "unhash",         dounhash,       0,      0, },
157#ifdef masscomp
158    { "universe",       douniverse,     0,      1, },
159#endif
160#ifndef HAVENOLIMIT
161    { "unlimit",        dounlimit,      0,      INF, },
162#endif /* !HAVENOLIMIT */
163    { "unset",          unset,          1,      INF, },
164    { "unsetenv",       dounsetenv,     1,      INF, },
165#ifdef apollo
166    { "ver",            dover,          0,      INF, },
167#endif
168    { "wait",           dowait,         0,      0, },
169#ifdef WARP
170    { "warp",           dowarp,         0,      2, },
171#endif
172#if !defined(HAVENOUTMP) && defined(KAI)
173    { "watchlog",       dolog,          0,      0, },
174#endif /* !HAVENOUTMP && KAI */
175    { "where",          dowhere,        1,      INF, },
176    { "which",          dowhich,        1,      INF, },
177    { "while",          dowhile,        1,      INF, },
178};
179int nbfunc = sizeof bfunc / sizeof *bfunc;
180
181struct srch srchn[] = {
182    { "@",              TC_LET, },
183    { "break",          TC_BREAK, },
184    { "breaksw",        TC_BRKSW, },
185    { "case",           TC_CASE, },
186    { "default",        TC_DEFAULT, },
187    { "else",           TC_ELSE, },
188    { "end",            TC_END, },
189    { "endif",          TC_ENDIF, },
190    { "endsw",          TC_ENDSW, },
191    { "exit",           TC_EXIT, },
192    { "foreach",        TC_FOREACH, },
193    { "goto",           TC_GOTO, },
194    { "if",             TC_IF, },
195    { "label",          TC_LABEL, },
196    { "set",            TC_SET, },
197    { "switch",         TC_SWITCH, },
198    { "while",          TC_WHILE, },
199};
200int nsrchn = sizeof srchn / sizeof *srchn;
201
202#ifdef SUSPENDED
203# define MSG_STOP               "Suspended (signal)"
204# define MSG_TSTP               "Suspended"
205# define MSG_TTIN               "Suspended (tty input)"
206# define MSG_TTOU               "Suspended (tty output)"
207#else /* STOPPED */
208# define MSG_STOP               "Stopped (signal)"
209# define MSG_TSTP               "Stopped"
210# define MSG_TTIN               "Stopped (tty input)"
211# define MSG_TTOU               "Stopped (tty output)"
212#endif /* SUSPENDED */
213/*
214 * Note: For some machines, (hpux eg.)
215 * NSIG = number of signals + 1...
216 * so we define 33 signals for
217 * everybody
218 */
219struct  mesg mesg[] = {
220/*  0 */        0,              "",
221/*  1 */        "HUP",          "Hangup",
222/*  2 */        "INT",          "Interrupt",
223/*  3 */        "QUIT",         "Quit",
224/*  4 */        "ILL",          "Illegal instruction",
225/*  5 */        "TRAP",         "Trace/BPT trap",
226#if SYSVREL > 3 || defined(__EMX__) || defined(_VMS_POSIX)
227/*  6 */        "ABRT",         "Abort",
228#else /* SYSVREL < 3 */
229/*  6 */        "IOT",          "IOT trap",
230#endif /* SYSVREL > 3 || __EMX__ || _VMS_POSIX */
231#ifdef aiws
232/*  7 */        "DANGER",       "System Crash Imminent",
233#else /* !aiws */
234# ifdef linux
235/*  7 */        0,              "Signal 7",
236# else /* !linux */
237#  ifdef _CRAY
238/*  7 */        "ERR",          "Error exit",
239#  else /* !_CRAY */
240/*  7 */        "EMT",          "EMT trap",
241#  endif /* _CRAY */
242# endif /* linux */
243#endif /* aiws */
244/*  8 */        "FPE",          "Floating exception",
245/*  9 */        "KILL",         "Killed",
246#ifdef linux
247/* 10 */        "USR1",         "User signal 1",
248/* 11 */        "SEGV",         "Segmentation fault",
249/* 12 */        "USR2",         "User signal 2",
250#else /* linux */
251# ifndef _CRAY
252/* 10 */        "BUS",          "Bus error",
253/* 11 */        "SEGV",         "Segmentation fault",
254# else /* _CRAY */
255/* 10 */        "PRE",          "Program range error",
256/* 11 */        "ORE",          "Operand range error",
257# endif /* !_CRAY */
258/* 12 */        "SYS",          "Bad system call",
259#endif /* linux */
260/* 13 */        "PIPE",         "Broken pipe",
261/* 14 */        "ALRM",         "Alarm clock",
262/* 15 */        "TERM",         "Terminated",
263
264#if (SYSVREL > 0) || defined(DGUX) || defined(IBMAIX) || defined(apollo) || defined(masscomp) || defined(ardent) || defined(linux)
265
266# ifdef _sigextra_
267#  undef  _sigextra_
268# endif /* _sigextra_ */
269
270# if !defined(IBMAIX) && !defined(cray) && !defined(__EMX__) && !defined(linux)
271/* these are the real svid signals */
272/* 16 */        "USR1",         "User signal 1",
273/* 17 */        "USR2",         "User signal 2",
274#  ifdef apollo
275/* 18 */        "CLD",          "Death of child",
276/* 19 */        "APOLLO",       "Apollo-specific fault",
277#  else
278/* 18 */        "CHLD",         "Child exited",
279#  ifdef SOLARIS2
280/* 19 */        "LOST",         "Resource Lost",
281#  else /* !SOLARIS2 */
282/* 19 */        "PWR",          "Power failure",
283#  endif /* SOLARIS2 */
284#  endif /* apollo */
285# endif /* !IBMAIX && !cray && !__EMX__ && !linux */
286
287# ifdef __EMX__
288#  define _sigextra_
289/* 16 */        0,              "Signal 16",
290/* 17 */        0,              "Signal 17",
291/* 18 */        "CLD",          "Child exited",
292/* 19 */        0,              "Signal 19",
293/* 20 */        0,              "Signal 20",
294/* 21 */        "BREAK",        "Break (Ctrl-Break)",
295# endif /* __EMX__ */
296
297
298# ifdef _CRAYCOM
299#  define _sigextra_
300/* 16 */        "IO",           "Input/output possible signal",
301/* 17 */        "URG",          "Urgent condition on I/O channel",
302/* 18 */        "CHLD",         "Child exited",
303/* 19 */        "PWR",          "Power failure",
304/* 20 */        "MT",           "Multitasking wake-up",
305/* 21 */        "MTKILL",       "Multitasking kill",
306/* 22 */        "BUFIO",        "Fortran asynchronous I/O completion",
307/* 23 */        "RECOVERY",     "Recovery",
308/* 24 */        "UME",          "Uncorrectable memory error",
309/* 25 */        0,              "Signal 25",
310/* 26 */        "CPULIM",       "CPU time limit exceeded",
311/* 27 */        "SHUTDN",       "System shutdown imminent",
312/* 28 */        "NOWAK",        "micro-tasking group-no wakeup flag set",
313/* 29 */        "THERR",        "Thread error - (use cord -T for detailed info)",
314/* 30 */        0,              "Signal 30",
315/* 31 */        0,              "Signal 31",
316/* 32 */        0,              "Signal 32",
317/* 33 */        0,              "Signal 33",
318/* 34 */        0,              "Signal 34",
319/* 35 */        0,              "Signal 35",
320/* 36 */        0,              "Signal 36",
321/* 37 */        0,              "Signal 37",
322/* 38 */        0,              "Signal 38",
323/* 39 */        0,              "Signal 39",
324/* 40 */        0,              "Signal 40",
325/* 41 */        0,              "Signal 41",
326/* 42 */        0,              "Signal 42",
327/* 43 */        0,              "Signal 43",
328/* 44 */        0,              "Signal 44",
329/* 45 */        0,              "Signal 45",
330/* 46 */        0,              "Signal 46",
331/* 47 */        0,              "Signal 47",
332/* 48 */        0,              "Signal 48",
333/* 49 */        0,              "Signal 49",
334/* 50 */        0,              "Signal 50",
335/* 51 */        0,              "Signal 51",
336/* 52 */        0,              "Signal 52",
337/* 53 */        0,              "Signal 53",
338/* 54 */        0,              "Signal 54",
339/* 55 */        0,              "Signal 55",
340/* 56 */        0,              "Signal 56",
341/* 57 */        0,              "Signal 57",
342/* 58 */        0,              "Signal 58",
343/* 59 */        0,              "Signal 59",
344/* 60 */        0,              "Signal 60",
345/* 61 */        0,              "Signal 61",
346/* 62 */        0,              "Signal 62",
347/* 63 */        0,              "Signal 63",
348/* 64 */        0,              "Signal 64",
349# endif /* _CRAYCOM */
350
351# if defined(cray) && !defined(_CRAYCOM)
352# define _sigextra_
353/* 16 */        "IO",           "Input/output possible signal",
354/* 17 */        "URG",          "Urgent condition on I/O channel",
355/* 18 */        "CHLD",         "Child exited",
356/* 19 */        "PWR",          "Power failure",
357/* 20 */        "MT",           "Multitasking wake-up",
358/* 21 */        "MTKILL",       "Multitasking kill",
359/* 22 */        "BUFIO",        "Fortran asynchronous I/O completion",
360/* 23 */        "RECOVERY",     "Recovery",
361/* 24 */        "UME",          "Uncorrectable memory error",
362/* 25 */        "DLK",          "True deadlock detected",
363/* 26 */        "CPULIM",       "CPU time limit exceeded",
364/* 27 */        "SHUTDN",       "System shutdown imminent",
365/* 28 */        "STOP",         MSG_STOP,
366/* 29 */        "TSTP",         MSG_TSTP,
367/* 30 */        "CONT",         "Continue",
368/* 31 */        "TTIN",         MSG_TTIN,
369/* 32 */        "TTOU",         MSG_TTOU,
370/* 33 */        "WINCH",        "Window size changed",
371/* 34 */        "RPE",          "CRAY Y-MP register parity error",
372/* 35 */        0,              "Signal 35",
373/* 36 */        0,              "Signal 36",
374/* 37 */        0,              "Signal 37",
375/* 38 */        0,              "Signal 38",
376/* 39 */        0,              "Signal 39",
377/* 40 */        0,              "Signal 40",
378/* 41 */        0,              "Signal 41",
379/* 42 */        0,              "Signal 42",
380/* 43 */        0,              "Signal 43",
381/* 44 */        0,              "Signal 44",
382/* 45 */        0,              "Signal 45",
383/* 46 */        0,              "Signal 46",
384/* 47 */        0,              "Signal 47",
385/* 48 */        "INFO",         "Information signal",
386/* 49 */        "USR1",         "User-defined signal 1",
387/* 50 */        "USR2",         "User-defined signal 2",
388/* 51 */        0,              "Signal 51",
389/* 52 */        0,              "Signal 52",
390/* 53 */        0,              "Signal 53",
391/* 54 */        0,              "Signal 54",
392/* 55 */        0,              "Signal 55",
393/* 56 */        0,              "Signal 56",
394/* 57 */        0,              "Signal 57",
395/* 58 */        0,              "Signal 58",
396/* 59 */        0,              "Signal 59",
397/* 60 */        0,              "Signal 60",
398/* 61 */        0,              "Signal 61",
399/* 62 */        0,              "Signal 62",
400/* 63 */        0,              "Signal 63",
401/* 64 */        0,              "Signal 64",
402# endif /* cray */
403
404/*
405**  In the UNIXpc these signal *ARE* used!!
406*/
407# ifdef UNIXPC
408/* 20 */        "WIND",         "Window status changed",
409/* 21 */        "PHONE",        "Phone status changed",
410# endif /* UNIXPC */
411
412# ifdef OREO
413#  define _sigextra_
414/* 20 */        "TSTP",         MSG_TSTP,
415/* 21 */        "TTIN",         MSG_TTIN,
416/* 22 */        "TTOU",         MSG_TTOU,
417/* 23 */        "STOP",         MSG_STOP,
418/* 24 */        "XCPU",         "Cputime limit exceeded",
419/* 25 */        "XFSZ",         "Filesize limit exceeded",
420/* 26 */        "VTALRM",       "Virtual time alarm",
421/* 27 */        "PROF",         "Profiling time alarm",
422/* 28 */        "WINCH",        "Window changed",
423/* 29 */        "CONT",         "Continued",
424/* 30 */        "URG",          "Urgent condition on IO channel",
425/* 31 */        "IO",           "Asynchronous I/O (select)",
426/* 32 */        0,              "Signal 32",
427# endif /* OREO */
428
429# ifdef hpux
430#  define _sigextra_
431/* 20 */        "VTALRM",       "Virtual time alarm",
432/* 21 */        "PROF",         "Profiling time alarm",
433/* 22 */        "IO",           "Asynchronous I/O (select)",
434/* 23 */        "WINDOW",       "Window changed",
435/* 24 */        "STOP",         MSG_STOP,
436/* 25 */        "TSTP",         MSG_TSTP,
437/* 26 */        "CONT",         "Continued",
438/* 27 */        "TTIN",         MSG_TTIN,
439/* 28 */        "TTOU",         MSG_TTOU,
440/* 29 */        "URG",          "Urgent condition on IO channel",
441/* 30 */        "LOST",         "Remote lock lost (NFS)",
442/* 31 */        0,              "Reserved", /* Reserved */
443/* 32 */        "DIL",          "DIL signal",
444# endif /* hpux */
445
446# ifdef stellar
447#  define _sigextra_
448/* 20 */        "WINDOW",       "Window changed",
449/* 21 */        "URG",          "Urgent condition on IO channel",
450/* 22 */        "POLL",         "Pollable event occured",
451/* 23 */        "STOP",         MSG_STOP,
452/* 24 */        "TSTP",         MSG_TSTP,
453/* 25 */        "CONT",         "Continued",
454/* 26 */        "TTIN",         MSG_TTIN,
455/* 27 */        "TTOU",         MSG_TTOU,
456/* 28 */        "IO",           "Asynchronous I/O (select)",
457/* 29 */        "XCPU",         "Cputime limit exceeded",
458/* 30 */        "XFSZ",         "Filesize limit exceeded",
459/* 31 */        "VTALRM",       "Virtual time alarm",
460/* 32 */        "PROF",         "Profiling time alarm",
461# endif /* stellar */
462
463# ifdef ardent
464#  define _sigextra_
465/* 20 */        "WINDOW",       "Window changed",
466/* 21 */        "URG",          "Urgent condition on IO channel",
467/* 22 */        "POLL",         "Pollable event occured",
468/* 23 */        "STOP",         MSG_STOP,
469/* 24 */        "TSTP",         MSG_TSTP,
470/* 25 */        "TTIN",         MSG_TTIN,
471/* 26 */        "TTOU",         MSG_TTOU,
472/* 27 */        "CONT",         "Continued",
473/* 28 */        "XCPU",         "Cputime limit exceeded",
474/* 29 */        "XFSZ",         "Filesize limit exceeded",
475/* 30 */        "VTALRM",       "Virtual time alarm",
476/* 31 */        "PROF",         "Profiling time alarm",
477# endif /* ardent */
478
479# if SYSVREL > 3
480#  define _sigextra_
481/* 20 */        "WINCH",        "Window change",
482/* 21 */        "URG",          "Urgent socket condition",
483/* 22 */        "IO",           "Socket I/O possible",
484/* 23 */        "STOP",         MSG_STOP,
485/* 24 */        "TSTP",         MSG_TSTP,
486/* 25 */        "CONT",         "Continued",
487/* 26 */        "TTIN",         MSG_TTIN,
488/* 27 */        "TTOU",         MSG_TTOU,
489/* 28 */        "VTALRM",       "Virtual timer expired",
490/* 29 */        "PROF",         "Profiling timer expired",
491/* 30 */        "XCPU",         "CPU time limit exceeded",
492/* 31 */        "XFSZ",         "File size limit exceeded",
493#  ifdef SOLARIS2
494/* 32 */        "WAITING",      "Process's lwps are blocked",
495/* 33 */        "LWP",          "Special LWP signal",
496/* 34 */        0,              "Maximum number of signals",
497#  else /* !SOLARIS2 */
498/* 32 */        0,              "Maximum number of signals",
499#  endif /* SOLARIS2 */
500
501# else  /* SYSVREL > 3 */ /* IRIX 5.3 is SVR4 compliant .. */
502#  ifdef IRIS4D
503#   define _sigextra_
504/* 20 */        "STOP",         MSG_STOP,
505/* 21 */        "TSTP",         MSG_TSTP,
506/* 22 */        "POLL",         "Stream I/O pending",
507/* 23 */        "IO",           "Asynchronous I/O (select)",
508/* 24 */        "URG",          "Urgent condition on IO channel",
509/* 25 */        "WINCH",        "Window changed",
510/* 26 */        "VTALRM",       "Virtual time alarm",
511/* 27 */        "PROF",         "Profiling time alarm",
512/* 28 */        "CONT",         "Continued",
513/* 29 */        "TTIN",         MSG_TTIN,
514/* 30 */        "TTOU",         MSG_TTOU,
515/* 31 */        0,              "Signal 31",
516/* 32 */        0,              "Signal 32",
517#  endif /* IRIS4D */
518#  ifdef IRIS3D
519#   define _sigextra_
520/* 20 */        0,              "Signal 20",
521/* 21 */        0,              "Signal 21",
522/* 22 */        0,              "Signal 22",
523/* 23 */        0,              "Signal 23",
524/* 24 */        0,              "Signal 24",
525/* 25 */        "WINCH",        "Window changed",
526/* 26 */        "IO",           "Asynchronous I/O (select)",
527/* 27 */        "URG",          "Urgent condition on IO channel",
528/* 28 */        "POLL",         "Stream I/O pending",
529/* 29 */        0,              "Signal 29",
530/* 30 */        0,              "Signal 30",
531/* 31 */        0,              "Signal 31",
532/* 32 */        0,              "Signal 32",
533#  endif /* IRIS3D */
534# endif /* SYSVREL > 3 */
535
536# if defined(ISC) && defined(POSIX)
537#  define _sigextra_
538/* 20 */        "WINCH",        "Window change",
539/* 21 */        0,              "Unused", /* SIGPHONE used only for UNIXPC */
540/* 22 */        "POLL",         "Pollable event occured",
541/* 23 */        "CONT",         "Continued",
542/* 24 */        "STOP",         MSG_STOP,
543/* 25 */        "TSTP",         MSG_TSTP,
544/* 26 */        "TTIN",         MSG_TTIN,
545/* 27 */        "TTOU",         MSG_TTOU,
546/* 28 */        0,              "number of signals",
547/* 29 */        0,              "Reserved", /* Reserved */
548/* 30 */        0,              "Reserved", /* Reserved */
549/* 31 */        0,              "Reserved", /* Reserved */
550/* 32 */        0,              "Maximum number of signals",
551# endif /* ISC && POSIX */
552
553# if defined(SCO) && defined(POSIX)
554#  define _sigextra_
555/* 20 */        "WINCH",        "Window change",
556/* 21 */        0,              "Unused", /* SIGPHONE used only for UNIXPC */
557/* 22 */        "POLL",         "Pollable event occured",
558/* 23 */        "STOP",         MSG_STOP,
559/* 24 */        "TSTP",         MSG_TSTP,
560/* 25 */        "CONT",         "Continued",
561/* 26 */        "TTIN",         MSG_TTIN,
562/* 27 */        "TTOU",         MSG_TTOU,
563/* 28 */        0,              "number of signals",
564/* 29 */        0,              "Reserved", /* Reserved */
565/* 30 */        0,              "Reserved", /* Reserved */
566/* 31 */        0,              "Reserved", /* Reserved */
567/* 32 */        0,              "Maximum number of signals",
568# endif /* SCO && POSIX */
569
570
571# ifdef apollo
572#  define _sigextra_
573/* 20 */        "STOP",         MSG_STOP,
574/* 21 */        "TSTP",         MSG_TSTP,
575/* 22 */        "CONT",         "Continued",
576/* 23 */        "CHLD",         "Child stopped or exited",
577/* 24 */        "TTIN",         MSG_TTIN,
578/* 25 */        "TTOU",         MSG_TTOU,
579/* 26 */        "IO",           "Asynchronous I/O (select)",
580/* 27 */        "XCPU",         "Cputime limit exceeded",
581/* 28 */        "XFSZ",         "Filesize limit exceeded",
582/* 29 */        "VTALRM",       "Virtual time alarm",
583/* 30 */        "PROF",         "Profiling time alarm",
584/* 31 */        "URG",          "Urgent condition on IO channel",
585/* 32 */        "WINCH",        "Window changed",
586# endif /* apollo */
587
588# ifdef masscomp
589#  define _sigextra_
590/* 20 */        "STOP",         MSG_STOP,
591/* 21 */        "TSTP",         MSG_TSTP,
592/* 22 */        "CONT",         "Continued",
593/* 23 */        "TTIN",         MSG_TTIN,
594/* 24 */        "TTOU",         MSG_TTOU,
595/* 25 */        "TINT",         "New input character",
596/* 26 */        "XCPU",         "Cputime limit exceeded",
597/* 27 */        "XFSZ",         "Filesize limit exceeded",
598/* 28 */        "WINCH",        "Window changed",
599/* 29 */        "URG",          "Urgent condition on IO channel",
600/* 30 */        "VTALRM",       "Virtual time alarm",
601/* 31 */        "PROF",         "Profiling time alarm",
602/* 32 */        "IO",           "Asynchronous I/O (select)",
603# endif /* masscomp */
604
605# ifdef aiws
606#  define _sigextra_
607/* 20 */        0,              "Signal 20",
608/* 21 */        0,              "Signal 21",
609/* 22 */        0,              "Signal 22",
610/* 23 */        "AIO",          "LAN Asyncronous I/O",
611/* 24 */        "PTY",          "PTY read/write availability",
612/* 25 */        "IOINT",        "I/O intervention required",
613/* 26 */        "GRANT",        "monitor mode granted",
614/* 27 */        "RETRACT",      "monitor mode retracted",
615/* 28 */        "WINCH",        "Window size changed",
616/* 29 */        0,              "Signal 29",
617/* 30 */        "SOUND",        "sound completed",
618/* 31 */        "MSG",          "input hft data pending",
619/* 32 */        0,              "Signal 32",
620# endif /* aiws */
621
622# if defined(m88k) || defined(__m88k__) /* Motorola 88100: POSIX/BCS signals */
623#  define _sigextra_
624/* 20 */        "WINCH",        "Window changed",
625/* 21 */        0,              "Signal 21",
626/* 22 */        "POLL",         "Stream I/O pending",
627/* 23 */        "STOP",         MSG_STOP,
628/* 24 */        "TSTP",         MSG_TSTP,
629/* 25 */        "CONT",         "Continued",
630/* 26 */        "TTIN",         MSG_TTIN,
631/* 27 */        "TTOU",         MSG_TTOU,
632/* 28 */        0,              "Signal 28",
633/* 29 */        0,              "Signal 29",
634/* 30 */        0,              "Signal 30",
635/* 31 */        0,              "Signal 31",
636/* 32 */        0,              "Signal 32",
637/* 33 */        "URG",          "Urgent condition on IO channel",
638/* 34 */        "IO",           "Asynchronous I/O (select)",
639/* 35 */        "XCPU",         "Cputime limit exceeded",
640/* 36 */        "XFSZ",         "Filesize limit exceeded",
641/* 37 */        "VTALRM",       "Virtual time alarm",
642/* 38 */        "PROF",         "Profiling time alarm",
643/* 39 */        0,              "Signal 39",
644/* 40 */        "LOST",         "Resource lost",
645/* 41 */        0,              "Signal 41",
646/* 42 */        0,              "Signal 42",
647/* 43 */        0,              "Signal 43",
648/* 44 */        0,              "Signal 44",
649/* 45 */        0,              "Signal 45",
650/* 46 */        0,              "Signal 46",
651/* 47 */        0,              "Signal 47",
652/* 48 */        0,              "Signal 48",
653/* 49 */        0,              "Signal 49",
654/* 50 */        0,              "Signal 50",
655/* 51 */        0,              "Signal 51",
656/* 52 */        0,              "Signal 52",
657/* 53 */        0,              "Signal 53",
658/* 54 */        0,              "Signal 54",
659/* 55 */        0,              "Signal 55",
660/* 56 */        0,              "Signal 56",
661/* 57 */        0,              "Signal 57",
662/* 58 */        0,              "Signal 58",
663/* 59 */        0,              "Signal 59",
664/* 60 */        0,              "Signal 60",
665/* 61 */        0,              "Signal 61",
666/* 62 */        0,              "Signal 62",
667/* 63 */        0,              "Signal 63",
668/* 64 */        0,              "Signal 64",
669# endif /* m88k || __m88k__ */
670
671# ifdef IBMAIX
672#  define _sigextra_
673/* 16 */        "URG",          "Urgent condition on IO channel",
674/* 17 */        "STOP",         MSG_STOP,
675/* 18 */        "TSTP",         MSG_TSTP,
676/* 19 */        "CONT",         "Continued",
677/* 20 */        "CHLD",         "Child exited",
678/* 21 */        "TTIN",         MSG_TTIN,
679/* 22 */        "TTOU",         MSG_TTOU,
680/* 23 */        "IO",           "IO possible interrupt",
681/* 24 */        "XCPU",         "Cputime limit exceeded",
682/* 25 */        "XFSZ",         "Filesize limit exceeded",
683/* 26 */        0,              "Signal 26",
684/* 27 */        "MSG",          "Data in HFT ring buffer",
685/* 28 */        "WINCH",        "Window size changed",
686/* 29 */        "PWR",          "Power failure",
687/* 30 */        "USR1",         "User signal 1",
688/* 31 */        "USR2",         "User signal 2",
689/* 32 */        "PROF",         "Profiling time alarm",
690/* 33 */        "DANGER",       "System Crash Imminent",
691/* 34 */        "VTALRM",       "Virtual time alarm",
692/* 35 */        "MIGRATE",      "Migrate process",
693/* 36 */        "PRE",          "Programming exception",
694/* 37 */        0,              "Signal 37",
695/* 38 */        0,              "Signal 38",
696/* 39 */        0,              "Signal 39",
697/* 40 */        0,              "Signal 40",
698/* 41 */        0,              "Signal 41",
699/* 42 */        0,              "Signal 42",
700/* 43 */        0,              "Signal 43",
701/* 44 */        0,              "Signal 44",
702/* 45 */        0,              "Signal 45",
703/* 46 */        0,              "Signal 46",
704/* 47 */        0,              "Signal 47",
705/* 48 */        0,              "Signal 48",
706/* 49 */        0,              "Signal 49",
707/* 50 */        0,              "Signal 50",
708/* 51 */        0,              "Signal 51",
709/* 52 */        0,              "Signal 52",
710/* 53 */        0,              "Signal 53",
711/* 54 */        0,              "Signal 54",
712/* 55 */        0,              "Signal 55",
713/* 56 */        0,              "Signal 56",
714/* 57 */        0,              "Signal 57",
715/* 58 */        0,              "Signal 58",
716/* 59 */        0,              "Signal 59",
717/* 60 */        "GRANT",        "HFT monitor mode granted",
718/* 61 */        "RETRACT",      "HFT monitor mode should be relinguished",
719/* 62 */        "SOUND",        "HFT sound control has completed",
720#  ifdef SIGSAK
721/* 63 */        "SAK",          "Secure attention key",
722#  else
723/* 63 */        0,              "Signal 63",
724#  endif
725/* 64 */        0,              "Signal 64",
726# endif /* IBMAIX */
727
728# ifdef _SEQUENT_
729#  define _sigextra_
730/* 20 */        "WINCH",        "Window changed",
731/* 21 */        0,              "Signal 21",
732/* 22 */        "POLL",         "Stream I/O pending",
733/* 23 */        "STOP",         MSG_STOP,
734/* 24 */        "TSTP",         MSG_TSTP,
735/* 25 */        "CONT",         "Continued",
736/* 26 */        "TTIN",         MSG_TTIN,
737/* 27 */        "TTOU",         MSG_TTOU,
738/* 28 */        0,              "Signal 28",
739/* 29 */        0,              "Signal 29",
740/* 30 */        0,              "Signal 30",
741/* 31 */        0,              "Signal 31",
742/* 32 */        0,              "Signal 32",
743# endif /* _SEQUENT_ */
744
745# ifdef linux
746#  define _sigextra_
747/* 16 */        0,              "Signal 16",
748/* 17 */        "CHLD",         "Child exited",
749/* 18 */        "CONT",         "Continued",
750/* 19 */        "STOP",         MSG_STOP,
751/* 20 */        "TSTP",         MSG_TSTP,
752/* 21 */        "TTIN",         MSG_TTIN,
753/* 22 */        "TTOU",         MSG_TTOU,
754/* 23 */        0,              "Signal 23",
755/* 24 */        0,              "Signal 24",
756/* 25 */        0,              "Signal 25",
757/* 26 */        0,              "Signal 26",
758/* 27 */        0,              "Signal 27",
759/* 28 */        "WINCH",        "Window changed",
760/* 29 */        0,              "Signal 29",
761/* 30 */        0,              "Signal 30",
762/* 31 */        0,              "Signal 31",
763/* 32 */        0,              "Signal 32",
764# endif /* linux */
765
766# ifndef _sigextra_
767#  ifndef UNIXPC
768/* 20 */        0,              "Signal 20",
769/* 21 */        0,              "Signal 21",
770#  endif /* !UNIXPC */
771/* 22 */        0,              "Signal 22",
772/* 23 */        0,              "Signal 23",
773/* 24 */        0,              "Signal 24",
774/* 25 */        0,              "Signal 25",
775/* 26 */        0,              "Signal 26",
776/* 27 */        0,              "Signal 27",
777/* 28 */        0,              "Signal 28",
778/* 29 */        0,              "Signal 29",
779/* 30 */        0,              "Signal 30",
780/* 31 */        0,              "Signal 31",
781/* 32 */        0,              "Signal 32",
782# endif /* _sigextra_ */
783
784#else /* bsd */
785
786# ifdef _sigextra_
787#  undef  _sigextra_
788# endif /* _sigextra_ */
789
790# ifdef _VMS_POSIX
791#  define _sigextra_
792/* 16 */        0,              "Signal 16",
793/* 17 */        0,              "Signal 17",
794/* 18 */        "USR1",         "User defined signal 1",
795/* 19 */        "USR2",         "User defined signal 2",
796/* 20 */        "CHLD",         "Child exited",
797/* 21 */        "CONT",         "Continued",
798/* 22 */        "STOP",         MSG_STOP,
799/* 23 */        "TSTP",         MSG_TSTP,
800/* 24 */        "TTIN",         MSG_TTIN,
801/* 25 */        "TTOU",         MSG_TTOU,
802/* 26 */        "DEBUG",        "Signaling SS$_DEBUG",
803# else /* BSD */
804/* 16 */        "URG",          "Urgent condition on IO channel",
805/* 17 */        "STOP",         MSG_STOP,
806/* 18 */        "TSTP",         MSG_TSTP,
807/* 19 */        "CONT",         "Continued",
808/* 20 */        "CHLD",         "Child exited",
809/* 21 */        "TTIN",         MSG_TTIN,
810/* 22 */        "TTOU",         MSG_TTOU,
811/* 23 */        "IO",           "IO possible interrupt",
812/* 24 */        "XCPU",         "Cputime limit exceeded",
813/* 25 */        "XFSZ",         "Filesize limit exceeded",
814/* 26 */        "VTALRM",       "Virtual time alarm",
815/* 27 */        "PROF",         "Profiling time alarm",
816# endif /* _VMS_POSIX */
817
818# ifndef _sigextra_
819#  if defined(RENO) || defined(BSD4_4)
820#   define _sigextra_
821/* 28 */        "WINCH",        "Window size changed",
822/* 29 */        "INFO",         "Information request",
823/* 30 */        "USR1",         "User defined signal 1",
824/* 31 */        "USR2",         "User defined signal 2",
825/* 32 */        0,              "Signal 32",
826#  endif /* RENO || BSD4_4 */
827# endif /* !_sigextra_ */
828
829# ifndef _sigextra_
830#  if defined(SUNOS4) || defined(ultrix) || defined(hp9000) || defined(convex)
831#   define _sigextra_
832/* 28 */        "WINCH",        "Window changed",
833/* 29 */        "LOST",         "Resource lost",
834/* 30 */        "USR1",         "User signal 1",
835/* 31 */        "USR2",         "User signal 2",
836/* 32 */        0,              "Signal 32",
837#  endif /* SUNOS4 || ultrix || hp9000 || convex */
838# endif /* !_sigextra_ */
839
840# ifndef _sigextra_
841#  ifdef pyr
842#   define _sigextra_
843/* 28 */        "USR1",         "User signal 1",
844/* 29 */        "USR2",         "User signal 2",
845/* 30 */        "PWR",          "Power failure",
846/* 31 */        0,              "Signal 31",
847/* 32 */        0,              "Signal 32",
848#  endif /* pyr */
849# endif /* !_sigextra_ */
850
851# ifndef _sigextra_
852/* 28 */        "WINCH",        "Window size changed",
853/* 29 */        0,              "Signal 29",
854/* 30 */        "USR1",         "User defined signal 1",
855/* 31 */        "USR2",         "User defined signal 2",
856/* 32 */        0,              "Signal 32",
857# endif /* _sigextra_ */
858
859#endif /* (SYSVREL > 0) || DGUX || IBMAIX */
860
861/* These are here for systems with bad NSIG */
862#ifndef POSIX
863/* 33 */        0,              "Signal 33"
864#else /* POSIX */
865/* 65 */        0,              "Signal 65"
866#endif /* POSIX */
867};
868
869int mesg_size = sizeof(mesg) / sizeof(struct mesg);
Note: See TracBrowser for help on using the repository browser.