889 lines
28 KiB
C
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;
|