#include <ast.h>
#include "shtable.h"
#include "fault.h"
#if defined(SIGCLD) && !defined(SIGCHLD)
# define SIGCHLD SIGCLD
#endif
#define VAL(sig,mode) ((sig+1)|((mode)<<SH_SIGBITS))
#define TRAP(n) (((n)|SH_TRAP)-1)
#ifndef ERROR_dictionary
# define ERROR_dictionary(s) (s)
#endif
#define S(s) ERROR_dictionary(s)
const struct shtable2 shtab_signals[] =
{
#ifdef SIGABRT
"ABRT", VAL(SIGABRT,SH_SIGDONE), S("Abort"),
#endif
#ifdef SIGAIO
"AIO", VAL(SIGAIO,SH_SIGIGNORE), S("Asynchronous I/O"),
#endif
#ifdef SIGALRM
"ALRM", VAL(SIGALRM,SH_SIGDONE), S("Alarm call"),
#endif
#ifdef SIGALRM1
"ALRM1", VAL(SIGALRM1,SH_SIGDONE), S("Scheduling - reserved"),
#endif
#ifdef SIGAPOLLO
"APOLLO", VAL(SIGAPOLLO,0), S("SIGAPOLLO"),
#endif
#ifdef SIGBUS
"BUS", VAL(SIGBUS,SH_SIGDONE), S("Bus error"),
#endif
#ifdef SIGCANCEL
"CANCEL", VAL(SIGCANCEL,SH_SIGIGNORE), S("Thread cancellation"),
#endif
#ifdef SIGCHLD
"CHLD", VAL(SIGCHLD,SH_SIGFAULT), S("Death of Child"),
# ifdef SIGCLD
# if SIGCLD!=SIGCHLD
"CLD", VAL(SIGCLD,SH_SIGFAULT), S("Death of Child"),
# endif
# endif
#else
# ifdef SIGCLD
"CLD", VAL(SIGCLD,SH_SIGFAULT), S("Death of Child"),
# endif
#endif
#ifdef SIGCONT
"CONT", VAL(SIGCONT,SH_SIGIGNORE), S("Stopped process continued"),
#endif
#ifdef SIGCPUFAIL
"CPUFAIL", VAL(SIGCPUFAIL,0), S("Predictive processor deconfiguration"),
#endif
"DEBUG", VAL(TRAP(SH_DEBUGTRAP),0), "",
#ifdef SIGDANGER
"DANGER", VAL(SIGDANGER,0), S("System crash soon"),
#endif
#ifdef SIGDIL
"DIL", VAL(SIGDIL,0), S("DIL signal"),
#endif
#ifdef SIGEMT
"EMT", VAL(SIGEMT,SH_SIGDONE), S("EMT trap"),
#endif
"ERR", VAL(TRAP(SH_ERRTRAP),0), "",
#ifdef SIGERR
"ERR", VAL(SIGERR,0), "",
#endif
"EXIT", VAL(0,0), "",
"FPE", VAL(SIGFPE,SH_SIGDONE), S("Floating exception"),
#ifdef SIGFREEZE
"FREEZE", VAL(SIGFREEZE,SH_SIGIGNORE), S("Special signal used by CPR"),
#endif
#ifdef SIGGRANT
"GRANT", VAL(SIGGRANT,0), S("Grant monitor mode"),
#endif
"HUP", VAL(SIGHUP,SH_SIGDONE), S("Hangup"),
"ILL", VAL(SIGILL,SH_SIGDONE), S("Illegal instruction"),
#ifdef JOBS
"INT", VAL(SIGINT,SH_SIGINTERACTIVE), S("Interrupt"),
#else
"INT", VAL(SIGINT,SH_SIGINTERACTIVE), "",
#endif
#ifdef SIGIO
"IO", VAL(SIGIO,SH_SIGDONE), S("IO signal"),
#endif
#ifdef SIGIOT
"IOT", VAL(SIGIOT,SH_SIGDONE), S("Abort"),
#endif
#ifdef SIGJVM1
"JVM1", VAL(SIGJVM1,SH_SIGIGNORE), S("Special signal used by Java Virtual Machine"),
#endif
#ifdef SIGJVM2
"JVM2", VAL(SIGJVM2,SH_SIGIGNORE), S("Special signal used by Java Virtual Machine"),
#endif
"KEYBD", VAL(TRAP(SH_KEYTRAP),0), "",
#ifdef SIGKILL
"KILL", VAL(SIGKILL,0), S("Killed"),
#endif
#ifdef SIGLAB
"LAB", VAL(SIGLAB,0), S("Security label changed"),
#endif
#ifdef SIGLOST
"LOST", VAL(SIGLOST,SH_SIGDONE), S("Resources lost"),
#endif
#ifdef SIGLWP
"LWP", VAL(SIGLWP,SH_SIGIGNORE), S("Special signal used by thread library"),
#endif
#ifdef SIGMIGRATE
"MIGRATE", VAL(SIGMIGRATE,0), S("Migrate process"),
#endif
#ifdef SIGMSG
"MSG", VAL(SIGMSG,0), S("Ring buffer input data"),
#endif
#ifdef SIGPHONE
"PHONE", VAL(SIGPHONE,0), S("Phone interrupt"),
#endif
#ifdef SIGPIPE
#ifdef JOBS
"PIPE", VAL(SIGPIPE,SH_SIGDONE), S("Broken Pipe"),
#else
"PIPE", VAL(SIGPIPE,SH_SIGDONE), "",
#endif
#endif
#ifdef SIGPOLL
"POLL", VAL(SIGPOLL,SH_SIGDONE), S("Polling alarm"),
#endif
#ifdef SIGPROF
"PROF", VAL(SIGPROF,SH_SIGDONE), S("Profiling time alarm"),
#endif
#ifdef SIGPRE
"PRE", VAL(SIGPRE,SH_SIGDONE), S("Programming exception"),
#endif
#ifdef SIGPWR
# if SIGPWR>0
"PWR", VAL(SIGPWR,SH_SIGIGNORE), S("Power fail"),
# endif
#endif
#ifdef SIGQUIT
"QUIT", VAL(SIGQUIT,SH_SIGDONE|SH_SIGINTERACTIVE), S("Quit"),
#endif
#ifdef SIGRETRACT
"RETRACT", VAL(SIGRETRACT,0), S("Relinquish monitor mode"),
#endif
#ifdef SIGRTMIN
"RTMIN", VAL(SH_SIGRTMIN,SH_SIGRUNTIME), S("Lowest priority realtime signal"),
#endif
#ifdef SIGRTMAX
"RTMAX", VAL(SH_SIGRTMAX,SH_SIGRUNTIME), S("Highest priority realtime signal"),
#endif
#ifdef SIGSAK
"SAK", VAL(SIGSAK,0), S("Secure attention key"),
#endif
"SEGV", VAL(SIGSEGV,0), S("Memory fault"),
#ifdef SIGSOUND
"SOUND", VAL(SIGSOUND,0), S("Sound completed"),
#endif
#ifdef SIGSTOP
"STOP", VAL(SIGSTOP,0), S("Stopped (SIGSTOP)"),
#endif
#ifdef SIGSYS
"SYS", VAL(SIGSYS,SH_SIGDONE), S("Bad system call"),
#endif
"TERM", VAL(SIGTERM,SH_SIGDONE|SH_SIGINTERACTIVE), S("Terminated"),
#ifdef SIGTHAW
"THAW", VAL(SIGTHAW,SH_SIGIGNORE), S("Special signal used by CPR"),
#endif
#ifdef SIGTINT
# ifdef JOBS
"TINT", VAL(SIGTINT,0), S("Interrupt"),
# else
"TINT", VAL(SIGTINT,0), "",
# endif
#endif
#ifdef SIGTRAP
"TRAP", VAL(SIGTRAP,SH_SIGDONE), S("Trace/BPT trap"),
#endif
#ifdef SIGTSTP
"TSTP", VAL(SIGTSTP,0), S("Stopped"),
#endif
#ifdef SIGTTIN
"TTIN", VAL(SIGTTIN,0), S("Stopped (SIGTTIN)"),
#endif
#ifdef SIGTTOU
"TTOU", VAL(SIGTTOU,0), S("Stopped (SIGTTOU)"),
#endif
#ifdef SIGURG
"URG", VAL(SIGURG,SH_SIGIGNORE), S("Socket interrupt"),
#endif
#ifdef SIGUSR1
"USR1", VAL(SIGUSR1,SH_SIGDONE), S("User signal 1"),
#endif
#ifdef SIGUSR2
"USR2", VAL(SIGUSR2,SH_SIGDONE), S("User signal 2"),
#endif
#ifdef SIGVIRT
"VIRT", VAL(SIGVIRT,0), S("Virtual timer alarm"),
#endif
#ifdef SIGVTALRM
"VTALRM", VAL(SIGVTALRM,SH_SIGDONE), S("Virtual time alarm"),
#endif
#ifdef SIGWAITING
"WAITING", VAL(SIGWAITING,SH_SIGIGNORE), S("All threads blocked"),
#endif
#ifdef SIGWINCH
"WINCH", VAL(SIGWINCH,SH_SIGIGNORE), S("Window size change"),
#endif
#ifdef SIGXCPU
"XCPU", VAL(SIGXCPU,SH_SIGDONE|SH_SIGINTERACTIVE), S("Exceeded CPU time limit"),
#endif
#ifdef SIGXFSZ
"XFSZ", VAL(SIGXFSZ,SH_SIGDONE|SH_SIGINTERACTIVE), S("Exceeded file size limit"),
#endif
#ifdef SIGXRES
"XRES", VAL(SIGXRES,SH_SIGDONE|SH_SIGINTERACTIVE), S("Exceeded resource control"),
#endif
"", 0, 0
};