1
0
Files
irix-657m-src/eoe/cmd/tcsh/sh.init.c
2022-09-29 17:59:04 +03:00

889 lines
28 KiB
C

/* $Header: /proj/irix6.5.7m/isms/eoe/cmd/tcsh/RCS/sh.init.c,v 1.4 1993/07/15 17:33:19 pdc Exp $ */
/*
* sh.init.c: Function and signal tables
*/
/*-
* Copyright (c) 1980, 1991 The Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include "sh.h"
RCSID("$Id: sh.init.c,v 1.4 1993/07/15 17:33:19 pdc Exp $")
#include "ed.h"
#include "tw.h"
/*
* C shell
*/
#define INF 0x7fffffff
struct biltins bfunc[] = {
{ ":", dozip, 0, INF },
{ "@", dolet, 0, INF },
{ "alias", doalias, 0, INF },
{ "aliases", doaliases, 0, 1, },
{ "alloc", showall, 0, 1 },
{ "bg", dobg, 0, INF },
{ "bind", dobind, 0, 2 },
{ "bindkey", dobindkey, 0, 8 },
{ "break", dobreak, 0, 0 },
{ "breaksw", doswbrk, 0, 0 },
{ "builtins", dobuiltins, 0, 0 },
#if defined(IIASA) || defined(KAI)
{ "bye", goodbye, 0, 0 },
#endif
{ "case", dozip, 0, 1 },
{ "cd", dochngd, 0, INF },
{ "chdir", dochngd, 0, INF },
{ "complete", docomplete, 0, INF },
{ "continue", docontin, 0, 0 },
{ "default", dozip, 0, 0 },
{ "dirs", dodirs, 0, INF },
{ "echo", doecho, 0, INF },
{ "echotc", doechotc, 0, INF },
{ "else", doelse, 0, INF },
{ "end", doend, 0, 0 },
{ "endif", dozip, 0, 0 },
{ "endsw", dozip, 0, 0 },
{ "eval", doeval, 0, INF },
{ "exec", execash, 1, INF },
{ "exit", doexit, 0, INF },
{ "fg", dofg, 0, INF },
{ "foreach", doforeach, 3, INF },
#ifdef TCF
{ "getspath", dogetspath, 0, 0 },
{ "getxvers", dogetxvers, 0, 0 },
#endif /* TCF */
#ifdef IIASA
{ "gd", dopushd, 0, INF },
#endif
{ "glob", doglob, 0, INF },
{ "goto", dogoto, 1, 1 },
#ifdef VFORK
{ "hashstat", hashstat, 0, 0 },
#endif
{ "history", dohist, 0, 2 },
{ "if", doif, 1, INF },
#ifdef apollo
{ "inlib", doinlib, 1, INF },
#endif
{ "jobs", dojobs, 0, 1 },
{ "kill", dokill, 1, INF },
#ifndef HAVENOLIMIT
{ "limit", dolimit, 0, 3 },
#endif /* ! HAVENOLIMIT */
{ "linedit", doecho, 0, INF },
#if !defined(HAVENOUTMP) && !defined(KAI)
{ "log", dolog, 0, 0 },
#endif /* !HAVENOUTMP && !KAI */
{ "login", dologin, 0, 1 },
{ "logout", dologout, 0, 0 },
{ "ls-F", dolist, 0, INF },
#ifdef TCF
{ "migrate", domigrate, 1, INF },
#endif /* TCF */
#ifdef NEWGRP
{ "newgrp", donewgrp, 1, 2 },
#endif
{ "nice", donice, 0, INF },
{ "nohup", donohup, 0, INF },
{ "notify", donotify, 0, INF },
{ "onintr", doonintr, 0, 2 },
{ "popd", dopopd, 0, INF },
{ "printenv", doprintenv, 0, 1 },
{ "pushd", dopushd, 0, INF },
#ifdef IIASA
{ "rd", dopopd, 0, INF },
#endif
{ "rehash", dohash, 0, 3 },
{ "repeat", dorepeat, 2, INF },
#ifdef apollo
{ "rootnode", dorootnode, 1, 1 },
#endif
{ "sched", dosched, 0, INF },
{ "set", doset, 0, INF },
{ "setenv", dosetenv, 0, 2 },
#ifdef MACH
{ "setpath", dosetpath, 0, INF },
#endif /* MACH */
#ifdef TCF
{ "setspath", dosetspath, 1, INF },
#endif /* TCF */
{ "settc", dosettc, 2, 2 },
{ "setty", dosetty, 0, INF },
#ifdef TCF
{ "setxvers", dosetxvers, 0, 1 },
#endif /* TCF */
{ "shift", shift, 0, 1 },
{ "source", dosource, 1, INF },
{ "stop", dostop, 1, INF },
{ "suspend", dosuspend, 0, 0 },
{ "switch", doswitch, 1, INF },
{ "telltc", dotelltc, 0, INF },
{ "time", dotime, 0, INF },
{ "umask", doumask, 0, 1 },
{ "unalias", unalias, 1, INF },
{ "uncomplete", douncomplete, 1, INF },
{ "unhash", dounhash, 0, 0 },
#ifdef masscomp
{ "universe", douniverse, 0, 1 },
#endif
#ifndef HAVENOLIMIT
{ "unlimit", dounlimit, 0, INF },
#endif /* !HAVENOLIMIT */
{ "unset", unset, 1, INF },
{ "unsetenv", dounsetenv, 1, INF },
#ifdef apollo
{ "ver", dover, 0, INF },
#endif
{ "wait", dowait, 0, 0 },
#ifdef WARP
{ "warp", dowarp, 0, 2 },
#endif
#if !defined(HAVENOUTMP) && defined(KAI)
{ "watchlog", dolog, 0, 0 },
#endif /* !HAVENOUTMP && KAI */
{ "where", dowhere, 1, INF },
{ "which", dowhich, 1, INF },
{ "while", dowhile, 1, INF }
};
int nbfunc = sizeof bfunc / sizeof *bfunc;
struct srch srchn[] = {
{ "@", TC_LET },
{ "break", TC_BREAK },
{ "breaksw", TC_BRKSW },
{ "case", TC_CASE },
{ "default", TC_DEFAULT },
{ "else", TC_ELSE },
{ "end", TC_END },
{ "endif", TC_ENDIF },
{ "endsw", TC_ENDSW },
{ "exit", TC_EXIT },
{ "foreach", TC_FOREACH },
{ "goto", TC_GOTO },
{ "if", TC_IF },
{ "label", TC_LABEL },
{ "set", TC_SET },
{ "switch", TC_SWITCH },
{ "while", TC_WHILE }
};
int nsrchn = sizeof srchn / sizeof *srchn;
#ifdef SUSPENDED
# define MSG_STOP "Suspended (signal)"
# define MSG_TSTP "Suspended"
# define MSG_TTIN "Suspended (tty input)"
# define MSG_TTOU "Suspended (tty output)"
#else /* STOPPED */
# define MSG_STOP "Stopped (signal)"
# define MSG_TSTP "Stopped"
# define MSG_TTIN "Stopped (tty input)"
# define MSG_TTOU "Stopped (tty output)"
#endif /* SUSPENDED */
/*
* Note: For some machines, (hpux eg.)
* NSIG = number of signals + 1...
* so we define 33 or 65 (POSIX) signals for
* everybody
*/
struct mesg mesg[] = {
/* 0 */ { 0, "" },
/* 1 */ { "HUP", "Hangup" },
/* 2 */ { "INT", "Interrupt" },
/* 3 */ { "QUIT", "Quit" },
/* 4 */ { "ILL", "Illegal instruction" },
/* 5 */ { "TRAP", "Trace/BPT trap" },
#if SYSVREL > 3 || defined(__EMX__) || defined(_VMS_POSIX)
/* 6 */ { "ABRT", "Abort" },
#else /* SYSVREL < 3 */
/* 6 */ { "IOT", "IOT trap" },
#endif /* SYSVREL > 3 || __EMX__ || _VMS_POSIX */
#ifdef aiws
/* 7 */ { "DANGER", "System Crash Imminent" },
#else /* !aiws */
# ifdef linux
/* 7 */ { 0, "Signal 7" },
# else /* !linux */
# ifdef _CRAY
/* 7 */ { "ERR", "Error exit" },
# else /* !_CRAY */
/* 7 */ { "EMT", "EMT trap" },
# endif /* _CRAY */
# endif /* linux */
#endif /* aiws */
/* 8 */ { "FPE", "Floating exception" },
/* 9 */ { "KILL", "Killed" },
#ifdef linux
/* 10 */ { "USR1", "User signal 1" },
/* 11 */ { "SEGV", "Segmentation fault" },
/* 12 */ { "USR2", "User signal 2" },
#else /* linux */
# ifndef _CRAY
/* 10 */ { "BUS", "Bus error" },
/* 11 */ { "SEGV", "Segmentation fault" },
# else /* _CRAY */
/* 10 */ { "PRE", "Program range error" },
/* 11 */ { "ORE", "Operand range error" },
# endif /* !_CRAY */
/* 12 */ { "SYS", "Bad system call" },
#endif /* linux */
/* 13 */ { "PIPE", "Broken pipe" },
/* 14 */ { "ALRM", "Alarm clock" },
/* 15 */ { "TERM", "Terminated" },
#if (SYSVREL > 0) || defined(DGUX) || defined(IBMAIX) || defined(apollo) || defined(masscomp) || defined(ardent) || defined(linux)
# ifdef _sigextra_
# undef _sigextra_
# endif /* _sigextra_ */
# if !defined(IBMAIX) && !defined(cray) && !defined(__EMX__) && !defined(linux)
/* these are the real svid signals */
/* 16 */ { "USR1", "User signal 1" },
/* 17 */ { "USR2", "User signal 2" },
# ifdef apollo
/* 18 */ { "CLD", "Death of child" },
/* 19 */ { "APOLLO", "Apollo-specific fault" },
# else
/* 18 */ { "CHLD", "Child exited" },
# ifdef SOLARIS2
/* 19 */ { "LOST", "Resource Lost" },
# else /* !SOLARIS2 */
/* 19 */ { "PWR", "Power failure" },
# endif /* SOLARIS2 */
# endif /* apollo */
# endif /* !IBMAIX && !cray && !__EMX__ && !linux */
# ifdef __EMX__
# define _sigextra_
/* 16 */ { 0, "Signal 16" },
/* 17 */ { 0, "Signal 17" },
/* 18 */ { "CLD", "Child exited" },
/* 19 */ { 0, "Signal 19" },
/* 20 */ { 0, "Signal 20" },
/* 21 */ { "BREAK", "Break (Ctrl-Break)" },
# endif /* __EMX__ */
# ifdef _CRAYCOM
# define _sigextra_
/* 16 */ { "IO", "Input/output possible signal"},
/* 17 */ { "URG", "Urgent condition on I/O channel"},
/* 18 */ { "CHLD", "Child exited" },
/* 19 */ { "PWR", "Power failure" },
/* 20 */ { "MT", "Multitasking wake-up" },
/* 21 */ { "MTKILL", "Multitasking kill" },
/* 22 */ { "BUFIO", "Fortran asynchronous I/O completion"},
/* 23 */ { "RECOVERY", "Recovery" },
/* 24 */ { "UME", "Uncorrectable memory error"},
/* 25 */ { 0, "Signal 25" },
/* 26 */ { "CPULIM", "CPU time limit exceeded"},
/* 27 */ { "SHUTDN", "System shutdown imminent"},
/* 28 */ { "NOWAK", "micro-tasking group-no wakeup flag set"},
/* 29 */ { "THERR", "Thread error - (use cord -T for detailed info)"},
/* 30 */ { 0, "Signal 30" },
/* 31 */ { 0, "Signal 31" },
/* 32 */ { 0, "Signal 32" },
# endif /* _CRAYCOM */
# if defined(cray) && !defined(_CRAYCOM)
# define _sigextra_
# define _64sig_
/* 16 */ { "IO", "Input/output possible signal"},
/* 17 */ { "URG", "Urgent condition on I/O channel"},
/* 18 */ { "CHLD", "Child exited" },
/* 19 */ { "PWR", "Power failure" },
/* 20 */ { "MT", "Multitasking wake-up" },
/* 21 */ { "MTKILL", "Multitasking kill" },
/* 22 */ { "BUFIO", "Fortran asynchronous I/O completion"},
/* 23 */ { "RECOVERY", "Recovery" },
/* 24 */ { "UME", "Uncorrectable memory error"},
/* 25 */ { "DLK", "True deadlock detected"},
/* 26 */ { "CPULIM", "CPU time limit exceeded"},
/* 27 */ { "SHUTDN", "System shutdown imminent"},
/* 28 */ { "STOP", MSG_STOP },
/* 29 */ { "TSTP", MSG_TSTP },
/* 30 */ { "CONT", "Continue" },
/* 31 */ { "TTIN", MSG_TTIN },
/* 32 */ { "TTOU", MSG_TTOU },
/* 33 */ { "WINCH", "Window size changed" },
/* 34 */ { "RPE", "CRAY Y-MP register parity error"},
/* 35 */ { 0, "Signal 35" },
/* 36 */ { 0, "Signal 36" },
/* 37 */ { 0, "Signal 37" },
/* 38 */ { 0, "Signal 38" },
/* 39 */ { 0, "Signal 39" },
/* 40 */ { 0, "Signal 40" },
/* 41 */ { 0, "Signal 41" },
/* 42 */ { 0, "Signal 42" },
/* 43 */ { 0, "Signal 43" },
/* 44 */ { 0, "Signal 44" },
/* 45 */ { 0, "Signal 45" },
/* 46 */ { 0, "Signal 46" },
/* 47 */ { 0, "Signal 47" },
/* 48 */ { "INFO", "Information signal" },
/* 49 */ { "USR1", "User-defined signal 1" },
/* 50 */ { "USR2", "User-defined signal 2" },
/* 51 */ { 0, "Signal 51" },
/* 52 */ { 0, "Signal 52" },
/* 53 */ { 0, "Signal 53" },
/* 54 */ { 0, "Signal 54" },
/* 55 */ { 0, "Signal 55" },
/* 56 */ { 0, "Signal 56" },
/* 57 */ { 0, "Signal 57" },
/* 58 */ { 0, "Signal 58" },
/* 59 */ { 0, "Signal 59" },
/* 60 */ { 0, "Signal 60" },
/* 61 */ { 0, "Signal 61" },
/* 62 */ { 0, "Signal 62" },
/* 63 */ { 0, "Signal 63" },
/* 64 */ { 0, "Signal 64" },
# endif /* cray */
/*
** In the UNIXpc these signal *ARE* used!!
*/
# ifdef UNIXPC
/* 20 */ { "WIND", "Window status changed" },
/* 21 */ { "PHONE", "Phone status changed" },
# endif /* UNIXPC */
# ifdef OREO
# define _sigextra_
/* 20 */ { "TSTP", MSG_TSTP },
/* 21 */ { "TTIN", MSG_TTIN },
/* 22 */ { "TTOU", MSG_TTOU },
/* 23 */ { "STOP", MSG_STOP },
/* 24 */ { "XCPU", "Cputime limit exceeded"},
/* 25 */ { "XFSZ", "Filesize limit exceeded"},
/* 26 */ { "VTALRM", "Virtual time alarm" },
/* 27 */ { "PROF", "Profiling time alarm" },
/* 28 */ { "WINCH", "Window changed" },
/* 29 */ { "CONT", "Continued" },
/* 30 */ { "URG", "Urgent condition on IO channel"},
/* 31 */ { "IO", "Asynchronous I/O (select)"},
/* 32 */ { 0, "Signal 32" },
# endif /* OREO */
# ifdef hpux
# define _sigextra_
/* 20 */ { "VTALRM", "Virtual time alarm" },
/* 21 */ { "PROF", "Profiling time alarm" },
/* 22 */ { "IO", "Asynchronous I/O (select)"},
/* 23 */ { "WINDOW", "Window changed" },
/* 24 */ { "STOP", MSG_STOP },
/* 25 */ { "TSTP", MSG_TSTP },
/* 26 */ { "CONT", "Continued" },
/* 27 */ { "TTIN", MSG_TTIN },
/* 28 */ { "TTOU", MSG_TTOU },
/* 29 */ { "URG", "Urgent condition on IO channel"},
/* 30 */ { "LOST", "Remote lock lost (NFS)"},
/* 31 */ { 0, "Reserved", },
/* 32 */ { "DIL", "DIL signal" },
# endif /* hpux */
# ifdef stellar
# define _sigextra_
/* 20 */ { "WINDOW", "Window changed" },
/* 21 */ { "URG", "Urgent condition on IO channel"},
/* 22 */ { "POLL", "Pollable event occured"},
/* 23 */ { "STOP", MSG_STOP },
/* 24 */ { "TSTP", MSG_TSTP },
/* 25 */ { "CONT", "Continued" },
/* 26 */ { "TTIN", MSG_TTIN },
/* 27 */ { "TTOU", MSG_TTOU },
/* 28 */ { "IO", "Asynchronous I/O (select)"},
/* 29 */ { "XCPU", "Cputime limit exceeded"},
/* 30 */ { "XFSZ", "Filesize limit exceeded"},
/* 31 */ { "VTALRM", "Virtual time alarm" },
/* 32 */ { "PROF", "Profiling time alarm" },
# endif /* stellar */
# ifdef ardent
# define _sigextra_
/* 20 */ { "WINDOW", "Window changed" },
/* 21 */ { "URG", "Urgent condition on IO channel"},
/* 22 */ { "POLL", "Pollable event occured"},
/* 23 */ { "STOP", MSG_STOP },
/* 24 */ { "TSTP", MSG_TSTP },
/* 25 */ { "TTIN", MSG_TTIN },
/* 26 */ { "TTOU", MSG_TTOU },
/* 27 */ { "CONT", "Continued" },
/* 28 */ { "XCPU", "Cputime limit exceeded"},
/* 29 */ { "XFSZ", "Filesize limit exceeded"},
/* 30 */ { "VTALRM", "Virtual time alarm" },
/* 31 */ { "PROF", "Profiling time alarm" },
# endif /* ardent */
# if SYSVREL > 3
# define _sigextra_
/* 20 */ { "WINCH", "Window change" },
/* 21 */ { "URG", "Urgent socket condition"},
/* 22 */ { "IO", "Socket I/O possible" },
/* 23 */ { "STOP", MSG_STOP },
/* 24 */ { "TSTP", MSG_TSTP },
/* 25 */ { "CONT", "Continued" },
/* 26 */ { "TTIN", MSG_TTIN },
/* 27 */ { "TTOU", MSG_TTOU },
/* 28 */ { "VTALRM", "Virtual timer expired" },
/* 29 */ { "PROF", "Profiling timer expired"},
/* 30 */ { "XCPU", "CPU time limit exceeded"},
/* 31 */ { "XFSZ", "File size limit exceeded"},
#ifdef SOLARIS2
/* 32 */ { "WAITING", "Process's lwps are blocked"},
/* 33 */ { "LWP", "Special LWP signal" },
/* 34 */ { 0, "Maximum number of signals"},
#else /* !SOLARIS2 */
/* 32 */ { 0, "Maximum number of signals"},
#endif /* SOLARIS2 */
# endif /* SYSVREL > 3 */
# if defined(ISC) && defined(POSIX)
# define _sigextra_
/* 20 */ { "WINCH", "Window change" },
/* SIGPHONE used only for UNIXPC */
/* 21 */ { 0, "Unused" },
/* 22 */ { "POLL", "Pollable event occured"},
/* 23 */ { "CONT", "Continued" },
/* 24 */ { "STOP", MSG_STOP },
/* 25 */ { "TSTP", MSG_TSTP },
/* 26 */ { "TTIN", MSG_TTIN },
/* 27 */ { "TTOU", MSG_TTOU },
/* 28 */ { 0, "number of signals" },
/* 29 */ { 0, "Reserved" },
/* 30 */ { 0, "Reserved" },
/* 31 */ { 0, "Reserved" },
/* 32 */ { 0, "Maximum number of signals"},
# endif /* ISC && POSIX */
# if defined(SCO) && defined(POSIX)
# define _sigextra_
/* 20 */ { "WINCH", "Window change" },
/* SIGPHONE used only for UNIXPC */
/* 21 */ { 0, "Unused" },
/* 22 */ { "POLL", "Pollable event occured"},
/* 23 */ { "STOP", MSG_STOP },
/* 24 */ { "TSTP", MSG_TSTP },
/* 25 */ { "CONT", "Continued" },
/* 26 */ { "TTIN", MSG_TTIN },
/* 27 */ { "TTOU", MSG_TTOU },
/* 28 */ { 0, "number of signals" },
/* 29 */ { 0, "Reserved" },
/* 30 */ { 0, "Reserved" },
/* 31 */ { 0, "Reserved" },
/* 32 */ { 0, "Maximum number of signals"},
# endif /* SCO && POSIX */
# if defined(IRIS4D) && (SYSVREL < 4)
# define _sigextra_
/* 20 */ { "STOP", MSG_STOP },
/* 21 */ { "TSTP", MSG_TSTP },
/* 22 */ { "POLL", "Stream I/O pending" },
/* 23 */ { "IO", "Asynchronous I/O (select)"},
/* 24 */ { "URG", "Urgent condition on IO channel"},
/* 25 */ { "WINCH", "Window changed" },
/* 26 */ { "VTALRM", "Virtual time alarm" },
/* 27 */ { "PROF", "Profiling time alarm" },
/* 28 */ { "CONT", "Continued" },
/* 29 */ { "TTIN", MSG_TTIN },
/* 30 */ { "TTOU", MSG_TTOU },
/* 31 */ { 0, "Signal 31" },
/* 32 */ { 0, "Signal 32" },
# endif /* IRIS4D */
# if defined(IRIS3D) && (SYSVREL < 4)
# define _sigextra_
/* 20 */ { 0, "Signal 20" },
/* 21 */ { 0, "Signal 21" },
/* 22 */ { 0, "Signal 22" },
/* 23 */ { 0, "Signal 23" },
/* 24 */ { 0, "Signal 24" },
/* 25 */ { "WINCH", "Window changed" },
/* 26 */ { "IO", "Asynchronous I/O (select)"},
/* 27 */ { "URG", "Urgent condition on IO channel"},
/* 28 */ { "POLL", "Stream I/O pending" },
/* 29 */ { 0, "Signal 29" },
/* 30 */ { 0, "Signal 30" },
/* 31 */ { 0, "Signal 31" },
/* 32 */ { 0, "Signal 32" },
# endif /* IRIS3D */
# ifdef apollo
# define _sigextra_
/* 20 */ { "STOP", MSG_STOP },
/* 21 */ { "TSTP", MSG_TSTP },
/* 22 */ { "CONT", "Continued" },
/* 23 */ { "CHLD", "Child stopped or exited"},
/* 24 */ { "TTIN", MSG_TTIN },
/* 25 */ { "TTOU", MSG_TTOU },
/* 26 */ { "IO", "Asynchronous I/O (select)"},
/* 27 */ { "XCPU", "Cputime limit exceeded"},
/* 28 */ { "XFSZ", "Filesize limit exceeded"},
/* 29 */ { "VTALRM", "Virtual time alarm" },
/* 30 */ { "PROF", "Profiling time alarm" },
/* 31 */ { "URG", "Urgent condition on IO channel"},
/* 32 */ { "WINCH", "Window changed" },
# endif /* apollo */
# ifdef masscomp
# define _sigextra_
/* 20 */ { "STOP", MSG_STOP },
/* 21 */ { "TSTP", MSG_TSTP },
/* 22 */ { "CONT", "Continued" },
/* 23 */ { "TTIN", MSG_TTIN },
/* 24 */ { "TTOU", MSG_TTOU },
/* 25 */ { "TINT", "New input character" },
/* 26 */ { "XCPU", "Cputime limit exceeded"},
/* 27 */ { "XFSZ", "Filesize limit exceeded"},
/* 28 */ { "WINCH", "Window changed" },
/* 29 */ { "URG", "Urgent condition on IO channel"},
/* 30 */ { "VTALRM", "Virtual time alarm" },
/* 31 */ { "PROF", "Profiling time alarm" },
/* 32 */ { "IO", "Asynchronous I/O (select)"},
# endif /* masscomp */
# ifdef aiws
# define _sigextra_
/* 20 */ { 0, "Signal 20" },
/* 21 */ { 0, "Signal 21" },
/* 22 */ { 0, "Signal 22" },
/* 23 */ { "AIO", "LAN Asyncronous I/O" },
/* 24 */ { "PTY", "PTY read/write availability"},
/* 25 */ { "IOINT", "I/O intervention required"},
/* 26 */ { "GRANT", "monitor mode granted" },
/* 27 */ { "RETRACT", "monitor mode retracted"},
/* 28 */ { "WINCH", "Window size changed" },
/* 29 */ { 0, "Signal 29" },
/* 30 */ { "SOUND", "sound completed" },
/* 31 */ { "MSG", "input hft data pending"},
/* 32 */ { 0, "Signal 32" },
# endif /* aiws */
# if defined(m88k) || defined(__m88k__) /* Motorola 88100: POSIX/BCS signals */
# define _sigextra_
# define _64sig_
/* 20 */ { "WINCH", "Window changed" },
/* 21 */ { 0, "Signal 21" },
/* 22 */ { "POLL", "Stream I/O pending" },
/* 23 */ { "STOP", MSG_STOP },
/* 24 */ { "TSTP", MSG_TSTP },
/* 25 */ { "CONT", "Continued" },
/* 26 */ { "TTIN", MSG_TTIN },
/* 27 */ { "TTOU", MSG_TTOU },
/* 28 */ { 0, "Signal 28" },
/* 29 */ { 0, "Signal 29" },
/* 30 */ { 0, "Signal 30" },
/* 31 */ { 0, "Signal 31" },
/* 32 */ { 0, "Signal 32" },
/* 33 */ { "URG", "Urgent condition on IO channel"},
/* 34 */ { "IO", "Asynchronous I/O (select)"},
/* 35 */ { "XCPU", "Cputime limit exceeded"},
/* 36 */ { "XFSZ", "Filesize limit exceeded"},
/* 37 */ { "VTALRM", "Virtual time alarm" },
/* 38 */ { "PROF", "Profiling time alarm" },
/* 39 */ { 0, "Signal 39" },
/* 40 */ { "LOST", "Resource lost" },
/* 41 */ { 0, "Signal 41" },
/* 42 */ { 0, "Signal 42" },
/* 43 */ { 0, "Signal 43" },
/* 44 */ { 0, "Signal 44" },
/* 45 */ { 0, "Signal 45" },
/* 46 */ { 0, "Signal 46" },
/* 47 */ { 0, "Signal 47" },
/* 48 */ { 0, "Signal 48" },
/* 49 */ { 0, "Signal 49" },
/* 50 */ { 0, "Signal 50" },
/* 51 */ { 0, "Signal 51" },
/* 52 */ { 0, "Signal 52" },
/* 53 */ { 0, "Signal 53" },
/* 54 */ { 0, "Signal 54" },
/* 55 */ { 0, "Signal 55" },
/* 56 */ { 0, "Signal 56" },
/* 57 */ { 0, "Signal 57" },
/* 58 */ { 0, "Signal 58" },
/* 59 */ { 0, "Signal 59" },
/* 60 */ { 0, "Signal 60" },
/* 61 */ { 0, "Signal 61" },
/* 62 */ { 0, "Signal 62" },
/* 63 */ { 0, "Signal 63" },
/* 64 */ { 0, "Signal 64" },
# endif /* m88k || __m88k__ */
# ifdef IBMAIX
# define _sigextra_
# define _64sig_
/* 16 */ { "URG", "Urgent condition on IO channel"},
/* 17 */ { "STOP", MSG_STOP },
/* 18 */ { "TSTP", MSG_TSTP },
/* 19 */ { "CONT", "Continued" },
/* 20 */ { "CHLD", "Child exited" },
/* 21 */ { "TTIN", MSG_TTIN },
/* 22 */ { "TTOU", MSG_TTOU },
/* 23 */ { "IO", "IO possible interrupt" },
/* 24 */ { "XCPU", "Cputime limit exceeded"},
/* 25 */ { "XFSZ", "Filesize limit exceeded"},
/* 26 */ { 0, "Signal 26" },
/* 27 */ { "MSG", "Data in HFT ring buffer"},
/* 28 */ { "WINCH", "Window size changed" },
/* 29 */ { "PWR", "Power failure" },
/* 30 */ { "USR1", "User signal 1" },
/* 31 */ { "USR2", "User signal 2" },
/* 32 */ { "PROF", "Profiling time alarm" },
/* 33 */ { "DANGER", "System Crash Imminent" },
/* 34 */ { "VTALRM", "Virtual time alarm" },
/* 35 */ { "MIGRATE", "Migrate process" },
/* 36 */ { "PRE", "Programming exception" },
/* 37 */ { 0, "Signal 37" },
/* 38 */ { 0, "Signal 38" },
/* 39 */ { 0, "Signal 39" },
/* 40 */ { 0, "Signal 40" },
/* 41 */ { 0, "Signal 41" },
/* 42 */ { 0, "Signal 42" },
/* 43 */ { 0, "Signal 43" },
/* 44 */ { 0, "Signal 44" },
/* 45 */ { 0, "Signal 45" },
/* 46 */ { 0, "Signal 46" },
/* 47 */ { 0, "Signal 47" },
/* 48 */ { 0, "Signal 48" },
/* 49 */ { 0, "Signal 49" },
/* 50 */ { 0, "Signal 50" },
/* 51 */ { 0, "Signal 51" },
/* 52 */ { 0, "Signal 52" },
/* 53 */ { 0, "Signal 53" },
/* 54 */ { 0, "Signal 54" },
/* 55 */ { 0, "Signal 55" },
/* 56 */ { 0, "Signal 56" },
/* 57 */ { 0, "Signal 57" },
/* 58 */ { 0, "Signal 58" },
/* 59 */ { 0, "Signal 59" },
/* 60 */ { "GRANT", "HFT monitor mode granted"},
/* 61 */ { "RETRACT", "HFT monitor mode should be relinguished"},
/* 62 */ { "SOUND", "HFT sound control has completed"},
# ifdef SIGSAK
/* 63 */ { "SAK", "Secure attention key" },
# else
/* 63 */ { 0, "Signal 63" },
# endif
/* 64 */ { 0, "Signal 64" },
# endif /* IBMAIX */
# ifdef _SEQUENT_
# define _sigextra_
/* 20 */ { "WINCH", "Window changed" },
/* 21 */ { 0, "Signal 21" },
/* 22 */ { "POLL", "Stream I/O pending" },
/* 23 */ { "STOP", MSG_STOP },
/* 24 */ { "TSTP", MSG_TSTP },
/* 25 */ { "CONT", "Continued" },
/* 26 */ { "TTIN", MSG_TTIN },
/* 27 */ { "TTOU", MSG_TTOU },
/* 28 */ { 0, "Signal 28" },
/* 29 */ { 0, "Signal 29" },
/* 30 */ { 0, "Signal 30" },
/* 31 */ { 0, "Signal 31" },
/* 32 */ { 0, "Signal 32" },
# endif /* _SEQUENT_ */
# ifdef linux
# define _sigextra_
/* 16 */ { 0, "Signal 16" },
/* 17 */ { "CHLD", "Child exited" },
/* 18 */ { "CONT", "Continued" },
/* 19 */ { "STOP", MSG_STOP },
/* 20 */ { "TSTP", MSG_TSTP },
/* 21 */ { "TTIN", MSG_TTIN },
/* 22 */ { "TTOU", MSG_TTOU },
/* 23 */ { 0, "Signal 23" },
/* 24 */ { 0, "Signal 24" },
/* 25 */ { 0, "Signal 25" },
/* 26 */ { 0, "Signal 26" },
/* 27 */ { 0, "Signal 27" },
/* 28 */ { "WINCH", "Window changed" },
/* 29 */ { 0, "Signal 29" },
/* 30 */ { 0, "Signal 30" },
/* 31 */ { 0, "Signal 31" },
/* 32 */ { 0, "Signal 32" },
# endif /* linux */
# ifndef _sigextra_
# ifndef UNIXPC
/* 20 */ { 0, "Signal 20" },
/* 21 */ { 0, "Signal 21" },
# endif /* !UNIXPC */
/* 22 */ { 0, "Signal 22" },
/* 23 */ { 0, "Signal 23" },
/* 24 */ { 0, "Signal 24" },
/* 25 */ { 0, "Signal 25" },
/* 26 */ { 0, "Signal 26" },
/* 27 */ { 0, "Signal 27" },
/* 28 */ { 0, "Signal 28" },
/* 29 */ { 0, "Signal 29" },
/* 30 */ { 0, "Signal 30" },
/* 31 */ { 0, "Signal 31" },
/* 32 */ { 0, "Signal 32" },
# endif /* _sigextra_ */
#else /* bsd */
# ifdef _sigextra_
# undef _sigextra_
# endif /* _sigextra_ */
# ifdef _VMS_POSIX
# define _sigextra_
/* 16 */ { 0, "Signal 16" },
/* 17 */ { 0, "Signal 17" },
/* 18 */ { "USR1", "User defined signal 1" },
/* 19 */ { "USR2", "User defined signal 2" },
/* 20 */ { "CHLD", "Child exited" },
/* 21 */ { "CONT", "Continued" },
/* 22 */ { "STOP", MSG_STOP },
/* 23 */ { "TSTP", MSG_TSTP },
/* 24 */ { "TTIN", MSG_TTIN },
/* 25 */ { "TTOU", MSG_TTOU },
/* 26 */ { "DEBUG", "Signaling SS$_DEBUG" },
# else /* BSD */
/* 16 */ { "URG", "Urgent condition on IO channel"},
/* 17 */ { "STOP", MSG_STOP },
/* 18 */ { "TSTP", MSG_TSTP },
/* 19 */ { "CONT", "Continued" },
/* 20 */ { "CHLD", "Child exited" },
/* 21 */ { "TTIN", MSG_TTIN },
/* 22 */ { "TTOU", MSG_TTOU },
/* 23 */ { "IO", "IO possible interrupt" },
/* 24 */ { "XCPU", "Cputime limit exceeded"},
/* 25 */ { "XFSZ", "Filesize limit exceeded"},
/* 26 */ { "VTALRM", "Virtual time alarm" },
/* 27 */ { "PROF", "Profiling time alarm" },
# endif /* _VMS_POSIX */
# ifndef _sigextra_
# if defined(RENO) || defined(BSD4_4) || defined(__hp_osf)
# define _sigextra_
/* 28 */ { "WINCH", "Window size changed" },
/* 29 */ { "INFO", "Information request" },
/* 30 */ { "USR1", "User defined signal 1" },
/* 31 */ { "USR2", "User defined signal 2" },
/* 32 */ { 0, "Signal 32" },
# endif /* RENO || BSD4_4 || HPOSF1 */
# endif /* !_sigextra_ */
# ifndef _sigextra_
# if defined(SUNOS4) || defined(ultrix) || defined(hp9000) || defined(convex)
# define _sigextra_
/* 28 */ { "WINCH", "Window changed" },
/* 29 */ { "LOST", "Resource lost" },
/* 30 */ { "USR1", "User signal 1" },
/* 31 */ { "USR2", "User signal 2" },
/* 32 */ { 0, "Signal 32" },
# endif /* SUNOS4 || ultrix || hp9000 || convex */
# endif /* !_sigextra_ */
# ifndef _sigextra_
# ifdef pyr
# define _sigextra_
/* 28 */ { "USR1", "User signal 1" },
/* 29 */ { "USR2", "User signal 2" },
/* 30 */ { "PWR", "Power failure" },
/* 31 */ { 0, "Signal 31" },
/* 32 */ { 0, "Signal 32" },
# endif /* pyr */
# endif /* !_sigextra_ */
# ifndef _sigextra_
# ifdef Lynx
# define _sigextra_
/* 28 */ { "WINCH", "Window changed" },
/* 29 */ { 0, "Signal 29" },
/* 30 */ { 0, "Signal 30" },
/* 31 */ { "USR1", "User signal 1" },
/* 32 */ { "PRIO", "Priority changed" },
# endif /* Lynx */
# endif /* _sigextra_ */
# ifndef _sigextra_
/* 28 */ { "WINCH", "Window size changed" },
/* 29 */ { 0, "Signal 29" },
/* 30 */ { "USR1", "User defined signal 1" },
/* 31 */ { "USR2", "User defined signal 2" },
/* 32 */ { 0, "Signal 32" },
# endif /* _sigextra_ */
#endif /* (SYSVREL > 0) || DGUX || IBMAIX */
#if defined(POSIX) && !defined(_64sig_)
/* 33 */ { 0, "Signal 33" },
/* 34 */ { 0, "Signal 34" },
/* 35 */ { 0, "Signal 35" },
/* 36 */ { 0, "Signal 36" },
/* 37 */ { 0, "Signal 37" },
/* 38 */ { 0, "Signal 38" },
/* 39 */ { 0, "Signal 39" },
/* 40 */ { 0, "Signal 40" },
/* 41 */ { 0, "Signal 41" },
/* 42 */ { 0, "Signal 42" },
/* 43 */ { 0, "Signal 43" },
/* 44 */ { 0, "Signal 44" },
/* 45 */ { 0, "Signal 45" },
/* 46 */ { 0, "Signal 46" },
/* 47 */ { 0, "Signal 47" },
/* 48 */ { 0, "Signal 48" },
/* 49 */ { 0, "Signal 49" },
/* 50 */ { 0, "Signal 50" },
/* 51 */ { 0, "Signal 51" },
/* 52 */ { 0, "Signal 52" },
/* 53 */ { 0, "Signal 53" },
/* 54 */ { 0, "Signal 54" },
/* 55 */ { 0, "Signal 55" },
/* 56 */ { 0, "Signal 56" },
/* 57 */ { 0, "Signal 57" },
/* 58 */ { 0, "Signal 58" },
/* 59 */ { 0, "Signal 59" },
/* 60 */ { 0, "Signal 60" },
/* 61 */ { 0, "Signal 61" },
/* 62 */ { 0, "Signal 62" },
/* 63 */ { 0, "Signal 63" },
/* 64 */ { 0, "Signal 64" },
#endif /* POSIX && ! _64sig_ */
#ifdef POSIX
/* These are here for systems with bad NSIG */
/* 65 */ { 0, "Signal 65" }
#else /* !POSIX */
/* 33 */ { 0, "Signal 33" }
#endif /* POSIX */
};
int nsig = (sizeof(mesg) / sizeof(mesg[0])) - 1;