2004-07-11 02:17:56 +00:00
|
|
|
/* $Header: /src/pub/tcsh/sh.init.c,v 3.51 2004/02/21 20:34:25 christos Exp $ */
|
2000-04-15 04:41:27 +00:00
|
|
|
/*
|
|
|
|
* 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.
|
2002-07-24 16:23:10 +00:00
|
|
|
* 3. Neither the name of the University nor the names of its contributors
|
2000-04-15 04:41:27 +00:00
|
|
|
* 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"
|
|
|
|
|
2004-07-11 02:17:56 +00:00
|
|
|
RCSID("$Id: sh.init.c,v 3.51 2004/02/21 20:34:25 christos Exp $")
|
2000-04-15 04:41:27 +00:00
|
|
|
|
|
|
|
#include "ed.h"
|
|
|
|
#include "tw.h"
|
|
|
|
|
|
|
|
/*
|
|
|
|
* C shell
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define INF 0x7fffffff
|
|
|
|
|
|
|
|
struct biltins bfunc[] = {
|
|
|
|
{ ":", dozip, 0, INF },
|
|
|
|
{ "@", dolet, 0, INF },
|
|
|
|
{ "alias", doalias, 0, INF },
|
|
|
|
#ifdef OBSOLETE
|
|
|
|
{ "aliases", doaliases, 0, 1, },
|
|
|
|
#endif /* OBSOLETE */
|
|
|
|
{ "alloc", showall, 0, 1 },
|
|
|
|
#if defined(_CX_UX)
|
|
|
|
{ "att", doatt, 0, INF },
|
|
|
|
#endif /* _CX_UX */
|
|
|
|
{ "bg", dobg, 0, INF },
|
|
|
|
#ifdef OBSOLETE
|
|
|
|
{ "bind", dobind, 0, 2 },
|
|
|
|
#endif /* OBSOLETE */
|
|
|
|
{ "bindkey", dobindkey, 0, 8 },
|
|
|
|
{ "break", dobreak, 0, 0 },
|
|
|
|
{ "breaksw", doswbrk, 0, 0 },
|
2004-07-11 02:17:56 +00:00
|
|
|
#ifdef _OSD_POSIX
|
|
|
|
{ "bs2cmd", dobs2cmd, 1, INF },
|
|
|
|
#endif /* OBSOLETE */
|
2000-04-15 04:41:27 +00:00
|
|
|
{ "builtins", dobuiltins, 0, 0 },
|
|
|
|
#ifdef KAI
|
|
|
|
{ "bye", goodbye, 0, 0 },
|
|
|
|
#endif /* KAI */
|
|
|
|
{ "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 },
|
|
|
|
#if defined(_CRAY) && !defined(_CRAYMPP)
|
|
|
|
{ "dmmode", dodmmode, 0, 1 },
|
|
|
|
#endif /* _CRAY && !_CRAYMPP */
|
|
|
|
{ "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 },
|
|
|
|
{ "filetest", dofiletest, 2, INF },
|
|
|
|
{ "foreach", doforeach, 3, INF },
|
|
|
|
#ifdef TCF
|
|
|
|
{ "getspath", dogetspath, 0, 0 },
|
|
|
|
{ "getxvers", dogetxvers, 0, 0 },
|
|
|
|
#endif /* TCF */
|
|
|
|
{ "glob", doglob, 0, INF },
|
|
|
|
{ "goto", dogoto, 1, 1 },
|
|
|
|
{ "hashstat", hashstat, 0, 0 },
|
|
|
|
{ "history", dohist, 0, 2 },
|
|
|
|
{ "hup", dohup, 0, INF },
|
|
|
|
{ "if", doif, 1, INF },
|
|
|
|
#ifdef apollo
|
|
|
|
{ "inlib", doinlib, 1, INF },
|
|
|
|
#endif /* apollo */
|
|
|
|
{ "jobs", dojobs, 0, 1 },
|
|
|
|
{ "kill", dokill, 1, INF },
|
|
|
|
#ifndef HAVENOLIMIT
|
|
|
|
{ "limit", dolimit, 0, 3 },
|
|
|
|
#endif /* !HAVENOLIMIT */
|
|
|
|
#ifdef OBSOLETE
|
|
|
|
{ "linedit", doecho, 0, INF },
|
|
|
|
#endif /* OBSOLETE */
|
|
|
|
#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
|
2004-07-11 02:17:56 +00:00
|
|
|
{ "newgrp", donewgrp, 0, 2 },
|
2000-04-15 04:41:27 +00:00
|
|
|
#endif /* NEWGRP */
|
|
|
|
{ "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 },
|
|
|
|
{ "rehash", dohash, 0, 3 },
|
|
|
|
{ "repeat", dorepeat, 2, INF },
|
|
|
|
#ifdef apollo
|
|
|
|
{ "rootnode", dorootnode, 1, 1 },
|
|
|
|
#endif /* apollo */
|
|
|
|
{ "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 },
|
|
|
|
#if defined(_CX_UX)
|
|
|
|
{ "ucb", doucb, 0, INF },
|
|
|
|
#endif /* _CX_UX */
|
|
|
|
{ "umask", doumask, 0, 1 },
|
|
|
|
{ "unalias", unalias, 1, INF },
|
|
|
|
{ "uncomplete", douncomplete, 1, INF },
|
|
|
|
{ "unhash", dounhash, 0, 0 },
|
|
|
|
#if defined(masscomp) || defined(_CX_UX)
|
|
|
|
{ "universe", douniverse, 0, INF },
|
|
|
|
#endif /* masscomp || _CX_UX */
|
|
|
|
#ifndef HAVENOLIMIT
|
|
|
|
{ "unlimit", dounlimit, 0, INF },
|
|
|
|
#endif /* !HAVENOLIMIT */
|
|
|
|
{ "unset", unset, 1, INF },
|
|
|
|
{ "unsetenv", dounsetenv, 1, INF },
|
|
|
|
#ifdef apollo
|
|
|
|
{ "ver", dover, 0, INF },
|
|
|
|
#endif /* apollo */
|
|
|
|
{ "wait", dowait, 0, 0 },
|
|
|
|
#ifdef WARP
|
|
|
|
{ "warp", dowarp, 0, 2 },
|
|
|
|
#endif /* WARP */
|
|
|
|
#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;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Note: For some machines, (hpux eg.)
|
|
|
|
* NSIG = number of signals + 1...
|
|
|
|
* so we define 33 or 65 (POSIX) signals for
|
|
|
|
* everybody
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* We define NUMSIG to avoid changing NSIG or MAXSIG */
|
|
|
|
#ifdef POSIX
|
|
|
|
# define NUMSIG 65
|
|
|
|
#else /* !POSIX */
|
|
|
|
# define NUMSIG 33
|
|
|
|
#endif /* POSIX */
|
|
|
|
|
|
|
|
int nsig = NUMSIG - 1; /* This should be the number of real signals */
|
|
|
|
/* not counting signal 0 */
|
|
|
|
struct mesg mesg[NUMSIG]; /* Arrays start at [0] so we initialize from */
|
|
|
|
/* 0 to 32 or 64, the max real signal number */
|
|
|
|
|
|
|
|
void
|
|
|
|
mesginit()
|
|
|
|
{
|
|
|
|
|
|
|
|
#ifdef NLS_CATALOGS
|
|
|
|
int i;
|
|
|
|
|
|
|
|
for (i = 0; i < NUMSIG; i++) {
|
|
|
|
xfree((ptr_t) mesg[i].pname);
|
|
|
|
mesg[i].pname = NULL;
|
|
|
|
}
|
|
|
|
#endif /* NLS_CATALOGS */
|
|
|
|
|
|
|
|
#if defined(SIGNULL) || defined(DECOSF1)
|
|
|
|
# ifndef SIGNULL
|
|
|
|
# define SIGNULL 0
|
|
|
|
# endif /* !SIGNULL */
|
|
|
|
if (mesg[SIGNULL].pname == NULL) {
|
|
|
|
mesg[SIGNULL].iname = "NULL";
|
|
|
|
mesg[SIGNULL].pname = CSAVS(2, 1, "Null signal");
|
|
|
|
}
|
|
|
|
#endif /* SIGNULL || DECOSF1 */
|
|
|
|
|
|
|
|
#ifdef SIGHUP
|
|
|
|
if (mesg[SIGHUP].pname == NULL) {
|
|
|
|
mesg[SIGHUP].iname = "HUP";
|
|
|
|
mesg[SIGHUP].pname = CSAVS(2, 2, "Hangup");
|
|
|
|
}
|
|
|
|
#endif /* SIGHUP */
|
|
|
|
|
|
|
|
#ifdef SIGINT
|
|
|
|
if (mesg[SIGINT].pname == NULL) {
|
|
|
|
mesg[SIGINT].iname = "INT";
|
|
|
|
mesg[SIGINT].pname = CSAVS(2, 3, "Interrupt");
|
|
|
|
}
|
|
|
|
#endif /* SIGINT */
|
|
|
|
|
|
|
|
#ifdef SIGQUIT
|
|
|
|
if (mesg[SIGQUIT].pname == NULL) {
|
|
|
|
mesg[SIGQUIT].iname = "QUIT";
|
|
|
|
mesg[SIGQUIT].pname = CSAVS(2, 4, "Quit");
|
|
|
|
}
|
|
|
|
#endif /* SIGQUIT */
|
|
|
|
|
|
|
|
#ifdef SIGILL
|
|
|
|
if (mesg[SIGILL].pname == NULL) {
|
|
|
|
mesg[SIGILL].iname = "ILL";
|
|
|
|
mesg[SIGILL].pname = CSAVS(2, 5, "Illegal instruction");
|
|
|
|
}
|
|
|
|
#endif /* SIGILL */
|
|
|
|
|
|
|
|
#ifdef SIGTRAP
|
|
|
|
if (mesg[SIGTRAP].pname == NULL) {
|
|
|
|
mesg[SIGTRAP].iname = "TRAP";
|
|
|
|
mesg[SIGTRAP].pname = CSAVS(2, 6, "Trace/BPT trap");
|
|
|
|
}
|
|
|
|
#endif /* SIGTRAP */
|
|
|
|
|
|
|
|
#ifdef SIGABRT
|
|
|
|
if (mesg[SIGABRT].pname == NULL) {
|
|
|
|
mesg[SIGABRT].iname = "ABRT";
|
|
|
|
mesg[SIGABRT].pname = CSAVS(2, 7, "Abort");
|
|
|
|
}
|
|
|
|
#endif /* SIGABRT */
|
|
|
|
|
|
|
|
#ifdef SIGIOT
|
|
|
|
if (mesg[SIGIOT].pname == NULL) {
|
|
|
|
mesg[SIGIOT].iname = "IOT";
|
|
|
|
mesg[SIGIOT].pname = CSAVS(2, 8, "IOT trap");
|
|
|
|
}
|
|
|
|
#endif /* SIGIOT */
|
|
|
|
|
|
|
|
#ifdef SIGDANGER
|
|
|
|
/* aiws */
|
|
|
|
if (mesg[SIGDANGER].pname == NULL) {
|
|
|
|
mesg[SIGDANGER].iname = "DANGER";
|
|
|
|
mesg[SIGDANGER].pname = CSAVS(2, 9, "System Crash Imminent");
|
|
|
|
}
|
|
|
|
#endif /* SIGDANGER */
|
|
|
|
|
|
|
|
#ifdef SIGERR
|
|
|
|
/* _CRAY */
|
|
|
|
if (mesg[SIGERR].pname == NULL) {
|
|
|
|
mesg[SIGERR].iname = "ERR";
|
|
|
|
mesg[SIGERR].pname = CSAVS(2, 10, "Error exit");
|
|
|
|
}
|
|
|
|
#endif /* SIGERR */
|
|
|
|
|
|
|
|
#ifdef SIGEMT
|
|
|
|
if (mesg[SIGEMT].pname == NULL) {
|
|
|
|
mesg[SIGEMT].iname = "EMT";
|
|
|
|
mesg[SIGEMT].pname = CSAVS(2, 11, "EMT trap");
|
|
|
|
}
|
|
|
|
#endif /* SIGEMT */
|
|
|
|
|
|
|
|
#ifdef SIGFPE
|
|
|
|
if (mesg[SIGFPE].pname == NULL) {
|
|
|
|
mesg[SIGFPE].iname = "FPE";
|
|
|
|
mesg[SIGFPE].pname = CSAVS(2, 12, "Floating exception");
|
|
|
|
}
|
|
|
|
#endif /* SIGFPE */
|
|
|
|
|
|
|
|
#ifdef SIGKILL
|
|
|
|
if (mesg[SIGKILL].pname == NULL) {
|
|
|
|
mesg[SIGKILL].iname = "KILL";
|
|
|
|
mesg[SIGKILL].pname = CSAVS(2, 13, "Killed");
|
|
|
|
}
|
|
|
|
#endif /* SIGKILL */
|
|
|
|
|
|
|
|
#ifdef SIGUSR1
|
|
|
|
if (mesg[SIGUSR1].pname == NULL) {
|
|
|
|
mesg[SIGUSR1].iname = "USR1";
|
|
|
|
mesg[SIGUSR1].pname = CSAVS(2, 14, "User signal 1");
|
|
|
|
}
|
|
|
|
#endif /* SIGUSR1 */
|
|
|
|
|
|
|
|
#ifdef SIGUSR2
|
|
|
|
if (mesg[SIGUSR2].pname == NULL) {
|
|
|
|
mesg[SIGUSR2].iname = "USR2";
|
|
|
|
mesg[SIGUSR2].pname = CSAVS(2, 15, "User signal 2");
|
|
|
|
}
|
|
|
|
#endif /* SIGUSR2 */
|
|
|
|
|
|
|
|
#ifdef SIGSEGV
|
|
|
|
if (mesg[SIGSEGV].pname == NULL) {
|
|
|
|
mesg[SIGSEGV].iname = "SEGV";
|
|
|
|
mesg[SIGSEGV].pname = CSAVS(2, 16, "Segmentation fault");
|
|
|
|
}
|
|
|
|
#endif /* SIGSEGV */
|
|
|
|
|
|
|
|
#ifdef SIGBUS
|
|
|
|
if (mesg[SIGBUS].pname == NULL) {
|
|
|
|
mesg[SIGBUS].iname = "BUS";
|
|
|
|
mesg[SIGBUS].pname = CSAVS(2, 17, "Bus error");
|
|
|
|
}
|
|
|
|
#endif /* SIGBUS */
|
|
|
|
|
|
|
|
#ifdef SIGPRE
|
|
|
|
/* _CRAY || IBMAIX */
|
|
|
|
if (mesg[SIGPRE].pname == NULL) {
|
|
|
|
mesg[SIGPRE].iname = "PRE";
|
|
|
|
mesg[SIGPRE].pname = CSAVS(2, 18, "Program range error");
|
|
|
|
}
|
|
|
|
#endif /* SIGPRE */
|
|
|
|
|
|
|
|
#ifdef SIGORE
|
|
|
|
/* _CRAY */
|
|
|
|
if (mesg[SIGORE].pname == NULL) {
|
|
|
|
mesg[SIGORE].iname = "ORE";
|
|
|
|
mesg[SIGORE].pname = CSAVS(2, 19, "Operand range error");
|
|
|
|
}
|
|
|
|
#endif /* SIGORE */
|
|
|
|
|
|
|
|
#ifdef SIGSYS
|
|
|
|
if (mesg[SIGSYS].pname == NULL) {
|
|
|
|
mesg[SIGSYS].iname = "SYS";
|
|
|
|
mesg[SIGSYS].pname = CSAVS(2, 20, "Bad system call");
|
|
|
|
}
|
|
|
|
#endif /* SIGSYS */
|
|
|
|
|
|
|
|
#ifdef SIGPIPE
|
|
|
|
if (mesg[SIGPIPE].pname == NULL) {
|
|
|
|
mesg[SIGPIPE].iname = "PIPE";
|
|
|
|
mesg[SIGPIPE].pname = CSAVS(2, 21, "Broken pipe");
|
|
|
|
}
|
|
|
|
#endif /* SIGPIPE */
|
|
|
|
|
|
|
|
#ifdef SIGALRM
|
|
|
|
if (mesg[SIGALRM].pname == NULL) {
|
|
|
|
mesg[SIGALRM].iname = "ALRM";
|
|
|
|
mesg[SIGALRM].pname = CSAVS(2, 22, "Alarm clock");
|
|
|
|
}
|
|
|
|
#endif /* SIGALRM */
|
|
|
|
|
|
|
|
#ifdef SIGTERM
|
|
|
|
if (mesg[SIGTERM].pname == NULL) {
|
|
|
|
mesg[SIGTERM].iname = "TERM";
|
|
|
|
mesg[SIGTERM].pname = CSAVS(2, 23, "Terminated");
|
|
|
|
}
|
|
|
|
#endif /* SIGTERM */
|
|
|
|
|
|
|
|
/* SIGCLD vs SIGCHLD */
|
|
|
|
#if !defined(SIGCHLD) || defined(SOLARIS2) || defined(apollo) || defined(__EMX__)
|
|
|
|
/* If we don't define SIGCHLD, or our OS prefers SIGCLD to SIGCHLD, */
|
|
|
|
/* check for SIGCLD */
|
|
|
|
# ifdef SIGCLD
|
|
|
|
if (mesg[SIGCLD].pname == NULL) {
|
|
|
|
mesg[SIGCLD].iname = "CLD";
|
|
|
|
# ifdef BSDJOBS
|
|
|
|
mesg[SIGCLD].pname = CSAVS(2, 24, "Child status change");
|
|
|
|
# else /* !BSDJOBS */
|
|
|
|
mesg[SIGCLD].pname = CSAVS(2, 25, "Death of child");
|
|
|
|
# endif /* BSDJOBS */
|
|
|
|
}
|
|
|
|
# endif /* SIGCLD */
|
|
|
|
#else /* !(!SIGCHLD || SOLARIS2 || apollo || __EMX__) */
|
|
|
|
/* We probably define SIGCHLD */
|
|
|
|
# ifdef SIGCHLD
|
|
|
|
if (mesg[SIGCHLD].pname == NULL) {
|
|
|
|
mesg[SIGCHLD].iname = "CHLD";
|
|
|
|
# ifdef BSDJOBS
|
|
|
|
mesg[SIGCHLD].pname = CSAVS(2, 27, "Child stopped or exited");
|
|
|
|
# else /* !BSDJOBS */
|
|
|
|
mesg[SIGCHLD].pname = CSAVS(2, 28, "Child exited");
|
|
|
|
# endif /* BSDJOBS */
|
|
|
|
}
|
|
|
|
# endif /* SIGCHLD */
|
|
|
|
#endif /* !SIGCHLD || SOLARIS2 || apollo || __EMX__ */
|
|
|
|
|
|
|
|
#ifdef SIGAPOLLO
|
|
|
|
/* apollo */
|
|
|
|
if (mesg[SIGAPOLLO].pname == NULL) {
|
|
|
|
mesg[SIGAPOLLO].iname = "APOLLO";
|
|
|
|
mesg[SIGAPOLLO].pname = CSAVS(2, 26, "Apollo-specific fault");
|
|
|
|
}
|
|
|
|
#endif /* SIGAPOLLO */
|
|
|
|
|
|
|
|
#ifdef SIGPWR
|
|
|
|
if (mesg[SIGPWR].pname == NULL) {
|
|
|
|
mesg[SIGPWR].iname = "PWR";
|
|
|
|
mesg[SIGPWR].pname = CSAVS(2, 29, "Power failure");
|
|
|
|
}
|
|
|
|
#endif /* SIGPWR */
|
|
|
|
|
|
|
|
#ifdef SIGLOST
|
|
|
|
if (mesg[SIGLOST].pname == NULL) {
|
|
|
|
mesg[SIGLOST].iname = "LOST";
|
|
|
|
mesg[SIGLOST].pname = CSAVS(2, 30, "Resource Lost");
|
|
|
|
}
|
|
|
|
#endif /* SIGLOST */
|
|
|
|
|
|
|
|
#ifdef SIGBREAK
|
|
|
|
/* __EMX__ */
|
|
|
|
if (mesg[SIGBREAK].pname == NULL) {
|
|
|
|
mesg[SIGBREAK].iname = "BREAK";
|
|
|
|
mesg[SIGBREAK].pname = CSAVS(2, 31, "Break (Ctrl-Break)");
|
|
|
|
}
|
|
|
|
#endif /* SIGBREAK */
|
|
|
|
|
|
|
|
#ifdef SIGIO
|
|
|
|
# if !defined(SIGPOLL) || SIGPOLL != SIGIO
|
|
|
|
if (mesg[SIGIO].pname == NULL) {
|
|
|
|
mesg[SIGIO].iname = "IO";
|
|
|
|
# ifdef cray
|
|
|
|
mesg[SIGIO].pname = CSAVS(2, 32, "Input/output possible signal");
|
|
|
|
# else /* !cray */
|
|
|
|
mesg[SIGIO].pname = CSAVS(2, 33, "Asynchronous I/O (select)");
|
|
|
|
# endif /* cray */
|
|
|
|
}
|
|
|
|
# endif /* !SIGPOLL || SIGPOLL != SIGIO */
|
|
|
|
#endif /* SIGIO */
|
|
|
|
|
|
|
|
#ifdef SIGURG
|
|
|
|
if (mesg[SIGURG].pname == NULL) {
|
|
|
|
mesg[SIGURG].iname = "URG";
|
|
|
|
mesg[SIGURG].pname = CSAVS(2, 34, "Urgent condition on I/O channel");
|
|
|
|
}
|
|
|
|
#endif /* SIGURG */
|
|
|
|
|
|
|
|
#ifdef SIGMT
|
|
|
|
/* cray */
|
|
|
|
if (mesg[SIGMT].pname == NULL) {
|
|
|
|
mesg[SIGMT].iname = "MT";
|
|
|
|
mesg[SIGMT].pname = CSAVS(2, 35, "Multitasking wake-up");
|
|
|
|
}
|
|
|
|
#endif /* SIGMT */
|
|
|
|
|
|
|
|
#ifdef SIGMTKILL
|
|
|
|
/* cray */
|
|
|
|
if (mesg[SIGMTKILL].pname == NULL) {
|
|
|
|
mesg[SIGMTKILL].iname = "MTKILL";
|
|
|
|
mesg[SIGMTKILL].pname = CSAVS(2, 36, "Multitasking kill");
|
|
|
|
}
|
|
|
|
#endif /* SIGMTKILL */
|
|
|
|
|
|
|
|
#ifdef SIGBUFIO
|
|
|
|
/* _CRAYCOM */
|
|
|
|
if (mesg[SIGBUFIO].pname == NULL) {
|
|
|
|
mesg[SIGBUFIO].iname = "BUFIO";
|
|
|
|
mesg[SIGBUFIO].pname = CSAVS(2, 37,
|
|
|
|
"Fortran asynchronous I/O completion");
|
|
|
|
}
|
|
|
|
#endif /* SIGBUFIO */
|
|
|
|
|
|
|
|
#ifdef SIGRECOVERY
|
|
|
|
/* _CRAYCOM */
|
|
|
|
if (mesg[SIGRECOVERY].pname == NULL) {
|
|
|
|
mesg[SIGRECOVERY].iname = "RECOVERY";
|
|
|
|
mesg[SIGRECOVERY].pname = CSAVS(2, 38, "Recovery");
|
|
|
|
}
|
|
|
|
#endif /* SIGRECOVERY */
|
|
|
|
|
|
|
|
#ifdef SIGUME
|
|
|
|
/* _CRAYCOM */
|
|
|
|
if (mesg[SIGUME].pname == NULL) {
|
|
|
|
mesg[SIGUME].iname = "UME";
|
|
|
|
mesg[SIGUME].pname = CSAVS(2, 39, "Uncorrectable memory error");
|
|
|
|
}
|
|
|
|
#endif /* SIGUME */
|
|
|
|
|
|
|
|
#ifdef SIGCPULIM
|
|
|
|
/* _CRAYCOM */
|
|
|
|
if (mesg[SIGCPULIM].pname == NULL) {
|
|
|
|
mesg[SIGCPULIM].iname = "CPULIM";
|
|
|
|
mesg[SIGCPULIM].pname = CSAVS(2, 40, "CPU time limit exceeded");
|
|
|
|
}
|
|
|
|
#endif /* SIGCPULIM */
|
|
|
|
|
|
|
|
#ifdef SIGSHUTDN
|
|
|
|
/* _CRAYCOM */
|
|
|
|
if (mesg[SIGSHUTDN].pname == NULL) {
|
|
|
|
mesg[SIGSHUTDN].iname = "SHUTDN";
|
|
|
|
mesg[SIGSHUTDN].pname = CSAVS(2, 41, "System shutdown imminent");
|
|
|
|
}
|
|
|
|
#endif /* SIGSHUTDN */
|
|
|
|
|
|
|
|
#ifdef SIGNOWAK
|
|
|
|
/* _CRAYCOM */
|
|
|
|
if (mesg[SIGNOWAK].pname == NULL) {
|
|
|
|
mesg[SIGNOWAK].iname = "NOWAK";
|
|
|
|
mesg[SIGNOWAK].pname = CSAVS(2, 42,
|
|
|
|
"Micro-tasking group-no wakeup flag set");
|
|
|
|
}
|
|
|
|
#endif /* SIGNOWAK */
|
|
|
|
|
|
|
|
#ifdef SIGTHERR
|
|
|
|
/* _CRAYCOM */
|
|
|
|
if (mesg[SIGTHERR].pname == NULL) {
|
|
|
|
mesg[SIGTHERR].iname = "THERR";
|
|
|
|
mesg[SIGTHERR].pname = CSAVS(2, 43,
|
|
|
|
"Thread error - (use cord -T for detailed info)");
|
|
|
|
}
|
|
|
|
#endif /* SIGTHERR */
|
|
|
|
|
|
|
|
#ifdef SIGRPE
|
|
|
|
/* cray */
|
|
|
|
if (mesg[SIGRPE].pname == NULL) {
|
|
|
|
mesg[SIGRPE].pname = CSAVS(2, 44, "CRAY Y-MP register parity error");
|
|
|
|
mesg[SIGRPE].iname = "RPE";
|
|
|
|
}
|
|
|
|
#endif /* SIGRPE */
|
|
|
|
|
|
|
|
#ifdef SIGINFO
|
|
|
|
if (mesg[SIGINFO].pname == NULL) {
|
|
|
|
mesg[SIGINFO].iname = "INFO";
|
|
|
|
mesg[SIGINFO].pname = CSAVS(2, 45, "Information request");
|
|
|
|
}
|
|
|
|
#endif /* SIGINFO */
|
|
|
|
|
|
|
|
#ifdef SIGSTOP
|
|
|
|
if (mesg[SIGSTOP].pname == NULL) {
|
|
|
|
mesg[SIGSTOP].iname = "STOP";
|
|
|
|
# ifdef SUSPENDED
|
|
|
|
mesg[SIGSTOP].pname = CSAVS(2, 46, "Suspended (signal)");
|
|
|
|
# else /* !SUSPENDED */
|
|
|
|
mesg[SIGSTOP].pname = CSAVS(2, 47, "Stopped (signal)");
|
|
|
|
# endif /* SUSPENDED */
|
|
|
|
}
|
|
|
|
#endif /* SIGSTOP */
|
|
|
|
|
|
|
|
#ifdef SIGTSTP
|
|
|
|
if (mesg[SIGTSTP].pname == NULL) {
|
|
|
|
mesg[SIGTSTP].iname = "TSTP";
|
|
|
|
# ifdef SUSPENDED
|
|
|
|
mesg[SIGTSTP].pname = CSAVS(2, 48, "Suspended");
|
|
|
|
# else /* !SUSPENDED */
|
|
|
|
mesg[SIGTSTP].pname = CSAVS(2, 49, "Stopped");
|
|
|
|
# endif /* SUSPENDED */
|
|
|
|
}
|
|
|
|
#endif /* SIGTSTP */
|
|
|
|
|
|
|
|
#ifdef SIGCONT
|
|
|
|
if (mesg[SIGCONT].pname == NULL) {
|
|
|
|
mesg[SIGCONT].iname = "CONT";
|
|
|
|
mesg[SIGCONT].pname = CSAVS(2, 50, "Continued");
|
|
|
|
}
|
|
|
|
#endif /* SIGCONT */
|
|
|
|
|
|
|
|
#ifdef SIGTTIN
|
|
|
|
if (mesg[SIGTTIN].pname == NULL) {
|
|
|
|
mesg[SIGTTIN].iname = "TTIN";
|
|
|
|
# ifdef SUSPENDED
|
|
|
|
mesg[SIGTTIN].pname = CSAVS(2, 51, "Suspended (tty input)");
|
|
|
|
# else /* !SUSPENDED */
|
|
|
|
mesg[SIGTTIN].pname = CSAVS(2, 52, "Stopped (tty input)");
|
|
|
|
# endif /* SUSPENDED */
|
|
|
|
}
|
|
|
|
#endif /* SIGTTIN */
|
|
|
|
|
|
|
|
#ifdef SIGTTOU
|
|
|
|
if (mesg[SIGTTOU].pname == NULL) {
|
|
|
|
mesg[SIGTTOU].iname = "TTOU";
|
|
|
|
# ifdef SUSPENDED
|
|
|
|
mesg[SIGTTOU].pname = CSAVS(2, 53, "Suspended (tty output)");
|
|
|
|
# else /* SUSPENDED */
|
|
|
|
mesg[SIGTTOU].pname = CSAVS(2, 54, "Stopped (tty output)");
|
|
|
|
# endif /* SUSPENDED */
|
|
|
|
}
|
|
|
|
#endif /* SIGTTOU */
|
|
|
|
|
|
|
|
#ifdef SIGWIND
|
|
|
|
/* UNIXPC */
|
|
|
|
if (mesg[SIGWIND].pname == NULL) {
|
|
|
|
mesg[SIGWIND].iname = "WIND";
|
|
|
|
mesg[SIGWIND].pname = CSAVS(2, 55, "Window status changed");
|
|
|
|
}
|
|
|
|
#endif /* SIGWIND */
|
|
|
|
|
|
|
|
#ifdef SIGWINDOW
|
|
|
|
if (mesg[SIGWINDOW].pname == NULL) {
|
|
|
|
mesg[SIGWINDOW].iname = "WINDOW";
|
|
|
|
mesg[SIGWINDOW].pname = CSAVS(2, 56, "Window size changed");
|
|
|
|
}
|
|
|
|
#endif /* SIGWINDOW */
|
|
|
|
|
|
|
|
#ifdef SIGWINCH
|
|
|
|
if (mesg[SIGWINCH].pname == NULL) {
|
|
|
|
mesg[SIGWINCH].iname = "WINCH";
|
|
|
|
mesg[SIGWINCH].pname = CSAVS(2, 56, "Window size changed");
|
|
|
|
}
|
|
|
|
#endif /* SIGWINCH */
|
|
|
|
|
|
|
|
#ifdef SIGPHONE
|
|
|
|
/* UNIXPC */
|
|
|
|
if (mesg[SIGPHONE].pname == NULL) {
|
|
|
|
mesg[SIGPHONE].iname = "PHONE";
|
|
|
|
mesg[SIGPHONE].pname = CSAVS(2, 57, "Phone status changed");
|
|
|
|
}
|
|
|
|
# endif /* SIGPHONE */
|
|
|
|
|
|
|
|
#ifdef SIGXCPU
|
|
|
|
if (mesg[SIGXCPU].pname == NULL) {
|
|
|
|
mesg[SIGXCPU].iname = "XCPU";
|
|
|
|
mesg[SIGXCPU].pname = CSAVS(2, 58, "Cputime limit exceeded");
|
|
|
|
}
|
|
|
|
#endif /* SIGXCPU */
|
|
|
|
|
|
|
|
#ifdef SIGXFSZ
|
|
|
|
if (mesg[SIGXFSZ].pname == NULL) {
|
|
|
|
mesg[SIGXFSZ].iname = "XFSZ";
|
|
|
|
mesg[SIGXFSZ].pname = CSAVS(2, 59, "Filesize limit exceeded");
|
|
|
|
}
|
|
|
|
#endif /* SIGXFSZ */
|
|
|
|
|
|
|
|
#ifdef SIGVTALRM
|
|
|
|
if (mesg[SIGVTALRM].pname == NULL) {
|
|
|
|
mesg[SIGVTALRM].iname = "VTALRM";
|
|
|
|
mesg[SIGVTALRM].pname = CSAVS(2, 60, "Virtual time alarm");
|
|
|
|
}
|
|
|
|
#endif /* SIGVTALRM */
|
|
|
|
|
|
|
|
#ifdef SIGPROF
|
|
|
|
if (mesg[SIGPROF].pname == NULL) {
|
|
|
|
mesg[SIGPROF].iname = "PROF";
|
|
|
|
mesg[SIGPROF].pname = CSAVS(2, 61, "Profiling time alarm");
|
|
|
|
}
|
|
|
|
#endif /* SIGPROF */
|
|
|
|
|
|
|
|
#ifdef SIGDIL
|
|
|
|
/* hpux */
|
|
|
|
if (mesg[SIGDIL].pname == NULL) {
|
|
|
|
mesg[SIGDIL].iname = "DIL";
|
|
|
|
mesg[SIGDIL].pname = CSAVS(2, 62, "DIL signal");
|
|
|
|
}
|
|
|
|
#endif /* SIGDIL */
|
|
|
|
|
|
|
|
#ifdef SIGPOLL
|
|
|
|
if (mesg[SIGPOLL].pname == NULL) {
|
|
|
|
mesg[SIGPOLL].iname = "POLL";
|
|
|
|
mesg[SIGPOLL].pname = CSAVS(2, 63, "Pollable event occured");
|
|
|
|
}
|
|
|
|
#endif /* SIGPOLL */
|
|
|
|
|
|
|
|
#ifdef SIGWAITING
|
|
|
|
/* solaris */
|
|
|
|
if (mesg[SIGWAITING].pname == NULL) {
|
|
|
|
mesg[SIGWAITING].iname = "WAITING";
|
|
|
|
mesg[SIGWAITING].pname = CSAVS(2, 64, "Process's lwps are blocked");
|
|
|
|
}
|
|
|
|
#endif /* SIGWAITING */
|
|
|
|
|
|
|
|
#ifdef SIGLWP
|
|
|
|
/* solaris */
|
|
|
|
if (mesg[SIGLWP].pname == NULL) {
|
|
|
|
mesg[SIGLWP].iname = "LWP";
|
|
|
|
mesg[SIGLWP].pname = CSAVS(2, 65, "Special LWP signal");
|
|
|
|
}
|
|
|
|
#endif /* SIGLWP */
|
|
|
|
|
|
|
|
#ifdef SIGFREEZE
|
|
|
|
/* solaris */
|
|
|
|
if (mesg[SIGFREEZE].pname == NULL) {
|
|
|
|
mesg[SIGFREEZE].iname = "FREEZE";
|
|
|
|
mesg[SIGFREEZE].pname = CSAVS(2, 66, "Special CPR Signal");
|
|
|
|
}
|
|
|
|
#endif /* SIGFREEZE */
|
|
|
|
|
|
|
|
#ifdef SIGTHAW
|
|
|
|
/* solaris */
|
|
|
|
if (mesg[SIGTHAW].pname == NULL) {
|
|
|
|
mesg[SIGTHAW].iname = "THAW";
|
|
|
|
mesg[SIGTHAW].pname = CSAVS(2, 67, "Special CPR Signal");
|
|
|
|
}
|
|
|
|
#endif /* SIGTHAW */
|
|
|
|
|
|
|
|
#ifdef SIGCANCEL
|
|
|
|
/* solaris */
|
|
|
|
if (mesg[SIGCANCEL].pname == NULL) {
|
|
|
|
mesg[SIGCANCEL].iname = "CANCEL";
|
|
|
|
mesg[SIGCANCEL].pname = CSAVS(2, 109,
|
|
|
|
"Thread cancellation signal used by libthread");
|
|
|
|
}
|
|
|
|
#endif /* SIGCANCEL */
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Careful, some OS's (HP/UX 10.0) define these as -1
|
|
|
|
*/
|
|
|
|
#ifdef SIGRTMIN
|
|
|
|
/*
|
|
|
|
* Cannot do this at compile time; Solaris2 uses _sysconf for these
|
|
|
|
*/
|
|
|
|
if (SIGRTMIN > 0 && SIGRTMIN < NUMSIG) {
|
|
|
|
if (mesg[SIGRTMIN].pname == NULL) {
|
|
|
|
mesg[SIGRTMIN].iname = "RTMIN";
|
|
|
|
mesg[SIGRTMIN].pname = CSAVS(2, 68, "First Realtime Signal");
|
|
|
|
}
|
|
|
|
|
|
|
|
if (mesg[SIGRTMIN+1].pname == NULL) {
|
|
|
|
mesg[SIGRTMIN+1].iname = "RTMIN+1";
|
|
|
|
mesg[SIGRTMIN+1].pname = CSAVS(2, 69, "Second Realtime Signal");
|
|
|
|
}
|
|
|
|
|
|
|
|
if (mesg[SIGRTMIN+2].pname == NULL) {
|
|
|
|
mesg[SIGRTMIN+2].iname = "RTMIN+2";
|
|
|
|
mesg[SIGRTMIN+2].pname = CSAVS(2, 70, "Third Realtime Signal");
|
|
|
|
}
|
|
|
|
|
|
|
|
if (mesg[SIGRTMIN+3].pname == NULL) {
|
|
|
|
mesg[SIGRTMIN+3].iname = "RTMIN+3";
|
|
|
|
mesg[SIGRTMIN+3].pname = CSAVS(2, 71, "Fourth Realtime Signal");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* SIGRTMIN */
|
|
|
|
|
|
|
|
#ifdef SIGRTMAX
|
|
|
|
/*
|
|
|
|
* Cannot do this at compile time; Solaris2 uses _sysconf for these
|
|
|
|
*/
|
|
|
|
if (SIGRTMAX > 0 && SIGRTMAX < NUMSIG) {
|
|
|
|
if (mesg[SIGRTMAX-3].pname == NULL) {
|
|
|
|
mesg[SIGRTMAX-3].iname = "RTMAX-3";
|
|
|
|
mesg[SIGRTMAX-3].pname = CSAVS(2, 72,
|
|
|
|
"Fourth Last Realtime Signal");
|
|
|
|
}
|
|
|
|
|
|
|
|
if (mesg[SIGRTMAX-2].pname == NULL) {
|
|
|
|
mesg[SIGRTMAX-2].iname = "RTMAX-2";
|
|
|
|
mesg[SIGRTMAX-2].pname = CSAVS(2, 73,
|
|
|
|
"Third Last Realtime Signal");
|
|
|
|
}
|
|
|
|
|
|
|
|
if (mesg[SIGRTMAX-1].pname == NULL) {
|
|
|
|
mesg[SIGRTMAX-1].iname = "RTMAX-1";
|
|
|
|
mesg[SIGRTMAX-1].pname = CSAVS(2, 74,
|
|
|
|
"Second Last Realtime Signal");
|
|
|
|
}
|
|
|
|
|
|
|
|
if (mesg[SIGRTMAX].pname == NULL) {
|
|
|
|
mesg[SIGRTMAX].iname = "RTMAX";
|
|
|
|
mesg[SIGRTMAX].pname = CSAVS(2, 75,
|
|
|
|
"Last Realtime Signal");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* SIGRTMAX */
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef SIGAIO
|
|
|
|
/* aiws */
|
|
|
|
if (mesg[SIGAIO].pname == NULL) {
|
|
|
|
mesg[SIGAIO].iname = "AIO";
|
|
|
|
mesg[SIGAIO].pname = CSAVS(2, 76, "LAN Asyncronous I/O");
|
|
|
|
}
|
|
|
|
#endif /* SIGAIO */
|
|
|
|
|
|
|
|
#ifdef SIGPTY
|
|
|
|
/* aiws */
|
|
|
|
if (mesg[SIGPTY].pname == NULL) {
|
|
|
|
mesg[SIGPTY].iname = "PTY";
|
|
|
|
mesg[SIGPTY].pname = CSAVS(2, 77, "PTY read/write availability");
|
|
|
|
}
|
|
|
|
#endif /* SIGPTY */
|
|
|
|
|
|
|
|
#ifdef SIGIOINT
|
|
|
|
/* aiws */
|
|
|
|
if (mesg[SIGIOINT].pname == NULL) {
|
|
|
|
mesg[SIGIOINT].iname = "IOINT";
|
|
|
|
mesg[SIGIOINT].pname = CSAVS(2, 78, "I/O intervention required");
|
|
|
|
}
|
|
|
|
#endif /* SIGIOINT */
|
|
|
|
|
|
|
|
#ifdef SIGGRANT
|
|
|
|
/* aiws */
|
|
|
|
if (mesg[SIGGRANT].pname == NULL) {
|
|
|
|
mesg[SIGGRANT].iname = "GRANT";
|
|
|
|
mesg[SIGGRANT].pname = CSAVS(2, 79, "HFT monitor mode granted");
|
|
|
|
}
|
|
|
|
#endif /* SIGGRANT */
|
|
|
|
|
|
|
|
#ifdef SIGRETRACT
|
|
|
|
/* aiws */
|
|
|
|
if (mesg[SIGRETRACT].pname == NULL) {
|
|
|
|
mesg[SIGRETRACT].iname = "RETRACT";
|
|
|
|
mesg[SIGRETRACT].pname = CSAVS(2, 80,
|
|
|
|
"HFT monitor mode should be relinguished");
|
|
|
|
}
|
|
|
|
#endif /* SIGRETRACT */
|
|
|
|
|
|
|
|
#ifdef SIGSOUND
|
|
|
|
/* aiws */
|
|
|
|
if (mesg[SIGSOUND].pname == NULL) {
|
|
|
|
mesg[SIGSOUND].iname = "SOUND";
|
|
|
|
mesg[SIGSOUND].pname = CSAVS(2, 81, "HFT sound control has completed");
|
|
|
|
}
|
|
|
|
#endif /* SIGSOUND */
|
|
|
|
|
|
|
|
#ifdef SIGSMSG
|
|
|
|
/* aiws */
|
|
|
|
if (mesg[SIGSMSG].pname == NULL) {
|
|
|
|
mesg[SIGSMSG].iname = "SMSG";
|
|
|
|
mesg[SIGSMSG].pname = CSAVS(2, 82, "Data in HFT ring buffer");
|
|
|
|
}
|
|
|
|
#endif /* SIGMSG */
|
|
|
|
|
|
|
|
#ifdef SIGMIGRATE
|
|
|
|
/* IBMAIX */
|
|
|
|
if (mesg[SIGMIGRATE].pname == NULL) {
|
|
|
|
mesg[SIGMIGRATE].iname = "MIGRATE";
|
|
|
|
mesg[SIGMIGRATE].pname = CSAVS(2, 83, "Migrate process");
|
|
|
|
}
|
|
|
|
#endif /* SIGMIGRATE */
|
|
|
|
|
|
|
|
#ifdef SIGSAK
|
|
|
|
/* IBMAIX */
|
|
|
|
if (mesg[SIGSAK].pname == NULL) {
|
|
|
|
mesg[SIGSAK].iname = "SAK";
|
|
|
|
mesg[SIGSAK].pname = CSAVS(2, 84, "Secure attention key");
|
|
|
|
}
|
|
|
|
#endif /* SIGSAK */
|
|
|
|
|
|
|
|
#ifdef SIGRESCHED
|
|
|
|
/* CX/UX */
|
|
|
|
if (mesg[SIGRESCHED].pname == NULL) {
|
|
|
|
mesg[SIGRESCHED].iname = "RESCHED";
|
|
|
|
mesg[SIGRESCHED].pname = CSAVS(2, 85, "Reschedule");
|
|
|
|
}
|
|
|
|
#endif /* SIGRESCHED */
|
|
|
|
|
|
|
|
#ifdef SIGDEBUG
|
|
|
|
/* VMS_POSIX */
|
|
|
|
if (mesg[SIGDEBUG].pname == NULL) {
|
|
|
|
mesg[SIGDEBUG].iname = "DEBUG";
|
|
|
|
mesg[SIGDEBUG].pname = CSAVS(2, 86, "Signaling SS$_DEBUG");
|
|
|
|
}
|
|
|
|
#endif /* SIGDEBUG */
|
|
|
|
|
|
|
|
#ifdef SIGPRIO
|
|
|
|
/* Lynx */
|
|
|
|
if (mesg[SIGPRIO].pname == NULL) {
|
|
|
|
mesg[SIGPRIO].iname = "PRIO";
|
|
|
|
mesg[SIGPRIO].pname = CSAVS(2, 87, "Priority changed");
|
|
|
|
}
|
|
|
|
#endif /* SIGPRIO */
|
|
|
|
|
|
|
|
#ifdef SIGDLK
|
|
|
|
/* cray */
|
|
|
|
if (mesg[SIGDLK].pname == NULL) {
|
|
|
|
mesg[SIGDLK].iname = "DLK";
|
|
|
|
mesg[SIGDLK].pname = CSAVS(2, 88, "True deadlock detected");
|
|
|
|
}
|
|
|
|
#endif /* SIGDLK */
|
|
|
|
|
|
|
|
#ifdef SIGTINT
|
|
|
|
/* masscomp */
|
|
|
|
if (mesg[SIGTINT].pname == NULL) {
|
|
|
|
mesg[SIGTINT].iname = "TINT";
|
|
|
|
mesg[SIGTINT].pname = CSAVS(2, 89, "New input character");
|
|
|
|
}
|
|
|
|
#endif /* SIGTINT */
|
|
|
|
|
|
|
|
#ifdef SIGSTKFLT
|
|
|
|
if (mesg[SIGSTKFLT].pname == NULL) {
|
|
|
|
mesg[SIGSTKFLT].iname = "STKFLT";
|
|
|
|
mesg[SIGSTKFLT].pname = CSAVS(2, 90, "Stack limit exceeded");
|
|
|
|
}
|
|
|
|
#endif /* SIGSTKFLT */
|
|
|
|
|
|
|
|
#ifdef SIGUNUSED
|
|
|
|
if (mesg[SIGUNUSED].pname == NULL) {
|
|
|
|
mesg[SIGUNUSED].iname = "UNUSED";
|
|
|
|
mesg[SIGUNUSED].pname = CSAVS(2, 91, "Unused signal");
|
|
|
|
}
|
|
|
|
#endif /* SIGUNUSED */
|
|
|
|
|
|
|
|
#ifdef SIGOVLY
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGOVLY].pname == NULL) {
|
|
|
|
mesg[SIGOVLY].iname = "OVLY";
|
|
|
|
mesg[SIGOVLY].pname = CSAVS(2, 92, "LM overlay");
|
|
|
|
}
|
|
|
|
#endif /* SIGOVLY */
|
|
|
|
|
|
|
|
#ifdef SIGFRZ
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGFRZ].pname == NULL) {
|
|
|
|
mesg[SIGFRZ].iname = "FRZ";
|
|
|
|
mesg[SIGFRZ].pname = CSAVS(2, 93, "system freeze");
|
|
|
|
}
|
|
|
|
#endif /* SIGFRZ */
|
|
|
|
|
|
|
|
#ifdef SIGDFRZ
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGDFRZ].pname == NULL) {
|
|
|
|
mesg[SIGDFRZ].iname = "DFRZ";
|
|
|
|
mesg[SIGDFRZ].pname = CSAVS(2, 94, "system defreeze");
|
|
|
|
}
|
|
|
|
#endif /* SIGDFRZ */
|
|
|
|
|
|
|
|
#ifdef SIGDEAD
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGDEAD].pname == NULL) {
|
|
|
|
mesg[SIGDEAD].iname = "DEAD";
|
|
|
|
mesg[SIGDEAD].pname = CSAVS(2, 95, "dead lock");
|
|
|
|
}
|
|
|
|
#endif /* SIGDEAD */
|
|
|
|
|
|
|
|
#ifdef SIGXMEM
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGXMEM].pname == NULL) {
|
|
|
|
mesg[SIGXMEM].iname = "XMEM";
|
|
|
|
mesg[SIGXMEM].pname = CSAVS(2, 96, "exceeded memory size limit");
|
|
|
|
}
|
|
|
|
#endif /* SIGXMEM */
|
|
|
|
|
|
|
|
#ifdef SIGXDSZ
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGXDSZ].pname == NULL) {
|
|
|
|
mesg[SIGXDSZ].iname = "XDSZ";
|
|
|
|
mesg[SIGXDSZ].pname = CSAVS(2, 97, "exceeded data size limit");
|
|
|
|
}
|
|
|
|
#endif /* SIGXDSZ */
|
|
|
|
|
|
|
|
#ifdef SIGMEM32
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGMEM32].pname == NULL) {
|
|
|
|
mesg[SIGMEM32].iname = "MEM32";
|
|
|
|
mesg[SIGMEM32].pname = CSAVS(2, 98, "exceeded memory size limit of 32KB");
|
|
|
|
}
|
|
|
|
#endif /* SIGMEM32 */
|
|
|
|
|
|
|
|
#ifdef SIGNMEM
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGNMEM].pname == NULL) {
|
|
|
|
mesg[SIGNMEM].iname = "NMEM";
|
|
|
|
mesg[SIGNMEM].pname = CSAVS(2, 99, "exce error for no memory");
|
|
|
|
}
|
|
|
|
#endif /* SIGNMEM */
|
|
|
|
|
|
|
|
#ifdef SIGCHKP
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGCHKP].pname == NULL) {
|
|
|
|
mesg[SIGCHKP].iname = "CHKP";
|
|
|
|
mesg[SIGCHKP].pname = CSAVS(2, 100, "check point start");
|
|
|
|
}
|
|
|
|
#endif /* SIGCHKP */
|
|
|
|
|
|
|
|
#ifdef SIGKCHKP
|
|
|
|
#if 0
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGKCHKP].pname == NULL) {
|
|
|
|
mesg[SIGKCHKP].iname = "KCHKP";
|
|
|
|
mesg[SIGKCHKP].pname = CSAVS(2, 101, "check point start of kernel");
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif /* SIGKCHKP */
|
|
|
|
|
|
|
|
#ifdef SIGRSTA
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGRSTA].pname == NULL) {
|
|
|
|
mesg[SIGRSTA].iname = "RSTA";
|
|
|
|
mesg[SIGRSTA].pname = CSAVS(2, 102, "restart start");
|
|
|
|
}
|
|
|
|
#endif /* SIGRSTA */
|
|
|
|
|
|
|
|
#ifdef SIGKRSTA
|
|
|
|
#if 0
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGKRSTA].pname == NULL) {
|
|
|
|
mesg[SIGKRSTA].iname = "KRSTA";
|
|
|
|
mesg[SIGKRSTA].pname = CSAVS(2, 103, "restart of kernel");
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif /* SIGKRSTA */
|
|
|
|
|
|
|
|
#ifdef SIGXXMU
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGXXMU].pname == NULL) {
|
|
|
|
mesg[SIGXXMU].iname = "XXMU";
|
|
|
|
mesg[SIGXXMU].pname = CSAVS(2, 104, "exeeded XMU size limit");
|
|
|
|
}
|
|
|
|
#endif /* SIGXXMU */
|
|
|
|
|
|
|
|
#ifdef SIGXRLG0
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGXRLG0].pname == NULL) {
|
|
|
|
mesg[SIGXRLG0].iname = "XRLG0";
|
|
|
|
mesg[SIGXRLG0].pname = CSAVS(2, 105, "exeeded RLG0 limit");
|
|
|
|
}
|
|
|
|
#endif /* SIGXRLG0 */
|
|
|
|
|
|
|
|
#ifdef SIGXRLG1
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGXRLG1].pname == NULL) {
|
|
|
|
mesg[SIGXRLG1].iname = "XRLG1";
|
|
|
|
mesg[SIGXRLG1].pname = CSAVS(2, 106, "exeeded RLG1 limit");
|
|
|
|
}
|
|
|
|
#endif /* SIGXRLG1 */
|
|
|
|
|
|
|
|
#ifdef SIGXRLG2
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGXRLG2].pname == NULL) {
|
|
|
|
mesg[SIGXRLG2].iname = "XRLG2";
|
|
|
|
mesg[SIGXRLG2].pname = CSAVS(2, 107, "exeeded RLG2 limit");
|
|
|
|
}
|
|
|
|
#endif /* SIGXRLG2 */
|
|
|
|
|
|
|
|
#ifdef SIGXRLG3
|
|
|
|
/* SX-4 */
|
|
|
|
if (mesg[SIGXRLG3].pname == NULL) {
|
|
|
|
mesg[SIGXRLG3].iname = "XRLG3";
|
|
|
|
mesg[SIGXRLG3].pname = CSAVS(2, 108, "exeeded RLG3 limit");
|
|
|
|
}
|
|
|
|
#endif /* SIGXRLG3 */
|
|
|
|
}
|